(self.webpackChunknineyi_clientapp=self.webpackChunknineyi_clientapp||[]).push([[1188],{"./node_modules/@91app/nine1.chat.socket-client/index.js":(e,t,n)=>{"use strict";n.d(t,{Ay:()=>y,Go:()=>h,e4:()=>b,fb:()=>I,vk:()=>i,xf:()=>o});var i=(e=>(e.Idle="Idle",e.Connecting="Connecting",e.Connected="Connected",e.Failed="Failed",e.Closed="Closed",e.Disconnected="Disconnected",e.Reconnecting="Reconnecting",e.ConnectingFailed="ConnectingFailed",e))(i||{}),o=(e=>(e[e.ConnectionFailed=1e3]="ConnectionFailed",e[e.ConnectionClosed=1001]="ConnectionClosed",e[e.ConnectionLost=1002]="ConnectionLost",e[e.MaxReconnectionAttempts=1003]="MaxReconnectionAttempts",e[e.MessageSendFailed=2e3]="MessageSendFailed",e[e.MessageTimeout=2001]="MessageTimeout",e[e.MessageParseError=2002]="MessageParseError",e[e.UnknownError=9999]="UnknownError",e))(o||{});class r extends Error{constructor(e,t,n){super(t),this.code=e,this.message=t,this.data=n,this.name="SocketClientError"}}class a{constructor(){this.listeners=new Map}on(e,t){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t)}once(e,t){const n=i=>{this.off(e,n),t(i)};this.on(e,n)}off(e,t){const n=this.listeners.get(e);n&&n.delete(t)}emit(e,t){const n=this.listeners.get(e);n&&n.forEach((n=>{try{n(t)}catch(i){console.error(`Error in ${String(e)} event handler:`,i)}}))}clear(){this.listeners.clear()}}class s extends a{constructor(){super(...arguments),this.status=i.Idle}changeStatus(e){this.status=e,this.emit("statusChange",e)}getStatus(){return this.status}onStatusChange(e){this.on("statusChange",(t=>{t&&e(t)}))}}class c{constructor(e,t,n){this.options=e,this.stateManager=t,this.onReconnect=n,this.reconnectCount=0,this.reconnectTimer=null,this.setupStateListener()}setupStateListener(){this.stateManager.onStatusChange((e=>{(e===i.Disconnected||e===i.Failed)&&this.handleReconnection()}))}handleReconnection(){this.stateManager.getStatus()!==i.Reconnecting&&this.shouldReconnect()&&(this.stateManager.changeStatus(i.Reconnecting),this.startReconnectTimer(this.onReconnect))}shouldReconnect(){return this.options.autoReconnect&&("infinity"===this.options.maxAttempts||this.reconnectCount<this.options.maxAttempts)}getDelay(){return Math.min(this.options.delay*Math.pow(this.options.factor,this.reconnectCount),this.options.maxDelay)}startReconnectTimer(e){this.reconnectTimer&&this.clearReconnectTimer();const t=this.getDelay();this.reconnectTimer=setTimeout((()=>{this.reconnectCount++,e()}),t)}clearReconnectTimer(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}resetReconnectCount(){this.reconnectCount=0}getReconnectCount(){return this.reconnectCount}}const l={delay:500,maxDelay:2e4,autoReconnect:!0,maxAttempts:"infinity",factor:2};class u extends a{constructor(e,t=l){super(),this.url=e,this.ws=null,this.stateManager=new s,this.reconnectionStrategy=new c(t,this.stateManager,(async()=>await this.connect())),this.setupEventHandlers()}setupEventHandlers(){this.stateManager.onStatusChange((e=>{this.emit("statusChange",e)}))}static create(e,t=l){return new u(e,t)}async connect(){if(this.stateManager.getStatus()!==i.Connected){this.stateManager.changeStatus(i.Connecting);try{await this.createWebSocketConnection()}catch(e){const t=new r(e.code||o.ConnectionFailed,e.message||"Connection failed");throw this.emit("error",t),t}}}async createWebSocketConnection(){return new Promise(((e,t)=>{try{this.ws=new WebSocket(this.url),this.setupWebSocketListeners(e,t)}catch(n){t(n)}}))}setupWebSocketListeners(e,t){this.ws&&(this.ws.onopen=()=>{this.stateManager.changeStatus(i.Connected),this.reconnectionStrategy.resetReconnectCount(),e()},this.ws.onclose=e=>{e.wasClean?this.stateManager.changeStatus(i.Closed):this.handleReconnection()},this.ws.onerror=()=>{const e=new r(o.ConnectionFailed,"WebSocket error occurred");this.stateManager.changeStatus(i.Failed),this.emit("error",e),t(e)},this.ws.onmessage=e=>{this.emit("message",e.data)})}async handleReconnection(){if(this.stateManager.getStatus()!==i.Reconnecting){if(!this.reconnectionStrategy.shouldReconnect())return this.stateManager.changeStatus(i.Disconnected),void this.emit("error",new r(o.MaxReconnectionAttempts,"Max reconnection attempts reached"));this.stateManager.changeStatus(i.Reconnecting),this.reconnectionStrategy.startReconnectTimer((async()=>{try{await this.connect()}catch{await this.handleReconnection()}}))}}getStatus(){return this.stateManager.getStatus()}disconnect(){this.ws&&(this.stateManager.changeStatus(i.Closed),this.ws.close(),this.ws=null,this.reconnectionStrategy.clearReconnectTimer())}send(e){if(!this.ws)throw new Error("WebSocket instance not found");this.ws.send(e)}}var d=(e=>(e.Idle="idle",e.Processing="processing",e.Failed="failed",e.Completed="completed",e))(d||{});class g extends a{constructor(){super(...arguments),this.messages=new Map}addMessage(e,t){this.clearExistingMessage(e);const n={message:t,status:"idle",timeoutTimer:null};this.messages.set(e,n)}updateStatus(e,t){const n=this.messages.get(e);if(!n)return;if(!this.isValidStateTransition(n.status,t))return void console.error(`Invalid state transition from ${n.status} to ${t}`);this.clearTimeoutTimer(n);const i={...n,status:t};"processing"===t&&"sendNotification"!==n.message.route&&(i.timeoutTimer=this.createTimeoutTimer(e)),this.messages.set(e,i),this.emit("stateChange",{uniqkey:e,state:i}),this.handleFinalState(e,t)}isValidStateTransition(e,t){switch(e){case"idle":return"processing"===t;case"processing":return"completed"===t||"failed"===t;default:return!1}}createTimeoutTimer(e){return setTimeout((()=>{const t=this.messages.get(e);t&&"processing"===t.status&&this.updateStatus(e,"failed")}),18e4)}clearTimeoutTimer(e){e.timeoutTimer&&(clearTimeout(e.timeoutTimer),e.timeoutTimer=null)}clearExistingMessage(e){const t=this.messages.get(e);t&&(this.clearTimeoutTimer(t),this.messages.delete(e))}handleFinalState(e,t){("completed"===t||"failed"===t)&&this.remove(e)}remove(e){if(e){const t=this.messages.get(e);null!=t&&t.timeoutTimer&&clearTimeout(t.timeoutTimer),this.messages.delete(e)}else this.messages.forEach((e=>{e.timeoutTimer&&clearTimeout(e.timeoutTimer)})),this.messages.clear()}getStatus(e){var t;return null==(t=this.messages.get(e))?void 0:t.status}getUncompletedMessages(){return Array.from(this.messages.entries()).filter((([e,t])=>"completed"!==t.status)).map((([e,t])=>({...t.message})))}}var p=(e=>(e[e.High=1]="High",e[e.Normal=2]="Normal",e[e.Low=3]="Low",e))(p||{});class m extends a{constructor(){super(...arguments),this.queue={1:[],2:[],3:[]},this.messageIndex=new Map}enqueue(e,t=2){if(this.getQueueSize()>=100)throw new r(o.MessageSendFailed,"Queue is full",e);if(this.queue[t].length>=50)throw new r(o.MessageSendFailed,`Priority queue ${t} is full`,e);const n=e.uniqkey,i={message:e,uniqkey:n,priority:t,timestamp:Date.now(),retryCount:0};this.queue[t].push(i),this.messageIndex.set(n,{priority:t,index:this.queue[t].length-1})}dequeue(){for(let e=1;e<=3;e++)if(this.queue[e].length>0){const t=this.queue[e].shift();return this.messageIndex.delete(t.uniqkey),this.updateMessageIndex(e),t}return null}requeue(e){}remove(e){const t=this.messageIndex.get(e);if(!t)return!1;const{priority:n,index:i}=t;return this.queue[n].splice(i,1),this.messageIndex.delete(e),this.updateMessageIndex(n),!0}updateMessageIndex(e){this.queue[e].forEach(((t,n)=>{this.messageIndex.set(t.uniqkey,{priority:e,index:n})}))}getQueueSize(){return Object.values(this.queue).reduce(((e,t)=>e+t.length),0)}getPriorityQueueSize(e){return this.queue[e].length}clear(){[1,2,3].forEach((e=>{this.queue[e]=[]})),this.messageIndex.clear()}}class f extends a{constructor(e){super(),this.connection=e,this.isReady=!1,this.stateManager=new g,this.queue=new m,this.initializeListeners()}initializeListeners(){this.connection.on("statusChange",(e=>{e===i.Connected?(this.isReady=!0,this.emit("ready")):this.isReady=!1})),this.connection.on("message",(e=>{e?this.handleMessage(e):this.emit("error",new r(o.MessageParseError,"Received empty message data",null))})),this.stateManager.on("stateChange",(e=>{var t;(null==(t=null==e?void 0:e.state)?void 0:t.status)===d.Failed&&this.emit("error",new r(o.MessageTimeout,"Message timeout",e.uniqkey))})),this.queue.on("error",(e=>{this.emit("error",e)}))}async send(e,t=p.Normal){try{if(!this.isReady)throw new r(o.ConnectionClosed,"Connection is not ready",e);this.queue.enqueue(e,t),this.stateManager.addMessage(e.uniqkey,e),await this.processQueue()}catch(n){this.emit("error",n instanceof r?n:new r(o.MessageSendFailed,"Failed to send message",e))}}async processQueue(){try{const e=this.queue.dequeue();if(e){const{message:t}=e;this.stateManager.updateStatus(t.uniqkey,d.Processing),this.connection.send(JSON.stringify(t)),this.processQueue()}}catch(e){return Promise.reject(e)}}handleMessage(e){try{const t=JSON.parse(e);null!=t&&t.uniqkey&&(this.stateManager.updateStatus(t.uniqkey,d.Completed),this.emit("message",t))}catch{this.emit("error",new r(o.MessageParseError,"Failed to parse message",e))}}}var I=(e=>(e.SendMessage="sendMessage",e.SendNotification="sendNotification",e))(I||{}),h=(e=>(e.Message="message",e.ReadMessage="readMessage",e))(h||{}),b=(e=>(e.Agent="Agent",e.Member="Member",e.System="System",e))(b||{});class y extends a{constructor(e,t){super(),this.connection=e,this.message=t}static async create(e,t){const n=u.create(e,t),i=new f(n);return new y(n,i)}async connect(){await this.connection.connect()}onConnectionStatusChange(e){this.connection.on("statusChange",(t=>{t&&e(t)}))}onError(e){this.connection.on("error",(t=>{t&&e(t)})),this.message.on("error",(t=>{t&&e(t)}))}onMessage(e){this.message.on("message",(t=>{t&&e(t)}))}isReady(){return this.connection.getStatus()===i.Connected}send(e,t=p.Normal){if(!this.isReady())throw new r(o.ConnectionClosed,"WebSocket is not ready to send messages.");this.message.send(e,t)}getStatus(){return this.connection.getStatus()}disconnect(){this.connection.disconnect()}}window.Nine1ChatSocketClient=y},"./node_modules/@91app/nine1.chat.ui/index.js":(e,t,n)=>{"use strict";n.d(t,{Ck:()=>Rc,NN:()=>En,X6:()=>Zc,lG:()=>Uc,tb:()=>Nc,y8:()=>Wc});var i=n("react"),o=n.n(i),r=n("react-dom"),a=n.n(r);typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof n.g<"u"?n.g:typeof self<"u"&&self;function s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var c,l={exports:{}},u={};
/**
 * @license React
 * react-jsx-runtime.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */l.exports=function(){if(c)return u;c=1;var e=o(),t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function s(e,n,o){var s,c={},l=null,u=null;for(s in void 0!==o&&(l=""+o),void 0!==n.key&&(l=""+n.key),void 0!==n.ref&&(u=n.ref),n)i.call(n,s)&&!a.hasOwnProperty(s)&&(c[s]=n[s]);if(e&&e.defaultProps)for(s in n=e.defaultProps)void 0===c[s]&&(c[s]=n[s]);return{$$typeof:t,type:e,key:l,ref:u,props:c,_owner:r.current}}return u.Fragment=n,u.jsx=s,u.jsxs=s,u}();var d=l.exports;function g(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function p(...e){return t=>{let n=!1;const i=e.map((e=>{const i=g(e,t);return!n&&"function"==typeof i&&(n=!0),i}));if(n)return()=>{for(let t=0;t<i.length;t++){const n=i[t];"function"==typeof n?n():g(e[t],null)}}}}function m(...e){return i.useCallback(p(...e),e)}var f=i.forwardRef(((e,t)=>{const{children:n,...o}=e,r=i.Children.toArray(n),a=r.find(b);if(a){const e=a.props.children,n=r.map((t=>t===a?i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null:t));return d.jsx(I,{...o,ref:t,children:i.isValidElement(e)?i.cloneElement(e,void 0,n):null})}return d.jsx(I,{...o,ref:t,children:n})}));f.displayName="Slot";var I=i.forwardRef(((e,t)=>{const{children:n,...o}=e;if(i.isValidElement(n)){const e=function(e){var t,n;let i=null==(t=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:t.get,o=i&&"isReactWarning"in i&&i.isReactWarning;return o?e.ref:(i=null==(n=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:n.get,o=i&&"isReactWarning"in i&&i.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}(n);return i.cloneElement(n,{...y(o,n.props),ref:t?p(t,e):e})}return i.Children.count(n)>1?i.Children.only(null):null}));I.displayName="SlotClone";var h=({children:e})=>d.jsx(d.Fragment,{children:e});function b(e){return i.isValidElement(e)&&e.type===h}function y(e,t){const n={...t};for(const i in t){const o=e[i],r=t[i];/^on[A-Z]/.test(i)?o&&r?n[i]=(...e)=>{r(...e),o(...e)}:o&&(n[i]=o):"style"===i?n[i]={...o,...r}:"className"===i&&(n[i]=[o,r].filter(Boolean).join(" "))}return{...e,...n}}var C=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce(((e,t)=>{const n=i.forwardRef(((e,n)=>{const{asChild:i,...o}=e,r=i?f:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(r,{...o,ref:n})}));return n.displayName=`Primitive.${t}`,{...e,[t]:n}}),{});var v=null!=globalThis&&globalThis.document?i.useLayoutEffect:()=>{};var B=e=>{const{present:t,children:n}=e,o=function(e){const[t,n]=i.useState(),o=i.useRef({}),r=i.useRef(e),a=i.useRef("none"),s=e?"mounted":"unmounted",[c,l]=function(e,t){return i.useReducer(((e,n)=>t[e][n]??e),e)}(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return i.useEffect((()=>{const e=A(o.current);a.current="mounted"===c?e:"none"}),[c]),v((()=>{const t=o.current,n=r.current;if(n!==e){const i=a.current,o=A(t);e?l("MOUNT"):"none"===o||"none"===(null==t?void 0:t.display)?l("UNMOUNT"):l(n&&i!==o?"ANIMATION_OUT":"UNMOUNT"),r.current=e}}),[e,l]),v((()=>{if(t){let e;const n=t.ownerDocument.defaultView??window,i=i=>{const a=A(o.current).includes(i.animationName);if(i.target===t&&a&&(l("ANIMATION_END"),!r.current)){const i=t.style.animationFillMode;t.style.animationFillMode="forwards",e=n.setTimeout((()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=i)}))}},s=e=>{e.target===t&&(a.current=A(o.current))};return t.addEventListener("animationstart",s),t.addEventListener("animationcancel",i),t.addEventListener("animationend",i),()=>{n.clearTimeout(e),t.removeEventListener("animationstart",s),t.removeEventListener("animationcancel",i),t.removeEventListener("animationend",i)}}l("ANIMATION_END")}),[t,l]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:i.useCallback((e=>{e&&(o.current=getComputedStyle(e)),n(e)}),[])}}(t),r="function"==typeof n?n({present:o.isPresent}):i.Children.only(n),a=m(o.ref,function(e){var t,n;let i=null==(t=Object.getOwnPropertyDescriptor(e.props,"ref"))?void 0:t.get,o=i&&"isReactWarning"in i&&i.isReactWarning;return o?e.ref:(i=null==(n=Object.getOwnPropertyDescriptor(e,"ref"))?void 0:n.get,o=i&&"isReactWarning"in i&&i.isReactWarning,o?e.props.ref:e.props.ref||e.ref)}(r));return"function"==typeof n||o.isPresent?i.cloneElement(r,{ref:a}):null};function A(e){return(null==e?void 0:e.animationName)||"none"}function _(e,t=[]){let n=[];const o=()=>{const t=n.map((e=>i.createContext(e)));return function(n){const o=(null==n?void 0:n[e])||t;return i.useMemo((()=>({[`__scope${e}`]:{...n,[e]:o}})),[n,o])}};return o.scopeName=e,[function(t,o){const r=i.createContext(o),a=n.length;n=[...n,o];const s=t=>{var n;const{scope:o,children:s,...c}=t,l=(null==(n=null==o?void 0:o[e])?void 0:n[a])||r,u=i.useMemo((()=>c),Object.values(c));return d.jsx(l.Provider,{value:u,children:s})};return s.displayName=t+"Provider",[s,function(n,s){var c;const l=(null==(c=null==s?void 0:s[e])?void 0:c[a])||r,u=i.useContext(l);if(u)return u;if(void 0!==o)return o;throw new Error(`\`${n}\` must be used within \`${t}\``)}]},S(o,...t)]}function S(...e){const t=e[0];if(1===e.length)return t;const n=()=>{const n=e.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(e){const o=n.reduce(((t,{useScope:n,scopeName:i})=>({...t,...n(e)[`__scope${i}`]})),{});return i.useMemo((()=>({[`__scope${t.scopeName}`]:o})),[o])}};return n.scopeName=t.scopeName,n}function G(e){const t=i.useRef(e);return i.useEffect((()=>{t.current=e})),i.useMemo((()=>(...e)=>{var n;return null==(n=t.current)?void 0:n.call(t,...e)}),[])}B.displayName="Presence";var Q=i.createContext(void 0);function E(e,t,{checkForDefaultPrevented:n=!0}={}){return function(i){if(null==e||e(i),!1===n||!i.defaultPrevented)return null==t?void 0:t(i)}}var F="ScrollArea",[w,T]=_(F),[x,k]=w(F),N=i.forwardRef(((e,t)=>{const{__scopeScrollArea:n,type:o="hover",dir:r,scrollHideDelay:a=600,...s}=e,[c,l]=i.useState(null),[u,g]=i.useState(null),[p,f]=i.useState(null),[I,h]=i.useState(null),[b,y]=i.useState(null),[v,B]=i.useState(0),[A,_]=i.useState(0),[S,G]=i.useState(!1),[E,F]=i.useState(!1),w=m(t,(e=>l(e))),T=function(e){const t=i.useContext(Q);return e||t||"ltr"}(r);return d.jsx(x,{scope:n,type:o,dir:T,scrollHideDelay:a,scrollArea:c,viewport:u,onViewportChange:g,content:p,onContentChange:f,scrollbarX:I,onScrollbarXChange:h,scrollbarXEnabled:S,onScrollbarXEnabledChange:G,scrollbarY:b,onScrollbarYChange:y,scrollbarYEnabled:E,onScrollbarYEnabledChange:F,onCornerWidthChange:B,onCornerHeightChange:_,children:d.jsx(C.div,{dir:T,...s,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":v+"px","--radix-scroll-area-corner-height":A+"px",...e.style}})})}));N.displayName=F;var O="ScrollAreaViewport",Z=i.forwardRef(((e,t)=>{const{__scopeScrollArea:n,children:o,nonce:r,...a}=e,s=k(O,n),c=m(t,i.useRef(null),s.onViewportChange);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),d.jsx(C.div,{"data-radix-scroll-area-viewport":"",...a,ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:d.jsx("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:o})})]})}));Z.displayName=O;var U="ScrollAreaScrollbar",R=i.forwardRef(((e,t)=>{const{forceMount:n,...o}=e,r=k(U,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=r,c="horizontal"===e.orientation;return i.useEffect((()=>(c?a(!0):s(!0),()=>{c?a(!1):s(!1)})),[c,a,s]),"hover"===r.type?d.jsx(X,{...o,ref:t,forceMount:n}):"scroll"===r.type?d.jsx(W,{...o,ref:t,forceMount:n}):"auto"===r.type?d.jsx(V,{...o,ref:t,forceMount:n}):"always"===r.type?d.jsx(P,{...o,ref:t}):null}));R.displayName=U;var X=i.forwardRef(((e,t)=>{const{forceMount:n,...o}=e,r=k(U,e.__scopeScrollArea),[a,s]=i.useState(!1);return i.useEffect((()=>{const e=r.scrollArea;let t=0;if(e){const n=()=>{window.clearTimeout(t),s(!0)},i=()=>{t=window.setTimeout((()=>s(!1)),r.scrollHideDelay)};return e.addEventListener("pointerenter",n),e.addEventListener("pointerleave",i),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",n),e.removeEventListener("pointerleave",i)}}}),[r.scrollArea,r.scrollHideDelay]),d.jsx(B,{present:n||a,children:d.jsx(V,{"data-state":a?"visible":"hidden",...o,ref:t})})})),W=i.forwardRef(((e,t)=>{const{forceMount:n,...o}=e,r=k(U,e.__scopeScrollArea),a="horizontal"===e.orientation,s=se((()=>l("SCROLL_END")),100),[c,l]=function(e,t){return i.useReducer(((e,n)=>t[e][n]??e),e)}("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return i.useEffect((()=>{if("idle"===c){const e=window.setTimeout((()=>l("HIDE")),r.scrollHideDelay);return()=>window.clearTimeout(e)}}),[c,r.scrollHideDelay,l]),i.useEffect((()=>{const e=r.viewport,t=a?"scrollLeft":"scrollTop";if(e){let n=e[t];const i=()=>{const i=e[t];n!==i&&(l("SCROLL"),s()),n=i};return e.addEventListener("scroll",i),()=>e.removeEventListener("scroll",i)}}),[r.viewport,a,l,s]),d.jsx(B,{present:n||"hidden"!==c,children:d.jsx(P,{"data-state":"hidden"===c?"hidden":"visible",...o,ref:t,onPointerEnter:E(e.onPointerEnter,(()=>l("POINTER_ENTER"))),onPointerLeave:E(e.onPointerLeave,(()=>l("POINTER_LEAVE")))})})})),V=i.forwardRef(((e,t)=>{const n=k(U,e.__scopeScrollArea),{forceMount:o,...r}=e,[a,s]=i.useState(!1),c="horizontal"===e.orientation,l=se((()=>{if(n.viewport){const e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;s(c?e:t)}}),10);return ce(n.viewport,l),ce(n.content,l),d.jsx(B,{present:o||a,children:d.jsx(P,{"data-state":a?"visible":"hidden",...r,ref:t})})})),P=i.forwardRef(((e,t)=>{const{orientation:n="vertical",...o}=e,r=k(U,e.__scopeScrollArea),a=i.useRef(null),s=i.useRef(0),[c,l]=i.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=te(c.viewport,c.content),g={...o,sizes:c,onSizesChange:l,hasThumb:u>0&&u<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:e=>s.current=e};function p(e,t){return function(e,t,n,i="ltr"){const o=ne(n),r=o/2,a=t||r,s=o-a,c=n.scrollbar.paddingStart+a,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d="ltr"===i?[0,u]:[-1*u,0];return oe([c,l],d)(e)}(e,s.current,c,t)}return"horizontal"===n?d.jsx(D,{...g,ref:t,onThumbPositionChange:()=>{if(r.viewport&&a.current){const e=ie(r.viewport.scrollLeft,c,r.dir);a.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{r.viewport&&(r.viewport.scrollLeft=e)},onDragScroll:e=>{r.viewport&&(r.viewport.scrollLeft=p(e,r.dir))}}):"vertical"===n?d.jsx(H,{...g,ref:t,onThumbPositionChange:()=>{if(r.viewport&&a.current){const e=ie(r.viewport.scrollTop,c);a.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{r.viewport&&(r.viewport.scrollTop=e)},onDragScroll:e=>{r.viewport&&(r.viewport.scrollTop=p(e))}}):null})),D=i.forwardRef(((e,t)=>{const{sizes:n,onSizesChange:o,...r}=e,a=k(U,e.__scopeScrollArea),[s,c]=i.useState(),l=i.useRef(null),u=m(t,l,a.onScrollbarXChange);return i.useEffect((()=>{l.current&&c(getComputedStyle(l.current))}),[l]),d.jsx(M,{"data-orientation":"horizontal",...r,ref:u,sizes:n,style:{bottom:0,left:"rtl"===a.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===a.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ne(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){const i=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(i),re(i,n)&&t.preventDefault()}},onResize:()=>{l.current&&a.viewport&&s&&o({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:ee(s.paddingLeft),paddingEnd:ee(s.paddingRight)}})}})})),H=i.forwardRef(((e,t)=>{const{sizes:n,onSizesChange:o,...r}=e,a=k(U,e.__scopeScrollArea),[s,c]=i.useState(),l=i.useRef(null),u=m(t,l,a.onScrollbarYChange);return i.useEffect((()=>{l.current&&c(getComputedStyle(l.current))}),[l]),d.jsx(M,{"data-orientation":"vertical",...r,ref:u,sizes:n,style:{top:0,right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ne(n)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){const i=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(i),re(i,n)&&t.preventDefault()}},onResize:()=>{l.current&&a.viewport&&s&&o({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:ee(s.paddingTop),paddingEnd:ee(s.paddingBottom)}})}})})),[L,Y]=w(U),M=i.forwardRef(((e,t)=>{const{__scopeScrollArea:n,sizes:o,hasThumb:r,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:l,onDragScroll:u,onWheelScroll:g,onResize:p,...f}=e,I=k(U,n),[h,b]=i.useState(null),y=m(t,(e=>b(e))),v=i.useRef(null),B=i.useRef(""),A=I.viewport,_=o.content-o.viewport,S=G(g),Q=G(l),F=se(p,10);function w(e){if(v.current){const t=e.clientX-v.current.left,n=e.clientY-v.current.top;u({x:t,y:n})}}return i.useEffect((()=>{const e=e=>{const t=e.target;(null==h?void 0:h.contains(t))&&S(e,_)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})}),[A,h,_,S]),i.useEffect(Q,[o,Q]),ce(h,F),ce(I.content,F),d.jsx(L,{scope:n,scrollbar:h,hasThumb:r,onThumbChange:G(a),onThumbPointerUp:G(s),onThumbPositionChange:Q,onThumbPointerDown:G(c),children:d.jsx(C.div,{...f,ref:y,style:{position:"absolute",...f.style},onPointerDown:E(e.onPointerDown,(e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),v.current=h.getBoundingClientRect(),B.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",I.viewport&&(I.viewport.style.scrollBehavior="auto"),w(e))})),onPointerMove:E(e.onPointerMove,w),onPointerUp:E(e.onPointerUp,(e=>{const t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=B.current,I.viewport&&(I.viewport.style.scrollBehavior=""),v.current=null}))})})})),J="ScrollAreaThumb",j=i.forwardRef(((e,t)=>{const{forceMount:n,...i}=e,o=Y(J,e.__scopeScrollArea);return d.jsx(B,{present:n||o.hasThumb,children:d.jsx(z,{ref:t,...i})})})),z=i.forwardRef(((e,t)=>{const{__scopeScrollArea:n,style:o,...r}=e,a=k(J,n),s=Y(J,n),{onThumbPositionChange:c}=s,l=m(t,(e=>s.onThumbChange(e))),u=i.useRef(void 0),g=se((()=>{u.current&&(u.current(),u.current=void 0)}),100);return i.useEffect((()=>{const e=a.viewport;if(e){const t=()=>{if(g(),!u.current){const t=ae(e,c);u.current=t,c()}};return c(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}}),[a.viewport,g,c]),d.jsx(C.div,{"data-state":s.hasThumb?"visible":"hidden",...r,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:E(e.onPointerDownCapture,(e=>{const t=e.target.getBoundingClientRect(),n=e.clientX-t.left,i=e.clientY-t.top;s.onThumbPointerDown({x:n,y:i})})),onPointerUp:E(e.onPointerUp,s.onThumbPointerUp)})}));j.displayName=J;var K="ScrollAreaCorner",q=i.forwardRef(((e,t)=>{const n=k(K,e.__scopeScrollArea),i=!(!n.scrollbarX||!n.scrollbarY);return"scroll"!==n.type&&i?d.jsx($,{...e,ref:t}):null}));q.displayName=K;var $=i.forwardRef(((e,t)=>{const{__scopeScrollArea:n,...o}=e,r=k(K,n),[a,s]=i.useState(0),[c,l]=i.useState(0),u=!(!a||!c);return ce(r.scrollbarX,(()=>{var e;const t=(null==(e=r.scrollbarX)?void 0:e.offsetHeight)||0;r.onCornerHeightChange(t),l(t)})),ce(r.scrollbarY,(()=>{var e;const t=(null==(e=r.scrollbarY)?void 0:e.offsetWidth)||0;r.onCornerWidthChange(t),s(t)})),u?d.jsx(C.div,{...o,ref:t,style:{width:a,height:c,position:"absolute",right:"ltr"===r.dir?0:void 0,left:"rtl"===r.dir?0:void 0,bottom:0,...e.style}}):null}));function ee(e){return e?parseInt(e,10):0}function te(e,t){const n=e/t;return isNaN(n)?0:n}function ne(e){const t=te(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,i=(e.scrollbar.size-n)*t;return Math.max(i,18)}function ie(e,t,n="ltr"){const i=ne(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,r=t.scrollbar.size-o,a=t.content-t.viewport,s=r-i,c=function(e,[t,n]){return Math.min(n,Math.max(t,e))}(e,"ltr"===n?[0,a]:[-1*a,0]);return oe([0,a],[0,s])(c)}function oe(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const i=(t[1]-t[0])/(e[1]-e[0]);return t[0]+i*(n-e[0])}}function re(e,t){return e>0&&e<t}var ae=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},i=0;return function o(){const r={left:e.scrollLeft,top:e.scrollTop},a=n.left!==r.left,s=n.top!==r.top;(a||s)&&t(),n=r,i=window.requestAnimationFrame(o)}(),()=>window.cancelAnimationFrame(i)};function se(e,t){const n=G(e),o=i.useRef(0);return i.useEffect((()=>()=>window.clearTimeout(o.current)),[]),i.useCallback((()=>{window.clearTimeout(o.current),o.current=window.setTimeout(n,t)}),[n,t])}function ce(e,t){const n=G(t);v((()=>{let t=0;if(e){const i=new ResizeObserver((()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)}));return i.observe(e),()=>{window.cancelAnimationFrame(t),i.unobserve(e)}}}),[e,n])}var le=N,ue=Z,de=q;function ge(e){var t,n,i="";if("string"==typeof e||"number"==typeof e)i+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=ge(e[t]))&&(i&&(i+=" "),i+=n)}else for(n in e)e[n]&&(i&&(i+=" "),i+=n);return i}function pe(){for(var e,t,n=0,i="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=ge(e))&&(i&&(i+=" "),i+=t);return i}const me=e=>{const t=be(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:e=>{const n=e.split("-");return""===n[0]&&1!==n.length&&n.shift(),fe(n,t)||he(e)},getConflictingClassGroupIds:(e,t)=>{const o=n[e]||[];return t&&i[e]?[...o,...i[e]]:o}}},fe=(e,t)=>{var n;if(0===e.length)return t.classGroupId;const i=e[0],o=t.nextPart.get(i),r=o?fe(e.slice(1),o):void 0;if(r)return r;if(0===t.validators.length)return;const a=e.join("-");return null==(n=t.validators.find((({validator:e})=>e(a))))?void 0:n.classGroupId},Ie=/^\[(.+)\]$/,he=e=>{if(Ie.test(e)){const t=Ie.exec(e)[1],n=null==t?void 0:t.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},be=e=>{const{theme:t,prefix:n}=e,i={nextPart:new Map,validators:[]};return Be(Object.entries(e.classGroups),n).forEach((([e,n])=>{ye(n,i,e,t)})),i},ye=(e,t,n,i)=>{e.forEach((e=>{if("string"!=typeof e){if("function"==typeof e)return ve(e)?void ye(e(i),t,n,i):void t.validators.push({validator:e,classGroupId:n});Object.entries(e).forEach((([e,o])=>{ye(o,Ce(t,e),n,i)}))}else{(""===e?t:Ce(t,e)).classGroupId=n}}))},Ce=(e,t)=>{let n=e;return t.split("-").forEach((e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)})),n},ve=e=>e.isThemeGetter,Be=(e,t)=>t?e.map((([e,n])=>[e,n.map((e=>"string"==typeof e?t+e:"object"==typeof e?Object.fromEntries(Object.entries(e).map((([e,n])=>[t+e,n]))):e))])):e,Ae=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,i=new Map;const o=(o,r)=>{n.set(o,r),t++,t>e&&(t=0,i=n,n=new Map)};return{get(e){let t=n.get(e);return void 0!==t?t:void 0!==(t=i.get(e))?(o(e,t),t):void 0},set(e,t){n.has(e)?n.set(e,t):o(e,t)}}},_e=e=>{const{separator:t,experimentalParseClassName:n}=e,i=1===t.length,o=t[0],r=t.length,a=e=>{const n=[];let a,s=0,c=0;for(let d=0;d<e.length;d++){let l=e[d];if(0===s){if(l===o&&(i||e.slice(d,d+r)===t)){n.push(e.slice(c,d)),c=d+r;continue}if("/"===l){a=d;continue}}"["===l?s++:"]"===l&&s--}const l=0===n.length?e:e.substring(c),u=l.startsWith("!");return{modifiers:n,hasImportantModifier:u,baseClassName:u?l.substring(1):l,maybePostfixModifierPosition:a&&a>c?a-c:void 0}};return n?e=>n({className:e,parseClassName:a}):a},Se=e=>{if(e.length<=1)return e;const t=[];let n=[];return e.forEach((e=>{"["===e[0]?(t.push(...n.sort(),e),n=[]):n.push(e)})),t.push(...n.sort()),t},Ge=/\s+/;function Qe(){let e,t,n=0,i="";for(;n<arguments.length;)(e=arguments[n++])&&(t=Ee(e))&&(i&&(i+=" "),i+=t);return i}const Ee=e=>{if("string"==typeof e)return e;let t,n="";for(let i=0;i<e.length;i++)e[i]&&(t=Ee(e[i]))&&(n&&(n+=" "),n+=t);return n};function Fe(e,...t){let n,i,o,r=function(s){const c=t.reduce(((e,t)=>t(e)),e());return n=(e=>({cache:Ae(e.cacheSize),parseClassName:_e(e),...me(e)}))(c),i=n.cache.get,o=n.cache.set,r=a,a(s)};function a(e){const t=i(e);if(t)return t;const r=((e,t)=>{const{parseClassName:n,getClassGroupId:i,getConflictingClassGroupIds:o}=t,r=[],a=e.trim().split(Ge);let s="";for(let c=a.length-1;c>=0;c-=1){const e=a[c],{modifiers:t,hasImportantModifier:l,baseClassName:u,maybePostfixModifierPosition:d}=n(e);let g=!!d,p=i(g?u.substring(0,d):u);if(!p){if(!g){s=e+(s.length>0?" "+s:s);continue}if(p=i(u),!p){s=e+(s.length>0?" "+s:s);continue}g=!1}const m=Se(t).join(":"),f=l?m+"!":m,I=f+p;if(r.includes(I))continue;r.push(I);const h=o(p,g);for(let n=0;n<h.length;++n){const e=h[n];r.push(f+e)}s=e+(s.length>0?" "+s:s)}return s})(e,n);return o(e,r),r}return function(){return r(Qe.apply(null,arguments))}}const we=e=>{const t=t=>t[e]||[];return t.isThemeGetter=!0,t},Te=/^\[(?:([a-z-]+):)?(.+)\]$/i,xe=/^\d+\/\d+$/,ke=new Set(["px","full","screen"]),Ne=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Oe=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ze=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,Ue=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Re=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Xe=e=>Ve(e)||ke.has(e)||xe.test(e),We=e=>et(e,"length",tt),Ve=e=>!!e&&!Number.isNaN(Number(e)),Pe=e=>et(e,"number",Ve),De=e=>!!e&&Number.isInteger(Number(e)),He=e=>e.endsWith("%")&&Ve(e.slice(0,-1)),Le=e=>Te.test(e),Ye=e=>Ne.test(e),Me=new Set(["length","size","percentage"]),Je=e=>et(e,Me,nt),je=e=>et(e,"position",nt),ze=new Set(["image","url"]),Ke=e=>et(e,ze,ot),qe=e=>et(e,"",it),$e=()=>!0,et=(e,t,n)=>{const i=Te.exec(e);return!!i&&(i[1]?"string"==typeof t?i[1]===t:t.has(i[1]):n(i[2]))},tt=e=>Oe.test(e)&&!Ze.test(e),nt=()=>!1,it=e=>Ue.test(e),ot=e=>Re.test(e),rt=()=>{const e=we("colors"),t=we("spacing"),n=we("blur"),i=we("brightness"),o=we("borderColor"),r=we("borderRadius"),a=we("borderSpacing"),s=we("borderWidth"),c=we("contrast"),l=we("grayscale"),u=we("hueRotate"),d=we("invert"),g=we("gap"),p=we("gradientColorStops"),m=we("gradientColorStopPositions"),f=we("inset"),I=we("margin"),h=we("opacity"),b=we("padding"),y=we("saturate"),C=we("scale"),v=we("sepia"),B=we("skew"),A=we("space"),_=we("translate"),S=()=>["auto",Le,t],G=()=>[Le,t],Q=()=>["",Xe,We],E=()=>["auto",Ve,Le],F=()=>["","0",Le],w=()=>[Ve,Le];return{cacheSize:500,separator:":",theme:{colors:[$e],spacing:[Xe,We],blur:["none","",Ye,Le],brightness:w(),borderColor:[e],borderRadius:["none","","full",Ye,Le],borderSpacing:G(),borderWidth:Q(),contrast:w(),grayscale:F(),hueRotate:w(),invert:F(),gap:G(),gradientColorStops:[e],gradientColorStopPositions:[He,We],inset:S(),margin:S(),opacity:w(),padding:G(),saturate:w(),scale:w(),sepia:F(),skew:w(),space:G(),translate:G()},classGroups:{aspect:[{aspect:["auto","square","video",Le]}],container:["container"],columns:[{columns:[Ye]}],"break-after":[{"break-after":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-before":[{"break-before":["auto","avoid","all","avoid-page","page","left","right","column"]}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top",Le]}],overflow:[{overflow:["auto","hidden","clip","visible","scroll"]}],"overflow-x":[{"overflow-x":["auto","hidden","clip","visible","scroll"]}],"overflow-y":[{"overflow-y":["auto","hidden","clip","visible","scroll"]}],overscroll:[{overscroll:["auto","contain","none"]}],"overscroll-x":[{"overscroll-x":["auto","contain","none"]}],"overscroll-y":[{"overscroll-y":["auto","contain","none"]}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[f]}],"inset-x":[{"inset-x":[f]}],"inset-y":[{"inset-y":[f]}],start:[{start:[f]}],end:[{end:[f]}],top:[{top:[f]}],right:[{right:[f]}],bottom:[{bottom:[f]}],left:[{left:[f]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",De,Le]}],basis:[{basis:S()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Le]}],grow:[{grow:F()}],shrink:[{shrink:F()}],order:[{order:["first","last","none",De,Le]}],"grid-cols":[{"grid-cols":[$e]}],"col-start-end":[{col:["auto",{span:["full",De,Le]},Le]}],"col-start":[{"col-start":E()}],"col-end":[{"col-end":E()}],"grid-rows":[{"grid-rows":[$e]}],"row-start-end":[{row:["auto",{span:[De,Le]},Le]}],"row-start":[{"row-start":E()}],"row-end":[{"row-end":E()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Le]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Le]}],gap:[{gap:[g]}],"gap-x":[{"gap-x":[g]}],"gap-y":[{"gap-y":[g]}],"justify-content":[{justify:["normal","start","end","center","between","around","evenly","stretch"]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal","start","end","center","between","around","evenly","stretch","baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":["start","end","center","between","around","evenly","stretch","baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[b]}],px:[{px:[b]}],py:[{py:[b]}],ps:[{ps:[b]}],pe:[{pe:[b]}],pt:[{pt:[b]}],pr:[{pr:[b]}],pb:[{pb:[b]}],pl:[{pl:[b]}],m:[{m:[I]}],mx:[{mx:[I]}],my:[{my:[I]}],ms:[{ms:[I]}],me:[{me:[I]}],mt:[{mt:[I]}],mr:[{mr:[I]}],mb:[{mb:[I]}],ml:[{ml:[I]}],"space-x":[{"space-x":[A]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[A]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Le,t]}],"min-w":[{"min-w":[Le,t,"min","max","fit"]}],"max-w":[{"max-w":[Le,t,"none","full","min","max","fit","prose",{screen:[Ye]},Ye]}],h:[{h:[Le,t,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Le,t,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Le,t,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Le,t,"auto","min","max","fit"]}],"font-size":[{text:["base",Ye,We]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Pe]}],"font-family":[{font:[$e]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Le]}],"line-clamp":[{"line-clamp":["none",Ve,Pe]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Xe,Le]}],"list-image":[{"list-image":["none",Le]}],"list-style-type":[{list:["none","disc","decimal",Le]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[e]}],"placeholder-opacity":[{"placeholder-opacity":[h]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[e]}],"text-opacity":[{"text-opacity":[h]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:["solid","dashed","dotted","double","none","wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Xe,We]}],"underline-offset":[{"underline-offset":["auto",Xe,Le]}],"text-decoration-color":[{decoration:[e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:G()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Le]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Le]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[h]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top",je]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",Je]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Ke]}],"bg-color":[{bg:[e]}],"gradient-from-pos":[{from:[m]}],"gradient-via-pos":[{via:[m]}],"gradient-to-pos":[{to:[m]}],"gradient-from":[{from:[p]}],"gradient-via":[{via:[p]}],"gradient-to":[{to:[p]}],rounded:[{rounded:[r]}],"rounded-s":[{"rounded-s":[r]}],"rounded-e":[{"rounded-e":[r]}],"rounded-t":[{"rounded-t":[r]}],"rounded-r":[{"rounded-r":[r]}],"rounded-b":[{"rounded-b":[r]}],"rounded-l":[{"rounded-l":[r]}],"rounded-ss":[{"rounded-ss":[r]}],"rounded-se":[{"rounded-se":[r]}],"rounded-ee":[{"rounded-ee":[r]}],"rounded-es":[{"rounded-es":[r]}],"rounded-tl":[{"rounded-tl":[r]}],"rounded-tr":[{"rounded-tr":[r]}],"rounded-br":[{"rounded-br":[r]}],"rounded-bl":[{"rounded-bl":[r]}],"border-w":[{border:[s]}],"border-w-x":[{"border-x":[s]}],"border-w-y":[{"border-y":[s]}],"border-w-s":[{"border-s":[s]}],"border-w-e":[{"border-e":[s]}],"border-w-t":[{"border-t":[s]}],"border-w-r":[{"border-r":[s]}],"border-w-b":[{"border-b":[s]}],"border-w-l":[{"border-l":[s]}],"border-opacity":[{"border-opacity":[h]}],"border-style":[{border:["solid","dashed","dotted","double","none","hidden"]}],"divide-x":[{"divide-x":[s]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[s]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[h]}],"divide-style":[{divide:["solid","dashed","dotted","double","none"]}],"border-color":[{border:[o]}],"border-color-x":[{"border-x":[o]}],"border-color-y":[{"border-y":[o]}],"border-color-s":[{"border-s":[o]}],"border-color-e":[{"border-e":[o]}],"border-color-t":[{"border-t":[o]}],"border-color-r":[{"border-r":[o]}],"border-color-b":[{"border-b":[o]}],"border-color-l":[{"border-l":[o]}],"divide-color":[{divide:[o]}],"outline-style":[{outline:["","solid","dashed","dotted","double","none"]}],"outline-offset":[{"outline-offset":[Xe,Le]}],"outline-w":[{outline:[Xe,We]}],"outline-color":[{outline:[e]}],"ring-w":[{ring:Q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[e]}],"ring-opacity":[{"ring-opacity":[h]}],"ring-offset-w":[{"ring-offset":[Xe,We]}],"ring-offset-color":[{"ring-offset":[e]}],shadow:[{shadow:["","inner","none",Ye,qe]}],"shadow-color":[{shadow:[$e]}],opacity:[{opacity:[h]}],"mix-blend":[{"mix-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity","plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"]}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[i]}],contrast:[{contrast:[c]}],"drop-shadow":[{"drop-shadow":["","none",Ye,Le]}],grayscale:[{grayscale:[l]}],"hue-rotate":[{"hue-rotate":[u]}],invert:[{invert:[d]}],saturate:[{saturate:[y]}],sepia:[{sepia:[v]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[i]}],"backdrop-contrast":[{"backdrop-contrast":[c]}],"backdrop-grayscale":[{"backdrop-grayscale":[l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[u]}],"backdrop-invert":[{"backdrop-invert":[d]}],"backdrop-opacity":[{"backdrop-opacity":[h]}],"backdrop-saturate":[{"backdrop-saturate":[y]}],"backdrop-sepia":[{"backdrop-sepia":[v]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[a]}],"border-spacing-x":[{"border-spacing-x":[a]}],"border-spacing-y":[{"border-spacing-y":[a]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Le]}],duration:[{duration:w()}],ease:[{ease:["linear","in","out","in-out",Le]}],delay:[{delay:w()}],animate:[{animate:["none","spin","ping","pulse","bounce",Le]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[C]}],"scale-x":[{"scale-x":[C]}],"scale-y":[{"scale-y":[C]}],rotate:[{rotate:[De,Le]}],"translate-x":[{"translate-x":[_]}],"translate-y":[{"translate-y":[_]}],"skew-x":[{"skew-x":[B]}],"skew-y":[{"skew-y":[B]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Le]}],accent:[{accent:["auto",e]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Le]}],"caret-color":[{caret:[e]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":G()}],"scroll-mx":[{"scroll-mx":G()}],"scroll-my":[{"scroll-my":G()}],"scroll-ms":[{"scroll-ms":G()}],"scroll-me":[{"scroll-me":G()}],"scroll-mt":[{"scroll-mt":G()}],"scroll-mr":[{"scroll-mr":G()}],"scroll-mb":[{"scroll-mb":G()}],"scroll-ml":[{"scroll-ml":G()}],"scroll-p":[{"scroll-p":G()}],"scroll-px":[{"scroll-px":G()}],"scroll-py":[{"scroll-py":G()}],"scroll-ps":[{"scroll-ps":G()}],"scroll-pe":[{"scroll-pe":G()}],"scroll-pt":[{"scroll-pt":G()}],"scroll-pr":[{"scroll-pr":G()}],"scroll-pb":[{"scroll-pb":G()}],"scroll-pl":[{"scroll-pl":G()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Le]}],fill:[{fill:[e,"none"]}],"stroke-w":[{stroke:[Xe,We,Pe]}],stroke:[{stroke:[e,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},at=Fe(rt);function st(...e){return at(pe(e))}const ct=i.forwardRef((({className:e,children:t,...n},i)=>d.jsxs(le,{ref:i,className:st("relative overflow-hidden",e),...n,children:[d.jsx(ue,{className:"h-full w-full rounded-[inherit]",children:t}),d.jsx(lt,{}),d.jsx(de,{})]})));ct.displayName=le.displayName;const lt=i.forwardRef((({className:e,orientation:t="vertical",...n},i)=>d.jsx(R,{ref:i,orientation:t,className:st("flex touch-none select-none transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",e),...n,children:d.jsx(j,{className:"relative flex-1 rounded-full bg-border"})})));lt.displayName=R.displayName;
/**
 * @license lucide-react v0.469.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
const ut=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),dt=(...e)=>e.filter(((e,t,n)=>!!e&&""!==e.trim()&&n.indexOf(e)===t)).join(" ").trim()
/**
 * @license lucide-react v0.469.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */;var gt={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};
/**
 * @license lucide-react v0.469.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */const pt=(0,i.forwardRef)((({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:o,className:r="",children:a,iconNode:s,...c},l)=>(0,i.createElement)("svg",{ref:l,...gt,width:t,height:t,stroke:e,strokeWidth:o?24*Number(n)/Number(t):n,className:dt("lucide",r),...c},[...s.map((([e,t])=>(0,i.createElement)(e,t))),...Array.isArray(a)?a:[a]]))),mt=(e,t)=>{const n=(0,i.forwardRef)((({className:n,...o},r)=>(0,i.createElement)(pt,{ref:r,iconNode:t,className:dt(`lucide-${ut(e)}`,n),...o})));return n.displayName=`${e}`,n},ft=mt("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),It=mt("ArrowUpLeft",[["path",{d:"M7 17V7h10",key:"11bw93"}],["path",{d:"M17 17 7 7",key:"2786uv"}]]),ht=mt("Ban",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.9 4.9 14.2 14.2",key:"1m5liu"}]]),bt=mt("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),yt=mt("CirclePlay",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polygon",{points:"10 8 16 12 10 16 10 8",key:"1cimsy"}]]),Ct=mt("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),vt=mt("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),Bt=mt("Loader",[["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m16.2 7.8 2.9-2.9",key:"r700ao"}],["path",{d:"M18 12h4",key:"wj9ykh"}],["path",{d:"m16.2 16.2 2.9 2.9",key:"1bxg5t"}],["path",{d:"M12 18v4",key:"jadmvz"}],["path",{d:"m4.9 19.1 2.9-2.9",key:"bwix9q"}],["path",{d:"M2 12h4",key:"j09sii"}],["path",{d:"m4.9 4.9 2.9 2.9",key:"giyufr"}]]),At=mt("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]]),_t=mt("Play",[["polygon",{points:"6 3 20 12 6 21 6 3",key:"1oa8hb"}]]),St=mt("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),Gt=mt("SendHorizontal",[["path",{d:"M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z",key:"117uat"}],["path",{d:"M6 12h16",key:"s4cdu5"}]]),Qt=mt("Smile",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 14s1.5 2 4 2 4-2 4-2",key:"1y1vjs"}],["line",{x1:"9",x2:"9.01",y1:"9",y2:"9",key:"yxxnd0"}],["line",{x1:"15",x2:"15.01",y1:"9",y2:"9",key:"1p4y9e"}]]),Et=mt("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Ft=mt("Volume2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]),wt=mt("VolumeX",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]]),Tt=mt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);
/**
 * @license lucide-react v0.469.0 - ISC
 *
 * This source code is licensed under the ISC license.
 * See the LICENSE file in the root directory of this source tree.
 */
/*! @license DOMPurify 3.2.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.3/LICENSE */
var xt,kt;function Nt(){if(kt)return xt;kt=1;const{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:i,getOwnPropertyDescriptor:o}=Object;let{freeze:r,seal:a,create:s}=Object,{apply:c,construct:l}=typeof Reflect<"u"&&Reflect;r||(r=function(e){return e}),a||(a=function(e){return e}),c||(c=function(e,t,n){return e.apply(t,n)}),l||(l=function(e,t){return new e(...t)});const u=A(Array.prototype.forEach),d=A(Array.prototype.pop),g=A(Array.prototype.push),p=A(String.prototype.toLowerCase),m=A(String.prototype.toString),f=A(String.prototype.match),I=A(String.prototype.replace),h=A(String.prototype.indexOf),b=A(String.prototype.trim),y=A(Object.prototype.hasOwnProperty),C=A(RegExp.prototype.test),v=(B=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return l(B,t)});var B;function A(e){return function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return c(e,t,i)}}function _(e,i){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:p;t&&t(e,null);let r=i.length;for(;r--;){let t=i[r];if("string"==typeof t){const e=o(t);e!==t&&(n(i)||(i[r]=e),t=e)}e[t]=!0}return e}function S(e){for(let t=0;t<e.length;t++)y(e,t)||(e[t]=null);return e}function G(t){const n=s(null);for(const[i,o]of e(t))y(t,i)&&(Array.isArray(o)?n[i]=S(o):o&&"object"==typeof o&&o.constructor===Object?n[i]=G(o):n[i]=o);return n}function Q(e,t){for(;null!==e;){const n=o(e,t);if(n){if(n.get)return A(n.get);if("function"==typeof n.value)return A(n.value)}e=i(e)}return function(){return null}}const E=r(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),F=r(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),w=r(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),T=r(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),x=r(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),k=r(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),N=r(["#text"]),O=r(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Z=r(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),U=r(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),R=r(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),X=a(/\{\{[\w\W]*|[\w\W]*\}\}/gm),W=a(/<%[\w\W]*|[\w\W]*%>/gm),V=a(/\$\{[\w\W]*}/gm),P=a(/^data-[\-\w.\u00B7-\uFFFF]+$/),D=a(/^aria-[\-\w]+$/),H=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),L=a(/^(?:\w+script|data):/i),Y=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),M=a(/^html$/i),J=a(/^[a-z][.\w]*(-[.\w]+)+$/i);var j=Object.freeze({__proto__:null,ARIA_ATTR:D,ATTR_WHITESPACE:Y,CUSTOM_ELEMENT:J,DATA_ATTR:P,DOCTYPE_NAME:M,ERB_EXPR:W,IS_ALLOWED_URI:H,IS_SCRIPT_OR_DATA:L,MUSTACHE_EXPR:X,TMPLIT_EXPR:V});const z=1,K=3,q=7,$=8,ee=9;var te=function t(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:typeof window>"u"?null:window;const i=e=>t(e);if(i.version="3.2.3",i.removed=[],!n||!n.document||n.document.nodeType!==ee)return i.isSupported=!1,i;let{document:o}=n;const a=o,c=a.currentScript,{DocumentFragment:l,HTMLTemplateElement:B,Node:A,Element:S,NodeFilter:X,NamedNodeMap:W=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:V,DOMParser:P,trustedTypes:D}=n,L=S.prototype,Y=Q(L,"cloneNode"),J=Q(L,"remove"),te=Q(L,"nextSibling"),ne=Q(L,"childNodes"),ie=Q(L,"parentNode");if("function"==typeof B){const e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let oe,re="";const{implementation:ae,createNodeIterator:se,createDocumentFragment:ce,getElementsByTagName:le}=o,{importNode:ue}=a;let de={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};i.isSupported="function"==typeof e&&"function"==typeof ie&&ae&&void 0!==ae.createHTMLDocument;const{MUSTACHE_EXPR:ge,ERB_EXPR:pe,TMPLIT_EXPR:me,DATA_ATTR:fe,ARIA_ATTR:Ie,IS_SCRIPT_OR_DATA:he,ATTR_WHITESPACE:be,CUSTOM_ELEMENT:ye}=j;let{IS_ALLOWED_URI:Ce}=j,ve=null;const Be=_({},[...E,...F,...w,...x,...N]);let Ae=null;const _e=_({},[...O,...Z,...U,...R]);let Se=Object.seal(s(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ge=null,Qe=null,Ee=!0,Fe=!0,we=!1,Te=!0,xe=!1,ke=!0,Ne=!1,Oe=!1,Ze=!1,Ue=!1,Re=!1,Xe=!1,We=!0,Ve=!1,Pe=!0,De=!1,He={},Le=null;const Ye=_({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Me=null;const Je=_({},["audio","video","img","source","image","track"]);let je=null;const ze=_({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ke="http://www.w3.org/1998/Math/MathML",qe="http://www.w3.org/2000/svg",$e="http://www.w3.org/1999/xhtml";let et=$e,tt=!1,nt=null;const it=_({},[Ke,qe,$e],m);let ot=_({},["mi","mo","mn","ms","mtext"]),rt=_({},["annotation-xml"]);const at=_({},["title","style","font","a","script"]);let st=null;const ct=["application/xhtml+xml","text/html"];let lt=null,ut=null;const dt=o.createElement("form"),gt=function(e){return e instanceof RegExp||e instanceof Function},pt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!ut||ut!==e){if((!e||"object"!=typeof e)&&(e={}),e=G(e),st=-1===ct.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,lt="application/xhtml+xml"===st?m:p,ve=y(e,"ALLOWED_TAGS")?_({},e.ALLOWED_TAGS,lt):Be,Ae=y(e,"ALLOWED_ATTR")?_({},e.ALLOWED_ATTR,lt):_e,nt=y(e,"ALLOWED_NAMESPACES")?_({},e.ALLOWED_NAMESPACES,m):it,je=y(e,"ADD_URI_SAFE_ATTR")?_(G(ze),e.ADD_URI_SAFE_ATTR,lt):ze,Me=y(e,"ADD_DATA_URI_TAGS")?_(G(Je),e.ADD_DATA_URI_TAGS,lt):Je,Le=y(e,"FORBID_CONTENTS")?_({},e.FORBID_CONTENTS,lt):Ye,Ge=y(e,"FORBID_TAGS")?_({},e.FORBID_TAGS,lt):{},Qe=y(e,"FORBID_ATTR")?_({},e.FORBID_ATTR,lt):{},He=!!y(e,"USE_PROFILES")&&e.USE_PROFILES,Ee=!1!==e.ALLOW_ARIA_ATTR,Fe=!1!==e.ALLOW_DATA_ATTR,we=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Te=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,xe=e.SAFE_FOR_TEMPLATES||!1,ke=!1!==e.SAFE_FOR_XML,Ne=e.WHOLE_DOCUMENT||!1,Ue=e.RETURN_DOM||!1,Re=e.RETURN_DOM_FRAGMENT||!1,Xe=e.RETURN_TRUSTED_TYPE||!1,Ze=e.FORCE_BODY||!1,We=!1!==e.SANITIZE_DOM,Ve=e.SANITIZE_NAMED_PROPS||!1,Pe=!1!==e.KEEP_CONTENT,De=e.IN_PLACE||!1,Ce=e.ALLOWED_URI_REGEXP||H,et=e.NAMESPACE||$e,ot=e.MATHML_TEXT_INTEGRATION_POINTS||ot,rt=e.HTML_INTEGRATION_POINTS||rt,Se=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&gt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Se.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&gt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Se.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Se.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),xe&&(Fe=!1),Re&&(Ue=!0),He&&(ve=_({},N),Ae=[],!0===He.html&&(_(ve,E),_(Ae,O)),!0===He.svg&&(_(ve,F),_(Ae,Z),_(Ae,R)),!0===He.svgFilters&&(_(ve,w),_(Ae,Z),_(Ae,R)),!0===He.mathMl&&(_(ve,x),_(Ae,U),_(Ae,R))),e.ADD_TAGS&&(ve===Be&&(ve=G(ve)),_(ve,e.ADD_TAGS,lt)),e.ADD_ATTR&&(Ae===_e&&(Ae=G(Ae)),_(Ae,e.ADD_ATTR,lt)),e.ADD_URI_SAFE_ATTR&&_(je,e.ADD_URI_SAFE_ATTR,lt),e.FORBID_CONTENTS&&(Le===Ye&&(Le=G(Le)),_(Le,e.FORBID_CONTENTS,lt)),Pe&&(ve["#text"]=!0),Ne&&_(ve,["html","head","body"]),ve.table&&(_(ve,["tbody"]),delete Ge.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw v('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw v('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');oe=e.TRUSTED_TYPES_POLICY,re=oe.createHTML("")}else void 0===oe&&(oe=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));const o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:e=>e,createScriptURL:e=>e})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}}(D,c)),null!==oe&&"string"==typeof re&&(re=oe.createHTML(""));r&&r(e),ut=e}},mt=_({},[...F,...w,...T]),ft=_({},[...x,...k]),It=function(e){g(i.removed,{element:e});try{ie(e).removeChild(e)}catch{J(e)}},ht=function(e,t){try{g(i.removed,{attribute:t.getAttributeNode(e),from:t})}catch{g(i.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(Ue||Re)try{It(t)}catch{}else try{t.setAttribute(e,"")}catch{}},bt=function(e){let t=null,n=null;if(Ze)e="<remove></remove>"+e;else{const t=f(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===st&&et===$e&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");const i=oe?oe.createHTML(e):e;if(et===$e)try{t=(new P).parseFromString(i,st)}catch{}if(!t||!t.documentElement){t=ae.createDocument(et,"template",null);try{t.documentElement.innerHTML=tt?re:i}catch{}}const r=t.body||t.documentElement;return e&&n&&r.insertBefore(o.createTextNode(n),r.childNodes[0]||null),et===$e?le.call(t,Ne?"html":"body")[0]:Ne?t.documentElement:r},yt=function(e){return se.call(e.ownerDocument||e,e,X.SHOW_ELEMENT|X.SHOW_COMMENT|X.SHOW_TEXT|X.SHOW_PROCESSING_INSTRUCTION|X.SHOW_CDATA_SECTION,null)},Ct=function(e){return e instanceof V&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof W)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},vt=function(e){return"function"==typeof A&&e instanceof A};function Bt(e,t,n){u(e,(e=>{e.call(i,t,n,ut)}))}const At=function(e){let t=null;if(Bt(de.beforeSanitizeElements,e,null),Ct(e))return It(e),!0;const n=lt(e.nodeName);if(Bt(de.uponSanitizeElement,e,{tagName:n,allowedTags:ve}),e.hasChildNodes()&&!vt(e.firstElementChild)&&C(/<[/\w]/g,e.innerHTML)&&C(/<[/\w]/g,e.textContent)||e.nodeType===q||ke&&e.nodeType===$&&C(/<[/\w]/g,e.data))return It(e),!0;if(!ve[n]||Ge[n]){if(!Ge[n]&&St(n)&&(Se.tagNameCheck instanceof RegExp&&C(Se.tagNameCheck,n)||Se.tagNameCheck instanceof Function&&Se.tagNameCheck(n)))return!1;if(Pe&&!Le[n]){const t=ie(e)||e.parentNode,n=ne(e)||e.childNodes;if(n&&t){for(let i=n.length-1;i>=0;--i){const o=Y(n[i],!0);o.__removalCount=(e.__removalCount||0)+1,t.insertBefore(o,te(e))}}}return It(e),!0}return e instanceof S&&!function(e){let t=ie(e);(!t||!t.tagName)&&(t={namespaceURI:et,tagName:"template"});const n=p(e.tagName),i=p(t.tagName);return!!nt[e.namespaceURI]&&(e.namespaceURI===qe?t.namespaceURI===$e?"svg"===n:t.namespaceURI===Ke?"svg"===n&&("annotation-xml"===i||ot[i]):!!mt[n]:e.namespaceURI===Ke?t.namespaceURI===$e?"math"===n:t.namespaceURI===qe?"math"===n&&rt[i]:!!ft[n]:e.namespaceURI===$e?!(t.namespaceURI===qe&&!rt[i]||t.namespaceURI===Ke&&!ot[i])&&!ft[n]&&(at[n]||!mt[n]):!("application/xhtml+xml"!==st||!nt[e.namespaceURI]))}(e)||("noscript"===n||"noembed"===n||"noframes"===n)&&C(/<\/no(script|embed|frames)/i,e.innerHTML)?(It(e),!0):(xe&&e.nodeType===K&&(t=e.textContent,u([ge,pe,me],(e=>{t=I(t,e," ")})),e.textContent!==t&&(g(i.removed,{element:e.cloneNode()}),e.textContent=t)),Bt(de.afterSanitizeElements,e,null),!1)},_t=function(e,t,n){if(We&&("id"===t||"name"===t)&&(n in o||n in dt))return!1;if((!Fe||Qe[t]||!C(fe,t))&&(!Ee||!C(Ie,t)))if(!Ae[t]||Qe[t]){if(!(St(e)&&(Se.tagNameCheck instanceof RegExp&&C(Se.tagNameCheck,e)||Se.tagNameCheck instanceof Function&&Se.tagNameCheck(e))&&(Se.attributeNameCheck instanceof RegExp&&C(Se.attributeNameCheck,t)||Se.attributeNameCheck instanceof Function&&Se.attributeNameCheck(t))||"is"===t&&Se.allowCustomizedBuiltInElements&&(Se.tagNameCheck instanceof RegExp&&C(Se.tagNameCheck,n)||Se.tagNameCheck instanceof Function&&Se.tagNameCheck(n))))return!1}else if(!je[t]&&!C(Ce,I(n,be,""))&&("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==h(n,"data:")||!Me[e])&&(!we||C(he,I(n,be,"")))&&n)return!1;return!0},St=function(e){return"annotation-xml"!==e&&f(e,ye)},Gt=function(e){Bt(de.beforeSanitizeAttributes,e,null);const{attributes:t}=e;if(!t||Ct(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ae,forceKeepAttr:void 0};let o=t.length;for(;o--;){const r=t[o],{name:a,namespaceURI:s,value:c}=r,l=lt(a);let g="value"===a?c:b(c);if(n.attrName=l,n.attrValue=g,n.keepAttr=!0,n.forceKeepAttr=void 0,Bt(de.uponSanitizeAttribute,e,n),g=n.attrValue,Ve&&("id"===l||"name"===l)&&(ht(a,e),g="user-content-"+g),ke&&C(/((--!?|])>)|<\/(style|title)/i,g)){ht(a,e);continue}if(n.forceKeepAttr||(ht(a,e),!n.keepAttr))continue;if(!Te&&C(/\/>/i,g)){ht(a,e);continue}xe&&u([ge,pe,me],(e=>{g=I(g,e," ")}));const p=lt(e.nodeName);if(_t(p,l,g)){if(oe&&"object"==typeof D&&"function"==typeof D.getAttributeType&&!s)switch(D.getAttributeType(p,l)){case"TrustedHTML":g=oe.createHTML(g);break;case"TrustedScriptURL":g=oe.createScriptURL(g)}try{s?e.setAttributeNS(s,a,g):e.setAttribute(a,g),Ct(e)?It(e):d(i.removed)}catch{}}}Bt(de.afterSanitizeAttributes,e,null)},Qt=function e(t){let n=null;const i=yt(t);for(Bt(de.beforeSanitizeShadowDOM,t,null);n=i.nextNode();)Bt(de.uponSanitizeShadowNode,n,null),At(n),Gt(n),n.content instanceof l&&e(n.content);Bt(de.afterSanitizeShadowDOM,t,null)};return i.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,o=null,r=null,s=null;if(tt=!e,tt&&(e="\x3c!--\x3e"),"string"!=typeof e&&!vt(e)){if("function"!=typeof e.toString)throw v("toString is not a function");if("string"!=typeof(e=e.toString()))throw v("dirty is not a string, aborting")}if(!i.isSupported)return e;if(Oe||pt(t),i.removed=[],"string"==typeof e&&(De=!1),De){if(e.nodeName){const t=lt(e.nodeName);if(!ve[t]||Ge[t])throw v("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof A)n=bt("\x3c!----\x3e"),o=n.ownerDocument.importNode(e,!0),o.nodeType===z&&"BODY"===o.nodeName||"HTML"===o.nodeName?n=o:n.appendChild(o);else{if(!Ue&&!xe&&!Ne&&-1===e.indexOf("<"))return oe&&Xe?oe.createHTML(e):e;if(n=bt(e),!n)return Ue?null:Xe?re:""}n&&Ze&&It(n.firstChild);const c=yt(De?e:n);for(;r=c.nextNode();)At(r),Gt(r),r.content instanceof l&&Qt(r.content);if(De)return e;if(Ue){if(Re)for(s=ce.call(n.ownerDocument);n.firstChild;)s.appendChild(n.firstChild);else s=n;return(Ae.shadowroot||Ae.shadowrootmode)&&(s=ue.call(a,s,!0)),s}let d=Ne?n.outerHTML:n.innerHTML;return Ne&&ve["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&C(M,n.ownerDocument.doctype.name)&&(d="<!DOCTYPE "+n.ownerDocument.doctype.name+">\n"+d),xe&&u([ge,pe,me],(e=>{d=I(d,e," ")})),oe&&Xe?oe.createHTML(d):d},i.setConfig=function(){pt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Oe=!0},i.clearConfig=function(){ut=null,Oe=!1},i.isValidAttribute=function(e,t,n){ut||pt({});const i=lt(e),o=lt(t);return _t(i,o,n)},i.addHook=function(e,t){"function"==typeof t&&g(de[e],t)},i.removeHook=function(e){return d(de[e])},i.removeHooks=function(e){de[e]=[]},i.removeAllHooks=function(){de={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},i}();return xt=te}const Ot=s(window.DOMPurify||(window.DOMPurify=Nt().default||Nt())),Zt=/https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)/g,Ut=e=>!/^\d+$/.test(e)&&/^[\p{Emoji}]+$/u.test(e),Rt=e=>/[\p{Emoji}]/u.test(e),Xt=(0,i.createContext)(void 0),Wt=({children:e,isMobile:t,onRetry:n,onShare:i,onError:o,isAgentPage:r,direction:a,showAvatar:s,onUrlClick:c})=>d.jsx(Xt.Provider,{value:{isMobile:t,onRetry:n,onShare:i,onError:o,isAgentPage:r,direction:a,showAvatar:s,onUrlClick:c},children:e}),Vt=()=>{const e=(0,i.useContext)(Xt);if(void 0===e)throw new Error("useMessageContext must be used within a MessageProvider");return e},Pt=({text:e,className:t="",linkClassName:n=""})=>{const o=e||"",{onUrlClick:r}=Vt(),a=(0,i.useCallback)(((e,t)=>{e.preventDefault();try{const e=new URL(t);if(!["http:","https:"].includes(e.protocol))return;null==r||r(t)}catch(n){console.error(n)}}),[r]);if(!o)return null;const s=o.match(Zt)||[];let c=0;const l=[];return s.forEach(((e,t)=>{const i=o.indexOf(e,c);i>c&&l.push(d.jsx("span",{children:o.slice(c,i)},`text-${t}`));const r=Ot.sanitize(e);l.push(d.jsx("span",{children:d.jsx("a",{role:"link",className:st(n,"break-all underline","cursor-pointer"),onClick:e=>a(e,r),children:r})},`link-${t}`)),c=i+e.length})),c<o.length&&l.push(d.jsx("span",{children:o.slice(c)},"text-last")),d.jsx("span",{className:t,children:l})},Dt=({content:e,isSender:t,type:n,className:i})=>{const o="emoji"!==n,r=t?"bg-chat-sender-bg text-chat-sender-text":"bg-chat-receiver-bg text-chat-receiver-text",a=t?"text-chat-sender-link":"text-chat-receiver-link";return d.jsx("div",{className:st("emoji"===n?"text-4xl":"px-3 py-4",t&&"self-end",o&&"rounded-lg",o&&r,"break-all whitespace-pre-wrap",i),children:d.jsx(Pt,{text:e,linkClassName:a})})};var Ht={exports:{}};Ht.exports=function(){var e=1e3,t=6e4,n=36e5,i="millisecond",o="second",r="minute",a="hour",s="day",c="week",l="month",u="quarter",d="year",g="date",p="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,I={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},h=function(e,t,n){var i=String(e);return!i||i.length>=t?e:""+Array(t+1-i.length).join(n)+e},b={s:h,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),i=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+h(i,2,"0")+":"+h(o,2,"0")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var i=12*(n.year()-t.year())+(n.month()-t.month()),o=t.clone().add(i,l),r=n-o<0,a=t.clone().add(i+(r?-1:1),l);return+(-(i+(n-o)/(r?o-a:a-o))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:g,h:a,m:r,s:o,ms:i,Q:u}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},y="en",C={};C[y]=I;var v="$isDayjsObject",B=function(e){return e instanceof G||!(!e||!e[v])},A=function e(t,n,i){var o;if(!t)return y;if("string"==typeof t){var r=t.toLowerCase();C[r]&&(o=r),n&&(C[r]=n,o=r);var a=t.split("-");if(!o&&a.length>1)return e(a[0])}else{var s=t.name;C[s]=t,o=s}return!i&&o&&(y=o),o||!i&&y},_=function(e,t){if(B(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new G(n)},S=b;S.l=A,S.i=B,S.w=function(e,t){return _(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var G=function(){function I(e){this.$L=A(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[v]=!0}var h=I.prototype;return h.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(S.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var i=t.match(m);if(i){var o=i[2]-1||0,r=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)):new Date(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)}}return new Date(t)}(e),this.init()},h.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},h.$utils=function(){return S},h.isValid=function(){return this.$d.toString()!==p},h.isSame=function(e,t){var n=_(e);return this.startOf(t)<=n&&n<=this.endOf(t)},h.isAfter=function(e,t){return _(e)<this.startOf(t)},h.isBefore=function(e,t){return this.endOf(t)<_(e)},h.$g=function(e,t,n){return S.u(e)?this[t]:this.set(n,e)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(e,t){var n=this,i=!!S.u(t)||t,u=S.p(e),p=function(e,t){var o=S.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return i?o:o.endOf(s)},m=function(e,t){return S.w(n.toDate()[e].apply(n.toDate("s"),(i?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},f=this.$W,I=this.$M,h=this.$D,b="set"+(this.$u?"UTC":"");switch(u){case d:return i?p(1,0):p(31,11);case l:return i?p(1,I):p(0,I+1);case c:var y=this.$locale().weekStart||0,C=(f<y?f+7:f)-y;return p(i?h-C:h+(6-C),I);case s:case g:return m(b+"Hours",0);case a:return m(b+"Minutes",1);case r:return m(b+"Seconds",2);case o:return m(b+"Milliseconds",3);default:return this.clone()}},h.endOf=function(e){return this.startOf(e,!1)},h.$set=function(e,t){var n,c=S.p(e),u="set"+(this.$u?"UTC":""),p=(n={},n[s]=u+"Date",n[g]=u+"Date",n[l]=u+"Month",n[d]=u+"FullYear",n[a]=u+"Hours",n[r]=u+"Minutes",n[o]=u+"Seconds",n[i]=u+"Milliseconds",n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var f=this.clone().set(g,1);f.$d[p](m),f.init(),this.$d=f.set(g,Math.min(this.$D,f.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},h.set=function(e,t){return this.clone().$set(e,t)},h.get=function(e){return this[S.p(e)]()},h.add=function(i,u){var g,p=this;i=Number(i);var m=S.p(u),f=function(e){var t=_(p);return S.w(t.date(t.date()+Math.round(e*i)),p)};if(m===l)return this.set(l,this.$M+i);if(m===d)return this.set(d,this.$y+i);if(m===s)return f(1);if(m===c)return f(7);var I=(g={},g[r]=t,g[a]=n,g[o]=e,g)[m]||1,h=this.$d.getTime()+i*I;return S.w(h,this)},h.subtract=function(e,t){return this.add(-1*e,t)},h.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var i=e||"YYYY-MM-DDTHH:mm:ssZ",o=S.z(this),r=this.$H,a=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,o,r){return e&&(e[n]||e(t,i))||o[n].slice(0,r)},g=function(e){return S.s(r%12||12,e,"0")},m=u||function(e,t,n){var i=e<12?"AM":"PM";return n?i.toLowerCase():i};return i.replace(f,(function(e,i){return i||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return S.s(t.$y,4,"0");case"M":return s+1;case"MM":return S.s(s+1,2,"0");case"MMM":return d(n.monthsShort,s,l,3);case"MMMM":return d(l,s);case"D":return t.$D;case"DD":return S.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return d(n.weekdaysMin,t.$W,c,2);case"ddd":return d(n.weekdaysShort,t.$W,c,3);case"dddd":return c[t.$W];case"H":return String(r);case"HH":return S.s(r,2,"0");case"h":return g(1);case"hh":return g(2);case"a":return m(r,a,!0);case"A":return m(r,a,!1);case"m":return String(a);case"mm":return S.s(a,2,"0");case"s":return String(t.$s);case"ss":return S.s(t.$s,2,"0");case"SSS":return S.s(t.$ms,3,"0");case"Z":return o}return null}(e)||o.replace(":","")}))},h.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},h.diff=function(i,g,p){var m,f=this,I=S.p(g),h=_(i),b=(h.utcOffset()-this.utcOffset())*t,y=this-h,C=function(){return S.m(f,h)};switch(I){case d:m=C()/12;break;case l:m=C();break;case u:m=C()/3;break;case c:m=(y-b)/6048e5;break;case s:m=(y-b)/864e5;break;case a:m=y/n;break;case r:m=y/t;break;case o:m=y/e;break;default:m=y}return p?m:S.a(m)},h.daysInMonth=function(){return this.endOf(l).$D},h.$locale=function(){return C[this.$L]},h.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),i=A(e,t,!0);return i&&(n.$L=i),n},h.clone=function(){return S.w(this.$d,this)},h.toDate=function(){return new Date(this.valueOf())},h.toJSON=function(){return this.isValid()?this.toISOString():null},h.toISOString=function(){return this.$d.toISOString()},h.toString=function(){return this.$d.toUTCString()},I}(),Q=G.prototype;return _.prototype=Q,[["$ms",i],["$s",o],["$m",r],["$H",a],["$W",s],["$M",l],["$y",d],["$D",g]].forEach((function(e){Q[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),_.extend=function(e,t){return e.$i||(e(t,G,_),e.$i=!0),_},_.locale=A,_.isDayjs=B,_.unix=function(e){return _(1e3*e)},_.en=C[y],_.Ls=C,_.p={},_}();const Lt=s(Ht.exports),Yt=e=>{if(!e||"string"!=typeof e)return console.warn("Invalid date string:",e),Date.now();try{const t=new Date(e).getTime();if(!isNaN(t))return t;const n=e.match(/\/Date\((\d+)([+-]\d{4})\)\//);return n?parseInt(n[1],10):(console.warn("Invalid date format:",e),Date.now())}catch(t){return console.error("Error parsing date:",t),Date.now()}},Mt=e=>Lt(e).format("HH:mm"),Jt=e=>{const t=Math.floor(e/60),n=Math.floor(e%60);return`${String(t).padStart(2,"0")}:${String(n).padStart(2,"0")}`},jt=({className:e})=>d.jsx("div",{className:st("relative flex items-center justify-center w-[120px] h-20","bg-[#2D3E715E] rounded-lg overflow-hidden cursor-pointer",e),onClick:()=>{},children:d.jsx(ht,{className:"h-8 w-8 text-white"})}),zt=({isOpen:e,onClose:t,mediaUrl:n,mediaType:o,initialTime:r=0,onTimeUpdate:a})=>{const{showControls:s,isPlaying:c,isMuted:l,currentTime:u,duration:g,isLoading:p,videoRef:m,resetControlsTimeout:f,handlePlayClick:I,handleMuteClick:h,handleTimeUpdate:b,handleLoadedMetadata:y,handleSeek:C,handlePlay:v,handlePause:B,handleClose:A}=(({isOpen:e,initialTime:t=0,onTimeUpdate:n})=>{const[o,r]=(0,i.useState)(!0),[a,s]=(0,i.useState)(!1),[c,l]=(0,i.useState)(!1),[u,d]=(0,i.useState)(t),[g,p]=(0,i.useState)(0),[m,f]=(0,i.useState)(!0),I=(0,i.useRef)(null),h=(0,i.useRef)(),b=(0,i.useRef)(!1),y=(0,i.useRef)(!1);(0,i.useEffect)((()=>()=>{y.current=!0,h.current&&clearTimeout(h.current),I.current&&I.current.pause()}),[]);const C=(0,i.useCallback)((()=>{h.current&&clearTimeout(h.current),r(!0),a&&(h.current=setTimeout((()=>{y.current||r(!1)}),3e3))}),[a]);return(0,i.useEffect)((()=>{C()}),[a,C]),(0,i.useEffect)((()=>{if(e&&I.current&&!b.current){b.current=!0,I.current.currentTime=t,d(t),f(!0);const e=()=>{f(!1),I.current&&I.current.play().then((()=>{y.current||s(!0)})).catch((e=>{console.error("自動播放失敗:",e)}))};return I.current.addEventListener("canplay",e,{once:!0}),()=>{I.current&&I.current.removeEventListener("canplay",e)}}return()=>{}}),[e,t]),{showControls:o,isPlaying:a,isMuted:c,currentTime:u,duration:g,isLoading:m,videoRef:I,resetControlsTimeout:C,handlePlayClick:()=>{!I.current||m||(a?I.current.pause():I.current.play().catch((e=>console.error("播放失敗:",e))))},handleMuteClick:()=>{if(!I.current)return;const e=!c;I.current.muted=e,l(e)},handleTimeUpdate:()=>{if(!I.current||y.current)return;const e=I.current.currentTime;d(e),null==n||n(e)},handleLoadedMetadata:()=>{!I.current||y.current||(p(I.current.duration),f(!1))},handleSeek:e=>{if(!I.current)return;const t=parseFloat(e.target.value);I.current.currentTime=t,d(t)},handlePlay:()=>{y.current||s(!0)},handlePause:()=>{y.current||s(!1)},handleClose:()=>{I.current&&(null==n||n(I.current.currentTime),I.current.pause()),b.current=!1}}})({isOpen:e,initialTime:r,onTimeUpdate:a});return e?d.jsxs("div",{className:"fixed inset-0 z-50 bg-black flex flex-col",onMouseMove:f,children:[d.jsxs("div",{className:st("absolute top-0 left-0 right-0 flex justify-between items-center p-4 z-10 transition-opacity duration-300",s?"opacity-100":"opacity-0"),children:[d.jsx("button",{onClick:()=>{A(),t()},className:"text-white hover:text-gray-300 p-2",children:d.jsx(ft,{className:"h-6 w-6"})}),"video"===o&&d.jsx("button",{onClick:h,className:"text-white hover:text-gray-300 p-2",children:l?d.jsx(wt,{className:"h-6 w-6"}):d.jsx(Ft,{className:"h-6 w-6"})})]}),d.jsx("div",{className:"flex-1 flex items-center justify-center relative",children:"image"===o?d.jsx("img",{src:n,alt:"預覽圖片",className:"max-w-full max-h-[90vh] object-contain"}):d.jsxs("div",{className:"relative w-full h-full flex items-center justify-center bg-black",children:[p&&d.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:d.jsx(vt,{className:"w-10 h-10 text-white animate-spin"})}),d.jsx("video",{ref:m,src:n,className:"w-full h-full object-contain",muted:l,playsInline:!0,preload:"auto",onTimeUpdate:b,onLoadedMetadata:y,onPlay:v,onPause:B,onError:e=>console.error("Video error:",e)}),d.jsx("button",{onClick:I,className:st("absolute inset-0 flex items-center justify-center transition-opacity duration-300",s?"opacity-100":"opacity-0",p?"hidden":""),children:d.jsx("div",{className:"w-20 h-20 rounded-full bg-black/50 flex items-center justify-center",children:c?d.jsx(At,{className:"h-12 w-12 text-white",fill:"currentColor",strokeWidth:0}):d.jsx(_t,{className:"h-12 w-12 text-white",fill:"currentColor",strokeWidth:0})})})]})}),"video"===o&&d.jsx("div",{className:st("absolute bottom-0 left-0 right-0 px-4 py-4 bg-gradient-to-t from-black/50 to-transparent transition-opacity duration-300",s?"opacity-100":"opacity-0"),children:d.jsxs("div",{className:"flex items-center gap-4",children:[d.jsxs("span",{className:"text-white text-sm min-w-[48px]",children:[Jt(Math.floor(u))," /"," ",Jt(Math.floor(g))]}),d.jsx("input",{type:"range",min:"0",max:g||1,value:u,onChange:C,className:"flex-1"})]})})]}):null},Kt=({url:e,type:t,isSender:n,status:o,onError:r,className:a})=>{const{isMobile:s}=Vt(),[c,l]=(0,i.useState)(!1),[u,g]=(0,i.useState)(!1),[p,m]=(0,i.useState)(0),[f,I]=(0,i.useState)(0),h=(0,i.useRef)(null),b=()=>{g(!0),null==r||r()},y=()=>{s?l(!0):window.open(e,"_blank","noopener,noreferrer")};if(u)return d.jsx(jt,{});const C=()=>"sending"===o?d.jsx("div",{className:"absolute inset-0 bg-white/50 flex items-end justify-start p-2",children:d.jsx(vt,{width:20,height:20,className:"text-white"})}):"failed"===o?d.jsx("div",{className:"absolute inset-0 bg-white/50 flex items-end justify-start p-2",children:d.jsx(Et,{width:20,height:20,className:"text-white"})}):null;return"image"===t?d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:st("relative group",n?"ml-auto":"mr-auto",a),children:[d.jsx("img",{src:e,alt:"message",className:"max-w-full max-h-[200px] rounded-lg object-cover cursor-pointer",onError:b,onClick:y}),C()]}),d.jsx(zt,{isOpen:c,onClose:()=>l(!1),mediaUrl:e,mediaType:"image"})]}):d.jsxs("div",{className:st("relative group bg-black rounded-lg overflow-hidden","w-[300px] aspect-video",n?"ml-auto":"mr-auto",a),children:[d.jsx("video",{ref:h,src:e,className:"w-full h-full object-cover",preload:"metadata",playsInline:!0,muted:!0,onError:b,onLoadedMetadata:e=>{m(e.currentTarget.duration)},onTimeUpdate:()=>{h.current&&I(h.current.currentTime)},onClick:y}),C(),"sent"===o&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"absolute top-2 left-2 text-white text-sm bg-black/50 px-2 py-1 rounded",children:Jt(p)}),d.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:d.jsx("button",{onClick:y,className:"p-3 rounded-full bg-black/40 text-white hover:bg-black/50",children:d.jsx(_t,{className:"w-[30px] h-6",fill:"currentColor",strokeWidth:0})})})]}),d.jsx(zt,{isOpen:c,onClose:()=>{l(!1),h.current&&I(h.current.currentTime)},mediaUrl:e,mediaType:"video",initialTime:f,onTimeUpdate:I})]})},qt=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,$t=pe,en=(e,t)=>n=>{var i;if(null==(null==t?void 0:t.variants))return $t(e,null==n?void 0:n.class,null==n?void 0:n.className);const{variants:o,defaultVariants:r}=t,a=Object.keys(o).map((e=>{const t=null==n?void 0:n[e],i=null==r?void 0:r[e];if(null===t)return null;const a=qt(t)||qt(i);return o[e][a]})),s=n&&Object.entries(n).reduce(((e,t)=>{let[n,i]=t;return void 0===i||(e[n]=i),e}),{}),c=null==t||null===(i=t.compoundVariants)||void 0===i?void 0:i.reduce(((e,t)=>{let{class:n,className:i,...o}=t;return Object.entries(o).every((e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...r,...s}[t]):{...r,...s}[t]===n}))?[...e,n,i]:e}),[]);return $t(e,a,c,null==n?void 0:n.class,null==n?void 0:n.className)},tn=en("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9",iconSmall:"w-auto h-auto px-1"}},defaultVariants:{variant:"default",size:"default"}}),nn=i.forwardRef((({className:e,variant:t,size:n,asChild:i=!1,...o},r)=>{const a=i?f:"button";return d.jsx(a,{className:st(tn({variant:t,size:n,className:e})),ref:r,...o})}));nn.displayName="Button";const on=({status:e,isSender:t,message:n})=>{const{onRetry:i}=Vt();if(!t)return null;return d.jsxs("div",{className:"flex self-center text-gray-500",children:["sending"===e&&d.jsx(nn,{variant:"ghost",size:"iconSmall",className:"p-0 cursor-default",children:d.jsx(It,{width:24,height:24})}),"failed"===e&&d.jsx(nn,{variant:"ghost",size:"iconSmall",className:"p-0",onClick:()=>{n&&i&&i(n)},children:d.jsx(St,{width:24,height:24,className:"pointer"})})]})},rn=({sendDateTime:e,isSender:t,className:n})=>{const i=Yt(e);return d.jsx("span",{className:st("text-xs text-chat-time flex items-center gap-1",t?"self-start":"self-end",n),children:Mt(i)})},an=({message:e,isSender:t,onError:n})=>{const i=({children:n,messageKey:i})=>d.jsxs("div",{className:"flex flex-col gap-1 w-max",children:[d.jsx("div",{className:st("flex gap-2",t?"flex-row-reverse":""),children:n}),"sent"===e.status&&d.jsx(rn,{sendDateTime:e.sendDateTime,isSender:t})]},i);return d.jsx("div",{className:st("flex flex-col gap-1",t?"items-end":"items-start"),children:d.jsxs(d.Fragment,{children:[e.content&&d.jsxs(i,{messageKey:e.messageId,children:[d.jsx(Dt,{type:Ut(e.content)?"emoji":Rt(e.content)?"text-emoji":"text",isSender:t,content:e.content,className:st("max-w-[300px]",t&&"sent"!==e.status&&"opacity-50")}),("failed"===e.status||"sending"===e.status)&&d.jsx(on,{status:e.status,isSender:t,message:e})]}),null==(o=e.attachments)?void 0:o.map(((o,r)=>d.jsxs(i,{messageKey:`${e.messageId}-attachment-${r}`,children:[d.jsx(Kt,{type:o.url.match(/\.(mp4|mov)$/i)?"video":"image",isSender:t,url:o.url,status:o.status,onError:()=>null==n?void 0:n(e),className:"w-auto max-w-[300px] rounded-lg overflow-hidden"}),("failed"===o.status||"sending"===o.status)&&d.jsx(on,{status:o.status,isSender:t,message:e})]},`${e.messageId}-attachment-${r}`)))]})});var o};var sn="Avatar",[cn,ln]=_(sn),[un,dn]=cn(sn),gn=i.forwardRef(((e,t)=>{const{__scopeAvatar:n,...o}=e,[r,a]=i.useState("idle");return d.jsx(un,{scope:n,imageLoadingStatus:r,onImageLoadingStatusChange:a,children:d.jsx(C.span,{...o,ref:t})})}));gn.displayName=sn;var pn="AvatarImage",mn=i.forwardRef(((e,t)=>{const{__scopeAvatar:n,src:o,onLoadingStatusChange:r=()=>{},...a}=e,s=dn(pn,n),c=function(e,t){const[n,o]=i.useState("idle");return v((()=>{if(!e)return void o("error");let n=!0;const i=new window.Image,r=e=>()=>{n&&o(e)};return o("loading"),i.onload=r("loaded"),i.onerror=r("error"),i.src=e,t&&(i.referrerPolicy=t),()=>{n=!1}}),[e,t]),n}(o,a.referrerPolicy),l=G((e=>{r(e),s.onImageLoadingStatusChange(e)}));return v((()=>{"idle"!==c&&l(c)}),[c,l]),"loaded"===c?d.jsx(C.img,{...a,ref:t,src:o}):null}));mn.displayName=pn;var fn="AvatarFallback",In=i.forwardRef(((e,t)=>{const{__scopeAvatar:n,delayMs:o,...r}=e,a=dn(fn,n),[s,c]=i.useState(void 0===o);return i.useEffect((()=>{if(void 0!==o){const e=window.setTimeout((()=>c(!0)),o);return()=>window.clearTimeout(e)}}),[o]),s&&"loaded"!==a.imageLoadingStatus?d.jsx(C.span,{...r,ref:t}):null}));In.displayName=fn;var hn=gn,bn=mn,yn=In;const Cn=i.forwardRef((({className:e,...t},n)=>d.jsx(hn,{ref:n,className:st("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",e),...t})));Cn.displayName=hn.displayName;const vn=i.forwardRef((({className:e,...t},n)=>d.jsx(bn,{ref:n,className:st("aspect-square h-full w-full",e),...t})));vn.displayName=bn.displayName;const Bn=i.forwardRef((({className:e,...t},n)=>d.jsx(yn,{ref:n,className:st("flex h-full w-full items-center justify-center rounded-full bg-muted",e),...t})));Bn.displayName=yn.displayName;const An=({avatar:e,name:t,showAvatar:n})=>{if(!n)return null;const i=t?t.slice(0,2).toUpperCase():"";return d.jsxs(Cn,{className:"h-8 w-8 shrink-0 mt-1",children:[d.jsx(vn,{src:e,alt:t}),d.jsx(Bn,{children:i})]})},_n=({name:e,showAvatar:t})=>t&&e?d.jsx("span",{className:"text-sm text-muted-foreground mb-1",children:e}):null,Sn=({timestamp:e,className:t})=>{const n=(e=>Lt(e).isSame(Lt(),"day"))(e)?"今天":(e=>Lt(e).format("YYYY/MM/DD"))(e);return d.jsxs("div",{className:st("flex items-center gap-2",t),children:[d.jsx("div",{className:"h-[1px] flex-1 bg-chat-date/30"}),d.jsx("span",{className:"text-xs text-chat-date shrink-0",children:n}),d.jsx("div",{className:"h-[1px] flex-1 bg-chat-date/30"})]})},Gn=o().memo((({message:e,className:t,prevMessage:n})=>{const{direction:i,onError:o,showAvatar:r}=Vt(),a="rtl"===i(e),s=e.avatar&&!r,c=r&&!(!e.avatar||n&&n.role===e.role);return d.jsxs("div",{className:st("flex flex-col",a?"items-end":"items-start",t),"data-message-id":e.messageId,children:[c&&d.jsx(_n,{name:e.name,showAvatar:r}),d.jsxs("div",{className:st("flex items-start gap-2",a?"flex-row-reverse":"",s&&(a?"mr-10":"ml-10")),children:[d.jsx(An,{avatar:e.avatar,name:e.name,showAvatar:c}),d.jsx("div",{className:"flex flex-col gap-1",children:d.jsx(an,{message:e,isSender:a,onError:o})})]})]})})),Qn=(e,t=100)=>{let n;return function(...i){clearTimeout(n),n=setTimeout((()=>e.apply(this,i)),t)}},En=o().memo((({messages:e,onShare:t,onRetry:n,onScrollToTop:o,onMediaLoadError:r,isAgentPage:a,direction:s,showAvatar:c,onVisibleMessageIdsChange:l,isLoadingHistoryMessages:u,hasNoMoreHistoryMessages:g,hasNoMoreHistoryMessagesText:p="無更多紀錄",isMobile:m,onUrlClick:f})=>{const[I,h]=(0,i.useState)(null),[b,y]=(0,i.useState)(!1),C=(0,i.useRef)(new Set),v=(0,i.useRef)(e.length),B=(0,i.useRef)(0),A=(0,i.useRef)(!0),_=(0,i.useMemo)((()=>{const t=[];let n=0,i=[];return e.forEach((e=>{const o=Yt(e.sendDateTime),r=new Date(o).setHours(0,0,0,0);r!==n?(i.length>0&&t.push({date:n,messages:i}),n=r,i=[e]):i.push(e)})),i.length>0&&t.push({date:n,messages:i}),t}),[e]),S=()=>{if(!I)return!0;const{scrollTop:e,scrollHeight:t,clientHeight:n}=I;return t-e-n<=600};return(0,i.useEffect)((()=>{if(!I)return;const t=e.length>v.current;if(0===v.current||t&&S())(()=>{if(!I)return;const{scrollHeight:e,clientHeight:t}=I;I.scrollTo({top:e-t,behavior:"auto"})})();else if(t&&b){const e=I.scrollHeight-B.current;I.scrollTop=e}v.current=e.length,B.current=I.scrollHeight}),[e,I,b]),(0,i.useEffect)((()=>{const e=document.querySelector("[data-radix-scroll-area-viewport]");if(!e)return;h(e);const t=e=>{const t=e.target,{scrollTop:n}=t,i=n<=5;i!==b&&(i&&(null==o||o()),y(i)),A.current=S()};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}}),[b,o]),(0,i.useEffect)((()=>{if(!I)return;const e=Qn((()=>{const e=Array.from(C.current);null==l||l(e)}),100),t=new IntersectionObserver((t=>{let n=!1;t.forEach((e=>{const t=e.target.getAttribute("data-message-id");t&&(e.isIntersecting?C.current.has(t)||(C.current.add(t),n=!0):C.current.has(t)&&(C.current.delete(t),n=!0))})),n&&e()}),{root:I,rootMargin:"0px",threshold:[0,1]});return document.querySelectorAll("[data-message-id]").forEach((e=>t.observe(e))),()=>{t.disconnect(),C.current.clear()}}),[l,e,I]),d.jsx(Wt,{isMobile:m,onRetry:n,onShare:t,onError:r,isAgentPage:a,direction:s,showAvatar:c||!1,onUrlClick:f,children:d.jsx("div",{className:st(a&&"admin","h-full w-full"),children:d.jsx(ct,{className:st("h-full w-full"),children:d.jsxs("div",{className:"p-4 text-sm",children:[(u||g)&&d.jsxs("div",{className:"pb-3 flex justify-center items-center text-chat-date",children:[u&&d.jsx("div",{children:d.jsx(Bt,{width:30,height:30,className:"animate-spin"})}),g&&d.jsx("p",{className:"text-xs",children:p})]}),_.map((({date:e,messages:t},n)=>d.jsxs("div",{className:"space-y-4",children:[d.jsx(Sn,{timestamp:e}),t.map(((e,n)=>((e,t,n)=>{const i=t>0?n[t-1]:null;return d.jsx(Gn,{message:e,prevMessage:i},`${e.messageId}-${e.uniqueKey}-${e.sendDateTime}`)})(e,n,t)))]},`${e}-${n}`)))]})})})})})),Fn=i.forwardRef((({className:e,...t},n)=>d.jsx("textarea",{className:st("flex w-full border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:n,...t})));Fn.displayName="Textarea";const wn=e=>t=>{t.nativeEvent.isComposing||"Enter"===t.key&&!t.shiftKey&&(t.preventDefault(),e())},Tn=(e,t,n,i)=>{const o=t.current;if(!o)return;const r=o.selectionStart,a=o.selectionEnd;i(n.substring(0,r)+e+n.substring(a))},xn=(e,t,n,i)=>{t(e),e.length>=n&&i&&i()},kn="h-6 w-6 text-gray-500 cursor-pointer";var Nn,On="dismissableLayer.update",Zn="dismissableLayer.pointerDownOutside",Un="dismissableLayer.focusOutside",Rn=i.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Xn=i.forwardRef(((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:a,onInteractOutside:s,onDismiss:c,...l}=e,u=i.useContext(Rn),[g,p]=i.useState(null),f=(null==g?void 0:g.ownerDocument)??(null==globalThis?void 0:globalThis.document),[,I]=i.useState({}),h=m(t,(e=>p(e))),b=Array.from(u.layers),[y]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),v=b.indexOf(y),B=g?b.indexOf(g):-1,A=u.layersWithOutsidePointerEventsDisabled.size>0,_=B>=v,S=function(e,t=(null==globalThis?void 0:globalThis.document)){const n=G(e),o=i.useRef(!1),r=i.useRef((()=>{}));return i.useEffect((()=>{const e=e=>{if(e.target&&!o.current){let i=function(){Pn(Zn,n,o,{discrete:!0})};const o={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",r.current),r.current=i,t.addEventListener("click",r.current,{once:!0})):i()}else t.removeEventListener("click",r.current);o.current=!1},i=window.setTimeout((()=>{t.addEventListener("pointerdown",e)}),0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",e),t.removeEventListener("click",r.current)}}),[t,n]),{onPointerDownCapture:()=>o.current=!0}}((e=>{const t=e.target,n=[...u.branches].some((e=>e.contains(t)));!_||n||(null==r||r(e),null==s||s(e),e.defaultPrevented||null==c||c())}),f),Q=function(e,t=(null==globalThis?void 0:globalThis.document)){const n=G(e),o=i.useRef(!1);return i.useEffect((()=>{const e=e=>{e.target&&!o.current&&Pn(Un,n,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)}),[t,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}((e=>{const t=e.target;[...u.branches].some((e=>e.contains(t)))||(null==a||a(e),null==s||s(e),e.defaultPrevented||null==c||c())}),f);return function(e,t=(null==globalThis?void 0:globalThis.document)){const n=G(e);i.useEffect((()=>{const e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})}),[n,t])}((e=>{B===u.layers.size-1&&(null==o||o(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))}),f),i.useEffect((()=>{if(g)return n&&(0===u.layersWithOutsidePointerEventsDisabled.size&&(Nn=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(g)),u.layers.add(g),Vn(),()=>{n&&1===u.layersWithOutsidePointerEventsDisabled.size&&(f.body.style.pointerEvents=Nn)}}),[g,f,n,u]),i.useEffect((()=>()=>{g&&(u.layers.delete(g),u.layersWithOutsidePointerEventsDisabled.delete(g),Vn())}),[g,u]),i.useEffect((()=>{const e=()=>I({});return document.addEventListener(On,e),()=>document.removeEventListener(On,e)}),[]),d.jsx(C.div,{...l,ref:h,style:{pointerEvents:A?_?"auto":"none":void 0,...e.style},onFocusCapture:E(e.onFocusCapture,Q.onFocusCapture),onBlurCapture:E(e.onBlurCapture,Q.onBlurCapture),onPointerDownCapture:E(e.onPointerDownCapture,S.onPointerDownCapture)})}));Xn.displayName="DismissableLayer";var Wn=i.forwardRef(((e,t)=>{const n=i.useContext(Rn),o=i.useRef(null),r=m(t,o);return i.useEffect((()=>{const e=o.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}}),[n.branches]),d.jsx(C.div,{...e,ref:r})}));function Vn(){const e=new CustomEvent(On);document.dispatchEvent(e)}function Pn(e,t,n,{discrete:i}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),i?function(e,t){e&&r.flushSync((()=>e.dispatchEvent(t)))}(o,a):o.dispatchEvent(a)}Wn.displayName="DismissableLayerBranch";var Dn=0;function Hn(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var Ln="focusScope.autoFocusOnMount",Yn="focusScope.autoFocusOnUnmount",Mn={bubbles:!1,cancelable:!0},Jn=i.forwardRef(((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:a,...s}=e,[c,l]=i.useState(null),u=G(r),g=G(a),p=i.useRef(null),f=m(t,(e=>l(e))),I=i.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;i.useEffect((()=>{if(o){let e=function(e){if(I.paused||!c)return;const t=e.target;c.contains(t)?p.current=t:qn(p.current,{select:!0})},t=function(e){if(I.paused||!c)return;const t=e.relatedTarget;null!==t&&(c.contains(t)||qn(p.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(const t of e)t.removedNodes.length>0&&qn(c)};document.addEventListener("focusin",e),document.addEventListener("focusout",t);const i=new MutationObserver(n);return c&&i.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),i.disconnect()}}}),[o,c,I.paused]),i.useEffect((()=>{if(c){$n.add(I);const e=document.activeElement;if(!c.contains(e)){const t=new CustomEvent(Ln,Mn);c.addEventListener(Ln,u),c.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){const n=document.activeElement;for(const i of e)if(qn(i,{select:t}),document.activeElement!==n)return}(function(e){return e.filter((e=>"A"!==e.tagName))}(jn(c)),{select:!0}),document.activeElement===e&&qn(c))}return()=>{c.removeEventListener(Ln,u),setTimeout((()=>{const t=new CustomEvent(Yn,Mn);c.addEventListener(Yn,g),c.dispatchEvent(t),t.defaultPrevented||qn(e??document.body,{select:!0}),c.removeEventListener(Yn,g),$n.remove(I)}),0)}}}),[c,u,g,I]);const h=i.useCallback((e=>{if(!n&&!o||I.paused)return;const t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){const t=e.currentTarget,[o,r]=function(e){const t=jn(e),n=zn(t,e),i=zn(t.reverse(),e);return[n,i]}(t);o&&r?e.shiftKey||i!==r?e.shiftKey&&i===o&&(e.preventDefault(),n&&qn(r,{select:!0})):(e.preventDefault(),n&&qn(o,{select:!0})):i===t&&e.preventDefault()}}),[n,o,I.paused]);return d.jsx(C.div,{tabIndex:-1,...s,ref:f,onKeyDown:h})}));function jn(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function zn(e,t){for(const n of e)if(!Kn(n,{upTo:t}))return n}function Kn(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(void 0!==t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function qn(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&function(e){return e instanceof HTMLInputElement&&"select"in e}(e)&&t&&e.select()}}Jn.displayName="FocusScope";var $n=function(){let e=[];return{add(t){const n=e[0];t!==n&&(null==n||n.pause()),e=ei(e,t),e.unshift(t)},remove(t){var n;e=ei(e,t),null==(n=e[0])||n.resume()}}}();function ei(e,t){const n=[...e],i=n.indexOf(t);return-1!==i&&n.splice(i,1),n}var ti=i.useId||(()=>{}),ni=0;function ii(e){const[t,n]=i.useState(ti());return v((()=>{e||n((e=>e??String(ni++)))}),[e]),e||(t?`radix-${t}`:"")}const oi=["top","right","bottom","left"],ri=Math.min,ai=Math.max,si=Math.round,ci=Math.floor,li=e=>({x:e,y:e}),ui={left:"right",right:"left",bottom:"top",top:"bottom"},di={start:"end",end:"start"};function gi(e,t,n){return ai(e,ri(t,n))}function pi(e,t){return"function"==typeof e?e(t):e}function mi(e){return e.split("-")[0]}function fi(e){return e.split("-")[1]}function Ii(e){return"x"===e?"y":"x"}function hi(e){return"y"===e?"height":"width"}function bi(e){return["top","bottom"].includes(mi(e))?"y":"x"}function yi(e){return Ii(bi(e))}function Ci(e){return e.replace(/start|end/g,(e=>di[e]))}function vi(e){return e.replace(/left|right|bottom|top/g,(e=>ui[e]))}function Bi(e){return"number"!=typeof e?function(e){return{top:0,right:0,bottom:0,left:0,...e}}(e):{top:e,right:e,bottom:e,left:e}}function Ai(e){const{x:t,y:n,width:i,height:o}=e;return{width:i,height:o,top:n,left:t,right:t+i,bottom:n+o,x:t,y:n}}function _i(e,t,n){let{reference:i,floating:o}=e;const r=bi(t),a=yi(t),s=hi(a),c=mi(t),l="y"===r,u=i.x+i.width/2-o.width/2,d=i.y+i.height/2-o.height/2,g=i[s]/2-o[s]/2;let p;switch(c){case"top":p={x:u,y:i.y-o.height};break;case"bottom":p={x:u,y:i.y+i.height};break;case"right":p={x:i.x+i.width,y:d};break;case"left":p={x:i.x-o.width,y:d};break;default:p={x:i.x,y:i.y}}switch(fi(t)){case"start":p[a]-=g*(n&&l?-1:1);break;case"end":p[a]+=g*(n&&l?-1:1)}return p}async function Si(e,t){var n;void 0===t&&(t={});const{x:i,y:o,platform:r,rects:a,elements:s,strategy:c}=e,{boundary:l="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:g=!1,padding:p=0}=pi(t,e),m=Bi(p),f=s[g?"floating"===d?"reference":"floating":d],I=Ai(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(f)))||n?f:f.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(s.floating)),boundary:l,rootBoundary:u,strategy:c})),h="floating"===d?{x:i,y:o,width:a.floating.width,height:a.floating.height}:a.reference,b=await(null==r.getOffsetParent?void 0:r.getOffsetParent(s.floating)),y=await(null==r.isElement?void 0:r.isElement(b))&&await(null==r.getScale?void 0:r.getScale(b))||{x:1,y:1},C=Ai(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({elements:s,rect:h,offsetParent:b,strategy:c}):h);return{top:(I.top-C.top+m.top)/y.y,bottom:(C.bottom-I.bottom+m.bottom)/y.y,left:(I.left-C.left+m.left)/y.x,right:(C.right-I.right+m.right)/y.x}}function Gi(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Qi(e){return oi.some((t=>e[t]>=0))}function Ei(){return typeof window<"u"}function Fi(e){return xi(e)?(e.nodeName||"").toLowerCase():"#document"}function wi(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Ti(e){var t;return null==(t=(xi(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function xi(e){return!!Ei()&&(e instanceof Node||e instanceof wi(e).Node)}function ki(e){return!!Ei()&&(e instanceof Element||e instanceof wi(e).Element)}function Ni(e){return!!Ei()&&(e instanceof HTMLElement||e instanceof wi(e).HTMLElement)}function Oi(e){return!(!Ei()||typeof ShadowRoot>"u")&&(e instanceof ShadowRoot||e instanceof wi(e).ShadowRoot)}function Zi(e){const{overflow:t,overflowX:n,overflowY:i,display:o}=Pi(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&!["inline","contents"].includes(o)}function Ui(e){return["table","td","th"].includes(Fi(e))}function Ri(e){return[":popover-open",":modal"].some((t=>{try{return e.matches(t)}catch{return!1}}))}function Xi(e){const t=Wi(),n=ki(e)?Pi(e):e;return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function Wi(){return!(typeof CSS>"u"||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function Vi(e){return["html","body","#document"].includes(Fi(e))}function Pi(e){return wi(e).getComputedStyle(e)}function Di(e){return ki(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Hi(e){if("html"===Fi(e))return e;const t=e.assignedSlot||e.parentNode||Oi(e)&&e.host||Ti(e);return Oi(t)?t.host:t}function Li(e){const t=Hi(e);return Vi(t)?e.ownerDocument?e.ownerDocument.body:e.body:Ni(t)&&Zi(t)?t:Li(t)}function Yi(e,t,n){var i;void 0===t&&(t=[]),void 0===n&&(n=!0);const o=Li(e),r=o===(null==(i=e.ownerDocument)?void 0:i.body),a=wi(o);if(r){const e=Mi(a);return t.concat(a,a.visualViewport||[],Zi(o)?o:[],e&&n?Yi(e):[])}return t.concat(o,Yi(o,[],n))}function Mi(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ji(e){const t=Pi(e);let n=parseFloat(t.width)||0,i=parseFloat(t.height)||0;const o=Ni(e),r=o?e.offsetWidth:n,a=o?e.offsetHeight:i,s=si(n)!==r||si(i)!==a;return s&&(n=r,i=a),{width:n,height:i,$:s}}function ji(e){return ki(e)?e:e.contextElement}function zi(e){const t=ji(e);if(!Ni(t))return li(1);const n=t.getBoundingClientRect(),{width:i,height:o,$:r}=Ji(t);let a=(r?si(n.width):n.width)/i,s=(r?si(n.height):n.height)/o;return(!a||!Number.isFinite(a))&&(a=1),(!s||!Number.isFinite(s))&&(s=1),{x:a,y:s}}const Ki=li(0);function qi(e){const t=wi(e);return Wi()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:Ki}function $i(e,t,n,i){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=e.getBoundingClientRect(),r=ji(e);let a=li(1);t&&(i?ki(i)&&(a=zi(i)):a=zi(e));const s=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==wi(e))&&t}(r,n,i)?qi(r):li(0);let c=(o.left+s.x)/a.x,l=(o.top+s.y)/a.y,u=o.width/a.x,d=o.height/a.y;if(r){const e=wi(r),t=i&&ki(i)?wi(i):i;let n=e,o=Mi(n);for(;o&&i&&t!==n;){const e=zi(o),t=o.getBoundingClientRect(),i=Pi(o),r=t.left+(o.clientLeft+parseFloat(i.paddingLeft))*e.x,a=t.top+(o.clientTop+parseFloat(i.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=r,l+=a,n=wi(o),o=Mi(n)}}return Ai({width:u,height:d,x:c,y:l})}function eo(e,t){const n=Di(e).scrollLeft;return t?t.left+n:$i(Ti(e)).left+n}function to(e,t,n){void 0===n&&(n=!1);const i=e.getBoundingClientRect();return{x:i.left+t.scrollLeft-(n?0:eo(e,i)),y:i.top+t.scrollTop}}function no(e,t,n){let i;if("viewport"===t)i=function(e,t){const n=wi(e),i=Ti(e),o=n.visualViewport;let r=i.clientWidth,a=i.clientHeight,s=0,c=0;if(o){r=o.width,a=o.height;const e=Wi();(!e||e&&"fixed"===t)&&(s=o.offsetLeft,c=o.offsetTop)}return{width:r,height:a,x:s,y:c}}(e,n);else if("document"===t)i=function(e){const t=Ti(e),n=Di(e),i=e.ownerDocument.body,o=ai(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),r=ai(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight);let a=-n.scrollLeft+eo(e);const s=-n.scrollTop;return"rtl"===Pi(i).direction&&(a+=ai(t.clientWidth,i.clientWidth)-o),{width:o,height:r,x:a,y:s}}(Ti(e));else if(ki(t))i=function(e,t){const n=$i(e,!0,"fixed"===t),i=n.top+e.clientTop,o=n.left+e.clientLeft,r=Ni(e)?zi(e):li(1);return{width:e.clientWidth*r.x,height:e.clientHeight*r.y,x:o*r.x,y:i*r.y}}(t,n);else{const n=qi(e);i={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ai(i)}function io(e,t){const n=Hi(e);return!(n===t||!ki(n)||Vi(n))&&("fixed"===Pi(n).position||io(n,t))}function oo(e,t){const n=t.get(e);if(n)return n;let i=Yi(e,[],!1).filter((e=>ki(e)&&"body"!==Fi(e))),o=null;const r="fixed"===Pi(e).position;let a=r?Hi(e):e;for(;ki(a)&&!Vi(a);){const t=Pi(a),n=Xi(a);!n&&"fixed"===t.position&&(o=null),(r?!n&&!o:!n&&"static"===t.position&&o&&["absolute","fixed"].includes(o.position)||Zi(a)&&!n&&io(e,a))?i=i.filter((e=>e!==a)):o=t,a=Hi(a)}return t.set(e,i),i}function ro(e,t,n){const i=Ni(t),o=Ti(t),r="fixed"===n,a=$i(e,!0,r,t);let s={scrollLeft:0,scrollTop:0};const c=li(0);if(i||!i&&!r)if(("body"!==Fi(t)||Zi(o))&&(s=Di(t)),i){const e=$i(t,!0,r,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else o&&(c.x=eo(o));const l=!o||i||r?li(0):to(o,s);return{x:a.left+s.scrollLeft-c.x-l.x,y:a.top+s.scrollTop-c.y-l.y,width:a.width,height:a.height}}function ao(e){return"static"===Pi(e).position}function so(e,t){if(!Ni(e)||"fixed"===Pi(e).position)return null;if(t)return t(e);let n=e.offsetParent;return Ti(e)===n&&(n=n.ownerDocument.body),n}function co(e,t){const n=wi(e);if(Ri(e))return n;if(!Ni(e)){let t=Hi(e);for(;t&&!Vi(t);){if(ki(t)&&!ao(t))return t;t=Hi(t)}return n}let i=so(e,t);for(;i&&Ui(i)&&ao(i);)i=so(i,t);return i&&Vi(i)&&ao(i)&&!Xi(i)?n:i||function(e){let t=Hi(e);for(;Ni(t)&&!Vi(t);){if(Xi(t))return t;if(Ri(t))return null;t=Hi(t)}return null}(e)||n}const lo={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:i,strategy:o}=e;const r="fixed"===o,a=Ti(i),s=!!t&&Ri(t.floating);if(i===a||s&&r)return n;let c={scrollLeft:0,scrollTop:0},l=li(1);const u=li(0),d=Ni(i);if((d||!d&&!r)&&(("body"!==Fi(i)||Zi(a))&&(c=Di(i)),Ni(i))){const e=$i(i);l=zi(i),u.x=e.x+i.clientLeft,u.y=e.y+i.clientTop}const g=!a||d||r?li(0):to(a,c,!0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+g.x,y:n.y*l.y-c.scrollTop*l.y+u.y+g.y}},getDocumentElement:Ti,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:i,strategy:o}=e;const r=[..."clippingAncestors"===n?Ri(t)?[]:oo(t,this._c):[].concat(n),i],a=r[0],s=r.reduce(((e,n)=>{const i=no(t,n,o);return e.top=ai(i.top,e.top),e.right=ri(i.right,e.right),e.bottom=ri(i.bottom,e.bottom),e.left=ai(i.left,e.left),e}),no(t,a,o));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}},getOffsetParent:co,getElementRects:async function(e){const t=this.getOffsetParent||co,n=this.getDimensions,i=await n(e.floating);return{reference:ro(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=Ji(e);return{width:t,height:n}},getScale:zi,isElement:ki,isRTL:function(e){return"rtl"===Pi(e).direction}};function uo(e,t,n,i){void 0===i&&(i={});const{ancestorScroll:o=!0,ancestorResize:r=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:c=!1}=i,l=ji(e),u=o||r?[...l?Yi(l):[],...Yi(t)]:[];u.forEach((e=>{o&&e.addEventListener("scroll",n,{passive:!0}),r&&e.addEventListener("resize",n)}));const d=l&&s?function(e,t){let n,i=null;const o=Ti(e);function r(){var e;clearTimeout(n),null==(e=i)||e.disconnect(),i=null}return function a(s,c){void 0===s&&(s=!1),void 0===c&&(c=1),r();const{left:l,top:u,width:d,height:g}=e.getBoundingClientRect();if(s||t(),!d||!g)return;const p={rootMargin:-ci(u)+"px "+-ci(o.clientWidth-(l+d))+"px "+-ci(o.clientHeight-(u+g))+"px "+-ci(l)+"px",threshold:ai(0,ri(1,c))||1};let m=!0;function f(e){const t=e[0].intersectionRatio;if(t!==c){if(!m)return a();t?a(!1,t):n=setTimeout((()=>{a(!1,1e-7)}),1e3)}m=!1}try{i=new IntersectionObserver(f,{...p,root:o.ownerDocument})}catch{i=new IntersectionObserver(f,p)}i.observe(e)}(!0),r}(l,n):null;let g=-1,p=null;a&&(p=new ResizeObserver((e=>{let[i]=e;i&&i.target===l&&p&&(p.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame((()=>{var e;null==(e=p)||e.observe(t)}))),n()})),l&&!c&&p.observe(l),p.observe(t));let m,f=c?$i(e):null;return c&&function t(){const i=$i(e);f&&(i.x!==f.x||i.y!==f.y||i.width!==f.width||i.height!==f.height)&&n(),f=i,m=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{o&&e.removeEventListener("scroll",n),r&&e.removeEventListener("resize",n)})),null==d||d(),null==(e=p)||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}const go=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,i;const{x:o,y:r,placement:a,middlewareData:s}=t,c=await async function(e,t){const{placement:n,platform:i,elements:o}=e,r=await(null==i.isRTL?void 0:i.isRTL(o.floating)),a=mi(n),s=fi(n),c="y"===bi(n),l=["left","top"].includes(a)?-1:1,u=r&&c?-1:1,d=pi(t,e);let{mainAxis:g,crossAxis:p,alignmentAxis:m}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&"number"==typeof m&&(p="end"===s?-1*m:m),c?{x:p*u,y:g*l}:{x:g*l,y:p*u}}(t,e);return a===(null==(n=s.offset)?void 0:n.placement)&&null!=(i=s.arrow)&&i.alignmentOffset?{}:{x:o+c.x,y:r+c.y,data:{...c,placement:a}}}}},po=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:i,placement:o}=t,{mainAxis:r=!0,crossAxis:a=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=pi(e,t),l={x:n,y:i},u=await Si(t,c),d=bi(mi(o)),g=Ii(d);let p=l[g],m=l[d];if(r){const e="y"===g?"bottom":"right";p=gi(p+u["y"===g?"top":"left"],p,p-u[e])}if(a){const e="y"===d?"bottom":"right";m=gi(m+u["y"===d?"top":"left"],m,m-u[e])}const f=s.fn({...t,[g]:p,[d]:m});return{...f,data:{x:f.x-n,y:f.y-i,enabled:{[g]:r,[d]:a}}}}}},mo=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,i;const{placement:o,middlewareData:r,rects:a,initialPlacement:s,platform:c,elements:l}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:g,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:f=!0,...I}=pi(e,t);if(null!=(n=r.arrow)&&n.alignmentOffset)return{};const h=mi(o),b=bi(s),y=mi(s)===s,C=await(null==c.isRTL?void 0:c.isRTL(l.floating)),v=g||(y||!f?[vi(s)]:function(e){const t=vi(e);return[Ci(e),t,Ci(t)]}(s)),B="none"!==m;!g&&B&&v.push(...function(e,t,n,i){const o=fi(e);let r=function(e,t,n){const i=["left","right"],o=["right","left"],r=["top","bottom"],a=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:i:t?i:o;case"left":case"right":return t?r:a;default:return[]}}(mi(e),"start"===n,i);return o&&(r=r.map((e=>e+"-"+o)),t&&(r=r.concat(r.map(Ci)))),r}(s,f,m,C));const A=[s,...v],_=await Si(t,I),S=[];let G=(null==(i=r.flip)?void 0:i.overflows)||[];if(u&&S.push(_[h]),d){const e=function(e,t,n){void 0===n&&(n=!1);const i=fi(e),o=yi(e),r=hi(o);let a="x"===o?i===(n?"end":"start")?"right":"left":"start"===i?"bottom":"top";return t.reference[r]>t.floating[r]&&(a=vi(a)),[a,vi(a)]}(o,a,C);S.push(_[e[0]],_[e[1]])}if(G=[...G,{placement:o,overflows:S}],!S.every((e=>e<=0))){var Q,E;const e=((null==(Q=r.flip)?void 0:Q.index)||0)+1,t=A[e];if(t)return{data:{index:e,overflows:G},reset:{placement:t}};let n=null==(E=G.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:E.placement;if(!n)switch(p){case"bestFit":{var F;const e=null==(F=G.filter((e=>{if(B){const t=bi(e.placement);return t===b||"y"===t}return!0})).map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:F[0];e&&(n=e);break}case"initialPlacement":n=s}if(o!==n)return{reset:{placement:n}}}return{}}}},fo=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,i;const{placement:o,rects:r,platform:a,elements:s}=t,{apply:c=()=>{},...l}=pi(e,t),u=await Si(t,l),d=mi(o),g=fi(o),p="y"===bi(o),{width:m,height:f}=r.floating;let I,h;"top"===d||"bottom"===d?(I=d,h=g===(await(null==a.isRTL?void 0:a.isRTL(s.floating))?"start":"end")?"left":"right"):(h=d,I="end"===g?"top":"bottom");const b=f-u.top-u.bottom,y=m-u.left-u.right,C=ri(f-u[I],b),v=ri(m-u[h],y),B=!t.middlewareData.shift;let A=C,_=v;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(_=y),null!=(i=t.middlewareData.shift)&&i.enabled.y&&(A=b),B&&!g){const e=ai(u.left,0),t=ai(u.right,0),n=ai(u.top,0),i=ai(u.bottom,0);p?_=m-2*(0!==e||0!==t?e+t:ai(u.left,u.right)):A=f-2*(0!==n||0!==i?n+i:ai(u.top,u.bottom))}await c({...t,availableWidth:_,availableHeight:A});const S=await a.getDimensions(s.floating);return m!==S.width||f!==S.height?{reset:{rects:!0}}:{}}}},Io=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:i="referenceHidden",...o}=pi(e,t);switch(i){case"referenceHidden":{const e=Gi(await Si(t,{...o,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Qi(e)}}}case"escaped":{const e=Gi(await Si(t,{...o,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Qi(e)}}}default:return{}}}}},ho=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:i,placement:o,rects:r,platform:a,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=pi(e,t)||{};if(null==l)return{};const d=Bi(u),g={x:n,y:i},p=yi(o),m=hi(p),f=await a.getDimensions(l),I="y"===p,h=I?"top":"left",b=I?"bottom":"right",y=I?"clientHeight":"clientWidth",C=r.reference[m]+r.reference[p]-g[p]-r.floating[m],v=g[p]-r.reference[p],B=await(null==a.getOffsetParent?void 0:a.getOffsetParent(l));let A=B?B[y]:0;(!A||!(await(null==a.isElement?void 0:a.isElement(B))))&&(A=s.floating[y]||r.floating[m]);const _=C/2-v/2,S=A/2-f[m]/2-1,G=ri(d[h],S),Q=ri(d[b],S),E=G,F=A-f[m]-Q,w=A/2-f[m]/2+_,T=gi(E,w,F),x=!c.arrow&&null!=fi(o)&&w!==T&&r.reference[m]/2-(w<E?G:Q)-f[m]/2<0,k=x?w<E?w-E:w-F:0;return{[p]:g[p]+k,data:{[p]:T,centerOffset:w-T-k,...x&&{alignmentOffset:k}},reset:x}}}),bo=function(e){return void 0===e&&(e={}),{options:e,fn(t){const{x:n,y:i,placement:o,rects:r,middlewareData:a}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=pi(e,t),u={x:n,y:i},d=bi(o),g=Ii(d);let p=u[g],m=u[d];const f=pi(s,t),I="number"==typeof f?{mainAxis:f,crossAxis:0}:{mainAxis:0,crossAxis:0,...f};if(c){const e="y"===g?"height":"width",t=r.reference[g]-r.floating[e]+I.mainAxis,n=r.reference[g]+r.reference[e]-I.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){var h,b;const e="y"===g?"width":"height",t=["top","left"].includes(mi(o)),n=r.reference[d]-r.floating[e]+(t&&(null==(h=a.offset)?void 0:h[d])||0)+(t?0:I.crossAxis),i=r.reference[d]+r.reference[e]+(t?0:(null==(b=a.offset)?void 0:b[d])||0)-(t?I.crossAxis:0);m<n?m=n:m>i&&(m=i)}return{[g]:p,[d]:m}}}},yo=(e,t,n)=>{const i=new Map,o={platform:lo,...n},r={...o.platform,_c:i};return(async(e,t,n)=>{const{placement:i="bottom",strategy:o="absolute",middleware:r=[],platform:a}=n,s=r.filter(Boolean),c=await(null==a.isRTL?void 0:a.isRTL(t));let l=await a.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:d}=_i(l,i,c),g=i,p={},m=0;for(let f=0;f<s.length;f++){const{name:n,fn:r}=s[f],{x:I,y:h,data:b,reset:y}=await r({x:u,y:d,initialPlacement:i,placement:g,strategy:o,middlewareData:p,rects:l,platform:a,elements:{reference:e,floating:t}});u=I??u,d=h??d,p={...p,[n]:{...p[n],...b}},y&&m<=50&&(m++,"object"==typeof y&&(y.placement&&(g=y.placement),y.rects&&(l=!0===y.rects?await a.getElementRects({reference:e,floating:t,strategy:o}):y.rects),({x:u,y:d}=_i(l,g,c))),f=-1)}return{x:u,y:d,placement:g,strategy:o,middlewareData:p}})(e,t,{...o,platform:r})};var Co=typeof document<"u"?i.useLayoutEffect:i.useEffect;function vo(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;let n,i,o;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(i=n;0!=i--;)if(!vo(e[i],t[i]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(i=n;0!=i--;)if(!{}.hasOwnProperty.call(t,o[i]))return!1;for(i=n;0!=i--;){const n=o[i];if(!("_owner"===n&&e.$$typeof||vo(e[n],t[n])))return!1}return!0}return e!=e&&t!=t}function Bo(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ao(e,t){const n=Bo(e);return Math.round(t*n)/n}function _o(e){const t=i.useRef(e);return Co((()=>{t.current=e})),t}const So=e=>({name:"arrow",options:e,fn(t){const{element:n,padding:i}="function"==typeof e?e(t):e;return n&&function(e){return{}.hasOwnProperty.call(e,"current")}(n)?null!=n.current?ho({element:n.current,padding:i}).fn(t):{}:n?ho({element:n,padding:i}).fn(t):{}}}),Go=(e,t)=>({...go(e),options:[e,t]}),Qo=(e,t)=>({...po(e),options:[e,t]}),Eo=(e,t)=>({...bo(e),options:[e,t]}),Fo=(e,t)=>({...mo(e),options:[e,t]}),wo=(e,t)=>({...fo(e),options:[e,t]}),To=(e,t)=>({...Io(e),options:[e,t]}),xo=(e,t)=>({...So(e),options:[e,t]});var ko=i.forwardRef(((e,t)=>{const{children:n,width:i=10,height:o=5,...r}=e;return d.jsx(C.svg,{...r,ref:t,width:i,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:d.jsx("polygon",{points:"0,0 30,0 15,10"})})}));ko.displayName="Arrow";var No=ko;var Oo="Popper",[Zo,Uo]=_(Oo),[Ro,Xo]=Zo(Oo),Wo=e=>{const{__scopePopper:t,children:n}=e,[o,r]=i.useState(null);return d.jsx(Ro,{scope:t,anchor:o,onAnchorChange:r,children:n})};Wo.displayName=Oo;var Vo="PopperAnchor",Po=i.forwardRef(((e,t)=>{const{__scopePopper:n,virtualRef:o,...r}=e,a=Xo(Vo,n),s=i.useRef(null),c=m(t,s);return i.useEffect((()=>{a.onAnchorChange((null==o?void 0:o.current)||s.current)})),o?null:d.jsx(C.div,{...r,ref:c})}));Po.displayName=Vo;var Do="PopperContent",[Ho,Lo]=Zo(Do),Yo=i.forwardRef(((e,t)=>{var n,o,a,s,c,l;const{__scopePopper:u,side:g="bottom",sideOffset:p=0,align:f="center",alignOffset:I=0,arrowPadding:h=0,avoidCollisions:b=!0,collisionBoundary:y=[],collisionPadding:B=0,sticky:A="partial",hideWhenDetached:_=!1,updatePositionStrategy:S="optimized",onPlaced:Q,...E}=e,F=Xo(Do,u),[w,T]=i.useState(null),x=m(t,(e=>T(e))),[k,N]=i.useState(null),O=function(e){const[t,n]=i.useState(void 0);return v((()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver((t=>{if(!Array.isArray(t)||!t.length)return;const i=t[0];let o,r;if("borderBoxSize"in i){const e=i.borderBoxSize,t=Array.isArray(e)?e[0]:e;o=t.inlineSize,r=t.blockSize}else o=e.offsetWidth,r=e.offsetHeight;n({width:o,height:r})}));return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)}),[e]),t}(k),Z=(null==O?void 0:O.width)??0,U=(null==O?void 0:O.height)??0,R=g+("center"!==f?"-"+f:""),X="number"==typeof B?B:{top:0,right:0,bottom:0,left:0,...B},W=Array.isArray(y)?y:[y],V=W.length>0,P={padding:X,boundary:W.filter(zo),altBoundary:V},{refs:D,floatingStyles:H,placement:L,isPositioned:Y,middlewareData:M}=function(e){void 0===e&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:a,elements:{reference:s,floating:c}={},transform:l=!0,whileElementsMounted:u,open:d}=e,[g,p]=i.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[m,f]=i.useState(o);vo(m,o)||f(o);const[I,h]=i.useState(null),[b,y]=i.useState(null),C=i.useCallback((e=>{e!==_.current&&(_.current=e,h(e))}),[]),v=i.useCallback((e=>{e!==S.current&&(S.current=e,y(e))}),[]),B=s||I,A=c||b,_=i.useRef(null),S=i.useRef(null),G=i.useRef(g),Q=null!=u,E=_o(u),F=_o(a),w=_o(d),T=i.useCallback((()=>{if(!_.current||!S.current)return;const e={placement:t,strategy:n,middleware:m};F.current&&(e.platform=F.current),yo(_.current,S.current,e).then((e=>{const t={...e,isPositioned:!1!==w.current};x.current&&!vo(G.current,t)&&(G.current=t,r.flushSync((()=>{p(t)})))}))}),[m,t,n,F,w]);Co((()=>{!1===d&&G.current.isPositioned&&(G.current.isPositioned=!1,p((e=>({...e,isPositioned:!1}))))}),[d]);const x=i.useRef(!1);Co((()=>(x.current=!0,()=>{x.current=!1})),[]),Co((()=>{if(B&&(_.current=B),A&&(S.current=A),B&&A){if(E.current)return E.current(B,A,T);T()}}),[B,A,T,E,Q]);const k=i.useMemo((()=>({reference:_,floating:S,setReference:C,setFloating:v})),[C,v]),N=i.useMemo((()=>({reference:B,floating:A})),[B,A]),O=i.useMemo((()=>{const e={position:n,left:0,top:0};if(!N.floating)return e;const t=Ao(N.floating,g.x),i=Ao(N.floating,g.y);return l?{...e,transform:"translate("+t+"px, "+i+"px)",...Bo(N.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:i}}),[n,l,N.floating,g.x,g.y]);return i.useMemo((()=>({...g,update:T,refs:k,elements:N,floatingStyles:O})),[g,T,k,N,O])}({strategy:"fixed",placement:R,whileElementsMounted:(...e)=>uo(...e,{animationFrame:"always"===S}),elements:{reference:F.anchor},middleware:[Go({mainAxis:p+U,alignmentAxis:I}),b&&Qo({mainAxis:!0,crossAxis:!1,limiter:"partial"===A?Eo():void 0,...P}),b&&Fo({...P}),wo({...P,apply:({elements:e,rects:t,availableWidth:n,availableHeight:i})=>{const{width:o,height:r}=t.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${n}px`),a.setProperty("--radix-popper-available-height",`${i}px`),a.setProperty("--radix-popper-anchor-width",`${o}px`),a.setProperty("--radix-popper-anchor-height",`${r}px`)}}),k&&xo({element:k,padding:h}),Ko({arrowWidth:Z,arrowHeight:U}),_&&To({strategy:"referenceHidden",...P})]}),[J,j]=qo(L),z=G(Q);v((()=>{Y&&(null==z||z())}),[Y,z]);const K=null==(n=M.arrow)?void 0:n.x,q=null==(o=M.arrow)?void 0:o.y,$=0!==(null==(a=M.arrow)?void 0:a.centerOffset),[ee,te]=i.useState();return v((()=>{w&&te(window.getComputedStyle(w).zIndex)}),[w]),d.jsx("div",{ref:D.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:Y?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ee,"--radix-popper-transform-origin":[null==(s=M.transformOrigin)?void 0:s.x,null==(c=M.transformOrigin)?void 0:c.y].join(" "),...(null==(l=M.hide)?void 0:l.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:d.jsx(Ho,{scope:u,placedSide:J,onArrowChange:N,arrowX:K,arrowY:q,shouldHideArrow:$,children:d.jsx(C.div,{"data-side":J,"data-align":j,...E,ref:x,style:{...E.style,animation:Y?void 0:"none"}})})})}));Yo.displayName=Do;var Mo="PopperArrow",Jo={top:"bottom",right:"left",bottom:"top",left:"right"},jo=i.forwardRef((function(e,t){const{__scopePopper:n,...i}=e,o=Lo(Mo,n),r=Jo[o.placedSide];return d.jsx("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[r]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[o.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[o.placedSide],visibility:o.shouldHideArrow?"hidden":void 0},children:d.jsx(No,{...i,ref:t,style:{...i.style,display:"block"}})})}));function zo(e){return null!==e}jo.displayName=Mo;var Ko=e=>({name:"transformOrigin",options:e,fn(t){var n,i,o;const{placement:r,rects:a,middlewareData:s}=t,c=0!==(null==(n=s.arrow)?void 0:n.centerOffset),l=c?0:e.arrowWidth,u=c?0:e.arrowHeight,[d,g]=qo(r),p={start:"0%",center:"50%",end:"100%"}[g],m=((null==(i=s.arrow)?void 0:i.x)??0)+l/2,f=((null==(o=s.arrow)?void 0:o.y)??0)+u/2;let I="",h="";return"bottom"===d?(I=c?p:`${m}px`,h=-u+"px"):"top"===d?(I=c?p:`${m}px`,h=`${a.floating.height+u}px`):"right"===d?(I=-u+"px",h=c?p:`${f}px`):"left"===d&&(I=`${a.floating.width+u}px`,h=c?p:`${f}px`),{data:{x:I,y:h}}}});function qo(e){const[t,n="center"]=e.split("-");return[t,n]}var $o=Wo,er=Po,tr=Yo,nr=jo,ir=i.forwardRef(((e,t)=>{var n;const{container:o,...r}=e,[s,c]=i.useState(!1);v((()=>c(!0)),[]);const l=o||s&&(null==(n=null==globalThis?void 0:globalThis.document)?void 0:n.body);return l?a().createPortal(d.jsx(C.div,{...r,ref:t}),l):null}));function or({prop:e,defaultProp:t,onChange:n=()=>{}}){const[o,r]=function({defaultProp:e,onChange:t}){const n=i.useState(e),[o]=n,r=i.useRef(o),a=G(t);return i.useEffect((()=>{r.current!==o&&(a(o),r.current=o)}),[o,r,a]),n}({defaultProp:t,onChange:n}),a=void 0!==e,s=a?e:o,c=G(n);return[s,i.useCallback((t=>{if(a){const n="function"==typeof t?t(e):t;n!==e&&c(n)}else r(t)}),[a,e,r,c])]}ir.displayName="Portal";var rr=new WeakMap,ar=new WeakMap,sr={},cr=0,lr=function(e){return e&&(e.host||lr(e.parentNode))},ur=function(e,t,n,i){var o=function(e,t){return t.map((function(t){if(e.contains(t))return t;var n=lr(t);return n&&e.contains(n)?n:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)})).filter((function(e){return!!e}))}(t,Array.isArray(e)?e:[e]);sr[n]||(sr[n]=new WeakMap);var r=sr[n],a=[],s=new Set,c=new Set(o),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};o.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,(function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(i),o=null!==t&&"false"!==t,c=(rr.get(e)||0)+1,l=(r.get(e)||0)+1;rr.set(e,c),r.set(e,l),a.push(e),1===c&&o&&ar.set(e,!0),1===l&&e.setAttribute(n,"true"),o||e.setAttribute(i,"true")}catch(d){console.error("aria-hidden: cannot operate on ",e,d)}}))};return u(t),s.clear(),cr++,function(){a.forEach((function(e){var t=rr.get(e)-1,o=r.get(e)-1;rr.set(e,t),r.set(e,o),t||(ar.has(e)||e.removeAttribute(i),ar.delete(e)),o||e.removeAttribute(n)})),--cr||(rr=new WeakMap,rr=new WeakMap,ar=new WeakMap,sr={})}},dr=function(e,t,n){void 0===n&&(n="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),o=function(e){return typeof document>"u"?null:(Array.isArray(e)?e[0]:e).ownerDocument.body}(e);return o?(i.push.apply(i,Array.from(o.querySelectorAll("[aria-live]"))),ur(i,o,n,"aria-hidden")):function(){return null}},gr=function(){return gr=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},gr.apply(this,arguments)};function pr(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]])}return n}var mr="right-scroll-bar-position",fr="width-before-scroll-bar";function Ir(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var hr=typeof window<"u"?i.useLayoutEffect:i.useEffect,br=new WeakMap;function yr(e,t){var n=function(e,t){var n=(0,i.useState)((function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}}))[0];return n.callback=t,n.facade}(null,(function(t){return e.forEach((function(e){return Ir(e,t)}))}));return hr((function(){var t=br.get(n);if(t){var i=new Set(t),o=new Set(e),r=n.current;i.forEach((function(e){o.has(e)||Ir(e,null)})),o.forEach((function(e){i.has(e)||Ir(e,r)}))}br.set(n,e)}),[e]),n}function Cr(e){return e}var vr=function(e){var t=e.sideCar,n=pr(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=t.read();if(!o)throw new Error("Sidecar medium not found");return i.createElement(o,gr({},n))};vr.isSideCarExport=!0;var Br=function(e){void 0===e&&(e={});var t=function(e,t){void 0===t&&(t=Cr);var n=[],i=!1;return{read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var o=t(e,i);return n.push(o),function(){n=n.filter((function(e){return e!==o}))}},assignSyncMedium:function(e){for(i=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){i=!0;var t=[];if(n.length){var o=n;n=[],o.forEach(e),t=n}var r=function(){var n=t;t=[],n.forEach(e)},a=function(){return Promise.resolve().then(r)};a(),n={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),n}}}}}(null);return t.options=gr({async:!0,ssr:!1},e),t}(),Ar=function(){},_r=i.forwardRef((function(e,t){var n=i.useRef(null),o=i.useState({onScrollCapture:Ar,onWheelCapture:Ar,onTouchMoveCapture:Ar}),r=o[0],a=o[1],s=e.forwardProps,c=e.children,l=e.className,u=e.removeScrollBar,d=e.enabled,g=e.shards,p=e.sideCar,m=e.noIsolation,f=e.inert,I=e.allowPinchZoom,h=e.as,b=void 0===h?"div":h,y=e.gapMode,C=pr(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),v=p,B=yr([n,t]),A=gr(gr({},C),r);return i.createElement(i.Fragment,null,d&&i.createElement(v,{sideCar:Br,removeScrollBar:u,shards:g,noIsolation:m,inert:f,setCallbacks:a,allowPinchZoom:!!I,lockRef:n,gapMode:y}),s?i.cloneElement(i.Children.only(c),gr(gr({},A),{ref:B})):i.createElement(b,gr({},A,{className:l,ref:B}),c))}));_r.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},_r.classNames={fullWidth:fr,zeroRight:mr};function Sr(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=n.nc;return t&&e.setAttribute("nonce",t),e}var Gr=function(){var e=0,t=null;return{add:function(n){0==e&&(t=Sr())&&(function(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}(t,n),function(e){(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}(t)),e++},remove:function(){! --e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Qr=function(){var e=function(){var e=Gr();return function(t,n){i.useEffect((function(){return e.add(t),function(){e.remove()}}),[t&&n])}}();return function(t){var n=t.styles,i=t.dynamic;return e(n,i),null}},Er={left:0,top:0,right:0,gap:0},Fr=function(e){return parseInt(e||"",10)||0},wr=function(e){if(void 0===e&&(e="margin"),typeof window>"u")return Er;var t=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],i=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[Fr(n),Fr(i),Fr(o)]}(e),n=document.documentElement.clientWidth,i=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,i-n+t[2]-t[0])}},Tr=Qr(),xr="data-scroll-locked",kr=function(e,t,n,i){var o=e.left,r=e.top,a=e.right,s=e.gap;return void 0===n&&(n="margin"),"\n  .".concat("with-scroll-bars-hidden"," {\n   overflow: hidden ").concat(i,";\n   padding-right: ").concat(s,"px ").concat(i,";\n  }\n  body[").concat(xr,"] {\n    overflow: hidden ").concat(i,";\n    overscroll-behavior: contain;\n    ").concat([t&&"position: relative ".concat(i,";"),"margin"===n&&"\n    padding-left: ".concat(o,"px;\n    padding-top: ").concat(r,"px;\n    padding-right: ").concat(a,"px;\n    margin-left:0;\n    margin-top:0;\n    margin-right: ").concat(s,"px ").concat(i,";\n    "),"padding"===n&&"padding-right: ".concat(s,"px ").concat(i,";")].filter(Boolean).join(""),"\n  }\n  \n  .").concat(mr," {\n    right: ").concat(s,"px ").concat(i,";\n  }\n  \n  .").concat(fr," {\n    margin-right: ").concat(s,"px ").concat(i,";\n  }\n  \n  .").concat(mr," .").concat(mr," {\n    right: 0 ").concat(i,";\n  }\n  \n  .").concat(fr," .").concat(fr," {\n    margin-right: 0 ").concat(i,";\n  }\n  \n  body[").concat(xr,"] {\n    ").concat("--removed-body-scroll-bar-size",": ").concat(s,"px;\n  }\n")},Nr=function(){var e=parseInt(document.body.getAttribute(xr)||"0",10);return isFinite(e)?e:0},Or=function(e){var t=e.noRelative,n=e.noImportant,o=e.gapMode,r=void 0===o?"margin":o;i.useEffect((function(){return document.body.setAttribute(xr,(Nr()+1).toString()),function(){var e=Nr()-1;e<=0?document.body.removeAttribute(xr):document.body.setAttribute(xr,e.toString())}}),[]);var a=i.useMemo((function(){return wr(r)}),[r]);return i.createElement(Tr,{styles:kr(a,!t,r,n?"":"!important")})},Zr=!1;if(typeof window<"u")try{var Ur=Object.defineProperty({},"passive",{get:function(){return Zr=!0,!0}});window.addEventListener("test",Ur,Ur),window.removeEventListener("test",Ur,Ur)}catch{Zr=!1}var Rr=!!Zr&&{passive:!1},Xr=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&!(n.overflowY===n.overflowX&&!function(e){return"TEXTAREA"===e.tagName}(e)&&"visible"===n[t])},Wr=function(e,t){var n=t.ownerDocument,i=t;do{if(typeof ShadowRoot<"u"&&i instanceof ShadowRoot&&(i=i.host),Vr(e,i)){var o=Pr(e,i);if(o[1]>o[2])return!0}i=i.parentNode}while(i&&i!==n.body);return!1},Vr=function(e,t){return"v"===e?function(e){return Xr(e,"overflowY")}(t):function(e){return Xr(e,"overflowX")}(t)},Pr=function(e,t){return"v"===e?function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]}(t):function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]}(t)},Dr=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Hr=function(e){return[e.deltaX,e.deltaY]},Lr=function(e){return e&&"current"in e?e.current:e},Yr=function(e){return"\n  .block-interactivity-".concat(e," {pointer-events: none;}\n  .allow-interactivity-").concat(e," {pointer-events: all;}\n")},Mr=0,Jr=[];function jr(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}const zr=function(e,t){return e.useMedium(t),vr}(Br,(function(e){var t=i.useRef([]),n=i.useRef([0,0]),o=i.useRef(),r=i.useState(Mr++)[0],a=i.useState(Qr)[0],s=i.useRef(e);i.useEffect((function(){s.current=e}),[e]),i.useEffect((function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var t=function(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)(i||!(o in t))&&(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}([e.lockRef.current],(e.shards||[]).map(Lr),!0).filter(Boolean);return t.forEach((function(e){return e.classList.add("allow-interactivity-".concat(r))})),function(){document.body.classList.remove("block-interactivity-".concat(r)),t.forEach((function(e){return e.classList.remove("allow-interactivity-".concat(r))}))}}}),[e.inert,e.lockRef.current,e.shards]);var c=i.useCallback((function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!s.current.allowPinchZoom;var i,r=Dr(e),a=n.current,c="deltaX"in e?e.deltaX:a[0]-r[0],l="deltaY"in e?e.deltaY:a[1]-r[1],u=e.target,d=Math.abs(c)>Math.abs(l)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var g=Wr(d,u);if(!g)return!0;if(g?i=d:(i="v"===d?"h":"v",g=Wr(d,u)),!g)return!1;if(!o.current&&"changedTouches"in e&&(c||l)&&(o.current=i),!i)return!0;var p=o.current||i;return function(e,t,n,i,o){var r=function(e,t){return"h"===e&&"rtl"===t?-1:1}(e,window.getComputedStyle(t).direction),a=r*i,s=n.target,c=t.contains(s),l=!1,u=a>0,d=0,g=0;do{var p=Pr(e,s),m=p[0],f=p[1]-p[2]-r*m;(m||f)&&Vr(e,s)&&(d+=f,g+=m),s=s instanceof ShadowRoot?s.host:s.parentNode}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(Math.abs(d)<1||!o)||!u&&(Math.abs(g)<1||!o))&&(l=!0),l}(p,t,e,"h"===p?c:l,!0)}),[]),l=i.useCallback((function(e){var n=e;if(Jr.length&&Jr[Jr.length-1]===a){var i="deltaY"in n?Hr(n):Dr(n),o=t.current.filter((function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&function(e,t){return e[0]===t[0]&&e[1]===t[1]}(e.delta,i)}))[0];if(o&&o.should)return void(n.cancelable&&n.preventDefault());if(!o){var r=(s.current.shards||[]).map(Lr).filter(Boolean).filter((function(e){return e.contains(n.target)}));(r.length>0?c(n,r[0]):!s.current.noIsolation)&&n.cancelable&&n.preventDefault()}}}),[]),u=i.useCallback((function(e,n,i,o){var r={name:e,delta:n,target:i,should:o,shadowParent:jr(i)};t.current.push(r),setTimeout((function(){t.current=t.current.filter((function(e){return e!==r}))}),1)}),[]),d=i.useCallback((function(e){n.current=Dr(e),o.current=void 0}),[]),g=i.useCallback((function(t){u(t.type,Hr(t),t.target,c(t,e.lockRef.current))}),[]),p=i.useCallback((function(t){u(t.type,Dr(t),t.target,c(t,e.lockRef.current))}),[]);i.useEffect((function(){return Jr.push(a),e.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:p}),document.addEventListener("wheel",l,Rr),document.addEventListener("touchmove",l,Rr),document.addEventListener("touchstart",d,Rr),function(){Jr=Jr.filter((function(e){return e!==a})),document.removeEventListener("wheel",l,Rr),document.removeEventListener("touchmove",l,Rr),document.removeEventListener("touchstart",d,Rr)}}),[]);var m=e.removeScrollBar,f=e.inert;return i.createElement(i.Fragment,null,f?i.createElement(a,{styles:Yr(r)}):null,m?i.createElement(Or,{gapMode:e.gapMode}):null)}));var Kr=i.forwardRef((function(e,t){return i.createElement(_r,gr({},e,{ref:t,sideCar:zr}))}));Kr.classNames=_r.classNames;var qr="Popover",[$r,ea]=_(qr,[Uo]),ta=Uo(),[na,ia]=$r(qr),oa=e=>{const{__scopePopover:t,children:n,open:o,defaultOpen:r,onOpenChange:a,modal:s=!1}=e,c=ta(t),l=i.useRef(null),[u,g]=i.useState(!1),[p=!1,m]=or({prop:o,defaultProp:r,onChange:a});return d.jsx($o,{...c,children:d.jsx(na,{scope:t,contentId:ii(),triggerRef:l,open:p,onOpenChange:m,onOpenToggle:i.useCallback((()=>m((e=>!e))),[m]),hasCustomAnchor:u,onCustomAnchorAdd:i.useCallback((()=>g(!0)),[]),onCustomAnchorRemove:i.useCallback((()=>g(!1)),[]),modal:s,children:n})})};oa.displayName=qr;var ra="PopoverAnchor",aa=i.forwardRef(((e,t)=>{const{__scopePopover:n,...o}=e,r=ia(ra,n),a=ta(n),{onCustomAnchorAdd:s,onCustomAnchorRemove:c}=r;return i.useEffect((()=>(s(),()=>c())),[s,c]),d.jsx(er,{...a,...o,ref:t})}));aa.displayName=ra;var sa="PopoverTrigger",ca=i.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,o=ia(sa,n),r=ta(n),a=m(t,o.triggerRef),s=d.jsx(C.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":va(o.open),...i,ref:a,onClick:E(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?s:d.jsx(er,{asChild:!0,...r,children:s})}));ca.displayName=sa;var la="PopoverPortal",[ua,da]=$r(la,{forceMount:void 0}),ga=e=>{const{__scopePopover:t,forceMount:n,children:i,container:o}=e,r=ia(la,t);return d.jsx(ua,{scope:t,forceMount:n,children:d.jsx(B,{present:n||r.open,children:d.jsx(ir,{asChild:!0,container:o,children:i})})})};ga.displayName=la;var pa="PopoverContent",ma=i.forwardRef(((e,t)=>{const n=da(pa,e.__scopePopover),{forceMount:i=n.forceMount,...o}=e,r=ia(pa,e.__scopePopover);return d.jsx(B,{present:i||r.open,children:r.modal?d.jsx(fa,{...o,ref:t}):d.jsx(Ia,{...o,ref:t})})}));ma.displayName=pa;var fa=i.forwardRef(((e,t)=>{const n=ia(pa,e.__scopePopover),o=i.useRef(null),r=m(t,o),a=i.useRef(!1);return i.useEffect((()=>{const e=o.current;if(e)return dr(e)}),[]),d.jsx(Kr,{as:f,allowPinchZoom:!0,children:d.jsx(ha,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:E(e.onCloseAutoFocus,(e=>{var t;e.preventDefault(),a.current||null==(t=n.triggerRef.current)||t.focus()})),onPointerDownOutside:E(e.onPointerDownOutside,(e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,i=2===t.button||n;a.current=i}),{checkForDefaultPrevented:!1}),onFocusOutside:E(e.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1})})})})),Ia=i.forwardRef(((e,t)=>{const n=ia(pa,e.__scopePopover),o=i.useRef(!1),r=i.useRef(!1);return d.jsx(ha,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var i,a;null==(i=e.onCloseAutoFocus)||i.call(e,t),t.defaultPrevented||(o.current||null==(a=n.triggerRef.current)||a.focus(),t.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:t=>{var i,a;null==(i=e.onInteractOutside)||i.call(e,t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(r.current=!0));const s=t.target;(null==(a=n.triggerRef.current)?void 0:a.contains(s))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&r.current&&t.preventDefault()}})})),ha=i.forwardRef(((e,t)=>{const{__scopePopover:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:a,disableOutsidePointerEvents:s,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:g,...p}=e,m=ia(pa,n),f=ta(n);return i.useEffect((()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??Hn()),document.body.insertAdjacentElement("beforeend",e[1]??Hn()),Dn++,()=>{1===Dn&&document.querySelectorAll("[data-radix-focus-guard]").forEach((e=>e.remove())),Dn--}}),[]),d.jsx(Jn,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:a,children:d.jsx(Xn,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:g,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>m.onOpenChange(!1),children:d.jsx(tr,{"data-state":va(m.open),role:"dialog",id:m.contentId,...f,...p,ref:t,style:{...p.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})})),ba="PopoverClose",ya=i.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,o=ia(ba,n);return d.jsx(C.button,{type:"button",...i,ref:t,onClick:E(e.onClick,(()=>o.onOpenChange(!1)))})}));ya.displayName=ba;var Ca=i.forwardRef(((e,t)=>{const{__scopePopover:n,...i}=e,o=ta(n);return d.jsx(nr,{...o,...i,ref:t})}));function va(e){return e?"open":"closed"}Ca.displayName="PopoverArrow";var Ba=ga,Aa=ma;const _a=oa,Sa=ca,Ga=i.forwardRef((({className:e,align:t="center",sideOffset:n=4,...i},o)=>d.jsx(Ba,{children:d.jsx(Aa,{ref:o,align:t,sideOffset:n,className:st("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...i})})));Ga.displayName=Aa.displayName;const Qa={categories:[{id:"people",emojis:["grinning","smiley","smile","grin","laughing","sweat_smile","rolling_on_the_floor_laughing","joy","slightly_smiling_face","upside_down_face","melting_face","wink","blush","innocent","smiling_face_with_3_hearts","heart_eyes","star-struck","kissing_heart","kissing","relaxed","kissing_closed_eyes","kissing_smiling_eyes","smiling_face_with_tear","yum","stuck_out_tongue","stuck_out_tongue_winking_eye","zany_face","stuck_out_tongue_closed_eyes","money_mouth_face","hugging_face","face_with_hand_over_mouth","face_with_open_eyes_and_hand_over_mouth","face_with_peeking_eye","shushing_face","thinking_face","saluting_face","zipper_mouth_face","face_with_raised_eyebrow","neutral_face","expressionless","no_mouth","dotted_line_face","face_in_clouds","smirk","unamused","face_with_rolling_eyes","grimacing","face_exhaling","lying_face","shaking_face","relieved","pensive","sleepy","drooling_face","sleeping","mask","face_with_thermometer","face_with_head_bandage","nauseated_face","face_vomiting","sneezing_face","hot_face","cold_face","woozy_face","dizzy_face","face_with_spiral_eyes","exploding_head","face_with_cowboy_hat","partying_face","disguised_face","sunglasses","nerd_face","face_with_monocle","confused","face_with_diagonal_mouth","worried","slightly_frowning_face","white_frowning_face","open_mouth","hushed","astonished","flushed","pleading_face","face_holding_back_tears","frowning","anguished","fearful","cold_sweat","disappointed_relieved","cry","sob","scream","confounded","persevere","disappointed","sweat","weary","tired_face","yawning_face","triumph","rage","angry","face_with_symbols_on_mouth","smiling_imp","imp","skull","skull_and_crossbones","hankey","clown_face","japanese_ogre","japanese_goblin","ghost","alien","space_invader","wave","raised_back_of_hand","raised_hand_with_fingers_splayed","hand","spock-hand","rightwards_hand","leftwards_hand","palm_down_hand","palm_up_hand","leftwards_pushing_hand","rightwards_pushing_hand","ok_hand","pinched_fingers","pinching_hand","v","crossed_fingers","hand_with_index_finger_and_thumb_crossed","i_love_you_hand_sign","the_horns","call_me_hand","point_left","point_right","point_up_2","middle_finger","point_down","point_up","index_pointing_at_the_viewer","+1","-1","fist","facepunch","left-facing_fist","right-facing_fist","clap","raised_hands","heart_hands","open_hands","palms_up_together","handshake","pray","writing_hand","nail_care","selfie","muscle","mechanical_arm","mechanical_leg","leg","foot","ear","ear_with_hearing_aid","nose","brain","anatomical_heart","lungs","tooth","bone","eyes","eye","tongue","lips","biting_lip","baby","child","boy","girl","adult","person_with_blond_hair","man","bearded_person","man_with_beard","woman_with_beard","red_haired_man","curly_haired_man","white_haired_man","bald_man","woman","red_haired_woman","red_haired_person","curly_haired_woman","curly_haired_person","white_haired_woman","white_haired_person","bald_woman","bald_person","blond-haired-woman","blond-haired-man","older_adult","older_man","older_woman","person_frowning","man-frowning","woman-frowning","person_with_pouting_face","man-pouting","woman-pouting","no_good","man-gesturing-no","woman-gesturing-no","ok_woman","man-gesturing-ok","woman-gesturing-ok","information_desk_person","man-tipping-hand","woman-tipping-hand","raising_hand","man-raising-hand","woman-raising-hand","deaf_person","deaf_man","deaf_woman","bow","man-bowing","woman-bowing","face_palm","man-facepalming","woman-facepalming","shrug","man-shrugging","woman-shrugging","health_worker","male-doctor","female-doctor","student","male-student","female-student","teacher","male-teacher","female-teacher","judge","male-judge","female-judge","farmer","male-farmer","female-farmer","cook","male-cook","female-cook","mechanic","male-mechanic","female-mechanic","factory_worker","male-factory-worker","female-factory-worker","office_worker","male-office-worker","female-office-worker","scientist","male-scientist","female-scientist","technologist","male-technologist","female-technologist","singer","male-singer","female-singer","artist","male-artist","female-artist","pilot","male-pilot","female-pilot","astronaut","male-astronaut","female-astronaut","firefighter","male-firefighter","female-firefighter","cop","male-police-officer","female-police-officer","sleuth_or_spy","male-detective","female-detective","guardsman","male-guard","female-guard","ninja","construction_worker","male-construction-worker","female-construction-worker","person_with_crown","prince","princess","man_with_turban","man-wearing-turban","woman-wearing-turban","man_with_gua_pi_mao","person_with_headscarf","person_in_tuxedo","man_in_tuxedo","woman_in_tuxedo","bride_with_veil","man_with_veil","woman_with_veil","pregnant_woman","pregnant_man","pregnant_person","breast-feeding","woman_feeding_baby","man_feeding_baby","person_feeding_baby","angel","santa","mrs_claus","mx_claus","superhero","male_superhero","female_superhero","supervillain","male_supervillain","female_supervillain","mage","male_mage","female_mage","fairy","male_fairy","female_fairy","vampire","male_vampire","female_vampire","merperson","merman","mermaid","elf","male_elf","female_elf","genie","male_genie","female_genie","zombie","male_zombie","female_zombie","troll","massage","man-getting-massage","woman-getting-massage","haircut","man-getting-haircut","woman-getting-haircut","walking","man-walking","woman-walking","standing_person","man_standing","woman_standing","kneeling_person","man_kneeling","woman_kneeling","person_with_probing_cane","man_with_probing_cane","woman_with_probing_cane","person_in_motorized_wheelchair","man_in_motorized_wheelchair","woman_in_motorized_wheelchair","person_in_manual_wheelchair","man_in_manual_wheelchair","woman_in_manual_wheelchair","runner","man-running","woman-running","dancer","man_dancing","man_in_business_suit_levitating","dancers","men-with-bunny-ears-partying","women-with-bunny-ears-partying","person_in_steamy_room","man_in_steamy_room","woman_in_steamy_room","person_climbing","man_climbing","woman_climbing","fencer","horse_racing","skier","snowboarder","golfer","man-golfing","woman-golfing","surfer","man-surfing","woman-surfing","rowboat","man-rowing-boat","woman-rowing-boat","swimmer","man-swimming","woman-swimming","person_with_ball","man-bouncing-ball","woman-bouncing-ball","weight_lifter","man-lifting-weights","woman-lifting-weights","bicyclist","man-biking","woman-biking","mountain_bicyclist","man-mountain-biking","woman-mountain-biking","person_doing_cartwheel","man-cartwheeling","woman-cartwheeling","wrestlers","man-wrestling","woman-wrestling","water_polo","man-playing-water-polo","woman-playing-water-polo","handball","man-playing-handball","woman-playing-handball","juggling","man-juggling","woman-juggling","person_in_lotus_position","man_in_lotus_position","woman_in_lotus_position","bath","sleeping_accommodation","people_holding_hands","two_women_holding_hands","man_and_woman_holding_hands","two_men_holding_hands","couplekiss","woman-kiss-man","man-kiss-man","woman-kiss-woman","couple_with_heart","woman-heart-man","man-heart-man","woman-heart-woman","family","man-woman-boy","man-woman-girl","man-woman-girl-boy","man-woman-boy-boy","man-woman-girl-girl","man-man-boy","man-man-girl","man-man-girl-boy","man-man-boy-boy","man-man-girl-girl","woman-woman-boy","woman-woman-girl","woman-woman-girl-boy","woman-woman-boy-boy","woman-woman-girl-girl","man-boy","man-boy-boy","man-girl","man-girl-boy","man-girl-girl","woman-boy","woman-boy-boy","woman-girl","woman-girl-boy","woman-girl-girl","speaking_head_in_silhouette","bust_in_silhouette","busts_in_silhouette","people_hugging","footprints","robot_face","smiley_cat","smile_cat","joy_cat","heart_eyes_cat","smirk_cat","kissing_cat","scream_cat","crying_cat_face","pouting_cat","see_no_evil","hear_no_evil","speak_no_evil","love_letter","cupid","gift_heart","sparkling_heart","heartpulse","heartbeat","revolving_hearts","two_hearts","heart_decoration","heavy_heart_exclamation_mark_ornament","broken_heart","heart_on_fire","mending_heart","heart","pink_heart","orange_heart","yellow_heart","green_heart","blue_heart","light_blue_heart","purple_heart","brown_heart","black_heart","grey_heart","white_heart","kiss","100","anger","boom","dizzy","sweat_drops","dash","hole","speech_balloon","eye-in-speech-bubble","left_speech_bubble","right_anger_bubble","thought_balloon","zzz"]},{id:"nature",emojis:["monkey_face","monkey","gorilla","orangutan","dog","dog2","guide_dog","service_dog","poodle","wolf","fox_face","raccoon","cat","cat2","black_cat","lion_face","tiger","tiger2","leopard","horse","moose","donkey","racehorse","unicorn_face","zebra_face","deer","bison","cow","ox","water_buffalo","cow2","pig","pig2","boar","pig_nose","ram","sheep","goat","dromedary_camel","camel","llama","giraffe_face","elephant","mammoth","rhinoceros","hippopotamus","mouse","mouse2","rat","hamster","rabbit","rabbit2","chipmunk","beaver","hedgehog","bat","bear","polar_bear","koala","panda_face","sloth","otter","skunk","kangaroo","badger","feet","turkey","chicken","rooster","hatching_chick","baby_chick","hatched_chick","bird","penguin","dove_of_peace","eagle","duck","swan","owl","dodo","feather","flamingo","peacock","parrot","wing","black_bird","goose","frog","crocodile","turtle","lizard","snake","dragon_face","dragon","sauropod","t-rex","whale","whale2","dolphin","seal","fish","tropical_fish","blowfish","shark","octopus","shell","coral","jellyfish","snail","butterfly","bug","ant","bee","beetle","ladybug","cricket","cockroach","spider","spider_web","scorpion","mosquito","fly","worm","microbe","bouquet","cherry_blossom","white_flower","lotus","rosette","rose","wilted_flower","hibiscus","sunflower","blossom","tulip","hyacinth","seedling","potted_plant","evergreen_tree","deciduous_tree","palm_tree","cactus","ear_of_rice","herb","shamrock","four_leaf_clover","maple_leaf","fallen_leaf","leaves","empty_nest","nest_with_eggs","mushroom"]},{id:"foods",emojis:["grapes","melon","watermelon","tangerine","lemon","banana","pineapple","mango","apple","green_apple","pear","peach","cherries","strawberry","blueberries","kiwifruit","tomato","olive","coconut","avocado","eggplant","potato","carrot","corn","hot_pepper","bell_pepper","cucumber","leafy_green","broccoli","garlic","onion","peanuts","beans","chestnut","ginger_root","pea_pod","bread","croissant","baguette_bread","flatbread","pretzel","bagel","pancakes","waffle","cheese_wedge","meat_on_bone","poultry_leg","cut_of_meat","bacon","hamburger","fries","pizza","hotdog","sandwich","taco","burrito","tamale","stuffed_flatbread","falafel","egg","fried_egg","shallow_pan_of_food","stew","fondue","bowl_with_spoon","green_salad","popcorn","butter","salt","canned_food","bento","rice_cracker","rice_ball","rice","curry","ramen","spaghetti","sweet_potato","oden","sushi","fried_shrimp","fish_cake","moon_cake","dango","dumpling","fortune_cookie","takeout_box","crab","lobster","shrimp","squid","oyster","icecream","shaved_ice","ice_cream","doughnut","cookie","birthday","cake","cupcake","pie","chocolate_bar","candy","lollipop","custard","honey_pot","baby_bottle","glass_of_milk","coffee","teapot","tea","sake","champagne","wine_glass","cocktail","tropical_drink","beer","beers","clinking_glasses","tumbler_glass","pouring_liquid","cup_with_straw","bubble_tea","beverage_box","mate_drink","ice_cube","chopsticks","knife_fork_plate","fork_and_knife","spoon","hocho","jar","amphora"]},{id:"activity",emojis:["jack_o_lantern","christmas_tree","fireworks","sparkler","firecracker","sparkles","balloon","tada","confetti_ball","tanabata_tree","bamboo","dolls","flags","wind_chime","rice_scene","red_envelope","ribbon","gift","reminder_ribbon","admission_tickets","ticket","medal","trophy","sports_medal","first_place_medal","second_place_medal","third_place_medal","soccer","baseball","softball","basketball","volleyball","football","rugby_football","tennis","flying_disc","bowling","cricket_bat_and_ball","field_hockey_stick_and_ball","ice_hockey_stick_and_puck","lacrosse","table_tennis_paddle_and_ball","badminton_racquet_and_shuttlecock","boxing_glove","martial_arts_uniform","goal_net","golf","ice_skate","fishing_pole_and_fish","diving_mask","running_shirt_with_sash","ski","sled","curling_stone","dart","yo-yo","kite","gun","8ball","crystal_ball","magic_wand","video_game","joystick","slot_machine","game_die","jigsaw","teddy_bear","pinata","mirror_ball","nesting_dolls","spades","hearts","diamonds","clubs","chess_pawn","black_joker","mahjong","flower_playing_cards","performing_arts","frame_with_picture","art","thread","sewing_needle","yarn","knot"]},{id:"places",emojis:["earth_africa","earth_americas","earth_asia","globe_with_meridians","world_map","japan","compass","snow_capped_mountain","mountain","volcano","mount_fuji","camping","beach_with_umbrella","desert","desert_island","national_park","stadium","classical_building","building_construction","bricks","rock","wood","hut","house_buildings","derelict_house_building","house","house_with_garden","office","post_office","european_post_office","hospital","bank","hotel","love_hotel","convenience_store","school","department_store","factory","japanese_castle","european_castle","wedding","tokyo_tower","statue_of_liberty","church","mosque","hindu_temple","synagogue","shinto_shrine","kaaba","fountain","tent","foggy","night_with_stars","cityscape","sunrise_over_mountains","sunrise","city_sunset","city_sunrise","bridge_at_night","hotsprings","carousel_horse","playground_slide","ferris_wheel","roller_coaster","barber","circus_tent","steam_locomotive","railway_car","bullettrain_side","bullettrain_front","train2","metro","light_rail","station","tram","monorail","mountain_railway","train","bus","oncoming_bus","trolleybus","minibus","ambulance","fire_engine","police_car","oncoming_police_car","taxi","oncoming_taxi","car","oncoming_automobile","blue_car","pickup_truck","truck","articulated_lorry","tractor","racing_car","racing_motorcycle","motor_scooter","manual_wheelchair","motorized_wheelchair","auto_rickshaw","bike","scooter","skateboard","roller_skate","busstop","motorway","railway_track","oil_drum","fuelpump","wheel","rotating_light","traffic_light","vertical_traffic_light","octagonal_sign","construction","anchor","ring_buoy","boat","canoe","speedboat","passenger_ship","ferry","motor_boat","ship","airplane","small_airplane","airplane_departure","airplane_arriving","parachute","seat","helicopter","suspension_railway","mountain_cableway","aerial_tramway","satellite","rocket","flying_saucer","bellhop_bell","luggage","hourglass","hourglass_flowing_sand","watch","alarm_clock","stopwatch","timer_clock","mantelpiece_clock","clock12","clock1230","clock1","clock130","clock2","clock230","clock3","clock330","clock4","clock430","clock5","clock530","clock6","clock630","clock7","clock730","clock8","clock830","clock9","clock930","clock10","clock1030","clock11","clock1130","new_moon","waxing_crescent_moon","first_quarter_moon","moon","full_moon","waning_gibbous_moon","last_quarter_moon","waning_crescent_moon","crescent_moon","new_moon_with_face","first_quarter_moon_with_face","last_quarter_moon_with_face","thermometer","sunny","full_moon_with_face","sun_with_face","ringed_planet","star","star2","stars","milky_way","cloud","partly_sunny","thunder_cloud_and_rain","mostly_sunny","barely_sunny","partly_sunny_rain","rain_cloud","snow_cloud","lightning","tornado","fog","wind_blowing_face","cyclone","rainbow","closed_umbrella","umbrella","umbrella_with_rain_drops","umbrella_on_ground","zap","snowflake","snowman","snowman_without_snow","comet","fire","droplet","ocean"]},{id:"objects",emojis:["eyeglasses","dark_sunglasses","goggles","lab_coat","safety_vest","necktie","shirt","jeans","scarf","gloves","coat","socks","dress","kimono","sari","one-piece_swimsuit","briefs","shorts","bikini","womans_clothes","folding_hand_fan","purse","handbag","pouch","shopping_bags","school_satchel","thong_sandal","mans_shoe","athletic_shoe","hiking_boot","womans_flat_shoe","high_heel","sandal","ballet_shoes","boot","hair_pick","crown","womans_hat","tophat","mortar_board","billed_cap","military_helmet","helmet_with_white_cross","prayer_beads","lipstick","ring","gem","mute","speaker","sound","loud_sound","loudspeaker","mega","postal_horn","bell","no_bell","musical_score","musical_note","notes","studio_microphone","level_slider","control_knobs","microphone","headphones","radio","saxophone","accordion","guitar","musical_keyboard","trumpet","violin","banjo","drum_with_drumsticks","long_drum","maracas","flute","iphone","calling","phone","telephone_receiver","pager","fax","battery","low_battery","electric_plug","computer","desktop_computer","printer","keyboard","three_button_mouse","trackball","minidisc","floppy_disk","cd","dvd","abacus","movie_camera","film_frames","film_projector","clapper","tv","camera","camera_with_flash","video_camera","vhs","mag","mag_right","candle","bulb","flashlight","izakaya_lantern","diya_lamp","notebook_with_decorative_cover","closed_book","book","green_book","blue_book","orange_book","books","notebook","ledger","page_with_curl","scroll","page_facing_up","newspaper","rolled_up_newspaper","bookmark_tabs","bookmark","label","moneybag","coin","yen","dollar","euro","pound","money_with_wings","credit_card","receipt","chart","email","e-mail","incoming_envelope","envelope_with_arrow","outbox_tray","inbox_tray","package","mailbox","mailbox_closed","mailbox_with_mail","mailbox_with_no_mail","postbox","ballot_box_with_ballot","pencil2","black_nib","lower_left_fountain_pen","lower_left_ballpoint_pen","lower_left_paintbrush","lower_left_crayon","memo","briefcase","file_folder","open_file_folder","card_index_dividers","date","calendar","spiral_note_pad","spiral_calendar_pad","card_index","chart_with_upwards_trend","chart_with_downwards_trend","bar_chart","clipboard","pushpin","round_pushpin","paperclip","linked_paperclips","straight_ruler","triangular_ruler","scissors","card_file_box","file_cabinet","wastebasket","lock","unlock","lock_with_ink_pen","closed_lock_with_key","key","old_key","hammer","axe","pick","hammer_and_pick","hammer_and_wrench","dagger_knife","crossed_swords","bomb","boomerang","bow_and_arrow","shield","carpentry_saw","wrench","screwdriver","nut_and_bolt","gear","compression","scales","probing_cane","link","chains","hook","toolbox","magnet","ladder","alembic","test_tube","petri_dish","dna","microscope","telescope","satellite_antenna","syringe","drop_of_blood","pill","adhesive_bandage","crutch","stethoscope","x-ray","door","elevator","mirror","window","bed","couch_and_lamp","chair","toilet","plunger","shower","bathtub","mouse_trap","razor","lotion_bottle","safety_pin","broom","basket","roll_of_paper","bucket","soap","bubbles","toothbrush","sponge","fire_extinguisher","shopping_trolley","smoking","coffin","headstone","funeral_urn","nazar_amulet","hamsa","moyai","placard","identification_card"]},{id:"symbols",emojis:["atm","put_litter_in_its_place","potable_water","wheelchair","mens","womens","restroom","baby_symbol","wc","passport_control","customs","baggage_claim","left_luggage","warning","children_crossing","no_entry","no_entry_sign","no_bicycles","no_smoking","do_not_litter","non-potable_water","no_pedestrians","no_mobile_phones","underage","radioactive_sign","biohazard_sign","arrow_up","arrow_upper_right","arrow_right","arrow_lower_right","arrow_down","arrow_lower_left","arrow_left","arrow_upper_left","arrow_up_down","left_right_arrow","leftwards_arrow_with_hook","arrow_right_hook","arrow_heading_up","arrow_heading_down","arrows_clockwise","arrows_counterclockwise","back","end","on","soon","top","place_of_worship","atom_symbol","om_symbol","star_of_david","wheel_of_dharma","yin_yang","latin_cross","orthodox_cross","star_and_crescent","peace_symbol","menorah_with_nine_branches","six_pointed_star","khanda","aries","taurus","gemini","cancer","leo","virgo","libra","scorpius","sagittarius","capricorn","aquarius","pisces","ophiuchus","twisted_rightwards_arrows","repeat","repeat_one","arrow_forward","fast_forward","black_right_pointing_double_triangle_with_vertical_bar","black_right_pointing_triangle_with_double_vertical_bar","arrow_backward","rewind","black_left_pointing_double_triangle_with_vertical_bar","arrow_up_small","arrow_double_up","arrow_down_small","arrow_double_down","double_vertical_bar","black_square_for_stop","black_circle_for_record","eject","cinema","low_brightness","high_brightness","signal_strength","wireless","vibration_mode","mobile_phone_off","female_sign","male_sign","transgender_symbol","heavy_multiplication_x","heavy_plus_sign","heavy_minus_sign","heavy_division_sign","heavy_equals_sign","infinity","bangbang","interrobang","question","grey_question","grey_exclamation","exclamation","wavy_dash","currency_exchange","heavy_dollar_sign","medical_symbol","recycle","fleur_de_lis","trident","name_badge","beginner","o","white_check_mark","ballot_box_with_check","heavy_check_mark","x","negative_squared_cross_mark","curly_loop","loop","part_alternation_mark","eight_spoked_asterisk","eight_pointed_black_star","sparkle","copyright","registered","tm","hash","keycap_star","zero","one","two","three","four","five","six","seven","eight","nine","keycap_ten","capital_abcd","abcd","1234","symbols","abc","a","ab","b","cl","cool","free","information_source","id","m","new","ng","o2","ok","parking","sos","up","vs","koko","sa","u6708","u6709","u6307","ideograph_advantage","u5272","u7121","u7981","accept","u7533","u5408","u7a7a","congratulations","secret","u55b6","u6e80","red_circle","large_orange_circle","large_yellow_circle","large_green_circle","large_blue_circle","large_purple_circle","large_brown_circle","black_circle","white_circle","large_red_square","large_orange_square","large_yellow_square","large_green_square","large_blue_square","large_purple_square","large_brown_square","black_large_square","white_large_square","black_medium_square","white_medium_square","black_medium_small_square","white_medium_small_square","black_small_square","white_small_square","large_orange_diamond","large_blue_diamond","small_orange_diamond","small_blue_diamond","small_red_triangle","small_red_triangle_down","diamond_shape_with_a_dot_inside","radio_button","white_square_button","black_square_button"]},{id:"flags",emojis:["checkered_flag","cn","crossed_flags","de","es","flag-ac","flag-ad","flag-ae","flag-af","flag-ag","flag-ai","flag-al","flag-am","flag-ao","flag-aq","flag-ar","flag-as","flag-at","flag-au","flag-aw","flag-ax","flag-az","flag-ba","flag-bb","flag-bd","flag-be","flag-bf","flag-bg","flag-bh","flag-bi","flag-bj","flag-bl","flag-bm","flag-bn","flag-bo","flag-bq","flag-br","flag-bs","flag-bt","flag-bv","flag-bw","flag-by","flag-bz","flag-ca","flag-cc","flag-cd","flag-cf","flag-cg","flag-ch","flag-ci","flag-ck","flag-cl","flag-cm","flag-co","flag-cp","flag-cr","flag-cu","flag-cv","flag-cw","flag-cx","flag-cy","flag-cz","flag-dg","flag-dj","flag-dk","flag-dm","flag-do","flag-dz","flag-ea","flag-ec","flag-ee","flag-eg","flag-eh","flag-england","flag-er","flag-et","flag-eu","flag-fi","flag-fj","flag-fk","flag-fm","flag-fo","flag-ga","flag-gd","flag-ge","flag-gf","flag-gg","flag-gh","flag-gi","flag-gl","flag-gm","flag-gn","flag-gp","flag-gq","flag-gr","flag-gs","flag-gt","flag-gu","flag-gw","flag-gy","flag-hk","flag-hm","flag-hn","flag-hr","flag-ht","flag-hu","flag-ic","flag-id","flag-ie","flag-il","flag-im","flag-in","flag-io","flag-iq","flag-ir","flag-is","flag-je","flag-jm","flag-jo","flag-ke","flag-kg","flag-kh","flag-ki","flag-km","flag-kn","flag-kp","flag-kw","flag-ky","flag-kz","flag-la","flag-lb","flag-lc","flag-li","flag-lk","flag-lr","flag-ls","flag-lt","flag-lu","flag-lv","flag-ly","flag-ma","flag-mc","flag-md","flag-me","flag-mf","flag-mg","flag-mh","flag-mk","flag-ml","flag-mm","flag-mn","flag-mo","flag-mp","flag-mq","flag-mr","flag-ms","flag-mt","flag-mu","flag-mv","flag-mw","flag-mx","flag-my","flag-mz","flag-na","flag-nc","flag-ne","flag-nf","flag-ng","flag-ni","flag-nl","flag-no","flag-np","flag-nr","flag-nu","flag-nz","flag-om","flag-pa","flag-pe","flag-pf","flag-pg","flag-ph","flag-pk","flag-pl","flag-pm","flag-pn","flag-pr","flag-ps","flag-pt","flag-pw","flag-py","flag-qa","flag-re","flag-ro","flag-rs","flag-rw","flag-sa","flag-sb","flag-sc","flag-scotland","flag-sd","flag-se","flag-sg","flag-sh","flag-si","flag-sj","flag-sk","flag-sl","flag-sm","flag-sn","flag-so","flag-sr","flag-ss","flag-st","flag-sv","flag-sx","flag-sy","flag-sz","flag-ta","flag-tc","flag-td","flag-tf","flag-tg","flag-th","flag-tj","flag-tk","flag-tl","flag-tm","flag-tn","flag-to","flag-tr","flag-tt","flag-tv","flag-tw","flag-tz","flag-ua","flag-ug","flag-um","flag-un","flag-uy","flag-uz","flag-va","flag-vc","flag-ve","flag-vg","flag-vi","flag-vn","flag-vu","flag-wales","flag-wf","flag-ws","flag-xk","flag-ye","flag-yt","flag-za","flag-zm","flag-zw","fr","gb","it","jp","kr","pirate_flag","rainbow-flag","ru","transgender_flag","triangular_flag_on_post","us","waving_black_flag","waving_white_flag"]}],emojis:{100:{id:"100",name:"Hundred Points",keywords:["100","score","perfect","numbers","century","exam","quiz","test","pass"],skins:[{unified:"1f4af",native:"💯"}],version:1},1234:{id:"1234",name:"Input Numbers",keywords:["1234","blue","square","1","2","3","4"],skins:[{unified:"1f522",native:"🔢"}],version:1},grinning:{id:"grinning",name:"Grinning Face",emoticons:[":D"],keywords:["smile","happy","joy",":D","grin"],skins:[{unified:"1f600",native:"😀"}],version:1},smiley:{id:"smiley",name:"Grinning Face with Big Eyes",emoticons:[":)","=)","=-)"],keywords:["smiley","happy","joy","haha",":D",":)","smile","funny"],skins:[{unified:"1f603",native:"😃"}],version:1},smile:{id:"smile",name:"Grinning Face with Smiling Eyes",emoticons:[":)","C:","c:",":D",":-D"],keywords:["smile","happy","joy","funny","haha","laugh","like",":D",":)"],skins:[{unified:"1f604",native:"😄"}],version:1},grin:{id:"grin",name:"Beaming Face with Smiling Eyes",keywords:["grin","happy","smile","joy","kawaii"],skins:[{unified:"1f601",native:"😁"}],version:1},laughing:{id:"laughing",name:"Grinning Squinting Face",emoticons:[":>",":->"],keywords:["laughing","satisfied","happy","joy","lol","haha","glad","XD","laugh"],skins:[{unified:"1f606",native:"😆"}],version:1},sweat_smile:{id:"sweat_smile",name:"Grinning Face with Sweat",keywords:["smile","hot","happy","laugh","relief"],skins:[{unified:"1f605",native:"😅"}],version:1},rolling_on_the_floor_laughing:{id:"rolling_on_the_floor_laughing",name:"Rolling on the Floor Laughing",keywords:["face","lol","haha","rofl"],skins:[{unified:"1f923",native:"🤣"}],version:3},joy:{id:"joy",name:"Face with Tears of Joy",keywords:["cry","weep","happy","happytears","haha"],skins:[{unified:"1f602",native:"😂"}],version:1},slightly_smiling_face:{id:"slightly_smiling_face",name:"Slightly Smiling Face",emoticons:[":)","(:",":-)"],keywords:["smile"],skins:[{unified:"1f642",native:"🙂"}],version:1},upside_down_face:{id:"upside_down_face",name:"Upside-Down Face",keywords:["upside","down","flipped","silly","smile"],skins:[{unified:"1f643",native:"🙃"}],version:1},melting_face:{id:"melting_face",name:"Melting Face",keywords:["hot","heat"],skins:[{unified:"1fae0",native:"🫠"}],version:14},wink:{id:"wink",name:"Winking Face",emoticons:[";)",";-)"],keywords:["wink","happy","mischievous","secret",";)","smile","eye"],skins:[{unified:"1f609",native:"😉"}],version:1},blush:{id:"blush",name:"Smiling Face with Smiling Eyes",emoticons:[":)"],keywords:["blush","smile","happy","flushed","crush","embarrassed","shy","joy"],skins:[{unified:"1f60a",native:"😊"}],version:1},innocent:{id:"innocent",name:"Smiling Face with Halo",keywords:["innocent","angel","heaven"],skins:[{unified:"1f607",native:"😇"}],version:1},smiling_face_with_3_hearts:{id:"smiling_face_with_3_hearts",name:"Smiling Face with Hearts",keywords:["3","love","like","affection","valentines","infatuation","crush","adore"],skins:[{unified:"1f970",native:"🥰"}],version:11},heart_eyes:{id:"heart_eyes",name:"Smiling Face with Heart-Eyes",keywords:["heart","eyes","love","like","affection","valentines","infatuation","crush"],skins:[{unified:"1f60d",native:"😍"}],version:1},"star-struck":{id:"star-struck",name:"Star-Struck",keywords:["star","struck","grinning","face","with","eyes","smile","starry"],skins:[{unified:"1f929",native:"🤩"}],version:5},kissing_heart:{id:"kissing_heart",name:"Face Blowing a Kiss",emoticons:[":*",":-*"],keywords:["kissing","heart","love","like","affection","valentines","infatuation"],skins:[{unified:"1f618",native:"😘"}],version:1},kissing:{id:"kissing",name:"Kissing Face",keywords:["love","like","3","valentines","infatuation","kiss"],skins:[{unified:"1f617",native:"😗"}],version:1},relaxed:{id:"relaxed",name:"Smiling Face",keywords:["relaxed","blush","massage","happiness"],skins:[{unified:"263a-fe0f",native:"☺️"}],version:1},kissing_closed_eyes:{id:"kissing_closed_eyes",name:"Kissing Face with Closed Eyes",keywords:["love","like","affection","valentines","infatuation","kiss"],skins:[{unified:"1f61a",native:"😚"}],version:1},kissing_smiling_eyes:{id:"kissing_smiling_eyes",name:"Kissing Face with Smiling Eyes",keywords:["affection","valentines","infatuation","kiss"],skins:[{unified:"1f619",native:"😙"}],version:1},smiling_face_with_tear:{id:"smiling_face_with_tear",name:"Smiling Face with Tear",keywords:["sad","cry","pretend"],skins:[{unified:"1f972",native:"🥲"}],version:13},yum:{id:"yum",name:"Face Savoring Food",keywords:["yum","happy","joy","tongue","smile","silly","yummy","nom","delicious","savouring"],skins:[{unified:"1f60b",native:"😋"}],version:1},stuck_out_tongue:{id:"stuck_out_tongue",name:"Face with Tongue",emoticons:[":p",":-p",":P",":-P",":b",":-b"],keywords:["stuck","out","prank","childish","playful","mischievous","smile"],skins:[{unified:"1f61b",native:"😛"}],version:1},stuck_out_tongue_winking_eye:{id:"stuck_out_tongue_winking_eye",name:"Winking Face with Tongue",emoticons:[";p",";-p",";b",";-b",";P",";-P"],keywords:["stuck","out","eye","prank","childish","playful","mischievous","smile","wink"],skins:[{unified:"1f61c",native:"😜"}],version:1},zany_face:{id:"zany_face",name:"Zany Face",keywords:["grinning","with","one","large","and","small","eye","goofy","crazy"],skins:[{unified:"1f92a",native:"🤪"}],version:5},stuck_out_tongue_closed_eyes:{id:"stuck_out_tongue_closed_eyes",name:"Squinting Face with Tongue",keywords:["stuck","out","closed","eyes","prank","playful","mischievous","smile"],skins:[{unified:"1f61d",native:"😝"}],version:1},money_mouth_face:{id:"money_mouth_face",name:"Money-Mouth Face",keywords:["money","mouth","rich","dollar"],skins:[{unified:"1f911",native:"🤑"}],version:1},hugging_face:{id:"hugging_face",name:"Hugging Face",keywords:["smile","hug"],skins:[{unified:"1f917",native:"🤗"}],version:1},face_with_hand_over_mouth:{id:"face_with_hand_over_mouth",name:"Face with Hand over Mouth",keywords:["smiling","eyes","and","covering","whoops","shock","surprise"],skins:[{unified:"1f92d",native:"🤭"}],version:5},face_with_open_eyes_and_hand_over_mouth:{id:"face_with_open_eyes_and_hand_over_mouth",name:"Face with Open Eyes and Hand over Mouth",keywords:["silence","secret","shock","surprise"],skins:[{unified:"1fae2",native:"🫢"}],version:14},face_with_peeking_eye:{id:"face_with_peeking_eye",name:"Face with Peeking Eye",keywords:["scared","frightening","embarrassing","shy"],skins:[{unified:"1fae3",native:"🫣"}],version:14},shushing_face:{id:"shushing_face",name:"Shushing Face",keywords:["with","finger","covering","closed","lips","quiet","shhh"],skins:[{unified:"1f92b",native:"🤫"}],version:5},thinking_face:{id:"thinking_face",name:"Thinking Face",keywords:["hmmm","think","consider"],skins:[{unified:"1f914",native:"🤔"}],version:1},saluting_face:{id:"saluting_face",name:"Saluting Face",keywords:["respect","salute"],skins:[{unified:"1fae1",native:"🫡"}],version:14},zipper_mouth_face:{id:"zipper_mouth_face",name:"Zipper-Mouth Face",keywords:["zipper","mouth","sealed","secret"],skins:[{unified:"1f910",native:"🤐"}],version:1},face_with_raised_eyebrow:{id:"face_with_raised_eyebrow",name:"Face with Raised Eyebrow",keywords:["one","distrust","scepticism","disapproval","disbelief","surprise"],skins:[{unified:"1f928",native:"🤨"}],version:5},neutral_face:{id:"neutral_face",name:"Neutral Face",emoticons:[":|",":-|"],keywords:["indifference","meh",":",""],skins:[{unified:"1f610",native:"😐"}],version:1},expressionless:{id:"expressionless",name:"Expressionless Face",emoticons:["-_-"],keywords:["indifferent","-","","meh","deadpan"],skins:[{unified:"1f611",native:"😑"}],version:1},no_mouth:{id:"no_mouth",name:"Face Without Mouth",keywords:["no","hellokitty"],skins:[{unified:"1f636",native:"😶"}],version:1},dotted_line_face:{id:"dotted_line_face",name:"Dotted Line Face",keywords:["invisible","lonely","isolation","depression"],skins:[{unified:"1fae5",native:"🫥"}],version:14},face_in_clouds:{id:"face_in_clouds",name:"Face in Clouds",keywords:["shower","steam","dream"],skins:[{unified:"1f636-200d-1f32b-fe0f",native:"😶‍🌫️"}],version:13.1},smirk:{id:"smirk",name:"Smirking Face",keywords:["smirk","smile","mean","prank","smug","sarcasm"],skins:[{unified:"1f60f",native:"😏"}],version:1},unamused:{id:"unamused",name:"Unamused Face",emoticons:[":("],keywords:["indifference","bored","straight","serious","sarcasm","unimpressed","skeptical","dubious","side","eye"],skins:[{unified:"1f612",native:"😒"}],version:1},face_with_rolling_eyes:{id:"face_with_rolling_eyes",name:"Face with Rolling Eyes",keywords:["eyeroll","frustrated"],skins:[{unified:"1f644",native:"🙄"}],version:1},grimacing:{id:"grimacing",name:"Grimacing Face",keywords:["grimace","teeth"],skins:[{unified:"1f62c",native:"😬"}],version:1},face_exhaling:{id:"face_exhaling",name:"Face Exhaling",keywords:["relieve","relief","tired","sigh"],skins:[{unified:"1f62e-200d-1f4a8",native:"😮‍💨"}],version:13.1},lying_face:{id:"lying_face",name:"Lying Face",keywords:["lie","pinocchio"],skins:[{unified:"1f925",native:"🤥"}],version:3},shaking_face:{id:"shaking_face",name:"Shaking Face",keywords:["dizzy","shock","blurry","earthquake"],skins:[{unified:"1fae8",native:"🫨"}],version:15},relieved:{id:"relieved",name:"Relieved Face",keywords:["relaxed","phew","massage","happiness"],skins:[{unified:"1f60c",native:"😌"}],version:1},pensive:{id:"pensive",name:"Pensive Face",keywords:["sad","depressed","upset"],skins:[{unified:"1f614",native:"😔"}],version:1},sleepy:{id:"sleepy",name:"Sleepy Face",keywords:["tired","rest","nap"],skins:[{unified:"1f62a",native:"😪"}],version:1},drooling_face:{id:"drooling_face",name:"Drooling Face",keywords:[],skins:[{unified:"1f924",native:"🤤"}],version:3},sleeping:{id:"sleeping",name:"Sleeping Face",keywords:["tired","sleepy","night","zzz"],skins:[{unified:"1f634",native:"😴"}],version:1},mask:{id:"mask",name:"Face with Medical Mask",keywords:["sick","ill","disease","covid"],skins:[{unified:"1f637",native:"😷"}],version:1},face_with_thermometer:{id:"face_with_thermometer",name:"Face with Thermometer",keywords:["sick","temperature","cold","fever","covid"],skins:[{unified:"1f912",native:"🤒"}],version:1},face_with_head_bandage:{id:"face_with_head_bandage",name:"Face with Head-Bandage",keywords:["head","bandage","injured","clumsy","hurt"],skins:[{unified:"1f915",native:"🤕"}],version:1},nauseated_face:{id:"nauseated_face",name:"Nauseated Face",keywords:["vomit","gross","green","sick","throw","up","ill"],skins:[{unified:"1f922",native:"🤢"}],version:3},face_vomiting:{id:"face_vomiting",name:"Face Vomiting",keywords:["with","open","mouth","sick"],skins:[{unified:"1f92e",native:"🤮"}],version:5},sneezing_face:{id:"sneezing_face",name:"Sneezing Face",keywords:["gesundheit","sneeze","sick","allergy"],skins:[{unified:"1f927",native:"🤧"}],version:3},hot_face:{id:"hot_face",name:"Hot Face",keywords:["feverish","heat","red","sweating"],skins:[{unified:"1f975",native:"🥵"}],version:11},cold_face:{id:"cold_face",name:"Cold Face",keywords:["blue","freezing","frozen","frostbite","icicles"],skins:[{unified:"1f976",native:"🥶"}],version:11},woozy_face:{id:"woozy_face",name:"Woozy Face",keywords:["dizzy","intoxicated","tipsy","wavy"],skins:[{unified:"1f974",native:"🥴"}],version:11},dizzy_face:{id:"dizzy_face",name:"Dizzy Face",keywords:["spent","unconscious","xox"],skins:[{unified:"1f635",native:"😵"}],version:1},face_with_spiral_eyes:{id:"face_with_spiral_eyes",name:"Face with Spiral Eyes",keywords:["sick","ill","confused","nauseous","nausea"],skins:[{unified:"1f635-200d-1f4ab",native:"😵‍💫"}],version:13.1},exploding_head:{id:"exploding_head",name:"Exploding Head",keywords:["shocked","face","with","mind","blown"],skins:[{unified:"1f92f",native:"🤯"}],version:5},face_with_cowboy_hat:{id:"face_with_cowboy_hat",name:"Cowboy Hat Face",keywords:["with","cowgirl"],skins:[{unified:"1f920",native:"🤠"}],version:3},partying_face:{id:"partying_face",name:"Partying Face",keywords:["celebration","woohoo"],skins:[{unified:"1f973",native:"🥳"}],version:11},disguised_face:{id:"disguised_face",name:"Disguised Face",keywords:["pretent","brows","glasses","moustache"],skins:[{unified:"1f978",native:"🥸"}],version:13},sunglasses:{id:"sunglasses",name:"Smiling Face with Sunglasses",emoticons:["8)"],keywords:["cool","smile","summer","beach","sunglass"],skins:[{unified:"1f60e",native:"😎"}],version:1},nerd_face:{id:"nerd_face",name:"Nerd Face",keywords:["nerdy","geek","dork"],skins:[{unified:"1f913",native:"🤓"}],version:1},face_with_monocle:{id:"face_with_monocle",name:"Face with Monocle",keywords:["stuffy","wealthy"],skins:[{unified:"1f9d0",native:"🧐"}],version:5},confused:{id:"confused",name:"Confused Face",emoticons:[":\\",":-\\",":/",":-/"],keywords:["indifference","huh","weird","hmmm",":/"],skins:[{unified:"1f615",native:"😕"}],version:1},face_with_diagonal_mouth:{id:"face_with_diagonal_mouth",name:"Face with Diagonal Mouth",keywords:["skeptic","confuse","frustrated","indifferent"],skins:[{unified:"1fae4",native:"🫤"}],version:14},worried:{id:"worried",name:"Worried Face",keywords:["concern","nervous",":("],skins:[{unified:"1f61f",native:"😟"}],version:1},slightly_frowning_face:{id:"slightly_frowning_face",name:"Slightly Frowning Face",keywords:["disappointed","sad","upset"],skins:[{unified:"1f641",native:"🙁"}],version:1},white_frowning_face:{id:"white_frowning_face",name:"Frowning Face",keywords:["white","sad","upset","frown"],skins:[{unified:"2639-fe0f",native:"☹️"}],version:1},open_mouth:{id:"open_mouth",name:"Face with Open Mouth",emoticons:[":o",":-o",":O",":-O"],keywords:["surprise","impressed","wow","whoa",":O"],skins:[{unified:"1f62e",native:"😮"}],version:1},hushed:{id:"hushed",name:"Hushed Face",keywords:["woo","shh"],skins:[{unified:"1f62f",native:"😯"}],version:1},astonished:{id:"astonished",name:"Astonished Face",keywords:["xox","surprised","poisoned"],skins:[{unified:"1f632",native:"😲"}],version:1},flushed:{id:"flushed",name:"Flushed Face",keywords:["blush","shy","flattered"],skins:[{unified:"1f633",native:"😳"}],version:1},pleading_face:{id:"pleading_face",name:"Pleading Face",keywords:["begging","mercy","cry","tears","sad","grievance"],skins:[{unified:"1f97a",native:"🥺"}],version:11},face_holding_back_tears:{id:"face_holding_back_tears",name:"Face Holding Back Tears",keywords:["touched","gratitude","cry"],skins:[{unified:"1f979",native:"🥹"}],version:14},frowning:{id:"frowning",name:"Frowning Face with Open Mouth",keywords:["aw","what"],skins:[{unified:"1f626",native:"😦"}],version:1},anguished:{id:"anguished",name:"Anguished Face",emoticons:["D:"],keywords:["stunned","nervous"],skins:[{unified:"1f627",native:"😧"}],version:1},fearful:{id:"fearful",name:"Fearful Face",keywords:["scared","terrified","nervous"],skins:[{unified:"1f628",native:"😨"}],version:1},cold_sweat:{id:"cold_sweat",name:"Anxious Face with Sweat",keywords:["cold","nervous"],skins:[{unified:"1f630",native:"😰"}],version:1},disappointed_relieved:{id:"disappointed_relieved",name:"Sad but Relieved Face",keywords:["disappointed","phew","sweat","nervous"],skins:[{unified:"1f625",native:"😥"}],version:1},cry:{id:"cry",name:"Crying Face",emoticons:[":'("],keywords:["cry","tears","sad","depressed","upset",":'("],skins:[{unified:"1f622",native:"😢"}],version:1},sob:{id:"sob",name:"Loudly Crying Face",emoticons:[":'("],keywords:["sob","cry","tears","sad","upset","depressed"],skins:[{unified:"1f62d",native:"😭"}],version:1},scream:{id:"scream",name:"Face Screaming in Fear",keywords:["scream","munch","scared","omg"],skins:[{unified:"1f631",native:"😱"}],version:1},confounded:{id:"confounded",name:"Confounded Face",keywords:["confused","sick","unwell","oops",":S"],skins:[{unified:"1f616",native:"😖"}],version:1},persevere:{id:"persevere",name:"Persevering Face",keywords:["persevere","sick","no","upset","oops"],skins:[{unified:"1f623",native:"😣"}],version:1},disappointed:{id:"disappointed",name:"Disappointed Face",emoticons:["):",":(",":-("],keywords:["sad","upset","depressed",":("],skins:[{unified:"1f61e",native:"😞"}],version:1},sweat:{id:"sweat",name:"Face with Cold Sweat",keywords:["downcast","hot","sad","tired","exercise"],skins:[{unified:"1f613",native:"😓"}],version:1},weary:{id:"weary",name:"Weary Face",keywords:["tired","sleepy","sad","frustrated","upset"],skins:[{unified:"1f629",native:"😩"}],version:1},tired_face:{id:"tired_face",name:"Tired Face",keywords:["sick","whine","upset","frustrated"],skins:[{unified:"1f62b",native:"😫"}],version:1},yawning_face:{id:"yawning_face",name:"Yawning Face",keywords:["tired","sleepy"],skins:[{unified:"1f971",native:"🥱"}],version:12},triumph:{id:"triumph",name:"Face with Look of Triumph",keywords:["steam","from","nose","gas","phew","proud","pride"],skins:[{unified:"1f624",native:"😤"}],version:1},rage:{id:"rage",name:"Pouting Face",keywords:["rage","angry","mad","hate","despise"],skins:[{unified:"1f621",native:"😡"}],version:1},angry:{id:"angry",name:"Angry Face",emoticons:[">:(",">:-("],keywords:["mad","annoyed","frustrated"],skins:[{unified:"1f620",native:"😠"}],version:1},face_with_symbols_on_mouth:{id:"face_with_symbols_on_mouth",name:"Face with Symbols on Mouth",keywords:["serious","covering","swearing","cursing","cussing","profanity","expletive"],skins:[{unified:"1f92c",native:"🤬"}],version:5},smiling_imp:{id:"smiling_imp",name:"Smiling Face with Horns",keywords:["imp","devil"],skins:[{unified:"1f608",native:"😈"}],version:1},imp:{id:"imp",name:"Imp",keywords:["angry","face","with","horns","devil"],skins:[{unified:"1f47f",native:"👿"}],version:1},skull:{id:"skull",name:"Skull",keywords:["dead","skeleton","creepy","death"],skins:[{unified:"1f480",native:"💀"}],version:1},skull_and_crossbones:{id:"skull_and_crossbones",name:"Skull and Crossbones",keywords:["poison","danger","deadly","scary","death","pirate","evil"],skins:[{unified:"2620-fe0f",native:"☠️"}],version:1},hankey:{id:"hankey",name:"Pile of Poo",keywords:["hankey","poop","shit","shitface","fail","turd"],skins:[{unified:"1f4a9",native:"💩"}],version:1},clown_face:{id:"clown_face",name:"Clown Face",keywords:[],skins:[{unified:"1f921",native:"🤡"}],version:3},japanese_ogre:{id:"japanese_ogre",name:"Ogre",keywords:["japanese","monster","red","mask","halloween","scary","creepy","devil","demon"],skins:[{unified:"1f479",native:"👹"}],version:1},japanese_goblin:{id:"japanese_goblin",name:"Goblin",keywords:["japanese","red","evil","mask","monster","scary","creepy"],skins:[{unified:"1f47a",native:"👺"}],version:1},ghost:{id:"ghost",name:"Ghost",keywords:["halloween","spooky","scary"],skins:[{unified:"1f47b",native:"👻"}],version:1},alien:{id:"alien",name:"Alien",keywords:["UFO","paul","weird","outer","space"],skins:[{unified:"1f47d",native:"👽"}],version:1},space_invader:{id:"space_invader",name:"Alien Monster",keywords:["space","invader","game","arcade","play"],skins:[{unified:"1f47e",native:"👾"}],version:1},robot_face:{id:"robot_face",name:"Robot",keywords:["face","computer","machine","bot"],skins:[{unified:"1f916",native:"🤖"}],version:1},smiley_cat:{id:"smiley_cat",name:"Grinning Cat",keywords:["smiley","animal","cats","happy","smile"],skins:[{unified:"1f63a",native:"😺"}],version:1},smile_cat:{id:"smile_cat",name:"Grinning Cat with Smiling Eyes",keywords:["smile","animal","cats"],skins:[{unified:"1f638",native:"😸"}],version:1},joy_cat:{id:"joy_cat",name:"Cat with Tears of Joy",keywords:["animal","cats","haha","happy"],skins:[{unified:"1f639",native:"😹"}],version:1},heart_eyes_cat:{id:"heart_eyes_cat",name:"Smiling Cat with Heart-Eyes",keywords:["heart","eyes","animal","love","like","affection","cats","valentines"],skins:[{unified:"1f63b",native:"😻"}],version:1},smirk_cat:{id:"smirk_cat",name:"Cat with Wry Smile",keywords:["smirk","animal","cats"],skins:[{unified:"1f63c",native:"😼"}],version:1},kissing_cat:{id:"kissing_cat",name:"Kissing Cat",keywords:["animal","cats","kiss"],skins:[{unified:"1f63d",native:"😽"}],version:1},scream_cat:{id:"scream_cat",name:"Weary Cat",keywords:["scream","animal","cats","munch","scared"],skins:[{unified:"1f640",native:"🙀"}],version:1},crying_cat_face:{id:"crying_cat_face",name:"Crying Cat",keywords:["face","animal","tears","weep","sad","cats","upset","cry"],skins:[{unified:"1f63f",native:"😿"}],version:1},pouting_cat:{id:"pouting_cat",name:"Pouting Cat",keywords:["animal","cats"],skins:[{unified:"1f63e",native:"😾"}],version:1},see_no_evil:{id:"see_no_evil",name:"See-No-Evil Monkey",keywords:["see","no","evil","animal","nature","haha"],skins:[{unified:"1f648",native:"🙈"}],version:1},hear_no_evil:{id:"hear_no_evil",name:"Hear-No-Evil Monkey",keywords:["hear","no","evil","animal","nature"],skins:[{unified:"1f649",native:"🙉"}],version:1},speak_no_evil:{id:"speak_no_evil",name:"Speak-No-Evil Monkey",keywords:["speak","no","evil","animal","nature","omg"],skins:[{unified:"1f64a",native:"🙊"}],version:1},love_letter:{id:"love_letter",name:"Love Letter",keywords:["email","like","affection","envelope","valentines"],skins:[{unified:"1f48c",native:"💌"}],version:1},cupid:{id:"cupid",name:"Heart with Arrow",keywords:["cupid","love","like","affection","valentines"],skins:[{unified:"1f498",native:"💘"}],version:1},gift_heart:{id:"gift_heart",name:"Heart with Ribbon",keywords:["gift","love","valentines"],skins:[{unified:"1f49d",native:"💝"}],version:1},sparkling_heart:{id:"sparkling_heart",name:"Sparkling Heart",keywords:["love","like","affection","valentines"],skins:[{unified:"1f496",native:"💖"}],version:1},heartpulse:{id:"heartpulse",name:"Growing Heart",keywords:["heartpulse","like","love","affection","valentines","pink"],skins:[{unified:"1f497",native:"💗"}],version:1},heartbeat:{id:"heartbeat",name:"Beating Heart",keywords:["heartbeat","love","like","affection","valentines","pink"],skins:[{unified:"1f493",native:"💓"}],version:1},revolving_hearts:{id:"revolving_hearts",name:"Revolving Hearts",keywords:["love","like","affection","valentines"],skins:[{unified:"1f49e",native:"💞"}],version:1},two_hearts:{id:"two_hearts",name:"Two Hearts",keywords:["love","like","affection","valentines","heart"],skins:[{unified:"1f495",native:"💕"}],version:1},heart_decoration:{id:"heart_decoration",name:"Heart Decoration",keywords:["purple","square","love","like"],skins:[{unified:"1f49f",native:"💟"}],version:1},heavy_heart_exclamation_mark_ornament:{id:"heavy_heart_exclamation_mark_ornament",name:"Heart Exclamation",keywords:["heavy","mark","ornament","decoration","love"],skins:[{unified:"2763-fe0f",native:"❣️"}],version:1},broken_heart:{id:"broken_heart",name:"Broken Heart",emoticons:["</3"],keywords:["sad","sorry","break","heartbreak"],skins:[{unified:"1f494",native:"💔"}],version:1},heart_on_fire:{id:"heart_on_fire",name:"Heart on Fire",keywords:["passionate","enthusiastic"],skins:[{unified:"2764-fe0f-200d-1f525",native:"❤️‍🔥"}],version:13.1},mending_heart:{id:"mending_heart",name:"Mending Heart",keywords:["broken","bandage","wounded"],skins:[{unified:"2764-fe0f-200d-1fa79",native:"❤️‍🩹"}],version:13.1},heart:{id:"heart",name:"Red Heart",emoticons:["<3"],keywords:["love","like","valentines"],skins:[{unified:"2764-fe0f",native:"❤️"}],version:1},pink_heart:{id:"pink_heart",name:"Pink Heart",keywords:["valentines"],skins:[{unified:"1fa77",native:"🩷"}],version:15},orange_heart:{id:"orange_heart",name:"Orange Heart",keywords:["love","like","affection","valentines"],skins:[{unified:"1f9e1",native:"🧡"}],version:5},yellow_heart:{id:"yellow_heart",name:"Yellow Heart",emoticons:["<3"],keywords:["love","like","affection","valentines"],skins:[{unified:"1f49b",native:"💛"}],version:1},green_heart:{id:"green_heart",name:"Green Heart",emoticons:["<3"],keywords:["love","like","affection","valentines"],skins:[{unified:"1f49a",native:"💚"}],version:1},blue_heart:{id:"blue_heart",name:"Blue Heart",emoticons:["<3"],keywords:["love","like","affection","valentines"],skins:[{unified:"1f499",native:"💙"}],version:1},light_blue_heart:{id:"light_blue_heart",name:"Light Blue Heart",keywords:["ice","baby"],skins:[{unified:"1fa75",native:"🩵"}],version:15},purple_heart:{id:"purple_heart",name:"Purple Heart",emoticons:["<3"],keywords:["love","like","affection","valentines"],skins:[{unified:"1f49c",native:"💜"}],version:1},brown_heart:{id:"brown_heart",name:"Brown Heart",keywords:["coffee"],skins:[{unified:"1f90e",native:"🤎"}],version:12},black_heart:{id:"black_heart",name:"Black Heart",keywords:["evil"],skins:[{unified:"1f5a4",native:"🖤"}],version:3},grey_heart:{id:"grey_heart",name:"Grey Heart",keywords:["silver","monochrome"],skins:[{unified:"1fa76",native:"🩶"}],version:15},white_heart:{id:"white_heart",name:"White Heart",keywords:["pure"],skins:[{unified:"1f90d",native:"🤍"}],version:12},kiss:{id:"kiss",name:"Kiss Mark",keywords:["face","lips","love","like","affection","valentines"],skins:[{unified:"1f48b",native:"💋"}],version:1},anger:{id:"anger",name:"Anger Symbol",keywords:["angry","mad"],skins:[{unified:"1f4a2",native:"💢"}],version:1},boom:{id:"boom",name:"Collision",keywords:["boom","bomb","explode","explosion","blown"],skins:[{unified:"1f4a5",native:"💥"}],version:1},dizzy:{id:"dizzy",name:"Dizzy",keywords:["star","sparkle","shoot","magic"],skins:[{unified:"1f4ab",native:"💫"}],version:1},sweat_drops:{id:"sweat_drops",name:"Sweat Droplets",keywords:["drops","water","drip","oops"],skins:[{unified:"1f4a6",native:"💦"}],version:1},dash:{id:"dash",name:"Dash Symbol",keywords:["dashing","away","wind","air","fast","shoo","fart","smoke","puff"],skins:[{unified:"1f4a8",native:"💨"}],version:1},hole:{id:"hole",name:"Hole",keywords:["embarrassing"],skins:[{unified:"1f573-fe0f",native:"🕳️"}],version:1},speech_balloon:{id:"speech_balloon",name:"Speech Balloon",keywords:["bubble","words","message","talk","chatting"],skins:[{unified:"1f4ac",native:"💬"}],version:1},"eye-in-speech-bubble":{id:"eye-in-speech-bubble",name:"Eye in Speech Bubble",keywords:["in-speech-bubble","info"],skins:[{unified:"1f441-fe0f-200d-1f5e8-fe0f",native:"👁️‍🗨️"}],version:2},left_speech_bubble:{id:"left_speech_bubble",name:"Left Speech Bubble",keywords:["words","message","talk","chatting"],skins:[{unified:"1f5e8-fe0f",native:"🗨️"}],version:2},right_anger_bubble:{id:"right_anger_bubble",name:"Right Anger Bubble",keywords:["caption","speech","thinking","mad"],skins:[{unified:"1f5ef-fe0f",native:"🗯️"}],version:1},thought_balloon:{id:"thought_balloon",name:"Thought Balloon",keywords:["bubble","cloud","speech","thinking","dream"],skins:[{unified:"1f4ad",native:"💭"}],version:1},zzz:{id:"zzz",name:"Zzz",keywords:["sleepy","tired","dream"],skins:[{unified:"1f4a4",native:"💤"}],version:1},wave:{id:"wave",name:"Waving Hand",keywords:["wave","hands","gesture","goodbye","solong","farewell","hello","hi","palm"],skins:[{unified:"1f44b",native:"👋"},{unified:"1f44b-1f3fb",native:"👋🏻"},{unified:"1f44b-1f3fc",native:"👋🏼"},{unified:"1f44b-1f3fd",native:"👋🏽"},{unified:"1f44b-1f3fe",native:"👋🏾"},{unified:"1f44b-1f3ff",native:"👋🏿"}],version:1},raised_back_of_hand:{id:"raised_back_of_hand",name:"Raised Back of Hand",keywords:["fingers","backhand"],skins:[{unified:"1f91a",native:"🤚"},{unified:"1f91a-1f3fb",native:"🤚🏻"},{unified:"1f91a-1f3fc",native:"🤚🏼"},{unified:"1f91a-1f3fd",native:"🤚🏽"},{unified:"1f91a-1f3fe",native:"🤚🏾"},{unified:"1f91a-1f3ff",native:"🤚🏿"}],version:3},raised_hand_with_fingers_splayed:{id:"raised_hand_with_fingers_splayed",name:"Hand with Fingers Splayed",keywords:["raised","palm"],skins:[{unified:"1f590-fe0f",native:"🖐️"},{unified:"1f590-1f3fb",native:"🖐🏻"},{unified:"1f590-1f3fc",native:"🖐🏼"},{unified:"1f590-1f3fd",native:"🖐🏽"},{unified:"1f590-1f3fe",native:"🖐🏾"},{unified:"1f590-1f3ff",native:"🖐🏿"}],version:1},hand:{id:"hand",name:"Raised Hand",keywords:["fingers","stop","highfive","high","five","palm","ban"],skins:[{unified:"270b",native:"✋"},{unified:"270b-1f3fb",native:"✋🏻"},{unified:"270b-1f3fc",native:"✋🏼"},{unified:"270b-1f3fd",native:"✋🏽"},{unified:"270b-1f3fe",native:"✋🏾"},{unified:"270b-1f3ff",native:"✋🏿"}],version:1},"spock-hand":{id:"spock-hand",name:"Vulcan Salute",keywords:["spock","hand","fingers","star","trek"],skins:[{unified:"1f596",native:"🖖"},{unified:"1f596-1f3fb",native:"🖖🏻"},{unified:"1f596-1f3fc",native:"🖖🏼"},{unified:"1f596-1f3fd",native:"🖖🏽"},{unified:"1f596-1f3fe",native:"🖖🏾"},{unified:"1f596-1f3ff",native:"🖖🏿"}],version:1},rightwards_hand:{id:"rightwards_hand",name:"Rightwards Hand",keywords:["palm","offer"],skins:[{unified:"1faf1",native:"🫱"},{unified:"1faf1-1f3fb",native:"🫱🏻"},{unified:"1faf1-1f3fc",native:"🫱🏼"},{unified:"1faf1-1f3fd",native:"🫱🏽"},{unified:"1faf1-1f3fe",native:"🫱🏾"},{unified:"1faf1-1f3ff",native:"🫱🏿"}],version:14},leftwards_hand:{id:"leftwards_hand",name:"Leftwards Hand",keywords:["palm","offer"],skins:[{unified:"1faf2",native:"🫲"},{unified:"1faf2-1f3fb",native:"🫲🏻"},{unified:"1faf2-1f3fc",native:"🫲🏼"},{unified:"1faf2-1f3fd",native:"🫲🏽"},{unified:"1faf2-1f3fe",native:"🫲🏾"},{unified:"1faf2-1f3ff",native:"🫲🏿"}],version:14},palm_down_hand:{id:"palm_down_hand",name:"Palm Down Hand",keywords:["drop"],skins:[{unified:"1faf3",native:"🫳"},{unified:"1faf3-1f3fb",native:"🫳🏻"},{unified:"1faf3-1f3fc",native:"🫳🏼"},{unified:"1faf3-1f3fd",native:"🫳🏽"},{unified:"1faf3-1f3fe",native:"🫳🏾"},{unified:"1faf3-1f3ff",native:"🫳🏿"}],version:14},palm_up_hand:{id:"palm_up_hand",name:"Palm Up Hand",keywords:["lift","offer","demand"],skins:[{unified:"1faf4",native:"🫴"},{unified:"1faf4-1f3fb",native:"🫴🏻"},{unified:"1faf4-1f3fc",native:"🫴🏼"},{unified:"1faf4-1f3fd",native:"🫴🏽"},{unified:"1faf4-1f3fe",native:"🫴🏾"},{unified:"1faf4-1f3ff",native:"🫴🏿"}],version:14},leftwards_pushing_hand:{id:"leftwards_pushing_hand",name:"Leftwards Pushing Hand",keywords:["highfive","high","five","pressing","stop"],skins:[{unified:"1faf7",native:"🫷"},{unified:"1faf7-1f3fb",native:"🫷🏻"},{unified:"1faf7-1f3fc",native:"🫷🏼"},{unified:"1faf7-1f3fd",native:"🫷🏽"},{unified:"1faf7-1f3fe",native:"🫷🏾"},{unified:"1faf7-1f3ff",native:"🫷🏿"}],version:15},rightwards_pushing_hand:{id:"rightwards_pushing_hand",name:"Rightwards Pushing Hand",keywords:["highfive","high","five","pressing","stop"],skins:[{unified:"1faf8",native:"🫸"},{unified:"1faf8-1f3fb",native:"🫸🏻"},{unified:"1faf8-1f3fc",native:"🫸🏼"},{unified:"1faf8-1f3fd",native:"🫸🏽"},{unified:"1faf8-1f3fe",native:"🫸🏾"},{unified:"1faf8-1f3ff",native:"🫸🏿"}],version:15},ok_hand:{id:"ok_hand",name:"Ok Hand",keywords:["fingers","limbs","perfect","okay"],skins:[{unified:"1f44c",native:"👌"},{unified:"1f44c-1f3fb",native:"👌🏻"},{unified:"1f44c-1f3fc",native:"👌🏼"},{unified:"1f44c-1f3fd",native:"👌🏽"},{unified:"1f44c-1f3fe",native:"👌🏾"},{unified:"1f44c-1f3ff",native:"👌🏿"}],version:1},pinched_fingers:{id:"pinched_fingers",name:"Pinched Fingers",keywords:["size","tiny","small"],skins:[{unified:"1f90c",native:"🤌"},{unified:"1f90c-1f3fb",native:"🤌🏻"},{unified:"1f90c-1f3fc",native:"🤌🏼"},{unified:"1f90c-1f3fd",native:"🤌🏽"},{unified:"1f90c-1f3fe",native:"🤌🏾"},{unified:"1f90c-1f3ff",native:"🤌🏿"}],version:13},pinching_hand:{id:"pinching_hand",name:"Pinching Hand",keywords:["tiny","small","size"],skins:[{unified:"1f90f",native:"🤏"},{unified:"1f90f-1f3fb",native:"🤏🏻"},{unified:"1f90f-1f3fc",native:"🤏🏼"},{unified:"1f90f-1f3fd",native:"🤏🏽"},{unified:"1f90f-1f3fe",native:"🤏🏾"},{unified:"1f90f-1f3ff",native:"🤏🏿"}],version:12},v:{id:"v",name:"Victory Hand",keywords:["v","fingers","ohyeah","peace","two"],skins:[{unified:"270c-fe0f",native:"✌️"},{unified:"270c-1f3fb",native:"✌🏻"},{unified:"270c-1f3fc",native:"✌🏼"},{unified:"270c-1f3fd",native:"✌🏽"},{unified:"270c-1f3fe",native:"✌🏾"},{unified:"270c-1f3ff",native:"✌🏿"}],version:1},crossed_fingers:{id:"crossed_fingers",name:"Crossed Fingers",keywords:["hand","with","index","and","middle","good","lucky"],skins:[{unified:"1f91e",native:"🤞"},{unified:"1f91e-1f3fb",native:"🤞🏻"},{unified:"1f91e-1f3fc",native:"🤞🏼"},{unified:"1f91e-1f3fd",native:"🤞🏽"},{unified:"1f91e-1f3fe",native:"🤞🏾"},{unified:"1f91e-1f3ff",native:"🤞🏿"}],version:3},hand_with_index_finger_and_thumb_crossed:{id:"hand_with_index_finger_and_thumb_crossed",name:"Hand with Index Finger and Thumb Crossed",keywords:["heart","love","money","expensive"],skins:[{unified:"1faf0",native:"🫰"},{unified:"1faf0-1f3fb",native:"🫰🏻"},{unified:"1faf0-1f3fc",native:"🫰🏼"},{unified:"1faf0-1f3fd",native:"🫰🏽"},{unified:"1faf0-1f3fe",native:"🫰🏾"},{unified:"1faf0-1f3ff",native:"🫰🏿"}],version:14},i_love_you_hand_sign:{id:"i_love_you_hand_sign",name:"Love-You Gesture",keywords:["i","love","you","hand","sign","fingers"],skins:[{unified:"1f91f",native:"🤟"},{unified:"1f91f-1f3fb",native:"🤟🏻"},{unified:"1f91f-1f3fc",native:"🤟🏼"},{unified:"1f91f-1f3fd",native:"🤟🏽"},{unified:"1f91f-1f3fe",native:"🤟🏾"},{unified:"1f91f-1f3ff",native:"🤟🏿"}],version:5},the_horns:{id:"the_horns",name:"Sign of the Horns",keywords:["hand","fingers","evil","eye","rock","on"],skins:[{unified:"1f918",native:"🤘"},{unified:"1f918-1f3fb",native:"🤘🏻"},{unified:"1f918-1f3fc",native:"🤘🏼"},{unified:"1f918-1f3fd",native:"🤘🏽"},{unified:"1f918-1f3fe",native:"🤘🏾"},{unified:"1f918-1f3ff",native:"🤘🏿"}],version:1},call_me_hand:{id:"call_me_hand",name:"Call Me Hand",keywords:["hands","gesture","shaka"],skins:[{unified:"1f919",native:"🤙"},{unified:"1f919-1f3fb",native:"🤙🏻"},{unified:"1f919-1f3fc",native:"🤙🏼"},{unified:"1f919-1f3fd",native:"🤙🏽"},{unified:"1f919-1f3fe",native:"🤙🏾"},{unified:"1f919-1f3ff",native:"🤙🏿"}],version:3},point_left:{id:"point_left",name:"Backhand Index Pointing Left",keywords:["point","direction","fingers","hand"],skins:[{unified:"1f448",native:"👈"},{unified:"1f448-1f3fb",native:"👈🏻"},{unified:"1f448-1f3fc",native:"👈🏼"},{unified:"1f448-1f3fd",native:"👈🏽"},{unified:"1f448-1f3fe",native:"👈🏾"},{unified:"1f448-1f3ff",native:"👈🏿"}],version:1},point_right:{id:"point_right",name:"Backhand Index Pointing Right",keywords:["point","fingers","hand","direction"],skins:[{unified:"1f449",native:"👉"},{unified:"1f449-1f3fb",native:"👉🏻"},{unified:"1f449-1f3fc",native:"👉🏼"},{unified:"1f449-1f3fd",native:"👉🏽"},{unified:"1f449-1f3fe",native:"👉🏾"},{unified:"1f449-1f3ff",native:"👉🏿"}],version:1},point_up_2:{id:"point_up_2",name:"Backhand Index Pointing Up",keywords:["point","2","fingers","hand","direction"],skins:[{unified:"1f446",native:"👆"},{unified:"1f446-1f3fb",native:"👆🏻"},{unified:"1f446-1f3fc",native:"👆🏼"},{unified:"1f446-1f3fd",native:"👆🏽"},{unified:"1f446-1f3fe",native:"👆🏾"},{unified:"1f446-1f3ff",native:"👆🏿"}],version:1},middle_finger:{id:"middle_finger",name:"Middle Finger",keywords:["reversed","hand","with","extended","fingers","rude","flipping"],skins:[{unified:"1f595",native:"🖕"},{unified:"1f595-1f3fb",native:"🖕🏻"},{unified:"1f595-1f3fc",native:"🖕🏼"},{unified:"1f595-1f3fd",native:"🖕🏽"},{unified:"1f595-1f3fe",native:"🖕🏾"},{unified:"1f595-1f3ff",native:"🖕🏿"}],version:1},point_down:{id:"point_down",name:"Backhand Index Pointing Down",keywords:["point","fingers","hand","direction"],skins:[{unified:"1f447",native:"👇"},{unified:"1f447-1f3fb",native:"👇🏻"},{unified:"1f447-1f3fc",native:"👇🏼"},{unified:"1f447-1f3fd",native:"👇🏽"},{unified:"1f447-1f3fe",native:"👇🏾"},{unified:"1f447-1f3ff",native:"👇🏿"}],version:1},point_up:{id:"point_up",name:"Index Pointing Up",keywords:["point","hand","fingers","direction"],skins:[{unified:"261d-fe0f",native:"☝️"},{unified:"261d-1f3fb",native:"☝🏻"},{unified:"261d-1f3fc",native:"☝🏼"},{unified:"261d-1f3fd",native:"☝🏽"},{unified:"261d-1f3fe",native:"☝🏾"},{unified:"261d-1f3ff",native:"☝🏿"}],version:1},index_pointing_at_the_viewer:{id:"index_pointing_at_the_viewer",name:"Index Pointing at the Viewer",keywords:["you","recruit"],skins:[{unified:"1faf5",native:"🫵"},{unified:"1faf5-1f3fb",native:"🫵🏻"},{unified:"1faf5-1f3fc",native:"🫵🏼"},{unified:"1faf5-1f3fd",native:"🫵🏽"},{unified:"1faf5-1f3fe",native:"🫵🏾"},{unified:"1faf5-1f3ff",native:"🫵🏿"}],version:14},"+1":{id:"+1",name:"Thumbs Up",keywords:["+1","thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],skins:[{unified:"1f44d",native:"👍"},{unified:"1f44d-1f3fb",native:"👍🏻"},{unified:"1f44d-1f3fc",native:"👍🏼"},{unified:"1f44d-1f3fd",native:"👍🏽"},{unified:"1f44d-1f3fe",native:"👍🏾"},{unified:"1f44d-1f3ff",native:"👍🏿"}],version:1},"-1":{id:"-1",name:"Thumbs Down",keywords:["-1","thumbsdown","no","dislike","hand"],skins:[{unified:"1f44e",native:"👎"},{unified:"1f44e-1f3fb",native:"👎🏻"},{unified:"1f44e-1f3fc",native:"👎🏼"},{unified:"1f44e-1f3fd",native:"👎🏽"},{unified:"1f44e-1f3fe",native:"👎🏾"},{unified:"1f44e-1f3ff",native:"👎🏿"}],version:1},fist:{id:"fist",name:"Raised Fist",keywords:["fingers","hand","grasp"],skins:[{unified:"270a",native:"✊"},{unified:"270a-1f3fb",native:"✊🏻"},{unified:"270a-1f3fc",native:"✊🏼"},{unified:"270a-1f3fd",native:"✊🏽"},{unified:"270a-1f3fe",native:"✊🏾"},{unified:"270a-1f3ff",native:"✊🏿"}],version:1},facepunch:{id:"facepunch",name:"Oncoming Fist",keywords:["facepunch","punch","angry","violence","hit","attack","hand"],skins:[{unified:"1f44a",native:"👊"},{unified:"1f44a-1f3fb",native:"👊🏻"},{unified:"1f44a-1f3fc",native:"👊🏼"},{unified:"1f44a-1f3fd",native:"👊🏽"},{unified:"1f44a-1f3fe",native:"👊🏾"},{unified:"1f44a-1f3ff",native:"👊🏿"}],version:1},"left-facing_fist":{id:"left-facing_fist",name:"Left-Facing Fist",keywords:["left","facing","hand","fistbump"],skins:[{unified:"1f91b",native:"🤛"},{unified:"1f91b-1f3fb",native:"🤛🏻"},{unified:"1f91b-1f3fc",native:"🤛🏼"},{unified:"1f91b-1f3fd",native:"🤛🏽"},{unified:"1f91b-1f3fe",native:"🤛🏾"},{unified:"1f91b-1f3ff",native:"🤛🏿"}],version:3},"right-facing_fist":{id:"right-facing_fist",name:"Right-Facing Fist",keywords:["right","facing","hand","fistbump"],skins:[{unified:"1f91c",native:"🤜"},{unified:"1f91c-1f3fb",native:"🤜🏻"},{unified:"1f91c-1f3fc",native:"🤜🏼"},{unified:"1f91c-1f3fd",native:"🤜🏽"},{unified:"1f91c-1f3fe",native:"🤜🏾"},{unified:"1f91c-1f3ff",native:"🤜🏿"}],version:3},clap:{id:"clap",name:"Clapping Hands",keywords:["clap","praise","applause","congrats","yay"],skins:[{unified:"1f44f",native:"👏"},{unified:"1f44f-1f3fb",native:"👏🏻"},{unified:"1f44f-1f3fc",native:"👏🏼"},{unified:"1f44f-1f3fd",native:"👏🏽"},{unified:"1f44f-1f3fe",native:"👏🏾"},{unified:"1f44f-1f3ff",native:"👏🏿"}],version:1},raised_hands:{id:"raised_hands",name:"Raising Hands",keywords:["raised","gesture","hooray","yea","celebration"],skins:[{unified:"1f64c",native:"🙌"},{unified:"1f64c-1f3fb",native:"🙌🏻"},{unified:"1f64c-1f3fc",native:"🙌🏼"},{unified:"1f64c-1f3fd",native:"🙌🏽"},{unified:"1f64c-1f3fe",native:"🙌🏾"},{unified:"1f64c-1f3ff",native:"🙌🏿"}],version:1},heart_hands:{id:"heart_hands",name:"Heart Hands",keywords:["love","appreciation","support"],skins:[{unified:"1faf6",native:"🫶"},{unified:"1faf6-1f3fb",native:"🫶🏻"},{unified:"1faf6-1f3fc",native:"🫶🏼"},{unified:"1faf6-1f3fd",native:"🫶🏽"},{unified:"1faf6-1f3fe",native:"🫶🏾"},{unified:"1faf6-1f3ff",native:"🫶🏿"}],version:14},open_hands:{id:"open_hands",name:"Open Hands",keywords:["fingers","butterfly"],skins:[{unified:"1f450",native:"👐"},{unified:"1f450-1f3fb",native:"👐🏻"},{unified:"1f450-1f3fc",native:"👐🏼"},{unified:"1f450-1f3fd",native:"👐🏽"},{unified:"1f450-1f3fe",native:"👐🏾"},{unified:"1f450-1f3ff",native:"👐🏿"}],version:1},palms_up_together:{id:"palms_up_together",name:"Palms Up Together",keywords:["hands","gesture","cupped","prayer"],skins:[{unified:"1f932",native:"🤲"},{unified:"1f932-1f3fb",native:"🤲🏻"},{unified:"1f932-1f3fc",native:"🤲🏼"},{unified:"1f932-1f3fd",native:"🤲🏽"},{unified:"1f932-1f3fe",native:"🤲🏾"},{unified:"1f932-1f3ff",native:"🤲🏿"}],version:5},handshake:{id:"handshake",name:"Handshake",keywords:["agreement","shake"],skins:[{unified:"1f91d",native:"🤝"},{unified:"1f91d-1f3fb",native:"🤝🏻"},{unified:"1f91d-1f3fc",native:"🤝🏼"},{unified:"1f91d-1f3fd",native:"🤝🏽"},{unified:"1f91d-1f3fe",native:"🤝🏾"},{unified:"1f91d-1f3ff",native:"🤝🏿"}],version:3},pray:{id:"pray",name:"Folded Hands",keywords:["pray","please","hope","wish","namaste","highfive","high","five","thank","you","thanks","appreciate"],skins:[{unified:"1f64f",native:"🙏"},{unified:"1f64f-1f3fb",native:"🙏🏻"},{unified:"1f64f-1f3fc",native:"🙏🏼"},{unified:"1f64f-1f3fd",native:"🙏🏽"},{unified:"1f64f-1f3fe",native:"🙏🏾"},{unified:"1f64f-1f3ff",native:"🙏🏿"}],version:1},writing_hand:{id:"writing_hand",name:"Writing Hand",keywords:["lower","left","ballpoint","pen","stationery","write","compose"],skins:[{unified:"270d-fe0f",native:"✍️"},{unified:"270d-1f3fb",native:"✍🏻"},{unified:"270d-1f3fc",native:"✍🏼"},{unified:"270d-1f3fd",native:"✍🏽"},{unified:"270d-1f3fe",native:"✍🏾"},{unified:"270d-1f3ff",native:"✍🏿"}],version:1},nail_care:{id:"nail_care",name:"Nail Polish",keywords:["care","beauty","manicure","finger","fashion"],skins:[{unified:"1f485",native:"💅"},{unified:"1f485-1f3fb",native:"💅🏻"},{unified:"1f485-1f3fc",native:"💅🏼"},{unified:"1f485-1f3fd",native:"💅🏽"},{unified:"1f485-1f3fe",native:"💅🏾"},{unified:"1f485-1f3ff",native:"💅🏿"}],version:1},selfie:{id:"selfie",name:"Selfie",keywords:["camera","phone"],skins:[{unified:"1f933",native:"🤳"},{unified:"1f933-1f3fb",native:"🤳🏻"},{unified:"1f933-1f3fc",native:"🤳🏼"},{unified:"1f933-1f3fd",native:"🤳🏽"},{unified:"1f933-1f3fe",native:"🤳🏾"},{unified:"1f933-1f3ff",native:"🤳🏿"}],version:3},muscle:{id:"muscle",name:"Flexed Biceps",keywords:["muscle","arm","flex","hand","summer","strong"],skins:[{unified:"1f4aa",native:"💪"},{unified:"1f4aa-1f3fb",native:"💪🏻"},{unified:"1f4aa-1f3fc",native:"💪🏼"},{unified:"1f4aa-1f3fd",native:"💪🏽"},{unified:"1f4aa-1f3fe",native:"💪🏾"},{unified:"1f4aa-1f3ff",native:"💪🏿"}],version:1},mechanical_arm:{id:"mechanical_arm",name:"Mechanical Arm",keywords:["accessibility"],skins:[{unified:"1f9be",native:"🦾"}],version:12},mechanical_leg:{id:"mechanical_leg",name:"Mechanical Leg",keywords:["accessibility"],skins:[{unified:"1f9bf",native:"🦿"}],version:12},leg:{id:"leg",name:"Leg",keywords:["kick","limb"],skins:[{unified:"1f9b5",native:"🦵"},{unified:"1f9b5-1f3fb",native:"🦵🏻"},{unified:"1f9b5-1f3fc",native:"🦵🏼"},{unified:"1f9b5-1f3fd",native:"🦵🏽"},{unified:"1f9b5-1f3fe",native:"🦵🏾"},{unified:"1f9b5-1f3ff",native:"🦵🏿"}],version:11},foot:{id:"foot",name:"Foot",keywords:["kick","stomp"],skins:[{unified:"1f9b6",native:"🦶"},{unified:"1f9b6-1f3fb",native:"🦶🏻"},{unified:"1f9b6-1f3fc",native:"🦶🏼"},{unified:"1f9b6-1f3fd",native:"🦶🏽"},{unified:"1f9b6-1f3fe",native:"🦶🏾"},{unified:"1f9b6-1f3ff",native:"🦶🏿"}],version:11},ear:{id:"ear",name:"Ear",keywords:["face","hear","sound","listen"],skins:[{unified:"1f442",native:"👂"},{unified:"1f442-1f3fb",native:"👂🏻"},{unified:"1f442-1f3fc",native:"👂🏼"},{unified:"1f442-1f3fd",native:"👂🏽"},{unified:"1f442-1f3fe",native:"👂🏾"},{unified:"1f442-1f3ff",native:"👂🏿"}],version:1},ear_with_hearing_aid:{id:"ear_with_hearing_aid",name:"Ear with Hearing Aid",keywords:["accessibility"],skins:[{unified:"1f9bb",native:"🦻"},{unified:"1f9bb-1f3fb",native:"🦻🏻"},{unified:"1f9bb-1f3fc",native:"🦻🏼"},{unified:"1f9bb-1f3fd",native:"🦻🏽"},{unified:"1f9bb-1f3fe",native:"🦻🏾"},{unified:"1f9bb-1f3ff",native:"🦻🏿"}],version:12},nose:{id:"nose",name:"Nose",keywords:["smell","sniff"],skins:[{unified:"1f443",native:"👃"},{unified:"1f443-1f3fb",native:"👃🏻"},{unified:"1f443-1f3fc",native:"👃🏼"},{unified:"1f443-1f3fd",native:"👃🏽"},{unified:"1f443-1f3fe",native:"👃🏾"},{unified:"1f443-1f3ff",native:"👃🏿"}],version:1},brain:{id:"brain",name:"Brain",keywords:["smart","intelligent"],skins:[{unified:"1f9e0",native:"🧠"}],version:5},anatomical_heart:{id:"anatomical_heart",name:"Anatomical Heart",keywords:["health","heartbeat"],skins:[{unified:"1fac0",native:"🫀"}],version:13},lungs:{id:"lungs",name:"Lungs",keywords:["breathe"],skins:[{unified:"1fac1",native:"🫁"}],version:13},tooth:{id:"tooth",name:"Tooth",keywords:["teeth","dentist"],skins:[{unified:"1f9b7",native:"🦷"}],version:11},bone:{id:"bone",name:"Bone",keywords:["skeleton"],skins:[{unified:"1f9b4",native:"🦴"}],version:11},eyes:{id:"eyes",name:"Eyes",keywords:["look","watch","stalk","peek","see"],skins:[{unified:"1f440",native:"👀"}],version:1},eye:{id:"eye",name:"Eye",keywords:["face","look","see","watch","stare"],skins:[{unified:"1f441-fe0f",native:"👁️"}],version:1},tongue:{id:"tongue",name:"Tongue",keywords:["mouth","playful"],skins:[{unified:"1f445",native:"👅"}],version:1},lips:{id:"lips",name:"Mouth",keywords:["lips","kiss"],skins:[{unified:"1f444",native:"👄"}],version:1},biting_lip:{id:"biting_lip",name:"Biting Lip",keywords:["flirt","sexy","pain","worry"],skins:[{unified:"1fae6",native:"🫦"}],version:14},baby:{id:"baby",name:"Baby",keywords:["child","boy","girl","toddler"],skins:[{unified:"1f476",native:"👶"},{unified:"1f476-1f3fb",native:"👶🏻"},{unified:"1f476-1f3fc",native:"👶🏼"},{unified:"1f476-1f3fd",native:"👶🏽"},{unified:"1f476-1f3fe",native:"👶🏾"},{unified:"1f476-1f3ff",native:"👶🏿"}],version:1},child:{id:"child",name:"Child",keywords:["gender","neutral","young"],skins:[{unified:"1f9d2",native:"🧒"},{unified:"1f9d2-1f3fb",native:"🧒🏻"},{unified:"1f9d2-1f3fc",native:"🧒🏼"},{unified:"1f9d2-1f3fd",native:"🧒🏽"},{unified:"1f9d2-1f3fe",native:"🧒🏾"},{unified:"1f9d2-1f3ff",native:"🧒🏿"}],version:5},boy:{id:"boy",name:"Boy",keywords:["man","male","guy","teenager"],skins:[{unified:"1f466",native:"👦"},{unified:"1f466-1f3fb",native:"👦🏻"},{unified:"1f466-1f3fc",native:"👦🏼"},{unified:"1f466-1f3fd",native:"👦🏽"},{unified:"1f466-1f3fe",native:"👦🏾"},{unified:"1f466-1f3ff",native:"👦🏿"}],version:1},girl:{id:"girl",name:"Girl",keywords:["female","woman","teenager"],skins:[{unified:"1f467",native:"👧"},{unified:"1f467-1f3fb",native:"👧🏻"},{unified:"1f467-1f3fc",native:"👧🏼"},{unified:"1f467-1f3fd",native:"👧🏽"},{unified:"1f467-1f3fe",native:"👧🏾"},{unified:"1f467-1f3ff",native:"👧🏿"}],version:1},adult:{id:"adult",name:"Adult",keywords:["person","gender","neutral"],skins:[{unified:"1f9d1",native:"🧑"},{unified:"1f9d1-1f3fb",native:"🧑🏻"},{unified:"1f9d1-1f3fc",native:"🧑🏼"},{unified:"1f9d1-1f3fd",native:"🧑🏽"},{unified:"1f9d1-1f3fe",native:"🧑🏾"},{unified:"1f9d1-1f3ff",native:"🧑🏿"}],version:5},person_with_blond_hair:{id:"person_with_blond_hair",name:"Person Blond Hair",keywords:["with","hairstyle"],skins:[{unified:"1f471",native:"👱"},{unified:"1f471-1f3fb",native:"👱🏻"},{unified:"1f471-1f3fc",native:"👱🏼"},{unified:"1f471-1f3fd",native:"👱🏽"},{unified:"1f471-1f3fe",native:"👱🏾"},{unified:"1f471-1f3ff",native:"👱🏿"}],version:1},man:{id:"man",name:"Man",keywords:["mustache","father","dad","guy","classy","sir","moustache"],skins:[{unified:"1f468",native:"👨"},{unified:"1f468-1f3fb",native:"👨🏻"},{unified:"1f468-1f3fc",native:"👨🏼"},{unified:"1f468-1f3fd",native:"👨🏽"},{unified:"1f468-1f3fe",native:"👨🏾"},{unified:"1f468-1f3ff",native:"👨🏿"}],version:1},bearded_person:{id:"bearded_person",name:"Person Beard",keywords:["bearded","man","bewhiskered"],skins:[{unified:"1f9d4",native:"🧔"},{unified:"1f9d4-1f3fb",native:"🧔🏻"},{unified:"1f9d4-1f3fc",native:"🧔🏼"},{unified:"1f9d4-1f3fd",native:"🧔🏽"},{unified:"1f9d4-1f3fe",native:"🧔🏾"},{unified:"1f9d4-1f3ff",native:"🧔🏿"}],version:5},man_with_beard:{id:"man_with_beard",name:"Man: Beard",keywords:["man","with","facial","hair"],skins:[{unified:"1f9d4-200d-2642-fe0f",native:"🧔‍♂️"},{unified:"1f9d4-1f3fb-200d-2642-fe0f",native:"🧔🏻‍♂️"},{unified:"1f9d4-1f3fc-200d-2642-fe0f",native:"🧔🏼‍♂️"},{unified:"1f9d4-1f3fd-200d-2642-fe0f",native:"🧔🏽‍♂️"},{unified:"1f9d4-1f3fe-200d-2642-fe0f",native:"🧔🏾‍♂️"},{unified:"1f9d4-1f3ff-200d-2642-fe0f",native:"🧔🏿‍♂️"}],version:13.1},woman_with_beard:{id:"woman_with_beard",name:"Woman: Beard",keywords:["woman","with","facial","hair"],skins:[{unified:"1f9d4-200d-2640-fe0f",native:"🧔‍♀️"},{unified:"1f9d4-1f3fb-200d-2640-fe0f",native:"🧔🏻‍♀️"},{unified:"1f9d4-1f3fc-200d-2640-fe0f",native:"🧔🏼‍♀️"},{unified:"1f9d4-1f3fd-200d-2640-fe0f",native:"🧔🏽‍♀️"},{unified:"1f9d4-1f3fe-200d-2640-fe0f",native:"🧔🏾‍♀️"},{unified:"1f9d4-1f3ff-200d-2640-fe0f",native:"🧔🏿‍♀️"}],version:13.1},red_haired_man:{id:"red_haired_man",name:"Man: Red Hair",keywords:["haired","man","hairstyle"],skins:[{unified:"1f468-200d-1f9b0",native:"👨‍🦰"},{unified:"1f468-1f3fb-200d-1f9b0",native:"👨🏻‍🦰"},{unified:"1f468-1f3fc-200d-1f9b0",native:"👨🏼‍🦰"},{unified:"1f468-1f3fd-200d-1f9b0",native:"👨🏽‍🦰"},{unified:"1f468-1f3fe-200d-1f9b0",native:"👨🏾‍🦰"},{unified:"1f468-1f3ff-200d-1f9b0",native:"👨🏿‍🦰"}],version:11},curly_haired_man:{id:"curly_haired_man",name:"Man: Curly Hair",keywords:["haired","man","hairstyle"],skins:[{unified:"1f468-200d-1f9b1",native:"👨‍🦱"},{unified:"1f468-1f3fb-200d-1f9b1",native:"👨🏻‍🦱"},{unified:"1f468-1f3fc-200d-1f9b1",native:"👨🏼‍🦱"},{unified:"1f468-1f3fd-200d-1f9b1",native:"👨🏽‍🦱"},{unified:"1f468-1f3fe-200d-1f9b1",native:"👨🏾‍🦱"},{unified:"1f468-1f3ff-200d-1f9b1",native:"👨🏿‍🦱"}],version:11},white_haired_man:{id:"white_haired_man",name:"Man: White Hair",keywords:["haired","man","old","elder"],skins:[{unified:"1f468-200d-1f9b3",native:"👨‍🦳"},{unified:"1f468-1f3fb-200d-1f9b3",native:"👨🏻‍🦳"},{unified:"1f468-1f3fc-200d-1f9b3",native:"👨🏼‍🦳"},{unified:"1f468-1f3fd-200d-1f9b3",native:"👨🏽‍🦳"},{unified:"1f468-1f3fe-200d-1f9b3",native:"👨🏾‍🦳"},{unified:"1f468-1f3ff-200d-1f9b3",native:"👨🏿‍🦳"}],version:11},bald_man:{id:"bald_man",name:"Man: Bald",keywords:["man","hairless"],skins:[{unified:"1f468-200d-1f9b2",native:"👨‍🦲"},{unified:"1f468-1f3fb-200d-1f9b2",native:"👨🏻‍🦲"},{unified:"1f468-1f3fc-200d-1f9b2",native:"👨🏼‍🦲"},{unified:"1f468-1f3fd-200d-1f9b2",native:"👨🏽‍🦲"},{unified:"1f468-1f3fe-200d-1f9b2",native:"👨🏾‍🦲"},{unified:"1f468-1f3ff-200d-1f9b2",native:"👨🏿‍🦲"}],version:11},woman:{id:"woman",name:"Woman",keywords:["female","girls","lady"],skins:[{unified:"1f469",native:"👩"},{unified:"1f469-1f3fb",native:"👩🏻"},{unified:"1f469-1f3fc",native:"👩🏼"},{unified:"1f469-1f3fd",native:"👩🏽"},{unified:"1f469-1f3fe",native:"👩🏾"},{unified:"1f469-1f3ff",native:"👩🏿"}],version:1},red_haired_woman:{id:"red_haired_woman",name:"Woman: Red Hair",keywords:["haired","woman","hairstyle"],skins:[{unified:"1f469-200d-1f9b0",native:"👩‍🦰"},{unified:"1f469-1f3fb-200d-1f9b0",native:"👩🏻‍🦰"},{unified:"1f469-1f3fc-200d-1f9b0",native:"👩🏼‍🦰"},{unified:"1f469-1f3fd-200d-1f9b0",native:"👩🏽‍🦰"},{unified:"1f469-1f3fe-200d-1f9b0",native:"👩🏾‍🦰"},{unified:"1f469-1f3ff-200d-1f9b0",native:"👩🏿‍🦰"}],version:11},red_haired_person:{id:"red_haired_person",name:"Person: Red Hair",keywords:["haired","person","hairstyle"],skins:[{unified:"1f9d1-200d-1f9b0",native:"🧑‍🦰"},{unified:"1f9d1-1f3fb-200d-1f9b0",native:"🧑🏻‍🦰"},{unified:"1f9d1-1f3fc-200d-1f9b0",native:"🧑🏼‍🦰"},{unified:"1f9d1-1f3fd-200d-1f9b0",native:"🧑🏽‍🦰"},{unified:"1f9d1-1f3fe-200d-1f9b0",native:"🧑🏾‍🦰"},{unified:"1f9d1-1f3ff-200d-1f9b0",native:"🧑🏿‍🦰"}],version:12.1},curly_haired_woman:{id:"curly_haired_woman",name:"Woman: Curly Hair",keywords:["haired","woman","hairstyle"],skins:[{unified:"1f469-200d-1f9b1",native:"👩‍🦱"},{unified:"1f469-1f3fb-200d-1f9b1",native:"👩🏻‍🦱"},{unified:"1f469-1f3fc-200d-1f9b1",native:"👩🏼‍🦱"},{unified:"1f469-1f3fd-200d-1f9b1",native:"👩🏽‍🦱"},{unified:"1f469-1f3fe-200d-1f9b1",native:"👩🏾‍🦱"},{unified:"1f469-1f3ff-200d-1f9b1",native:"👩🏿‍🦱"}],version:11},curly_haired_person:{id:"curly_haired_person",name:"Person: Curly Hair",keywords:["haired","person","hairstyle"],skins:[{unified:"1f9d1-200d-1f9b1",native:"🧑‍🦱"},{unified:"1f9d1-1f3fb-200d-1f9b1",native:"🧑🏻‍🦱"},{unified:"1f9d1-1f3fc-200d-1f9b1",native:"🧑🏼‍🦱"},{unified:"1f9d1-1f3fd-200d-1f9b1",native:"🧑🏽‍🦱"},{unified:"1f9d1-1f3fe-200d-1f9b1",native:"🧑🏾‍🦱"},{unified:"1f9d1-1f3ff-200d-1f9b1",native:"🧑🏿‍🦱"}],version:12.1},white_haired_woman:{id:"white_haired_woman",name:"Woman: White Hair",keywords:["haired","woman","old","elder"],skins:[{unified:"1f469-200d-1f9b3",native:"👩‍🦳"},{unified:"1f469-1f3fb-200d-1f9b3",native:"👩🏻‍🦳"},{unified:"1f469-1f3fc-200d-1f9b3",native:"👩🏼‍🦳"},{unified:"1f469-1f3fd-200d-1f9b3",native:"👩🏽‍🦳"},{unified:"1f469-1f3fe-200d-1f9b3",native:"👩🏾‍🦳"},{unified:"1f469-1f3ff-200d-1f9b3",native:"👩🏿‍🦳"}],version:11},white_haired_person:{id:"white_haired_person",name:"Person: White Hair",keywords:["haired","person","elder","old"],skins:[{unified:"1f9d1-200d-1f9b3",native:"🧑‍🦳"},{unified:"1f9d1-1f3fb-200d-1f9b3",native:"🧑🏻‍🦳"},{unified:"1f9d1-1f3fc-200d-1f9b3",native:"🧑🏼‍🦳"},{unified:"1f9d1-1f3fd-200d-1f9b3",native:"🧑🏽‍🦳"},{unified:"1f9d1-1f3fe-200d-1f9b3",native:"🧑🏾‍🦳"},{unified:"1f9d1-1f3ff-200d-1f9b3",native:"🧑🏿‍🦳"}],version:12.1},bald_woman:{id:"bald_woman",name:"Woman: Bald",keywords:["woman","hairless"],skins:[{unified:"1f469-200d-1f9b2",native:"👩‍🦲"},{unified:"1f469-1f3fb-200d-1f9b2",native:"👩🏻‍🦲"},{unified:"1f469-1f3fc-200d-1f9b2",native:"👩🏼‍🦲"},{unified:"1f469-1f3fd-200d-1f9b2",native:"👩🏽‍🦲"},{unified:"1f469-1f3fe-200d-1f9b2",native:"👩🏾‍🦲"},{unified:"1f469-1f3ff-200d-1f9b2",native:"👩🏿‍🦲"}],version:11},bald_person:{id:"bald_person",name:"Person: Bald",keywords:["person","hairless"],skins:[{unified:"1f9d1-200d-1f9b2",native:"🧑‍🦲"},{unified:"1f9d1-1f3fb-200d-1f9b2",native:"🧑🏻‍🦲"},{unified:"1f9d1-1f3fc-200d-1f9b2",native:"🧑🏼‍🦲"},{unified:"1f9d1-1f3fd-200d-1f9b2",native:"🧑🏽‍🦲"},{unified:"1f9d1-1f3fe-200d-1f9b2",native:"🧑🏾‍🦲"},{unified:"1f9d1-1f3ff-200d-1f9b2",native:"🧑🏿‍🦲"}],version:12.1},"blond-haired-woman":{id:"blond-haired-woman",name:"Woman: Blond Hair",keywords:["haired-woman","woman","female","girl","blonde","person"],skins:[{unified:"1f471-200d-2640-fe0f",native:"👱‍♀️"},{unified:"1f471-1f3fb-200d-2640-fe0f",native:"👱🏻‍♀️"},{unified:"1f471-1f3fc-200d-2640-fe0f",native:"👱🏼‍♀️"},{unified:"1f471-1f3fd-200d-2640-fe0f",native:"👱🏽‍♀️"},{unified:"1f471-1f3fe-200d-2640-fe0f",native:"👱🏾‍♀️"},{unified:"1f471-1f3ff-200d-2640-fe0f",native:"👱🏿‍♀️"}],version:4},"blond-haired-man":{id:"blond-haired-man",name:"Man: Blond Hair",keywords:["haired-man","man","male","boy","blonde","guy","person"],skins:[{unified:"1f471-200d-2642-fe0f",native:"👱‍♂️"},{unified:"1f471-1f3fb-200d-2642-fe0f",native:"👱🏻‍♂️"},{unified:"1f471-1f3fc-200d-2642-fe0f",native:"👱🏼‍♂️"},{unified:"1f471-1f3fd-200d-2642-fe0f",native:"👱🏽‍♂️"},{unified:"1f471-1f3fe-200d-2642-fe0f",native:"👱🏾‍♂️"},{unified:"1f471-1f3ff-200d-2642-fe0f",native:"👱🏿‍♂️"}],version:4},older_adult:{id:"older_adult",name:"Older Adult",keywords:["person","human","elder","senior","gender","neutral"],skins:[{unified:"1f9d3",native:"🧓"},{unified:"1f9d3-1f3fb",native:"🧓🏻"},{unified:"1f9d3-1f3fc",native:"🧓🏼"},{unified:"1f9d3-1f3fd",native:"🧓🏽"},{unified:"1f9d3-1f3fe",native:"🧓🏾"},{unified:"1f9d3-1f3ff",native:"🧓🏿"}],version:5},older_man:{id:"older_man",name:"Old Man",keywords:["older","human","male","men","elder","senior"],skins:[{unified:"1f474",native:"👴"},{unified:"1f474-1f3fb",native:"👴🏻"},{unified:"1f474-1f3fc",native:"👴🏼"},{unified:"1f474-1f3fd",native:"👴🏽"},{unified:"1f474-1f3fe",native:"👴🏾"},{unified:"1f474-1f3ff",native:"👴🏿"}],version:1},older_woman:{id:"older_woman",name:"Old Woman",keywords:["older","human","female","women","lady","elder","senior"],skins:[{unified:"1f475",native:"👵"},{unified:"1f475-1f3fb",native:"👵🏻"},{unified:"1f475-1f3fc",native:"👵🏼"},{unified:"1f475-1f3fd",native:"👵🏽"},{unified:"1f475-1f3fe",native:"👵🏾"},{unified:"1f475-1f3ff",native:"👵🏿"}],version:1},person_frowning:{id:"person_frowning",name:"Person Frowning",keywords:["worried"],skins:[{unified:"1f64d",native:"🙍"},{unified:"1f64d-1f3fb",native:"🙍🏻"},{unified:"1f64d-1f3fc",native:"🙍🏼"},{unified:"1f64d-1f3fd",native:"🙍🏽"},{unified:"1f64d-1f3fe",native:"🙍🏾"},{unified:"1f64d-1f3ff",native:"🙍🏿"}],version:1},"man-frowning":{id:"man-frowning",name:"Man Frowning",keywords:["male","boy","sad","depressed","discouraged","unhappy"],skins:[{unified:"1f64d-200d-2642-fe0f",native:"🙍‍♂️"},{unified:"1f64d-1f3fb-200d-2642-fe0f",native:"🙍🏻‍♂️"},{unified:"1f64d-1f3fc-200d-2642-fe0f",native:"🙍🏼‍♂️"},{unified:"1f64d-1f3fd-200d-2642-fe0f",native:"🙍🏽‍♂️"},{unified:"1f64d-1f3fe-200d-2642-fe0f",native:"🙍🏾‍♂️"},{unified:"1f64d-1f3ff-200d-2642-fe0f",native:"🙍🏿‍♂️"}],version:4},"woman-frowning":{id:"woman-frowning",name:"Woman Frowning",keywords:["female","girl","sad","depressed","discouraged","unhappy"],skins:[{unified:"1f64d-200d-2640-fe0f",native:"🙍‍♀️"},{unified:"1f64d-1f3fb-200d-2640-fe0f",native:"🙍🏻‍♀️"},{unified:"1f64d-1f3fc-200d-2640-fe0f",native:"🙍🏼‍♀️"},{unified:"1f64d-1f3fd-200d-2640-fe0f",native:"🙍🏽‍♀️"},{unified:"1f64d-1f3fe-200d-2640-fe0f",native:"🙍🏾‍♀️"},{unified:"1f64d-1f3ff-200d-2640-fe0f",native:"🙍🏿‍♀️"}],version:4},person_with_pouting_face:{id:"person_with_pouting_face",name:"Person Pouting",keywords:["with","face","upset"],skins:[{unified:"1f64e",native:"🙎"},{unified:"1f64e-1f3fb",native:"🙎🏻"},{unified:"1f64e-1f3fc",native:"🙎🏼"},{unified:"1f64e-1f3fd",native:"🙎🏽"},{unified:"1f64e-1f3fe",native:"🙎🏾"},{unified:"1f64e-1f3ff",native:"🙎🏿"}],version:1},"man-pouting":{id:"man-pouting",name:"Man Pouting",keywords:["male","boy"],skins:[{unified:"1f64e-200d-2642-fe0f",native:"🙎‍♂️"},{unified:"1f64e-1f3fb-200d-2642-fe0f",native:"🙎🏻‍♂️"},{unified:"1f64e-1f3fc-200d-2642-fe0f",native:"🙎🏼‍♂️"},{unified:"1f64e-1f3fd-200d-2642-fe0f",native:"🙎🏽‍♂️"},{unified:"1f64e-1f3fe-200d-2642-fe0f",native:"🙎🏾‍♂️"},{unified:"1f64e-1f3ff-200d-2642-fe0f",native:"🙎🏿‍♂️"}],version:4},"woman-pouting":{id:"woman-pouting",name:"Woman Pouting",keywords:["female","girl"],skins:[{unified:"1f64e-200d-2640-fe0f",native:"🙎‍♀️"},{unified:"1f64e-1f3fb-200d-2640-fe0f",native:"🙎🏻‍♀️"},{unified:"1f64e-1f3fc-200d-2640-fe0f",native:"🙎🏼‍♀️"},{unified:"1f64e-1f3fd-200d-2640-fe0f",native:"🙎🏽‍♀️"},{unified:"1f64e-1f3fe-200d-2640-fe0f",native:"🙎🏾‍♀️"},{unified:"1f64e-1f3ff-200d-2640-fe0f",native:"🙎🏿‍♀️"}],version:4},no_good:{id:"no_good",name:"Person Gesturing No",keywords:["good","decline"],skins:[{unified:"1f645",native:"🙅"},{unified:"1f645-1f3fb",native:"🙅🏻"},{unified:"1f645-1f3fc",native:"🙅🏼"},{unified:"1f645-1f3fd",native:"🙅🏽"},{unified:"1f645-1f3fe",native:"🙅🏾"},{unified:"1f645-1f3ff",native:"🙅🏿"}],version:1},"man-gesturing-no":{id:"man-gesturing-no",name:"Man Gesturing No",keywords:["gesturing-no","male","boy","nope"],skins:[{unified:"1f645-200d-2642-fe0f",native:"🙅‍♂️"},{unified:"1f645-1f3fb-200d-2642-fe0f",native:"🙅🏻‍♂️"},{unified:"1f645-1f3fc-200d-2642-fe0f",native:"🙅🏼‍♂️"},{unified:"1f645-1f3fd-200d-2642-fe0f",native:"🙅🏽‍♂️"},{unified:"1f645-1f3fe-200d-2642-fe0f",native:"🙅🏾‍♂️"},{unified:"1f645-1f3ff-200d-2642-fe0f",native:"🙅🏿‍♂️"}],version:4},"woman-gesturing-no":{id:"woman-gesturing-no",name:"Woman Gesturing No",keywords:["gesturing-no","female","girl","nope"],skins:[{unified:"1f645-200d-2640-fe0f",native:"🙅‍♀️"},{unified:"1f645-1f3fb-200d-2640-fe0f",native:"🙅🏻‍♀️"},{unified:"1f645-1f3fc-200d-2640-fe0f",native:"🙅🏼‍♀️"},{unified:"1f645-1f3fd-200d-2640-fe0f",native:"🙅🏽‍♀️"},{unified:"1f645-1f3fe-200d-2640-fe0f",native:"🙅🏾‍♀️"},{unified:"1f645-1f3ff-200d-2640-fe0f",native:"🙅🏿‍♀️"}],version:4},ok_woman:{id:"ok_woman",name:"Person Gesturing Ok",keywords:["woman","agree"],skins:[{unified:"1f646",native:"🙆"},{unified:"1f646-1f3fb",native:"🙆🏻"},{unified:"1f646-1f3fc",native:"🙆🏼"},{unified:"1f646-1f3fd",native:"🙆🏽"},{unified:"1f646-1f3fe",native:"🙆🏾"},{unified:"1f646-1f3ff",native:"🙆🏿"}],version:1},"man-gesturing-ok":{id:"man-gesturing-ok",name:"Man Gesturing Ok",keywords:["gesturing-ok","men","boy","male","blue","human"],skins:[{unified:"1f646-200d-2642-fe0f",native:"🙆‍♂️"},{unified:"1f646-1f3fb-200d-2642-fe0f",native:"🙆🏻‍♂️"},{unified:"1f646-1f3fc-200d-2642-fe0f",native:"🙆🏼‍♂️"},{unified:"1f646-1f3fd-200d-2642-fe0f",native:"🙆🏽‍♂️"},{unified:"1f646-1f3fe-200d-2642-fe0f",native:"🙆🏾‍♂️"},{unified:"1f646-1f3ff-200d-2642-fe0f",native:"🙆🏿‍♂️"}],version:4},"woman-gesturing-ok":{id:"woman-gesturing-ok",name:"Woman Gesturing Ok",keywords:["gesturing-ok","women","girl","female","pink","human"],skins:[{unified:"1f646-200d-2640-fe0f",native:"🙆‍♀️"},{unified:"1f646-1f3fb-200d-2640-fe0f",native:"🙆🏻‍♀️"},{unified:"1f646-1f3fc-200d-2640-fe0f",native:"🙆🏼‍♀️"},{unified:"1f646-1f3fd-200d-2640-fe0f",native:"🙆🏽‍♀️"},{unified:"1f646-1f3fe-200d-2640-fe0f",native:"🙆🏾‍♀️"},{unified:"1f646-1f3ff-200d-2640-fe0f",native:"🙆🏿‍♀️"}],version:4},information_desk_person:{id:"information_desk_person",name:"Person Tipping Hand",keywords:["information","desk"],skins:[{unified:"1f481",native:"💁"},{unified:"1f481-1f3fb",native:"💁🏻"},{unified:"1f481-1f3fc",native:"💁🏼"},{unified:"1f481-1f3fd",native:"💁🏽"},{unified:"1f481-1f3fe",native:"💁🏾"},{unified:"1f481-1f3ff",native:"💁🏿"}],version:1},"man-tipping-hand":{id:"man-tipping-hand",name:"Man Tipping Hand",keywords:["tipping-hand","male","boy","human","information"],skins:[{unified:"1f481-200d-2642-fe0f",native:"💁‍♂️"},{unified:"1f481-1f3fb-200d-2642-fe0f",native:"💁🏻‍♂️"},{unified:"1f481-1f3fc-200d-2642-fe0f",native:"💁🏼‍♂️"},{unified:"1f481-1f3fd-200d-2642-fe0f",native:"💁🏽‍♂️"},{unified:"1f481-1f3fe-200d-2642-fe0f",native:"💁🏾‍♂️"},{unified:"1f481-1f3ff-200d-2642-fe0f",native:"💁🏿‍♂️"}],version:4},"woman-tipping-hand":{id:"woman-tipping-hand",name:"Woman Tipping Hand",keywords:["tipping-hand","female","girl","human","information"],skins:[{unified:"1f481-200d-2640-fe0f",native:"💁‍♀️"},{unified:"1f481-1f3fb-200d-2640-fe0f",native:"💁🏻‍♀️"},{unified:"1f481-1f3fc-200d-2640-fe0f",native:"💁🏼‍♀️"},{unified:"1f481-1f3fd-200d-2640-fe0f",native:"💁🏽‍♀️"},{unified:"1f481-1f3fe-200d-2640-fe0f",native:"💁🏾‍♀️"},{unified:"1f481-1f3ff-200d-2640-fe0f",native:"💁🏿‍♀️"}],version:4},raising_hand:{id:"raising_hand",name:"Person Raising Hand",keywords:["question"],skins:[{unified:"1f64b",native:"🙋"},{unified:"1f64b-1f3fb",native:"🙋🏻"},{unified:"1f64b-1f3fc",native:"🙋🏼"},{unified:"1f64b-1f3fd",native:"🙋🏽"},{unified:"1f64b-1f3fe",native:"🙋🏾"},{unified:"1f64b-1f3ff",native:"🙋🏿"}],version:1},"man-raising-hand":{id:"man-raising-hand",name:"Man Raising Hand",keywords:["raising-hand","male","boy"],skins:[{unified:"1f64b-200d-2642-fe0f",native:"🙋‍♂️"},{unified:"1f64b-1f3fb-200d-2642-fe0f",native:"🙋🏻‍♂️"},{unified:"1f64b-1f3fc-200d-2642-fe0f",native:"🙋🏼‍♂️"},{unified:"1f64b-1f3fd-200d-2642-fe0f",native:"🙋🏽‍♂️"},{unified:"1f64b-1f3fe-200d-2642-fe0f",native:"🙋🏾‍♂️"},{unified:"1f64b-1f3ff-200d-2642-fe0f",native:"🙋🏿‍♂️"}],version:4},"woman-raising-hand":{id:"woman-raising-hand",name:"Woman Raising Hand",keywords:["raising-hand","female","girl"],skins:[{unified:"1f64b-200d-2640-fe0f",native:"🙋‍♀️"},{unified:"1f64b-1f3fb-200d-2640-fe0f",native:"🙋🏻‍♀️"},{unified:"1f64b-1f3fc-200d-2640-fe0f",native:"🙋🏼‍♀️"},{unified:"1f64b-1f3fd-200d-2640-fe0f",native:"🙋🏽‍♀️"},{unified:"1f64b-1f3fe-200d-2640-fe0f",native:"🙋🏾‍♀️"},{unified:"1f64b-1f3ff-200d-2640-fe0f",native:"🙋🏿‍♀️"}],version:4},deaf_person:{id:"deaf_person",name:"Deaf Person",keywords:["accessibility"],skins:[{unified:"1f9cf",native:"🧏"},{unified:"1f9cf-1f3fb",native:"🧏🏻"},{unified:"1f9cf-1f3fc",native:"🧏🏼"},{unified:"1f9cf-1f3fd",native:"🧏🏽"},{unified:"1f9cf-1f3fe",native:"🧏🏾"},{unified:"1f9cf-1f3ff",native:"🧏🏿"}],version:12},deaf_man:{id:"deaf_man",name:"Deaf Man",keywords:["accessibility"],skins:[{unified:"1f9cf-200d-2642-fe0f",native:"🧏‍♂️"},{unified:"1f9cf-1f3fb-200d-2642-fe0f",native:"🧏🏻‍♂️"},{unified:"1f9cf-1f3fc-200d-2642-fe0f",native:"🧏🏼‍♂️"},{unified:"1f9cf-1f3fd-200d-2642-fe0f",native:"🧏🏽‍♂️"},{unified:"1f9cf-1f3fe-200d-2642-fe0f",native:"🧏🏾‍♂️"},{unified:"1f9cf-1f3ff-200d-2642-fe0f",native:"🧏🏿‍♂️"}],version:12},deaf_woman:{id:"deaf_woman",name:"Deaf Woman",keywords:["accessibility"],skins:[{unified:"1f9cf-200d-2640-fe0f",native:"🧏‍♀️"},{unified:"1f9cf-1f3fb-200d-2640-fe0f",native:"🧏🏻‍♀️"},{unified:"1f9cf-1f3fc-200d-2640-fe0f",native:"🧏🏼‍♀️"},{unified:"1f9cf-1f3fd-200d-2640-fe0f",native:"🧏🏽‍♀️"},{unified:"1f9cf-1f3fe-200d-2640-fe0f",native:"🧏🏾‍♀️"},{unified:"1f9cf-1f3ff-200d-2640-fe0f",native:"🧏🏿‍♀️"}],version:12},bow:{id:"bow",name:"Person Bowing",keywords:["bow","respectiful"],skins:[{unified:"1f647",native:"🙇"},{unified:"1f647-1f3fb",native:"🙇🏻"},{unified:"1f647-1f3fc",native:"🙇🏼"},{unified:"1f647-1f3fd",native:"🙇🏽"},{unified:"1f647-1f3fe",native:"🙇🏾"},{unified:"1f647-1f3ff",native:"🙇🏿"}],version:1},"man-bowing":{id:"man-bowing",name:"Man Bowing",keywords:["male","boy"],skins:[{unified:"1f647-200d-2642-fe0f",native:"🙇‍♂️"},{unified:"1f647-1f3fb-200d-2642-fe0f",native:"🙇🏻‍♂️"},{unified:"1f647-1f3fc-200d-2642-fe0f",native:"🙇🏼‍♂️"},{unified:"1f647-1f3fd-200d-2642-fe0f",native:"🙇🏽‍♂️"},{unified:"1f647-1f3fe-200d-2642-fe0f",native:"🙇🏾‍♂️"},{unified:"1f647-1f3ff-200d-2642-fe0f",native:"🙇🏿‍♂️"}],version:4},"woman-bowing":{id:"woman-bowing",name:"Woman Bowing",keywords:["female","girl"],skins:[{unified:"1f647-200d-2640-fe0f",native:"🙇‍♀️"},{unified:"1f647-1f3fb-200d-2640-fe0f",native:"🙇🏻‍♀️"},{unified:"1f647-1f3fc-200d-2640-fe0f",native:"🙇🏼‍♀️"},{unified:"1f647-1f3fd-200d-2640-fe0f",native:"🙇🏽‍♀️"},{unified:"1f647-1f3fe-200d-2640-fe0f",native:"🙇🏾‍♀️"},{unified:"1f647-1f3ff-200d-2640-fe0f",native:"🙇🏿‍♀️"}],version:4},face_palm:{id:"face_palm",name:"Face Palm",keywords:["person","facepalming","disappointed"],skins:[{unified:"1f926",native:"🤦"},{unified:"1f926-1f3fb",native:"🤦🏻"},{unified:"1f926-1f3fc",native:"🤦🏼"},{unified:"1f926-1f3fd",native:"🤦🏽"},{unified:"1f926-1f3fe",native:"🤦🏾"},{unified:"1f926-1f3ff",native:"🤦🏿"}],version:3},"man-facepalming":{id:"man-facepalming",name:"Man Facepalming",keywords:["male","boy","disbelief"],skins:[{unified:"1f926-200d-2642-fe0f",native:"🤦‍♂️"},{unified:"1f926-1f3fb-200d-2642-fe0f",native:"🤦🏻‍♂️"},{unified:"1f926-1f3fc-200d-2642-fe0f",native:"🤦🏼‍♂️"},{unified:"1f926-1f3fd-200d-2642-fe0f",native:"🤦🏽‍♂️"},{unified:"1f926-1f3fe-200d-2642-fe0f",native:"🤦🏾‍♂️"},{unified:"1f926-1f3ff-200d-2642-fe0f",native:"🤦🏿‍♂️"}],version:4},"woman-facepalming":{id:"woman-facepalming",name:"Woman Facepalming",keywords:["female","girl","disbelief"],skins:[{unified:"1f926-200d-2640-fe0f",native:"🤦‍♀️"},{unified:"1f926-1f3fb-200d-2640-fe0f",native:"🤦🏻‍♀️"},{unified:"1f926-1f3fc-200d-2640-fe0f",native:"🤦🏼‍♀️"},{unified:"1f926-1f3fd-200d-2640-fe0f",native:"🤦🏽‍♀️"},{unified:"1f926-1f3fe-200d-2640-fe0f",native:"🤦🏾‍♀️"},{unified:"1f926-1f3ff-200d-2640-fe0f",native:"🤦🏿‍♀️"}],version:4},shrug:{id:"shrug",name:"Shrug",keywords:["person","shrugging","regardless"],skins:[{unified:"1f937",native:"🤷"},{unified:"1f937-1f3fb",native:"🤷🏻"},{unified:"1f937-1f3fc",native:"🤷🏼"},{unified:"1f937-1f3fd",native:"🤷🏽"},{unified:"1f937-1f3fe",native:"🤷🏾"},{unified:"1f937-1f3ff",native:"🤷🏿"}],version:3},"man-shrugging":{id:"man-shrugging",name:"Man Shrugging",keywords:["male","boy","confused","indifferent","doubt"],skins:[{unified:"1f937-200d-2642-fe0f",native:"🤷‍♂️"},{unified:"1f937-1f3fb-200d-2642-fe0f",native:"🤷🏻‍♂️"},{unified:"1f937-1f3fc-200d-2642-fe0f",native:"🤷🏼‍♂️"},{unified:"1f937-1f3fd-200d-2642-fe0f",native:"🤷🏽‍♂️"},{unified:"1f937-1f3fe-200d-2642-fe0f",native:"🤷🏾‍♂️"},{unified:"1f937-1f3ff-200d-2642-fe0f",native:"🤷🏿‍♂️"}],version:4},"woman-shrugging":{id:"woman-shrugging",name:"Woman Shrugging",keywords:["female","girl","confused","indifferent","doubt"],skins:[{unified:"1f937-200d-2640-fe0f",native:"🤷‍♀️"},{unified:"1f937-1f3fb-200d-2640-fe0f",native:"🤷🏻‍♀️"},{unified:"1f937-1f3fc-200d-2640-fe0f",native:"🤷🏼‍♀️"},{unified:"1f937-1f3fd-200d-2640-fe0f",native:"🤷🏽‍♀️"},{unified:"1f937-1f3fe-200d-2640-fe0f",native:"🤷🏾‍♀️"},{unified:"1f937-1f3ff-200d-2640-fe0f",native:"🤷🏿‍♀️"}],version:4},health_worker:{id:"health_worker",name:"Health Worker",keywords:["hospital"],skins:[{unified:"1f9d1-200d-2695-fe0f",native:"🧑‍⚕️"},{unified:"1f9d1-1f3fb-200d-2695-fe0f",native:"🧑🏻‍⚕️"},{unified:"1f9d1-1f3fc-200d-2695-fe0f",native:"🧑🏼‍⚕️"},{unified:"1f9d1-1f3fd-200d-2695-fe0f",native:"🧑🏽‍⚕️"},{unified:"1f9d1-1f3fe-200d-2695-fe0f",native:"🧑🏾‍⚕️"},{unified:"1f9d1-1f3ff-200d-2695-fe0f",native:"🧑🏿‍⚕️"}],version:12.1},"male-doctor":{id:"male-doctor",name:"Man Health Worker",keywords:["male","doctor","nurse","therapist","healthcare","human"],skins:[{unified:"1f468-200d-2695-fe0f",native:"👨‍⚕️"},{unified:"1f468-1f3fb-200d-2695-fe0f",native:"👨🏻‍⚕️"},{unified:"1f468-1f3fc-200d-2695-fe0f",native:"👨🏼‍⚕️"},{unified:"1f468-1f3fd-200d-2695-fe0f",native:"👨🏽‍⚕️"},{unified:"1f468-1f3fe-200d-2695-fe0f",native:"👨🏾‍⚕️"},{unified:"1f468-1f3ff-200d-2695-fe0f",native:"👨🏿‍⚕️"}],version:4},"female-doctor":{id:"female-doctor",name:"Woman Health Worker",keywords:["female","doctor","nurse","therapist","healthcare","human"],skins:[{unified:"1f469-200d-2695-fe0f",native:"👩‍⚕️"},{unified:"1f469-1f3fb-200d-2695-fe0f",native:"👩🏻‍⚕️"},{unified:"1f469-1f3fc-200d-2695-fe0f",native:"👩🏼‍⚕️"},{unified:"1f469-1f3fd-200d-2695-fe0f",native:"👩🏽‍⚕️"},{unified:"1f469-1f3fe-200d-2695-fe0f",native:"👩🏾‍⚕️"},{unified:"1f469-1f3ff-200d-2695-fe0f",native:"👩🏿‍⚕️"}],version:4},student:{id:"student",name:"Student",keywords:["learn"],skins:[{unified:"1f9d1-200d-1f393",native:"🧑‍🎓"},{unified:"1f9d1-1f3fb-200d-1f393",native:"🧑🏻‍🎓"},{unified:"1f9d1-1f3fc-200d-1f393",native:"🧑🏼‍🎓"},{unified:"1f9d1-1f3fd-200d-1f393",native:"🧑🏽‍🎓"},{unified:"1f9d1-1f3fe-200d-1f393",native:"🧑🏾‍🎓"},{unified:"1f9d1-1f3ff-200d-1f393",native:"🧑🏿‍🎓"}],version:12.1},"male-student":{id:"male-student",name:"Man Student",keywords:["male","graduate","human"],skins:[{unified:"1f468-200d-1f393",native:"👨‍🎓"},{unified:"1f468-1f3fb-200d-1f393",native:"👨🏻‍🎓"},{unified:"1f468-1f3fc-200d-1f393",native:"👨🏼‍🎓"},{unified:"1f468-1f3fd-200d-1f393",native:"👨🏽‍🎓"},{unified:"1f468-1f3fe-200d-1f393",native:"👨🏾‍🎓"},{unified:"1f468-1f3ff-200d-1f393",native:"👨🏿‍🎓"}],version:4},"female-student":{id:"female-student",name:"Woman Student",keywords:["female","graduate","human"],skins:[{unified:"1f469-200d-1f393",native:"👩‍🎓"},{unified:"1f469-1f3fb-200d-1f393",native:"👩🏻‍🎓"},{unified:"1f469-1f3fc-200d-1f393",native:"👩🏼‍🎓"},{unified:"1f469-1f3fd-200d-1f393",native:"👩🏽‍🎓"},{unified:"1f469-1f3fe-200d-1f393",native:"👩🏾‍🎓"},{unified:"1f469-1f3ff-200d-1f393",native:"👩🏿‍🎓"}],version:4},teacher:{id:"teacher",name:"Teacher",keywords:["professor"],skins:[{unified:"1f9d1-200d-1f3eb",native:"🧑‍🏫"},{unified:"1f9d1-1f3fb-200d-1f3eb",native:"🧑🏻‍🏫"},{unified:"1f9d1-1f3fc-200d-1f3eb",native:"🧑🏼‍🏫"},{unified:"1f9d1-1f3fd-200d-1f3eb",native:"🧑🏽‍🏫"},{unified:"1f9d1-1f3fe-200d-1f3eb",native:"🧑🏾‍🏫"},{unified:"1f9d1-1f3ff-200d-1f3eb",native:"🧑🏿‍🏫"}],version:12.1},"male-teacher":{id:"male-teacher",name:"Man Teacher",keywords:["male","instructor","professor","human"],skins:[{unified:"1f468-200d-1f3eb",native:"👨‍🏫"},{unified:"1f468-1f3fb-200d-1f3eb",native:"👨🏻‍🏫"},{unified:"1f468-1f3fc-200d-1f3eb",native:"👨🏼‍🏫"},{unified:"1f468-1f3fd-200d-1f3eb",native:"👨🏽‍🏫"},{unified:"1f468-1f3fe-200d-1f3eb",native:"👨🏾‍🏫"},{unified:"1f468-1f3ff-200d-1f3eb",native:"👨🏿‍🏫"}],version:4},"female-teacher":{id:"female-teacher",name:"Woman Teacher",keywords:["female","instructor","professor","human"],skins:[{unified:"1f469-200d-1f3eb",native:"👩‍🏫"},{unified:"1f469-1f3fb-200d-1f3eb",native:"👩🏻‍🏫"},{unified:"1f469-1f3fc-200d-1f3eb",native:"👩🏼‍🏫"},{unified:"1f469-1f3fd-200d-1f3eb",native:"👩🏽‍🏫"},{unified:"1f469-1f3fe-200d-1f3eb",native:"👩🏾‍🏫"},{unified:"1f469-1f3ff-200d-1f3eb",native:"👩🏿‍🏫"}],version:4},judge:{id:"judge",name:"Judge",keywords:["law"],skins:[{unified:"1f9d1-200d-2696-fe0f",native:"🧑‍⚖️"},{unified:"1f9d1-1f3fb-200d-2696-fe0f",native:"🧑🏻‍⚖️"},{unified:"1f9d1-1f3fc-200d-2696-fe0f",native:"🧑🏼‍⚖️"},{unified:"1f9d1-1f3fd-200d-2696-fe0f",native:"🧑🏽‍⚖️"},{unified:"1f9d1-1f3fe-200d-2696-fe0f",native:"🧑🏾‍⚖️"},{unified:"1f9d1-1f3ff-200d-2696-fe0f",native:"🧑🏿‍⚖️"}],version:12.1},"male-judge":{id:"male-judge",name:"Man Judge",keywords:["male","justice","court","human"],skins:[{unified:"1f468-200d-2696-fe0f",native:"👨‍⚖️"},{unified:"1f468-1f3fb-200d-2696-fe0f",native:"👨🏻‍⚖️"},{unified:"1f468-1f3fc-200d-2696-fe0f",native:"👨🏼‍⚖️"},{unified:"1f468-1f3fd-200d-2696-fe0f",native:"👨🏽‍⚖️"},{unified:"1f468-1f3fe-200d-2696-fe0f",native:"👨🏾‍⚖️"},{unified:"1f468-1f3ff-200d-2696-fe0f",native:"👨🏿‍⚖️"}],version:4},"female-judge":{id:"female-judge",name:"Woman Judge",keywords:["female","justice","court","human"],skins:[{unified:"1f469-200d-2696-fe0f",native:"👩‍⚖️"},{unified:"1f469-1f3fb-200d-2696-fe0f",native:"👩🏻‍⚖️"},{unified:"1f469-1f3fc-200d-2696-fe0f",native:"👩🏼‍⚖️"},{unified:"1f469-1f3fd-200d-2696-fe0f",native:"👩🏽‍⚖️"},{unified:"1f469-1f3fe-200d-2696-fe0f",native:"👩🏾‍⚖️"},{unified:"1f469-1f3ff-200d-2696-fe0f",native:"👩🏿‍⚖️"}],version:4},farmer:{id:"farmer",name:"Farmer",keywords:["crops"],skins:[{unified:"1f9d1-200d-1f33e",native:"🧑‍🌾"},{unified:"1f9d1-1f3fb-200d-1f33e",native:"🧑🏻‍🌾"},{unified:"1f9d1-1f3fc-200d-1f33e",native:"🧑🏼‍🌾"},{unified:"1f9d1-1f3fd-200d-1f33e",native:"🧑🏽‍🌾"},{unified:"1f9d1-1f3fe-200d-1f33e",native:"🧑🏾‍🌾"},{unified:"1f9d1-1f3ff-200d-1f33e",native:"🧑🏿‍🌾"}],version:12.1},"male-farmer":{id:"male-farmer",name:"Man Farmer",keywords:["male","rancher","gardener","human"],skins:[{unified:"1f468-200d-1f33e",native:"👨‍🌾"},{unified:"1f468-1f3fb-200d-1f33e",native:"👨🏻‍🌾"},{unified:"1f468-1f3fc-200d-1f33e",native:"👨🏼‍🌾"},{unified:"1f468-1f3fd-200d-1f33e",native:"👨🏽‍🌾"},{unified:"1f468-1f3fe-200d-1f33e",native:"👨🏾‍🌾"},{unified:"1f468-1f3ff-200d-1f33e",native:"👨🏿‍🌾"}],version:4},"female-farmer":{id:"female-farmer",name:"Woman Farmer",keywords:["female","rancher","gardener","human"],skins:[{unified:"1f469-200d-1f33e",native:"👩‍🌾"},{unified:"1f469-1f3fb-200d-1f33e",native:"👩🏻‍🌾"},{unified:"1f469-1f3fc-200d-1f33e",native:"👩🏼‍🌾"},{unified:"1f469-1f3fd-200d-1f33e",native:"👩🏽‍🌾"},{unified:"1f469-1f3fe-200d-1f33e",native:"👩🏾‍🌾"},{unified:"1f469-1f3ff-200d-1f33e",native:"👩🏿‍🌾"}],version:4},cook:{id:"cook",name:"Cook",keywords:["food","kitchen","culinary"],skins:[{unified:"1f9d1-200d-1f373",native:"🧑‍🍳"},{unified:"1f9d1-1f3fb-200d-1f373",native:"🧑🏻‍🍳"},{unified:"1f9d1-1f3fc-200d-1f373",native:"🧑🏼‍🍳"},{unified:"1f9d1-1f3fd-200d-1f373",native:"🧑🏽‍🍳"},{unified:"1f9d1-1f3fe-200d-1f373",native:"🧑🏾‍🍳"},{unified:"1f9d1-1f3ff-200d-1f373",native:"🧑🏿‍🍳"}],version:12.1},"male-cook":{id:"male-cook",name:"Man Cook",keywords:["male","chef","human"],skins:[{unified:"1f468-200d-1f373",native:"👨‍🍳"},{unified:"1f468-1f3fb-200d-1f373",native:"👨🏻‍🍳"},{unified:"1f468-1f3fc-200d-1f373",native:"👨🏼‍🍳"},{unified:"1f468-1f3fd-200d-1f373",native:"👨🏽‍🍳"},{unified:"1f468-1f3fe-200d-1f373",native:"👨🏾‍🍳"},{unified:"1f468-1f3ff-200d-1f373",native:"👨🏿‍🍳"}],version:4},"female-cook":{id:"female-cook",name:"Woman Cook",keywords:["female","chef","human"],skins:[{unified:"1f469-200d-1f373",native:"👩‍🍳"},{unified:"1f469-1f3fb-200d-1f373",native:"👩🏻‍🍳"},{unified:"1f469-1f3fc-200d-1f373",native:"👩🏼‍🍳"},{unified:"1f469-1f3fd-200d-1f373",native:"👩🏽‍🍳"},{unified:"1f469-1f3fe-200d-1f373",native:"👩🏾‍🍳"},{unified:"1f469-1f3ff-200d-1f373",native:"👩🏿‍🍳"}],version:4},mechanic:{id:"mechanic",name:"Mechanic",keywords:["worker","technician"],skins:[{unified:"1f9d1-200d-1f527",native:"🧑‍🔧"},{unified:"1f9d1-1f3fb-200d-1f527",native:"🧑🏻‍🔧"},{unified:"1f9d1-1f3fc-200d-1f527",native:"🧑🏼‍🔧"},{unified:"1f9d1-1f3fd-200d-1f527",native:"🧑🏽‍🔧"},{unified:"1f9d1-1f3fe-200d-1f527",native:"🧑🏾‍🔧"},{unified:"1f9d1-1f3ff-200d-1f527",native:"🧑🏿‍🔧"}],version:12.1},"male-mechanic":{id:"male-mechanic",name:"Man Mechanic",keywords:["male","plumber","human","wrench"],skins:[{unified:"1f468-200d-1f527",native:"👨‍🔧"},{unified:"1f468-1f3fb-200d-1f527",native:"👨🏻‍🔧"},{unified:"1f468-1f3fc-200d-1f527",native:"👨🏼‍🔧"},{unified:"1f468-1f3fd-200d-1f527",native:"👨🏽‍🔧"},{unified:"1f468-1f3fe-200d-1f527",native:"👨🏾‍🔧"},{unified:"1f468-1f3ff-200d-1f527",native:"👨🏿‍🔧"}],version:4},"female-mechanic":{id:"female-mechanic",name:"Woman Mechanic",keywords:["female","plumber","human","wrench"],skins:[{unified:"1f469-200d-1f527",native:"👩‍🔧"},{unified:"1f469-1f3fb-200d-1f527",native:"👩🏻‍🔧"},{unified:"1f469-1f3fc-200d-1f527",native:"👩🏼‍🔧"},{unified:"1f469-1f3fd-200d-1f527",native:"👩🏽‍🔧"},{unified:"1f469-1f3fe-200d-1f527",native:"👩🏾‍🔧"},{unified:"1f469-1f3ff-200d-1f527",native:"👩🏿‍🔧"}],version:4},factory_worker:{id:"factory_worker",name:"Factory Worker",keywords:["labor"],skins:[{unified:"1f9d1-200d-1f3ed",native:"🧑‍🏭"},{unified:"1f9d1-1f3fb-200d-1f3ed",native:"🧑🏻‍🏭"},{unified:"1f9d1-1f3fc-200d-1f3ed",native:"🧑🏼‍🏭"},{unified:"1f9d1-1f3fd-200d-1f3ed",native:"🧑🏽‍🏭"},{unified:"1f9d1-1f3fe-200d-1f3ed",native:"🧑🏾‍🏭"},{unified:"1f9d1-1f3ff-200d-1f3ed",native:"🧑🏿‍🏭"}],version:12.1},"male-factory-worker":{id:"male-factory-worker",name:"Man Factory Worker",keywords:["male","factory-worker","assembly","industrial","human"],skins:[{unified:"1f468-200d-1f3ed",native:"👨‍🏭"},{unified:"1f468-1f3fb-200d-1f3ed",native:"👨🏻‍🏭"},{unified:"1f468-1f3fc-200d-1f3ed",native:"👨🏼‍🏭"},{unified:"1f468-1f3fd-200d-1f3ed",native:"👨🏽‍🏭"},{unified:"1f468-1f3fe-200d-1f3ed",native:"👨🏾‍🏭"},{unified:"1f468-1f3ff-200d-1f3ed",native:"👨🏿‍🏭"}],version:4},"female-factory-worker":{id:"female-factory-worker",name:"Woman Factory Worker",keywords:["female","factory-worker","assembly","industrial","human"],skins:[{unified:"1f469-200d-1f3ed",native:"👩‍🏭"},{unified:"1f469-1f3fb-200d-1f3ed",native:"👩🏻‍🏭"},{unified:"1f469-1f3fc-200d-1f3ed",native:"👩🏼‍🏭"},{unified:"1f469-1f3fd-200d-1f3ed",native:"👩🏽‍🏭"},{unified:"1f469-1f3fe-200d-1f3ed",native:"👩🏾‍🏭"},{unified:"1f469-1f3ff-200d-1f3ed",native:"👩🏿‍🏭"}],version:4},office_worker:{id:"office_worker",name:"Office Worker",keywords:["business"],skins:[{unified:"1f9d1-200d-1f4bc",native:"🧑‍💼"},{unified:"1f9d1-1f3fb-200d-1f4bc",native:"🧑🏻‍💼"},{unified:"1f9d1-1f3fc-200d-1f4bc",native:"🧑🏼‍💼"},{unified:"1f9d1-1f3fd-200d-1f4bc",native:"🧑🏽‍💼"},{unified:"1f9d1-1f3fe-200d-1f4bc",native:"🧑🏾‍💼"},{unified:"1f9d1-1f3ff-200d-1f4bc",native:"🧑🏿‍💼"}],version:12.1},"male-office-worker":{id:"male-office-worker",name:"Man Office Worker",keywords:["male","office-worker","business","manager","human"],skins:[{unified:"1f468-200d-1f4bc",native:"👨‍💼"},{unified:"1f468-1f3fb-200d-1f4bc",native:"👨🏻‍💼"},{unified:"1f468-1f3fc-200d-1f4bc",native:"👨🏼‍💼"},{unified:"1f468-1f3fd-200d-1f4bc",native:"👨🏽‍💼"},{unified:"1f468-1f3fe-200d-1f4bc",native:"👨🏾‍💼"},{unified:"1f468-1f3ff-200d-1f4bc",native:"👨🏿‍💼"}],version:4},"female-office-worker":{id:"female-office-worker",name:"Woman Office Worker",keywords:["female","office-worker","business","manager","human"],skins:[{unified:"1f469-200d-1f4bc",native:"👩‍💼"},{unified:"1f469-1f3fb-200d-1f4bc",native:"👩🏻‍💼"},{unified:"1f469-1f3fc-200d-1f4bc",native:"👩🏼‍💼"},{unified:"1f469-1f3fd-200d-1f4bc",native:"👩🏽‍💼"},{unified:"1f469-1f3fe-200d-1f4bc",native:"👩🏾‍💼"},{unified:"1f469-1f3ff-200d-1f4bc",native:"👩🏿‍💼"}],version:4},scientist:{id:"scientist",name:"Scientist",keywords:["chemistry"],skins:[{unified:"1f9d1-200d-1f52c",native:"🧑‍🔬"},{unified:"1f9d1-1f3fb-200d-1f52c",native:"🧑🏻‍🔬"},{unified:"1f9d1-1f3fc-200d-1f52c",native:"🧑🏼‍🔬"},{unified:"1f9d1-1f3fd-200d-1f52c",native:"🧑🏽‍🔬"},{unified:"1f9d1-1f3fe-200d-1f52c",native:"🧑🏾‍🔬"},{unified:"1f9d1-1f3ff-200d-1f52c",native:"🧑🏿‍🔬"}],version:12.1},"male-scientist":{id:"male-scientist",name:"Man Scientist",keywords:["male","biologist","chemist","engineer","physicist","human"],skins:[{unified:"1f468-200d-1f52c",native:"👨‍🔬"},{unified:"1f468-1f3fb-200d-1f52c",native:"👨🏻‍🔬"},{unified:"1f468-1f3fc-200d-1f52c",native:"👨🏼‍🔬"},{unified:"1f468-1f3fd-200d-1f52c",native:"👨🏽‍🔬"},{unified:"1f468-1f3fe-200d-1f52c",native:"👨🏾‍🔬"},{unified:"1f468-1f3ff-200d-1f52c",native:"👨🏿‍🔬"}],version:4},"female-scientist":{id:"female-scientist",name:"Woman Scientist",keywords:["female","biologist","chemist","engineer","physicist","human"],skins:[{unified:"1f469-200d-1f52c",native:"👩‍🔬"},{unified:"1f469-1f3fb-200d-1f52c",native:"👩🏻‍🔬"},{unified:"1f469-1f3fc-200d-1f52c",native:"👩🏼‍🔬"},{unified:"1f469-1f3fd-200d-1f52c",native:"👩🏽‍🔬"},{unified:"1f469-1f3fe-200d-1f52c",native:"👩🏾‍🔬"},{unified:"1f469-1f3ff-200d-1f52c",native:"👩🏿‍🔬"}],version:4},technologist:{id:"technologist",name:"Technologist",keywords:["computer"],skins:[{unified:"1f9d1-200d-1f4bb",native:"🧑‍💻"},{unified:"1f9d1-1f3fb-200d-1f4bb",native:"🧑🏻‍💻"},{unified:"1f9d1-1f3fc-200d-1f4bb",native:"🧑🏼‍💻"},{unified:"1f9d1-1f3fd-200d-1f4bb",native:"🧑🏽‍💻"},{unified:"1f9d1-1f3fe-200d-1f4bb",native:"🧑🏾‍💻"},{unified:"1f9d1-1f3ff-200d-1f4bb",native:"🧑🏿‍💻"}],version:12.1},"male-technologist":{id:"male-technologist",name:"Man Technologist",keywords:["male","coder","developer","engineer","programmer","software","human","laptop","computer"],skins:[{unified:"1f468-200d-1f4bb",native:"👨‍💻"},{unified:"1f468-1f3fb-200d-1f4bb",native:"👨🏻‍💻"},{unified:"1f468-1f3fc-200d-1f4bb",native:"👨🏼‍💻"},{unified:"1f468-1f3fd-200d-1f4bb",native:"👨🏽‍💻"},{unified:"1f468-1f3fe-200d-1f4bb",native:"👨🏾‍💻"},{unified:"1f468-1f3ff-200d-1f4bb",native:"👨🏿‍💻"}],version:4},"female-technologist":{id:"female-technologist",name:"Woman Technologist",keywords:["female","coder","developer","engineer","programmer","software","human","laptop","computer"],skins:[{unified:"1f469-200d-1f4bb",native:"👩‍💻"},{unified:"1f469-1f3fb-200d-1f4bb",native:"👩🏻‍💻"},{unified:"1f469-1f3fc-200d-1f4bb",native:"👩🏼‍💻"},{unified:"1f469-1f3fd-200d-1f4bb",native:"👩🏽‍💻"},{unified:"1f469-1f3fe-200d-1f4bb",native:"👩🏾‍💻"},{unified:"1f469-1f3ff-200d-1f4bb",native:"👩🏿‍💻"}],version:4},singer:{id:"singer",name:"Singer",keywords:["song","artist","performer"],skins:[{unified:"1f9d1-200d-1f3a4",native:"🧑‍🎤"},{unified:"1f9d1-1f3fb-200d-1f3a4",native:"🧑🏻‍🎤"},{unified:"1f9d1-1f3fc-200d-1f3a4",native:"🧑🏼‍🎤"},{unified:"1f9d1-1f3fd-200d-1f3a4",native:"🧑🏽‍🎤"},{unified:"1f9d1-1f3fe-200d-1f3a4",native:"🧑🏾‍🎤"},{unified:"1f9d1-1f3ff-200d-1f3a4",native:"🧑🏿‍🎤"}],version:12.1},"male-singer":{id:"male-singer",name:"Man Singer",keywords:["male","rockstar","entertainer","human"],skins:[{unified:"1f468-200d-1f3a4",native:"👨‍🎤"},{unified:"1f468-1f3fb-200d-1f3a4",native:"👨🏻‍🎤"},{unified:"1f468-1f3fc-200d-1f3a4",native:"👨🏼‍🎤"},{unified:"1f468-1f3fd-200d-1f3a4",native:"👨🏽‍🎤"},{unified:"1f468-1f3fe-200d-1f3a4",native:"👨🏾‍🎤"},{unified:"1f468-1f3ff-200d-1f3a4",native:"👨🏿‍🎤"}],version:4},"female-singer":{id:"female-singer",name:"Woman Singer",keywords:["female","rockstar","entertainer","human"],skins:[{unified:"1f469-200d-1f3a4",native:"👩‍🎤"},{unified:"1f469-1f3fb-200d-1f3a4",native:"👩🏻‍🎤"},{unified:"1f469-1f3fc-200d-1f3a4",native:"👩🏼‍🎤"},{unified:"1f469-1f3fd-200d-1f3a4",native:"👩🏽‍🎤"},{unified:"1f469-1f3fe-200d-1f3a4",native:"👩🏾‍🎤"},{unified:"1f469-1f3ff-200d-1f3a4",native:"👩🏿‍🎤"}],version:4},artist:{id:"artist",name:"Artist",keywords:["painting","draw","creativity"],skins:[{unified:"1f9d1-200d-1f3a8",native:"🧑‍🎨"},{unified:"1f9d1-1f3fb-200d-1f3a8",native:"🧑🏻‍🎨"},{unified:"1f9d1-1f3fc-200d-1f3a8",native:"🧑🏼‍🎨"},{unified:"1f9d1-1f3fd-200d-1f3a8",native:"🧑🏽‍🎨"},{unified:"1f9d1-1f3fe-200d-1f3a8",native:"🧑🏾‍🎨"},{unified:"1f9d1-1f3ff-200d-1f3a8",native:"🧑🏿‍🎨"}],version:12.1},"male-artist":{id:"male-artist",name:"Man Artist",keywords:["male","painter","human"],skins:[{unified:"1f468-200d-1f3a8",native:"👨‍🎨"},{unified:"1f468-1f3fb-200d-1f3a8",native:"👨🏻‍🎨"},{unified:"1f468-1f3fc-200d-1f3a8",native:"👨🏼‍🎨"},{unified:"1f468-1f3fd-200d-1f3a8",native:"👨🏽‍🎨"},{unified:"1f468-1f3fe-200d-1f3a8",native:"👨🏾‍🎨"},{unified:"1f468-1f3ff-200d-1f3a8",native:"👨🏿‍🎨"}],version:4},"female-artist":{id:"female-artist",name:"Woman Artist",keywords:["female","painter","human"],skins:[{unified:"1f469-200d-1f3a8",native:"👩‍🎨"},{unified:"1f469-1f3fb-200d-1f3a8",native:"👩🏻‍🎨"},{unified:"1f469-1f3fc-200d-1f3a8",native:"👩🏼‍🎨"},{unified:"1f469-1f3fd-200d-1f3a8",native:"👩🏽‍🎨"},{unified:"1f469-1f3fe-200d-1f3a8",native:"👩🏾‍🎨"},{unified:"1f469-1f3ff-200d-1f3a8",native:"👩🏿‍🎨"}],version:4},pilot:{id:"pilot",name:"Pilot",keywords:["fly","plane","airplane"],skins:[{unified:"1f9d1-200d-2708-fe0f",native:"🧑‍✈️"},{unified:"1f9d1-1f3fb-200d-2708-fe0f",native:"🧑🏻‍✈️"},{unified:"1f9d1-1f3fc-200d-2708-fe0f",native:"🧑🏼‍✈️"},{unified:"1f9d1-1f3fd-200d-2708-fe0f",native:"🧑🏽‍✈️"},{unified:"1f9d1-1f3fe-200d-2708-fe0f",native:"🧑🏾‍✈️"},{unified:"1f9d1-1f3ff-200d-2708-fe0f",native:"🧑🏿‍✈️"}],version:12.1},"male-pilot":{id:"male-pilot",name:"Man Pilot",keywords:["male","aviator","plane","human"],skins:[{unified:"1f468-200d-2708-fe0f",native:"👨‍✈️"},{unified:"1f468-1f3fb-200d-2708-fe0f",native:"👨🏻‍✈️"},{unified:"1f468-1f3fc-200d-2708-fe0f",native:"👨🏼‍✈️"},{unified:"1f468-1f3fd-200d-2708-fe0f",native:"👨🏽‍✈️"},{unified:"1f468-1f3fe-200d-2708-fe0f",native:"👨🏾‍✈️"},{unified:"1f468-1f3ff-200d-2708-fe0f",native:"👨🏿‍✈️"}],version:4},"female-pilot":{id:"female-pilot",name:"Woman Pilot",keywords:["female","aviator","plane","human"],skins:[{unified:"1f469-200d-2708-fe0f",native:"👩‍✈️"},{unified:"1f469-1f3fb-200d-2708-fe0f",native:"👩🏻‍✈️"},{unified:"1f469-1f3fc-200d-2708-fe0f",native:"👩🏼‍✈️"},{unified:"1f469-1f3fd-200d-2708-fe0f",native:"👩🏽‍✈️"},{unified:"1f469-1f3fe-200d-2708-fe0f",native:"👩🏾‍✈️"},{unified:"1f469-1f3ff-200d-2708-fe0f",native:"👩🏿‍✈️"}],version:4},astronaut:{id:"astronaut",name:"Astronaut",keywords:["outerspace"],skins:[{unified:"1f9d1-200d-1f680",native:"🧑‍🚀"},{unified:"1f9d1-1f3fb-200d-1f680",native:"🧑🏻‍🚀"},{unified:"1f9d1-1f3fc-200d-1f680",native:"🧑🏼‍🚀"},{unified:"1f9d1-1f3fd-200d-1f680",native:"🧑🏽‍🚀"},{unified:"1f9d1-1f3fe-200d-1f680",native:"🧑🏾‍🚀"},{unified:"1f9d1-1f3ff-200d-1f680",native:"🧑🏿‍🚀"}],version:12.1},"male-astronaut":{id:"male-astronaut",name:"Man Astronaut",keywords:["male","space","rocket","human"],skins:[{unified:"1f468-200d-1f680",native:"👨‍🚀"},{unified:"1f468-1f3fb-200d-1f680",native:"👨🏻‍🚀"},{unified:"1f468-1f3fc-200d-1f680",native:"👨🏼‍🚀"},{unified:"1f468-1f3fd-200d-1f680",native:"👨🏽‍🚀"},{unified:"1f468-1f3fe-200d-1f680",native:"👨🏾‍🚀"},{unified:"1f468-1f3ff-200d-1f680",native:"👨🏿‍🚀"}],version:4},"female-astronaut":{id:"female-astronaut",name:"Woman Astronaut",keywords:["female","space","rocket","human"],skins:[{unified:"1f469-200d-1f680",native:"👩‍🚀"},{unified:"1f469-1f3fb-200d-1f680",native:"👩🏻‍🚀"},{unified:"1f469-1f3fc-200d-1f680",native:"👩🏼‍🚀"},{unified:"1f469-1f3fd-200d-1f680",native:"👩🏽‍🚀"},{unified:"1f469-1f3fe-200d-1f680",native:"👩🏾‍🚀"},{unified:"1f469-1f3ff-200d-1f680",native:"👩🏿‍🚀"}],version:4},firefighter:{id:"firefighter",name:"Firefighter",keywords:["fire"],skins:[{unified:"1f9d1-200d-1f692",native:"🧑‍🚒"},{unified:"1f9d1-1f3fb-200d-1f692",native:"🧑🏻‍🚒"},{unified:"1f9d1-1f3fc-200d-1f692",native:"🧑🏼‍🚒"},{unified:"1f9d1-1f3fd-200d-1f692",native:"🧑🏽‍🚒"},{unified:"1f9d1-1f3fe-200d-1f692",native:"🧑🏾‍🚒"},{unified:"1f9d1-1f3ff-200d-1f692",native:"🧑🏿‍🚒"}],version:12.1},"male-firefighter":{id:"male-firefighter",name:"Man Firefighter",keywords:["male","fireman","human"],skins:[{unified:"1f468-200d-1f692",native:"👨‍🚒"},{unified:"1f468-1f3fb-200d-1f692",native:"👨🏻‍🚒"},{unified:"1f468-1f3fc-200d-1f692",native:"👨🏼‍🚒"},{unified:"1f468-1f3fd-200d-1f692",native:"👨🏽‍🚒"},{unified:"1f468-1f3fe-200d-1f692",native:"👨🏾‍🚒"},{unified:"1f468-1f3ff-200d-1f692",native:"👨🏿‍🚒"}],version:4},"female-firefighter":{id:"female-firefighter",name:"Woman Firefighter",keywords:["female","fireman","human"],skins:[{unified:"1f469-200d-1f692",native:"👩‍🚒"},{unified:"1f469-1f3fb-200d-1f692",native:"👩🏻‍🚒"},{unified:"1f469-1f3fc-200d-1f692",native:"👩🏼‍🚒"},{unified:"1f469-1f3fd-200d-1f692",native:"👩🏽‍🚒"},{unified:"1f469-1f3fe-200d-1f692",native:"👩🏾‍🚒"},{unified:"1f469-1f3ff-200d-1f692",native:"👩🏿‍🚒"}],version:4},cop:{id:"cop",name:"Police Officer",keywords:["cop"],skins:[{unified:"1f46e",native:"👮"},{unified:"1f46e-1f3fb",native:"👮🏻"},{unified:"1f46e-1f3fc",native:"👮🏼"},{unified:"1f46e-1f3fd",native:"👮🏽"},{unified:"1f46e-1f3fe",native:"👮🏾"},{unified:"1f46e-1f3ff",native:"👮🏿"}],version:1},"male-police-officer":{id:"male-police-officer",name:"Man Police Officer",keywords:["male","police-officer","law","legal","enforcement","arrest","911"],skins:[{unified:"1f46e-200d-2642-fe0f",native:"👮‍♂️"},{unified:"1f46e-1f3fb-200d-2642-fe0f",native:"👮🏻‍♂️"},{unified:"1f46e-1f3fc-200d-2642-fe0f",native:"👮🏼‍♂️"},{unified:"1f46e-1f3fd-200d-2642-fe0f",native:"👮🏽‍♂️"},{unified:"1f46e-1f3fe-200d-2642-fe0f",native:"👮🏾‍♂️"},{unified:"1f46e-1f3ff-200d-2642-fe0f",native:"👮🏿‍♂️"}],version:4},"female-police-officer":{id:"female-police-officer",name:"Woman Police Officer",keywords:["female","police-officer","law","legal","enforcement","arrest","911"],skins:[{unified:"1f46e-200d-2640-fe0f",native:"👮‍♀️"},{unified:"1f46e-1f3fb-200d-2640-fe0f",native:"👮🏻‍♀️"},{unified:"1f46e-1f3fc-200d-2640-fe0f",native:"👮🏼‍♀️"},{unified:"1f46e-1f3fd-200d-2640-fe0f",native:"👮🏽‍♀️"},{unified:"1f46e-1f3fe-200d-2640-fe0f",native:"👮🏾‍♀️"},{unified:"1f46e-1f3ff-200d-2640-fe0f",native:"👮🏿‍♀️"}],version:4},sleuth_or_spy:{id:"sleuth_or_spy",name:"Detective",keywords:["sleuth","or","spy","human"],skins:[{unified:"1f575-fe0f",native:"🕵️"},{unified:"1f575-1f3fb",native:"🕵🏻"},{unified:"1f575-1f3fc",native:"🕵🏼"},{unified:"1f575-1f3fd",native:"🕵🏽"},{unified:"1f575-1f3fe",native:"🕵🏾"},{unified:"1f575-1f3ff",native:"🕵🏿"}],version:1},"male-detective":{id:"male-detective",name:"Man Detective",keywords:["male","crime"],skins:[{unified:"1f575-fe0f-200d-2642-fe0f",native:"🕵️‍♂️"},{unified:"1f575-1f3fb-200d-2642-fe0f",native:"🕵🏻‍♂️"},{unified:"1f575-1f3fc-200d-2642-fe0f",native:"🕵🏼‍♂️"},{unified:"1f575-1f3fd-200d-2642-fe0f",native:"🕵🏽‍♂️"},{unified:"1f575-1f3fe-200d-2642-fe0f",native:"🕵🏾‍♂️"},{unified:"1f575-1f3ff-200d-2642-fe0f",native:"🕵🏿‍♂️"}],version:4},"female-detective":{id:"female-detective",name:"Woman Detective",keywords:["female","human","spy"],skins:[{unified:"1f575-fe0f-200d-2640-fe0f",native:"🕵️‍♀️"},{unified:"1f575-1f3fb-200d-2640-fe0f",native:"🕵🏻‍♀️"},{unified:"1f575-1f3fc-200d-2640-fe0f",native:"🕵🏼‍♀️"},{unified:"1f575-1f3fd-200d-2640-fe0f",native:"🕵🏽‍♀️"},{unified:"1f575-1f3fe-200d-2640-fe0f",native:"🕵🏾‍♀️"},{unified:"1f575-1f3ff-200d-2640-fe0f",native:"🕵🏿‍♀️"}],version:4},guardsman:{id:"guardsman",name:"Guard",keywords:["guardsman","protect"],skins:[{unified:"1f482",native:"💂"},{unified:"1f482-1f3fb",native:"💂🏻"},{unified:"1f482-1f3fc",native:"💂🏼"},{unified:"1f482-1f3fd",native:"💂🏽"},{unified:"1f482-1f3fe",native:"💂🏾"},{unified:"1f482-1f3ff",native:"💂🏿"}],version:1},"male-guard":{id:"male-guard",name:"Man Guard",keywords:["male","uk","gb","british","guy","royal"],skins:[{unified:"1f482-200d-2642-fe0f",native:"💂‍♂️"},{unified:"1f482-1f3fb-200d-2642-fe0f",native:"💂🏻‍♂️"},{unified:"1f482-1f3fc-200d-2642-fe0f",native:"💂🏼‍♂️"},{unified:"1f482-1f3fd-200d-2642-fe0f",native:"💂🏽‍♂️"},{unified:"1f482-1f3fe-200d-2642-fe0f",native:"💂🏾‍♂️"},{unified:"1f482-1f3ff-200d-2642-fe0f",native:"💂🏿‍♂️"}],version:4},"female-guard":{id:"female-guard",name:"Woman Guard",keywords:["female","uk","gb","british","royal"],skins:[{unified:"1f482-200d-2640-fe0f",native:"💂‍♀️"},{unified:"1f482-1f3fb-200d-2640-fe0f",native:"💂🏻‍♀️"},{unified:"1f482-1f3fc-200d-2640-fe0f",native:"💂🏼‍♀️"},{unified:"1f482-1f3fd-200d-2640-fe0f",native:"💂🏽‍♀️"},{unified:"1f482-1f3fe-200d-2640-fe0f",native:"💂🏾‍♀️"},{unified:"1f482-1f3ff-200d-2640-fe0f",native:"💂🏿‍♀️"}],version:4},ninja:{id:"ninja",name:"Ninja",keywords:["ninjutsu","skills","japanese"],skins:[{unified:"1f977",native:"🥷"},{unified:"1f977-1f3fb",native:"🥷🏻"},{unified:"1f977-1f3fc",native:"🥷🏼"},{unified:"1f977-1f3fd",native:"🥷🏽"},{unified:"1f977-1f3fe",native:"🥷🏾"},{unified:"1f977-1f3ff",native:"🥷🏿"}],version:13},construction_worker:{id:"construction_worker",name:"Construction Worker",keywords:["labor","build"],skins:[{unified:"1f477",native:"👷"},{unified:"1f477-1f3fb",native:"👷🏻"},{unified:"1f477-1f3fc",native:"👷🏼"},{unified:"1f477-1f3fd",native:"👷🏽"},{unified:"1f477-1f3fe",native:"👷🏾"},{unified:"1f477-1f3ff",native:"👷🏿"}],version:1},"male-construction-worker":{id:"male-construction-worker",name:"Man Construction Worker",keywords:["male","construction-worker","human","wip","guy","build","labor"],skins:[{unified:"1f477-200d-2642-fe0f",native:"👷‍♂️"},{unified:"1f477-1f3fb-200d-2642-fe0f",native:"👷🏻‍♂️"},{unified:"1f477-1f3fc-200d-2642-fe0f",native:"👷🏼‍♂️"},{unified:"1f477-1f3fd-200d-2642-fe0f",native:"👷🏽‍♂️"},{unified:"1f477-1f3fe-200d-2642-fe0f",native:"👷🏾‍♂️"},{unified:"1f477-1f3ff-200d-2642-fe0f",native:"👷🏿‍♂️"}],version:4},"female-construction-worker":{id:"female-construction-worker",name:"Woman Construction Worker",keywords:["female","construction-worker","human","wip","build","labor"],skins:[{unified:"1f477-200d-2640-fe0f",native:"👷‍♀️"},{unified:"1f477-1f3fb-200d-2640-fe0f",native:"👷🏻‍♀️"},{unified:"1f477-1f3fc-200d-2640-fe0f",native:"👷🏼‍♀️"},{unified:"1f477-1f3fd-200d-2640-fe0f",native:"👷🏽‍♀️"},{unified:"1f477-1f3fe-200d-2640-fe0f",native:"👷🏾‍♀️"},{unified:"1f477-1f3ff-200d-2640-fe0f",native:"👷🏿‍♀️"}],version:4},person_with_crown:{id:"person_with_crown",name:"Person with Crown",keywords:["royalty","power"],skins:[{unified:"1fac5",native:"🫅"},{unified:"1fac5-1f3fb",native:"🫅🏻"},{unified:"1fac5-1f3fc",native:"🫅🏼"},{unified:"1fac5-1f3fd",native:"🫅🏽"},{unified:"1fac5-1f3fe",native:"🫅🏾"},{unified:"1fac5-1f3ff",native:"🫅🏿"}],version:14},prince:{id:"prince",name:"Prince",keywords:["boy","man","male","crown","royal","king"],skins:[{unified:"1f934",native:"🤴"},{unified:"1f934-1f3fb",native:"🤴🏻"},{unified:"1f934-1f3fc",native:"🤴🏼"},{unified:"1f934-1f3fd",native:"🤴🏽"},{unified:"1f934-1f3fe",native:"🤴🏾"},{unified:"1f934-1f3ff",native:"🤴🏿"}],version:3},princess:{id:"princess",name:"Princess",keywords:["girl","woman","female","blond","crown","royal","queen"],skins:[{unified:"1f478",native:"👸"},{unified:"1f478-1f3fb",native:"👸🏻"},{unified:"1f478-1f3fc",native:"👸🏼"},{unified:"1f478-1f3fd",native:"👸🏽"},{unified:"1f478-1f3fe",native:"👸🏾"},{unified:"1f478-1f3ff",native:"👸🏿"}],version:1},man_with_turban:{id:"man_with_turban",name:"Man with Turban",keywords:["person","wearing","headdress"],skins:[{unified:"1f473",native:"👳"},{unified:"1f473-1f3fb",native:"👳🏻"},{unified:"1f473-1f3fc",native:"👳🏼"},{unified:"1f473-1f3fd",native:"👳🏽"},{unified:"1f473-1f3fe",native:"👳🏾"},{unified:"1f473-1f3ff",native:"👳🏿"}],version:1},"man-wearing-turban":{id:"man-wearing-turban",name:"Man Wearing Turban",keywords:["wearing-turban","male","indian","hinduism","arabs"],skins:[{unified:"1f473-200d-2642-fe0f",native:"👳‍♂️"},{unified:"1f473-1f3fb-200d-2642-fe0f",native:"👳🏻‍♂️"},{unified:"1f473-1f3fc-200d-2642-fe0f",native:"👳🏼‍♂️"},{unified:"1f473-1f3fd-200d-2642-fe0f",native:"👳🏽‍♂️"},{unified:"1f473-1f3fe-200d-2642-fe0f",native:"👳🏾‍♂️"},{unified:"1f473-1f3ff-200d-2642-fe0f",native:"👳🏿‍♂️"}],version:4},"woman-wearing-turban":{id:"woman-wearing-turban",name:"Woman Wearing Turban",keywords:["wearing-turban","female","indian","hinduism","arabs"],skins:[{unified:"1f473-200d-2640-fe0f",native:"👳‍♀️"},{unified:"1f473-1f3fb-200d-2640-fe0f",native:"👳🏻‍♀️"},{unified:"1f473-1f3fc-200d-2640-fe0f",native:"👳🏼‍♀️"},{unified:"1f473-1f3fd-200d-2640-fe0f",native:"👳🏽‍♀️"},{unified:"1f473-1f3fe-200d-2640-fe0f",native:"👳🏾‍♀️"},{unified:"1f473-1f3ff-200d-2640-fe0f",native:"👳🏿‍♀️"}],version:4},man_with_gua_pi_mao:{id:"man_with_gua_pi_mao",name:"Man with Gua Pi Mao",keywords:["skullcap","male","boy","chinese"],skins:[{unified:"1f472",native:"👲"},{unified:"1f472-1f3fb",native:"👲🏻"},{unified:"1f472-1f3fc",native:"👲🏼"},{unified:"1f472-1f3fd",native:"👲🏽"},{unified:"1f472-1f3fe",native:"👲🏾"},{unified:"1f472-1f3ff",native:"👲🏿"}],version:1},person_with_headscarf:{id:"person_with_headscarf",name:"Woman with Headscarf",keywords:["person","female","hijab","mantilla","tichel"],skins:[{unified:"1f9d5",native:"🧕"},{unified:"1f9d5-1f3fb",native:"🧕🏻"},{unified:"1f9d5-1f3fc",native:"🧕🏼"},{unified:"1f9d5-1f3fd",native:"🧕🏽"},{unified:"1f9d5-1f3fe",native:"🧕🏾"},{unified:"1f9d5-1f3ff",native:"🧕🏿"}],version:5},person_in_tuxedo:{id:"person_in_tuxedo",name:"Man in Tuxedo",keywords:["person","couple","marriage","wedding","groom"],skins:[{unified:"1f935",native:"🤵"},{unified:"1f935-1f3fb",native:"🤵🏻"},{unified:"1f935-1f3fc",native:"🤵🏼"},{unified:"1f935-1f3fd",native:"🤵🏽"},{unified:"1f935-1f3fe",native:"🤵🏾"},{unified:"1f935-1f3ff",native:"🤵🏿"}],version:3},man_in_tuxedo:{id:"man_in_tuxedo",name:"Man in Tuxedo",keywords:["formal","fashion"],skins:[{unified:"1f935-200d-2642-fe0f",native:"🤵‍♂️"},{unified:"1f935-1f3fb-200d-2642-fe0f",native:"🤵🏻‍♂️"},{unified:"1f935-1f3fc-200d-2642-fe0f",native:"🤵🏼‍♂️"},{unified:"1f935-1f3fd-200d-2642-fe0f",native:"🤵🏽‍♂️"},{unified:"1f935-1f3fe-200d-2642-fe0f",native:"🤵🏾‍♂️"},{unified:"1f935-1f3ff-200d-2642-fe0f",native:"🤵🏿‍♂️"}],version:13},woman_in_tuxedo:{id:"woman_in_tuxedo",name:"Woman in Tuxedo",keywords:["formal","fashion"],skins:[{unified:"1f935-200d-2640-fe0f",native:"🤵‍♀️"},{unified:"1f935-1f3fb-200d-2640-fe0f",native:"🤵🏻‍♀️"},{unified:"1f935-1f3fc-200d-2640-fe0f",native:"🤵🏼‍♀️"},{unified:"1f935-1f3fd-200d-2640-fe0f",native:"🤵🏽‍♀️"},{unified:"1f935-1f3fe-200d-2640-fe0f",native:"🤵🏾‍♀️"},{unified:"1f935-1f3ff-200d-2640-fe0f",native:"🤵🏿‍♀️"}],version:13},bride_with_veil:{id:"bride_with_veil",name:"Bride with Veil",keywords:["couple","marriage","wedding","woman"],skins:[{unified:"1f470",native:"👰"},{unified:"1f470-1f3fb",native:"👰🏻"},{unified:"1f470-1f3fc",native:"👰🏼"},{unified:"1f470-1f3fd",native:"👰🏽"},{unified:"1f470-1f3fe",native:"👰🏾"},{unified:"1f470-1f3ff",native:"👰🏿"}],version:1},man_with_veil:{id:"man_with_veil",name:"Man with Veil",keywords:["wedding","marriage"],skins:[{unified:"1f470-200d-2642-fe0f",native:"👰‍♂️"},{unified:"1f470-1f3fb-200d-2642-fe0f",native:"👰🏻‍♂️"},{unified:"1f470-1f3fc-200d-2642-fe0f",native:"👰🏼‍♂️"},{unified:"1f470-1f3fd-200d-2642-fe0f",native:"👰🏽‍♂️"},{unified:"1f470-1f3fe-200d-2642-fe0f",native:"👰🏾‍♂️"},{unified:"1f470-1f3ff-200d-2642-fe0f",native:"👰🏿‍♂️"}],version:13},woman_with_veil:{id:"woman_with_veil",name:"Woman with Veil",keywords:["wedding","marriage"],skins:[{unified:"1f470-200d-2640-fe0f",native:"👰‍♀️"},{unified:"1f470-1f3fb-200d-2640-fe0f",native:"👰🏻‍♀️"},{unified:"1f470-1f3fc-200d-2640-fe0f",native:"👰🏼‍♀️"},{unified:"1f470-1f3fd-200d-2640-fe0f",native:"👰🏽‍♀️"},{unified:"1f470-1f3fe-200d-2640-fe0f",native:"👰🏾‍♀️"},{unified:"1f470-1f3ff-200d-2640-fe0f",native:"👰🏿‍♀️"}],version:13},pregnant_woman:{id:"pregnant_woman",name:"Pregnant Woman",keywords:["baby"],skins:[{unified:"1f930",native:"🤰"},{unified:"1f930-1f3fb",native:"🤰🏻"},{unified:"1f930-1f3fc",native:"🤰🏼"},{unified:"1f930-1f3fd",native:"🤰🏽"},{unified:"1f930-1f3fe",native:"🤰🏾"},{unified:"1f930-1f3ff",native:"🤰🏿"}],version:3},pregnant_man:{id:"pregnant_man",name:"Pregnant Man",keywords:["baby","belly"],skins:[{unified:"1fac3",native:"🫃"},{unified:"1fac3-1f3fb",native:"🫃🏻"},{unified:"1fac3-1f3fc",native:"🫃🏼"},{unified:"1fac3-1f3fd",native:"🫃🏽"},{unified:"1fac3-1f3fe",native:"🫃🏾"},{unified:"1fac3-1f3ff",native:"🫃🏿"}],version:14},pregnant_person:{id:"pregnant_person",name:"Pregnant Person",keywords:["baby","belly"],skins:[{unified:"1fac4",native:"🫄"},{unified:"1fac4-1f3fb",native:"🫄🏻"},{unified:"1fac4-1f3fc",native:"🫄🏼"},{unified:"1fac4-1f3fd",native:"🫄🏽"},{unified:"1fac4-1f3fe",native:"🫄🏾"},{unified:"1fac4-1f3ff",native:"🫄🏿"}],version:14},"breast-feeding":{id:"breast-feeding",name:"Breast-Feeding",keywords:["breast","feeding","nursing","baby"],skins:[{unified:"1f931",native:"🤱"},{unified:"1f931-1f3fb",native:"🤱🏻"},{unified:"1f931-1f3fc",native:"🤱🏼"},{unified:"1f931-1f3fd",native:"🤱🏽"},{unified:"1f931-1f3fe",native:"🤱🏾"},{unified:"1f931-1f3ff",native:"🤱🏿"}],version:5},woman_feeding_baby:{id:"woman_feeding_baby",name:"Woman Feeding Baby",keywords:["birth","food"],skins:[{unified:"1f469-200d-1f37c",native:"👩‍🍼"},{unified:"1f469-1f3fb-200d-1f37c",native:"👩🏻‍🍼"},{unified:"1f469-1f3fc-200d-1f37c",native:"👩🏼‍🍼"},{unified:"1f469-1f3fd-200d-1f37c",native:"👩🏽‍🍼"},{unified:"1f469-1f3fe-200d-1f37c",native:"👩🏾‍🍼"},{unified:"1f469-1f3ff-200d-1f37c",native:"👩🏿‍🍼"}],version:13},man_feeding_baby:{id:"man_feeding_baby",name:"Man Feeding Baby",keywords:["birth","food"],skins:[{unified:"1f468-200d-1f37c",native:"👨‍🍼"},{unified:"1f468-1f3fb-200d-1f37c",native:"👨🏻‍🍼"},{unified:"1f468-1f3fc-200d-1f37c",native:"👨🏼‍🍼"},{unified:"1f468-1f3fd-200d-1f37c",native:"👨🏽‍🍼"},{unified:"1f468-1f3fe-200d-1f37c",native:"👨🏾‍🍼"},{unified:"1f468-1f3ff-200d-1f37c",native:"👨🏿‍🍼"}],version:13},person_feeding_baby:{id:"person_feeding_baby",name:"Person Feeding Baby",keywords:["birth","food"],skins:[{unified:"1f9d1-200d-1f37c",native:"🧑‍🍼"},{unified:"1f9d1-1f3fb-200d-1f37c",native:"🧑🏻‍🍼"},{unified:"1f9d1-1f3fc-200d-1f37c",native:"🧑🏼‍🍼"},{unified:"1f9d1-1f3fd-200d-1f37c",native:"🧑🏽‍🍼"},{unified:"1f9d1-1f3fe-200d-1f37c",native:"🧑🏾‍🍼"},{unified:"1f9d1-1f3ff-200d-1f37c",native:"🧑🏿‍🍼"}],version:13},angel:{id:"angel",name:"Baby Angel",keywords:["heaven","wings","halo"],skins:[{unified:"1f47c",native:"👼"},{unified:"1f47c-1f3fb",native:"👼🏻"},{unified:"1f47c-1f3fc",native:"👼🏼"},{unified:"1f47c-1f3fd",native:"👼🏽"},{unified:"1f47c-1f3fe",native:"👼🏾"},{unified:"1f47c-1f3ff",native:"👼🏿"}],version:1},santa:{id:"santa",name:"Santa Claus",keywords:["festival","man","male","xmas","father","christmas"],skins:[{unified:"1f385",native:"🎅"},{unified:"1f385-1f3fb",native:"🎅🏻"},{unified:"1f385-1f3fc",native:"🎅🏼"},{unified:"1f385-1f3fd",native:"🎅🏽"},{unified:"1f385-1f3fe",native:"🎅🏾"},{unified:"1f385-1f3ff",native:"🎅🏿"}],version:1},mrs_claus:{id:"mrs_claus",name:"Mrs. Claus",keywords:["mrs","mother","christmas","woman","female","xmas"],skins:[{unified:"1f936",native:"🤶"},{unified:"1f936-1f3fb",native:"🤶🏻"},{unified:"1f936-1f3fc",native:"🤶🏼"},{unified:"1f936-1f3fd",native:"🤶🏽"},{unified:"1f936-1f3fe",native:"🤶🏾"},{unified:"1f936-1f3ff",native:"🤶🏿"}],version:3},mx_claus:{id:"mx_claus",name:"Mx Claus",keywords:["christmas"],skins:[{unified:"1f9d1-200d-1f384",native:"🧑‍🎄"},{unified:"1f9d1-1f3fb-200d-1f384",native:"🧑🏻‍🎄"},{unified:"1f9d1-1f3fc-200d-1f384",native:"🧑🏼‍🎄"},{unified:"1f9d1-1f3fd-200d-1f384",native:"🧑🏽‍🎄"},{unified:"1f9d1-1f3fe-200d-1f384",native:"🧑🏾‍🎄"},{unified:"1f9d1-1f3ff-200d-1f384",native:"🧑🏿‍🎄"}],version:13},superhero:{id:"superhero",name:"Superhero",keywords:["marvel"],skins:[{unified:"1f9b8",native:"🦸"},{unified:"1f9b8-1f3fb",native:"🦸🏻"},{unified:"1f9b8-1f3fc",native:"🦸🏼"},{unified:"1f9b8-1f3fd",native:"🦸🏽"},{unified:"1f9b8-1f3fe",native:"🦸🏾"},{unified:"1f9b8-1f3ff",native:"🦸🏿"}],version:11},male_superhero:{id:"male_superhero",name:"Man Superhero",keywords:["male","good","hero","superpowers"],skins:[{unified:"1f9b8-200d-2642-fe0f",native:"🦸‍♂️"},{unified:"1f9b8-1f3fb-200d-2642-fe0f",native:"🦸🏻‍♂️"},{unified:"1f9b8-1f3fc-200d-2642-fe0f",native:"🦸🏼‍♂️"},{unified:"1f9b8-1f3fd-200d-2642-fe0f",native:"🦸🏽‍♂️"},{unified:"1f9b8-1f3fe-200d-2642-fe0f",native:"🦸🏾‍♂️"},{unified:"1f9b8-1f3ff-200d-2642-fe0f",native:"🦸🏿‍♂️"}],version:11},female_superhero:{id:"female_superhero",name:"Woman Superhero",keywords:["female","good","heroine","superpowers"],skins:[{unified:"1f9b8-200d-2640-fe0f",native:"🦸‍♀️"},{unified:"1f9b8-1f3fb-200d-2640-fe0f",native:"🦸🏻‍♀️"},{unified:"1f9b8-1f3fc-200d-2640-fe0f",native:"🦸🏼‍♀️"},{unified:"1f9b8-1f3fd-200d-2640-fe0f",native:"🦸🏽‍♀️"},{unified:"1f9b8-1f3fe-200d-2640-fe0f",native:"🦸🏾‍♀️"},{unified:"1f9b8-1f3ff-200d-2640-fe0f",native:"🦸🏿‍♀️"}],version:11},supervillain:{id:"supervillain",name:"Supervillain",keywords:["marvel"],skins:[{unified:"1f9b9",native:"🦹"},{unified:"1f9b9-1f3fb",native:"🦹🏻"},{unified:"1f9b9-1f3fc",native:"🦹🏼"},{unified:"1f9b9-1f3fd",native:"🦹🏽"},{unified:"1f9b9-1f3fe",native:"🦹🏾"},{unified:"1f9b9-1f3ff",native:"🦹🏿"}],version:11},male_supervillain:{id:"male_supervillain",name:"Man Supervillain",keywords:["male","evil","bad","criminal","hero","superpowers"],skins:[{unified:"1f9b9-200d-2642-fe0f",native:"🦹‍♂️"},{unified:"1f9b9-1f3fb-200d-2642-fe0f",native:"🦹🏻‍♂️"},{unified:"1f9b9-1f3fc-200d-2642-fe0f",native:"🦹🏼‍♂️"},{unified:"1f9b9-1f3fd-200d-2642-fe0f",native:"🦹🏽‍♂️"},{unified:"1f9b9-1f3fe-200d-2642-fe0f",native:"🦹🏾‍♂️"},{unified:"1f9b9-1f3ff-200d-2642-fe0f",native:"🦹🏿‍♂️"}],version:11},female_supervillain:{id:"female_supervillain",name:"Woman Supervillain",keywords:["female","evil","bad","criminal","heroine","superpowers"],skins:[{unified:"1f9b9-200d-2640-fe0f",native:"🦹‍♀️"},{unified:"1f9b9-1f3fb-200d-2640-fe0f",native:"🦹🏻‍♀️"},{unified:"1f9b9-1f3fc-200d-2640-fe0f",native:"🦹🏼‍♀️"},{unified:"1f9b9-1f3fd-200d-2640-fe0f",native:"🦹🏽‍♀️"},{unified:"1f9b9-1f3fe-200d-2640-fe0f",native:"🦹🏾‍♀️"},{unified:"1f9b9-1f3ff-200d-2640-fe0f",native:"🦹🏿‍♀️"}],version:11},mage:{id:"mage",name:"Mage",keywords:["magic"],skins:[{unified:"1f9d9",native:"🧙"},{unified:"1f9d9-1f3fb",native:"🧙🏻"},{unified:"1f9d9-1f3fc",native:"🧙🏼"},{unified:"1f9d9-1f3fd",native:"🧙🏽"},{unified:"1f9d9-1f3fe",native:"🧙🏾"},{unified:"1f9d9-1f3ff",native:"🧙🏿"}],version:5},male_mage:{id:"male_mage",name:"Man Mage",keywords:["male","sorcerer"],skins:[{unified:"1f9d9-200d-2642-fe0f",native:"🧙‍♂️"},{unified:"1f9d9-1f3fb-200d-2642-fe0f",native:"🧙🏻‍♂️"},{unified:"1f9d9-1f3fc-200d-2642-fe0f",native:"🧙🏼‍♂️"},{unified:"1f9d9-1f3fd-200d-2642-fe0f",native:"🧙🏽‍♂️"},{unified:"1f9d9-1f3fe-200d-2642-fe0f",native:"🧙🏾‍♂️"},{unified:"1f9d9-1f3ff-200d-2642-fe0f",native:"🧙🏿‍♂️"}],version:5},female_mage:{id:"female_mage",name:"Woman Mage",keywords:["female","witch"],skins:[{unified:"1f9d9-200d-2640-fe0f",native:"🧙‍♀️"},{unified:"1f9d9-1f3fb-200d-2640-fe0f",native:"🧙🏻‍♀️"},{unified:"1f9d9-1f3fc-200d-2640-fe0f",native:"🧙🏼‍♀️"},{unified:"1f9d9-1f3fd-200d-2640-fe0f",native:"🧙🏽‍♀️"},{unified:"1f9d9-1f3fe-200d-2640-fe0f",native:"🧙🏾‍♀️"},{unified:"1f9d9-1f3ff-200d-2640-fe0f",native:"🧙🏿‍♀️"}],version:5},fairy:{id:"fairy",name:"Fairy",keywords:["wings","magical"],skins:[{unified:"1f9da",native:"🧚"},{unified:"1f9da-1f3fb",native:"🧚🏻"},{unified:"1f9da-1f3fc",native:"🧚🏼"},{unified:"1f9da-1f3fd",native:"🧚🏽"},{unified:"1f9da-1f3fe",native:"🧚🏾"},{unified:"1f9da-1f3ff",native:"🧚🏿"}],version:5},male_fairy:{id:"male_fairy",name:"Man Fairy",keywords:["male"],skins:[{unified:"1f9da-200d-2642-fe0f",native:"🧚‍♂️"},{unified:"1f9da-1f3fb-200d-2642-fe0f",native:"🧚🏻‍♂️"},{unified:"1f9da-1f3fc-200d-2642-fe0f",native:"🧚🏼‍♂️"},{unified:"1f9da-1f3fd-200d-2642-fe0f",native:"🧚🏽‍♂️"},{unified:"1f9da-1f3fe-200d-2642-fe0f",native:"🧚🏾‍♂️"},{unified:"1f9da-1f3ff-200d-2642-fe0f",native:"🧚🏿‍♂️"}],version:5},female_fairy:{id:"female_fairy",name:"Woman Fairy",keywords:["female"],skins:[{unified:"1f9da-200d-2640-fe0f",native:"🧚‍♀️"},{unified:"1f9da-1f3fb-200d-2640-fe0f",native:"🧚🏻‍♀️"},{unified:"1f9da-1f3fc-200d-2640-fe0f",native:"🧚🏼‍♀️"},{unified:"1f9da-1f3fd-200d-2640-fe0f",native:"🧚🏽‍♀️"},{unified:"1f9da-1f3fe-200d-2640-fe0f",native:"🧚🏾‍♀️"},{unified:"1f9da-1f3ff-200d-2640-fe0f",native:"🧚🏿‍♀️"}],version:5},vampire:{id:"vampire",name:"Vampire",keywords:["blood","twilight"],skins:[{unified:"1f9db",native:"🧛"},{unified:"1f9db-1f3fb",native:"🧛🏻"},{unified:"1f9db-1f3fc",native:"🧛🏼"},{unified:"1f9db-1f3fd",native:"🧛🏽"},{unified:"1f9db-1f3fe",native:"🧛🏾"},{unified:"1f9db-1f3ff",native:"🧛🏿"}],version:5},male_vampire:{id:"male_vampire",name:"Man Vampire",keywords:["male","dracula"],skins:[{unified:"1f9db-200d-2642-fe0f",native:"🧛‍♂️"},{unified:"1f9db-1f3fb-200d-2642-fe0f",native:"🧛🏻‍♂️"},{unified:"1f9db-1f3fc-200d-2642-fe0f",native:"🧛🏼‍♂️"},{unified:"1f9db-1f3fd-200d-2642-fe0f",native:"🧛🏽‍♂️"},{unified:"1f9db-1f3fe-200d-2642-fe0f",native:"🧛🏾‍♂️"},{unified:"1f9db-1f3ff-200d-2642-fe0f",native:"🧛🏿‍♂️"}],version:5},female_vampire:{id:"female_vampire",name:"Woman Vampire",keywords:["female"],skins:[{unified:"1f9db-200d-2640-fe0f",native:"🧛‍♀️"},{unified:"1f9db-1f3fb-200d-2640-fe0f",native:"🧛🏻‍♀️"},{unified:"1f9db-1f3fc-200d-2640-fe0f",native:"🧛🏼‍♀️"},{unified:"1f9db-1f3fd-200d-2640-fe0f",native:"🧛🏽‍♀️"},{unified:"1f9db-1f3fe-200d-2640-fe0f",native:"🧛🏾‍♀️"},{unified:"1f9db-1f3ff-200d-2640-fe0f",native:"🧛🏿‍♀️"}],version:5},merperson:{id:"merperson",name:"Merperson",keywords:["sea"],skins:[{unified:"1f9dc",native:"🧜"},{unified:"1f9dc-1f3fb",native:"🧜🏻"},{unified:"1f9dc-1f3fc",native:"🧜🏼"},{unified:"1f9dc-1f3fd",native:"🧜🏽"},{unified:"1f9dc-1f3fe",native:"🧜🏾"},{unified:"1f9dc-1f3ff",native:"🧜🏿"}],version:5},merman:{id:"merman",name:"Merman",keywords:["man","male","triton"],skins:[{unified:"1f9dc-200d-2642-fe0f",native:"🧜‍♂️"},{unified:"1f9dc-1f3fb-200d-2642-fe0f",native:"🧜🏻‍♂️"},{unified:"1f9dc-1f3fc-200d-2642-fe0f",native:"🧜🏼‍♂️"},{unified:"1f9dc-1f3fd-200d-2642-fe0f",native:"🧜🏽‍♂️"},{unified:"1f9dc-1f3fe-200d-2642-fe0f",native:"🧜🏾‍♂️"},{unified:"1f9dc-1f3ff-200d-2642-fe0f",native:"🧜🏿‍♂️"}],version:5},mermaid:{id:"mermaid",name:"Mermaid",keywords:["woman","female","merwoman","ariel"],skins:[{unified:"1f9dc-200d-2640-fe0f",native:"🧜‍♀️"},{unified:"1f9dc-1f3fb-200d-2640-fe0f",native:"🧜🏻‍♀️"},{unified:"1f9dc-1f3fc-200d-2640-fe0f",native:"🧜🏼‍♀️"},{unified:"1f9dc-1f3fd-200d-2640-fe0f",native:"🧜🏽‍♀️"},{unified:"1f9dc-1f3fe-200d-2640-fe0f",native:"🧜🏾‍♀️"},{unified:"1f9dc-1f3ff-200d-2640-fe0f",native:"🧜🏿‍♀️"}],version:5},elf:{id:"elf",name:"Elf",keywords:["magical"],skins:[{unified:"1f9dd",native:"🧝"},{unified:"1f9dd-1f3fb",native:"🧝🏻"},{unified:"1f9dd-1f3fc",native:"🧝🏼"},{unified:"1f9dd-1f3fd",native:"🧝🏽"},{unified:"1f9dd-1f3fe",native:"🧝🏾"},{unified:"1f9dd-1f3ff",native:"🧝🏿"}],version:5},male_elf:{id:"male_elf",name:"Man Elf",keywords:["male"],skins:[{unified:"1f9dd-200d-2642-fe0f",native:"🧝‍♂️"},{unified:"1f9dd-1f3fb-200d-2642-fe0f",native:"🧝🏻‍♂️"},{unified:"1f9dd-1f3fc-200d-2642-fe0f",native:"🧝🏼‍♂️"},{unified:"1f9dd-1f3fd-200d-2642-fe0f",native:"🧝🏽‍♂️"},{unified:"1f9dd-1f3fe-200d-2642-fe0f",native:"🧝🏾‍♂️"},{unified:"1f9dd-1f3ff-200d-2642-fe0f",native:"🧝🏿‍♂️"}],version:5},female_elf:{id:"female_elf",name:"Woman Elf",keywords:["female"],skins:[{unified:"1f9dd-200d-2640-fe0f",native:"🧝‍♀️"},{unified:"1f9dd-1f3fb-200d-2640-fe0f",native:"🧝🏻‍♀️"},{unified:"1f9dd-1f3fc-200d-2640-fe0f",native:"🧝🏼‍♀️"},{unified:"1f9dd-1f3fd-200d-2640-fe0f",native:"🧝🏽‍♀️"},{unified:"1f9dd-1f3fe-200d-2640-fe0f",native:"🧝🏾‍♀️"},{unified:"1f9dd-1f3ff-200d-2640-fe0f",native:"🧝🏿‍♀️"}],version:5},genie:{id:"genie",name:"Genie",keywords:["magical","wishes"],skins:[{unified:"1f9de",native:"🧞"}],version:5},male_genie:{id:"male_genie",name:"Man Genie",keywords:["male"],skins:[{unified:"1f9de-200d-2642-fe0f",native:"🧞‍♂️"}],version:5},female_genie:{id:"female_genie",name:"Woman Genie",keywords:["female"],skins:[{unified:"1f9de-200d-2640-fe0f",native:"🧞‍♀️"}],version:5},zombie:{id:"zombie",name:"Zombie",keywords:["dead"],skins:[{unified:"1f9df",native:"🧟"}],version:5},male_zombie:{id:"male_zombie",name:"Man Zombie",keywords:["male","dracula","undead","walking","dead"],skins:[{unified:"1f9df-200d-2642-fe0f",native:"🧟‍♂️"}],version:5},female_zombie:{id:"female_zombie",name:"Woman Zombie",keywords:["female","undead","walking","dead"],skins:[{unified:"1f9df-200d-2640-fe0f",native:"🧟‍♀️"}],version:5},troll:{id:"troll",name:"Troll",keywords:["mystical","monster"],skins:[{unified:"1f9cc",native:"🧌"}],version:14},massage:{id:"massage",name:"Face Massage",keywords:["person","getting","relax"],skins:[{unified:"1f486",native:"💆"},{unified:"1f486-1f3fb",native:"💆🏻"},{unified:"1f486-1f3fc",native:"💆🏼"},{unified:"1f486-1f3fd",native:"💆🏽"},{unified:"1f486-1f3fe",native:"💆🏾"},{unified:"1f486-1f3ff",native:"💆🏿"}],version:1},"man-getting-massage":{id:"man-getting-massage",name:"Man Getting Massage",keywords:["getting-massage","male","boy","head"],skins:[{unified:"1f486-200d-2642-fe0f",native:"💆‍♂️"},{unified:"1f486-1f3fb-200d-2642-fe0f",native:"💆🏻‍♂️"},{unified:"1f486-1f3fc-200d-2642-fe0f",native:"💆🏼‍♂️"},{unified:"1f486-1f3fd-200d-2642-fe0f",native:"💆🏽‍♂️"},{unified:"1f486-1f3fe-200d-2642-fe0f",native:"💆🏾‍♂️"},{unified:"1f486-1f3ff-200d-2642-fe0f",native:"💆🏿‍♂️"}],version:4},"woman-getting-massage":{id:"woman-getting-massage",name:"Woman Getting Massage",keywords:["getting-massage","female","girl","head"],skins:[{unified:"1f486-200d-2640-fe0f",native:"💆‍♀️"},{unified:"1f486-1f3fb-200d-2640-fe0f",native:"💆🏻‍♀️"},{unified:"1f486-1f3fc-200d-2640-fe0f",native:"💆🏼‍♀️"},{unified:"1f486-1f3fd-200d-2640-fe0f",native:"💆🏽‍♀️"},{unified:"1f486-1f3fe-200d-2640-fe0f",native:"💆🏾‍♀️"},{unified:"1f486-1f3ff-200d-2640-fe0f",native:"💆🏿‍♀️"}],version:4},haircut:{id:"haircut",name:"Haircut",keywords:["person","getting","hairstyle"],skins:[{unified:"1f487",native:"💇"},{unified:"1f487-1f3fb",native:"💇🏻"},{unified:"1f487-1f3fc",native:"💇🏼"},{unified:"1f487-1f3fd",native:"💇🏽"},{unified:"1f487-1f3fe",native:"💇🏾"},{unified:"1f487-1f3ff",native:"💇🏿"}],version:1},"man-getting-haircut":{id:"man-getting-haircut",name:"Man Getting Haircut",keywords:["getting-haircut","male","boy"],skins:[{unified:"1f487-200d-2642-fe0f",native:"💇‍♂️"},{unified:"1f487-1f3fb-200d-2642-fe0f",native:"💇🏻‍♂️"},{unified:"1f487-1f3fc-200d-2642-fe0f",native:"💇🏼‍♂️"},{unified:"1f487-1f3fd-200d-2642-fe0f",native:"💇🏽‍♂️"},{unified:"1f487-1f3fe-200d-2642-fe0f",native:"💇🏾‍♂️"},{unified:"1f487-1f3ff-200d-2642-fe0f",native:"💇🏿‍♂️"}],version:4},"woman-getting-haircut":{id:"woman-getting-haircut",name:"Woman Getting Haircut",keywords:["getting-haircut","female","girl"],skins:[{unified:"1f487-200d-2640-fe0f",native:"💇‍♀️"},{unified:"1f487-1f3fb-200d-2640-fe0f",native:"💇🏻‍♀️"},{unified:"1f487-1f3fc-200d-2640-fe0f",native:"💇🏼‍♀️"},{unified:"1f487-1f3fd-200d-2640-fe0f",native:"💇🏽‍♀️"},{unified:"1f487-1f3fe-200d-2640-fe0f",native:"💇🏾‍♀️"},{unified:"1f487-1f3ff-200d-2640-fe0f",native:"💇🏿‍♀️"}],version:4},walking:{id:"walking",name:"Pedestrian",keywords:["walking","person","move"],skins:[{unified:"1f6b6",native:"🚶"},{unified:"1f6b6-1f3fb",native:"🚶🏻"},{unified:"1f6b6-1f3fc",native:"🚶🏼"},{unified:"1f6b6-1f3fd",native:"🚶🏽"},{unified:"1f6b6-1f3fe",native:"🚶🏾"},{unified:"1f6b6-1f3ff",native:"🚶🏿"}],version:1},"man-walking":{id:"man-walking",name:"Man Walking",keywords:["human","feet","steps"],skins:[{unified:"1f6b6-200d-2642-fe0f",native:"🚶‍♂️"},{unified:"1f6b6-1f3fb-200d-2642-fe0f",native:"🚶🏻‍♂️"},{unified:"1f6b6-1f3fc-200d-2642-fe0f",native:"🚶🏼‍♂️"},{unified:"1f6b6-1f3fd-200d-2642-fe0f",native:"🚶🏽‍♂️"},{unified:"1f6b6-1f3fe-200d-2642-fe0f",native:"🚶🏾‍♂️"},{unified:"1f6b6-1f3ff-200d-2642-fe0f",native:"🚶🏿‍♂️"}],version:4},"woman-walking":{id:"woman-walking",name:"Woman Walking",keywords:["human","feet","steps","female"],skins:[{unified:"1f6b6-200d-2640-fe0f",native:"🚶‍♀️"},{unified:"1f6b6-1f3fb-200d-2640-fe0f",native:"🚶🏻‍♀️"},{unified:"1f6b6-1f3fc-200d-2640-fe0f",native:"🚶🏼‍♀️"},{unified:"1f6b6-1f3fd-200d-2640-fe0f",native:"🚶🏽‍♀️"},{unified:"1f6b6-1f3fe-200d-2640-fe0f",native:"🚶🏾‍♀️"},{unified:"1f6b6-1f3ff-200d-2640-fe0f",native:"🚶🏿‍♀️"}],version:4},standing_person:{id:"standing_person",name:"Standing Person",keywords:["still"],skins:[{unified:"1f9cd",native:"🧍"},{unified:"1f9cd-1f3fb",native:"🧍🏻"},{unified:"1f9cd-1f3fc",native:"🧍🏼"},{unified:"1f9cd-1f3fd",native:"🧍🏽"},{unified:"1f9cd-1f3fe",native:"🧍🏾"},{unified:"1f9cd-1f3ff",native:"🧍🏿"}],version:12},man_standing:{id:"man_standing",name:"Man Standing",keywords:["still"],skins:[{unified:"1f9cd-200d-2642-fe0f",native:"🧍‍♂️"},{unified:"1f9cd-1f3fb-200d-2642-fe0f",native:"🧍🏻‍♂️"},{unified:"1f9cd-1f3fc-200d-2642-fe0f",native:"🧍🏼‍♂️"},{unified:"1f9cd-1f3fd-200d-2642-fe0f",native:"🧍🏽‍♂️"},{unified:"1f9cd-1f3fe-200d-2642-fe0f",native:"🧍🏾‍♂️"},{unified:"1f9cd-1f3ff-200d-2642-fe0f",native:"🧍🏿‍♂️"}],version:12},woman_standing:{id:"woman_standing",name:"Woman Standing",keywords:["still"],skins:[{unified:"1f9cd-200d-2640-fe0f",native:"🧍‍♀️"},{unified:"1f9cd-1f3fb-200d-2640-fe0f",native:"🧍🏻‍♀️"},{unified:"1f9cd-1f3fc-200d-2640-fe0f",native:"🧍🏼‍♀️"},{unified:"1f9cd-1f3fd-200d-2640-fe0f",native:"🧍🏽‍♀️"},{unified:"1f9cd-1f3fe-200d-2640-fe0f",native:"🧍🏾‍♀️"},{unified:"1f9cd-1f3ff-200d-2640-fe0f",native:"🧍🏿‍♀️"}],version:12},kneeling_person:{id:"kneeling_person",name:"Kneeling Person",keywords:["pray","respectful"],skins:[{unified:"1f9ce",native:"🧎"},{unified:"1f9ce-1f3fb",native:"🧎🏻"},{unified:"1f9ce-1f3fc",native:"🧎🏼"},{unified:"1f9ce-1f3fd",native:"🧎🏽"},{unified:"1f9ce-1f3fe",native:"🧎🏾"},{unified:"1f9ce-1f3ff",native:"🧎🏿"}],version:12},man_kneeling:{id:"man_kneeling",name:"Man Kneeling",keywords:["pray","respectful"],skins:[{unified:"1f9ce-200d-2642-fe0f",native:"🧎‍♂️"},{unified:"1f9ce-1f3fb-200d-2642-fe0f",native:"🧎🏻‍♂️"},{unified:"1f9ce-1f3fc-200d-2642-fe0f",native:"🧎🏼‍♂️"},{unified:"1f9ce-1f3fd-200d-2642-fe0f",native:"🧎🏽‍♂️"},{unified:"1f9ce-1f3fe-200d-2642-fe0f",native:"🧎🏾‍♂️"},{unified:"1f9ce-1f3ff-200d-2642-fe0f",native:"🧎🏿‍♂️"}],version:12},woman_kneeling:{id:"woman_kneeling",name:"Woman Kneeling",keywords:["respectful","pray"],skins:[{unified:"1f9ce-200d-2640-fe0f",native:"🧎‍♀️"},{unified:"1f9ce-1f3fb-200d-2640-fe0f",native:"🧎🏻‍♀️"},{unified:"1f9ce-1f3fc-200d-2640-fe0f",native:"🧎🏼‍♀️"},{unified:"1f9ce-1f3fd-200d-2640-fe0f",native:"🧎🏽‍♀️"},{unified:"1f9ce-1f3fe-200d-2640-fe0f",native:"🧎🏾‍♀️"},{unified:"1f9ce-1f3ff-200d-2640-fe0f",native:"🧎🏿‍♀️"}],version:12},person_with_probing_cane:{id:"person_with_probing_cane",name:"Person with White Cane",keywords:["probing","blind"],skins:[{unified:"1f9d1-200d-1f9af",native:"🧑‍🦯"},{unified:"1f9d1-1f3fb-200d-1f9af",native:"🧑🏻‍🦯"},{unified:"1f9d1-1f3fc-200d-1f9af",native:"🧑🏼‍🦯"},{unified:"1f9d1-1f3fd-200d-1f9af",native:"🧑🏽‍🦯"},{unified:"1f9d1-1f3fe-200d-1f9af",native:"🧑🏾‍🦯"},{unified:"1f9d1-1f3ff-200d-1f9af",native:"🧑🏿‍🦯"}],version:12.1},man_with_probing_cane:{id:"man_with_probing_cane",name:"Man with White Cane",keywords:["probing","blind"],skins:[{unified:"1f468-200d-1f9af",native:"👨‍🦯"},{unified:"1f468-1f3fb-200d-1f9af",native:"👨🏻‍🦯"},{unified:"1f468-1f3fc-200d-1f9af",native:"👨🏼‍🦯"},{unified:"1f468-1f3fd-200d-1f9af",native:"👨🏽‍🦯"},{unified:"1f468-1f3fe-200d-1f9af",native:"👨🏾‍🦯"},{unified:"1f468-1f3ff-200d-1f9af",native:"👨🏿‍🦯"}],version:12},woman_with_probing_cane:{id:"woman_with_probing_cane",name:"Woman with White Cane",keywords:["probing","blind"],skins:[{unified:"1f469-200d-1f9af",native:"👩‍🦯"},{unified:"1f469-1f3fb-200d-1f9af",native:"👩🏻‍🦯"},{unified:"1f469-1f3fc-200d-1f9af",native:"👩🏼‍🦯"},{unified:"1f469-1f3fd-200d-1f9af",native:"👩🏽‍🦯"},{unified:"1f469-1f3fe-200d-1f9af",native:"👩🏾‍🦯"},{unified:"1f469-1f3ff-200d-1f9af",native:"👩🏿‍🦯"}],version:12},person_in_motorized_wheelchair:{id:"person_in_motorized_wheelchair",name:"Person in Motorized Wheelchair",keywords:["disability","accessibility"],skins:[{unified:"1f9d1-200d-1f9bc",native:"🧑‍🦼"},{unified:"1f9d1-1f3fb-200d-1f9bc",native:"🧑🏻‍🦼"},{unified:"1f9d1-1f3fc-200d-1f9bc",native:"🧑🏼‍🦼"},{unified:"1f9d1-1f3fd-200d-1f9bc",native:"🧑🏽‍🦼"},{unified:"1f9d1-1f3fe-200d-1f9bc",native:"🧑🏾‍🦼"},{unified:"1f9d1-1f3ff-200d-1f9bc",native:"🧑🏿‍🦼"}],version:12.1},man_in_motorized_wheelchair:{id:"man_in_motorized_wheelchair",name:"Man in Motorized Wheelchair",keywords:["disability","accessibility"],skins:[{unified:"1f468-200d-1f9bc",native:"👨‍🦼"},{unified:"1f468-1f3fb-200d-1f9bc",native:"👨🏻‍🦼"},{unified:"1f468-1f3fc-200d-1f9bc",native:"👨🏼‍🦼"},{unified:"1f468-1f3fd-200d-1f9bc",native:"👨🏽‍🦼"},{unified:"1f468-1f3fe-200d-1f9bc",native:"👨🏾‍🦼"},{unified:"1f468-1f3ff-200d-1f9bc",native:"👨🏿‍🦼"}],version:12},woman_in_motorized_wheelchair:{id:"woman_in_motorized_wheelchair",name:"Woman in Motorized Wheelchair",keywords:["disability","accessibility"],skins:[{unified:"1f469-200d-1f9bc",native:"👩‍🦼"},{unified:"1f469-1f3fb-200d-1f9bc",native:"👩🏻‍🦼"},{unified:"1f469-1f3fc-200d-1f9bc",native:"👩🏼‍🦼"},{unified:"1f469-1f3fd-200d-1f9bc",native:"👩🏽‍🦼"},{unified:"1f469-1f3fe-200d-1f9bc",native:"👩🏾‍🦼"},{unified:"1f469-1f3ff-200d-1f9bc",native:"👩🏿‍🦼"}],version:12},person_in_manual_wheelchair:{id:"person_in_manual_wheelchair",name:"Person in Manual Wheelchair",keywords:["disability","accessibility"],skins:[{unified:"1f9d1-200d-1f9bd",native:"🧑‍🦽"},{unified:"1f9d1-1f3fb-200d-1f9bd",native:"🧑🏻‍🦽"},{unified:"1f9d1-1f3fc-200d-1f9bd",native:"🧑🏼‍🦽"},{unified:"1f9d1-1f3fd-200d-1f9bd",native:"🧑🏽‍🦽"},{unified:"1f9d1-1f3fe-200d-1f9bd",native:"🧑🏾‍🦽"},{unified:"1f9d1-1f3ff-200d-1f9bd",native:"🧑🏿‍🦽"}],version:12.1},man_in_manual_wheelchair:{id:"man_in_manual_wheelchair",name:"Man in Manual Wheelchair",keywords:["disability","accessibility"],skins:[{unified:"1f468-200d-1f9bd",native:"👨‍🦽"},{unified:"1f468-1f3fb-200d-1f9bd",native:"👨🏻‍🦽"},{unified:"1f468-1f3fc-200d-1f9bd",native:"👨🏼‍🦽"},{unified:"1f468-1f3fd-200d-1f9bd",native:"👨🏽‍🦽"},{unified:"1f468-1f3fe-200d-1f9bd",native:"👨🏾‍🦽"},{unified:"1f468-1f3ff-200d-1f9bd",native:"👨🏿‍🦽"}],version:12},woman_in_manual_wheelchair:{id:"woman_in_manual_wheelchair",name:"Woman in Manual Wheelchair",keywords:["disability","accessibility"],skins:[{unified:"1f469-200d-1f9bd",native:"👩‍🦽"},{unified:"1f469-1f3fb-200d-1f9bd",native:"👩🏻‍🦽"},{unified:"1f469-1f3fc-200d-1f9bd",native:"👩🏼‍🦽"},{unified:"1f469-1f3fd-200d-1f9bd",native:"👩🏽‍🦽"},{unified:"1f469-1f3fe-200d-1f9bd",native:"👩🏾‍🦽"},{unified:"1f469-1f3ff-200d-1f9bd",native:"👩🏿‍🦽"}],version:12},runner:{id:"runner",name:"Runner",keywords:["running","person","move"],skins:[{unified:"1f3c3",native:"🏃"},{unified:"1f3c3-1f3fb",native:"🏃🏻"},{unified:"1f3c3-1f3fc",native:"🏃🏼"},{unified:"1f3c3-1f3fd",native:"🏃🏽"},{unified:"1f3c3-1f3fe",native:"🏃🏾"},{unified:"1f3c3-1f3ff",native:"🏃🏿"}],version:1},"man-running":{id:"man-running",name:"Man Running",keywords:["walking","exercise","race"],skins:[{unified:"1f3c3-200d-2642-fe0f",native:"🏃‍♂️"},{unified:"1f3c3-1f3fb-200d-2642-fe0f",native:"🏃🏻‍♂️"},{unified:"1f3c3-1f3fc-200d-2642-fe0f",native:"🏃🏼‍♂️"},{unified:"1f3c3-1f3fd-200d-2642-fe0f",native:"🏃🏽‍♂️"},{unified:"1f3c3-1f3fe-200d-2642-fe0f",native:"🏃🏾‍♂️"},{unified:"1f3c3-1f3ff-200d-2642-fe0f",native:"🏃🏿‍♂️"}],version:4},"woman-running":{id:"woman-running",name:"Woman Running",keywords:["walking","exercise","race","female"],skins:[{unified:"1f3c3-200d-2640-fe0f",native:"🏃‍♀️"},{unified:"1f3c3-1f3fb-200d-2640-fe0f",native:"🏃🏻‍♀️"},{unified:"1f3c3-1f3fc-200d-2640-fe0f",native:"🏃🏼‍♀️"},{unified:"1f3c3-1f3fd-200d-2640-fe0f",native:"🏃🏽‍♀️"},{unified:"1f3c3-1f3fe-200d-2640-fe0f",native:"🏃🏾‍♀️"},{unified:"1f3c3-1f3ff-200d-2640-fe0f",native:"🏃🏿‍♀️"}],version:4},dancer:{id:"dancer",name:"Dancer",keywords:["woman","dancing","female","girl","fun"],skins:[{unified:"1f483",native:"💃"},{unified:"1f483-1f3fb",native:"💃🏻"},{unified:"1f483-1f3fc",native:"💃🏼"},{unified:"1f483-1f3fd",native:"💃🏽"},{unified:"1f483-1f3fe",native:"💃🏾"},{unified:"1f483-1f3ff",native:"💃🏿"}],version:1},man_dancing:{id:"man_dancing",name:"Man Dancing",keywords:["male","boy","fun","dancer"],skins:[{unified:"1f57a",native:"🕺"},{unified:"1f57a-1f3fb",native:"🕺🏻"},{unified:"1f57a-1f3fc",native:"🕺🏼"},{unified:"1f57a-1f3fd",native:"🕺🏽"},{unified:"1f57a-1f3fe",native:"🕺🏾"},{unified:"1f57a-1f3ff",native:"🕺🏿"}],version:3},man_in_business_suit_levitating:{id:"man_in_business_suit_levitating",name:"Person in Suit Levitating",keywords:["man","business","levitate","hover","jump"],skins:[{unified:"1f574-fe0f",native:"🕴️"},{unified:"1f574-1f3fb",native:"🕴🏻"},{unified:"1f574-1f3fc",native:"🕴🏼"},{unified:"1f574-1f3fd",native:"🕴🏽"},{unified:"1f574-1f3fe",native:"🕴🏾"},{unified:"1f574-1f3ff",native:"🕴🏿"}],version:1},dancers:{id:"dancers",name:"Woman with Bunny Ears",keywords:["dancers","people","perform","costume"],skins:[{unified:"1f46f",native:"👯"}],version:1},"men-with-bunny-ears-partying":{id:"men-with-bunny-ears-partying",name:"Men with Bunny Ears",keywords:["with-bunny-ears-partying","man","male","boys"],skins:[{unified:"1f46f-200d-2642-fe0f",native:"👯‍♂️"}],version:4},"women-with-bunny-ears-partying":{id:"women-with-bunny-ears-partying",name:"Women with Bunny Ears",keywords:["with-bunny-ears-partying","woman","female","girls"],skins:[{unified:"1f46f-200d-2640-fe0f",native:"👯‍♀️"}],version:4},person_in_steamy_room:{id:"person_in_steamy_room",name:"Person in Steamy Room",keywords:["relax","spa"],skins:[{unified:"1f9d6",native:"🧖"},{unified:"1f9d6-1f3fb",native:"🧖🏻"},{unified:"1f9d6-1f3fc",native:"🧖🏼"},{unified:"1f9d6-1f3fd",native:"🧖🏽"},{unified:"1f9d6-1f3fe",native:"🧖🏾"},{unified:"1f9d6-1f3ff",native:"🧖🏿"}],version:5},man_in_steamy_room:{id:"man_in_steamy_room",name:"Man in Steamy Room",keywords:["male","spa","steamroom","sauna"],skins:[{unified:"1f9d6-200d-2642-fe0f",native:"🧖‍♂️"},{unified:"1f9d6-1f3fb-200d-2642-fe0f",native:"🧖🏻‍♂️"},{unified:"1f9d6-1f3fc-200d-2642-fe0f",native:"🧖🏼‍♂️"},{unified:"1f9d6-1f3fd-200d-2642-fe0f",native:"🧖🏽‍♂️"},{unified:"1f9d6-1f3fe-200d-2642-fe0f",native:"🧖🏾‍♂️"},{unified:"1f9d6-1f3ff-200d-2642-fe0f",native:"🧖🏿‍♂️"}],version:5},woman_in_steamy_room:{id:"woman_in_steamy_room",name:"Woman in Steamy Room",keywords:["female","spa","steamroom","sauna"],skins:[{unified:"1f9d6-200d-2640-fe0f",native:"🧖‍♀️"},{unified:"1f9d6-1f3fb-200d-2640-fe0f",native:"🧖🏻‍♀️"},{unified:"1f9d6-1f3fc-200d-2640-fe0f",native:"🧖🏼‍♀️"},{unified:"1f9d6-1f3fd-200d-2640-fe0f",native:"🧖🏽‍♀️"},{unified:"1f9d6-1f3fe-200d-2640-fe0f",native:"🧖🏾‍♀️"},{unified:"1f9d6-1f3ff-200d-2640-fe0f",native:"🧖🏿‍♀️"}],version:5},person_climbing:{id:"person_climbing",name:"Person Climbing",keywords:["sport"],skins:[{unified:"1f9d7",native:"🧗"},{unified:"1f9d7-1f3fb",native:"🧗🏻"},{unified:"1f9d7-1f3fc",native:"🧗🏼"},{unified:"1f9d7-1f3fd",native:"🧗🏽"},{unified:"1f9d7-1f3fe",native:"🧗🏾"},{unified:"1f9d7-1f3ff",native:"🧗🏿"}],version:5},man_climbing:{id:"man_climbing",name:"Man Climbing",keywords:["sports","hobby","male","rock"],skins:[{unified:"1f9d7-200d-2642-fe0f",native:"🧗‍♂️"},{unified:"1f9d7-1f3fb-200d-2642-fe0f",native:"🧗🏻‍♂️"},{unified:"1f9d7-1f3fc-200d-2642-fe0f",native:"🧗🏼‍♂️"},{unified:"1f9d7-1f3fd-200d-2642-fe0f",native:"🧗🏽‍♂️"},{unified:"1f9d7-1f3fe-200d-2642-fe0f",native:"🧗🏾‍♂️"},{unified:"1f9d7-1f3ff-200d-2642-fe0f",native:"🧗🏿‍♂️"}],version:5},woman_climbing:{id:"woman_climbing",name:"Woman Climbing",keywords:["sports","hobby","female","rock"],skins:[{unified:"1f9d7-200d-2640-fe0f",native:"🧗‍♀️"},{unified:"1f9d7-1f3fb-200d-2640-fe0f",native:"🧗🏻‍♀️"},{unified:"1f9d7-1f3fc-200d-2640-fe0f",native:"🧗🏼‍♀️"},{unified:"1f9d7-1f3fd-200d-2640-fe0f",native:"🧗🏽‍♀️"},{unified:"1f9d7-1f3fe-200d-2640-fe0f",native:"🧗🏾‍♀️"},{unified:"1f9d7-1f3ff-200d-2640-fe0f",native:"🧗🏿‍♀️"}],version:5},fencer:{id:"fencer",name:"Fencer",keywords:["person","fencing","sports","sword"],skins:[{unified:"1f93a",native:"🤺"}],version:3},horse_racing:{id:"horse_racing",name:"Horse Racing",keywords:["animal","betting","competition","gambling","luck"],skins:[{unified:"1f3c7",native:"🏇"},{unified:"1f3c7-1f3fb",native:"🏇🏻"},{unified:"1f3c7-1f3fc",native:"🏇🏼"},{unified:"1f3c7-1f3fd",native:"🏇🏽"},{unified:"1f3c7-1f3fe",native:"🏇🏾"},{unified:"1f3c7-1f3ff",native:"🏇🏿"}],version:1},skier:{id:"skier",name:"Skier",keywords:["sports","winter","snow"],skins:[{unified:"26f7-fe0f",native:"⛷️"}],version:1},snowboarder:{id:"snowboarder",name:"Snowboarder",keywords:["sports","winter"],skins:[{unified:"1f3c2",native:"🏂"},{unified:"1f3c2-1f3fb",native:"🏂🏻"},{unified:"1f3c2-1f3fc",native:"🏂🏼"},{unified:"1f3c2-1f3fd",native:"🏂🏽"},{unified:"1f3c2-1f3fe",native:"🏂🏾"},{unified:"1f3c2-1f3ff",native:"🏂🏿"}],version:1},golfer:{id:"golfer",name:"Person Golfing",keywords:["golfer","sports","business"],skins:[{unified:"1f3cc-fe0f",native:"🏌️"},{unified:"1f3cc-1f3fb",native:"🏌🏻"},{unified:"1f3cc-1f3fc",native:"🏌🏼"},{unified:"1f3cc-1f3fd",native:"🏌🏽"},{unified:"1f3cc-1f3fe",native:"🏌🏾"},{unified:"1f3cc-1f3ff",native:"🏌🏿"}],version:1},"man-golfing":{id:"man-golfing",name:"Man Golfing",keywords:["sport"],skins:[{unified:"1f3cc-fe0f-200d-2642-fe0f",native:"🏌️‍♂️"},{unified:"1f3cc-1f3fb-200d-2642-fe0f",native:"🏌🏻‍♂️"},{unified:"1f3cc-1f3fc-200d-2642-fe0f",native:"🏌🏼‍♂️"},{unified:"1f3cc-1f3fd-200d-2642-fe0f",native:"🏌🏽‍♂️"},{unified:"1f3cc-1f3fe-200d-2642-fe0f",native:"🏌🏾‍♂️"},{unified:"1f3cc-1f3ff-200d-2642-fe0f",native:"🏌🏿‍♂️"}],version:4},"woman-golfing":{id:"woman-golfing",name:"Woman Golfing",keywords:["sports","business","female"],skins:[{unified:"1f3cc-fe0f-200d-2640-fe0f",native:"🏌️‍♀️"},{unified:"1f3cc-1f3fb-200d-2640-fe0f",native:"🏌🏻‍♀️"},{unified:"1f3cc-1f3fc-200d-2640-fe0f",native:"🏌🏼‍♀️"},{unified:"1f3cc-1f3fd-200d-2640-fe0f",native:"🏌🏽‍♀️"},{unified:"1f3cc-1f3fe-200d-2640-fe0f",native:"🏌🏾‍♀️"},{unified:"1f3cc-1f3ff-200d-2640-fe0f",native:"🏌🏿‍♀️"}],version:4},surfer:{id:"surfer",name:"Surfer",keywords:["person","surfing","sport","sea"],skins:[{unified:"1f3c4",native:"🏄"},{unified:"1f3c4-1f3fb",native:"🏄🏻"},{unified:"1f3c4-1f3fc",native:"🏄🏼"},{unified:"1f3c4-1f3fd",native:"🏄🏽"},{unified:"1f3c4-1f3fe",native:"🏄🏾"},{unified:"1f3c4-1f3ff",native:"🏄🏿"}],version:1},"man-surfing":{id:"man-surfing",name:"Man Surfing",keywords:["sports","ocean","sea","summer","beach"],skins:[{unified:"1f3c4-200d-2642-fe0f",native:"🏄‍♂️"},{unified:"1f3c4-1f3fb-200d-2642-fe0f",native:"🏄🏻‍♂️"},{unified:"1f3c4-1f3fc-200d-2642-fe0f",native:"🏄🏼‍♂️"},{unified:"1f3c4-1f3fd-200d-2642-fe0f",native:"🏄🏽‍♂️"},{unified:"1f3c4-1f3fe-200d-2642-fe0f",native:"🏄🏾‍♂️"},{unified:"1f3c4-1f3ff-200d-2642-fe0f",native:"🏄🏿‍♂️"}],version:4},"woman-surfing":{id:"woman-surfing",name:"Woman Surfing",keywords:["sports","ocean","sea","summer","beach","female"],skins:[{unified:"1f3c4-200d-2640-fe0f",native:"🏄‍♀️"},{unified:"1f3c4-1f3fb-200d-2640-fe0f",native:"🏄🏻‍♀️"},{unified:"1f3c4-1f3fc-200d-2640-fe0f",native:"🏄🏼‍♀️"},{unified:"1f3c4-1f3fd-200d-2640-fe0f",native:"🏄🏽‍♀️"},{unified:"1f3c4-1f3fe-200d-2640-fe0f",native:"🏄🏾‍♀️"},{unified:"1f3c4-1f3ff-200d-2640-fe0f",native:"🏄🏿‍♀️"}],version:4},rowboat:{id:"rowboat",name:"Rowboat",keywords:["person","rowing","boat","sport","move"],skins:[{unified:"1f6a3",native:"🚣"},{unified:"1f6a3-1f3fb",native:"🚣🏻"},{unified:"1f6a3-1f3fc",native:"🚣🏼"},{unified:"1f6a3-1f3fd",native:"🚣🏽"},{unified:"1f6a3-1f3fe",native:"🚣🏾"},{unified:"1f6a3-1f3ff",native:"🚣🏿"}],version:1},"man-rowing-boat":{id:"man-rowing-boat",name:"Man Rowing Boat",keywords:["rowing-boat","sports","hobby","water","ship"],skins:[{unified:"1f6a3-200d-2642-fe0f",native:"🚣‍♂️"},{unified:"1f6a3-1f3fb-200d-2642-fe0f",native:"🚣🏻‍♂️"},{unified:"1f6a3-1f3fc-200d-2642-fe0f",native:"🚣🏼‍♂️"},{unified:"1f6a3-1f3fd-200d-2642-fe0f",native:"🚣🏽‍♂️"},{unified:"1f6a3-1f3fe-200d-2642-fe0f",native:"🚣🏾‍♂️"},{unified:"1f6a3-1f3ff-200d-2642-fe0f",native:"🚣🏿‍♂️"}],version:4},"woman-rowing-boat":{id:"woman-rowing-boat",name:"Woman Rowing Boat",keywords:["rowing-boat","sports","hobby","water","ship","female"],skins:[{unified:"1f6a3-200d-2640-fe0f",native:"🚣‍♀️"},{unified:"1f6a3-1f3fb-200d-2640-fe0f",native:"🚣🏻‍♀️"},{unified:"1f6a3-1f3fc-200d-2640-fe0f",native:"🚣🏼‍♀️"},{unified:"1f6a3-1f3fd-200d-2640-fe0f",native:"🚣🏽‍♀️"},{unified:"1f6a3-1f3fe-200d-2640-fe0f",native:"🚣🏾‍♀️"},{unified:"1f6a3-1f3ff-200d-2640-fe0f",native:"🚣🏿‍♀️"}],version:4},swimmer:{id:"swimmer",name:"Swimmer",keywords:["person","swimming","sport","pool"],skins:[{unified:"1f3ca",native:"🏊"},{unified:"1f3ca-1f3fb",native:"🏊🏻"},{unified:"1f3ca-1f3fc",native:"🏊🏼"},{unified:"1f3ca-1f3fd",native:"🏊🏽"},{unified:"1f3ca-1f3fe",native:"🏊🏾"},{unified:"1f3ca-1f3ff",native:"🏊🏿"}],version:1},"man-swimming":{id:"man-swimming",name:"Man Swimming",keywords:["sports","exercise","human","athlete","water","summer"],skins:[{unified:"1f3ca-200d-2642-fe0f",native:"🏊‍♂️"},{unified:"1f3ca-1f3fb-200d-2642-fe0f",native:"🏊🏻‍♂️"},{unified:"1f3ca-1f3fc-200d-2642-fe0f",native:"🏊🏼‍♂️"},{unified:"1f3ca-1f3fd-200d-2642-fe0f",native:"🏊🏽‍♂️"},{unified:"1f3ca-1f3fe-200d-2642-fe0f",native:"🏊🏾‍♂️"},{unified:"1f3ca-1f3ff-200d-2642-fe0f",native:"🏊🏿‍♂️"}],version:4},"woman-swimming":{id:"woman-swimming",name:"Woman Swimming",keywords:["sports","exercise","human","athlete","water","summer","female"],skins:[{unified:"1f3ca-200d-2640-fe0f",native:"🏊‍♀️"},{unified:"1f3ca-1f3fb-200d-2640-fe0f",native:"🏊🏻‍♀️"},{unified:"1f3ca-1f3fc-200d-2640-fe0f",native:"🏊🏼‍♀️"},{unified:"1f3ca-1f3fd-200d-2640-fe0f",native:"🏊🏽‍♀️"},{unified:"1f3ca-1f3fe-200d-2640-fe0f",native:"🏊🏾‍♀️"},{unified:"1f3ca-1f3ff-200d-2640-fe0f",native:"🏊🏿‍♀️"}],version:4},person_with_ball:{id:"person_with_ball",name:"Person Bouncing Ball",keywords:["with","sports","human"],skins:[{unified:"26f9-fe0f",native:"⛹️"},{unified:"26f9-1f3fb",native:"⛹🏻"},{unified:"26f9-1f3fc",native:"⛹🏼"},{unified:"26f9-1f3fd",native:"⛹🏽"},{unified:"26f9-1f3fe",native:"⛹🏾"},{unified:"26f9-1f3ff",native:"⛹🏿"}],version:1},"man-bouncing-ball":{id:"man-bouncing-ball",name:"Man Bouncing Ball",keywords:["bouncing-ball","sport"],skins:[{unified:"26f9-fe0f-200d-2642-fe0f",native:"⛹️‍♂️"},{unified:"26f9-1f3fb-200d-2642-fe0f",native:"⛹🏻‍♂️"},{unified:"26f9-1f3fc-200d-2642-fe0f",native:"⛹🏼‍♂️"},{unified:"26f9-1f3fd-200d-2642-fe0f",native:"⛹🏽‍♂️"},{unified:"26f9-1f3fe-200d-2642-fe0f",native:"⛹🏾‍♂️"},{unified:"26f9-1f3ff-200d-2642-fe0f",native:"⛹🏿‍♂️"}],version:4},"woman-bouncing-ball":{id:"woman-bouncing-ball",name:"Woman Bouncing Ball",keywords:["bouncing-ball","sports","human","female"],skins:[{unified:"26f9-fe0f-200d-2640-fe0f",native:"⛹️‍♀️"},{unified:"26f9-1f3fb-200d-2640-fe0f",native:"⛹🏻‍♀️"},{unified:"26f9-1f3fc-200d-2640-fe0f",native:"⛹🏼‍♀️"},{unified:"26f9-1f3fd-200d-2640-fe0f",native:"⛹🏽‍♀️"},{unified:"26f9-1f3fe-200d-2640-fe0f",native:"⛹🏾‍♀️"},{unified:"26f9-1f3ff-200d-2640-fe0f",native:"⛹🏿‍♀️"}],version:4},weight_lifter:{id:"weight_lifter",name:"Person Lifting Weights",keywords:["weight","lifter","sports","training","exercise"],skins:[{unified:"1f3cb-fe0f",native:"🏋️"},{unified:"1f3cb-1f3fb",native:"🏋🏻"},{unified:"1f3cb-1f3fc",native:"🏋🏼"},{unified:"1f3cb-1f3fd",native:"🏋🏽"},{unified:"1f3cb-1f3fe",native:"🏋🏾"},{unified:"1f3cb-1f3ff",native:"🏋🏿"}],version:1},"man-lifting-weights":{id:"man-lifting-weights",name:"Man Lifting Weights",keywords:["lifting-weights","sport"],skins:[{unified:"1f3cb-fe0f-200d-2642-fe0f",native:"🏋️‍♂️"},{unified:"1f3cb-1f3fb-200d-2642-fe0f",native:"🏋🏻‍♂️"},{unified:"1f3cb-1f3fc-200d-2642-fe0f",native:"🏋🏼‍♂️"},{unified:"1f3cb-1f3fd-200d-2642-fe0f",native:"🏋🏽‍♂️"},{unified:"1f3cb-1f3fe-200d-2642-fe0f",native:"🏋🏾‍♂️"},{unified:"1f3cb-1f3ff-200d-2642-fe0f",native:"🏋🏿‍♂️"}],version:4},"woman-lifting-weights":{id:"woman-lifting-weights",name:"Woman Lifting Weights",keywords:["lifting-weights","sports","training","exercise","female"],skins:[{unified:"1f3cb-fe0f-200d-2640-fe0f",native:"🏋️‍♀️"},{unified:"1f3cb-1f3fb-200d-2640-fe0f",native:"🏋🏻‍♀️"},{unified:"1f3cb-1f3fc-200d-2640-fe0f",native:"🏋🏼‍♀️"},{unified:"1f3cb-1f3fd-200d-2640-fe0f",native:"🏋🏽‍♀️"},{unified:"1f3cb-1f3fe-200d-2640-fe0f",native:"🏋🏾‍♀️"},{unified:"1f3cb-1f3ff-200d-2640-fe0f",native:"🏋🏿‍♀️"}],version:4},bicyclist:{id:"bicyclist",name:"Bicyclist",keywords:["person","biking","sport","move"],skins:[{unified:"1f6b4",native:"🚴"},{unified:"1f6b4-1f3fb",native:"🚴🏻"},{unified:"1f6b4-1f3fc",native:"🚴🏼"},{unified:"1f6b4-1f3fd",native:"🚴🏽"},{unified:"1f6b4-1f3fe",native:"🚴🏾"},{unified:"1f6b4-1f3ff",native:"🚴🏿"}],version:1},"man-biking":{id:"man-biking",name:"Man Biking",keywords:["sports","bike","exercise","hipster"],skins:[{unified:"1f6b4-200d-2642-fe0f",native:"🚴‍♂️"},{unified:"1f6b4-1f3fb-200d-2642-fe0f",native:"🚴🏻‍♂️"},{unified:"1f6b4-1f3fc-200d-2642-fe0f",native:"🚴🏼‍♂️"},{unified:"1f6b4-1f3fd-200d-2642-fe0f",native:"🚴🏽‍♂️"},{unified:"1f6b4-1f3fe-200d-2642-fe0f",native:"🚴🏾‍♂️"},{unified:"1f6b4-1f3ff-200d-2642-fe0f",native:"🚴🏿‍♂️"}],version:4},"woman-biking":{id:"woman-biking",name:"Woman Biking",keywords:["sports","bike","exercise","hipster","female"],skins:[{unified:"1f6b4-200d-2640-fe0f",native:"🚴‍♀️"},{unified:"1f6b4-1f3fb-200d-2640-fe0f",native:"🚴🏻‍♀️"},{unified:"1f6b4-1f3fc-200d-2640-fe0f",native:"🚴🏼‍♀️"},{unified:"1f6b4-1f3fd-200d-2640-fe0f",native:"🚴🏽‍♀️"},{unified:"1f6b4-1f3fe-200d-2640-fe0f",native:"🚴🏾‍♀️"},{unified:"1f6b4-1f3ff-200d-2640-fe0f",native:"🚴🏿‍♀️"}],version:4},mountain_bicyclist:{id:"mountain_bicyclist",name:"Mountain Bicyclist",keywords:["person","biking","sport","move"],skins:[{unified:"1f6b5",native:"🚵"},{unified:"1f6b5-1f3fb",native:"🚵🏻"},{unified:"1f6b5-1f3fc",native:"🚵🏼"},{unified:"1f6b5-1f3fd",native:"🚵🏽"},{unified:"1f6b5-1f3fe",native:"🚵🏾"},{unified:"1f6b5-1f3ff",native:"🚵🏿"}],version:1},"man-mountain-biking":{id:"man-mountain-biking",name:"Man Mountain Biking",keywords:["mountain-biking","transportation","sports","human","race","bike"],skins:[{unified:"1f6b5-200d-2642-fe0f",native:"🚵‍♂️"},{unified:"1f6b5-1f3fb-200d-2642-fe0f",native:"🚵🏻‍♂️"},{unified:"1f6b5-1f3fc-200d-2642-fe0f",native:"🚵🏼‍♂️"},{unified:"1f6b5-1f3fd-200d-2642-fe0f",native:"🚵🏽‍♂️"},{unified:"1f6b5-1f3fe-200d-2642-fe0f",native:"🚵🏾‍♂️"},{unified:"1f6b5-1f3ff-200d-2642-fe0f",native:"🚵🏿‍♂️"}],version:4},"woman-mountain-biking":{id:"woman-mountain-biking",name:"Woman Mountain Biking",keywords:["mountain-biking","transportation","sports","human","race","bike","female"],skins:[{unified:"1f6b5-200d-2640-fe0f",native:"🚵‍♀️"},{unified:"1f6b5-1f3fb-200d-2640-fe0f",native:"🚵🏻‍♀️"},{unified:"1f6b5-1f3fc-200d-2640-fe0f",native:"🚵🏼‍♀️"},{unified:"1f6b5-1f3fd-200d-2640-fe0f",native:"🚵🏽‍♀️"},{unified:"1f6b5-1f3fe-200d-2640-fe0f",native:"🚵🏾‍♀️"},{unified:"1f6b5-1f3ff-200d-2640-fe0f",native:"🚵🏿‍♀️"}],version:4},person_doing_cartwheel:{id:"person_doing_cartwheel",name:"Person Cartwheeling",keywords:["doing","cartwheel","sport","gymnastic"],skins:[{unified:"1f938",native:"🤸"},{unified:"1f938-1f3fb",native:"🤸🏻"},{unified:"1f938-1f3fc",native:"🤸🏼"},{unified:"1f938-1f3fd",native:"🤸🏽"},{unified:"1f938-1f3fe",native:"🤸🏾"},{unified:"1f938-1f3ff",native:"🤸🏿"}],version:3},"man-cartwheeling":{id:"man-cartwheeling",name:"Man Cartwheeling",keywords:["gymnastics"],skins:[{unified:"1f938-200d-2642-fe0f",native:"🤸‍♂️"},{unified:"1f938-1f3fb-200d-2642-fe0f",native:"🤸🏻‍♂️"},{unified:"1f938-1f3fc-200d-2642-fe0f",native:"🤸🏼‍♂️"},{unified:"1f938-1f3fd-200d-2642-fe0f",native:"🤸🏽‍♂️"},{unified:"1f938-1f3fe-200d-2642-fe0f",native:"🤸🏾‍♂️"},{unified:"1f938-1f3ff-200d-2642-fe0f",native:"🤸🏿‍♂️"}],version:4},"woman-cartwheeling":{id:"woman-cartwheeling",name:"Woman Cartwheeling",keywords:["gymnastics"],skins:[{unified:"1f938-200d-2640-fe0f",native:"🤸‍♀️"},{unified:"1f938-1f3fb-200d-2640-fe0f",native:"🤸🏻‍♀️"},{unified:"1f938-1f3fc-200d-2640-fe0f",native:"🤸🏼‍♀️"},{unified:"1f938-1f3fd-200d-2640-fe0f",native:"🤸🏽‍♀️"},{unified:"1f938-1f3fe-200d-2640-fe0f",native:"🤸🏾‍♀️"},{unified:"1f938-1f3ff-200d-2640-fe0f",native:"🤸🏿‍♀️"}],version:4},wrestlers:{id:"wrestlers",name:"Wrestlers",keywords:["people","wrestling","sport"],skins:[{unified:"1f93c",native:"🤼"}],version:3},"man-wrestling":{id:"man-wrestling",name:"Men Wrestling",keywords:["man","sports","wrestlers"],skins:[{unified:"1f93c-200d-2642-fe0f",native:"🤼‍♂️"}],version:4},"woman-wrestling":{id:"woman-wrestling",name:"Women Wrestling",keywords:["woman","sports","wrestlers"],skins:[{unified:"1f93c-200d-2640-fe0f",native:"🤼‍♀️"}],version:4},water_polo:{id:"water_polo",name:"Water Polo",keywords:["person","playing","sport"],skins:[{unified:"1f93d",native:"🤽"},{unified:"1f93d-1f3fb",native:"🤽🏻"},{unified:"1f93d-1f3fc",native:"🤽🏼"},{unified:"1f93d-1f3fd",native:"🤽🏽"},{unified:"1f93d-1f3fe",native:"🤽🏾"},{unified:"1f93d-1f3ff",native:"🤽🏿"}],version:3},"man-playing-water-polo":{id:"man-playing-water-polo",name:"Man Playing Water Polo",keywords:["playing-water-polo","sports","pool"],skins:[{unified:"1f93d-200d-2642-fe0f",native:"🤽‍♂️"},{unified:"1f93d-1f3fb-200d-2642-fe0f",native:"🤽🏻‍♂️"},{unified:"1f93d-1f3fc-200d-2642-fe0f",native:"🤽🏼‍♂️"},{unified:"1f93d-1f3fd-200d-2642-fe0f",native:"🤽🏽‍♂️"},{unified:"1f93d-1f3fe-200d-2642-fe0f",native:"🤽🏾‍♂️"},{unified:"1f93d-1f3ff-200d-2642-fe0f",native:"🤽🏿‍♂️"}],version:4},"woman-playing-water-polo":{id:"woman-playing-water-polo",name:"Woman Playing Water Polo",keywords:["playing-water-polo","sports","pool"],skins:[{unified:"1f93d-200d-2640-fe0f",native:"🤽‍♀️"},{unified:"1f93d-1f3fb-200d-2640-fe0f",native:"🤽🏻‍♀️"},{unified:"1f93d-1f3fc-200d-2640-fe0f",native:"🤽🏼‍♀️"},{unified:"1f93d-1f3fd-200d-2640-fe0f",native:"🤽🏽‍♀️"},{unified:"1f93d-1f3fe-200d-2640-fe0f",native:"🤽🏾‍♀️"},{unified:"1f93d-1f3ff-200d-2640-fe0f",native:"🤽🏿‍♀️"}],version:4},handball:{id:"handball",name:"Handball",keywords:["person","playing","sport"],skins:[{unified:"1f93e",native:"🤾"},{unified:"1f93e-1f3fb",native:"🤾🏻"},{unified:"1f93e-1f3fc",native:"🤾🏼"},{unified:"1f93e-1f3fd",native:"🤾🏽"},{unified:"1f93e-1f3fe",native:"🤾🏾"},{unified:"1f93e-1f3ff",native:"🤾🏿"}],version:3},"man-playing-handball":{id:"man-playing-handball",name:"Man Playing Handball",keywords:["playing-handball","sports"],skins:[{unified:"1f93e-200d-2642-fe0f",native:"🤾‍♂️"},{unified:"1f93e-1f3fb-200d-2642-fe0f",native:"🤾🏻‍♂️"},{unified:"1f93e-1f3fc-200d-2642-fe0f",native:"🤾🏼‍♂️"},{unified:"1f93e-1f3fd-200d-2642-fe0f",native:"🤾🏽‍♂️"},{unified:"1f93e-1f3fe-200d-2642-fe0f",native:"🤾🏾‍♂️"},{unified:"1f93e-1f3ff-200d-2642-fe0f",native:"🤾🏿‍♂️"}],version:4},"woman-playing-handball":{id:"woman-playing-handball",name:"Woman Playing Handball",keywords:["playing-handball","sports"],skins:[{unified:"1f93e-200d-2640-fe0f",native:"🤾‍♀️"},{unified:"1f93e-1f3fb-200d-2640-fe0f",native:"🤾🏻‍♀️"},{unified:"1f93e-1f3fc-200d-2640-fe0f",native:"🤾🏼‍♀️"},{unified:"1f93e-1f3fd-200d-2640-fe0f",native:"🤾🏽‍♀️"},{unified:"1f93e-1f3fe-200d-2640-fe0f",native:"🤾🏾‍♀️"},{unified:"1f93e-1f3ff-200d-2640-fe0f",native:"🤾🏿‍♀️"}],version:4},juggling:{id:"juggling",name:"Juggling",keywords:["person","performance","balance"],skins:[{unified:"1f939",native:"🤹"},{unified:"1f939-1f3fb",native:"🤹🏻"},{unified:"1f939-1f3fc",native:"🤹🏼"},{unified:"1f939-1f3fd",native:"🤹🏽"},{unified:"1f939-1f3fe",native:"🤹🏾"},{unified:"1f939-1f3ff",native:"🤹🏿"}],version:3},"man-juggling":{id:"man-juggling",name:"Man Juggling",keywords:["juggle","balance","skill","multitask"],skins:[{unified:"1f939-200d-2642-fe0f",native:"🤹‍♂️"},{unified:"1f939-1f3fb-200d-2642-fe0f",native:"🤹🏻‍♂️"},{unified:"1f939-1f3fc-200d-2642-fe0f",native:"🤹🏼‍♂️"},{unified:"1f939-1f3fd-200d-2642-fe0f",native:"🤹🏽‍♂️"},{unified:"1f939-1f3fe-200d-2642-fe0f",native:"🤹🏾‍♂️"},{unified:"1f939-1f3ff-200d-2642-fe0f",native:"🤹🏿‍♂️"}],version:4},"woman-juggling":{id:"woman-juggling",name:"Woman Juggling",keywords:["juggle","balance","skill","multitask"],skins:[{unified:"1f939-200d-2640-fe0f",native:"🤹‍♀️"},{unified:"1f939-1f3fb-200d-2640-fe0f",native:"🤹🏻‍♀️"},{unified:"1f939-1f3fc-200d-2640-fe0f",native:"🤹🏼‍♀️"},{unified:"1f939-1f3fd-200d-2640-fe0f",native:"🤹🏽‍♀️"},{unified:"1f939-1f3fe-200d-2640-fe0f",native:"🤹🏾‍♀️"},{unified:"1f939-1f3ff-200d-2640-fe0f",native:"🤹🏿‍♀️"}],version:4},person_in_lotus_position:{id:"person_in_lotus_position",name:"Person in Lotus Position",keywords:["meditate"],skins:[{unified:"1f9d8",native:"🧘"},{unified:"1f9d8-1f3fb",native:"🧘🏻"},{unified:"1f9d8-1f3fc",native:"🧘🏼"},{unified:"1f9d8-1f3fd",native:"🧘🏽"},{unified:"1f9d8-1f3fe",native:"🧘🏾"},{unified:"1f9d8-1f3ff",native:"🧘🏿"}],version:5},man_in_lotus_position:{id:"man_in_lotus_position",name:"Man in Lotus Position",keywords:["male","meditation","yoga","serenity","zen","mindfulness"],skins:[{unified:"1f9d8-200d-2642-fe0f",native:"🧘‍♂️"},{unified:"1f9d8-1f3fb-200d-2642-fe0f",native:"🧘🏻‍♂️"},{unified:"1f9d8-1f3fc-200d-2642-fe0f",native:"🧘🏼‍♂️"},{unified:"1f9d8-1f3fd-200d-2642-fe0f",native:"🧘🏽‍♂️"},{unified:"1f9d8-1f3fe-200d-2642-fe0f",native:"🧘🏾‍♂️"},{unified:"1f9d8-1f3ff-200d-2642-fe0f",native:"🧘🏿‍♂️"}],version:5},woman_in_lotus_position:{id:"woman_in_lotus_position",name:"Woman in Lotus Position",keywords:["female","meditation","yoga","serenity","zen","mindfulness"],skins:[{unified:"1f9d8-200d-2640-fe0f",native:"🧘‍♀️"},{unified:"1f9d8-1f3fb-200d-2640-fe0f",native:"🧘🏻‍♀️"},{unified:"1f9d8-1f3fc-200d-2640-fe0f",native:"🧘🏼‍♀️"},{unified:"1f9d8-1f3fd-200d-2640-fe0f",native:"🧘🏽‍♀️"},{unified:"1f9d8-1f3fe-200d-2640-fe0f",native:"🧘🏾‍♀️"},{unified:"1f9d8-1f3ff-200d-2640-fe0f",native:"🧘🏿‍♀️"}],version:5},bath:{id:"bath",name:"Bath",keywords:["person","taking","clean","shower","bathroom"],skins:[{unified:"1f6c0",native:"🛀"},{unified:"1f6c0-1f3fb",native:"🛀🏻"},{unified:"1f6c0-1f3fc",native:"🛀🏼"},{unified:"1f6c0-1f3fd",native:"🛀🏽"},{unified:"1f6c0-1f3fe",native:"🛀🏾"},{unified:"1f6c0-1f3ff",native:"🛀🏿"}],version:1},sleeping_accommodation:{id:"sleeping_accommodation",name:"Person in Bed",keywords:["sleeping","accommodation","rest"],skins:[{unified:"1f6cc",native:"🛌"},{unified:"1f6cc-1f3fb",native:"🛌🏻"},{unified:"1f6cc-1f3fc",native:"🛌🏼"},{unified:"1f6cc-1f3fd",native:"🛌🏽"},{unified:"1f6cc-1f3fe",native:"🛌🏾"},{unified:"1f6cc-1f3ff",native:"🛌🏿"}],version:1},people_holding_hands:{id:"people_holding_hands",name:"People Holding Hands",keywords:["friendship"],skins:[{unified:"1f9d1-200d-1f91d-200d-1f9d1",native:"🧑‍🤝‍🧑"},{unified:"1f9d1-1f3fb-200d-1f91d-200d-1f9d1-1f3fb",native:"🧑🏻‍🤝‍🧑🏻"},{unified:"1f9d1-1f3fc-200d-1f91d-200d-1f9d1-1f3fc",native:"🧑🏼‍🤝‍🧑🏼"},{unified:"1f9d1-1f3fd-200d-1f91d-200d-1f9d1-1f3fd",native:"🧑🏽‍🤝‍🧑🏽"},{unified:"1f9d1-1f3fe-200d-1f91d-200d-1f9d1-1f3fe",native:"🧑🏾‍🤝‍🧑🏾"},{unified:"1f9d1-1f3ff-200d-1f91d-200d-1f9d1-1f3ff",native:"🧑🏿‍🤝‍🧑🏿"}],version:12},two_women_holding_hands:{id:"two_women_holding_hands",name:"Women Holding Hands",keywords:["two","pair","friendship","couple","love","like","female","people","human"],skins:[{unified:"1f46d",native:"👭"},{unified:"1f46d-1f3fb",native:"👭🏻"},{unified:"1f46d-1f3fc",native:"👭🏼"},{unified:"1f46d-1f3fd",native:"👭🏽"},{unified:"1f46d-1f3fe",native:"👭🏾"},{unified:"1f46d-1f3ff",native:"👭🏿"}],version:1},man_and_woman_holding_hands:{id:"man_and_woman_holding_hands",name:"Man and Woman Holding Hands",keywords:["couple","pair","people","human","love","date","dating","like","affection","valentines","marriage"],skins:[{unified:"1f46b",native:"👫"},{unified:"1f46b-1f3fb",native:"👫🏻"},{unified:"1f46b-1f3fc",native:"👫🏼"},{unified:"1f46b-1f3fd",native:"👫🏽"},{unified:"1f46b-1f3fe",native:"👫🏾"},{unified:"1f46b-1f3ff",native:"👫🏿"}],version:1},two_men_holding_hands:{id:"two_men_holding_hands",name:"Men Holding Hands",keywords:["two","pair","couple","love","like","bromance","friendship","people","human"],skins:[{unified:"1f46c",native:"👬"},{unified:"1f46c-1f3fb",native:"👬🏻"},{unified:"1f46c-1f3fc",native:"👬🏼"},{unified:"1f46c-1f3fd",native:"👬🏽"},{unified:"1f46c-1f3fe",native:"👬🏾"},{unified:"1f46c-1f3ff",native:"👬🏿"}],version:1},couplekiss:{id:"couplekiss",name:"Kiss",keywords:["couplekiss","pair","valentines","love","like","dating","marriage"],skins:[{unified:"1f48f",native:"💏"},{unified:"1f48f-1f3fb",native:"💏🏻"},{unified:"1f48f-1f3fc",native:"💏🏼"},{unified:"1f48f-1f3fd",native:"💏🏽"},{unified:"1f48f-1f3fe",native:"💏🏾"},{unified:"1f48f-1f3ff",native:"💏🏿"}],version:1},"woman-kiss-man":{id:"woman-kiss-man",name:"Kiss: Woman, Man",keywords:["woman","kiss-man","kiss","love"],skins:[{unified:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f468",native:"👩‍❤️‍💋‍👨"},{unified:"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb",native:"👩🏻‍❤️‍💋‍👨🏻"},{unified:"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc",native:"👩🏼‍❤️‍💋‍👨🏼"},{unified:"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd",native:"👩🏽‍❤️‍💋‍👨🏽"},{unified:"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe",native:"👩🏾‍❤️‍💋‍👨🏾"},{unified:"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff",native:"👩🏿‍❤️‍💋‍👨🏿"}],version:2},"man-kiss-man":{id:"man-kiss-man",name:"Kiss: Man, Man",keywords:["kiss-man","kiss","pair","valentines","love","like","dating","marriage"],skins:[{unified:"1f468-200d-2764-fe0f-200d-1f48b-200d-1f468",native:"👨‍❤️‍💋‍👨"},{unified:"1f468-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fb",native:"👨🏻‍❤️‍💋‍👨🏻"},{unified:"1f468-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fc",native:"👨🏼‍❤️‍💋‍👨🏼"},{unified:"1f468-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fd",native:"👨🏽‍❤️‍💋‍👨🏽"},{unified:"1f468-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3fe",native:"👨🏾‍❤️‍💋‍👨🏾"},{unified:"1f468-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f468-1f3ff",native:"👨🏿‍❤️‍💋‍👨🏿"}],version:2},"woman-kiss-woman":{id:"woman-kiss-woman",name:"Kiss: Woman, Woman",keywords:["kiss-woman","kiss","pair","valentines","love","like","dating","marriage"],skins:[{unified:"1f469-200d-2764-fe0f-200d-1f48b-200d-1f469",native:"👩‍❤️‍💋‍👩"},{unified:"1f469-1f3fb-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fb",native:"👩🏻‍❤️‍💋‍👩🏻"},{unified:"1f469-1f3fc-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fc",native:"👩🏼‍❤️‍💋‍👩🏼"},{unified:"1f469-1f3fd-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fd",native:"👩🏽‍❤️‍💋‍👩🏽"},{unified:"1f469-1f3fe-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3fe",native:"👩🏾‍❤️‍💋‍👩🏾"},{unified:"1f469-1f3ff-200d-2764-fe0f-200d-1f48b-200d-1f469-1f3ff",native:"👩🏿‍❤️‍💋‍👩🏿"}],version:2},couple_with_heart:{id:"couple_with_heart",name:"Couple with Heart",keywords:["pair","love","like","affection","human","dating","valentines","marriage"],skins:[{unified:"1f491",native:"💑"},{unified:"1f491-1f3fb",native:"💑🏻"},{unified:"1f491-1f3fc",native:"💑🏼"},{unified:"1f491-1f3fd",native:"💑🏽"},{unified:"1f491-1f3fe",native:"💑🏾"},{unified:"1f491-1f3ff",native:"💑🏿"}],version:1},"woman-heart-man":{id:"woman-heart-man",name:"Couple with Heart: Woman, Man",keywords:["woman","heart-man","heart","love"],skins:[{unified:"1f469-200d-2764-fe0f-200d-1f468",native:"👩‍❤️‍👨"},{unified:"1f469-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb",native:"👩🏻‍❤️‍👨🏻"},{unified:"1f469-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc",native:"👩🏼‍❤️‍👨🏼"},{unified:"1f469-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd",native:"👩🏽‍❤️‍👨🏽"},{unified:"1f469-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe",native:"👩🏾‍❤️‍👨🏾"},{unified:"1f469-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff",native:"👩🏿‍❤️‍👨🏿"}],version:2},"man-heart-man":{id:"man-heart-man",name:"Couple with Heart: Man, Man",keywords:["heart-man","heart","pair","love","like","affection","human","dating","valentines","marriage"],skins:[{unified:"1f468-200d-2764-fe0f-200d-1f468",native:"👨‍❤️‍👨"},{unified:"1f468-1f3fb-200d-2764-fe0f-200d-1f468-1f3fb",native:"👨🏻‍❤️‍👨🏻"},{unified:"1f468-1f3fc-200d-2764-fe0f-200d-1f468-1f3fc",native:"👨🏼‍❤️‍👨🏼"},{unified:"1f468-1f3fd-200d-2764-fe0f-200d-1f468-1f3fd",native:"👨🏽‍❤️‍👨🏽"},{unified:"1f468-1f3fe-200d-2764-fe0f-200d-1f468-1f3fe",native:"👨🏾‍❤️‍👨🏾"},{unified:"1f468-1f3ff-200d-2764-fe0f-200d-1f468-1f3ff",native:"👨🏿‍❤️‍👨🏿"}],version:2},"woman-heart-woman":{id:"woman-heart-woman",name:"Couple with Heart: Woman, Woman",keywords:["heart-woman","heart","pair","love","like","affection","human","dating","valentines","marriage"],skins:[{unified:"1f469-200d-2764-fe0f-200d-1f469",native:"👩‍❤️‍👩"},{unified:"1f469-1f3fb-200d-2764-fe0f-200d-1f469-1f3fb",native:"👩🏻‍❤️‍👩🏻"},{unified:"1f469-1f3fc-200d-2764-fe0f-200d-1f469-1f3fc",native:"👩🏼‍❤️‍👩🏼"},{unified:"1f469-1f3fd-200d-2764-fe0f-200d-1f469-1f3fd",native:"👩🏽‍❤️‍👩🏽"},{unified:"1f469-1f3fe-200d-2764-fe0f-200d-1f469-1f3fe",native:"👩🏾‍❤️‍👩🏾"},{unified:"1f469-1f3ff-200d-2764-fe0f-200d-1f469-1f3ff",native:"👩🏿‍❤️‍👩🏿"}],version:2},family:{id:"family",name:"Family",keywords:["home","parents","child","mom","dad","father","mother","people","human"],skins:[{unified:"1f46a",native:"👪"}],version:1},"man-woman-boy":{id:"man-woman-boy",name:"Family: Man, Woman, Boy",keywords:["man","woman-boy","family","woman","love"],skins:[{unified:"1f468-200d-1f469-200d-1f466",native:"👨‍👩‍👦"}],version:2},"man-woman-girl":{id:"man-woman-girl",name:"Family: Man, Woman, Girl",keywords:["man","woman-girl","family","woman","home","parents","people","human","child"],skins:[{unified:"1f468-200d-1f469-200d-1f467",native:"👨‍👩‍👧"}],version:2},"man-woman-girl-boy":{id:"man-woman-girl-boy",name:"Family: Man, Woman, Girl, Boy",keywords:["man","woman-girl-boy","family","woman","girl","home","parents","people","human","children"],skins:[{unified:"1f468-200d-1f469-200d-1f467-200d-1f466",native:"👨‍👩‍👧‍👦"}],version:2},"man-woman-boy-boy":{id:"man-woman-boy-boy",name:"Family: Man, Woman, Boy, Boy",keywords:["man","woman-boy-boy","family","woman","home","parents","people","human","children"],skins:[{unified:"1f468-200d-1f469-200d-1f466-200d-1f466",native:"👨‍👩‍👦‍👦"}],version:2},"man-woman-girl-girl":{id:"man-woman-girl-girl",name:"Family: Man, Woman, Girl, Girl",keywords:["man","woman-girl-girl","family","woman","home","parents","people","human","children"],skins:[{unified:"1f468-200d-1f469-200d-1f467-200d-1f467",native:"👨‍👩‍👧‍👧"}],version:2},"man-man-boy":{id:"man-man-boy",name:"Family: Man, Man, Boy",keywords:["man","man-boy","family","home","parents","people","human","children"],skins:[{unified:"1f468-200d-1f468-200d-1f466",native:"👨‍👨‍👦"}],version:2},"man-man-girl":{id:"man-man-girl",name:"Family: Man, Man, Girl",keywords:["man","man-girl","family","home","parents","people","human","children"],skins:[{unified:"1f468-200d-1f468-200d-1f467",native:"👨‍👨‍👧"}],version:2},"man-man-girl-boy":{id:"man-man-girl-boy",name:"Family: Man, Man, Girl, Boy",keywords:["man","man-girl-boy","family","girl","home","parents","people","human","children"],skins:[{unified:"1f468-200d-1f468-200d-1f467-200d-1f466",native:"👨‍👨‍👧‍👦"}],version:2},"man-man-boy-boy":{id:"man-man-boy-boy",name:"Family: Man, Man, Boy, Boy",keywords:["man","man-boy-boy","family","home","parents","people","human","children"],skins:[{unified:"1f468-200d-1f468-200d-1f466-200d-1f466",native:"👨‍👨‍👦‍👦"}],version:2},"man-man-girl-girl":{id:"man-man-girl-girl",name:"Family: Man, Man, Girl, Girl",keywords:["man","man-girl-girl","family","home","parents","people","human","children"],skins:[{unified:"1f468-200d-1f468-200d-1f467-200d-1f467",native:"👨‍👨‍👧‍👧"}],version:2},"woman-woman-boy":{id:"woman-woman-boy",name:"Family: Woman, Woman, Boy",keywords:["woman","woman-boy","family","home","parents","people","human","children"],skins:[{unified:"1f469-200d-1f469-200d-1f466",native:"👩‍👩‍👦"}],version:2},"woman-woman-girl":{id:"woman-woman-girl",name:"Family: Woman, Woman, Girl",keywords:["woman","woman-girl","family","home","parents","people","human","children"],skins:[{unified:"1f469-200d-1f469-200d-1f467",native:"👩‍👩‍👧"}],version:2},"woman-woman-girl-boy":{id:"woman-woman-girl-boy",name:"Family: Woman, Woman, Girl, Boy",keywords:["woman","woman-girl-boy","family","girl","home","parents","people","human","children"],skins:[{unified:"1f469-200d-1f469-200d-1f467-200d-1f466",native:"👩‍👩‍👧‍👦"}],version:2},"woman-woman-boy-boy":{id:"woman-woman-boy-boy",name:"Family: Woman, Woman, Boy, Boy",keywords:["woman","woman-boy-boy","family","home","parents","people","human","children"],skins:[{unified:"1f469-200d-1f469-200d-1f466-200d-1f466",native:"👩‍👩‍👦‍👦"}],version:2},"woman-woman-girl-girl":{id:"woman-woman-girl-girl",name:"Family: Woman, Woman, Girl, Girl",keywords:["woman","woman-girl-girl","family","home","parents","people","human","children"],skins:[{unified:"1f469-200d-1f469-200d-1f467-200d-1f467",native:"👩‍👩‍👧‍👧"}],version:2},"man-boy":{id:"man-boy",name:"Family: Man, Boy",keywords:["man","family","home","parent","people","human","child"],skins:[{unified:"1f468-200d-1f466",native:"👨‍👦"}],version:4},"man-boy-boy":{id:"man-boy-boy",name:"Family: Man, Boy, Boy",keywords:["man","boy-boy","family","home","parent","people","human","children"],skins:[{unified:"1f468-200d-1f466-200d-1f466",native:"👨‍👦‍👦"}],version:4},"man-girl":{id:"man-girl",name:"Family: Man, Girl",keywords:["man","family","home","parent","people","human","child"],skins:[{unified:"1f468-200d-1f467",native:"👨‍👧"}],version:4},"man-girl-boy":{id:"man-girl-boy",name:"Family: Man, Girl, Boy",keywords:["man","girl-boy","family","girl","home","parent","people","human","children"],skins:[{unified:"1f468-200d-1f467-200d-1f466",native:"👨‍👧‍👦"}],version:4},"man-girl-girl":{id:"man-girl-girl",name:"Family: Man, Girl, Girl",keywords:["man","girl-girl","family","home","parent","people","human","children"],skins:[{unified:"1f468-200d-1f467-200d-1f467",native:"👨‍👧‍👧"}],version:4},"woman-boy":{id:"woman-boy",name:"Family: Woman, Boy",keywords:["woman","family","home","parent","people","human","child"],skins:[{unified:"1f469-200d-1f466",native:"👩‍👦"}],version:4},"woman-boy-boy":{id:"woman-boy-boy",name:"Family: Woman, Boy, Boy",keywords:["woman","boy-boy","family","home","parent","people","human","children"],skins:[{unified:"1f469-200d-1f466-200d-1f466",native:"👩‍👦‍👦"}],version:4},"woman-girl":{id:"woman-girl",name:"Family: Woman, Girl",keywords:["woman","family","home","parent","people","human","child"],skins:[{unified:"1f469-200d-1f467",native:"👩‍👧"}],version:4},"woman-girl-boy":{id:"woman-girl-boy",name:"Family: Woman, Girl, Boy",keywords:["woman","girl-boy","family","girl","home","parent","people","human","children"],skins:[{unified:"1f469-200d-1f467-200d-1f466",native:"👩‍👧‍👦"}],version:4},"woman-girl-girl":{id:"woman-girl-girl",name:"Family: Woman, Girl, Girl",keywords:["woman","girl-girl","family","home","parent","people","human","children"],skins:[{unified:"1f469-200d-1f467-200d-1f467",native:"👩‍👧‍👧"}],version:4},speaking_head_in_silhouette:{id:"speaking_head_in_silhouette",name:"Speaking Head",keywords:["in","silhouette","user","person","human","sing","say","talk"],skins:[{unified:"1f5e3-fe0f",native:"🗣️"}],version:1},bust_in_silhouette:{id:"bust_in_silhouette",name:"Bust in Silhouette",keywords:["user","person","human"],skins:[{unified:"1f464",native:"👤"}],version:1},busts_in_silhouette:{id:"busts_in_silhouette",name:"Busts in Silhouette",keywords:["user","person","human","group","team"],skins:[{unified:"1f465",native:"👥"}],version:1},people_hugging:{id:"people_hugging",name:"People Hugging",keywords:["care"],skins:[{unified:"1fac2",native:"🫂"}],version:13},footprints:{id:"footprints",name:"Footprints",keywords:["feet","tracking","walking","beach"],skins:[{unified:"1f463",native:"👣"}],version:1},monkey_face:{id:"monkey_face",name:"Monkey Face",emoticons:[":o)"],keywords:["animal","nature","circus"],skins:[{unified:"1f435",native:"🐵"}],version:1},monkey:{id:"monkey",name:"Monkey",keywords:["animal","nature","banana","circus"],skins:[{unified:"1f412",native:"🐒"}],version:1},gorilla:{id:"gorilla",name:"Gorilla",keywords:["animal","nature","circus"],skins:[{unified:"1f98d",native:"🦍"}],version:3},orangutan:{id:"orangutan",name:"Orangutan",keywords:["animal"],skins:[{unified:"1f9a7",native:"🦧"}],version:12},dog:{id:"dog",name:"Dog Face",keywords:["animal","friend","nature","woof","puppy","pet","faithful"],skins:[{unified:"1f436",native:"🐶"}],version:1},dog2:{id:"dog2",name:"Dog",keywords:["dog2","animal","nature","friend","doge","pet","faithful"],skins:[{unified:"1f415",native:"🐕"}],version:1},guide_dog:{id:"guide_dog",name:"Guide Dog",keywords:["animal","blind"],skins:[{unified:"1f9ae",native:"🦮"}],version:12},service_dog:{id:"service_dog",name:"Service Dog",keywords:["blind","animal"],skins:[{unified:"1f415-200d-1f9ba",native:"🐕‍🦺"}],version:12},poodle:{id:"poodle",name:"Poodle",keywords:["dog","animal","101","nature","pet"],skins:[{unified:"1f429",native:"🐩"}],version:1},wolf:{id:"wolf",name:"Wolf",keywords:["animal","nature","wild"],skins:[{unified:"1f43a",native:"🐺"}],version:1},fox_face:{id:"fox_face",name:"Fox",keywords:["face","animal","nature"],skins:[{unified:"1f98a",native:"🦊"}],version:3},raccoon:{id:"raccoon",name:"Raccoon",keywords:["animal","nature"],skins:[{unified:"1f99d",native:"🦝"}],version:11},cat:{id:"cat",name:"Cat Face",keywords:["animal","meow","nature","pet","kitten"],skins:[{unified:"1f431",native:"🐱"}],version:1},cat2:{id:"cat2",name:"Cat",keywords:["cat2","animal","meow","pet","cats"],skins:[{unified:"1f408",native:"🐈"}],version:1},black_cat:{id:"black_cat",name:"Black Cat",keywords:["superstition","luck"],skins:[{unified:"1f408-200d-2b1b",native:"🐈‍⬛"}],version:13},lion_face:{id:"lion_face",name:"Lion",keywords:["face","animal","nature"],skins:[{unified:"1f981",native:"🦁"}],version:1},tiger:{id:"tiger",name:"Tiger Face",keywords:["animal","cat","danger","wild","nature","roar"],skins:[{unified:"1f42f",native:"🐯"}],version:1},tiger2:{id:"tiger2",name:"Tiger",keywords:["tiger2","animal","nature","roar"],skins:[{unified:"1f405",native:"🐅"}],version:1},leopard:{id:"leopard",name:"Leopard",keywords:["animal","nature"],skins:[{unified:"1f406",native:"🐆"}],version:1},horse:{id:"horse",name:"Horse Face",keywords:["animal","brown","nature"],skins:[{unified:"1f434",native:"🐴"}],version:1},moose:{id:"moose",name:"Moose",keywords:["shrek","canada","sweden","sven","cool"],skins:[{unified:"1face",native:"🫎"}],version:15},donkey:{id:"donkey",name:"Donkey",keywords:["eeyore","mule"],skins:[{unified:"1facf",native:"🫏"}],version:15},racehorse:{id:"racehorse",name:"Horse",keywords:["racehorse","animal","gamble","luck"],skins:[{unified:"1f40e",native:"🐎"}],version:1},unicorn_face:{id:"unicorn_face",name:"Unicorn",keywords:["face","animal","nature","mystical"],skins:[{unified:"1f984",native:"🦄"}],version:1},zebra_face:{id:"zebra_face",name:"Zebra",keywords:["face","animal","nature","stripes","safari"],skins:[{unified:"1f993",native:"🦓"}],version:5},deer:{id:"deer",name:"Deer",keywords:["animal","nature","horns","venison"],skins:[{unified:"1f98c",native:"🦌"}],version:3},bison:{id:"bison",name:"Bison",keywords:["ox"],skins:[{unified:"1f9ac",native:"🦬"}],version:13},cow:{id:"cow",name:"Cow Face",keywords:["beef","ox","animal","nature","moo","milk"],skins:[{unified:"1f42e",native:"🐮"}],version:1},ox:{id:"ox",name:"Ox",keywords:["animal","cow","beef"],skins:[{unified:"1f402",native:"🐂"}],version:1},water_buffalo:{id:"water_buffalo",name:"Water Buffalo",keywords:["animal","nature","ox","cow"],skins:[{unified:"1f403",native:"🐃"}],version:1},cow2:{id:"cow2",name:"Cow",keywords:["cow2","beef","ox","animal","nature","moo","milk"],skins:[{unified:"1f404",native:"🐄"}],version:1},pig:{id:"pig",name:"Pig Face",keywords:["animal","oink","nature"],skins:[{unified:"1f437",native:"🐷"}],version:1},pig2:{id:"pig2",name:"Pig",keywords:["pig2","animal","nature"],skins:[{unified:"1f416",native:"🐖"}],version:1},boar:{id:"boar",name:"Boar",keywords:["animal","nature"],skins:[{unified:"1f417",native:"🐗"}],version:1},pig_nose:{id:"pig_nose",name:"Pig Nose",keywords:["animal","oink"],skins:[{unified:"1f43d",native:"🐽"}],version:1},ram:{id:"ram",name:"Ram",keywords:["animal","sheep","nature"],skins:[{unified:"1f40f",native:"🐏"}],version:1},sheep:{id:"sheep",name:"Ewe",keywords:["sheep","animal","nature","wool","shipit"],skins:[{unified:"1f411",native:"🐑"}],version:1},goat:{id:"goat",name:"Goat",keywords:["animal","nature"],skins:[{unified:"1f410",native:"🐐"}],version:1},dromedary_camel:{id:"dromedary_camel",name:"Camel",keywords:["dromedary","animal","hot","desert","hump"],skins:[{unified:"1f42a",native:"🐪"}],version:1},camel:{id:"camel",name:"Bactrian Camel",keywords:["two","hump","animal","nature","hot","desert"],skins:[{unified:"1f42b",native:"🐫"}],version:1},llama:{id:"llama",name:"Llama",keywords:["animal","nature","alpaca"],skins:[{unified:"1f999",native:"🦙"}],version:11},giraffe_face:{id:"giraffe_face",name:"Giraffe",keywords:["face","animal","nature","spots","safari"],skins:[{unified:"1f992",native:"🦒"}],version:5},elephant:{id:"elephant",name:"Elephant",keywords:["animal","nature","nose","th","circus"],skins:[{unified:"1f418",native:"🐘"}],version:1},mammoth:{id:"mammoth",name:"Mammoth",keywords:["elephant","tusks"],skins:[{unified:"1f9a3",native:"🦣"}],version:13},rhinoceros:{id:"rhinoceros",name:"Rhinoceros",keywords:["animal","nature","horn"],skins:[{unified:"1f98f",native:"🦏"}],version:3},hippopotamus:{id:"hippopotamus",name:"Hippopotamus",keywords:["animal","nature"],skins:[{unified:"1f99b",native:"🦛"}],version:11},mouse:{id:"mouse",name:"Mouse Face",keywords:["animal","nature","cheese","wedge","rodent"],skins:[{unified:"1f42d",native:"🐭"}],version:1},mouse2:{id:"mouse2",name:"Mouse",keywords:["mouse2","animal","nature","rodent"],skins:[{unified:"1f401",native:"🐁"}],version:1},rat:{id:"rat",name:"Rat",keywords:["animal","mouse","rodent"],skins:[{unified:"1f400",native:"🐀"}],version:1},hamster:{id:"hamster",name:"Hamster",keywords:["animal","nature"],skins:[{unified:"1f439",native:"🐹"}],version:1},rabbit:{id:"rabbit",name:"Rabbit Face",keywords:["animal","nature","pet","spring","magic","bunny"],skins:[{unified:"1f430",native:"🐰"}],version:1},rabbit2:{id:"rabbit2",name:"Rabbit",keywords:["rabbit2","animal","nature","pet","magic","spring"],skins:[{unified:"1f407",native:"🐇"}],version:1},chipmunk:{id:"chipmunk",name:"Chipmunk",keywords:["animal","nature","rodent","squirrel"],skins:[{unified:"1f43f-fe0f",native:"🐿️"}],version:1},beaver:{id:"beaver",name:"Beaver",keywords:["animal","rodent"],skins:[{unified:"1f9ab",native:"🦫"}],version:13},hedgehog:{id:"hedgehog",name:"Hedgehog",keywords:["animal","nature","spiny"],skins:[{unified:"1f994",native:"🦔"}],version:5},bat:{id:"bat",name:"Bat",keywords:["animal","nature","blind","vampire"],skins:[{unified:"1f987",native:"🦇"}],version:3},bear:{id:"bear",name:"Bear",keywords:["animal","nature","wild"],skins:[{unified:"1f43b",native:"🐻"}],version:1},polar_bear:{id:"polar_bear",name:"Polar Bear",keywords:["animal","arctic"],skins:[{unified:"1f43b-200d-2744-fe0f",native:"🐻‍❄️"}],version:13},koala:{id:"koala",name:"Koala",keywords:["animal","nature"],skins:[{unified:"1f428",native:"🐨"}],version:1},panda_face:{id:"panda_face",name:"Panda",keywords:["face","animal","nature"],skins:[{unified:"1f43c",native:"🐼"}],version:1},sloth:{id:"sloth",name:"Sloth",keywords:["animal"],skins:[{unified:"1f9a5",native:"🦥"}],version:12},otter:{id:"otter",name:"Otter",keywords:["animal"],skins:[{unified:"1f9a6",native:"🦦"}],version:12},skunk:{id:"skunk",name:"Skunk",keywords:["animal"],skins:[{unified:"1f9a8",native:"🦨"}],version:12},kangaroo:{id:"kangaroo",name:"Kangaroo",keywords:["animal","nature","australia","joey","hop","marsupial"],skins:[{unified:"1f998",native:"🦘"}],version:11},badger:{id:"badger",name:"Badger",keywords:["animal","nature","honey"],skins:[{unified:"1f9a1",native:"🦡"}],version:11},feet:{id:"feet",name:"Paw Prints",keywords:["feet","animal","tracking","footprints","dog","cat","pet"],skins:[{unified:"1f43e",native:"🐾"}],version:1},turkey:{id:"turkey",name:"Turkey",keywords:["animal","bird"],skins:[{unified:"1f983",native:"🦃"}],version:1},chicken:{id:"chicken",name:"Chicken",keywords:["animal","cluck","nature","bird"],skins:[{unified:"1f414",native:"🐔"}],version:1},rooster:{id:"rooster",name:"Rooster",keywords:["animal","nature","chicken"],skins:[{unified:"1f413",native:"🐓"}],version:1},hatching_chick:{id:"hatching_chick",name:"Hatching Chick",keywords:["animal","chicken","egg","born","baby","bird"],skins:[{unified:"1f423",native:"🐣"}],version:1},baby_chick:{id:"baby_chick",name:"Baby Chick",keywords:["animal","chicken","bird"],skins:[{unified:"1f424",native:"🐤"}],version:1},hatched_chick:{id:"hatched_chick",name:"Front-Facing Baby Chick",keywords:["hatched","front","facing","animal","chicken","bird"],skins:[{unified:"1f425",native:"🐥"}],version:1},bird:{id:"bird",name:"Bird",keywords:["animal","nature","fly","tweet","spring"],skins:[{unified:"1f426",native:"🐦"}],version:1},penguin:{id:"penguin",name:"Penguin",keywords:["animal","nature"],skins:[{unified:"1f427",native:"🐧"}],version:1},dove_of_peace:{id:"dove_of_peace",name:"Dove",keywords:["of","peace","animal","bird"],skins:[{unified:"1f54a-fe0f",native:"🕊️"}],version:1},eagle:{id:"eagle",name:"Eagle",keywords:["animal","nature","bird"],skins:[{unified:"1f985",native:"🦅"}],version:3},duck:{id:"duck",name:"Duck",keywords:["animal","nature","bird","mallard"],skins:[{unified:"1f986",native:"🦆"}],version:3},swan:{id:"swan",name:"Swan",keywords:["animal","nature","bird"],skins:[{unified:"1f9a2",native:"🦢"}],version:11},owl:{id:"owl",name:"Owl",keywords:["animal","nature","bird","hoot"],skins:[{unified:"1f989",native:"🦉"}],version:3},dodo:{id:"dodo",name:"Dodo",keywords:["animal","bird"],skins:[{unified:"1f9a4",native:"🦤"}],version:13},feather:{id:"feather",name:"Feather",keywords:["bird","fly"],skins:[{unified:"1fab6",native:"🪶"}],version:13},flamingo:{id:"flamingo",name:"Flamingo",keywords:["animal"],skins:[{unified:"1f9a9",native:"🦩"}],version:12},peacock:{id:"peacock",name:"Peacock",keywords:["animal","nature","peahen","bird"],skins:[{unified:"1f99a",native:"🦚"}],version:11},parrot:{id:"parrot",name:"Parrot",keywords:["animal","nature","bird","pirate","talk"],skins:[{unified:"1f99c",native:"🦜"}],version:11},wing:{id:"wing",name:"Wing",keywords:["angel","birds","flying"],skins:[{unified:"1fabd",native:"🪽"}],version:15},black_bird:{id:"black_bird",name:"Black Bird",keywords:["crow"],skins:[{unified:"1f426-200d-2b1b",native:"🐦‍⬛"}],version:15},goose:{id:"goose",name:"Goose",keywords:["silly","jemima","goosebumps"],skins:[{unified:"1fabf",native:"🪿"}],version:15},frog:{id:"frog",name:"Frog",keywords:["animal","nature","croak","toad"],skins:[{unified:"1f438",native:"🐸"}],version:1},crocodile:{id:"crocodile",name:"Crocodile",keywords:["animal","nature","reptile","lizard","alligator"],skins:[{unified:"1f40a",native:"🐊"}],version:1},turtle:{id:"turtle",name:"Turtle",keywords:["animal","slow","nature","tortoise"],skins:[{unified:"1f422",native:"🐢"}],version:1},lizard:{id:"lizard",name:"Lizard",keywords:["animal","nature","reptile"],skins:[{unified:"1f98e",native:"🦎"}],version:3},snake:{id:"snake",name:"Snake",keywords:["animal","evil","nature","hiss","python"],skins:[{unified:"1f40d",native:"🐍"}],version:1},dragon_face:{id:"dragon_face",name:"Dragon Face",keywords:["animal","myth","nature","chinese","green"],skins:[{unified:"1f432",native:"🐲"}],version:1},dragon:{id:"dragon",name:"Dragon",keywords:["animal","myth","nature","chinese","green"],skins:[{unified:"1f409",native:"🐉"}],version:1},sauropod:{id:"sauropod",name:"Sauropod",keywords:["animal","nature","dinosaur","brachiosaurus","brontosaurus","diplodocus","extinct"],skins:[{unified:"1f995",native:"🦕"}],version:5},"t-rex":{id:"t-rex",name:"T-Rex",keywords:["t","rex","animal","nature","dinosaur","tyrannosaurus","extinct"],skins:[{unified:"1f996",native:"🦖"}],version:5},whale:{id:"whale",name:"Spouting Whale",keywords:["animal","nature","sea","ocean"],skins:[{unified:"1f433",native:"🐳"}],version:1},whale2:{id:"whale2",name:"Whale",keywords:["whale2","animal","nature","sea","ocean"],skins:[{unified:"1f40b",native:"🐋"}],version:1},dolphin:{id:"dolphin",name:"Dolphin",keywords:["flipper","animal","nature","fish","sea","ocean","fins","beach"],skins:[{unified:"1f42c",native:"🐬"}],version:1},seal:{id:"seal",name:"Seal",keywords:["animal","creature","sea"],skins:[{unified:"1f9ad",native:"🦭"}],version:13},fish:{id:"fish",name:"Fish",keywords:["animal","food","nature"],skins:[{unified:"1f41f",native:"🐟"}],version:1},tropical_fish:{id:"tropical_fish",name:"Tropical Fish",keywords:["animal","swim","ocean","beach","nemo"],skins:[{unified:"1f420",native:"🐠"}],version:1},blowfish:{id:"blowfish",name:"Blowfish",keywords:["animal","nature","food","sea","ocean"],skins:[{unified:"1f421",native:"🐡"}],version:1},shark:{id:"shark",name:"Shark",keywords:["animal","nature","fish","sea","ocean","jaws","fins","beach"],skins:[{unified:"1f988",native:"🦈"}],version:3},octopus:{id:"octopus",name:"Octopus",keywords:["animal","creature","ocean","sea","nature","beach"],skins:[{unified:"1f419",native:"🐙"}],version:1},shell:{id:"shell",name:"Spiral Shell",keywords:["nature","sea","beach"],skins:[{unified:"1f41a",native:"🐚"}],version:1},coral:{id:"coral",name:"Coral",keywords:["ocean","sea","reef"],skins:[{unified:"1fab8",native:"🪸"}],version:14},jellyfish:{id:"jellyfish",name:"Jellyfish",keywords:["sting","tentacles"],skins:[{unified:"1fabc",native:"🪼"}],version:15},snail:{id:"snail",name:"Snail",keywords:["slow","animal","shell"],skins:[{unified:"1f40c",native:"🐌"}],version:1},butterfly:{id:"butterfly",name:"Butterfly",keywords:["animal","insect","nature","caterpillar"],skins:[{unified:"1f98b",native:"🦋"}],version:3},bug:{id:"bug",name:"Bug",keywords:["animal","insect","nature","worm"],skins:[{unified:"1f41b",native:"🐛"}],version:1},ant:{id:"ant",name:"Ant",keywords:["animal","insect","nature","bug"],skins:[{unified:"1f41c",native:"🐜"}],version:1},bee:{id:"bee",name:"Honeybee",keywords:["bee","animal","insect","nature","bug","spring","honey"],skins:[{unified:"1f41d",native:"🐝"}],version:1},beetle:{id:"beetle",name:"Beetle",keywords:["insect"],skins:[{unified:"1fab2",native:"🪲"}],version:13},ladybug:{id:"ladybug",name:"Lady Beetle",keywords:["ladybug","animal","insect","nature"],skins:[{unified:"1f41e",native:"🐞"}],version:1},cricket:{id:"cricket",name:"Cricket",keywords:["animal","chirp"],skins:[{unified:"1f997",native:"🦗"}],version:5},cockroach:{id:"cockroach",name:"Cockroach",keywords:["insect","pests"],skins:[{unified:"1fab3",native:"🪳"}],version:13},spider:{id:"spider",name:"Spider",keywords:["animal","arachnid"],skins:[{unified:"1f577-fe0f",native:"🕷️"}],version:1},spider_web:{id:"spider_web",name:"Spider Web",keywords:["animal","insect","arachnid","silk"],skins:[{unified:"1f578-fe0f",native:"🕸️"}],version:1},scorpion:{id:"scorpion",name:"Scorpion",keywords:["animal","arachnid"],skins:[{unified:"1f982",native:"🦂"}],version:1},mosquito:{id:"mosquito",name:"Mosquito",keywords:["animal","nature","insect","malaria"],skins:[{unified:"1f99f",native:"🦟"}],version:11},fly:{id:"fly",name:"Fly",keywords:["insect"],skins:[{unified:"1fab0",native:"🪰"}],version:13},worm:{id:"worm",name:"Worm",keywords:["animal"],skins:[{unified:"1fab1",native:"🪱"}],version:13},microbe:{id:"microbe",name:"Microbe",keywords:["amoeba","bacteria","germs","virus","covid"],skins:[{unified:"1f9a0",native:"🦠"}],version:11},bouquet:{id:"bouquet",name:"Bouquet",keywords:["flowers","nature","spring"],skins:[{unified:"1f490",native:"💐"}],version:1},cherry_blossom:{id:"cherry_blossom",name:"Cherry Blossom",keywords:["nature","plant","spring","flower"],skins:[{unified:"1f338",native:"🌸"}],version:1},white_flower:{id:"white_flower",name:"White Flower",keywords:["japanese","spring"],skins:[{unified:"1f4ae",native:"💮"}],version:1},lotus:{id:"lotus",name:"Lotus",keywords:["flower","calm","meditation"],skins:[{unified:"1fab7",native:"🪷"}],version:14},rosette:{id:"rosette",name:"Rosette",keywords:["flower","decoration","military"],skins:[{unified:"1f3f5-fe0f",native:"🏵️"}],version:1},rose:{id:"rose",name:"Rose",keywords:["flowers","valentines","love","spring"],skins:[{unified:"1f339",native:"🌹"}],version:1},wilted_flower:{id:"wilted_flower",name:"Wilted Flower",keywords:["plant","nature","rose"],skins:[{unified:"1f940",native:"🥀"}],version:3},hibiscus:{id:"hibiscus",name:"Hibiscus",keywords:["plant","vegetable","flowers","beach"],skins:[{unified:"1f33a",native:"🌺"}],version:1},sunflower:{id:"sunflower",name:"Sunflower",keywords:["nature","plant","fall"],skins:[{unified:"1f33b",native:"🌻"}],version:1},blossom:{id:"blossom",name:"Blossom",keywords:["nature","flowers","yellow"],skins:[{unified:"1f33c",native:"🌼"}],version:1},tulip:{id:"tulip",name:"Tulip",keywords:["flowers","plant","nature","summer","spring"],skins:[{unified:"1f337",native:"🌷"}],version:1},hyacinth:{id:"hyacinth",name:"Hyacinth",keywords:["flower","lavender"],skins:[{unified:"1fabb",native:"🪻"}],version:15},seedling:{id:"seedling",name:"Seedling",keywords:["plant","nature","grass","lawn","spring"],skins:[{unified:"1f331",native:"🌱"}],version:1},potted_plant:{id:"potted_plant",name:"Potted Plant",keywords:["greenery","house"],skins:[{unified:"1fab4",native:"🪴"}],version:13},evergreen_tree:{id:"evergreen_tree",name:"Evergreen Tree",keywords:["plant","nature"],skins:[{unified:"1f332",native:"🌲"}],version:1},deciduous_tree:{id:"deciduous_tree",name:"Deciduous Tree",keywords:["plant","nature"],skins:[{unified:"1f333",native:"🌳"}],version:1},palm_tree:{id:"palm_tree",name:"Palm Tree",keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],skins:[{unified:"1f334",native:"🌴"}],version:1},cactus:{id:"cactus",name:"Cactus",keywords:["vegetable","plant","nature"],skins:[{unified:"1f335",native:"🌵"}],version:1},ear_of_rice:{id:"ear_of_rice",name:"Ear of Rice",keywords:["sheaf","nature","plant"],skins:[{unified:"1f33e",native:"🌾"}],version:1},herb:{id:"herb",name:"Herb",keywords:["vegetable","plant","medicine","weed","grass","lawn"],skins:[{unified:"1f33f",native:"🌿"}],version:1},shamrock:{id:"shamrock",name:"Shamrock",keywords:["vegetable","plant","nature","irish","clover"],skins:[{unified:"2618-fe0f",native:"☘️"}],version:1},four_leaf_clover:{id:"four_leaf_clover",name:"Four Leaf Clover",keywords:["vegetable","plant","nature","lucky","irish"],skins:[{unified:"1f340",native:"🍀"}],version:1},maple_leaf:{id:"maple_leaf",name:"Maple Leaf",keywords:["nature","plant","vegetable","ca","fall"],skins:[{unified:"1f341",native:"🍁"}],version:1},fallen_leaf:{id:"fallen_leaf",name:"Fallen Leaf",keywords:["nature","plant","vegetable","leaves"],skins:[{unified:"1f342",native:"🍂"}],version:1},leaves:{id:"leaves",name:"Leaf Fluttering in Wind",keywords:["leaves","nature","plant","tree","vegetable","grass","lawn","spring"],skins:[{unified:"1f343",native:"🍃"}],version:1},empty_nest:{id:"empty_nest",name:"Empty Nest",keywords:["bird"],skins:[{unified:"1fab9",native:"🪹"}],version:14},nest_with_eggs:{id:"nest_with_eggs",name:"Nest with Eggs",keywords:["bird"],skins:[{unified:"1faba",native:"🪺"}],version:14},mushroom:{id:"mushroom",name:"Mushroom",keywords:["plant","vegetable"],skins:[{unified:"1f344",native:"🍄"}],version:1},grapes:{id:"grapes",name:"Grapes",keywords:["fruit","food","wine"],skins:[{unified:"1f347",native:"🍇"}],version:1},melon:{id:"melon",name:"Melon",keywords:["fruit","nature","food"],skins:[{unified:"1f348",native:"🍈"}],version:1},watermelon:{id:"watermelon",name:"Watermelon",keywords:["fruit","food","picnic","summer"],skins:[{unified:"1f349",native:"🍉"}],version:1},tangerine:{id:"tangerine",name:"Tangerine",keywords:["food","fruit","nature","orange"],skins:[{unified:"1f34a",native:"🍊"}],version:1},lemon:{id:"lemon",name:"Lemon",keywords:["fruit","nature"],skins:[{unified:"1f34b",native:"🍋"}],version:1},banana:{id:"banana",name:"Banana",keywords:["fruit","food","monkey"],skins:[{unified:"1f34c",native:"🍌"}],version:1},pineapple:{id:"pineapple",name:"Pineapple",keywords:["fruit","nature","food"],skins:[{unified:"1f34d",native:"🍍"}],version:1},mango:{id:"mango",name:"Mango",keywords:["fruit","food","tropical"],skins:[{unified:"1f96d",native:"🥭"}],version:11},apple:{id:"apple",name:"Red Apple",keywords:["fruit","mac","school"],skins:[{unified:"1f34e",native:"🍎"}],version:1},green_apple:{id:"green_apple",name:"Green Apple",keywords:["fruit","nature"],skins:[{unified:"1f34f",native:"🍏"}],version:1},pear:{id:"pear",name:"Pear",keywords:["fruit","nature","food"],skins:[{unified:"1f350",native:"🍐"}],version:1},peach:{id:"peach",name:"Peach",keywords:["fruit","nature","food"],skins:[{unified:"1f351",native:"🍑"}],version:1},cherries:{id:"cherries",name:"Cherries",keywords:["food","fruit"],skins:[{unified:"1f352",native:"🍒"}],version:1},strawberry:{id:"strawberry",name:"Strawberry",keywords:["fruit","food","nature"],skins:[{unified:"1f353",native:"🍓"}],version:1},blueberries:{id:"blueberries",name:"Blueberries",keywords:["fruit"],skins:[{unified:"1fad0",native:"🫐"}],version:13},kiwifruit:{id:"kiwifruit",name:"Kiwifruit",keywords:["kiwi","fruit","food"],skins:[{unified:"1f95d",native:"🥝"}],version:3},tomato:{id:"tomato",name:"Tomato",keywords:["fruit","vegetable","nature","food"],skins:[{unified:"1f345",native:"🍅"}],version:1},olive:{id:"olive",name:"Olive",keywords:["fruit"],skins:[{unified:"1fad2",native:"🫒"}],version:13},coconut:{id:"coconut",name:"Coconut",keywords:["fruit","nature","food","palm"],skins:[{unified:"1f965",native:"🥥"}],version:5},avocado:{id:"avocado",name:"Avocado",keywords:["fruit","food"],skins:[{unified:"1f951",native:"🥑"}],version:3},eggplant:{id:"eggplant",name:"Eggplant",keywords:["vegetable","nature","food","aubergine"],skins:[{unified:"1f346",native:"🍆"}],version:1},potato:{id:"potato",name:"Potato",keywords:["food","tuber","vegatable","starch"],skins:[{unified:"1f954",native:"🥔"}],version:3},carrot:{id:"carrot",name:"Carrot",keywords:["vegetable","food","orange"],skins:[{unified:"1f955",native:"🥕"}],version:3},corn:{id:"corn",name:"Ear of Corn",keywords:["food","vegetable","plant"],skins:[{unified:"1f33d",native:"🌽"}],version:1},hot_pepper:{id:"hot_pepper",name:"Hot Pepper",keywords:["food","spicy","chilli","chili"],skins:[{unified:"1f336-fe0f",native:"🌶️"}],version:1},bell_pepper:{id:"bell_pepper",name:"Bell Pepper",keywords:["fruit","plant"],skins:[{unified:"1fad1",native:"🫑"}],version:13},cucumber:{id:"cucumber",name:"Cucumber",keywords:["fruit","food","pickle"],skins:[{unified:"1f952",native:"🥒"}],version:3},leafy_green:{id:"leafy_green",name:"Leafy Green",keywords:["food","vegetable","plant","bok","choy","cabbage","kale","lettuce"],skins:[{unified:"1f96c",native:"🥬"}],version:11},broccoli:{id:"broccoli",name:"Broccoli",keywords:["fruit","food","vegetable"],skins:[{unified:"1f966",native:"🥦"}],version:5},garlic:{id:"garlic",name:"Garlic",keywords:["food","spice","cook"],skins:[{unified:"1f9c4",native:"🧄"}],version:12},onion:{id:"onion",name:"Onion",keywords:["cook","food","spice"],skins:[{unified:"1f9c5",native:"🧅"}],version:12},peanuts:{id:"peanuts",name:"Peanuts",keywords:["food","nut"],skins:[{unified:"1f95c",native:"🥜"}],version:3},beans:{id:"beans",name:"Beans",keywords:["food"],skins:[{unified:"1fad8",native:"🫘"}],version:14},chestnut:{id:"chestnut",name:"Chestnut",keywords:["food","squirrel"],skins:[{unified:"1f330",native:"🌰"}],version:1},ginger_root:{id:"ginger_root",name:"Ginger Root",keywords:["spice","yellow","cooking","gingerbread"],skins:[{unified:"1fada",native:"🫚"}],version:15},pea_pod:{id:"pea_pod",name:"Pea Pod",keywords:["cozy","green"],skins:[{unified:"1fadb",native:"🫛"}],version:15},bread:{id:"bread",name:"Bread",keywords:["food","wheat","breakfast","toast"],skins:[{unified:"1f35e",native:"🍞"}],version:1},croissant:{id:"croissant",name:"Croissant",keywords:["food","bread","french"],skins:[{unified:"1f950",native:"🥐"}],version:3},baguette_bread:{id:"baguette_bread",name:"Baguette Bread",keywords:["food","french","france","bakery"],skins:[{unified:"1f956",native:"🥖"}],version:3},flatbread:{id:"flatbread",name:"Flatbread",keywords:["flour","food","bakery"],skins:[{unified:"1fad3",native:"🫓"}],version:13},pretzel:{id:"pretzel",name:"Pretzel",keywords:["food","bread","twisted","germany","bakery"],skins:[{unified:"1f968",native:"🥨"}],version:5},bagel:{id:"bagel",name:"Bagel",keywords:["food","bread","bakery","schmear","jewish"],skins:[{unified:"1f96f",native:"🥯"}],version:11},pancakes:{id:"pancakes",name:"Pancakes",keywords:["food","breakfast","flapjacks","hotcakes","brunch"],skins:[{unified:"1f95e",native:"🥞"}],version:3},waffle:{id:"waffle",name:"Waffle",keywords:["food","breakfast","brunch"],skins:[{unified:"1f9c7",native:"🧇"}],version:12},cheese_wedge:{id:"cheese_wedge",name:"Cheese Wedge",keywords:["food","chadder","swiss"],skins:[{unified:"1f9c0",native:"🧀"}],version:1},meat_on_bone:{id:"meat_on_bone",name:"Meat on Bone",keywords:["good","food","drumstick"],skins:[{unified:"1f356",native:"🍖"}],version:1},poultry_leg:{id:"poultry_leg",name:"Poultry Leg",keywords:["food","meat","drumstick","bird","chicken","turkey"],skins:[{unified:"1f357",native:"🍗"}],version:1},cut_of_meat:{id:"cut_of_meat",name:"Cut of Meat",keywords:["food","cow","chop","lambchop","porkchop"],skins:[{unified:"1f969",native:"🥩"}],version:5},bacon:{id:"bacon",name:"Bacon",keywords:["food","breakfast","pork","pig","meat","brunch"],skins:[{unified:"1f953",native:"🥓"}],version:3},hamburger:{id:"hamburger",name:"Hamburger",keywords:["meat","fast","food","beef","cheeseburger","mcdonalds","burger","king"],skins:[{unified:"1f354",native:"🍔"}],version:1},fries:{id:"fries",name:"French Fries",keywords:["chips","snack","fast","food","potato"],skins:[{unified:"1f35f",native:"🍟"}],version:1},pizza:{id:"pizza",name:"Pizza",keywords:["food","party","italy"],skins:[{unified:"1f355",native:"🍕"}],version:1},hotdog:{id:"hotdog",name:"Hot Dog",keywords:["hotdog","food","frankfurter","america"],skins:[{unified:"1f32d",native:"🌭"}],version:1},sandwich:{id:"sandwich",name:"Sandwich",keywords:["food","lunch","bread","toast","bakery"],skins:[{unified:"1f96a",native:"🥪"}],version:5},taco:{id:"taco",name:"Taco",keywords:["food","mexican"],skins:[{unified:"1f32e",native:"🌮"}],version:1},burrito:{id:"burrito",name:"Burrito",keywords:["food","mexican"],skins:[{unified:"1f32f",native:"🌯"}],version:1},tamale:{id:"tamale",name:"Tamale",keywords:["food","masa"],skins:[{unified:"1fad4",native:"🫔"}],version:13},stuffed_flatbread:{id:"stuffed_flatbread",name:"Stuffed Flatbread",keywords:["food","gyro","mediterranean"],skins:[{unified:"1f959",native:"🥙"}],version:3},falafel:{id:"falafel",name:"Falafel",keywords:["food","mediterranean"],skins:[{unified:"1f9c6",native:"🧆"}],version:12},egg:{id:"egg",name:"Egg",keywords:["food","chicken","breakfast"],skins:[{unified:"1f95a",native:"🥚"}],version:3},fried_egg:{id:"fried_egg",name:"Cooking",keywords:["fried","egg","food","breakfast","kitchen","skillet"],skins:[{unified:"1f373",native:"🍳"}],version:1},shallow_pan_of_food:{id:"shallow_pan_of_food",name:"Shallow Pan of Food",keywords:["cooking","casserole","paella","skillet"],skins:[{unified:"1f958",native:"🥘"}],version:3},stew:{id:"stew",name:"Pot of Food",keywords:["stew","meat","soup","hot"],skins:[{unified:"1f372",native:"🍲"}],version:1},fondue:{id:"fondue",name:"Fondue",keywords:["cheese","pot","food"],skins:[{unified:"1fad5",native:"🫕"}],version:13},bowl_with_spoon:{id:"bowl_with_spoon",name:"Bowl with Spoon",keywords:["food","breakfast","cereal","oatmeal","porridge"],skins:[{unified:"1f963",native:"🥣"}],version:5},green_salad:{id:"green_salad",name:"Green Salad",keywords:["food","healthy","lettuce","vegetable"],skins:[{unified:"1f957",native:"🥗"}],version:3},popcorn:{id:"popcorn",name:"Popcorn",keywords:["food","movie","theater","films","snack","drama"],skins:[{unified:"1f37f",native:"🍿"}],version:1},butter:{id:"butter",name:"Butter",keywords:["food","cook"],skins:[{unified:"1f9c8",native:"🧈"}],version:12},salt:{id:"salt",name:"Salt",keywords:["condiment","shaker"],skins:[{unified:"1f9c2",native:"🧂"}],version:11},canned_food:{id:"canned_food",name:"Canned Food",keywords:["soup","tomatoes"],skins:[{unified:"1f96b",native:"🥫"}],version:5},bento:{id:"bento",name:"Bento Box",keywords:["food","japanese","lunch"],skins:[{unified:"1f371",native:"🍱"}],version:1},rice_cracker:{id:"rice_cracker",name:"Rice Cracker",keywords:["food","japanese","snack"],skins:[{unified:"1f358",native:"🍘"}],version:1},rice_ball:{id:"rice_ball",name:"Rice Ball",keywords:["food","japanese"],skins:[{unified:"1f359",native:"🍙"}],version:1},rice:{id:"rice",name:"Cooked Rice",keywords:["food","asian"],skins:[{unified:"1f35a",native:"🍚"}],version:1},curry:{id:"curry",name:"Curry Rice",keywords:["food","spicy","hot","indian"],skins:[{unified:"1f35b",native:"🍛"}],version:1},ramen:{id:"ramen",name:"Steaming Bowl",keywords:["ramen","food","japanese","noodle","chopsticks"],skins:[{unified:"1f35c",native:"🍜"}],version:1},spaghetti:{id:"spaghetti",name:"Spaghetti",keywords:["food","italian","pasta","noodle"],skins:[{unified:"1f35d",native:"🍝"}],version:1},sweet_potato:{id:"sweet_potato",name:"Roasted Sweet Potato",keywords:["food","nature","plant"],skins:[{unified:"1f360",native:"🍠"}],version:1},oden:{id:"oden",name:"Oden",keywords:["food","japanese"],skins:[{unified:"1f362",native:"🍢"}],version:1},sushi:{id:"sushi",name:"Sushi",keywords:["food","fish","japanese","rice"],skins:[{unified:"1f363",native:"🍣"}],version:1},fried_shrimp:{id:"fried_shrimp",name:"Fried Shrimp",keywords:["food","animal","appetizer","summer"],skins:[{unified:"1f364",native:"🍤"}],version:1},fish_cake:{id:"fish_cake",name:"Fish Cake with Swirl",keywords:["food","japan","sea","beach","narutomaki","pink","kamaboko","surimi","ramen"],skins:[{unified:"1f365",native:"🍥"}],version:1},moon_cake:{id:"moon_cake",name:"Moon Cake",keywords:["food","autumn","dessert"],skins:[{unified:"1f96e",native:"🥮"}],version:11},dango:{id:"dango",name:"Dango",keywords:["food","dessert","sweet","japanese","barbecue","meat"],skins:[{unified:"1f361",native:"🍡"}],version:1},dumpling:{id:"dumpling",name:"Dumpling",keywords:["food","empanada","pierogi","potsticker","gyoza"],skins:[{unified:"1f95f",native:"🥟"}],version:5},fortune_cookie:{id:"fortune_cookie",name:"Fortune Cookie",keywords:["food","prophecy","dessert"],skins:[{unified:"1f960",native:"🥠"}],version:5},takeout_box:{id:"takeout_box",name:"Takeout Box",keywords:["food","leftovers"],skins:[{unified:"1f961",native:"🥡"}],version:5},crab:{id:"crab",name:"Crab",keywords:["animal","crustacean"],skins:[{unified:"1f980",native:"🦀"}],version:1},lobster:{id:"lobster",name:"Lobster",keywords:["animal","nature","bisque","claws","seafood"],skins:[{unified:"1f99e",native:"🦞"}],version:11},shrimp:{id:"shrimp",name:"Shrimp",keywords:["animal","ocean","nature","seafood"],skins:[{unified:"1f990",native:"🦐"}],version:3},squid:{id:"squid",name:"Squid",keywords:["animal","nature","ocean","sea"],skins:[{unified:"1f991",native:"🦑"}],version:3},oyster:{id:"oyster",name:"Oyster",keywords:["food"],skins:[{unified:"1f9aa",native:"🦪"}],version:12},icecream:{id:"icecream",name:"Soft Ice Cream",keywords:["icecream","food","hot","dessert","summer"],skins:[{unified:"1f366",native:"🍦"}],version:1},shaved_ice:{id:"shaved_ice",name:"Shaved Ice",keywords:["hot","dessert","summer"],skins:[{unified:"1f367",native:"🍧"}],version:1},ice_cream:{id:"ice_cream",name:"Ice Cream",keywords:["food","hot","dessert"],skins:[{unified:"1f368",native:"🍨"}],version:1},doughnut:{id:"doughnut",name:"Doughnut",keywords:["food","dessert","snack","sweet","donut"],skins:[{unified:"1f369",native:"🍩"}],version:1},cookie:{id:"cookie",name:"Cookie",keywords:["food","snack","oreo","chocolate","sweet","dessert"],skins:[{unified:"1f36a",native:"🍪"}],version:1},birthday:{id:"birthday",name:"Birthday Cake",keywords:["food","dessert"],skins:[{unified:"1f382",native:"🎂"}],version:1},cake:{id:"cake",name:"Shortcake",keywords:["cake","food","dessert"],skins:[{unified:"1f370",native:"🍰"}],version:1},cupcake:{id:"cupcake",name:"Cupcake",keywords:["food","dessert","bakery","sweet"],skins:[{unified:"1f9c1",native:"🧁"}],version:11},pie:{id:"pie",name:"Pie",keywords:["food","dessert","pastry"],skins:[{unified:"1f967",native:"🥧"}],version:5},chocolate_bar:{id:"chocolate_bar",name:"Chocolate Bar",keywords:["food","snack","dessert","sweet"],skins:[{unified:"1f36b",native:"🍫"}],version:1},candy:{id:"candy",name:"Candy",keywords:["snack","dessert","sweet","lolly"],skins:[{unified:"1f36c",native:"🍬"}],version:1},lollipop:{id:"lollipop",name:"Lollipop",keywords:["food","snack","candy","sweet"],skins:[{unified:"1f36d",native:"🍭"}],version:1},custard:{id:"custard",name:"Custard",keywords:["dessert","food"],skins:[{unified:"1f36e",native:"🍮"}],version:1},honey_pot:{id:"honey_pot",name:"Honey Pot",keywords:["bees","sweet","kitchen"],skins:[{unified:"1f36f",native:"🍯"}],version:1},baby_bottle:{id:"baby_bottle",name:"Baby Bottle",keywords:["food","container","milk"],skins:[{unified:"1f37c",native:"🍼"}],version:1},glass_of_milk:{id:"glass_of_milk",name:"Glass of Milk",keywords:["beverage","drink","cow"],skins:[{unified:"1f95b",native:"🥛"}],version:3},coffee:{id:"coffee",name:"Hot Beverage",keywords:["coffee","caffeine","latte","espresso","mug"],skins:[{unified:"2615",native:"☕"}],version:1},teapot:{id:"teapot",name:"Teapot",keywords:["drink","hot"],skins:[{unified:"1fad6",native:"🫖"}],version:13},tea:{id:"tea",name:"Teacup Without Handle",keywords:["tea","drink","bowl","breakfast","green","british"],skins:[{unified:"1f375",native:"🍵"}],version:1},sake:{id:"sake",name:"Sake",keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],skins:[{unified:"1f376",native:"🍶"}],version:1},champagne:{id:"champagne",name:"Bottle with Popping Cork",keywords:["champagne","drink","wine","celebration"],skins:[{unified:"1f37e",native:"🍾"}],version:1},wine_glass:{id:"wine_glass",name:"Wine Glass",keywords:["drink","beverage","drunk","alcohol","booze"],skins:[{unified:"1f377",native:"🍷"}],version:1},cocktail:{id:"cocktail",name:"Cocktail Glass",keywords:["drink","drunk","alcohol","beverage","booze","mojito"],skins:[{unified:"1f378",native:"🍸"}],version:1},tropical_drink:{id:"tropical_drink",name:"Tropical Drink",keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],skins:[{unified:"1f379",native:"🍹"}],version:1},beer:{id:"beer",name:"Beer Mug",keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],skins:[{unified:"1f37a",native:"🍺"}],version:1},beers:{id:"beers",name:"Clinking Beer Mugs",keywords:["beers","relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],skins:[{unified:"1f37b",native:"🍻"}],version:1},clinking_glasses:{id:"clinking_glasses",name:"Clinking Glasses",keywords:["beverage","drink","party","alcohol","celebrate","cheers","wine","champagne","toast"],skins:[{unified:"1f942",native:"🥂"}],version:3},tumbler_glass:{id:"tumbler_glass",name:"Tumbler Glass",keywords:["drink","beverage","drunk","alcohol","liquor","booze","bourbon","scotch","whisky","shot"],skins:[{unified:"1f943",native:"🥃"}],version:3},pouring_liquid:{id:"pouring_liquid",name:"Pouring Liquid",keywords:["cup","water"],skins:[{unified:"1fad7",native:"🫗"}],version:14},cup_with_straw:{id:"cup_with_straw",name:"Cup with Straw",keywords:["drink","soda"],skins:[{unified:"1f964",native:"🥤"}],version:5},bubble_tea:{id:"bubble_tea",name:"Bubble Tea",keywords:["taiwan","boba","milk","straw"],skins:[{unified:"1f9cb",native:"🧋"}],version:13},beverage_box:{id:"beverage_box",name:"Beverage Box",keywords:["drink"],skins:[{unified:"1f9c3",native:"🧃"}],version:12},mate_drink:{id:"mate_drink",name:"Mate",keywords:["drink","tea","beverage"],skins:[{unified:"1f9c9",native:"🧉"}],version:12},ice_cube:{id:"ice_cube",name:"Ice",keywords:["cube","water","cold"],skins:[{unified:"1f9ca",native:"🧊"}],version:12},chopsticks:{id:"chopsticks",name:"Chopsticks",keywords:["food"],skins:[{unified:"1f962",native:"🥢"}],version:5},knife_fork_plate:{id:"knife_fork_plate",name:"Fork and Knife with Plate",keywords:["food","eat","meal","lunch","dinner","restaurant"],skins:[{unified:"1f37d-fe0f",native:"🍽️"}],version:1},fork_and_knife:{id:"fork_and_knife",name:"Fork and Knife",keywords:["cutlery","kitchen"],skins:[{unified:"1f374",native:"🍴"}],version:1},spoon:{id:"spoon",name:"Spoon",keywords:["cutlery","kitchen","tableware"],skins:[{unified:"1f944",native:"🥄"}],version:3},hocho:{id:"hocho",name:"Hocho",keywords:["knife","kitchen","blade","cutlery","weapon"],skins:[{unified:"1f52a",native:"🔪"}],version:1},jar:{id:"jar",name:"Jar",keywords:["container","sauce"],skins:[{unified:"1fad9",native:"🫙"}],version:14},amphora:{id:"amphora",name:"Amphora",keywords:["vase","jar"],skins:[{unified:"1f3fa",native:"🏺"}],version:1},earth_africa:{id:"earth_africa",name:"Earth Globe Europe-Africa",keywords:["africa","showing","europe","world","international"],skins:[{unified:"1f30d",native:"🌍"}],version:1},earth_americas:{id:"earth_americas",name:"Earth Globe Americas",keywords:["showing","world","USA","international"],skins:[{unified:"1f30e",native:"🌎"}],version:1},earth_asia:{id:"earth_asia",name:"Earth Globe Asia-Australia",keywords:["asia","showing","australia","world","east","international"],skins:[{unified:"1f30f",native:"🌏"}],version:1},globe_with_meridians:{id:"globe_with_meridians",name:"Globe with Meridians",keywords:["earth","international","world","internet","interweb","i18n"],skins:[{unified:"1f310",native:"🌐"}],version:1},world_map:{id:"world_map",name:"World Map",keywords:["location","direction"],skins:[{unified:"1f5fa-fe0f",native:"🗺️"}],version:1},japan:{id:"japan",name:"Map of Japan",keywords:["nation","country","japanese","asia"],skins:[{unified:"1f5fe",native:"🗾"}],version:1},compass:{id:"compass",name:"Compass",keywords:["magnetic","navigation","orienteering"],skins:[{unified:"1f9ed",native:"🧭"}],version:11},snow_capped_mountain:{id:"snow_capped_mountain",name:"Snow-Capped Mountain",keywords:["snow","capped","photo","nature","environment","winter","cold"],skins:[{unified:"1f3d4-fe0f",native:"🏔️"}],version:1},mountain:{id:"mountain",name:"Mountain",keywords:["photo","nature","environment"],skins:[{unified:"26f0-fe0f",native:"⛰️"}],version:1},volcano:{id:"volcano",name:"Volcano",keywords:["photo","nature","disaster"],skins:[{unified:"1f30b",native:"🌋"}],version:1},mount_fuji:{id:"mount_fuji",name:"Mount Fuji",keywords:["photo","mountain","nature","japanese"],skins:[{unified:"1f5fb",native:"🗻"}],version:1},camping:{id:"camping",name:"Camping",keywords:["photo","outdoors","tent"],skins:[{unified:"1f3d5-fe0f",native:"🏕️"}],version:1},beach_with_umbrella:{id:"beach_with_umbrella",name:"Beach with Umbrella",keywords:["weather","summer","sunny","sand","mojito"],skins:[{unified:"1f3d6-fe0f",native:"🏖️"}],version:1},desert:{id:"desert",name:"Desert",keywords:["photo","warm","saharah"],skins:[{unified:"1f3dc-fe0f",native:"🏜️"}],version:1},desert_island:{id:"desert_island",name:"Desert Island",keywords:["photo","tropical","mojito"],skins:[{unified:"1f3dd-fe0f",native:"🏝️"}],version:1},national_park:{id:"national_park",name:"National Park",keywords:["photo","environment","nature"],skins:[{unified:"1f3de-fe0f",native:"🏞️"}],version:1},stadium:{id:"stadium",name:"Stadium",keywords:["photo","place","sports","concert","venue"],skins:[{unified:"1f3df-fe0f",native:"🏟️"}],version:1},classical_building:{id:"classical_building",name:"Classical Building",keywords:["art","culture","history"],skins:[{unified:"1f3db-fe0f",native:"🏛️"}],version:1},building_construction:{id:"building_construction",name:"Building Construction",keywords:["wip","working","progress"],skins:[{unified:"1f3d7-fe0f",native:"🏗️"}],version:1},bricks:{id:"bricks",name:"Brick",keywords:["bricks"],skins:[{unified:"1f9f1",native:"🧱"}],version:11},rock:{id:"rock",name:"Rock",keywords:["stone"],skins:[{unified:"1faa8",native:"🪨"}],version:13},wood:{id:"wood",name:"Wood",keywords:["nature","timber","trunk"],skins:[{unified:"1fab5",native:"🪵"}],version:13},hut:{id:"hut",name:"Hut",keywords:["house","structure"],skins:[{unified:"1f6d6",native:"🛖"}],version:13},house_buildings:{id:"house_buildings",name:"Houses",keywords:["house","buildings","photo"],skins:[{unified:"1f3d8-fe0f",native:"🏘️"}],version:1},derelict_house_building:{id:"derelict_house_building",name:"Derelict House",keywords:["building","abandon","evict","broken"],skins:[{unified:"1f3da-fe0f",native:"🏚️"}],version:1},house:{id:"house",name:"House",keywords:["building","home"],skins:[{unified:"1f3e0",native:"🏠"}],version:1},house_with_garden:{id:"house_with_garden",name:"House with Garden",keywords:["home","plant","nature"],skins:[{unified:"1f3e1",native:"🏡"}],version:1},office:{id:"office",name:"Office Building",keywords:["bureau","work"],skins:[{unified:"1f3e2",native:"🏢"}],version:1},post_office:{id:"post_office",name:"Japanese Post Office",keywords:["building","envelope","communication"],skins:[{unified:"1f3e3",native:"🏣"}],version:1},european_post_office:{id:"european_post_office",name:"Post Office",keywords:["european","building","email"],skins:[{unified:"1f3e4",native:"🏤"}],version:1},hospital:{id:"hospital",name:"Hospital",keywords:["building","health","surgery","doctor"],skins:[{unified:"1f3e5",native:"🏥"}],version:1},bank:{id:"bank",name:"Bank",keywords:["building","money","sales","cash","business","enterprise"],skins:[{unified:"1f3e6",native:"🏦"}],version:1},hotel:{id:"hotel",name:"Hotel",keywords:["building","accomodation","checkin"],skins:[{unified:"1f3e8",native:"🏨"}],version:1},love_hotel:{id:"love_hotel",name:"Love Hotel",keywords:["like","affection","dating"],skins:[{unified:"1f3e9",native:"🏩"}],version:1},convenience_store:{id:"convenience_store",name:"Convenience Store",keywords:["building","shopping","groceries"],skins:[{unified:"1f3ea",native:"🏪"}],version:1},school:{id:"school",name:"School",keywords:["building","student","education","learn","teach"],skins:[{unified:"1f3eb",native:"🏫"}],version:1},department_store:{id:"department_store",name:"Department Store",keywords:["building","shopping","mall"],skins:[{unified:"1f3ec",native:"🏬"}],version:1},factory:{id:"factory",name:"Factory",keywords:["building","industry","pollution","smoke"],skins:[{unified:"1f3ed",native:"🏭"}],version:1},japanese_castle:{id:"japanese_castle",name:"Japanese Castle",keywords:["photo","building"],skins:[{unified:"1f3ef",native:"🏯"}],version:1},european_castle:{id:"european_castle",name:"Castle",keywords:["european","building","royalty","history"],skins:[{unified:"1f3f0",native:"🏰"}],version:1},wedding:{id:"wedding",name:"Wedding",keywords:["love","like","affection","couple","marriage","bride","groom"],skins:[{unified:"1f492",native:"💒"}],version:1},tokyo_tower:{id:"tokyo_tower",name:"Tokyo Tower",keywords:["photo","japanese"],skins:[{unified:"1f5fc",native:"🗼"}],version:1},statue_of_liberty:{id:"statue_of_liberty",name:"Statue of Liberty",keywords:["american","newyork"],skins:[{unified:"1f5fd",native:"🗽"}],version:1},church:{id:"church",name:"Church",keywords:["building","religion","christ"],skins:[{unified:"26ea",native:"⛪"}],version:1},mosque:{id:"mosque",name:"Mosque",keywords:["islam","worship","minaret"],skins:[{unified:"1f54c",native:"🕌"}],version:1},hindu_temple:{id:"hindu_temple",name:"Hindu Temple",keywords:["religion"],skins:[{unified:"1f6d5",native:"🛕"}],version:12},synagogue:{id:"synagogue",name:"Synagogue",keywords:["judaism","worship","temple","jewish"],skins:[{unified:"1f54d",native:"🕍"}],version:1},shinto_shrine:{id:"shinto_shrine",name:"Shinto Shrine",keywords:["temple","japan","kyoto"],skins:[{unified:"26e9-fe0f",native:"⛩️"}],version:1},kaaba:{id:"kaaba",name:"Kaaba",keywords:["mecca","mosque","islam"],skins:[{unified:"1f54b",native:"🕋"}],version:1},fountain:{id:"fountain",name:"Fountain",keywords:["photo","summer","water","fresh"],skins:[{unified:"26f2",native:"⛲"}],version:1},tent:{id:"tent",name:"Tent",keywords:["photo","camping","outdoors"],skins:[{unified:"26fa",native:"⛺"}],version:1},foggy:{id:"foggy",name:"Foggy",keywords:["photo","mountain"],skins:[{unified:"1f301",native:"🌁"}],version:1},night_with_stars:{id:"night_with_stars",name:"Night with Stars",keywords:["evening","city","downtown"],skins:[{unified:"1f303",native:"🌃"}],version:1},cityscape:{id:"cityscape",name:"Cityscape",keywords:["photo","night","life","urban"],skins:[{unified:"1f3d9-fe0f",native:"🏙️"}],version:1},sunrise_over_mountains:{id:"sunrise_over_mountains",name:"Sunrise over Mountains",keywords:["view","vacation","photo"],skins:[{unified:"1f304",native:"🌄"}],version:1},sunrise:{id:"sunrise",name:"Sunrise",keywords:["morning","view","vacation","photo"],skins:[{unified:"1f305",native:"🌅"}],version:1},city_sunset:{id:"city_sunset",name:"Cityscape at Dusk",keywords:["city","sunset","photo","evening","sky","buildings"],skins:[{unified:"1f306",native:"🌆"}],version:1},city_sunrise:{id:"city_sunrise",name:"Sunset",keywords:["city","sunrise","photo","good","morning","dawn"],skins:[{unified:"1f307",native:"🌇"}],version:1},bridge_at_night:{id:"bridge_at_night",name:"Bridge at Night",keywords:["photo","sanfrancisco"],skins:[{unified:"1f309",native:"🌉"}],version:1},hotsprings:{id:"hotsprings",name:"Hot Springs",keywords:["hotsprings","bath","warm","relax"],skins:[{unified:"2668-fe0f",native:"♨️"}],version:1},carousel_horse:{id:"carousel_horse",name:"Carousel Horse",keywords:["photo","carnival"],skins:[{unified:"1f3a0",native:"🎠"}],version:1},playground_slide:{id:"playground_slide",name:"Playground Slide",keywords:["fun","park"],skins:[{unified:"1f6dd",native:"🛝"}],version:14},ferris_wheel:{id:"ferris_wheel",name:"Ferris Wheel",keywords:["photo","carnival","londoneye"],skins:[{unified:"1f3a1",native:"🎡"}],version:1},roller_coaster:{id:"roller_coaster",name:"Roller Coaster",keywords:["carnival","playground","photo","fun"],skins:[{unified:"1f3a2",native:"🎢"}],version:1},barber:{id:"barber",name:"Barber Pole",keywords:["hair","salon","style"],skins:[{unified:"1f488",native:"💈"}],version:1},circus_tent:{id:"circus_tent",name:"Circus Tent",keywords:["festival","carnival","party"],skins:[{unified:"1f3aa",native:"🎪"}],version:1},steam_locomotive:{id:"steam_locomotive",name:"Locomotive",keywords:["steam","transportation","vehicle","train"],skins:[{unified:"1f682",native:"🚂"}],version:1},railway_car:{id:"railway_car",name:"Railway Car",keywords:["transportation","vehicle"],skins:[{unified:"1f683",native:"🚃"}],version:1},bullettrain_side:{id:"bullettrain_side",name:"High-Speed Train",keywords:["bullettrain","side","high","speed","transportation","vehicle"],skins:[{unified:"1f684",native:"🚄"}],version:1},bullettrain_front:{id:"bullettrain_front",name:"Bullet Train",keywords:["bullettrain","front","transportation","vehicle","speed","fast","public","travel"],skins:[{unified:"1f685",native:"🚅"}],version:1},train2:{id:"train2",name:"Train",keywords:["train2","transportation","vehicle"],skins:[{unified:"1f686",native:"🚆"}],version:1},metro:{id:"metro",name:"Metro",keywords:["transportation","blue","square","mrt","underground","tube"],skins:[{unified:"1f687",native:"🚇"}],version:1},light_rail:{id:"light_rail",name:"Light Rail",keywords:["transportation","vehicle"],skins:[{unified:"1f688",native:"🚈"}],version:1},station:{id:"station",name:"Station",keywords:["transportation","vehicle","public"],skins:[{unified:"1f689",native:"🚉"}],version:1},tram:{id:"tram",name:"Tram",keywords:["transportation","vehicle"],skins:[{unified:"1f68a",native:"🚊"}],version:1},monorail:{id:"monorail",name:"Monorail",keywords:["transportation","vehicle"],skins:[{unified:"1f69d",native:"🚝"}],version:1},mountain_railway:{id:"mountain_railway",name:"Mountain Railway",keywords:["transportation","vehicle"],skins:[{unified:"1f69e",native:"🚞"}],version:1},train:{id:"train",name:"Tram Car",keywords:["train","transportation","vehicle","carriage","public","travel"],skins:[{unified:"1f68b",native:"🚋"}],version:1},bus:{id:"bus",name:"Bus",keywords:["car","vehicle","transportation"],skins:[{unified:"1f68c",native:"🚌"}],version:1},oncoming_bus:{id:"oncoming_bus",name:"Oncoming Bus",keywords:["vehicle","transportation"],skins:[{unified:"1f68d",native:"🚍"}],version:1},trolleybus:{id:"trolleybus",name:"Trolleybus",keywords:["bart","transportation","vehicle"],skins:[{unified:"1f68e",native:"🚎"}],version:1},minibus:{id:"minibus",name:"Minibus",keywords:["vehicle","car","transportation"],skins:[{unified:"1f690",native:"🚐"}],version:1},ambulance:{id:"ambulance",name:"Ambulance",keywords:["health","911","hospital"],skins:[{unified:"1f691",native:"🚑"}],version:1},fire_engine:{id:"fire_engine",name:"Fire Engine",keywords:["transportation","cars","vehicle"],skins:[{unified:"1f692",native:"🚒"}],version:1},police_car:{id:"police_car",name:"Police Car",keywords:["vehicle","cars","transportation","law","legal","enforcement"],skins:[{unified:"1f693",native:"🚓"}],version:1},oncoming_police_car:{id:"oncoming_police_car",name:"Oncoming Police Car",keywords:["vehicle","law","legal","enforcement","911"],skins:[{unified:"1f694",native:"🚔"}],version:1},taxi:{id:"taxi",name:"Taxi",keywords:["uber","vehicle","cars","transportation"],skins:[{unified:"1f695",native:"🚕"}],version:1},oncoming_taxi:{id:"oncoming_taxi",name:"Oncoming Taxi",keywords:["vehicle","cars","uber"],skins:[{unified:"1f696",native:"🚖"}],version:1},car:{id:"car",name:"Automobile",keywords:["car","red","transportation","vehicle"],skins:[{unified:"1f697",native:"🚗"}],version:1},oncoming_automobile:{id:"oncoming_automobile",name:"Oncoming Automobile",keywords:["car","vehicle","transportation"],skins:[{unified:"1f698",native:"🚘"}],version:1},blue_car:{id:"blue_car",name:"Recreational Vehicle",keywords:["blue","car","sport","utility","transportation"],skins:[{unified:"1f699",native:"🚙"}],version:1},pickup_truck:{id:"pickup_truck",name:"Pickup Truck",keywords:["car","transportation"],skins:[{unified:"1f6fb",native:"🛻"}],version:13},truck:{id:"truck",name:"Delivery Truck",keywords:["cars","transportation"],skins:[{unified:"1f69a",native:"🚚"}],version:1},articulated_lorry:{id:"articulated_lorry",name:"Articulated Lorry",keywords:["vehicle","cars","transportation","express"],skins:[{unified:"1f69b",native:"🚛"}],version:1},tractor:{id:"tractor",name:"Tractor",keywords:["vehicle","car","farming","agriculture"],skins:[{unified:"1f69c",native:"🚜"}],version:1},racing_car:{id:"racing_car",name:"Racing Car",keywords:["sports","race","fast","formula","f1"],skins:[{unified:"1f3ce-fe0f",native:"🏎️"}],version:1},racing_motorcycle:{id:"racing_motorcycle",name:"Motorcycle",keywords:["racing","race","sports","fast"],skins:[{unified:"1f3cd-fe0f",native:"🏍️"}],version:1},motor_scooter:{id:"motor_scooter",name:"Motor Scooter",keywords:["vehicle","vespa","sasha"],skins:[{unified:"1f6f5",native:"🛵"}],version:3},manual_wheelchair:{id:"manual_wheelchair",name:"Manual Wheelchair",keywords:["accessibility"],skins:[{unified:"1f9bd",native:"🦽"}],version:12},motorized_wheelchair:{id:"motorized_wheelchair",name:"Motorized Wheelchair",keywords:["accessibility"],skins:[{unified:"1f9bc",native:"🦼"}],version:12},auto_rickshaw:{id:"auto_rickshaw",name:"Auto Rickshaw",keywords:["move","transportation"],skins:[{unified:"1f6fa",native:"🛺"}],version:12},bike:{id:"bike",name:"Bicycle",keywords:["bike","sports","exercise","hipster"],skins:[{unified:"1f6b2",native:"🚲"}],version:1},scooter:{id:"scooter",name:"Scooter",keywords:["kick","vehicle","razor"],skins:[{unified:"1f6f4",native:"🛴"}],version:3},skateboard:{id:"skateboard",name:"Skateboard",keywords:["board"],skins:[{unified:"1f6f9",native:"🛹"}],version:11},roller_skate:{id:"roller_skate",name:"Roller Skate",keywords:["footwear","sports"],skins:[{unified:"1f6fc",native:"🛼"}],version:13},busstop:{id:"busstop",name:"Bus Stop",keywords:["busstop","transportation","wait"],skins:[{unified:"1f68f",native:"🚏"}],version:1},motorway:{id:"motorway",name:"Motorway",keywords:["road","cupertino","interstate","highway"],skins:[{unified:"1f6e3-fe0f",native:"🛣️"}],version:1},railway_track:{id:"railway_track",name:"Railway Track",keywords:["train","transportation"],skins:[{unified:"1f6e4-fe0f",native:"🛤️"}],version:1},oil_drum:{id:"oil_drum",name:"Oil Drum",keywords:["barrell"],skins:[{unified:"1f6e2-fe0f",native:"🛢️"}],version:1},fuelpump:{id:"fuelpump",name:"Fuel Pump",keywords:["fuelpump","gas","station","petroleum"],skins:[{unified:"26fd",native:"⛽"}],version:1},wheel:{id:"wheel",name:"Wheel",keywords:["car","transport"],skins:[{unified:"1f6de",native:"🛞"}],version:14},rotating_light:{id:"rotating_light",name:"Police Car Light",keywords:["rotating","ambulance","911","emergency","alert","error","pinged","law","legal"],skins:[{unified:"1f6a8",native:"🚨"}],version:1},traffic_light:{id:"traffic_light",name:"Horizontal Traffic Light",keywords:["transportation","signal"],skins:[{unified:"1f6a5",native:"🚥"}],version:1},vertical_traffic_light:{id:"vertical_traffic_light",name:"Vertical Traffic Light",keywords:["transportation","driving"],skins:[{unified:"1f6a6",native:"🚦"}],version:1},octagonal_sign:{id:"octagonal_sign",name:"Stop Sign",keywords:["octagonal"],skins:[{unified:"1f6d1",native:"🛑"}],version:3},construction:{id:"construction",name:"Construction",keywords:["wip","progress","caution","warning"],skins:[{unified:"1f6a7",native:"🚧"}],version:1},anchor:{id:"anchor",name:"Anchor",keywords:["ship","ferry","sea","boat"],skins:[{unified:"2693",native:"⚓"}],version:1},ring_buoy:{id:"ring_buoy",name:"Ring Buoy",keywords:["life","saver","preserver"],skins:[{unified:"1f6df",native:"🛟"}],version:14},boat:{id:"boat",name:"Sailboat",keywords:["boat","ship","summer","transportation","water","sailing"],skins:[{unified:"26f5",native:"⛵"}],version:1},canoe:{id:"canoe",name:"Canoe",keywords:["boat","paddle","water","ship"],skins:[{unified:"1f6f6",native:"🛶"}],version:3},speedboat:{id:"speedboat",name:"Speedboat",keywords:["ship","transportation","vehicle","summer"],skins:[{unified:"1f6a4",native:"🚤"}],version:1},passenger_ship:{id:"passenger_ship",name:"Passenger Ship",keywords:["yacht","cruise","ferry"],skins:[{unified:"1f6f3-fe0f",native:"🛳️"}],version:1},ferry:{id:"ferry",name:"Ferry",keywords:["boat","ship","yacht"],skins:[{unified:"26f4-fe0f",native:"⛴️"}],version:1},motor_boat:{id:"motor_boat",name:"Motor Boat",keywords:["ship"],skins:[{unified:"1f6e5-fe0f",native:"🛥️"}],version:1},ship:{id:"ship",name:"Ship",keywords:["transportation","titanic","deploy"],skins:[{unified:"1f6a2",native:"🚢"}],version:1},airplane:{id:"airplane",name:"Airplane",keywords:["vehicle","transportation","flight","fly"],skins:[{unified:"2708-fe0f",native:"✈️"}],version:1},small_airplane:{id:"small_airplane",name:"Small Airplane",keywords:["flight","transportation","fly","vehicle"],skins:[{unified:"1f6e9-fe0f",native:"🛩️"}],version:1},airplane_departure:{id:"airplane_departure",name:"Airplane Departure",keywords:["airport","flight","landing"],skins:[{unified:"1f6eb",native:"🛫"}],version:1},airplane_arriving:{id:"airplane_arriving",name:"Airplane Arrival",keywords:["arriving","airport","flight","boarding"],skins:[{unified:"1f6ec",native:"🛬"}],version:1},parachute:{id:"parachute",name:"Parachute",keywords:["fly","glide"],skins:[{unified:"1fa82",native:"🪂"}],version:12},seat:{id:"seat",name:"Seat",keywords:["sit","airplane","transport","bus","flight","fly"],skins:[{unified:"1f4ba",native:"💺"}],version:1},helicopter:{id:"helicopter",name:"Helicopter",keywords:["transportation","vehicle","fly"],skins:[{unified:"1f681",native:"🚁"}],version:1},suspension_railway:{id:"suspension_railway",name:"Suspension Railway",keywords:["vehicle","transportation"],skins:[{unified:"1f69f",native:"🚟"}],version:1},mountain_cableway:{id:"mountain_cableway",name:"Mountain Cableway",keywords:["transportation","vehicle","ski"],skins:[{unified:"1f6a0",native:"🚠"}],version:1},aerial_tramway:{id:"aerial_tramway",name:"Aerial Tramway",keywords:["transportation","vehicle","ski"],skins:[{unified:"1f6a1",native:"🚡"}],version:1},satellite:{id:"satellite",name:"Satellite",keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],skins:[{unified:"1f6f0-fe0f",native:"🛰️"}],version:1},rocket:{id:"rocket",name:"Rocket",keywords:["launch","ship","staffmode","NASA","outer","space","fly"],skins:[{unified:"1f680",native:"🚀"}],version:1},flying_saucer:{id:"flying_saucer",name:"Flying Saucer",keywords:["transportation","vehicle","ufo"],skins:[{unified:"1f6f8",native:"🛸"}],version:5},bellhop_bell:{id:"bellhop_bell",name:"Bellhop Bell",keywords:["service"],skins:[{unified:"1f6ce-fe0f",native:"🛎️"}],version:1},luggage:{id:"luggage",name:"Luggage",keywords:["packing","travel"],skins:[{unified:"1f9f3",native:"🧳"}],version:11},hourglass:{id:"hourglass",name:"Hourglass",keywords:["done","time","clock","oldschool","limit","exam","quiz","test"],skins:[{unified:"231b",native:"⌛"}],version:1},hourglass_flowing_sand:{id:"hourglass_flowing_sand",name:"Hourglass Not Done",keywords:["flowing","sand","oldschool","time","countdown"],skins:[{unified:"23f3",native:"⏳"}],version:1},watch:{id:"watch",name:"Watch",keywords:["time","accessories"],skins:[{unified:"231a",native:"⌚"}],version:1},alarm_clock:{id:"alarm_clock",name:"Alarm Clock",keywords:["time","wake"],skins:[{unified:"23f0",native:"⏰"}],version:1},stopwatch:{id:"stopwatch",name:"Stopwatch",keywords:["time","deadline"],skins:[{unified:"23f1-fe0f",native:"⏱️"}],version:1},timer_clock:{id:"timer_clock",name:"Timer Clock",keywords:["alarm"],skins:[{unified:"23f2-fe0f",native:"⏲️"}],version:1},mantelpiece_clock:{id:"mantelpiece_clock",name:"Mantelpiece Clock",keywords:["time"],skins:[{unified:"1f570-fe0f",native:"🕰️"}],version:1},clock12:{id:"clock12",name:"Twelve O’clock",keywords:["clock12","o","clock","12","00:00","0000","12:00","1200","time","noon","midnight","midday","late","early","schedule"],skins:[{unified:"1f55b",native:"🕛"}],version:1},clock1230:{id:"clock1230",name:"Twelve-Thirty",keywords:["clock1230","twelve","thirty","00:30","0030","12:30","1230","time","late","early","schedule"],skins:[{unified:"1f567",native:"🕧"}],version:1},clock1:{id:"clock1",name:"One O’clock",keywords:["clock1","o","clock","1","1:00","100","13:00","1300","time","late","early","schedule"],skins:[{unified:"1f550",native:"🕐"}],version:1},clock130:{id:"clock130",name:"One-Thirty",keywords:["clock130","one","thirty","1:30","130","13:30","1330","time","late","early","schedule"],skins:[{unified:"1f55c",native:"🕜"}],version:1},clock2:{id:"clock2",name:"Two O’clock",keywords:["clock2","o","clock","2","2:00","200","14:00","1400","time","late","early","schedule"],skins:[{unified:"1f551",native:"🕑"}],version:1},clock230:{id:"clock230",name:"Two-Thirty",keywords:["clock230","two","thirty","2:30","230","14:30","1430","time","late","early","schedule"],skins:[{unified:"1f55d",native:"🕝"}],version:1},clock3:{id:"clock3",name:"Three O’clock",keywords:["clock3","o","clock","3","3:00","300","15:00","1500","time","late","early","schedule"],skins:[{unified:"1f552",native:"🕒"}],version:1},clock330:{id:"clock330",name:"Three-Thirty",keywords:["clock330","three","thirty","3:30","330","15:30","1530","time","late","early","schedule"],skins:[{unified:"1f55e",native:"🕞"}],version:1},clock4:{id:"clock4",name:"Four O’clock",keywords:["clock4","o","clock","4","4:00","400","16:00","1600","time","late","early","schedule"],skins:[{unified:"1f553",native:"🕓"}],version:1},clock430:{id:"clock430",name:"Four-Thirty",keywords:["clock430","four","thirty","4:30","430","16:30","1630","time","late","early","schedule"],skins:[{unified:"1f55f",native:"🕟"}],version:1},clock5:{id:"clock5",name:"Five O’clock",keywords:["clock5","o","clock","5","5:00","500","17:00","1700","time","late","early","schedule"],skins:[{unified:"1f554",native:"🕔"}],version:1},clock530:{id:"clock530",name:"Five-Thirty",keywords:["clock530","five","thirty","5:30","530","17:30","1730","time","late","early","schedule"],skins:[{unified:"1f560",native:"🕠"}],version:1},clock6:{id:"clock6",name:"Six O’clock",keywords:["clock6","o","clock","6","6:00","600","18:00","1800","time","late","early","schedule","dawn","dusk"],skins:[{unified:"1f555",native:"🕕"}],version:1},clock630:{id:"clock630",name:"Six-Thirty",keywords:["clock630","six","thirty","6:30","630","18:30","1830","time","late","early","schedule"],skins:[{unified:"1f561",native:"🕡"}],version:1},clock7:{id:"clock7",name:"Seven O’clock",keywords:["clock7","o","clock","7","7:00","700","19:00","1900","time","late","early","schedule"],skins:[{unified:"1f556",native:"🕖"}],version:1},clock730:{id:"clock730",name:"Seven-Thirty",keywords:["clock730","seven","thirty","7:30","730","19:30","1930","time","late","early","schedule"],skins:[{unified:"1f562",native:"🕢"}],version:1},clock8:{id:"clock8",name:"Eight O’clock",keywords:["clock8","o","clock","8","8:00","800","20:00","2000","time","late","early","schedule"],skins:[{unified:"1f557",native:"🕗"}],version:1},clock830:{id:"clock830",name:"Eight-Thirty",keywords:["clock830","eight","thirty","8:30","830","20:30","2030","time","late","early","schedule"],skins:[{unified:"1f563",native:"🕣"}],version:1},clock9:{id:"clock9",name:"Nine O’clock",keywords:["clock9","o","clock","9","9:00","900","21:00","2100","time","late","early","schedule"],skins:[{unified:"1f558",native:"🕘"}],version:1},clock930:{id:"clock930",name:"Nine-Thirty",keywords:["clock930","nine","thirty","9:30","930","21:30","2130","time","late","early","schedule"],skins:[{unified:"1f564",native:"🕤"}],version:1},clock10:{id:"clock10",name:"Ten O’clock",keywords:["clock10","o","clock","10","10:00","1000","22:00","2200","time","late","early","schedule"],skins:[{unified:"1f559",native:"🕙"}],version:1},clock1030:{id:"clock1030",name:"Ten-Thirty",keywords:["clock1030","ten","thirty","10:30","1030","22:30","2230","time","late","early","schedule"],skins:[{unified:"1f565",native:"🕥"}],version:1},clock11:{id:"clock11",name:"Eleven O’clock",keywords:["clock11","o","clock","11","11:00","1100","23:00","2300","time","late","early","schedule"],skins:[{unified:"1f55a",native:"🕚"}],version:1},clock1130:{id:"clock1130",name:"Eleven-Thirty",keywords:["clock1130","eleven","thirty","11:30","1130","23:30","2330","time","late","early","schedule"],skins:[{unified:"1f566",native:"🕦"}],version:1},new_moon:{id:"new_moon",name:"New Moon",keywords:["nature","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f311",native:"🌑"}],version:1},waxing_crescent_moon:{id:"waxing_crescent_moon",name:"Waxing Crescent Moon",keywords:["nature","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f312",native:"🌒"}],version:1},first_quarter_moon:{id:"first_quarter_moon",name:"First Quarter Moon",keywords:["nature","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f313",native:"🌓"}],version:1},moon:{id:"moon",name:"Waxing Gibbous Moon",keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],skins:[{unified:"1f314",native:"🌔"}],version:1},full_moon:{id:"full_moon",name:"Full Moon",keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f315",native:"🌕"}],version:1},waning_gibbous_moon:{id:"waning_gibbous_moon",name:"Waning Gibbous Moon",keywords:["nature","twilight","planet","space","night","evening","sleep","waxing"],skins:[{unified:"1f316",native:"🌖"}],version:1},last_quarter_moon:{id:"last_quarter_moon",name:"Last Quarter Moon",keywords:["nature","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f317",native:"🌗"}],version:1},waning_crescent_moon:{id:"waning_crescent_moon",name:"Waning Crescent Moon",keywords:["nature","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f318",native:"🌘"}],version:1},crescent_moon:{id:"crescent_moon",name:"Crescent Moon",keywords:["night","sleep","sky","evening","magic"],skins:[{unified:"1f319",native:"🌙"}],version:1},new_moon_with_face:{id:"new_moon_with_face",name:"New Moon Face",keywords:["with","nature","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f31a",native:"🌚"}],version:1},first_quarter_moon_with_face:{id:"first_quarter_moon_with_face",name:"First Quarter Moon Face",keywords:["with","nature","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f31b",native:"🌛"}],version:1},last_quarter_moon_with_face:{id:"last_quarter_moon_with_face",name:"Last Quarter Moon Face",keywords:["with","nature","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f31c",native:"🌜"}],version:1},thermometer:{id:"thermometer",name:"Thermometer",keywords:["weather","temperature","hot","cold"],skins:[{unified:"1f321-fe0f",native:"🌡️"}],version:1},sunny:{id:"sunny",name:"Sun",keywords:["sunny","weather","nature","brightness","summer","beach","spring"],skins:[{unified:"2600-fe0f",native:"☀️"}],version:1},full_moon_with_face:{id:"full_moon_with_face",name:"Full Moon Face",keywords:["with","nature","twilight","planet","space","night","evening","sleep"],skins:[{unified:"1f31d",native:"🌝"}],version:1},sun_with_face:{id:"sun_with_face",name:"Sun with Face",keywords:["nature","morning","sky"],skins:[{unified:"1f31e",native:"🌞"}],version:1},ringed_planet:{id:"ringed_planet",name:"Ringed Planet",keywords:["outerspace"],skins:[{unified:"1fa90",native:"🪐"}],version:12},star:{id:"star",name:"Star",keywords:["night","yellow"],skins:[{unified:"2b50",native:"⭐"}],version:1},star2:{id:"star2",name:"Glowing Star",keywords:["star2","night","sparkle","awesome","good","magic"],skins:[{unified:"1f31f",native:"🌟"}],version:1},stars:{id:"stars",name:"Shooting Star",keywords:["stars","night","photo"],skins:[{unified:"1f320",native:"🌠"}],version:1},milky_way:{id:"milky_way",name:"Milky Way",keywords:["photo","space","stars"],skins:[{unified:"1f30c",native:"🌌"}],version:1},cloud:{id:"cloud",name:"Cloud",keywords:["weather","sky"],skins:[{unified:"2601-fe0f",native:"☁️"}],version:1},partly_sunny:{id:"partly_sunny",name:"Sun Behind Cloud",keywords:["partly","sunny","weather","nature","cloudy","morning","fall","spring"],skins:[{unified:"26c5",native:"⛅"}],version:1},thunder_cloud_and_rain:{id:"thunder_cloud_and_rain",name:"Cloud with Lightning and Rain",keywords:["thunder","weather"],skins:[{unified:"26c8-fe0f",native:"⛈️"}],version:1},mostly_sunny:{id:"mostly_sunny",name:"Sun Behind Small Cloud",keywords:["mostly","sunny","weather"],skins:[{unified:"1f324-fe0f",native:"🌤️"}],version:1},barely_sunny:{id:"barely_sunny",name:"Sun Behind Large Cloud",keywords:["barely","sunny","weather"],skins:[{unified:"1f325-fe0f",native:"🌥️"}],version:1},partly_sunny_rain:{id:"partly_sunny_rain",name:"Sun Behind Rain Cloud",keywords:["partly","sunny","weather"],skins:[{unified:"1f326-fe0f",native:"🌦️"}],version:1},rain_cloud:{id:"rain_cloud",name:"Cloud with Rain",keywords:["weather"],skins:[{unified:"1f327-fe0f",native:"🌧️"}],version:1},snow_cloud:{id:"snow_cloud",name:"Cloud with Snow",keywords:["weather"],skins:[{unified:"1f328-fe0f",native:"🌨️"}],version:1},lightning:{id:"lightning",name:"Cloud with Lightning",keywords:["weather","thunder"],skins:[{unified:"1f329-fe0f",native:"🌩️"}],version:1},tornado:{id:"tornado",name:"Tornado",keywords:["cloud","weather","cyclone","twister"],skins:[{unified:"1f32a-fe0f",native:"🌪️"}],version:1},fog:{id:"fog",name:"Fog",keywords:["weather"],skins:[{unified:"1f32b-fe0f",native:"🌫️"}],version:1},wind_blowing_face:{id:"wind_blowing_face",name:"Wind Face",keywords:["blowing","gust","air"],skins:[{unified:"1f32c-fe0f",native:"🌬️"}],version:1},cyclone:{id:"cyclone",name:"Cyclone",keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin","tornado","hurricane","typhoon"],skins:[{unified:"1f300",native:"🌀"}],version:1},rainbow:{id:"rainbow",name:"Rainbow",keywords:["nature","happy","unicorn","face","photo","sky","spring"],skins:[{unified:"1f308",native:"🌈"}],version:1},closed_umbrella:{id:"closed_umbrella",name:"Closed Umbrella",keywords:["weather","rain","drizzle"],skins:[{unified:"1f302",native:"🌂"}],version:1},umbrella:{id:"umbrella",name:"Umbrella",keywords:["weather","spring"],skins:[{unified:"2602-fe0f",native:"☂️"}],version:1},umbrella_with_rain_drops:{id:"umbrella_with_rain_drops",name:"Umbrella with Rain Drops",keywords:["rainy","weather","spring"],skins:[{unified:"2614",native:"☔"}],version:1},umbrella_on_ground:{id:"umbrella_on_ground",name:"Umbrella on Ground",keywords:["weather","summer"],skins:[{unified:"26f1-fe0f",native:"⛱️"}],version:1},zap:{id:"zap",name:"High Voltage",keywords:["zap","thunder","weather","lightning","bolt","fast"],skins:[{unified:"26a1",native:"⚡"}],version:1},snowflake:{id:"snowflake",name:"Snowflake",keywords:["winter","season","cold","weather","christmas","xmas"],skins:[{unified:"2744-fe0f",native:"❄️"}],version:1},snowman:{id:"snowman",name:"Snowman",keywords:["winter","season","cold","weather","christmas","xmas","frozen"],skins:[{unified:"2603-fe0f",native:"☃️"}],version:1},snowman_without_snow:{id:"snowman_without_snow",name:"Snowman Without Snow",keywords:["winter","season","cold","weather","christmas","xmas","frozen"],skins:[{unified:"26c4",native:"⛄"}],version:1},comet:{id:"comet",name:"Comet",keywords:["space"],skins:[{unified:"2604-fe0f",native:"☄️"}],version:1},fire:{id:"fire",name:"Fire",keywords:["hot","cook","flame"],skins:[{unified:"1f525",native:"🔥"}],version:1},droplet:{id:"droplet",name:"Droplet",keywords:["water","drip","faucet","spring"],skins:[{unified:"1f4a7",native:"💧"}],version:1},ocean:{id:"ocean",name:"Water Wave",keywords:["ocean","sea","nature","tsunami","disaster"],skins:[{unified:"1f30a",native:"🌊"}],version:1},jack_o_lantern:{id:"jack_o_lantern",name:"Jack-O-Lantern",keywords:["jack","o","lantern","halloween","light","pumpkin","creepy","fall"],skins:[{unified:"1f383",native:"🎃"}],version:1},christmas_tree:{id:"christmas_tree",name:"Christmas Tree",keywords:["festival","vacation","december","xmas","celebration"],skins:[{unified:"1f384",native:"🎄"}],version:1},fireworks:{id:"fireworks",name:"Fireworks",keywords:["photo","festival","carnival","congratulations"],skins:[{unified:"1f386",native:"🎆"}],version:1},sparkler:{id:"sparkler",name:"Sparkler",keywords:["stars","night","shine"],skins:[{unified:"1f387",native:"🎇"}],version:1},firecracker:{id:"firecracker",name:"Firecracker",keywords:["dynamite","boom","explode","explosion","explosive"],skins:[{unified:"1f9e8",native:"🧨"}],version:11},sparkles:{id:"sparkles",name:"Sparkles",keywords:["stars","shine","shiny","cool","awesome","good","magic"],skins:[{unified:"2728",native:"✨"}],version:1},balloon:{id:"balloon",name:"Balloon",keywords:["party","celebration","birthday","circus"],skins:[{unified:"1f388",native:"🎈"}],version:1},tada:{id:"tada",name:"Party Popper",keywords:["tada","congratulations","birthday","magic","circus","celebration"],skins:[{unified:"1f389",native:"🎉"}],version:1},confetti_ball:{id:"confetti_ball",name:"Confetti Ball",keywords:["festival","party","birthday","circus"],skins:[{unified:"1f38a",native:"🎊"}],version:1},tanabata_tree:{id:"tanabata_tree",name:"Tanabata Tree",keywords:["plant","nature","branch","summer","bamboo","wish","star","festival","tanzaku"],skins:[{unified:"1f38b",native:"🎋"}],version:1},bamboo:{id:"bamboo",name:"Pine Decoration",keywords:["bamboo","japanese","plant","nature","vegetable","panda","new","years"],skins:[{unified:"1f38d",native:"🎍"}],version:1},dolls:{id:"dolls",name:"Japanese Dolls",keywords:["toy","kimono"],skins:[{unified:"1f38e",native:"🎎"}],version:1},flags:{id:"flags",name:"Carp Streamer",keywords:["flags","fish","japanese","koinobori","banner"],skins:[{unified:"1f38f",native:"🎏"}],version:1},wind_chime:{id:"wind_chime",name:"Wind Chime",keywords:["nature","ding","spring","bell"],skins:[{unified:"1f390",native:"🎐"}],version:1},rice_scene:{id:"rice_scene",name:"Moon Viewing Ceremony",keywords:["rice","scene","photo","japan","asia","tsukimi"],skins:[{unified:"1f391",native:"🎑"}],version:1},red_envelope:{id:"red_envelope",name:"Red Envelope",keywords:["gift"],skins:[{unified:"1f9e7",native:"🧧"}],version:11},ribbon:{id:"ribbon",name:"Ribbon",keywords:["decoration","pink","girl","bowtie"],skins:[{unified:"1f380",native:"🎀"}],version:1},gift:{id:"gift",name:"Wrapped Gift",keywords:["present","birthday","christmas","xmas"],skins:[{unified:"1f381",native:"🎁"}],version:1},reminder_ribbon:{id:"reminder_ribbon",name:"Reminder Ribbon",keywords:["sports","cause","support","awareness"],skins:[{unified:"1f397-fe0f",native:"🎗️"}],version:1},admission_tickets:{id:"admission_tickets",name:"Admission Tickets",keywords:["sports","concert","entrance"],skins:[{unified:"1f39f-fe0f",native:"🎟️"}],version:1},ticket:{id:"ticket",name:"Ticket",keywords:["event","concert","pass"],skins:[{unified:"1f3ab",native:"🎫"}],version:1},medal:{id:"medal",name:"Military Medal",keywords:["award","winning","army"],skins:[{unified:"1f396-fe0f",native:"🎖️"}],version:1},trophy:{id:"trophy",name:"Trophy",keywords:["win","award","contest","place","ftw","ceremony"],skins:[{unified:"1f3c6",native:"🏆"}],version:1},sports_medal:{id:"sports_medal",name:"Sports Medal",keywords:["award","winning"],skins:[{unified:"1f3c5",native:"🏅"}],version:1},first_place_medal:{id:"first_place_medal",name:"1st Place Medal",keywords:["first","award","winning"],skins:[{unified:"1f947",native:"🥇"}],version:3},second_place_medal:{id:"second_place_medal",name:"2nd Place Medal",keywords:["second","award"],skins:[{unified:"1f948",native:"🥈"}],version:3},third_place_medal:{id:"third_place_medal",name:"3rd Place Medal",keywords:["third","award"],skins:[{unified:"1f949",native:"🥉"}],version:3},soccer:{id:"soccer",name:"Soccer Ball",keywords:["sports","football"],skins:[{unified:"26bd",native:"⚽"}],version:1},baseball:{id:"baseball",name:"Baseball",keywords:["sports","balls"],skins:[{unified:"26be",native:"⚾"}],version:1},softball:{id:"softball",name:"Softball",keywords:["sports","balls"],skins:[{unified:"1f94e",native:"🥎"}],version:11},basketball:{id:"basketball",name:"Basketball",keywords:["sports","balls","NBA"],skins:[{unified:"1f3c0",native:"🏀"}],version:1},volleyball:{id:"volleyball",name:"Volleyball",keywords:["sports","balls"],skins:[{unified:"1f3d0",native:"🏐"}],version:1},football:{id:"football",name:"American Football",keywords:["sports","balls","NFL"],skins:[{unified:"1f3c8",native:"🏈"}],version:1},rugby_football:{id:"rugby_football",name:"Rugby Football",keywords:["sports","team"],skins:[{unified:"1f3c9",native:"🏉"}],version:1},tennis:{id:"tennis",name:"Tennis",keywords:["sports","balls","green"],skins:[{unified:"1f3be",native:"🎾"}],version:1},flying_disc:{id:"flying_disc",name:"Flying Disc",keywords:["sports","frisbee","ultimate"],skins:[{unified:"1f94f",native:"🥏"}],version:11},bowling:{id:"bowling",name:"Bowling",keywords:["sports","fun","play"],skins:[{unified:"1f3b3",native:"🎳"}],version:1},cricket_bat_and_ball:{id:"cricket_bat_and_ball",name:"Cricket Game",keywords:["bat","and","ball","sports"],skins:[{unified:"1f3cf",native:"🏏"}],version:1},field_hockey_stick_and_ball:{id:"field_hockey_stick_and_ball",name:"Field Hockey",keywords:["stick","and","ball","sports"],skins:[{unified:"1f3d1",native:"🏑"}],version:1},ice_hockey_stick_and_puck:{id:"ice_hockey_stick_and_puck",name:"Ice Hockey",keywords:["stick","and","puck","sports"],skins:[{unified:"1f3d2",native:"🏒"}],version:1},lacrosse:{id:"lacrosse",name:"Lacrosse",keywords:["sports","ball","stick"],skins:[{unified:"1f94d",native:"🥍"}],version:11},table_tennis_paddle_and_ball:{id:"table_tennis_paddle_and_ball",name:"Ping Pong",keywords:["table","tennis","paddle","and","ball","sports","pingpong"],skins:[{unified:"1f3d3",native:"🏓"}],version:1},badminton_racquet_and_shuttlecock:{id:"badminton_racquet_and_shuttlecock",name:"Badminton",keywords:["racquet","and","shuttlecock","sports"],skins:[{unified:"1f3f8",native:"🏸"}],version:1},boxing_glove:{id:"boxing_glove",name:"Boxing Glove",keywords:["sports","fighting"],skins:[{unified:"1f94a",native:"🥊"}],version:3},martial_arts_uniform:{id:"martial_arts_uniform",name:"Martial Arts Uniform",keywords:["judo","karate","taekwondo"],skins:[{unified:"1f94b",native:"🥋"}],version:3},goal_net:{id:"goal_net",name:"Goal Net",keywords:["sports"],skins:[{unified:"1f945",native:"🥅"}],version:3},golf:{id:"golf",name:"Flag in Hole",keywords:["golf","sports","business","summer"],skins:[{unified:"26f3",native:"⛳"}],version:1},ice_skate:{id:"ice_skate",name:"Ice Skate",keywords:["sports"],skins:[{unified:"26f8-fe0f",native:"⛸️"}],version:1},fishing_pole_and_fish:{id:"fishing_pole_and_fish",name:"Fishing Pole",keywords:["and","fish","food","hobby","summer"],skins:[{unified:"1f3a3",native:"🎣"}],version:1},diving_mask:{id:"diving_mask",name:"Diving Mask",keywords:["sport","ocean"],skins:[{unified:"1f93f",native:"🤿"}],version:12},running_shirt_with_sash:{id:"running_shirt_with_sash",name:"Running Shirt",keywords:["with","sash","play","pageant"],skins:[{unified:"1f3bd",native:"🎽"}],version:1},ski:{id:"ski",name:"Skis",keywords:["ski","sports","winter","cold","snow"],skins:[{unified:"1f3bf",native:"🎿"}],version:1},sled:{id:"sled",name:"Sled",keywords:["sleigh","luge","toboggan"],skins:[{unified:"1f6f7",native:"🛷"}],version:5},curling_stone:{id:"curling_stone",name:"Curling Stone",keywords:["sports"],skins:[{unified:"1f94c",native:"🥌"}],version:5},dart:{id:"dart",name:"Bullseye",keywords:["dart","direct","hit","game","play","bar","target"],skins:[{unified:"1f3af",native:"🎯"}],version:1},"yo-yo":{id:"yo-yo",name:"Yo-Yo",keywords:["yo","toy"],skins:[{unified:"1fa80",native:"🪀"}],version:12},kite:{id:"kite",name:"Kite",keywords:["wind","fly"],skins:[{unified:"1fa81",native:"🪁"}],version:12},gun:{id:"gun",name:"Pistol",keywords:["gun","violence","weapon","revolver"],skins:[{unified:"1f52b",native:"🔫"}],version:1},"8ball":{id:"8ball",name:"Billiards",keywords:["8ball","pool","8","ball","hobby","game","luck","magic"],skins:[{unified:"1f3b1",native:"🎱"}],version:1},crystal_ball:{id:"crystal_ball",name:"Crystal Ball",keywords:["disco","party","magic","circus","fortune","teller"],skins:[{unified:"1f52e",native:"🔮"}],version:1},magic_wand:{id:"magic_wand",name:"Magic Wand",keywords:["supernature","power"],skins:[{unified:"1fa84",native:"🪄"}],version:13},video_game:{id:"video_game",name:"Video Game",keywords:["play","console","PS4","controller"],skins:[{unified:"1f3ae",native:"🎮"}],version:1},joystick:{id:"joystick",name:"Joystick",keywords:["game","play"],skins:[{unified:"1f579-fe0f",native:"🕹️"}],version:1},slot_machine:{id:"slot_machine",name:"Slot Machine",keywords:["bet","gamble","vegas","fruit","luck","casino"],skins:[{unified:"1f3b0",native:"🎰"}],version:1},game_die:{id:"game_die",name:"Game Die",keywords:["dice","random","tabletop","play","luck"],skins:[{unified:"1f3b2",native:"🎲"}],version:1},jigsaw:{id:"jigsaw",name:"Puzzle Piece",keywords:["jigsaw","interlocking"],skins:[{unified:"1f9e9",native:"🧩"}],version:11},teddy_bear:{id:"teddy_bear",name:"Teddy Bear",keywords:["plush","stuffed"],skins:[{unified:"1f9f8",native:"🧸"}],version:11},pinata:{id:"pinata",name:"Pinata",keywords:["mexico","candy","celebration"],skins:[{unified:"1fa85",native:"🪅"}],version:13},mirror_ball:{id:"mirror_ball",name:"Mirror Ball",keywords:["disco","dance","party"],skins:[{unified:"1faa9",native:"🪩"}],version:14},nesting_dolls:{id:"nesting_dolls",name:"Nesting Dolls",keywords:["matryoshka","toy"],skins:[{unified:"1fa86",native:"🪆"}],version:13},spades:{id:"spades",name:"Spade Suit",keywords:["spades","poker","cards","suits","magic"],skins:[{unified:"2660-fe0f",native:"♠️"}],version:1},hearts:{id:"hearts",name:"Heart Suit",keywords:["hearts","poker","cards","magic","suits"],skins:[{unified:"2665-fe0f",native:"♥️"}],version:1},diamonds:{id:"diamonds",name:"Diamond Suit",keywords:["diamonds","poker","cards","magic","suits"],skins:[{unified:"2666-fe0f",native:"♦️"}],version:1},clubs:{id:"clubs",name:"Club Suit",keywords:["clubs","poker","cards","magic","suits"],skins:[{unified:"2663-fe0f",native:"♣️"}],version:1},chess_pawn:{id:"chess_pawn",name:"Chess Pawn",keywords:["expendable"],skins:[{unified:"265f-fe0f",native:"♟️"}],version:11},black_joker:{id:"black_joker",name:"Joker",keywords:["black","poker","cards","game","play","magic"],skins:[{unified:"1f0cf",native:"🃏"}],version:1},mahjong:{id:"mahjong",name:"Mahjong Red Dragon",keywords:["game","play","chinese","kanji"],skins:[{unified:"1f004",native:"🀄"}],version:1},flower_playing_cards:{id:"flower_playing_cards",name:"Flower Playing Cards",keywords:["game","sunset","red"],skins:[{unified:"1f3b4",native:"🎴"}],version:1},performing_arts:{id:"performing_arts",name:"Performing Arts",keywords:["acting","theater","drama"],skins:[{unified:"1f3ad",native:"🎭"}],version:1},frame_with_picture:{id:"frame_with_picture",name:"Framed Picture",keywords:["frame","with","photography"],skins:[{unified:"1f5bc-fe0f",native:"🖼️"}],version:1},art:{id:"art",name:"Artist Palette",keywords:["art","design","paint","draw","colors"],skins:[{unified:"1f3a8",native:"🎨"}],version:1},thread:{id:"thread",name:"Thread",keywords:["needle","sewing","spool","string"],skins:[{unified:"1f9f5",native:"🧵"}],version:11},sewing_needle:{id:"sewing_needle",name:"Sewing Needle",keywords:["stitches"],skins:[{unified:"1faa1",native:"🪡"}],version:13},yarn:{id:"yarn",name:"Yarn",keywords:["ball","crochet","knit"],skins:[{unified:"1f9f6",native:"🧶"}],version:11},knot:{id:"knot",name:"Knot",keywords:["rope","scout"],skins:[{unified:"1faa2",native:"🪢"}],version:13},eyeglasses:{id:"eyeglasses",name:"Glasses",keywords:["eyeglasses","fashion","accessories","eyesight","nerdy","dork","geek"],skins:[{unified:"1f453",native:"👓"}],version:1},dark_sunglasses:{id:"dark_sunglasses",name:"Sunglasses",keywords:["dark","face","cool","accessories"],skins:[{unified:"1f576-fe0f",native:"🕶️"}],version:1},goggles:{id:"goggles",name:"Goggles",keywords:["eyes","protection","safety"],skins:[{unified:"1f97d",native:"🥽"}],version:11},lab_coat:{id:"lab_coat",name:"Lab Coat",keywords:["doctor","experiment","scientist","chemist"],skins:[{unified:"1f97c",native:"🥼"}],version:11},safety_vest:{id:"safety_vest",name:"Safety Vest",keywords:["protection"],skins:[{unified:"1f9ba",native:"🦺"}],version:12},necktie:{id:"necktie",name:"Necktie",keywords:["shirt","suitup","formal","fashion","cloth","business"],skins:[{unified:"1f454",native:"👔"}],version:1},shirt:{id:"shirt",name:"T-Shirt",keywords:["shirt","tshirt","t","fashion","cloth","casual","tee"],skins:[{unified:"1f455",native:"👕"}],version:1},jeans:{id:"jeans",name:"Jeans",keywords:["fashion","shopping"],skins:[{unified:"1f456",native:"👖"}],version:1},scarf:{id:"scarf",name:"Scarf",keywords:["neck","winter","clothes"],skins:[{unified:"1f9e3",native:"🧣"}],version:5},gloves:{id:"gloves",name:"Gloves",keywords:["hands","winter","clothes"],skins:[{unified:"1f9e4",native:"🧤"}],version:5},coat:{id:"coat",name:"Coat",keywords:["jacket"],skins:[{unified:"1f9e5",native:"🧥"}],version:5},socks:{id:"socks",name:"Socks",keywords:["stockings","clothes"],skins:[{unified:"1f9e6",native:"🧦"}],version:5},dress:{id:"dress",name:"Dress",keywords:["clothes","fashion","shopping"],skins:[{unified:"1f457",native:"👗"}],version:1},kimono:{id:"kimono",name:"Kimono",keywords:["dress","fashion","women","female","japanese"],skins:[{unified:"1f458",native:"👘"}],version:1},sari:{id:"sari",name:"Sari",keywords:["dress"],skins:[{unified:"1f97b",native:"🥻"}],version:12},"one-piece_swimsuit":{id:"one-piece_swimsuit",name:"One-Piece Swimsuit",keywords:["one","piece","fashion"],skins:[{unified:"1fa71",native:"🩱"}],version:12},briefs:{id:"briefs",name:"Briefs",keywords:["clothing"],skins:[{unified:"1fa72",native:"🩲"}],version:12},shorts:{id:"shorts",name:"Shorts",keywords:["clothing"],skins:[{unified:"1fa73",native:"🩳"}],version:12},bikini:{id:"bikini",name:"Bikini",keywords:["swimming","female","woman","girl","fashion","beach","summer"],skins:[{unified:"1f459",native:"👙"}],version:1},womans_clothes:{id:"womans_clothes",name:"Womans Clothes",keywords:["woman","s","fashion","shopping","bags","female"],skins:[{unified:"1f45a",native:"👚"}],version:1},folding_hand_fan:{id:"folding_hand_fan",name:"Folding Hand Fan",keywords:["flamenco","hot"],skins:[{unified:"1faad",native:"🪭"}],version:15},purse:{id:"purse",name:"Purse",keywords:["fashion","accessories","money","sales","shopping"],skins:[{unified:"1f45b",native:"👛"}],version:1},handbag:{id:"handbag",name:"Handbag",keywords:["fashion","accessory","accessories","shopping"],skins:[{unified:"1f45c",native:"👜"}],version:1},pouch:{id:"pouch",name:"Pouch",keywords:["clutch","bag","accessories","shopping"],skins:[{unified:"1f45d",native:"👝"}],version:1},shopping_bags:{id:"shopping_bags",name:"Shopping Bags",keywords:["mall","buy","purchase"],skins:[{unified:"1f6cd-fe0f",native:"🛍️"}],version:1},school_satchel:{id:"school_satchel",name:"Backpack",keywords:["school","satchel","student","education","bag"],skins:[{unified:"1f392",native:"🎒"}],version:1},thong_sandal:{id:"thong_sandal",name:"Thong Sandal",keywords:["footwear","summer"],skins:[{unified:"1fa74",native:"🩴"}],version:13},mans_shoe:{id:"mans_shoe",name:"Mans Shoe",keywords:["man","s","fashion","male"],skins:[{unified:"1f45e",native:"👞"}],version:1},athletic_shoe:{id:"athletic_shoe",name:"Running Shoe",keywords:["athletic","shoes","sports","sneakers"],skins:[{unified:"1f45f",native:"👟"}],version:1},hiking_boot:{id:"hiking_boot",name:"Hiking Boot",keywords:["backpacking","camping"],skins:[{unified:"1f97e",native:"🥾"}],version:11},womans_flat_shoe:{id:"womans_flat_shoe",name:"Flat Shoe",keywords:["womans","ballet","slip","on","slipper"],skins:[{unified:"1f97f",native:"🥿"}],version:11},high_heel:{id:"high_heel",name:"High-Heeled Shoe",keywords:["high","heel","heeled","fashion","shoes","female","pumps","stiletto"],skins:[{unified:"1f460",native:"👠"}],version:1},sandal:{id:"sandal",name:"Womans Sandal",keywords:["woman","s","shoes","fashion","flip","flops"],skins:[{unified:"1f461",native:"👡"}],version:1},ballet_shoes:{id:"ballet_shoes",name:"Ballet Shoes",keywords:["dance"],skins:[{unified:"1fa70",native:"🩰"}],version:12},boot:{id:"boot",name:"Womans Boots",keywords:["boot","woman","s","shoes","fashion"],skins:[{unified:"1f462",native:"👢"}],version:1},hair_pick:{id:"hair_pick",name:"Hair Pick",keywords:["afro","comb"],skins:[{unified:"1faae",native:"🪮"}],version:15},crown:{id:"crown",name:"Crown",keywords:["king","kod","leader","royalty","lord"],skins:[{unified:"1f451",native:"👑"}],version:1},womans_hat:{id:"womans_hat",name:"Womans Hat",keywords:["woman","s","fashion","accessories","female","lady","spring"],skins:[{unified:"1f452",native:"👒"}],version:1},tophat:{id:"tophat",name:"Top Hat",keywords:["tophat","magic","gentleman","classy","circus"],skins:[{unified:"1f3a9",native:"🎩"}],version:1},mortar_board:{id:"mortar_board",name:"Graduation Cap",keywords:["mortar","board","school","college","degree","university","hat","legal","learn","education"],skins:[{unified:"1f393",native:"🎓"}],version:1},billed_cap:{id:"billed_cap",name:"Billed Cap",keywords:["baseball"],skins:[{unified:"1f9e2",native:"🧢"}],version:5},military_helmet:{id:"military_helmet",name:"Military Helmet",keywords:["army","protection"],skins:[{unified:"1fa96",native:"🪖"}],version:13},helmet_with_white_cross:{id:"helmet_with_white_cross",name:"Rescue Worker’s Helmet",keywords:["with","white","cross","worker","s","construction","build"],skins:[{unified:"26d1-fe0f",native:"⛑️"}],version:1},prayer_beads:{id:"prayer_beads",name:"Prayer Beads",keywords:["dhikr","religious"],skins:[{unified:"1f4ff",native:"📿"}],version:1},lipstick:{id:"lipstick",name:"Lipstick",keywords:["female","girl","fashion","woman"],skins:[{unified:"1f484",native:"💄"}],version:1},ring:{id:"ring",name:"Ring",keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],skins:[{unified:"1f48d",native:"💍"}],version:1},gem:{id:"gem",name:"Gem Stone",keywords:["blue","ruby","diamond","jewelry"],skins:[{unified:"1f48e",native:"💎"}],version:1},mute:{id:"mute",name:"Muted Speaker",keywords:["mute","sound","volume","silence","quiet"],skins:[{unified:"1f507",native:"🔇"}],version:1},speaker:{id:"speaker",name:"Speaker",keywords:["low","volume","sound","silence","broadcast"],skins:[{unified:"1f508",native:"🔈"}],version:1},sound:{id:"sound",name:"Speaker Medium Volume",keywords:["sound","broadcast"],skins:[{unified:"1f509",native:"🔉"}],version:1},loud_sound:{id:"loud_sound",name:"Speaker High Volume",keywords:["loud","sound","noise","noisy","broadcast"],skins:[{unified:"1f50a",native:"🔊"}],version:1},loudspeaker:{id:"loudspeaker",name:"Loudspeaker",keywords:["volume","sound"],skins:[{unified:"1f4e2",native:"📢"}],version:1},mega:{id:"mega",name:"Megaphone",keywords:["mega","sound","speaker","volume"],skins:[{unified:"1f4e3",native:"📣"}],version:1},postal_horn:{id:"postal_horn",name:"Postal Horn",keywords:["instrument","music"],skins:[{unified:"1f4ef",native:"📯"}],version:1},bell:{id:"bell",name:"Bell",keywords:["sound","notification","christmas","xmas","chime"],skins:[{unified:"1f514",native:"🔔"}],version:1},no_bell:{id:"no_bell",name:"Bell with Slash",keywords:["no","sound","volume","mute","quiet","silent"],skins:[{unified:"1f515",native:"🔕"}],version:1},musical_score:{id:"musical_score",name:"Musical Score",keywords:["treble","clef","compose"],skins:[{unified:"1f3bc",native:"🎼"}],version:1},musical_note:{id:"musical_note",name:"Musical Note",keywords:["score","tone","sound"],skins:[{unified:"1f3b5",native:"🎵"}],version:1},notes:{id:"notes",name:"Musical Notes",keywords:["music","score"],skins:[{unified:"1f3b6",native:"🎶"}],version:1},studio_microphone:{id:"studio_microphone",name:"Studio Microphone",keywords:["sing","recording","artist","talkshow"],skins:[{unified:"1f399-fe0f",native:"🎙️"}],version:1},level_slider:{id:"level_slider",name:"Level Slider",keywords:["scale"],skins:[{unified:"1f39a-fe0f",native:"🎚️"}],version:1},control_knobs:{id:"control_knobs",name:"Control Knobs",keywords:["dial"],skins:[{unified:"1f39b-fe0f",native:"🎛️"}],version:1},microphone:{id:"microphone",name:"Microphone",keywords:["sound","music","PA","sing","talkshow"],skins:[{unified:"1f3a4",native:"🎤"}],version:1},headphones:{id:"headphones",name:"Headphone",keywords:["headphones","music","score","gadgets"],skins:[{unified:"1f3a7",native:"🎧"}],version:1},radio:{id:"radio",name:"Radio",keywords:["communication","music","podcast","program"],skins:[{unified:"1f4fb",native:"📻"}],version:1},saxophone:{id:"saxophone",name:"Saxophone",keywords:["music","instrument","jazz","blues"],skins:[{unified:"1f3b7",native:"🎷"}],version:1},accordion:{id:"accordion",name:"Accordion",keywords:["music"],skins:[{unified:"1fa97",native:"🪗"}],version:13},guitar:{id:"guitar",name:"Guitar",keywords:["music","instrument"],skins:[{unified:"1f3b8",native:"🎸"}],version:1},musical_keyboard:{id:"musical_keyboard",name:"Musical Keyboard",keywords:["piano","instrument","compose"],skins:[{unified:"1f3b9",native:"🎹"}],version:1},trumpet:{id:"trumpet",name:"Trumpet",keywords:["music","brass"],skins:[{unified:"1f3ba",native:"🎺"}],version:1},violin:{id:"violin",name:"Violin",keywords:["music","instrument","orchestra","symphony"],skins:[{unified:"1f3bb",native:"🎻"}],version:1},banjo:{id:"banjo",name:"Banjo",keywords:["music","instructment"],skins:[{unified:"1fa95",native:"🪕"}],version:12},drum_with_drumsticks:{id:"drum_with_drumsticks",name:"Drum",keywords:["with","drumsticks","music","instrument","snare"],skins:[{unified:"1f941",native:"🥁"}],version:3},long_drum:{id:"long_drum",name:"Long Drum",keywords:["music"],skins:[{unified:"1fa98",native:"🪘"}],version:13},maracas:{id:"maracas",name:"Maracas",keywords:["music","instrument","percussion"],skins:[{unified:"1fa87",native:"🪇"}],version:15},flute:{id:"flute",name:"Flute",keywords:["bamboo","music","instrument","pied","piper"],skins:[{unified:"1fa88",native:"🪈"}],version:15},iphone:{id:"iphone",name:"Mobile Phone",keywords:["iphone","technology","apple","gadgets","dial"],skins:[{unified:"1f4f1",native:"📱"}],version:1},calling:{id:"calling",name:"Mobile Phone with Arrow",keywords:["calling","iphone","incoming"],skins:[{unified:"1f4f2",native:"📲"}],version:1},phone:{id:"phone",name:"Telephone",keywords:["phone","technology","communication","dial"],skins:[{unified:"260e-fe0f",native:"☎️"}],version:1},telephone_receiver:{id:"telephone_receiver",name:"Telephone Receiver",keywords:["technology","communication","dial"],skins:[{unified:"1f4de",native:"📞"}],version:1},pager:{id:"pager",name:"Pager",keywords:["bbcall","oldschool","90s"],skins:[{unified:"1f4df",native:"📟"}],version:1},fax:{id:"fax",name:"Fax Machine",keywords:["communication","technology"],skins:[{unified:"1f4e0",native:"📠"}],version:1},battery:{id:"battery",name:"Battery",keywords:["power","energy","sustain"],skins:[{unified:"1f50b",native:"🔋"}],version:1},low_battery:{id:"low_battery",name:"Low Battery",keywords:["drained","dead"],skins:[{unified:"1faab",native:"🪫"}],version:14},electric_plug:{id:"electric_plug",name:"Electric Plug",keywords:["charger","power"],skins:[{unified:"1f50c",native:"🔌"}],version:1},computer:{id:"computer",name:"Laptop",keywords:["computer","technology","screen","display","monitor"],skins:[{unified:"1f4bb",native:"💻"}],version:1},desktop_computer:{id:"desktop_computer",name:"Desktop Computer",keywords:["technology","computing","screen"],skins:[{unified:"1f5a5-fe0f",native:"🖥️"}],version:1},printer:{id:"printer",name:"Printer",keywords:["paper","ink"],skins:[{unified:"1f5a8-fe0f",native:"🖨️"}],version:1},keyboard:{id:"keyboard",name:"Keyboard",keywords:["technology","computer","type","input","text"],skins:[{unified:"2328-fe0f",native:"⌨️"}],version:1},three_button_mouse:{id:"three_button_mouse",name:"Computer Mouse",keywords:["three","button","click"],skins:[{unified:"1f5b1-fe0f",native:"🖱️"}],version:1},trackball:{id:"trackball",name:"Trackball",keywords:["technology","trackpad"],skins:[{unified:"1f5b2-fe0f",native:"🖲️"}],version:1},minidisc:{id:"minidisc",name:"Minidisc",keywords:["computer","disk","technology","record","data","90s"],skins:[{unified:"1f4bd",native:"💽"}],version:1},floppy_disk:{id:"floppy_disk",name:"Floppy Disk",keywords:["oldschool","technology","save","90s","80s"],skins:[{unified:"1f4be",native:"💾"}],version:1},cd:{id:"cd",name:"Optical Disc",keywords:["cd","disk","technology","dvd","90s"],skins:[{unified:"1f4bf",native:"💿"}],version:1},dvd:{id:"dvd",name:"Dvd",keywords:["cd","disk","disc"],skins:[{unified:"1f4c0",native:"📀"}],version:1},abacus:{id:"abacus",name:"Abacus",keywords:["calculation"],skins:[{unified:"1f9ee",native:"🧮"}],version:11},movie_camera:{id:"movie_camera",name:"Movie Camera",keywords:["film","record"],skins:[{unified:"1f3a5",native:"🎥"}],version:1},film_frames:{id:"film_frames",name:"Film Frames",keywords:["movie"],skins:[{unified:"1f39e-fe0f",native:"🎞️"}],version:1},film_projector:{id:"film_projector",name:"Film Projector",keywords:["video","tape","record","movie"],skins:[{unified:"1f4fd-fe0f",native:"📽️"}],version:1},clapper:{id:"clapper",name:"Clapper Board",keywords:["movie","film","record"],skins:[{unified:"1f3ac",native:"🎬"}],version:1},tv:{id:"tv",name:"Television",keywords:["tv","technology","program","oldschool","show"],skins:[{unified:"1f4fa",native:"📺"}],version:1},camera:{id:"camera",name:"Camera",keywords:["gadgets","photography"],skins:[{unified:"1f4f7",native:"📷"}],version:1},camera_with_flash:{id:"camera_with_flash",name:"Camera with Flash",keywords:["photography","gadgets"],skins:[{unified:"1f4f8",native:"📸"}],version:1},video_camera:{id:"video_camera",name:"Video Camera",keywords:["film","record"],skins:[{unified:"1f4f9",native:"📹"}],version:1},vhs:{id:"vhs",name:"Videocassette",keywords:["vhs","record","video","oldschool","90s","80s"],skins:[{unified:"1f4fc",native:"📼"}],version:1},mag:{id:"mag",name:"Magnifying Glass Tilted Left",keywords:["mag","search","zoom","find","detective"],skins:[{unified:"1f50d",native:"🔍"}],version:1},mag_right:{id:"mag_right",name:"Magnifying Glass Tilted Right",keywords:["mag","search","zoom","find","detective"],skins:[{unified:"1f50e",native:"🔎"}],version:1},candle:{id:"candle",name:"Candle",keywords:["fire","wax"],skins:[{unified:"1f56f-fe0f",native:"🕯️"}],version:1},bulb:{id:"bulb",name:"Light Bulb",keywords:["electricity","idea"],skins:[{unified:"1f4a1",native:"💡"}],version:1},flashlight:{id:"flashlight",name:"Flashlight",keywords:["dark","camping","sight","night"],skins:[{unified:"1f526",native:"🔦"}],version:1},izakaya_lantern:{id:"izakaya_lantern",name:"Izakaya Lantern",keywords:["red","paper","light","halloween","spooky"],skins:[{unified:"1f3ee",native:"🏮"}],version:1},diya_lamp:{id:"diya_lamp",name:"Diya Lamp",keywords:["lighting"],skins:[{unified:"1fa94",native:"🪔"}],version:12},notebook_with_decorative_cover:{id:"notebook_with_decorative_cover",name:"Notebook with Decorative Cover",keywords:["classroom","notes","record","paper","study"],skins:[{unified:"1f4d4",native:"📔"}],version:1},closed_book:{id:"closed_book",name:"Closed Book",keywords:["read","library","knowledge","textbook","learn"],skins:[{unified:"1f4d5",native:"📕"}],version:1},book:{id:"book",name:"Open Book",keywords:["read","library","knowledge","literature","learn","study"],skins:[{unified:"1f4d6",native:"📖"}],version:1},green_book:{id:"green_book",name:"Green Book",keywords:["read","library","knowledge","study"],skins:[{unified:"1f4d7",native:"📗"}],version:1},blue_book:{id:"blue_book",name:"Blue Book",keywords:["read","library","knowledge","learn","study"],skins:[{unified:"1f4d8",native:"📘"}],version:1},orange_book:{id:"orange_book",name:"Orange Book",keywords:["read","library","knowledge","textbook","study"],skins:[{unified:"1f4d9",native:"📙"}],version:1},books:{id:"books",name:"Books",keywords:["literature","library","study"],skins:[{unified:"1f4da",native:"📚"}],version:1},notebook:{id:"notebook",name:"Notebook",keywords:["stationery","record","notes","paper","study"],skins:[{unified:"1f4d3",native:"📓"}],version:1},ledger:{id:"ledger",name:"Ledger",keywords:["notes","paper"],skins:[{unified:"1f4d2",native:"📒"}],version:1},page_with_curl:{id:"page_with_curl",name:"Page with Curl",keywords:["documents","office","paper"],skins:[{unified:"1f4c3",native:"📃"}],version:1},scroll:{id:"scroll",name:"Scroll",keywords:["documents","ancient","history","paper"],skins:[{unified:"1f4dc",native:"📜"}],version:1},page_facing_up:{id:"page_facing_up",name:"Page Facing Up",keywords:["documents","office","paper","information"],skins:[{unified:"1f4c4",native:"📄"}],version:1},newspaper:{id:"newspaper",name:"Newspaper",keywords:["press","headline"],skins:[{unified:"1f4f0",native:"📰"}],version:1},rolled_up_newspaper:{id:"rolled_up_newspaper",name:"Rolled-Up Newspaper",keywords:["rolled","up","press","headline"],skins:[{unified:"1f5de-fe0f",native:"🗞️"}],version:1},bookmark_tabs:{id:"bookmark_tabs",name:"Bookmark Tabs",keywords:["favorite","save","order","tidy"],skins:[{unified:"1f4d1",native:"📑"}],version:1},bookmark:{id:"bookmark",name:"Bookmark",keywords:["favorite","label","save"],skins:[{unified:"1f516",native:"🔖"}],version:1},label:{id:"label",name:"Label",keywords:["sale","tag"],skins:[{unified:"1f3f7-fe0f",native:"🏷️"}],version:1},moneybag:{id:"moneybag",name:"Money Bag",keywords:["moneybag","dollar","payment","coins","sale"],skins:[{unified:"1f4b0",native:"💰"}],version:1},coin:{id:"coin",name:"Coin",keywords:["money","currency"],skins:[{unified:"1fa99",native:"🪙"}],version:13},yen:{id:"yen",name:"Yen Banknote",keywords:["money","sales","japanese","dollar","currency"],skins:[{unified:"1f4b4",native:"💴"}],version:1},dollar:{id:"dollar",name:"Dollar Banknote",keywords:["money","sales","bill","currency"],skins:[{unified:"1f4b5",native:"💵"}],version:1},euro:{id:"euro",name:"Euro Banknote",keywords:["money","sales","dollar","currency"],skins:[{unified:"1f4b6",native:"💶"}],version:1},pound:{id:"pound",name:"Pound Banknote",keywords:["british","sterling","money","sales","bills","uk","england","currency"],skins:[{unified:"1f4b7",native:"💷"}],version:1},money_with_wings:{id:"money_with_wings",name:"Money with Wings",keywords:["dollar","bills","payment","sale"],skins:[{unified:"1f4b8",native:"💸"}],version:1},credit_card:{id:"credit_card",name:"Credit Card",keywords:["money","sales","dollar","bill","payment","shopping"],skins:[{unified:"1f4b3",native:"💳"}],version:1},receipt:{id:"receipt",name:"Receipt",keywords:["accounting","expenses"],skins:[{unified:"1f9fe",native:"🧾"}],version:11},chart:{id:"chart",name:"Chart Increasing with Yen",keywords:["green","square","graph","presentation","stats"],skins:[{unified:"1f4b9",native:"💹"}],version:1},email:{id:"email",name:"Envelope",keywords:["email","letter","postal","inbox","communication"],skins:[{unified:"2709-fe0f",native:"✉️"}],version:1},"e-mail":{id:"e-mail",name:"E-Mail",keywords:["e","mail","communication","inbox"],skins:[{unified:"1f4e7",native:"📧"}],version:1},incoming_envelope:{id:"incoming_envelope",name:"Incoming Envelope",keywords:["email","inbox"],skins:[{unified:"1f4e8",native:"📨"}],version:1},envelope_with_arrow:{id:"envelope_with_arrow",name:"Envelope with Arrow",keywords:["email","communication"],skins:[{unified:"1f4e9",native:"📩"}],version:1},outbox_tray:{id:"outbox_tray",name:"Outbox Tray",keywords:["inbox","email"],skins:[{unified:"1f4e4",native:"📤"}],version:1},inbox_tray:{id:"inbox_tray",name:"Inbox Tray",keywords:["email","documents"],skins:[{unified:"1f4e5",native:"📥"}],version:1},package:{id:"package",name:"Package",keywords:["mail","gift","cardboard","box","moving"],skins:[{unified:"1f4e6",native:"📦"}],version:1},mailbox:{id:"mailbox",name:"Closed Mailbox with Raised Flag",keywords:["email","inbox","communication"],skins:[{unified:"1f4eb",native:"📫"}],version:1},mailbox_closed:{id:"mailbox_closed",name:"Closed Mailbox with Lowered Flag",keywords:["email","communication","inbox"],skins:[{unified:"1f4ea",native:"📪"}],version:1},mailbox_with_mail:{id:"mailbox_with_mail",name:"Open Mailbox with Raised Flag",keywords:["mail","email","inbox","communication"],skins:[{unified:"1f4ec",native:"📬"}],version:1},mailbox_with_no_mail:{id:"mailbox_with_no_mail",name:"Open Mailbox with Lowered Flag",keywords:["no","mail","email","inbox"],skins:[{unified:"1f4ed",native:"📭"}],version:1},postbox:{id:"postbox",name:"Postbox",keywords:["email","letter","envelope"],skins:[{unified:"1f4ee",native:"📮"}],version:1},ballot_box_with_ballot:{id:"ballot_box_with_ballot",name:"Ballot Box with Ballot",keywords:["election","vote"],skins:[{unified:"1f5f3-fe0f",native:"🗳️"}],version:1},pencil2:{id:"pencil2",name:"Pencil",keywords:["pencil2","stationery","write","paper","writing","school","study"],skins:[{unified:"270f-fe0f",native:"✏️"}],version:1},black_nib:{id:"black_nib",name:"Black Nib",keywords:["pen","stationery","writing","write"],skins:[{unified:"2712-fe0f",native:"✒️"}],version:1},lower_left_fountain_pen:{id:"lower_left_fountain_pen",name:"Fountain Pen",keywords:["lower","left","stationery","writing","write"],skins:[{unified:"1f58b-fe0f",native:"🖋️"}],version:1},lower_left_ballpoint_pen:{id:"lower_left_ballpoint_pen",name:"Pen",keywords:["lower","left","ballpoint","stationery","writing","write"],skins:[{unified:"1f58a-fe0f",native:"🖊️"}],version:1},lower_left_paintbrush:{id:"lower_left_paintbrush",name:"Paintbrush",keywords:["lower","left","drawing","creativity","art"],skins:[{unified:"1f58c-fe0f",native:"🖌️"}],version:1},lower_left_crayon:{id:"lower_left_crayon",name:"Crayon",keywords:["lower","left","drawing","creativity"],skins:[{unified:"1f58d-fe0f",native:"🖍️"}],version:1},memo:{id:"memo",name:"Memo",keywords:["pencil","write","documents","stationery","paper","writing","legal","exam","quiz","test","study","compose"],skins:[{unified:"1f4dd",native:"📝"}],version:1},briefcase:{id:"briefcase",name:"Briefcase",keywords:["business","documents","work","law","legal","job","career"],skins:[{unified:"1f4bc",native:"💼"}],version:1},file_folder:{id:"file_folder",name:"File Folder",keywords:["documents","business","office"],skins:[{unified:"1f4c1",native:"📁"}],version:1},open_file_folder:{id:"open_file_folder",name:"Open File Folder",keywords:["documents","load"],skins:[{unified:"1f4c2",native:"📂"}],version:1},card_index_dividers:{id:"card_index_dividers",name:"Card Index Dividers",keywords:["organizing","business","stationery"],skins:[{unified:"1f5c2-fe0f",native:"🗂️"}],version:1},date:{id:"date",name:"Calendar",keywords:["date","schedule"],skins:[{unified:"1f4c5",native:"📅"}],version:1},calendar:{id:"calendar",name:"Tear-off Calendar",keywords:["tear","off","schedule","date","planning"],skins:[{unified:"1f4c6",native:"📆"}],version:1},spiral_note_pad:{id:"spiral_note_pad",name:"Spiral Notepad",keywords:["note","pad","memo","stationery"],skins:[{unified:"1f5d2-fe0f",native:"🗒️"}],version:1},spiral_calendar_pad:{id:"spiral_calendar_pad",name:"Spiral Calendar",keywords:["pad","date","schedule","planning"],skins:[{unified:"1f5d3-fe0f",native:"🗓️"}],version:1},card_index:{id:"card_index",name:"Card Index",keywords:["business","stationery"],skins:[{unified:"1f4c7",native:"📇"}],version:1},chart_with_upwards_trend:{id:"chart_with_upwards_trend",name:"Chart Increasing",keywords:["with","upwards","trend","graph","presentation","stats","recovery","business","economics","money","sales","good","success"],skins:[{unified:"1f4c8",native:"📈"}],version:1},chart_with_downwards_trend:{id:"chart_with_downwards_trend",name:"Chart Decreasing",keywords:["with","downwards","trend","graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],skins:[{unified:"1f4c9",native:"📉"}],version:1},bar_chart:{id:"bar_chart",name:"Bar Chart",keywords:["graph","presentation","stats"],skins:[{unified:"1f4ca",native:"📊"}],version:1},clipboard:{id:"clipboard",name:"Clipboard",keywords:["stationery","documents"],skins:[{unified:"1f4cb",native:"📋"}],version:1},pushpin:{id:"pushpin",name:"Pushpin",keywords:["stationery","mark","here"],skins:[{unified:"1f4cc",native:"📌"}],version:1},round_pushpin:{id:"round_pushpin",name:"Round Pushpin",keywords:["stationery","location","map","here"],skins:[{unified:"1f4cd",native:"📍"}],version:1},paperclip:{id:"paperclip",name:"Paperclip",keywords:["documents","stationery"],skins:[{unified:"1f4ce",native:"📎"}],version:1},linked_paperclips:{id:"linked_paperclips",name:"Linked Paperclips",keywords:["documents","stationery"],skins:[{unified:"1f587-fe0f",native:"🖇️"}],version:1},straight_ruler:{id:"straight_ruler",name:"Straight Ruler",keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],skins:[{unified:"1f4cf",native:"📏"}],version:1},triangular_ruler:{id:"triangular_ruler",name:"Triangular Ruler",keywords:["stationery","math","architect","sketch"],skins:[{unified:"1f4d0",native:"📐"}],version:1},scissors:{id:"scissors",name:"Scissors",keywords:["stationery","cut"],skins:[{unified:"2702-fe0f",native:"✂️"}],version:1},card_file_box:{id:"card_file_box",name:"Card File Box",keywords:["business","stationery"],skins:[{unified:"1f5c3-fe0f",native:"🗃️"}],version:1},file_cabinet:{id:"file_cabinet",name:"File Cabinet",keywords:["filing","organizing"],skins:[{unified:"1f5c4-fe0f",native:"🗄️"}],version:1},wastebasket:{id:"wastebasket",name:"Wastebasket",keywords:["bin","trash","rubbish","garbage","toss"],skins:[{unified:"1f5d1-fe0f",native:"🗑️"}],version:1},lock:{id:"lock",name:"Lock",keywords:["locked","security","password","padlock"],skins:[{unified:"1f512",native:"🔒"}],version:1},unlock:{id:"unlock",name:"Unlocked",keywords:["unlock","privacy","security"],skins:[{unified:"1f513",native:"🔓"}],version:1},lock_with_ink_pen:{id:"lock_with_ink_pen",name:"Locked with Pen",keywords:["lock","ink","security","secret"],skins:[{unified:"1f50f",native:"🔏"}],version:1},closed_lock_with_key:{id:"closed_lock_with_key",name:"Locked with Key",keywords:["closed","lock","security","privacy"],skins:[{unified:"1f510",native:"🔐"}],version:1},key:{id:"key",name:"Key",keywords:["lock","door","password"],skins:[{unified:"1f511",native:"🔑"}],version:1},old_key:{id:"old_key",name:"Old Key",keywords:["lock","door","password"],skins:[{unified:"1f5dd-fe0f",native:"🗝️"}],version:1},hammer:{id:"hammer",name:"Hammer",keywords:["tools","build","create"],skins:[{unified:"1f528",native:"🔨"}],version:1},axe:{id:"axe",name:"Axe",keywords:["tool","chop","cut"],skins:[{unified:"1fa93",native:"🪓"}],version:12},pick:{id:"pick",name:"Pick",keywords:["tools","dig"],skins:[{unified:"26cf-fe0f",native:"⛏️"}],version:1},hammer_and_pick:{id:"hammer_and_pick",name:"Hammer and Pick",keywords:["tools","build","create"],skins:[{unified:"2692-fe0f",native:"⚒️"}],version:1},hammer_and_wrench:{id:"hammer_and_wrench",name:"Hammer and Wrench",keywords:["tools","build","create"],skins:[{unified:"1f6e0-fe0f",native:"🛠️"}],version:1},dagger_knife:{id:"dagger_knife",name:"Dagger",keywords:["knife","weapon"],skins:[{unified:"1f5e1-fe0f",native:"🗡️"}],version:1},crossed_swords:{id:"crossed_swords",name:"Crossed Swords",keywords:["weapon"],skins:[{unified:"2694-fe0f",native:"⚔️"}],version:1},bomb:{id:"bomb",name:"Bomb",keywords:["boom","explode","explosion","terrorism"],skins:[{unified:"1f4a3",native:"💣"}],version:1},boomerang:{id:"boomerang",name:"Boomerang",keywords:["weapon"],skins:[{unified:"1fa83",native:"🪃"}],version:13},bow_and_arrow:{id:"bow_and_arrow",name:"Bow and Arrow",keywords:["sports"],skins:[{unified:"1f3f9",native:"🏹"}],version:1},shield:{id:"shield",name:"Shield",keywords:["protection","security"],skins:[{unified:"1f6e1-fe0f",native:"🛡️"}],version:1},carpentry_saw:{id:"carpentry_saw",name:"Carpentry Saw",keywords:["cut","chop"],skins:[{unified:"1fa9a",native:"🪚"}],version:13},wrench:{id:"wrench",name:"Wrench",keywords:["tools","diy","ikea","fix","maintainer"],skins:[{unified:"1f527",native:"🔧"}],version:1},screwdriver:{id:"screwdriver",name:"Screwdriver",keywords:["tools"],skins:[{unified:"1fa9b",native:"🪛"}],version:13},nut_and_bolt:{id:"nut_and_bolt",name:"Nut and Bolt",keywords:["handy","tools","fix"],skins:[{unified:"1f529",native:"🔩"}],version:1},gear:{id:"gear",name:"Gear",keywords:["cog"],skins:[{unified:"2699-fe0f",native:"⚙️"}],version:1},compression:{id:"compression",name:"Clamp",keywords:["compression","tool"],skins:[{unified:"1f5dc-fe0f",native:"🗜️"}],version:1},scales:{id:"scales",name:"Balance Scale",keywords:["scales","law","fairness","weight"],skins:[{unified:"2696-fe0f",native:"⚖️"}],version:1},probing_cane:{id:"probing_cane",name:"White Cane",keywords:["probing","accessibility"],skins:[{unified:"1f9af",native:"🦯"}],version:12},link:{id:"link",name:"Link",keywords:["rings","url"],skins:[{unified:"1f517",native:"🔗"}],version:1},chains:{id:"chains",name:"Chains",keywords:["lock","arrest"],skins:[{unified:"26d3-fe0f",native:"⛓️"}],version:1},hook:{id:"hook",name:"Hook",keywords:["tools"],skins:[{unified:"1fa9d",native:"🪝"}],version:13},toolbox:{id:"toolbox",name:"Toolbox",keywords:["tools","diy","fix","maintainer","mechanic"],skins:[{unified:"1f9f0",native:"🧰"}],version:11},magnet:{id:"magnet",name:"Magnet",keywords:["attraction","magnetic"],skins:[{unified:"1f9f2",native:"🧲"}],version:11},ladder:{id:"ladder",name:"Ladder",keywords:["tools"],skins:[{unified:"1fa9c",native:"🪜"}],version:13},alembic:{id:"alembic",name:"Alembic",keywords:["distilling","science","experiment","chemistry"],skins:[{unified:"2697-fe0f",native:"⚗️"}],version:1},test_tube:{id:"test_tube",name:"Test Tube",keywords:["chemistry","experiment","lab","science"],skins:[{unified:"1f9ea",native:"🧪"}],version:11},petri_dish:{id:"petri_dish",name:"Petri Dish",keywords:["bacteria","biology","culture","lab"],skins:[{unified:"1f9eb",native:"🧫"}],version:11},dna:{id:"dna",name:"Dna",keywords:["biologist","genetics","life"],skins:[{unified:"1f9ec",native:"🧬"}],version:11},microscope:{id:"microscope",name:"Microscope",keywords:["laboratory","experiment","zoomin","science","study"],skins:[{unified:"1f52c",native:"🔬"}],version:1},telescope:{id:"telescope",name:"Telescope",keywords:["stars","space","zoom","science","astronomy"],skins:[{unified:"1f52d",native:"🔭"}],version:1},satellite_antenna:{id:"satellite_antenna",name:"Satellite Antenna",keywords:["communication","future","radio","space"],skins:[{unified:"1f4e1",native:"📡"}],version:1},syringe:{id:"syringe",name:"Syringe",keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],skins:[{unified:"1f489",native:"💉"}],version:1},drop_of_blood:{id:"drop_of_blood",name:"Drop of Blood",keywords:["period","hurt","harm","wound"],skins:[{unified:"1fa78",native:"🩸"}],version:12},pill:{id:"pill",name:"Pill",keywords:["health","medicine","doctor","pharmacy","drug"],skins:[{unified:"1f48a",native:"💊"}],version:1},adhesive_bandage:{id:"adhesive_bandage",name:"Adhesive Bandage",keywords:["heal"],skins:[{unified:"1fa79",native:"🩹"}],version:12},crutch:{id:"crutch",name:"Crutch",keywords:["accessibility","assist"],skins:[{unified:"1fa7c",native:"🩼"}],version:14},stethoscope:{id:"stethoscope",name:"Stethoscope",keywords:["health"],skins:[{unified:"1fa7a",native:"🩺"}],version:12},"x-ray":{id:"x-ray",name:"X-Ray",keywords:["x","ray","skeleton","medicine"],skins:[{unified:"1fa7b",native:"🩻"}],version:14},door:{id:"door",name:"Door",keywords:["house","entry","exit"],skins:[{unified:"1f6aa",native:"🚪"}],version:1},elevator:{id:"elevator",name:"Elevator",keywords:["lift"],skins:[{unified:"1f6d7",native:"🛗"}],version:13},mirror:{id:"mirror",name:"Mirror",keywords:["reflection"],skins:[{unified:"1fa9e",native:"🪞"}],version:13},window:{id:"window",name:"Window",keywords:["scenery"],skins:[{unified:"1fa9f",native:"🪟"}],version:13},bed:{id:"bed",name:"Bed",keywords:["sleep","rest"],skins:[{unified:"1f6cf-fe0f",native:"🛏️"}],version:1},couch_and_lamp:{id:"couch_and_lamp",name:"Couch and Lamp",keywords:["read","chill"],skins:[{unified:"1f6cb-fe0f",native:"🛋️"}],version:1},chair:{id:"chair",name:"Chair",keywords:["sit","furniture"],skins:[{unified:"1fa91",native:"🪑"}],version:12},toilet:{id:"toilet",name:"Toilet",keywords:["restroom","wc","washroom","bathroom","potty"],skins:[{unified:"1f6bd",native:"🚽"}],version:1},plunger:{id:"plunger",name:"Plunger",keywords:["toilet"],skins:[{unified:"1faa0",native:"🪠"}],version:13},shower:{id:"shower",name:"Shower",keywords:["clean","water","bathroom"],skins:[{unified:"1f6bf",native:"🚿"}],version:1},bathtub:{id:"bathtub",name:"Bathtub",keywords:["clean","shower","bathroom"],skins:[{unified:"1f6c1",native:"🛁"}],version:1},mouse_trap:{id:"mouse_trap",name:"Mouse Trap",keywords:["cheese"],skins:[{unified:"1faa4",native:"🪤"}],version:13},razor:{id:"razor",name:"Razor",keywords:["cut"],skins:[{unified:"1fa92",native:"🪒"}],version:12},lotion_bottle:{id:"lotion_bottle",name:"Lotion Bottle",keywords:["moisturizer","sunscreen"],skins:[{unified:"1f9f4",native:"🧴"}],version:11},safety_pin:{id:"safety_pin",name:"Safety Pin",keywords:["diaper"],skins:[{unified:"1f9f7",native:"🧷"}],version:11},broom:{id:"broom",name:"Broom",keywords:["cleaning","sweeping","witch"],skins:[{unified:"1f9f9",native:"🧹"}],version:11},basket:{id:"basket",name:"Basket",keywords:["laundry"],skins:[{unified:"1f9fa",native:"🧺"}],version:11},roll_of_paper:{id:"roll_of_paper",name:"Roll of Paper",keywords:[],skins:[{unified:"1f9fb",native:"🧻"}],version:11},bucket:{id:"bucket",name:"Bucket",keywords:["water","container"],skins:[{unified:"1faa3",native:"🪣"}],version:13},soap:{id:"soap",name:"Soap",keywords:["bar","bathing","cleaning","lather"],skins:[{unified:"1f9fc",native:"🧼"}],version:11},bubbles:{id:"bubbles",name:"Bubbles",keywords:["soap","fun","carbonation","sparkling"],skins:[{unified:"1fae7",native:"🫧"}],version:14},toothbrush:{id:"toothbrush",name:"Toothbrush",keywords:["hygiene","dental"],skins:[{unified:"1faa5",native:"🪥"}],version:13},sponge:{id:"sponge",name:"Sponge",keywords:["absorbing","cleaning","porous"],skins:[{unified:"1f9fd",native:"🧽"}],version:11},fire_extinguisher:{id:"fire_extinguisher",name:"Fire Extinguisher",keywords:["quench"],skins:[{unified:"1f9ef",native:"🧯"}],version:11},shopping_trolley:{id:"shopping_trolley",name:"Shopping Cart",keywords:["trolley"],skins:[{unified:"1f6d2",native:"🛒"}],version:3},smoking:{id:"smoking",name:"Cigarette",keywords:["smoking","kills","tobacco","joint","smoke"],skins:[{unified:"1f6ac",native:"🚬"}],version:1},coffin:{id:"coffin",name:"Coffin",keywords:["vampire","dead","die","death","rip","graveyard","cemetery","casket","funeral","box"],skins:[{unified:"26b0-fe0f",native:"⚰️"}],version:1},headstone:{id:"headstone",name:"Headstone",keywords:["death","rip","grave"],skins:[{unified:"1faa6",native:"🪦"}],version:13},funeral_urn:{id:"funeral_urn",name:"Funeral Urn",keywords:["dead","die","death","rip","ashes"],skins:[{unified:"26b1-fe0f",native:"⚱️"}],version:1},nazar_amulet:{id:"nazar_amulet",name:"Nazar Amulet",keywords:["bead","charm"],skins:[{unified:"1f9ff",native:"🧿"}],version:11},hamsa:{id:"hamsa",name:"Hamsa",keywords:["religion","protection"],skins:[{unified:"1faac",native:"🪬"}],version:14},moyai:{id:"moyai",name:"Moai",keywords:["moyai","rock","easter","island"],skins:[{unified:"1f5ff",native:"🗿"}],version:1},placard:{id:"placard",name:"Placard",keywords:["announcement"],skins:[{unified:"1faa7",native:"🪧"}],version:13},identification_card:{id:"identification_card",name:"Identification Card",keywords:["document"],skins:[{unified:"1faaa",native:"🪪"}],version:14},atm:{id:"atm",name:"Atm Sign",keywords:["money","sales","cash","blue","square","payment","bank"],skins:[{unified:"1f3e7",native:"🏧"}],version:1},put_litter_in_its_place:{id:"put_litter_in_its_place",name:"Litter in Bin Sign",keywords:["put","its","place","blue","square","human","info"],skins:[{unified:"1f6ae",native:"🚮"}],version:1},potable_water:{id:"potable_water",name:"Potable Water",keywords:["blue","square","liquid","restroom","cleaning","faucet"],skins:[{unified:"1f6b0",native:"🚰"}],version:1},wheelchair:{id:"wheelchair",name:"Wheelchair Symbol",keywords:["blue","square","disabled","accessibility"],skins:[{unified:"267f",native:"♿"}],version:1},mens:{id:"mens",name:"Men’s Room",keywords:["mens","men","s","toilet","restroom","wc","blue","square","gender","male"],skins:[{unified:"1f6b9",native:"🚹"}],version:1},womens:{id:"womens",name:"Women’s Room",keywords:["womens","women","s","purple","square","woman","female","toilet","loo","restroom","gender"],skins:[{unified:"1f6ba",native:"🚺"}],version:1},restroom:{id:"restroom",name:"Restroom",keywords:["blue","square","toilet","refresh","wc","gender"],skins:[{unified:"1f6bb",native:"🚻"}],version:1},baby_symbol:{id:"baby_symbol",name:"Baby Symbol",keywords:["orange","square","child"],skins:[{unified:"1f6bc",native:"🚼"}],version:1},wc:{id:"wc",name:"Water Closet",keywords:["wc","toilet","restroom","blue","square"],skins:[{unified:"1f6be",native:"🚾"}],version:1},passport_control:{id:"passport_control",name:"Passport Control",keywords:["custom","blue","square"],skins:[{unified:"1f6c2",native:"🛂"}],version:1},customs:{id:"customs",name:"Customs",keywords:["passport","border","blue","square"],skins:[{unified:"1f6c3",native:"🛃"}],version:1},baggage_claim:{id:"baggage_claim",name:"Baggage Claim",keywords:["blue","square","airport","transport"],skins:[{unified:"1f6c4",native:"🛄"}],version:1},left_luggage:{id:"left_luggage",name:"Left Luggage",keywords:["blue","square","travel"],skins:[{unified:"1f6c5",native:"🛅"}],version:1},warning:{id:"warning",name:"Warning",keywords:["exclamation","wip","alert","error","problem","issue"],skins:[{unified:"26a0-fe0f",native:"⚠️"}],version:1},children_crossing:{id:"children_crossing",name:"Children Crossing",keywords:["school","warning","danger","sign","driving","yellow","diamond"],skins:[{unified:"1f6b8",native:"🚸"}],version:1},no_entry:{id:"no_entry",name:"No Entry",keywords:["limit","security","privacy","bad","denied","stop","circle"],skins:[{unified:"26d4",native:"⛔"}],version:1},no_entry_sign:{id:"no_entry_sign",name:"Prohibited",keywords:["no","entry","sign","forbid","stop","limit","denied","disallow","circle"],skins:[{unified:"1f6ab",native:"🚫"}],version:1},no_bicycles:{id:"no_bicycles",name:"No Bicycles",keywords:["cyclist","prohibited","circle"],skins:[{unified:"1f6b3",native:"🚳"}],version:1},no_smoking:{id:"no_smoking",name:"No Smoking",keywords:["cigarette","blue","square","smell","smoke"],skins:[{unified:"1f6ad",native:"🚭"}],version:1},do_not_litter:{id:"do_not_litter",name:"No Littering",keywords:["do","not","litter","trash","bin","garbage","circle"],skins:[{unified:"1f6af",native:"🚯"}],version:1},"non-potable_water":{id:"non-potable_water",name:"Non-Potable Water",keywords:["non","potable","drink","faucet","tap","circle"],skins:[{unified:"1f6b1",native:"🚱"}],version:1},no_pedestrians:{id:"no_pedestrians",name:"No Pedestrians",keywords:["rules","crossing","walking","circle"],skins:[{unified:"1f6b7",native:"🚷"}],version:1},no_mobile_phones:{id:"no_mobile_phones",name:"No Mobile Phones",keywords:["iphone","mute","circle"],skins:[{unified:"1f4f5",native:"📵"}],version:1},underage:{id:"underage",name:"No One Under Eighteen",keywords:["underage","18","drink","pub","night","minor","circle"],skins:[{unified:"1f51e",native:"🔞"}],version:1},radioactive_sign:{id:"radioactive_sign",name:"Radioactive",keywords:["sign","nuclear","danger"],skins:[{unified:"2622-fe0f",native:"☢️"}],version:1},biohazard_sign:{id:"biohazard_sign",name:"Biohazard",keywords:["sign","danger"],skins:[{unified:"2623-fe0f",native:"☣️"}],version:1},arrow_up:{id:"arrow_up",name:"Up Arrow",keywords:["blue","square","continue","top","direction"],skins:[{unified:"2b06-fe0f",native:"⬆️"}],version:1},arrow_upper_right:{id:"arrow_upper_right",name:"Up-Right Arrow",keywords:["upper","right","up","blue","square","point","direction","diagonal","northeast"],skins:[{unified:"2197-fe0f",native:"↗️"}],version:1},arrow_right:{id:"arrow_right",name:"Right Arrow",keywords:["blue","square","next"],skins:[{unified:"27a1-fe0f",native:"➡️"}],version:1},arrow_lower_right:{id:"arrow_lower_right",name:"South East Arrow",keywords:["lower","right","down","blue","square","direction","diagonal","southeast"],skins:[{unified:"2198-fe0f",native:"↘️"}],version:1},arrow_down:{id:"arrow_down",name:"Down Arrow",keywords:["blue","square","direction","bottom"],skins:[{unified:"2b07-fe0f",native:"⬇️"}],version:1},arrow_lower_left:{id:"arrow_lower_left",name:"Down-Left Arrow",keywords:["lower","left","down","blue","square","direction","diagonal","southwest"],skins:[{unified:"2199-fe0f",native:"↙️"}],version:1},arrow_left:{id:"arrow_left",name:"Left Arrow",keywords:["blue","square","previous","back"],skins:[{unified:"2b05-fe0f",native:"⬅️"}],version:1},arrow_upper_left:{id:"arrow_upper_left",name:"Up-Left Arrow",keywords:["upper","left","up","blue","square","point","direction","diagonal","northwest"],skins:[{unified:"2196-fe0f",native:"↖️"}],version:1},arrow_up_down:{id:"arrow_up_down",name:"Up Down Arrow",keywords:["blue","square","direction","way","vertical"],skins:[{unified:"2195-fe0f",native:"↕️"}],version:1},left_right_arrow:{id:"left_right_arrow",name:"Left Right Arrow",keywords:["shape","direction","horizontal","sideways"],skins:[{unified:"2194-fe0f",native:"↔️"}],version:1},leftwards_arrow_with_hook:{id:"leftwards_arrow_with_hook",name:"Right Arrow Curving Left",keywords:["leftwards","with","hook","back","return","blue","square","undo","enter"],skins:[{unified:"21a9-fe0f",native:"↩️"}],version:1},arrow_right_hook:{id:"arrow_right_hook",name:"Left Arrow Curving Right",keywords:["hook","blue","square","return","rotate","direction"],skins:[{unified:"21aa-fe0f",native:"↪️"}],version:1},arrow_heading_up:{id:"arrow_heading_up",name:"Right Arrow Curving Up",keywords:["heading","blue","square","direction","top"],skins:[{unified:"2934-fe0f",native:"⤴️"}],version:1},arrow_heading_down:{id:"arrow_heading_down",name:"Right Arrow Curving Down",keywords:["heading","blue","square","direction","bottom"],skins:[{unified:"2935-fe0f",native:"⤵️"}],version:1},arrows_clockwise:{id:"arrows_clockwise",name:"Clockwise Vertical Arrows",keywords:["sync","cycle","round","repeat"],skins:[{unified:"1f503",native:"🔃"}],version:1},arrows_counterclockwise:{id:"arrows_counterclockwise",name:"Counterclockwise Arrows Button",keywords:["blue","square","sync","cycle"],skins:[{unified:"1f504",native:"🔄"}],version:1},back:{id:"back",name:"Back Arrow",keywords:["words","return"],skins:[{unified:"1f519",native:"🔙"}],version:1},end:{id:"end",name:"End Arrow",keywords:["words"],skins:[{unified:"1f51a",native:"🔚"}],version:1},on:{id:"on",name:"On! Arrow",keywords:["on","words"],skins:[{unified:"1f51b",native:"🔛"}],version:1},soon:{id:"soon",name:"Soon Arrow",keywords:["words"],skins:[{unified:"1f51c",native:"🔜"}],version:1},top:{id:"top",name:"Top Arrow",keywords:["words","blue","square"],skins:[{unified:"1f51d",native:"🔝"}],version:1},place_of_worship:{id:"place_of_worship",name:"Place of Worship",keywords:["religion","church","temple","prayer"],skins:[{unified:"1f6d0",native:"🛐"}],version:1},atom_symbol:{id:"atom_symbol",name:"Atom Symbol",keywords:["science","physics","chemistry"],skins:[{unified:"269b-fe0f",native:"⚛️"}],version:1},om_symbol:{id:"om_symbol",name:"Om",keywords:["symbol","hinduism","buddhism","sikhism","jainism"],skins:[{unified:"1f549-fe0f",native:"🕉️"}],version:1},star_of_david:{id:"star_of_david",name:"Star of David",keywords:["judaism"],skins:[{unified:"2721-fe0f",native:"✡️"}],version:1},wheel_of_dharma:{id:"wheel_of_dharma",name:"Wheel of Dharma",keywords:["hinduism","buddhism","sikhism","jainism"],skins:[{unified:"2638-fe0f",native:"☸️"}],version:1},yin_yang:{id:"yin_yang",name:"Yin Yang",keywords:["balance"],skins:[{unified:"262f-fe0f",native:"☯️"}],version:1},latin_cross:{id:"latin_cross",name:"Latin Cross",keywords:["christianity"],skins:[{unified:"271d-fe0f",native:"✝️"}],version:1},orthodox_cross:{id:"orthodox_cross",name:"Orthodox Cross",keywords:["suppedaneum","religion"],skins:[{unified:"2626-fe0f",native:"☦️"}],version:1},star_and_crescent:{id:"star_and_crescent",name:"Star and Crescent",keywords:["islam"],skins:[{unified:"262a-fe0f",native:"☪️"}],version:1},peace_symbol:{id:"peace_symbol",name:"Peace Symbol",keywords:["hippie"],skins:[{unified:"262e-fe0f",native:"☮️"}],version:1},menorah_with_nine_branches:{id:"menorah_with_nine_branches",name:"Menorah",keywords:["with","nine","branches","hanukkah","candles","jewish"],skins:[{unified:"1f54e",native:"🕎"}],version:1},six_pointed_star:{id:"six_pointed_star",name:"Dotted Six-Pointed Star",keywords:["six","pointed","purple","square","religion","jewish","hexagram"],skins:[{unified:"1f52f",native:"🔯"}],version:1},khanda:{id:"khanda",name:"Khanda",keywords:["Sikhism","religion"],skins:[{unified:"1faaf",native:"🪯"}],version:15},aries:{id:"aries",name:"Aries",keywords:["sign","purple","square","zodiac","astrology"],skins:[{unified:"2648",native:"♈"}],version:1},taurus:{id:"taurus",name:"Taurus",keywords:["purple","square","sign","zodiac","astrology"],skins:[{unified:"2649",native:"♉"}],version:1},gemini:{id:"gemini",name:"Gemini",keywords:["sign","zodiac","purple","square","astrology"],skins:[{unified:"264a",native:"♊"}],version:1},cancer:{id:"cancer",name:"Cancer",keywords:["sign","zodiac","purple","square","astrology"],skins:[{unified:"264b",native:"♋"}],version:1},leo:{id:"leo",name:"Leo",keywords:["sign","purple","square","zodiac","astrology"],skins:[{unified:"264c",native:"♌"}],version:1},virgo:{id:"virgo",name:"Virgo",keywords:["sign","zodiac","purple","square","astrology"],skins:[{unified:"264d",native:"♍"}],version:1},libra:{id:"libra",name:"Libra",keywords:["sign","purple","square","zodiac","astrology"],skins:[{unified:"264e",native:"♎"}],version:1},scorpius:{id:"scorpius",name:"Scorpio",keywords:["scorpius","sign","zodiac","purple","square","astrology"],skins:[{unified:"264f",native:"♏"}],version:1},sagittarius:{id:"sagittarius",name:"Sagittarius",keywords:["sign","zodiac","purple","square","astrology"],skins:[{unified:"2650",native:"♐"}],version:1},capricorn:{id:"capricorn",name:"Capricorn",keywords:["sign","zodiac","purple","square","astrology"],skins:[{unified:"2651",native:"♑"}],version:1},aquarius:{id:"aquarius",name:"Aquarius",keywords:["sign","purple","square","zodiac","astrology"],skins:[{unified:"2652",native:"♒"}],version:1},pisces:{id:"pisces",name:"Pisces",keywords:["purple","square","sign","zodiac","astrology"],skins:[{unified:"2653",native:"♓"}],version:1},ophiuchus:{id:"ophiuchus",name:"Ophiuchus",keywords:["sign","purple","square","constellation","astrology"],skins:[{unified:"26ce",native:"⛎"}],version:1},twisted_rightwards_arrows:{id:"twisted_rightwards_arrows",name:"Shuffle Tracks Button",keywords:["twisted","rightwards","arrows","blue","square","music","random"],skins:[{unified:"1f500",native:"🔀"}],version:1},repeat:{id:"repeat",name:"Repeat Button",keywords:["loop","record"],skins:[{unified:"1f501",native:"🔁"}],version:1},repeat_one:{id:"repeat_one",name:"Repeat Single Button",keywords:["one","blue","square","loop"],skins:[{unified:"1f502",native:"🔂"}],version:1},arrow_forward:{id:"arrow_forward",name:"Play Button",keywords:["arrow","forward","blue","square","right","direction"],skins:[{unified:"25b6-fe0f",native:"▶️"}],version:1},fast_forward:{id:"fast_forward",name:"Fast-Forward Button",keywords:["fast","forward","blue","square","play","speed","continue"],skins:[{unified:"23e9",native:"⏩"}],version:1},black_right_pointing_double_triangle_with_vertical_bar:{id:"black_right_pointing_double_triangle_with_vertical_bar",name:"Next Track Button",keywords:["black","right","pointing","double","triangle","with","vertical","bar","forward","blue","square"],skins:[{unified:"23ed-fe0f",native:"⏭️"}],version:1},black_right_pointing_triangle_with_double_vertical_bar:{id:"black_right_pointing_triangle_with_double_vertical_bar",name:"Play or Pause Button",keywords:["black","right","pointing","triangle","with","double","vertical","bar","blue","square"],skins:[{unified:"23ef-fe0f",native:"⏯️"}],version:1},arrow_backward:{id:"arrow_backward",name:"Reverse Button",keywords:["arrow","backward","blue","square","left","direction"],skins:[{unified:"25c0-fe0f",native:"◀️"}],version:1},rewind:{id:"rewind",name:"Fast Reverse Button",keywords:["rewind","play","blue","square"],skins:[{unified:"23ea",native:"⏪"}],version:1},black_left_pointing_double_triangle_with_vertical_bar:{id:"black_left_pointing_double_triangle_with_vertical_bar",name:"Last Track Button",keywords:["black","left","pointing","double","triangle","with","vertical","bar","backward"],skins:[{unified:"23ee-fe0f",native:"⏮️"}],version:1},arrow_up_small:{id:"arrow_up_small",name:"Upwards Button",keywords:["arrow","up","small","blue","square","triangle","direction","point","forward","top"],skins:[{unified:"1f53c",native:"🔼"}],version:1},arrow_double_up:{id:"arrow_double_up",name:"Fast Up Button",keywords:["arrow","double","blue","square","direction","top"],skins:[{unified:"23eb",native:"⏫"}],version:1},arrow_down_small:{id:"arrow_down_small",name:"Downwards Button",keywords:["arrow","down","small","blue","square","direction","bottom"],skins:[{unified:"1f53d",native:"🔽"}],version:1},arrow_double_down:{id:"arrow_double_down",name:"Fast Down Button",keywords:["arrow","double","blue","square","direction","bottom"],skins:[{unified:"23ec",native:"⏬"}],version:1},double_vertical_bar:{id:"double_vertical_bar",name:"Pause Button",keywords:["double","vertical","bar","blue","square"],skins:[{unified:"23f8-fe0f",native:"⏸️"}],version:1},black_square_for_stop:{id:"black_square_for_stop",name:"Stop Button",keywords:["black","square","for","blue"],skins:[{unified:"23f9-fe0f",native:"⏹️"}],version:1},black_circle_for_record:{id:"black_circle_for_record",name:"Record Button",keywords:["black","circle","for","blue","square"],skins:[{unified:"23fa-fe0f",native:"⏺️"}],version:1},eject:{id:"eject",name:"Eject Button",keywords:["blue","square"],skins:[{unified:"23cf-fe0f",native:"⏏️"}],version:1},cinema:{id:"cinema",name:"Cinema",keywords:["blue","square","record","film","movie","curtain","stage","theater"],skins:[{unified:"1f3a6",native:"🎦"}],version:1},low_brightness:{id:"low_brightness",name:"Dim Button",keywords:["low","brightness","sun","afternoon","warm","summer"],skins:[{unified:"1f505",native:"🔅"}],version:1},high_brightness:{id:"high_brightness",name:"Bright Button",keywords:["high","brightness","sun","light"],skins:[{unified:"1f506",native:"🔆"}],version:1},signal_strength:{id:"signal_strength",name:"Antenna Bars",keywords:["signal","strength","blue","square","reception","phone","internet","connection","wifi","bluetooth"],skins:[{unified:"1f4f6",native:"📶"}],version:1},wireless:{id:"wireless",name:"Wireless",keywords:["wifi","internet","contactless","signal"],skins:[{unified:"1f6dc",native:"🛜"}],version:15},vibration_mode:{id:"vibration_mode",name:"Vibration Mode",keywords:["orange","square","phone"],skins:[{unified:"1f4f3",native:"📳"}],version:1},mobile_phone_off:{id:"mobile_phone_off",name:"Mobile Phone off",keywords:["mute","orange","square","silence","quiet"],skins:[{unified:"1f4f4",native:"📴"}],version:1},female_sign:{id:"female_sign",name:"Female Sign",keywords:["woman","women","lady","girl"],skins:[{unified:"2640-fe0f",native:"♀️"}],version:4},male_sign:{id:"male_sign",name:"Male Sign",keywords:["man","boy","men"],skins:[{unified:"2642-fe0f",native:"♂️"}],version:4},transgender_symbol:{id:"transgender_symbol",name:"Transgender Symbol",keywords:["lgbtq"],skins:[{unified:"26a7-fe0f",native:"⚧️"}],version:13},heavy_multiplication_x:{id:"heavy_multiplication_x",name:"Multiply",keywords:["heavy","multiplication","x","sign","math","calculation"],skins:[{unified:"2716-fe0f",native:"✖️"}],version:1},heavy_plus_sign:{id:"heavy_plus_sign",name:"Plus",keywords:["heavy","sign","math","calculation","addition","more","increase"],skins:[{unified:"2795",native:"➕"}],version:1},heavy_minus_sign:{id:"heavy_minus_sign",name:"Minus",keywords:["heavy","sign","math","calculation","subtract","less"],skins:[{unified:"2796",native:"➖"}],version:1},heavy_division_sign:{id:"heavy_division_sign",name:"Divide",keywords:["heavy","division","sign","math","calculation"],skins:[{unified:"2797",native:"➗"}],version:1},heavy_equals_sign:{id:"heavy_equals_sign",name:"Heavy Equals Sign",keywords:["math"],skins:[{unified:"1f7f0",native:"🟰"}],version:14},infinity:{id:"infinity",name:"Infinity",keywords:["forever"],skins:[{unified:"267e-fe0f",native:"♾️"}],version:11},bangbang:{id:"bangbang",name:"Double Exclamation Mark",keywords:["bangbang","surprise"],skins:[{unified:"203c-fe0f",native:"‼️"}],version:1},interrobang:{id:"interrobang",name:"Exclamation Question Mark",keywords:["interrobang","wat","punctuation","surprise"],skins:[{unified:"2049-fe0f",native:"⁉️"}],version:1},question:{id:"question",name:"Red Question Mark",keywords:["doubt","confused"],skins:[{unified:"2753",native:"❓"}],version:1},grey_question:{id:"grey_question",name:"White Question Mark",keywords:["grey","doubts","gray","huh","confused"],skins:[{unified:"2754",native:"❔"}],version:1},grey_exclamation:{id:"grey_exclamation",name:"White Exclamation Mark",keywords:["grey","surprise","punctuation","gray","wow","warning"],skins:[{unified:"2755",native:"❕"}],version:1},exclamation:{id:"exclamation",name:"Red Exclamation Mark",keywords:["heavy","danger","surprise","punctuation","wow","warning"],skins:[{unified:"2757",native:"❗"}],version:1},wavy_dash:{id:"wavy_dash",name:"Wavy Dash",keywords:["draw","line","moustache","mustache","squiggle","scribble"],skins:[{unified:"3030-fe0f",native:"〰️"}],version:1},currency_exchange:{id:"currency_exchange",name:"Currency Exchange",keywords:["money","sales","dollar","travel"],skins:[{unified:"1f4b1",native:"💱"}],version:1},heavy_dollar_sign:{id:"heavy_dollar_sign",name:"Heavy Dollar Sign",keywords:["money","sales","payment","currency","buck"],skins:[{unified:"1f4b2",native:"💲"}],version:1},medical_symbol:{id:"medical_symbol",name:"Medical Symbol",keywords:["staff","of","aesculapius","health","hospital"],skins:[{unified:"2695-fe0f",native:"⚕️"}],version:4},recycle:{id:"recycle",name:"Recycling Symbol",keywords:["recycle","arrow","environment","garbage","trash"],skins:[{unified:"267b-fe0f",native:"♻️"}],version:1},fleur_de_lis:{id:"fleur_de_lis",name:"Fleur-De-Lis",keywords:["fleur","de","lis","decorative","scout"],skins:[{unified:"269c-fe0f",native:"⚜️"}],version:1},trident:{id:"trident",name:"Trident Emblem",keywords:["weapon","spear"],skins:[{unified:"1f531",native:"🔱"}],version:1},name_badge:{id:"name_badge",name:"Name Badge",keywords:["fire","forbid"],skins:[{unified:"1f4db",native:"📛"}],version:1},beginner:{id:"beginner",name:"Japanese Symbol for Beginner",keywords:["badge","shield"],skins:[{unified:"1f530",native:"🔰"}],version:1},o:{id:"o",name:"Hollow Red Circle",keywords:["o","round"],skins:[{unified:"2b55",native:"⭕"}],version:1},white_check_mark:{id:"white_check_mark",name:"Check Mark Button",keywords:["white","green","square","ok","agree","vote","election","answer","tick"],skins:[{unified:"2705",native:"✅"}],version:1},ballot_box_with_check:{id:"ballot_box_with_check",name:"Check Box with Check",keywords:["ballot","ok","agree","confirm","black","square","vote","election","yes","tick"],skins:[{unified:"2611-fe0f",native:"☑️"}],version:1},heavy_check_mark:{id:"heavy_check_mark",name:"Check Mark",keywords:["heavy","ok","nike","answer","yes","tick"],skins:[{unified:"2714-fe0f",native:"✔️"}],version:1},x:{id:"x",name:"Cross Mark",keywords:["x","no","delete","remove","cancel","red"],skins:[{unified:"274c",native:"❌"}],version:1},negative_squared_cross_mark:{id:"negative_squared_cross_mark",name:"Cross Mark Button",keywords:["negative","squared","x","green","square","no","deny"],skins:[{unified:"274e",native:"❎"}],version:1},curly_loop:{id:"curly_loop",name:"Curly Loop",keywords:["scribble","draw","shape","squiggle"],skins:[{unified:"27b0",native:"➰"}],version:1},loop:{id:"loop",name:"Double Curly Loop",keywords:["tape","cassette"],skins:[{unified:"27bf",native:"➿"}],version:1},part_alternation_mark:{id:"part_alternation_mark",name:"Part Alternation Mark",keywords:["graph","presentation","stats","business","economics","bad"],skins:[{unified:"303d-fe0f",native:"〽️"}],version:1},eight_spoked_asterisk:{id:"eight_spoked_asterisk",name:"Eight Spoked Asterisk",keywords:["star","sparkle","green","square"],skins:[{unified:"2733-fe0f",native:"✳️"}],version:1},eight_pointed_black_star:{id:"eight_pointed_black_star",name:"Eight-Pointed Star",keywords:["eight","pointed","black","orange","square","shape","polygon"],skins:[{unified:"2734-fe0f",native:"✴️"}],version:1},sparkle:{id:"sparkle",name:"Sparkle",keywords:["stars","green","square","awesome","good","fireworks"],skins:[{unified:"2747-fe0f",native:"❇️"}],version:1},copyright:{id:"copyright",name:"Copyright",keywords:["ip","license","circle","law","legal"],skins:[{unified:"00a9-fe0f",native:"©️"}],version:1},registered:{id:"registered",name:"Registered",keywords:["alphabet","circle"],skins:[{unified:"00ae-fe0f",native:"®️"}],version:1},tm:{id:"tm",name:"Trade Mark",keywords:["tm","trademark","brand","law","legal"],skins:[{unified:"2122-fe0f",native:"™️"}],version:1},hash:{id:"hash",name:"Hash Key",keywords:["keycap","","symbol","blue","square","twitter"],skins:[{unified:"0023-fe0f-20e3",native:"#️⃣"}],version:1},keycap_star:{id:"keycap_star",name:"Keycap: *",keywords:["keycap","star",""],skins:[{unified:"002a-fe0f-20e3",native:"*️⃣"}],version:2},zero:{id:"zero",name:"Keycap 0",keywords:["zero","numbers","blue","square","null"],skins:[{unified:"0030-fe0f-20e3",native:"0️⃣"}],version:1},one:{id:"one",name:"Keycap 1",keywords:["one","blue","square","numbers"],skins:[{unified:"0031-fe0f-20e3",native:"1️⃣"}],version:1},two:{id:"two",name:"Keycap 2",keywords:["two","numbers","prime","blue","square"],skins:[{unified:"0032-fe0f-20e3",native:"2️⃣"}],version:1},three:{id:"three",name:"Keycap 3",keywords:["three","numbers","prime","blue","square"],skins:[{unified:"0033-fe0f-20e3",native:"3️⃣"}],version:1},four:{id:"four",name:"Keycap 4",keywords:["four","numbers","blue","square"],skins:[{unified:"0034-fe0f-20e3",native:"4️⃣"}],version:1},five:{id:"five",name:"Keycap 5",keywords:["five","numbers","blue","square","prime"],skins:[{unified:"0035-fe0f-20e3",native:"5️⃣"}],version:1},six:{id:"six",name:"Keycap 6",keywords:["six","numbers","blue","square"],skins:[{unified:"0036-fe0f-20e3",native:"6️⃣"}],version:1},seven:{id:"seven",name:"Keycap 7",keywords:["seven","numbers","blue","square","prime"],skins:[{unified:"0037-fe0f-20e3",native:"7️⃣"}],version:1},eight:{id:"eight",name:"Keycap 8",keywords:["eight","blue","square","numbers"],skins:[{unified:"0038-fe0f-20e3",native:"8️⃣"}],version:1},nine:{id:"nine",name:"Keycap 9",keywords:["nine","blue","square","numbers"],skins:[{unified:"0039-fe0f-20e3",native:"9️⃣"}],version:1},keycap_ten:{id:"keycap_ten",name:"Keycap 10",keywords:["ten","numbers","blue","square"],skins:[{unified:"1f51f",native:"🔟"}],version:1},capital_abcd:{id:"capital_abcd",name:"Input Latin Uppercase",keywords:["capital","abcd","alphabet","words","blue","square"],skins:[{unified:"1f520",native:"🔠"}],version:1},abcd:{id:"abcd",name:"Input Latin Lowercase",keywords:["abcd","blue","square","alphabet"],skins:[{unified:"1f521",native:"🔡"}],version:1},symbols:{id:"symbols",name:"Input Symbols",keywords:["blue","square","music","note","ampersand","percent","glyphs","characters"],skins:[{unified:"1f523",native:"🔣"}],version:1},abc:{id:"abc",name:"Input Latin Letters",keywords:["abc","blue","square","alphabet"],skins:[{unified:"1f524",native:"🔤"}],version:1},a:{id:"a",name:"A Button (blood Type)",keywords:["red","square","alphabet","letter"],skins:[{unified:"1f170-fe0f",native:"🅰️"}],version:1},ab:{id:"ab",name:"Negative Squared Ab",keywords:["button","red","square","alphabet"],skins:[{unified:"1f18e",native:"🆎"}],version:1},b:{id:"b",name:"B Button (blood Type)",keywords:["red","square","alphabet","letter"],skins:[{unified:"1f171-fe0f",native:"🅱️"}],version:1},cl:{id:"cl",name:"Cl Button",keywords:["alphabet","words","red","square"],skins:[{unified:"1f191",native:"🆑"}],version:1},cool:{id:"cool",name:"Cool Button",keywords:["words","blue","square"],skins:[{unified:"1f192",native:"🆒"}],version:1},free:{id:"free",name:"Free Button",keywords:["blue","square","words"],skins:[{unified:"1f193",native:"🆓"}],version:1},information_source:{id:"information_source",name:"Information",keywords:["source","blue","square","alphabet","letter"],skins:[{unified:"2139-fe0f",native:"ℹ️"}],version:1},id:{id:"id",name:"Id Button",keywords:["purple","square","words"],skins:[{unified:"1f194",native:"🆔"}],version:1},m:{id:"m",name:"Circled M",keywords:["alphabet","blue","circle","letter"],skins:[{unified:"24c2-fe0f",native:"Ⓜ️"}],version:1},new:{id:"new",name:"New Button",keywords:["blue","square","words","start"],skins:[{unified:"1f195",native:"🆕"}],version:1},ng:{id:"ng",name:"Ng Button",keywords:["blue","square","words","shape","icon"],skins:[{unified:"1f196",native:"🆖"}],version:1},o2:{id:"o2",name:"O Button (blood Type)",keywords:["o2","alphabet","red","square","letter"],skins:[{unified:"1f17e-fe0f",native:"🅾️"}],version:1},ok:{id:"ok",name:"Ok Button",keywords:["good","agree","yes","blue","square"],skins:[{unified:"1f197",native:"🆗"}],version:1},parking:{id:"parking",name:"P Button",keywords:["parking","cars","blue","square","alphabet","letter"],skins:[{unified:"1f17f-fe0f",native:"🅿️"}],version:1},sos:{id:"sos",name:"Sos Button",keywords:["help","red","square","words","emergency","911"],skins:[{unified:"1f198",native:"🆘"}],version:1},up:{id:"up",name:"Up! Button",keywords:["up","blue","square","above","high"],skins:[{unified:"1f199",native:"🆙"}],version:1},vs:{id:"vs",name:"Vs Button",keywords:["words","orange","square"],skins:[{unified:"1f19a",native:"🆚"}],version:1},koko:{id:"koko",name:"Squared Katakana Koko",keywords:["japanese","here","button","blue","square","destination"],skins:[{unified:"1f201",native:"🈁"}],version:1},sa:{id:"sa",name:"Squared Katakana Sa",keywords:["japanese","service","charge","button","blue","square"],skins:[{unified:"1f202-fe0f",native:"🈂️"}],version:1},u6708:{id:"u6708",name:"Japanese “monthly Amount” Button",keywords:["u6708","monthly","amount","chinese","month","moon","orange","square","kanji"],skins:[{unified:"1f237-fe0f",native:"🈷️"}],version:1},u6709:{id:"u6709",name:"Squared Cjk Unified Ideograph-6709",keywords:["u6709","japanese","not","free","of","charge","button","orange","square","chinese","have","kanji"],skins:[{unified:"1f236",native:"🈶"}],version:1},u6307:{id:"u6307",name:"Japanese “reserved” Button",keywords:["u6307","reserved","chinese","point","green","square","kanji"],skins:[{unified:"1f22f",native:"🈯"}],version:1},ideograph_advantage:{id:"ideograph_advantage",name:"Japanese “bargain” Button",keywords:["ideograph","advantage","bargain","chinese","kanji","obtain","get","circle"],skins:[{unified:"1f250",native:"🉐"}],version:1},u5272:{id:"u5272",name:"Japanese “discount” Button",keywords:["u5272","discount","cut","divide","chinese","kanji","pink","square"],skins:[{unified:"1f239",native:"🈹"}],version:1},u7121:{id:"u7121",name:"Japanese “free of Charge” Button",keywords:["u7121","free","charge","nothing","chinese","kanji","orange","square"],skins:[{unified:"1f21a",native:"🈚"}],version:1},u7981:{id:"u7981",name:"Japanese “prohibited” Button",keywords:["u7981","prohibited","kanji","chinese","forbidden","limit","restricted","red","square"],skins:[{unified:"1f232",native:"🈲"}],version:1},accept:{id:"accept",name:"Circled Ideograph Accept",keywords:["japanese","acceptable","button","ok","good","chinese","kanji","agree","yes","orange","circle"],skins:[{unified:"1f251",native:"🉑"}],version:1},u7533:{id:"u7533",name:"Japanese “application” Button",keywords:["u7533","application","chinese","kanji","orange","square"],skins:[{unified:"1f238",native:"🈸"}],version:1},u5408:{id:"u5408",name:"Japanese “passing Grade” Button",keywords:["u5408","passing","grade","chinese","join","kanji","red","square"],skins:[{unified:"1f234",native:"🈴"}],version:1},u7a7a:{id:"u7a7a",name:"Japanese “vacancy” Button",keywords:["u7a7a","vacancy","kanji","chinese","empty","sky","blue","square"],skins:[{unified:"1f233",native:"🈳"}],version:1},congratulations:{id:"congratulations",name:"Circled Ideograph Congratulation",keywords:["congratulations","japanese","button","chinese","kanji","red","circle"],skins:[{unified:"3297-fe0f",native:"㊗️"}],version:1},secret:{id:"secret",name:"Circled Ideograph Secret",keywords:["japanese","button","privacy","chinese","sshh","kanji","red","circle"],skins:[{unified:"3299-fe0f",native:"㊙️"}],version:1},u55b6:{id:"u55b6",name:"Squared Cjk Unified Ideograph-55b6",keywords:["u55b6","japanese","open","for","business","button","opening","hours","orange","square"],skins:[{unified:"1f23a",native:"🈺"}],version:1},u6e80:{id:"u6e80",name:"Japanese “no Vacancy” Button",keywords:["u6e80","no","vacancy","full","chinese","red","square","kanji"],skins:[{unified:"1f235",native:"🈵"}],version:1},red_circle:{id:"red_circle",name:"Red Circle",keywords:["shape","error","danger"],skins:[{unified:"1f534",native:"🔴"}],version:1},large_orange_circle:{id:"large_orange_circle",name:"Orange Circle",keywords:["large","round"],skins:[{unified:"1f7e0",native:"🟠"}],version:12},large_yellow_circle:{id:"large_yellow_circle",name:"Yellow Circle",keywords:["large","round"],skins:[{unified:"1f7e1",native:"🟡"}],version:12},large_green_circle:{id:"large_green_circle",name:"Green Circle",keywords:["large","round"],skins:[{unified:"1f7e2",native:"🟢"}],version:12},large_blue_circle:{id:"large_blue_circle",name:"Blue Circle",keywords:["large","shape","icon","button"],skins:[{unified:"1f535",native:"🔵"}],version:1},large_purple_circle:{id:"large_purple_circle",name:"Purple Circle",keywords:["large","round"],skins:[{unified:"1f7e3",native:"🟣"}],version:12},large_brown_circle:{id:"large_brown_circle",name:"Brown Circle",keywords:["large","round"],skins:[{unified:"1f7e4",native:"🟤"}],version:12},black_circle:{id:"black_circle",name:"Black Circle",keywords:["shape","button","round"],skins:[{unified:"26ab",native:"⚫"}],version:1},white_circle:{id:"white_circle",name:"White Circle",keywords:["shape","round"],skins:[{unified:"26aa",native:"⚪"}],version:1},large_red_square:{id:"large_red_square",name:"Red Square",keywords:["large"],skins:[{unified:"1f7e5",native:"🟥"}],version:12},large_orange_square:{id:"large_orange_square",name:"Orange Square",keywords:["large"],skins:[{unified:"1f7e7",native:"🟧"}],version:12},large_yellow_square:{id:"large_yellow_square",name:"Yellow Square",keywords:["large"],skins:[{unified:"1f7e8",native:"🟨"}],version:12},large_green_square:{id:"large_green_square",name:"Green Square",keywords:["large"],skins:[{unified:"1f7e9",native:"🟩"}],version:12},large_blue_square:{id:"large_blue_square",name:"Blue Square",keywords:["large"],skins:[{unified:"1f7e6",native:"🟦"}],version:12},large_purple_square:{id:"large_purple_square",name:"Purple Square",keywords:["large"],skins:[{unified:"1f7ea",native:"🟪"}],version:12},large_brown_square:{id:"large_brown_square",name:"Brown Square",keywords:["large"],skins:[{unified:"1f7eb",native:"🟫"}],version:12},black_large_square:{id:"black_large_square",name:"Black Large Square",keywords:["shape","icon","button"],skins:[{unified:"2b1b",native:"⬛"}],version:1},white_large_square:{id:"white_large_square",name:"White Large Square",keywords:["shape","icon","stone","button"],skins:[{unified:"2b1c",native:"⬜"}],version:1},black_medium_square:{id:"black_medium_square",name:"Black Medium Square",keywords:["shape","button","icon"],skins:[{unified:"25fc-fe0f",native:"◼️"}],version:1},white_medium_square:{id:"white_medium_square",name:"White Medium Square",keywords:["shape","stone","icon"],skins:[{unified:"25fb-fe0f",native:"◻️"}],version:1},black_medium_small_square:{id:"black_medium_small_square",name:"Black Medium Small Square",keywords:["icon","shape","button"],skins:[{unified:"25fe",native:"◾"}],version:1},white_medium_small_square:{id:"white_medium_small_square",name:"White Medium Small Square",keywords:["shape","stone","icon","button"],skins:[{unified:"25fd",native:"◽"}],version:1},black_small_square:{id:"black_small_square",name:"Black Small Square",keywords:["shape","icon"],skins:[{unified:"25aa-fe0f",native:"▪️"}],version:1},white_small_square:{id:"white_small_square",name:"White Small Square",keywords:["shape","icon"],skins:[{unified:"25ab-fe0f",native:"▫️"}],version:1},large_orange_diamond:{id:"large_orange_diamond",name:"Large Orange Diamond",keywords:["shape","jewel","gem"],skins:[{unified:"1f536",native:"🔶"}],version:1},large_blue_diamond:{id:"large_blue_diamond",name:"Large Blue Diamond",keywords:["shape","jewel","gem"],skins:[{unified:"1f537",native:"🔷"}],version:1},small_orange_diamond:{id:"small_orange_diamond",name:"Small Orange Diamond",keywords:["shape","jewel","gem"],skins:[{unified:"1f538",native:"🔸"}],version:1},small_blue_diamond:{id:"small_blue_diamond",name:"Small Blue Diamond",keywords:["shape","jewel","gem"],skins:[{unified:"1f539",native:"🔹"}],version:1},small_red_triangle:{id:"small_red_triangle",name:"Red Triangle Pointed Up",keywords:["small","shape","direction","top"],skins:[{unified:"1f53a",native:"🔺"}],version:1},small_red_triangle_down:{id:"small_red_triangle_down",name:"Red Triangle Pointed Down",keywords:["small","shape","direction","bottom"],skins:[{unified:"1f53b",native:"🔻"}],version:1},diamond_shape_with_a_dot_inside:{id:"diamond_shape_with_a_dot_inside",name:"Diamond with a Dot",keywords:["shape","inside","jewel","blue","gem","crystal","fancy"],skins:[{unified:"1f4a0",native:"💠"}],version:1},radio_button:{id:"radio_button",name:"Radio Button",keywords:["input","old","music","circle"],skins:[{unified:"1f518",native:"🔘"}],version:1},white_square_button:{id:"white_square_button",name:"White Square Button",keywords:["shape","input"],skins:[{unified:"1f533",native:"🔳"}],version:1},black_square_button:{id:"black_square_button",name:"Black Square Button",keywords:["shape","input","frame"],skins:[{unified:"1f532",native:"🔲"}],version:1},checkered_flag:{id:"checkered_flag",name:"Chequered Flag",keywords:["checkered","contest","finishline","race","gokart"],skins:[{unified:"1f3c1",native:"🏁"}],version:1},triangular_flag_on_post:{id:"triangular_flag_on_post",name:"Triangular Flag",keywords:["on","post","mark","milestone","place"],skins:[{unified:"1f6a9",native:"🚩"}],version:1},crossed_flags:{id:"crossed_flags",name:"Crossed Flags",keywords:["japanese","nation","country","border"],skins:[{unified:"1f38c",native:"🎌"}],version:1},waving_black_flag:{id:"waving_black_flag",name:"Black Flag",keywords:["waving","pirate"],skins:[{unified:"1f3f4",native:"🏴"}],version:1},waving_white_flag:{id:"waving_white_flag",name:"White Flag",keywords:["waving","losing","loser","lost","surrender","give","up","fail"],skins:[{unified:"1f3f3-fe0f",native:"🏳️"}],version:1},"rainbow-flag":{id:"rainbow-flag",name:"Rainbow Flag",keywords:["pride","gay","lgbt","glbt","queer","homosexual","lesbian","bisexual","transgender"],skins:[{unified:"1f3f3-fe0f-200d-1f308",native:"🏳️‍🌈"}],version:4},transgender_flag:{id:"transgender_flag",name:"Transgender Flag",keywords:["lgbtq"],skins:[{unified:"1f3f3-fe0f-200d-26a7-fe0f",native:"🏳️‍⚧️"}],version:13},pirate_flag:{id:"pirate_flag",name:"Pirate Flag",keywords:["skull","crossbones","banner"],skins:[{unified:"1f3f4-200d-2620-fe0f",native:"🏴‍☠️"}],version:11},"flag-ac":{id:"flag-ac",name:"Ascension Island Flag",keywords:["ac"],skins:[{unified:"1f1e6-1f1e8",native:"🇦🇨"}],version:2},"flag-ad":{id:"flag-ad",name:"Andorra Flag",keywords:["ad","nation","country","banner"],skins:[{unified:"1f1e6-1f1e9",native:"🇦🇩"}],version:2},"flag-ae":{id:"flag-ae",name:"United Arab Emirates Flag",keywords:["ae","nation","country","banner"],skins:[{unified:"1f1e6-1f1ea",native:"🇦🇪"}],version:2},"flag-af":{id:"flag-af",name:"Afghanistan Flag",keywords:["af","nation","country","banner"],skins:[{unified:"1f1e6-1f1eb",native:"🇦🇫"}],version:2},"flag-ag":{id:"flag-ag",name:"Antigua & Barbuda Flag",keywords:["ag","nation","country","banner"],skins:[{unified:"1f1e6-1f1ec",native:"🇦🇬"}],version:2},"flag-ai":{id:"flag-ai",name:"Anguilla Flag",keywords:["ai","nation","country","banner"],skins:[{unified:"1f1e6-1f1ee",native:"🇦🇮"}],version:2},"flag-al":{id:"flag-al",name:"Albania Flag",keywords:["al","nation","country","banner"],skins:[{unified:"1f1e6-1f1f1",native:"🇦🇱"}],version:2},"flag-am":{id:"flag-am",name:"Armenia Flag",keywords:["am","nation","country","banner"],skins:[{unified:"1f1e6-1f1f2",native:"🇦🇲"}],version:2},"flag-ao":{id:"flag-ao",name:"Angola Flag",keywords:["ao","nation","country","banner"],skins:[{unified:"1f1e6-1f1f4",native:"🇦🇴"}],version:2},"flag-aq":{id:"flag-aq",name:"Antarctica Flag",keywords:["aq","nation","country","banner"],skins:[{unified:"1f1e6-1f1f6",native:"🇦🇶"}],version:2},"flag-ar":{id:"flag-ar",name:"Argentina Flag",keywords:["ar","nation","country","banner"],skins:[{unified:"1f1e6-1f1f7",native:"🇦🇷"}],version:2},"flag-as":{id:"flag-as",name:"American Samoa Flag",keywords:["as","ws","nation","country","banner"],skins:[{unified:"1f1e6-1f1f8",native:"🇦🇸"}],version:2},"flag-at":{id:"flag-at",name:"Austria Flag",keywords:["at","nation","country","banner"],skins:[{unified:"1f1e6-1f1f9",native:"🇦🇹"}],version:2},"flag-au":{id:"flag-au",name:"Australia Flag",keywords:["au","nation","country","banner"],skins:[{unified:"1f1e6-1f1fa",native:"🇦🇺"}],version:2},"flag-aw":{id:"flag-aw",name:"Aruba Flag",keywords:["aw","nation","country","banner"],skins:[{unified:"1f1e6-1f1fc",native:"🇦🇼"}],version:2},"flag-ax":{id:"flag-ax",name:"Åland Islands Flag",keywords:["ax","aland","Aland","nation","country","banner"],skins:[{unified:"1f1e6-1f1fd",native:"🇦🇽"}],version:2},"flag-az":{id:"flag-az",name:"Azerbaijan Flag",keywords:["az","nation","country","banner"],skins:[{unified:"1f1e6-1f1ff",native:"🇦🇿"}],version:2},"flag-ba":{id:"flag-ba",name:"Bosnia & Herzegovina Flag",keywords:["ba","nation","country","banner"],skins:[{unified:"1f1e7-1f1e6",native:"🇧🇦"}],version:2},"flag-bb":{id:"flag-bb",name:"Barbados Flag",keywords:["bb","nation","country","banner"],skins:[{unified:"1f1e7-1f1e7",native:"🇧🇧"}],version:2},"flag-bd":{id:"flag-bd",name:"Bangladesh Flag",keywords:["bd","nation","country","banner"],skins:[{unified:"1f1e7-1f1e9",native:"🇧🇩"}],version:2},"flag-be":{id:"flag-be",name:"Belgium Flag",keywords:["be","nation","country","banner"],skins:[{unified:"1f1e7-1f1ea",native:"🇧🇪"}],version:2},"flag-bf":{id:"flag-bf",name:"Burkina Faso Flag",keywords:["bf","nation","country","banner"],skins:[{unified:"1f1e7-1f1eb",native:"🇧🇫"}],version:2},"flag-bg":{id:"flag-bg",name:"Bulgaria Flag",keywords:["bg","nation","country","banner"],skins:[{unified:"1f1e7-1f1ec",native:"🇧🇬"}],version:2},"flag-bh":{id:"flag-bh",name:"Bahrain Flag",keywords:["bh","nation","country","banner"],skins:[{unified:"1f1e7-1f1ed",native:"🇧🇭"}],version:2},"flag-bi":{id:"flag-bi",name:"Burundi Flag",keywords:["bi","nation","country","banner"],skins:[{unified:"1f1e7-1f1ee",native:"🇧🇮"}],version:2},"flag-bj":{id:"flag-bj",name:"Benin Flag",keywords:["bj","nation","country","banner"],skins:[{unified:"1f1e7-1f1ef",native:"🇧🇯"}],version:2},"flag-bl":{id:"flag-bl",name:"St. Barthélemy Flag",keywords:["bl","st","barthelemy","saint","nation","country","banner"],skins:[{unified:"1f1e7-1f1f1",native:"🇧🇱"}],version:2},"flag-bm":{id:"flag-bm",name:"Bermuda Flag",keywords:["bm","nation","country","banner"],skins:[{unified:"1f1e7-1f1f2",native:"🇧🇲"}],version:2},"flag-bn":{id:"flag-bn",name:"Brunei Flag",keywords:["bn","darussalam","nation","country","banner"],skins:[{unified:"1f1e7-1f1f3",native:"🇧🇳"}],version:2},"flag-bo":{id:"flag-bo",name:"Bolivia Flag",keywords:["bo","nation","country","banner"],skins:[{unified:"1f1e7-1f1f4",native:"🇧🇴"}],version:2},"flag-bq":{id:"flag-bq",name:"Caribbean Netherlands Flag",keywords:["bq","bonaire","nation","country","banner"],skins:[{unified:"1f1e7-1f1f6",native:"🇧🇶"}],version:2},"flag-br":{id:"flag-br",name:"Brazil Flag",keywords:["br","nation","country","banner"],skins:[{unified:"1f1e7-1f1f7",native:"🇧🇷"}],version:2},"flag-bs":{id:"flag-bs",name:"Bahamas Flag",keywords:["bs","nation","country","banner"],skins:[{unified:"1f1e7-1f1f8",native:"🇧🇸"}],version:2},"flag-bt":{id:"flag-bt",name:"Bhutan Flag",keywords:["bt","nation","country","banner"],skins:[{unified:"1f1e7-1f1f9",native:"🇧🇹"}],version:2},"flag-bv":{id:"flag-bv",name:"Bouvet Island Flag",keywords:["bv","norway"],skins:[{unified:"1f1e7-1f1fb",native:"🇧🇻"}],version:2},"flag-bw":{id:"flag-bw",name:"Botswana Flag",keywords:["bw","nation","country","banner"],skins:[{unified:"1f1e7-1f1fc",native:"🇧🇼"}],version:2},"flag-by":{id:"flag-by",name:"Belarus Flag",keywords:["by","nation","country","banner"],skins:[{unified:"1f1e7-1f1fe",native:"🇧🇾"}],version:2},"flag-bz":{id:"flag-bz",name:"Belize Flag",keywords:["bz","nation","country","banner"],skins:[{unified:"1f1e7-1f1ff",native:"🇧🇿"}],version:2},"flag-ca":{id:"flag-ca",name:"Canada Flag",keywords:["ca","nation","country","banner"],skins:[{unified:"1f1e8-1f1e6",native:"🇨🇦"}],version:2},"flag-cc":{id:"flag-cc",name:"Cocos (keeling) Islands Flag",keywords:["cc","keeling","nation","country","banner"],skins:[{unified:"1f1e8-1f1e8",native:"🇨🇨"}],version:2},"flag-cd":{id:"flag-cd",name:"Congo - Kinshasa Flag",keywords:["cd","democratic","republic","nation","country","banner"],skins:[{unified:"1f1e8-1f1e9",native:"🇨🇩"}],version:2},"flag-cf":{id:"flag-cf",name:"Central African Republic Flag",keywords:["cf","nation","country","banner"],skins:[{unified:"1f1e8-1f1eb",native:"🇨🇫"}],version:2},"flag-cg":{id:"flag-cg",name:"Congo - Brazzaville Flag",keywords:["cg","nation","country","banner"],skins:[{unified:"1f1e8-1f1ec",native:"🇨🇬"}],version:2},"flag-ch":{id:"flag-ch",name:"Switzerland Flag",keywords:["ch","nation","country","banner"],skins:[{unified:"1f1e8-1f1ed",native:"🇨🇭"}],version:2},"flag-ci":{id:"flag-ci",name:"Côte D’ivoire Flag",keywords:["ci","cote","d","ivoire","ivory","coast","nation","country","banner"],skins:[{unified:"1f1e8-1f1ee",native:"🇨🇮"}],version:2},"flag-ck":{id:"flag-ck",name:"Cook Islands Flag",keywords:["ck","nation","country","banner"],skins:[{unified:"1f1e8-1f1f0",native:"🇨🇰"}],version:2},"flag-cl":{id:"flag-cl",name:"Chile Flag",keywords:["cl","nation","country","banner"],skins:[{unified:"1f1e8-1f1f1",native:"🇨🇱"}],version:2},"flag-cm":{id:"flag-cm",name:"Cameroon Flag",keywords:["cm","nation","country","banner"],skins:[{unified:"1f1e8-1f1f2",native:"🇨🇲"}],version:2},cn:{id:"cn",name:"China Flag",keywords:["cn","chinese","prc","country","nation","banner"],skins:[{unified:"1f1e8-1f1f3",native:"🇨🇳"}],version:1},"flag-co":{id:"flag-co",name:"Colombia Flag",keywords:["co","nation","country","banner"],skins:[{unified:"1f1e8-1f1f4",native:"🇨🇴"}],version:2},"flag-cp":{id:"flag-cp",name:"Clipperton Island Flag",keywords:["cp"],skins:[{unified:"1f1e8-1f1f5",native:"🇨🇵"}],version:2},"flag-cr":{id:"flag-cr",name:"Costa Rica Flag",keywords:["cr","nation","country","banner"],skins:[{unified:"1f1e8-1f1f7",native:"🇨🇷"}],version:2},"flag-cu":{id:"flag-cu",name:"Cuba Flag",keywords:["cu","nation","country","banner"],skins:[{unified:"1f1e8-1f1fa",native:"🇨🇺"}],version:2},"flag-cv":{id:"flag-cv",name:"Cape Verde Flag",keywords:["cv","cabo","nation","country","banner"],skins:[{unified:"1f1e8-1f1fb",native:"🇨🇻"}],version:2},"flag-cw":{id:"flag-cw",name:"Curaçao Flag",keywords:["cw","curacao","nation","country","banner"],skins:[{unified:"1f1e8-1f1fc",native:"🇨🇼"}],version:2},"flag-cx":{id:"flag-cx",name:"Christmas Island Flag",keywords:["cx","nation","country","banner"],skins:[{unified:"1f1e8-1f1fd",native:"🇨🇽"}],version:2},"flag-cy":{id:"flag-cy",name:"Cyprus Flag",keywords:["cy","nation","country","banner"],skins:[{unified:"1f1e8-1f1fe",native:"🇨🇾"}],version:2},"flag-cz":{id:"flag-cz",name:"Czechia Flag",keywords:["cz","nation","country","banner"],skins:[{unified:"1f1e8-1f1ff",native:"🇨🇿"}],version:2},de:{id:"de",name:"Germany Flag",keywords:["de","german","nation","country","banner"],skins:[{unified:"1f1e9-1f1ea",native:"🇩🇪"}],version:1},"flag-dg":{id:"flag-dg",name:"Diego Garcia Flag",keywords:["dg"],skins:[{unified:"1f1e9-1f1ec",native:"🇩🇬"}],version:2},"flag-dj":{id:"flag-dj",name:"Djibouti Flag",keywords:["dj","nation","country","banner"],skins:[{unified:"1f1e9-1f1ef",native:"🇩🇯"}],version:2},"flag-dk":{id:"flag-dk",name:"Denmark Flag",keywords:["dk","nation","country","banner"],skins:[{unified:"1f1e9-1f1f0",native:"🇩🇰"}],version:2},"flag-dm":{id:"flag-dm",name:"Dominica Flag",keywords:["dm","nation","country","banner"],skins:[{unified:"1f1e9-1f1f2",native:"🇩🇲"}],version:2},"flag-do":{id:"flag-do",name:"Dominican Republic Flag",keywords:["do","nation","country","banner"],skins:[{unified:"1f1e9-1f1f4",native:"🇩🇴"}],version:2},"flag-dz":{id:"flag-dz",name:"Algeria Flag",keywords:["dz","nation","country","banner"],skins:[{unified:"1f1e9-1f1ff",native:"🇩🇿"}],version:2},"flag-ea":{id:"flag-ea",name:"Ceuta & Melilla Flag",keywords:["ea"],skins:[{unified:"1f1ea-1f1e6",native:"🇪🇦"}],version:2},"flag-ec":{id:"flag-ec",name:"Ecuador Flag",keywords:["ec","nation","country","banner"],skins:[{unified:"1f1ea-1f1e8",native:"🇪🇨"}],version:2},"flag-ee":{id:"flag-ee",name:"Estonia Flag",keywords:["ee","nation","country","banner"],skins:[{unified:"1f1ea-1f1ea",native:"🇪🇪"}],version:2},"flag-eg":{id:"flag-eg",name:"Egypt Flag",keywords:["eg","nation","country","banner"],skins:[{unified:"1f1ea-1f1ec",native:"🇪🇬"}],version:2},"flag-eh":{id:"flag-eh",name:"Western Sahara Flag",keywords:["eh","nation","country","banner"],skins:[{unified:"1f1ea-1f1ed",native:"🇪🇭"}],version:2},"flag-er":{id:"flag-er",name:"Eritrea Flag",keywords:["er","nation","country","banner"],skins:[{unified:"1f1ea-1f1f7",native:"🇪🇷"}],version:2},es:{id:"es",name:"Spain Flag",keywords:["es","nation","country","banner"],skins:[{unified:"1f1ea-1f1f8",native:"🇪🇸"}],version:1},"flag-et":{id:"flag-et",name:"Ethiopia Flag",keywords:["et","nation","country","banner"],skins:[{unified:"1f1ea-1f1f9",native:"🇪🇹"}],version:2},"flag-eu":{id:"flag-eu",name:"European Union Flag",keywords:["eu","banner"],skins:[{unified:"1f1ea-1f1fa",native:"🇪🇺"}],version:2},"flag-fi":{id:"flag-fi",name:"Finland Flag",keywords:["fi","nation","country","banner"],skins:[{unified:"1f1eb-1f1ee",native:"🇫🇮"}],version:2},"flag-fj":{id:"flag-fj",name:"Fiji Flag",keywords:["fj","nation","country","banner"],skins:[{unified:"1f1eb-1f1ef",native:"🇫🇯"}],version:2},"flag-fk":{id:"flag-fk",name:"Falkland Islands Flag",keywords:["fk","malvinas","nation","country","banner"],skins:[{unified:"1f1eb-1f1f0",native:"🇫🇰"}],version:2},"flag-fm":{id:"flag-fm",name:"Micronesia Flag",keywords:["fm","federated","states","nation","country","banner"],skins:[{unified:"1f1eb-1f1f2",native:"🇫🇲"}],version:2},"flag-fo":{id:"flag-fo",name:"Faroe Islands Flag",keywords:["fo","nation","country","banner"],skins:[{unified:"1f1eb-1f1f4",native:"🇫🇴"}],version:2},fr:{id:"fr",name:"France Flag",keywords:["fr","banner","nation","french","country"],skins:[{unified:"1f1eb-1f1f7",native:"🇫🇷"}],version:1},"flag-ga":{id:"flag-ga",name:"Gabon Flag",keywords:["ga","nation","country","banner"],skins:[{unified:"1f1ec-1f1e6",native:"🇬🇦"}],version:2},gb:{id:"gb",name:"United Kingdom Flag",keywords:["gb","uk","great","britain","northern","ireland","nation","country","banner","british","UK","english","england","union","jack"],skins:[{unified:"1f1ec-1f1e7",native:"🇬🇧"}],version:1},"flag-gd":{id:"flag-gd",name:"Grenada Flag",keywords:["gd","nation","country","banner"],skins:[{unified:"1f1ec-1f1e9",native:"🇬🇩"}],version:2},"flag-ge":{id:"flag-ge",name:"Georgia Flag",keywords:["ge","nation","country","banner"],skins:[{unified:"1f1ec-1f1ea",native:"🇬🇪"}],version:2},"flag-gf":{id:"flag-gf",name:"French Guiana Flag",keywords:["gf","nation","country","banner"],skins:[{unified:"1f1ec-1f1eb",native:"🇬🇫"}],version:2},"flag-gg":{id:"flag-gg",name:"Guernsey Flag",keywords:["gg","nation","country","banner"],skins:[{unified:"1f1ec-1f1ec",native:"🇬🇬"}],version:2},"flag-gh":{id:"flag-gh",name:"Ghana Flag",keywords:["gh","nation","country","banner"],skins:[{unified:"1f1ec-1f1ed",native:"🇬🇭"}],version:2},"flag-gi":{id:"flag-gi",name:"Gibraltar Flag",keywords:["gi","nation","country","banner"],skins:[{unified:"1f1ec-1f1ee",native:"🇬🇮"}],version:2},"flag-gl":{id:"flag-gl",name:"Greenland Flag",keywords:["gl","nation","country","banner"],skins:[{unified:"1f1ec-1f1f1",native:"🇬🇱"}],version:2},"flag-gm":{id:"flag-gm",name:"Gambia Flag",keywords:["gm","nation","country","banner"],skins:[{unified:"1f1ec-1f1f2",native:"🇬🇲"}],version:2},"flag-gn":{id:"flag-gn",name:"Guinea Flag",keywords:["gn","nation","country","banner"],skins:[{unified:"1f1ec-1f1f3",native:"🇬🇳"}],version:2},"flag-gp":{id:"flag-gp",name:"Guadeloupe Flag",keywords:["gp","nation","country","banner"],skins:[{unified:"1f1ec-1f1f5",native:"🇬🇵"}],version:2},"flag-gq":{id:"flag-gq",name:"Equatorial Guinea Flag",keywords:["gq","gn","nation","country","banner"],skins:[{unified:"1f1ec-1f1f6",native:"🇬🇶"}],version:2},"flag-gr":{id:"flag-gr",name:"Greece Flag",keywords:["gr","nation","country","banner"],skins:[{unified:"1f1ec-1f1f7",native:"🇬🇷"}],version:2},"flag-gs":{id:"flag-gs",name:"South Georgia & South Sandwich Islands Flag",keywords:["gs","nation","country","banner"],skins:[{unified:"1f1ec-1f1f8",native:"🇬🇸"}],version:2},"flag-gt":{id:"flag-gt",name:"Guatemala Flag",keywords:["gt","nation","country","banner"],skins:[{unified:"1f1ec-1f1f9",native:"🇬🇹"}],version:2},"flag-gu":{id:"flag-gu",name:"Guam Flag",keywords:["gu","nation","country","banner"],skins:[{unified:"1f1ec-1f1fa",native:"🇬🇺"}],version:2},"flag-gw":{id:"flag-gw",name:"Guinea-Bissau Flag",keywords:["gw","guinea","bissau","nation","country","banner"],skins:[{unified:"1f1ec-1f1fc",native:"🇬🇼"}],version:2},"flag-gy":{id:"flag-gy",name:"Guyana Flag",keywords:["gy","nation","country","banner"],skins:[{unified:"1f1ec-1f1fe",native:"🇬🇾"}],version:2},"flag-hk":{id:"flag-hk",name:"Hong Kong Sar China Flag",keywords:["hk","nation","country","banner"],skins:[{unified:"1f1ed-1f1f0",native:"🇭🇰"}],version:2},"flag-hm":{id:"flag-hm",name:"Heard & Mcdonald Islands Flag",keywords:["hm"],skins:[{unified:"1f1ed-1f1f2",native:"🇭🇲"}],version:2},"flag-hn":{id:"flag-hn",name:"Honduras Flag",keywords:["hn","nation","country","banner"],skins:[{unified:"1f1ed-1f1f3",native:"🇭🇳"}],version:2},"flag-hr":{id:"flag-hr",name:"Croatia Flag",keywords:["hr","nation","country","banner"],skins:[{unified:"1f1ed-1f1f7",native:"🇭🇷"}],version:2},"flag-ht":{id:"flag-ht",name:"Haiti Flag",keywords:["ht","nation","country","banner"],skins:[{unified:"1f1ed-1f1f9",native:"🇭🇹"}],version:2},"flag-hu":{id:"flag-hu",name:"Hungary Flag",keywords:["hu","nation","country","banner"],skins:[{unified:"1f1ed-1f1fa",native:"🇭🇺"}],version:2},"flag-ic":{id:"flag-ic",name:"Canary Islands Flag",keywords:["ic","nation","country","banner"],skins:[{unified:"1f1ee-1f1e8",native:"🇮🇨"}],version:2},"flag-id":{id:"flag-id",name:"Indonesia Flag",keywords:["id","nation","country","banner"],skins:[{unified:"1f1ee-1f1e9",native:"🇮🇩"}],version:2},"flag-ie":{id:"flag-ie",name:"Ireland Flag",keywords:["ie","nation","country","banner"],skins:[{unified:"1f1ee-1f1ea",native:"🇮🇪"}],version:2},"flag-il":{id:"flag-il",name:"Israel Flag",keywords:["il","nation","country","banner"],skins:[{unified:"1f1ee-1f1f1",native:"🇮🇱"}],version:2},"flag-im":{id:"flag-im",name:"Isle of Man Flag",keywords:["im","nation","country","banner"],skins:[{unified:"1f1ee-1f1f2",native:"🇮🇲"}],version:2},"flag-in":{id:"flag-in",name:"India Flag",keywords:["in","nation","country","banner"],skins:[{unified:"1f1ee-1f1f3",native:"🇮🇳"}],version:2},"flag-io":{id:"flag-io",name:"British Indian Ocean Territory Flag",keywords:["io","nation","country","banner"],skins:[{unified:"1f1ee-1f1f4",native:"🇮🇴"}],version:2},"flag-iq":{id:"flag-iq",name:"Iraq Flag",keywords:["iq","nation","country","banner"],skins:[{unified:"1f1ee-1f1f6",native:"🇮🇶"}],version:2},"flag-ir":{id:"flag-ir",name:"Iran Flag",keywords:["ir","islamic","republic","nation","country","banner"],skins:[{unified:"1f1ee-1f1f7",native:"🇮🇷"}],version:2},"flag-is":{id:"flag-is",name:"Iceland Flag",keywords:["is","nation","country","banner"],skins:[{unified:"1f1ee-1f1f8",native:"🇮🇸"}],version:2},it:{id:"it",name:"Italy Flag",keywords:["it","nation","country","banner"],skins:[{unified:"1f1ee-1f1f9",native:"🇮🇹"}],version:1},"flag-je":{id:"flag-je",name:"Jersey Flag",keywords:["je","nation","country","banner"],skins:[{unified:"1f1ef-1f1ea",native:"🇯🇪"}],version:2},"flag-jm":{id:"flag-jm",name:"Jamaica Flag",keywords:["jm","nation","country","banner"],skins:[{unified:"1f1ef-1f1f2",native:"🇯🇲"}],version:2},"flag-jo":{id:"flag-jo",name:"Jordan Flag",keywords:["jo","nation","country","banner"],skins:[{unified:"1f1ef-1f1f4",native:"🇯🇴"}],version:2},jp:{id:"jp",name:"Japan Flag",keywords:["jp","japanese","nation","country","banner","ja"],skins:[{unified:"1f1ef-1f1f5",native:"🇯🇵"}],version:1},"flag-ke":{id:"flag-ke",name:"Kenya Flag",keywords:["ke","nation","country","banner"],skins:[{unified:"1f1f0-1f1ea",native:"🇰🇪"}],version:2},"flag-kg":{id:"flag-kg",name:"Kyrgyzstan Flag",keywords:["kg","nation","country","banner"],skins:[{unified:"1f1f0-1f1ec",native:"🇰🇬"}],version:2},"flag-kh":{id:"flag-kh",name:"Cambodia Flag",keywords:["kh","nation","country","banner"],skins:[{unified:"1f1f0-1f1ed",native:"🇰🇭"}],version:2},"flag-ki":{id:"flag-ki",name:"Kiribati Flag",keywords:["ki","nation","country","banner"],skins:[{unified:"1f1f0-1f1ee",native:"🇰🇮"}],version:2},"flag-km":{id:"flag-km",name:"Comoros Flag",keywords:["km","nation","country","banner"],skins:[{unified:"1f1f0-1f1f2",native:"🇰🇲"}],version:2},"flag-kn":{id:"flag-kn",name:"St. Kitts & Nevis Flag",keywords:["kn","st","saint","nation","country","banner"],skins:[{unified:"1f1f0-1f1f3",native:"🇰🇳"}],version:2},"flag-kp":{id:"flag-kp",name:"North Korea Flag",keywords:["kp","nation","country","banner"],skins:[{unified:"1f1f0-1f1f5",native:"🇰🇵"}],version:2},kr:{id:"kr",name:"South Korea Flag",keywords:["kr","nation","country","banner"],skins:[{unified:"1f1f0-1f1f7",native:"🇰🇷"}],version:1},"flag-kw":{id:"flag-kw",name:"Kuwait Flag",keywords:["kw","nation","country","banner"],skins:[{unified:"1f1f0-1f1fc",native:"🇰🇼"}],version:2},"flag-ky":{id:"flag-ky",name:"Cayman Islands Flag",keywords:["ky","nation","country","banner"],skins:[{unified:"1f1f0-1f1fe",native:"🇰🇾"}],version:2},"flag-kz":{id:"flag-kz",name:"Kazakhstan Flag",keywords:["kz","nation","country","banner"],skins:[{unified:"1f1f0-1f1ff",native:"🇰🇿"}],version:2},"flag-la":{id:"flag-la",name:"Laos Flag",keywords:["la","lao","democratic","republic","nation","country","banner"],skins:[{unified:"1f1f1-1f1e6",native:"🇱🇦"}],version:2},"flag-lb":{id:"flag-lb",name:"Lebanon Flag",keywords:["lb","nation","country","banner"],skins:[{unified:"1f1f1-1f1e7",native:"🇱🇧"}],version:2},"flag-lc":{id:"flag-lc",name:"St. Lucia Flag",keywords:["lc","st","saint","nation","country","banner"],skins:[{unified:"1f1f1-1f1e8",native:"🇱🇨"}],version:2},"flag-li":{id:"flag-li",name:"Liechtenstein Flag",keywords:["li","nation","country","banner"],skins:[{unified:"1f1f1-1f1ee",native:"🇱🇮"}],version:2},"flag-lk":{id:"flag-lk",name:"Sri Lanka Flag",keywords:["lk","nation","country","banner"],skins:[{unified:"1f1f1-1f1f0",native:"🇱🇰"}],version:2},"flag-lr":{id:"flag-lr",name:"Liberia Flag",keywords:["lr","nation","country","banner"],skins:[{unified:"1f1f1-1f1f7",native:"🇱🇷"}],version:2},"flag-ls":{id:"flag-ls",name:"Lesotho Flag",keywords:["ls","nation","country","banner"],skins:[{unified:"1f1f1-1f1f8",native:"🇱🇸"}],version:2},"flag-lt":{id:"flag-lt",name:"Lithuania Flag",keywords:["lt","nation","country","banner"],skins:[{unified:"1f1f1-1f1f9",native:"🇱🇹"}],version:2},"flag-lu":{id:"flag-lu",name:"Luxembourg Flag",keywords:["lu","nation","country","banner"],skins:[{unified:"1f1f1-1f1fa",native:"🇱🇺"}],version:2},"flag-lv":{id:"flag-lv",name:"Latvia Flag",keywords:["lv","nation","country","banner"],skins:[{unified:"1f1f1-1f1fb",native:"🇱🇻"}],version:2},"flag-ly":{id:"flag-ly",name:"Libya Flag",keywords:["ly","nation","country","banner"],skins:[{unified:"1f1f1-1f1fe",native:"🇱🇾"}],version:2},"flag-ma":{id:"flag-ma",name:"Morocco Flag",keywords:["ma","nation","country","banner"],skins:[{unified:"1f1f2-1f1e6",native:"🇲🇦"}],version:2},"flag-mc":{id:"flag-mc",name:"Monaco Flag",keywords:["mc","nation","country","banner"],skins:[{unified:"1f1f2-1f1e8",native:"🇲🇨"}],version:2},"flag-md":{id:"flag-md",name:"Moldova Flag",keywords:["md","republic","nation","country","banner"],skins:[{unified:"1f1f2-1f1e9",native:"🇲🇩"}],version:2},"flag-me":{id:"flag-me",name:"Montenegro Flag",keywords:["me","nation","country","banner"],skins:[{unified:"1f1f2-1f1ea",native:"🇲🇪"}],version:2},"flag-mf":{id:"flag-mf",name:"St. Martin Flag",keywords:["mf","st"],skins:[{unified:"1f1f2-1f1eb",native:"🇲🇫"}],version:2},"flag-mg":{id:"flag-mg",name:"Madagascar Flag",keywords:["mg","nation","country","banner"],skins:[{unified:"1f1f2-1f1ec",native:"🇲🇬"}],version:2},"flag-mh":{id:"flag-mh",name:"Marshall Islands Flag",keywords:["mh","nation","country","banner"],skins:[{unified:"1f1f2-1f1ed",native:"🇲🇭"}],version:2},"flag-mk":{id:"flag-mk",name:"North Macedonia Flag",keywords:["mk","nation","country","banner"],skins:[{unified:"1f1f2-1f1f0",native:"🇲🇰"}],version:2},"flag-ml":{id:"flag-ml",name:"Mali Flag",keywords:["ml","nation","country","banner"],skins:[{unified:"1f1f2-1f1f1",native:"🇲🇱"}],version:2},"flag-mm":{id:"flag-mm",name:"Myanmar (burma) Flag",keywords:["mm","nation","country","banner"],skins:[{unified:"1f1f2-1f1f2",native:"🇲🇲"}],version:2},"flag-mn":{id:"flag-mn",name:"Mongolia Flag",keywords:["mn","nation","country","banner"],skins:[{unified:"1f1f2-1f1f3",native:"🇲🇳"}],version:2},"flag-mo":{id:"flag-mo",name:"Macao Sar China Flag",keywords:["mo","nation","country","banner"],skins:[{unified:"1f1f2-1f1f4",native:"🇲🇴"}],version:2},"flag-mp":{id:"flag-mp",name:"Northern Mariana Islands Flag",keywords:["mp","nation","country","banner"],skins:[{unified:"1f1f2-1f1f5",native:"🇲🇵"}],version:2},"flag-mq":{id:"flag-mq",name:"Martinique Flag",keywords:["mq","nation","country","banner"],skins:[{unified:"1f1f2-1f1f6",native:"🇲🇶"}],version:2},"flag-mr":{id:"flag-mr",name:"Mauritania Flag",keywords:["mr","nation","country","banner"],skins:[{unified:"1f1f2-1f1f7",native:"🇲🇷"}],version:2},"flag-ms":{id:"flag-ms",name:"Montserrat Flag",keywords:["ms","nation","country","banner"],skins:[{unified:"1f1f2-1f1f8",native:"🇲🇸"}],version:2},"flag-mt":{id:"flag-mt",name:"Malta Flag",keywords:["mt","nation","country","banner"],skins:[{unified:"1f1f2-1f1f9",native:"🇲🇹"}],version:2},"flag-mu":{id:"flag-mu",name:"Mauritius Flag",keywords:["mu","nation","country","banner"],skins:[{unified:"1f1f2-1f1fa",native:"🇲🇺"}],version:2},"flag-mv":{id:"flag-mv",name:"Maldives Flag",keywords:["mv","nation","country","banner"],skins:[{unified:"1f1f2-1f1fb",native:"🇲🇻"}],version:2},"flag-mw":{id:"flag-mw",name:"Malawi Flag",keywords:["mw","nation","country","banner"],skins:[{unified:"1f1f2-1f1fc",native:"🇲🇼"}],version:2},"flag-mx":{id:"flag-mx",name:"Mexico Flag",keywords:["mx","nation","country","banner"],skins:[{unified:"1f1f2-1f1fd",native:"🇲🇽"}],version:2},"flag-my":{id:"flag-my",name:"Malaysia Flag",keywords:["my","nation","country","banner"],skins:[{unified:"1f1f2-1f1fe",native:"🇲🇾"}],version:2},"flag-mz":{id:"flag-mz",name:"Mozambique Flag",keywords:["mz","nation","country","banner"],skins:[{unified:"1f1f2-1f1ff",native:"🇲🇿"}],version:2},"flag-na":{id:"flag-na",name:"Namibia Flag",keywords:["na","nation","country","banner"],skins:[{unified:"1f1f3-1f1e6",native:"🇳🇦"}],version:2},"flag-nc":{id:"flag-nc",name:"New Caledonia Flag",keywords:["nc","nation","country","banner"],skins:[{unified:"1f1f3-1f1e8",native:"🇳🇨"}],version:2},"flag-ne":{id:"flag-ne",name:"Niger Flag",keywords:["ne","nation","country","banner"],skins:[{unified:"1f1f3-1f1ea",native:"🇳🇪"}],version:2},"flag-nf":{id:"flag-nf",name:"Norfolk Island Flag",keywords:["nf","nation","country","banner"],skins:[{unified:"1f1f3-1f1eb",native:"🇳🇫"}],version:2},"flag-ng":{id:"flag-ng",name:"Nigeria Flag",keywords:["ng","nation","country","banner"],skins:[{unified:"1f1f3-1f1ec",native:"🇳🇬"}],version:2},"flag-ni":{id:"flag-ni",name:"Nicaragua Flag",keywords:["ni","nation","country","banner"],skins:[{unified:"1f1f3-1f1ee",native:"🇳🇮"}],version:2},"flag-nl":{id:"flag-nl",name:"Netherlands Flag",keywords:["nl","nation","country","banner"],skins:[{unified:"1f1f3-1f1f1",native:"🇳🇱"}],version:2},"flag-no":{id:"flag-no",name:"Norway Flag",keywords:["no","nation","country","banner"],skins:[{unified:"1f1f3-1f1f4",native:"🇳🇴"}],version:2},"flag-np":{id:"flag-np",name:"Nepal Flag",keywords:["np","nation","country","banner"],skins:[{unified:"1f1f3-1f1f5",native:"🇳🇵"}],version:2},"flag-nr":{id:"flag-nr",name:"Nauru Flag",keywords:["nr","nation","country","banner"],skins:[{unified:"1f1f3-1f1f7",native:"🇳🇷"}],version:2},"flag-nu":{id:"flag-nu",name:"Niue Flag",keywords:["nu","nation","country","banner"],skins:[{unified:"1f1f3-1f1fa",native:"🇳🇺"}],version:2},"flag-nz":{id:"flag-nz",name:"New Zealand Flag",keywords:["nz","nation","country","banner"],skins:[{unified:"1f1f3-1f1ff",native:"🇳🇿"}],version:2},"flag-om":{id:"flag-om",name:"Oman Flag",keywords:["om","symbol","nation","country","banner"],skins:[{unified:"1f1f4-1f1f2",native:"🇴🇲"}],version:2},"flag-pa":{id:"flag-pa",name:"Panama Flag",keywords:["pa","nation","country","banner"],skins:[{unified:"1f1f5-1f1e6",native:"🇵🇦"}],version:2},"flag-pe":{id:"flag-pe",name:"Peru Flag",keywords:["pe","nation","country","banner"],skins:[{unified:"1f1f5-1f1ea",native:"🇵🇪"}],version:2},"flag-pf":{id:"flag-pf",name:"French Polynesia Flag",keywords:["pf","nation","country","banner"],skins:[{unified:"1f1f5-1f1eb",native:"🇵🇫"}],version:2},"flag-pg":{id:"flag-pg",name:"Papua New Guinea Flag",keywords:["pg","nation","country","banner"],skins:[{unified:"1f1f5-1f1ec",native:"🇵🇬"}],version:2},"flag-ph":{id:"flag-ph",name:"Philippines Flag",keywords:["ph","nation","country","banner"],skins:[{unified:"1f1f5-1f1ed",native:"🇵🇭"}],version:2},"flag-pk":{id:"flag-pk",name:"Pakistan Flag",keywords:["pk","nation","country","banner"],skins:[{unified:"1f1f5-1f1f0",native:"🇵🇰"}],version:2},"flag-pl":{id:"flag-pl",name:"Poland Flag",keywords:["pl","nation","country","banner"],skins:[{unified:"1f1f5-1f1f1",native:"🇵🇱"}],version:2},"flag-pm":{id:"flag-pm",name:"St. Pierre & Miquelon Flag",keywords:["pm","st","saint","nation","country","banner"],skins:[{unified:"1f1f5-1f1f2",native:"🇵🇲"}],version:2},"flag-pn":{id:"flag-pn",name:"Pitcairn Islands Flag",keywords:["pn","nation","country","banner"],skins:[{unified:"1f1f5-1f1f3",native:"🇵🇳"}],version:2},"flag-pr":{id:"flag-pr",name:"Puerto Rico Flag",keywords:["pr","nation","country","banner"],skins:[{unified:"1f1f5-1f1f7",native:"🇵🇷"}],version:2},"flag-ps":{id:"flag-ps",name:"Palestinian Territories Flag",keywords:["ps","palestine","nation","country","banner"],skins:[{unified:"1f1f5-1f1f8",native:"🇵🇸"}],version:2},"flag-pt":{id:"flag-pt",name:"Portugal Flag",keywords:["pt","nation","country","banner"],skins:[{unified:"1f1f5-1f1f9",native:"🇵🇹"}],version:2},"flag-pw":{id:"flag-pw",name:"Palau Flag",keywords:["pw","nation","country","banner"],skins:[{unified:"1f1f5-1f1fc",native:"🇵🇼"}],version:2},"flag-py":{id:"flag-py",name:"Paraguay Flag",keywords:["py","nation","country","banner"],skins:[{unified:"1f1f5-1f1fe",native:"🇵🇾"}],version:2},"flag-qa":{id:"flag-qa",name:"Qatar Flag",keywords:["qa","nation","country","banner"],skins:[{unified:"1f1f6-1f1e6",native:"🇶🇦"}],version:2},"flag-re":{id:"flag-re",name:"Réunion Flag",keywords:["re","reunion","nation","country","banner"],skins:[{unified:"1f1f7-1f1ea",native:"🇷🇪"}],version:2},"flag-ro":{id:"flag-ro",name:"Romania Flag",keywords:["ro","nation","country","banner"],skins:[{unified:"1f1f7-1f1f4",native:"🇷🇴"}],version:2},"flag-rs":{id:"flag-rs",name:"Serbia Flag",keywords:["rs","nation","country","banner"],skins:[{unified:"1f1f7-1f1f8",native:"🇷🇸"}],version:2},ru:{id:"ru",name:"Russia Flag",keywords:["ru","russian","federation","nation","country","banner"],skins:[{unified:"1f1f7-1f1fa",native:"🇷🇺"}],version:1},"flag-rw":{id:"flag-rw",name:"Rwanda Flag",keywords:["rw","nation","country","banner"],skins:[{unified:"1f1f7-1f1fc",native:"🇷🇼"}],version:2},"flag-sa":{id:"flag-sa",name:"Saudi Arabia Flag",keywords:["sa","nation","country","banner"],skins:[{unified:"1f1f8-1f1e6",native:"🇸🇦"}],version:2},"flag-sb":{id:"flag-sb",name:"Solomon Islands Flag",keywords:["sb","nation","country","banner"],skins:[{unified:"1f1f8-1f1e7",native:"🇸🇧"}],version:2},"flag-sc":{id:"flag-sc",name:"Seychelles Flag",keywords:["sc","nation","country","banner"],skins:[{unified:"1f1f8-1f1e8",native:"🇸🇨"}],version:2},"flag-sd":{id:"flag-sd",name:"Sudan Flag",keywords:["sd","nation","country","banner"],skins:[{unified:"1f1f8-1f1e9",native:"🇸🇩"}],version:2},"flag-se":{id:"flag-se",name:"Sweden Flag",keywords:["se","nation","country","banner"],skins:[{unified:"1f1f8-1f1ea",native:"🇸🇪"}],version:2},"flag-sg":{id:"flag-sg",name:"Singapore Flag",keywords:["sg","nation","country","banner"],skins:[{unified:"1f1f8-1f1ec",native:"🇸🇬"}],version:2},"flag-sh":{id:"flag-sh",name:"St. Helena Flag",keywords:["sh","st","saint","ascension","tristan","cunha","nation","country","banner"],skins:[{unified:"1f1f8-1f1ed",native:"🇸🇭"}],version:2},"flag-si":{id:"flag-si",name:"Slovenia Flag",keywords:["si","nation","country","banner"],skins:[{unified:"1f1f8-1f1ee",native:"🇸🇮"}],version:2},"flag-sj":{id:"flag-sj",name:"Svalbard & Jan Mayen Flag",keywords:["sj"],skins:[{unified:"1f1f8-1f1ef",native:"🇸🇯"}],version:2},"flag-sk":{id:"flag-sk",name:"Slovakia Flag",keywords:["sk","nation","country","banner"],skins:[{unified:"1f1f8-1f1f0",native:"🇸🇰"}],version:2},"flag-sl":{id:"flag-sl",name:"Sierra Leone Flag",keywords:["sl","nation","country","banner"],skins:[{unified:"1f1f8-1f1f1",native:"🇸🇱"}],version:2},"flag-sm":{id:"flag-sm",name:"San Marino Flag",keywords:["sm","nation","country","banner"],skins:[{unified:"1f1f8-1f1f2",native:"🇸🇲"}],version:2},"flag-sn":{id:"flag-sn",name:"Senegal Flag",keywords:["sn","nation","country","banner"],skins:[{unified:"1f1f8-1f1f3",native:"🇸🇳"}],version:2},"flag-so":{id:"flag-so",name:"Somalia Flag",keywords:["so","nation","country","banner"],skins:[{unified:"1f1f8-1f1f4",native:"🇸🇴"}],version:2},"flag-sr":{id:"flag-sr",name:"Suriname Flag",keywords:["sr","nation","country","banner"],skins:[{unified:"1f1f8-1f1f7",native:"🇸🇷"}],version:2},"flag-ss":{id:"flag-ss",name:"South Sudan Flag",keywords:["ss","sd","nation","country","banner"],skins:[{unified:"1f1f8-1f1f8",native:"🇸🇸"}],version:2},"flag-st":{id:"flag-st",name:"São Tomé & Príncipe Flag",keywords:["st","sao","tome","principe","nation","country","banner"],skins:[{unified:"1f1f8-1f1f9",native:"🇸🇹"}],version:2},"flag-sv":{id:"flag-sv",name:"El Salvador Flag",keywords:["sv","nation","country","banner"],skins:[{unified:"1f1f8-1f1fb",native:"🇸🇻"}],version:2},"flag-sx":{id:"flag-sx",name:"Sint Maarten Flag",keywords:["sx","dutch","nation","country","banner"],skins:[{unified:"1f1f8-1f1fd",native:"🇸🇽"}],version:2},"flag-sy":{id:"flag-sy",name:"Syria Flag",keywords:["sy","syrian","arab","republic","nation","country","banner"],skins:[{unified:"1f1f8-1f1fe",native:"🇸🇾"}],version:2},"flag-sz":{id:"flag-sz",name:"Eswatini Flag",keywords:["sz","nation","country","banner"],skins:[{unified:"1f1f8-1f1ff",native:"🇸🇿"}],version:2},"flag-ta":{id:"flag-ta",name:"Tristan Da Cunha Flag",keywords:["ta"],skins:[{unified:"1f1f9-1f1e6",native:"🇹🇦"}],version:2},"flag-tc":{id:"flag-tc",name:"Turks & Caicos Islands Flag",keywords:["tc","nation","country","banner"],skins:[{unified:"1f1f9-1f1e8",native:"🇹🇨"}],version:2},"flag-td":{id:"flag-td",name:"Chad Flag",keywords:["td","nation","country","banner"],skins:[{unified:"1f1f9-1f1e9",native:"🇹🇩"}],version:2},"flag-tf":{id:"flag-tf",name:"French Southern Territories Flag",keywords:["tf","nation","country","banner"],skins:[{unified:"1f1f9-1f1eb",native:"🇹🇫"}],version:2},"flag-tg":{id:"flag-tg",name:"Togo Flag",keywords:["tg","nation","country","banner"],skins:[{unified:"1f1f9-1f1ec",native:"🇹🇬"}],version:2},"flag-th":{id:"flag-th",name:"Thailand Flag",keywords:["th","nation","country","banner"],skins:[{unified:"1f1f9-1f1ed",native:"🇹🇭"}],version:2},"flag-tj":{id:"flag-tj",name:"Tajikistan Flag",keywords:["tj","nation","country","banner"],skins:[{unified:"1f1f9-1f1ef",native:"🇹🇯"}],version:2},"flag-tk":{id:"flag-tk",name:"Tokelau Flag",keywords:["tk","nation","country","banner"],skins:[{unified:"1f1f9-1f1f0",native:"🇹🇰"}],version:2},"flag-tl":{id:"flag-tl",name:"Timor-Leste Flag",keywords:["tl","timor","leste","nation","country","banner"],skins:[{unified:"1f1f9-1f1f1",native:"🇹🇱"}],version:2},"flag-tm":{id:"flag-tm",name:"Turkmenistan Flag",keywords:["tm","nation","country","banner"],skins:[{unified:"1f1f9-1f1f2",native:"🇹🇲"}],version:2},"flag-tn":{id:"flag-tn",name:"Tunisia Flag",keywords:["tn","nation","country","banner"],skins:[{unified:"1f1f9-1f1f3",native:"🇹🇳"}],version:2},"flag-to":{id:"flag-to",name:"Tonga Flag",keywords:["to","nation","country","banner"],skins:[{unified:"1f1f9-1f1f4",native:"🇹🇴"}],version:2},"flag-tr":{id:"flag-tr",name:"Turkey Flag",keywords:["tr","nation","country","banner"],skins:[{unified:"1f1f9-1f1f7",native:"🇹🇷"}],version:2},"flag-tt":{id:"flag-tt",name:"Trinidad & Tobago Flag",keywords:["tt","nation","country","banner"],skins:[{unified:"1f1f9-1f1f9",native:"🇹🇹"}],version:2},"flag-tv":{id:"flag-tv",name:"Tuvalu Flag",keywords:["tv","nation","country","banner"],skins:[{unified:"1f1f9-1f1fb",native:"🇹🇻"}],version:2},"flag-tw":{id:"flag-tw",name:"Taiwan Flag",keywords:["tw","nation","country","banner"],skins:[{unified:"1f1f9-1f1fc",native:"🇹🇼"}],version:2},"flag-tz":{id:"flag-tz",name:"Tanzania Flag",keywords:["tz","united","republic","nation","country","banner"],skins:[{unified:"1f1f9-1f1ff",native:"🇹🇿"}],version:2},"flag-ua":{id:"flag-ua",name:"Ukraine Flag",keywords:["ua","nation","country","banner"],skins:[{unified:"1f1fa-1f1e6",native:"🇺🇦"}],version:2},"flag-ug":{id:"flag-ug",name:"Uganda Flag",keywords:["ug","nation","country","banner"],skins:[{unified:"1f1fa-1f1ec",native:"🇺🇬"}],version:2},"flag-um":{id:"flag-um",name:"U.s. Outlying Islands Flag",keywords:["um","u","s"],skins:[{unified:"1f1fa-1f1f2",native:"🇺🇲"}],version:2},"flag-un":{id:"flag-un",name:"United Nations Flag",keywords:["un","banner"],skins:[{unified:"1f1fa-1f1f3",native:"🇺🇳"}],version:4},us:{id:"us",name:"United States Flag",keywords:["us","america","nation","country","banner"],skins:[{unified:"1f1fa-1f1f8",native:"🇺🇸"}],version:1},"flag-uy":{id:"flag-uy",name:"Uruguay Flag",keywords:["uy","nation","country","banner"],skins:[{unified:"1f1fa-1f1fe",native:"🇺🇾"}],version:2},"flag-uz":{id:"flag-uz",name:"Uzbekistan Flag",keywords:["uz","nation","country","banner"],skins:[{unified:"1f1fa-1f1ff",native:"🇺🇿"}],version:2},"flag-va":{id:"flag-va",name:"Vatican City Flag",keywords:["va","nation","country","banner"],skins:[{unified:"1f1fb-1f1e6",native:"🇻🇦"}],version:2},"flag-vc":{id:"flag-vc",name:"St. Vincent & Grenadines Flag",keywords:["vc","st","saint","nation","country","banner"],skins:[{unified:"1f1fb-1f1e8",native:"🇻🇨"}],version:2},"flag-ve":{id:"flag-ve",name:"Venezuela Flag",keywords:["ve","bolivarian","republic","nation","country","banner"],skins:[{unified:"1f1fb-1f1ea",native:"🇻🇪"}],version:2},"flag-vg":{id:"flag-vg",name:"British Virgin Islands Flag",keywords:["vg","bvi","nation","country","banner"],skins:[{unified:"1f1fb-1f1ec",native:"🇻🇬"}],version:2},"flag-vi":{id:"flag-vi",name:"U.s. Virgin Islands Flag",keywords:["vi","u","s","us","nation","country","banner"],skins:[{unified:"1f1fb-1f1ee",native:"🇻🇮"}],version:2},"flag-vn":{id:"flag-vn",name:"Vietnam Flag",keywords:["vn","viet","nam","nation","country","banner"],skins:[{unified:"1f1fb-1f1f3",native:"🇻🇳"}],version:2},"flag-vu":{id:"flag-vu",name:"Vanuatu Flag",keywords:["vu","nation","country","banner"],skins:[{unified:"1f1fb-1f1fa",native:"🇻🇺"}],version:2},"flag-wf":{id:"flag-wf",name:"Wallis & Futuna Flag",keywords:["wf","nation","country","banner"],skins:[{unified:"1f1fc-1f1eb",native:"🇼🇫"}],version:2},"flag-ws":{id:"flag-ws",name:"Samoa Flag",keywords:["ws","nation","country","banner"],skins:[{unified:"1f1fc-1f1f8",native:"🇼🇸"}],version:2},"flag-xk":{id:"flag-xk",name:"Kosovo Flag",keywords:["xk","nation","country","banner"],skins:[{unified:"1f1fd-1f1f0",native:"🇽🇰"}],version:2},"flag-ye":{id:"flag-ye",name:"Yemen Flag",keywords:["ye","nation","country","banner"],skins:[{unified:"1f1fe-1f1ea",native:"🇾🇪"}],version:2},"flag-yt":{id:"flag-yt",name:"Mayotte Flag",keywords:["yt","nation","country","banner"],skins:[{unified:"1f1fe-1f1f9",native:"🇾🇹"}],version:2},"flag-za":{id:"flag-za",name:"South Africa Flag",keywords:["za","nation","country","banner"],skins:[{unified:"1f1ff-1f1e6",native:"🇿🇦"}],version:2},"flag-zm":{id:"flag-zm",name:"Zambia Flag",keywords:["zm","nation","country","banner"],skins:[{unified:"1f1ff-1f1f2",native:"🇿🇲"}],version:2},"flag-zw":{id:"flag-zw",name:"Zimbabwe Flag",keywords:["zw","nation","country","banner"],skins:[{unified:"1f1ff-1f1fc",native:"🇿🇼"}],version:2},"flag-england":{id:"flag-england",name:"England Flag",keywords:["english"],skins:[{unified:"1f3f4-e0067-e0062-e0065-e006e-e0067-e007f",native:"🏴󠁧󠁢󠁥󠁮󠁧󠁿"}],version:5},"flag-scotland":{id:"flag-scotland",name:"Scotland Flag",keywords:["scottish"],skins:[{unified:"1f3f4-e0067-e0062-e0073-e0063-e0074-e007f",native:"🏴󠁧󠁢󠁳󠁣󠁴󠁿"}],version:5},"flag-wales":{id:"flag-wales",name:"Wales Flag",keywords:["welsh"],skins:[{unified:"1f3f4-e0067-e0062-e0077-e006c-e0073-e007f",native:"🏴󠁧󠁢󠁷󠁬󠁳󠁿"}],version:5}},aliases:{satisfied:"laughing",grinning_face_with_star_eyes:"star-struck",grinning_face_with_one_large_and_one_small_eye:"zany_face",smiling_face_with_smiling_eyes_and_hand_covering_mouth:"face_with_hand_over_mouth",face_with_finger_covering_closed_lips:"shushing_face",face_with_one_eyebrow_raised:"face_with_raised_eyebrow",face_with_open_mouth_vomiting:"face_vomiting",shocked_face_with_exploding_head:"exploding_head",serious_face_with_symbols_covering_mouth:"face_with_symbols_on_mouth",poop:"hankey",shit:"hankey",collision:"boom",raised_hand:"hand",hand_with_index_and_middle_fingers_crossed:"crossed_fingers",sign_of_the_horns:"the_horns",reversed_hand_with_middle_finger_extended:"middle_finger",thumbsup:"+1",thumbsdown:"-1",punch:"facepunch",mother_christmas:"mrs_claus",running:"runner","man-with-bunny-ears-partying":"men-with-bunny-ears-partying","woman-with-bunny-ears-partying":"women-with-bunny-ears-partying",women_holding_hands:"two_women_holding_hands",woman_and_man_holding_hands:"man_and_woman_holding_hands",couple:"man_and_woman_holding_hands",men_holding_hands:"two_men_holding_hands",paw_prints:"feet",flipper:"dolphin",honeybee:"bee",lady_beetle:"ladybug",cooking:"fried_egg",knife:"hocho",red_car:"car",sailboat:"boat",waxing_gibbous_moon:"moon",sun_small_cloud:"mostly_sunny",sun_behind_cloud:"barely_sunny",sun_behind_rain_cloud:"partly_sunny_rain",lightning_cloud:"lightning",tornado_cloud:"tornado",tshirt:"shirt",shoe:"mans_shoe",telephone:"phone",lantern:"izakaya_lantern",open_book:"book",envelope:"email",pencil:"memo",heavy_exclamation_mark:"exclamation",staff_of_aesculapius:"medical_symbol","flag-cn":"cn","flag-de":"de","flag-es":"es","flag-fr":"fr",uk:"gb","flag-gb":"gb","flag-it":"it","flag-jp":"jp","flag-kr":"kr","flag-ru":"ru","flag-us":"us"},sheet:{cols:61,rows:61}};function Ea(e){return e&&e.__esModule?e.default:e}function Fa(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var wa,Ta,xa,ka,Na,Oa,Za={},Ua=[],Ra=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function Xa(e,t){for(var n in t)e[n]=t[n];return e}function Wa(e){var t=e.parentNode;t&&t.removeChild(e)}function Va(e,t,n){var i,o,r,a={};for(r in t)"key"==r?i=t[r]:"ref"==r?o=t[r]:a[r]=t[r];if(arguments.length>2&&(a.children=arguments.length>3?wa.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(r in e.defaultProps)void 0===a[r]&&(a[r]=e.defaultProps[r]);return Pa(e,a,i,o,null)}function Pa(e,t,n,i,o){var r={type:e,props:t,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:o??++xa};return null==o&&null!=Ta.vnode&&Ta.vnode(r),r}function Da(e){return e.children}function Ha(e,t){this.props=e,this.context=t}function La(e,t){if(null==t)return e.__?La(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e)return n.__e;return"function"==typeof e.type?La(e):null}function Ya(e){var t,n;if(null!=(e=e.__)&&null!=e.__c){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if(null!=(n=e.__k[t])&&null!=n.__e){e.__e=e.__c.base=n.__e;break}return Ya(e)}}function Ma(e){(!e.__d&&(e.__d=!0)&&ka.push(e)&&!Ja.__r++||Oa!==Ta.debounceRendering)&&((Oa=Ta.debounceRendering)||Na)(Ja)}function Ja(){for(var e;Ja.__r=ka.length;)e=ka.sort((function(e,t){return e.__v.__b-t.__v.__b})),ka=[],e.some((function(e){var t,n,i,o,r,a;e.__d&&(r=(o=(t=e).__v).__e,(a=t.__P)&&(n=[],(i=Xa({},o)).__v=o.__v+1,is(a,o,i,t.__n,void 0!==a.ownerSVGElement,null!=o.__h?[r]:null,n,r??La(o),o.__h),os(n,o),o.__e!=r&&Ya(o)))}))}function ja(e,t,n,i,o,r,a,s,c,l){var u,d,g,p,m,f,I,h=i&&i.__k||Ua,b=h.length;for(n.__k=[],u=0;u<t.length;u++)if(null!=(p=n.__k[u]=null==(p=t[u])||"boolean"==typeof p?null:"string"==typeof p||"number"==typeof p||"bigint"==typeof p?Pa(null,p,null,null,p):Array.isArray(p)?Pa(Da,{children:p},null,null,null):p.__b>0?Pa(p.type,p.props,p.key,null,p.__v):p)){if(p.__=n,p.__b=n.__b+1,null===(g=h[u])||g&&p.key==g.key&&p.type===g.type)h[u]=void 0;else for(d=0;d<b;d++){if((g=h[d])&&p.key==g.key&&p.type===g.type){h[d]=void 0;break}g=null}is(e,p,g=g||Za,o,r,a,s,c,l),m=p.__e,(d=p.ref)&&g.ref!=d&&(I||(I=[]),g.ref&&I.push(g.ref,null,p),I.push(d,p.__c||m,p)),null!=m?(null==f&&(f=m),"function"==typeof p.type&&p.__k===g.__k?p.__d=c=za(p,c,e):c=qa(e,p,g,h,m,c),"function"==typeof n.type&&(n.__d=c)):c&&g.__e==c&&c.parentNode!=e&&(c=La(g))}for(n.__e=f,u=b;u--;)null!=h[u]&&("function"==typeof n.type&&null!=h[u].__e&&h[u].__e==n.__d&&(n.__d=La(i,u+1)),as(h[u],h[u]));if(I)for(u=0;u<I.length;u++)rs(I[u],I[++u],I[++u])}function za(e,t,n){for(var i,o=e.__k,r=0;o&&r<o.length;r++)(i=o[r])&&(i.__=e,t="function"==typeof i.type?za(i,t,n):qa(n,i,i,o,i.__e,t));return t}function Ka(e,t){return t=t||[],null==e||"boolean"==typeof e||(Array.isArray(e)?e.some((function(e){Ka(e,t)})):t.push(e)),t}function qa(e,t,n,i,o,r){var a,s,c;if(void 0!==t.__d)a=t.__d,t.__d=void 0;else if(null==n||o!=r||null==o.parentNode)e:if(null==r||r.parentNode!==e)e.appendChild(o),a=null;else{for(s=r,c=0;(s=s.nextSibling)&&c<i.length;c+=2)if(s==o)break e;e.insertBefore(o,r),a=r}return void 0!==a?a:o.nextSibling}function $a(e,t,n){"-"===t[0]?e.setProperty(t,n):e[t]=null==n?"":"number"!=typeof n||Ra.test(t)?n:n+"px"}function es(e,t,n,i,o){var r;e:if("style"===t)if("string"==typeof n)e.style.cssText=n;else{if("string"==typeof i&&(e.style.cssText=i=""),i)for(t in i)n&&t in n||$a(e.style,t,"");if(n)for(t in n)i&&n[t]===i[t]||$a(e.style,t,n[t])}else if("o"===t[0]&&"n"===t[1])r=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=n,n?i||e.addEventListener(t,r?ns:ts,r):e.removeEventListener(t,r?ns:ts,r);else if("dangerouslySetInnerHTML"!==t){if(o)t=t.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if("href"!==t&&"list"!==t&&"form"!==t&&"tabIndex"!==t&&"download"!==t&&t in e)try{e[t]=n??"";break e}catch{}"function"==typeof n||(null!=n&&(!1!==n||"a"===t[0]&&"r"===t[1])?e.setAttribute(t,n):e.removeAttribute(t))}}function ts(e){this.l[e.type+!1](Ta.event?Ta.event(e):e)}function ns(e){this.l[e.type+!0](Ta.event?Ta.event(e):e)}function is(e,t,n,i,o,r,a,s,c){var l,u,d,g,p,m,f,I,h,b,y,C=t.type;if(void 0!==t.constructor)return null;null!=n.__h&&(c=n.__h,s=t.__e=n.__e,t.__h=null,r=[s]),(l=Ta.__b)&&l(t);try{e:if("function"==typeof C){if(I=t.props,h=(l=C.contextType)&&i[l.__c],b=l?h?h.props.value:l.__:i,n.__c?f=(u=t.__c=n.__c).__=u.__E:("prototype"in C&&C.prototype.render?t.__c=u=new C(I,b):(t.__c=u=new Ha(I,b),u.constructor=C,u.render=ss),h&&h.sub(u),u.props=I,u.state||(u.state={}),u.context=b,u.__n=i,d=u.__d=!0,u.__h=[]),null==u.__s&&(u.__s=u.state),null!=C.getDerivedStateFromProps&&(u.__s==u.state&&(u.__s=Xa({},u.__s)),Xa(u.__s,C.getDerivedStateFromProps(I,u.__s))),g=u.props,p=u.state,d)null==C.getDerivedStateFromProps&&null!=u.componentWillMount&&u.componentWillMount(),null!=u.componentDidMount&&u.__h.push(u.componentDidMount);else{if(null==C.getDerivedStateFromProps&&I!==g&&null!=u.componentWillReceiveProps&&u.componentWillReceiveProps(I,b),!u.__e&&null!=u.shouldComponentUpdate&&!1===u.shouldComponentUpdate(I,u.__s,b)||t.__v===n.__v){u.props=I,u.state=u.__s,t.__v!==n.__v&&(u.__d=!1),u.__v=t,t.__e=n.__e,t.__k=n.__k,t.__k.forEach((function(e){e&&(e.__=t)})),u.__h.length&&a.push(u);break e}null!=u.componentWillUpdate&&u.componentWillUpdate(I,u.__s,b),null!=u.componentDidUpdate&&u.__h.push((function(){u.componentDidUpdate(g,p,m)}))}u.context=b,u.props=I,u.state=u.__s,(l=Ta.__r)&&l(t),u.__d=!1,u.__v=t,u.__P=e,l=u.render(u.props,u.state,u.context),u.state=u.__s,null!=u.getChildContext&&(i=Xa(Xa({},i),u.getChildContext())),d||null==u.getSnapshotBeforeUpdate||(m=u.getSnapshotBeforeUpdate(g,p)),y=null!=l&&l.type===Da&&null==l.key?l.props.children:l,ja(e,Array.isArray(y)?y:[y],t,n,i,o,r,a,s,c),u.base=t.__e,t.__h=null,u.__h.length&&a.push(u),f&&(u.__E=u.__=null),u.__e=!1}else null==r&&t.__v===n.__v?(t.__k=n.__k,t.__e=n.__e):t.__e=function(e,t,n,i,o,r,a,s){var c,l,u,d=n.props,g=t.props,p=t.type,m=0;if("svg"===p&&(o=!0),null!=r)for(;m<r.length;m++)if((c=r[m])&&"setAttribute"in c==!!p&&(p?c.localName===p:3===c.nodeType)){e=c,r[m]=null;break}if(null==e){if(null===p)return document.createTextNode(g);e=o?document.createElementNS("http://www.w3.org/2000/svg",p):document.createElement(p,g.is&&g),r=null,s=!1}if(null===p)d===g||s&&e.data===g||(e.data=g);else{if(r=r&&wa.call(e.childNodes),l=(d=n.props||Za).dangerouslySetInnerHTML,u=g.dangerouslySetInnerHTML,!s){if(null!=r)for(d={},m=0;m<e.attributes.length;m++)d[e.attributes[m].name]=e.attributes[m].value;(u||l)&&(u&&(l&&u.__html==l.__html||u.__html===e.innerHTML)||(e.innerHTML=u&&u.__html||""))}if(function(e,t,n,i,o){var r;for(r in n)"children"===r||"key"===r||r in t||es(e,r,null,n[r],i);for(r in t)o&&"function"!=typeof t[r]||"children"===r||"key"===r||"value"===r||"checked"===r||n[r]===t[r]||es(e,r,t[r],n[r],i)}(e,g,d,o,s),u)t.__k=[];else if(m=t.props.children,ja(e,Array.isArray(m)?m:[m],t,n,i,o&&"foreignObject"!==p,r,a,r?r[0]:n.__k&&La(n,0),s),null!=r)for(m=r.length;m--;)null!=r[m]&&Wa(r[m]);s||("value"in g&&void 0!==(m=g.value)&&(m!==d.value||m!==e.value||"progress"===p&&!m)&&es(e,"value",m,d.value,!1),"checked"in g&&void 0!==(m=g.checked)&&m!==e.checked&&es(e,"checked",m,d.checked,!1))}return e}(n.__e,t,n,i,o,r,a,c);(l=Ta.diffed)&&l(t)}catch(v){t.__v=null,(c||null!=r)&&(t.__e=s,t.__h=!!c,r[r.indexOf(s)]=null),Ta.__e(v,t,n)}}function os(e,t){Ta.__c&&Ta.__c(t,e),e.some((function(t){try{e=t.__h,t.__h=[],e.some((function(e){e.call(t)}))}catch(n){Ta.__e(n,t.__v)}}))}function rs(e,t,n){try{"function"==typeof e?e(t):e.current=t}catch(i){Ta.__e(i,n)}}function as(e,t,n){var i,o;if(Ta.unmount&&Ta.unmount(e),(i=e.ref)&&(i.current&&i.current!==e.__e||rs(i,null,t)),null!=(i=e.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(r){Ta.__e(r,t)}i.base=i.__P=null}if(i=e.__k)for(o=0;o<i.length;o++)i[o]&&as(i[o],t,"function"!=typeof e.type);n||null==e.__e||Wa(e.__e),e.__e=e.__d=void 0}function ss(e,t,n){return this.constructor(e,n)}function cs(e,t,n){var i,o,r;Ta.__&&Ta.__(e,t),o=(i="function"==typeof n)?null:n&&n.__k||t.__k,r=[],is(t,e=(!i&&n||t).__k=Va(Da,null,[e]),o||Za,Za,void 0!==t.ownerSVGElement,!i&&n?[n]:o?null:t.firstChild?wa.call(t.childNodes):null,r,!i&&n?n:o?o.__e:t.firstChild,i),os(r,e)}wa=Ua.slice,Ta={__e:function(e,t){for(var n,i,o;t=t.__;)if((n=t.__c)&&!n.__)try{if((i=n.constructor)&&null!=i.getDerivedStateFromError&&(n.setState(i.getDerivedStateFromError(e)),o=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e),o=n.__d),o)return n.__E=n}catch(r){e=r}throw e}},xa=0,Ha.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=Xa({},this.state),"function"==typeof e&&(e=e(Xa({},n),this.props)),e&&Xa(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),Ma(this))},Ha.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),Ma(this))},Ha.prototype.render=Da,ka=[],Na="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Ja.__r=0;var ls=0;function us(e,t,n,i,o){var r,a,s={};for(a in t)"ref"==a?r=t[a]:s[a]=t[a];var c={type:e,props:s,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--ls,__source:i,__self:o};if("function"==typeof e&&(r=e.defaultProps))for(a in r)void 0===s[a]&&(s[a]=r[a]);return Ta.vnode&&Ta.vnode(c),c}var ds={set:function(e,t){try{window.localStorage[`emoji-mart.${e}`]=JSON.stringify(t)}catch{}},get:function(e){try{const t=window.localStorage[`emoji-mart.${e}`];if(t)return JSON.parse(t)}catch{}}};const gs=new Map,ps=[{v:15,emoji:"🫨"},{v:14,emoji:"🫠"},{v:13.1,emoji:"😶‍🌫️"},{v:13,emoji:"🥸"},{v:12.1,emoji:"🧑‍🦰"},{v:12,emoji:"🥱"},{v:11,emoji:"🥰"},{v:5,emoji:"🤩"},{v:4,emoji:"👱‍♀️"},{v:3,emoji:"🤣"},{v:2,emoji:"👋🏻"},{v:1,emoji:"🙃"}];function ms(e){if(gs.has(e))return gs.get(e);const t=fs(e);return gs.set(e,t),t}const fs=(()=>{let e=null;try{navigator.userAgent.includes("jsdom")||(e=document.createElement("canvas").getContext("2d",{willReadFrequently:!0}))}catch{}if(!e)return()=>!1;const t=20,n=Math.floor(12.5);return e.font=n+"px Arial, Sans-Serif",e.textBaseline="top",e.canvas.width=40,e.canvas.height=25,n=>{e.clearRect(0,0,40,25),e.fillStyle="#FF0000",e.fillText(n,0,22),e.fillStyle="#0000FF",e.fillText(n,t,22);const i=e.getImageData(0,0,t,25).data,o=i.length;let r=0;for(;r<o&&!i[r+3];r+=4);if(r>=o)return!1;const a=t+r/4%t,s=Math.floor(r/4/t),c=e.getImageData(a,s,1,1).data;return!(i[r]!==c[0]||i[r+2]!==c[2]||e.measureText(n).width>=t)}})();var Is={latestVersion:function(){for(const{v:e,emoji:t}of ps)if(ms(t))return e},noCountryFlags:function(){return!ms("🇨🇦")}};const hs=["+1","grinning","kissing_heart","heart_eyes","laughing","stuck_out_tongue_winking_eye","sweat_smile","joy","scream","disappointed","unamused","weary","sob","sunglasses","heart"];let bs=null;var ys,Cs={add:function(e){bs||(bs=ds.get("frequently")||{});const t=e.id||e;t&&(bs[t]||(bs[t]=0),bs[t]+=1,ds.set("last",t),ds.set("frequently",bs))},get:function({maxFrequentRows:e,perLine:t}){if(!e)return[];bs||(bs=ds.get("frequently"));let n=[];if(!bs){bs={};for(let e in hs.slice(0,t)){const i=hs[e];bs[i]=t-e,n.push(i)}return n}const i=e*t,o=ds.get("last");for(let r in bs)n.push(r);if(n.sort(((e,t)=>{const n=bs[t],i=bs[e];return n==i?e.localeCompare(t):n-i})),n.length>i){const e=n.slice(i);n=n.slice(0,i);for(let t of e)t!=o&&delete bs[t];o&&-1==n.indexOf(o)&&(delete bs[n[n.length-1]],n.splice(-1,1,o)),ds.set("frequently",bs)}return n},DEFAULTS:hs};ys=JSON.parse('{"search":"Search","search_no_results_1":"Oh no!","search_no_results_2":"That emoji couldn’t be found","pick":"Pick an emoji…","add_custom":"Add custom emoji","categories":{"activity":"Activity","custom":"Custom","flags":"Flags","foods":"Food & Drink","frequent":"Frequently used","nature":"Animals & Nature","objects":"Objects","people":"Smileys & People","places":"Travel & Places","search":"Search Results","symbols":"Symbols"},"skins":{"1":"Default","2":"Light","3":"Medium-Light","4":"Medium","5":"Medium-Dark","6":"Dark","choose":"Choose default skin tone"}}');var vs={autoFocus:{value:!1},dynamicWidth:{value:!1},emojiButtonColors:{value:null},emojiButtonRadius:{value:"100%"},emojiButtonSize:{value:36},emojiSize:{value:24},emojiVersion:{value:15,choices:[1,2,3,4,5,11,12,12.1,13,13.1,14,15]},exceptEmojis:{value:[]},icons:{value:"auto",choices:["auto","outline","solid"]},locale:{value:"en",choices:["en","ar","be","cs","de","es","fa","fi","fr","hi","it","ja","ko","nl","pl","pt","ru","sa","tr","uk","vi","zh"]},maxFrequentRows:{value:4},navPosition:{value:"top",choices:["top","bottom","none"]},noCountryFlags:{value:!1},noResultsEmoji:{value:null},perLine:{value:9},previewEmoji:{value:null},previewPosition:{value:"bottom",choices:["top","bottom","none"]},searchPosition:{value:"sticky",choices:["sticky","static","none"]},set:{value:"native",choices:["native","apple","facebook","google","twitter"]},skin:{value:1,choices:[1,2,3,4,5,6]},skinTonePosition:{value:"preview",choices:["preview","search","none"]},theme:{value:"auto",choices:["auto","light","dark"]},categories:null,categoryIcons:null,custom:null,data:null,i18n:null,getImageURL:null,getSpritesheetURL:null,onAddCustomEmoji:null,onClickOutside:null,onEmojiSelect:null,stickySearch:{deprecated:!0,value:!0}};let Bs=null,As=null;const _s={};async function Ss(e){if(_s[e])return _s[e];const t=await(await fetch(e)).json();return _s[e]=t,t}let Gs=null,Qs=null,Es=!1;function Fs(e,{caller:t}={}){return Gs||(Gs=new Promise((e=>{Qs=e}))),e?async function(e){Es=!0;let{emojiVersion:t,set:n,locale:i}=e;if(t||(t=vs.emojiVersion.value),n||(n=vs.set.value),i||(i=vs.locale.value),As)As.categories=As.categories.filter((e=>!e.name));else{As=("function"==typeof e.data?await e.data():e.data)||await Ss(`https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/sets/${t}/${n}.json`),As.emoticons={},As.natives={},As.categories.unshift({id:"frequent",emojis:[]});for(const e in As.aliases){const t=As.aliases[e],n=As.emojis[t];n&&(n.aliases||(n.aliases=[]),n.aliases.push(e))}As.originalCategories=As.categories}if(Bs=("function"==typeof e.i18n?await e.i18n():e.i18n)||("en"==i?Ea(ys):await Ss(`https://cdn.jsdelivr.net/npm/@emoji-mart/data@latest/i18n/${i}.json`)),e.custom)for(let c in e.custom){c=parseInt(c);const t=e.custom[c],n=e.custom[c-1];if(t.emojis&&t.emojis.length){t.id||(t.id=`custom_${c+1}`),t.name||(t.name=Bs.categories.custom),n&&!t.icon&&(t.target=n.target||n),As.categories.push(t);for(const e of t.emojis)As.emojis[e.id]=e}}e.categories&&(As.categories=As.originalCategories.filter((t=>-1!=e.categories.indexOf(t.id))).sort(((t,n)=>e.categories.indexOf(t.id)-e.categories.indexOf(n.id))));let o=null,r=null;"native"==n&&(o=Is.latestVersion(),r=e.noCountryFlags||Is.noCountryFlags());let a=As.categories.length,s=!1;for(;a--;){const t=As.categories[a];if("frequent"==t.id){let{maxFrequentRows:n,perLine:i}=e;n=n>=0?n:vs.maxFrequentRows.value,i||(i=vs.perLine.value),t.emojis=Cs.get({maxFrequentRows:n,perLine:i})}if(!t.emojis||!t.emojis.length){As.categories.splice(a,1);continue}const{categoryIcons:n}=e;if(n){const e=n[t.id];e&&!t.icon&&(t.icon=e)}let i=t.emojis.length;for(;i--;){const n=t.emojis[i],a=n.id?n:As.emojis[n],c=()=>{t.emojis.splice(i,1)};if(!a||e.exceptEmojis&&e.exceptEmojis.includes(a.id))c();else if(o&&a.version>o)c();else if(!r||"flags"!=t.id||Ns.includes(a.id)){if(!a.search){if(s=!0,a.search=","+[[a.id,!1],[a.name,!0],[a.keywords,!1],[a.emoticons,!1]].map((([e,t])=>{if(e)return(Array.isArray(e)?e:[e]).map((e=>(t?e.split(/[-|_|\s]+/):[e]).map((e=>e.toLowerCase())))).flat()})).flat().filter((e=>e&&e.trim())).join(","),a.emoticons)for(const t of a.emoticons)As.emoticons[t]||(As.emoticons[t]=a.id);let e=0;for(const t of a.skins){if(!t)continue;e++;const{native:n}=t;n&&(As.natives[n]=a.id,a.search+=`,${n}`);const i=1==e?"":`:skin-tone-${e}:`;t.shortcodes=`:${a.id}:${i}`}}}else c()}}s&&ks.reset(),Qs()}(e):t&&!Es&&console.warn(`\`${t}\` requires data to be initialized first. Promise will be pending until \`init\` is called.`),Gs}function ws(e,t,n){e||(e={});const i={};for(let o in t)i[o]=Ts(o,e,t,n);return i}function Ts(e,t,n,i){const o=n[e];let r=i&&i.getAttribute(e)||(null!=t[e]&&null!=t[e]?t[e]:null);return o&&(null!=r&&o.value&&typeof o.value!=typeof r&&(r="boolean"==typeof o.value?"false"!=r:o.value.constructor(r)),o.transform&&r&&(r=o.transform(r)),(null==r||o.choices&&-1==o.choices.indexOf(r))&&(r=o.value)),r}let xs=null;var ks={search:async function(e,{maxResults:t,caller:n}={}){if(!e||!e.trim().length)return null;t||(t=90),await Fs(null,{caller:n||"SearchIndex.search"});const i=e.toLowerCase().replace(/(\w)-/,"$1 ").split(/[\s|,]+/).filter(((e,t,n)=>e.trim()&&n.indexOf(e)==t));if(!i.length)return;let o,r,a=xs||(xs=Object.values(As.emojis));for(const s of i){if(!a.length)break;o=[],r={};for(const e of a){if(!e.search)continue;const t=e.search.indexOf(`,${s}`);-1!=t&&(o.push(e),r[e.id]||(r[e.id]=0),r[e.id]+=e.id==s?0:t+1)}a=o}return o.length<2||(o.sort(((e,t)=>{const n=r[e.id],i=r[t.id];return n==i?e.id.localeCompare(t.id):n-i})),o.length>t&&(o=o.slice(0,t))),o},get:function(e){return e.id?e:As.emojis[e]||As.emojis[As.aliases[e]]||As.emojis[As.natives[e]]},reset:function(){xs=null},SHORTCODES_REGEX:/^(?:\:([^\:]+)\:)(?:\:skin-tone-(\d)\:)?$/};const Ns=["checkered_flag","crossed_flags","pirate_flag","rainbow-flag","transgender_flag","triangular_flag_on_post","waving_black_flag","waving_white_flag"];var Os={categories:{activity:{outline:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:us("path",{d:"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113"})}),solid:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:us("path",{d:"M16.17 337.5c0 44.98 7.565 83.54 13.98 107.9C35.22 464.3 50.46 496 174.9 496c9.566 0 19.59-.4707 29.84-1.271L17.33 307.3C16.53 317.6 16.17 327.7 16.17 337.5zM495.8 174.5c0-44.98-7.565-83.53-13.98-107.9c-4.688-17.54-18.34-31.23-36.04-35.95C435.5 27.91 392.9 16 337 16c-9.564 0-19.59 .4707-29.84 1.271l187.5 187.5C495.5 194.4 495.8 184.3 495.8 174.5zM26.77 248.8l236.3 236.3c142-36.1 203.9-150.4 222.2-221.1L248.9 26.87C106.9 62.96 45.07 177.2 26.77 248.8zM256 335.1c0 9.141-7.474 16-16 16c-4.094 0-8.188-1.564-11.31-4.689L164.7 283.3C161.6 280.2 160 276.1 160 271.1c0-8.529 6.865-16 16-16c4.095 0 8.189 1.562 11.31 4.688l64.01 64C254.4 327.8 256 331.9 256 335.1zM304 287.1c0 9.141-7.474 16-16 16c-4.094 0-8.188-1.564-11.31-4.689L212.7 235.3C209.6 232.2 208 228.1 208 223.1c0-9.141 7.473-16 16-16c4.094 0 8.188 1.562 11.31 4.688l64.01 64.01C302.5 279.8 304 283.9 304 287.1zM256 175.1c0-9.141 7.473-16 16-16c4.094 0 8.188 1.562 11.31 4.688l64.01 64.01c3.125 3.125 4.688 7.219 4.688 11.31c0 9.133-7.468 16-16 16c-4.094 0-8.189-1.562-11.31-4.688l-64.01-64.01C257.6 184.2 256 180.1 256 175.1z"})})},custom:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",children:us("path",{d:"M417.1 368c-5.937 10.27-16.69 16-27.75 16c-5.422 0-10.92-1.375-15.97-4.281L256 311.4V448c0 17.67-14.33 32-31.1 32S192 465.7 192 448V311.4l-118.3 68.29C68.67 382.6 63.17 384 57.75 384c-11.06 0-21.81-5.734-27.75-16c-8.828-15.31-3.594-34.88 11.72-43.72L159.1 256L41.72 187.7C26.41 178.9 21.17 159.3 29.1 144C36.63 132.5 49.26 126.7 61.65 128.2C65.78 128.7 69.88 130.1 73.72 132.3L192 200.6V64c0-17.67 14.33-32 32-32S256 46.33 256 64v136.6l118.3-68.29c3.838-2.213 7.939-3.539 12.07-4.051C398.7 126.7 411.4 132.5 417.1 144c8.828 15.31 3.594 34.88-11.72 43.72L288 256l118.3 68.28C421.6 333.1 426.8 352.7 417.1 368z"})}),flags:{outline:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:us("path",{d:"M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z"})}),solid:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:us("path",{d:"M64 496C64 504.8 56.75 512 48 512h-32C7.25 512 0 504.8 0 496V32c0-17.75 14.25-32 32-32s32 14.25 32 32V496zM476.3 0c-6.365 0-13.01 1.35-19.34 4.233c-45.69 20.86-79.56 27.94-107.8 27.94c-59.96 0-94.81-31.86-163.9-31.87C160.9 .3055 131.6 4.867 96 15.75v350.5c32-9.984 59.87-14.1 84.85-14.1c73.63 0 124.9 31.78 198.6 31.78c31.91 0 68.02-5.971 111.1-23.09C504.1 355.9 512 344.4 512 332.1V30.73C512 11.1 495.3 0 476.3 0z"})})},foods:{outline:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:us("path",{d:"M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9"})}),solid:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:us("path",{d:"M481.9 270.1C490.9 279.1 496 291.3 496 304C496 316.7 490.9 328.9 481.9 337.9C472.9 346.9 460.7 352 448 352H64C51.27 352 39.06 346.9 30.06 337.9C21.06 328.9 16 316.7 16 304C16 291.3 21.06 279.1 30.06 270.1C39.06 261.1 51.27 256 64 256H448C460.7 256 472.9 261.1 481.9 270.1zM475.3 388.7C478.3 391.7 480 395.8 480 400V416C480 432.1 473.3 449.3 461.3 461.3C449.3 473.3 432.1 480 416 480H96C79.03 480 62.75 473.3 50.75 461.3C38.74 449.3 32 432.1 32 416V400C32 395.8 33.69 391.7 36.69 388.7C39.69 385.7 43.76 384 48 384H464C468.2 384 472.3 385.7 475.3 388.7zM50.39 220.8C45.93 218.6 42.03 215.5 38.97 211.6C35.91 207.7 33.79 203.2 32.75 198.4C31.71 193.5 31.8 188.5 32.99 183.7C54.98 97.02 146.5 32 256 32C365.5 32 457 97.02 479 183.7C480.2 188.5 480.3 193.5 479.2 198.4C478.2 203.2 476.1 207.7 473 211.6C469.1 215.5 466.1 218.6 461.6 220.8C457.2 222.9 452.3 224 447.3 224H64.67C59.73 224 54.84 222.9 50.39 220.8zM372.7 116.7C369.7 119.7 368 123.8 368 128C368 131.2 368.9 134.3 370.7 136.9C372.5 139.5 374.1 141.6 377.9 142.8C380.8 143.1 384 144.3 387.1 143.7C390.2 143.1 393.1 141.6 395.3 139.3C397.6 137.1 399.1 134.2 399.7 131.1C400.3 128 399.1 124.8 398.8 121.9C397.6 118.1 395.5 116.5 392.9 114.7C390.3 112.9 387.2 111.1 384 111.1C379.8 111.1 375.7 113.7 372.7 116.7V116.7zM244.7 84.69C241.7 87.69 240 91.76 240 96C240 99.16 240.9 102.3 242.7 104.9C244.5 107.5 246.1 109.6 249.9 110.8C252.8 111.1 256 112.3 259.1 111.7C262.2 111.1 265.1 109.6 267.3 107.3C269.6 105.1 271.1 102.2 271.7 99.12C272.3 96.02 271.1 92.8 270.8 89.88C269.6 86.95 267.5 84.45 264.9 82.7C262.3 80.94 259.2 79.1 256 79.1C251.8 79.1 247.7 81.69 244.7 84.69V84.69zM116.7 116.7C113.7 119.7 112 123.8 112 128C112 131.2 112.9 134.3 114.7 136.9C116.5 139.5 118.1 141.6 121.9 142.8C124.8 143.1 128 144.3 131.1 143.7C134.2 143.1 137.1 141.6 139.3 139.3C141.6 137.1 143.1 134.2 143.7 131.1C144.3 128 143.1 124.8 142.8 121.9C141.6 118.1 139.5 116.5 136.9 114.7C134.3 112.9 131.2 111.1 128 111.1C123.8 111.1 119.7 113.7 116.7 116.7L116.7 116.7z"})})},frequent:{outline:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[us("path",{d:"M13 4h-2l-.001 7H9v2h2v2h2v-2h4v-2h-4z"}),us("path",{d:"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10"})]}),solid:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:us("path",{d:"M256 512C114.6 512 0 397.4 0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512zM232 256C232 264 236 271.5 242.7 275.1L338.7 339.1C349.7 347.3 364.6 344.3 371.1 333.3C379.3 322.3 376.3 307.4 365.3 300L280 243.2V120C280 106.7 269.3 96 255.1 96C242.7 96 231.1 106.7 231.1 120L232 256z"})})},nature:{outline:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[us("path",{d:"M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8"}),us("path",{d:"M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235"})]}),solid:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 576 512",children:us("path",{d:"M332.7 19.85C334.6 8.395 344.5 0 356.1 0C363.6 0 370.6 3.52 375.1 9.502L392 32H444.1C456.8 32 469.1 37.06 478.1 46.06L496 64H552C565.3 64 576 74.75 576 88V112C576 156.2 540.2 192 496 192H426.7L421.6 222.5L309.6 158.5L332.7 19.85zM448 64C439.2 64 432 71.16 432 80C432 88.84 439.2 96 448 96C456.8 96 464 88.84 464 80C464 71.16 456.8 64 448 64zM416 256.1V480C416 497.7 401.7 512 384 512H352C334.3 512 320 497.7 320 480V364.8C295.1 377.1 268.8 384 240 384C211.2 384 184 377.1 160 364.8V480C160 497.7 145.7 512 128 512H96C78.33 512 64 497.7 64 480V249.8C35.23 238.9 12.64 214.5 4.836 183.3L.9558 167.8C-3.331 150.6 7.094 133.2 24.24 128.1C41.38 124.7 58.76 135.1 63.05 152.2L66.93 167.8C70.49 182 83.29 191.1 97.97 191.1H303.8L416 256.1z"})})},objects:{outline:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[us("path",{d:"M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z"}),us("path",{d:"M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789"})]}),solid:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",children:us("path",{d:"M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"})})},people:{outline:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[us("path",{d:"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10"}),us("path",{d:"M8 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 8 7M16 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 16 7M15.232 15c-.693 1.195-1.87 2-3.349 2-1.477 0-2.655-.805-3.347-2H15m3-2H6a6 6 0 1 0 12 0"})]}),solid:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:us("path",{d:"M0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 432C332.1 432 396.2 382 415.2 314.1C419.1 300.4 407.8 288 393.6 288H118.4C104.2 288 92.92 300.4 96.76 314.1C115.8 382 179.9 432 256 432V432zM176.4 160C158.7 160 144.4 174.3 144.4 192C144.4 209.7 158.7 224 176.4 224C194 224 208.4 209.7 208.4 192C208.4 174.3 194 160 176.4 160zM336.4 224C354 224 368.4 209.7 368.4 192C368.4 174.3 354 160 336.4 160C318.7 160 304.4 174.3 304.4 192C304.4 209.7 318.7 224 336.4 224z"})})},places:{outline:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:[us("path",{d:"M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5"}),us("path",{d:"M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z"})]}),solid:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:us("path",{d:"M39.61 196.8L74.8 96.29C88.27 57.78 124.6 32 165.4 32H346.6C387.4 32 423.7 57.78 437.2 96.29L472.4 196.8C495.6 206.4 512 229.3 512 256V448C512 465.7 497.7 480 480 480H448C430.3 480 416 465.7 416 448V400H96V448C96 465.7 81.67 480 64 480H32C14.33 480 0 465.7 0 448V256C0 229.3 16.36 206.4 39.61 196.8V196.8zM109.1 192H402.9L376.8 117.4C372.3 104.6 360.2 96 346.6 96H165.4C151.8 96 139.7 104.6 135.2 117.4L109.1 192zM96 256C78.33 256 64 270.3 64 288C64 305.7 78.33 320 96 320C113.7 320 128 305.7 128 288C128 270.3 113.7 256 96 256zM416 320C433.7 320 448 305.7 448 288C448 270.3 433.7 256 416 256C398.3 256 384 270.3 384 288C384 305.7 398.3 320 416 320z"})})},symbols:{outline:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:us("path",{d:"M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76"})}),solid:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",children:us("path",{d:"M500.3 7.251C507.7 13.33 512 22.41 512 31.1V175.1C512 202.5 483.3 223.1 447.1 223.1C412.7 223.1 383.1 202.5 383.1 175.1C383.1 149.5 412.7 127.1 447.1 127.1V71.03L351.1 90.23V207.1C351.1 234.5 323.3 255.1 287.1 255.1C252.7 255.1 223.1 234.5 223.1 207.1C223.1 181.5 252.7 159.1 287.1 159.1V63.1C287.1 48.74 298.8 35.61 313.7 32.62L473.7 .6198C483.1-1.261 492.9 1.173 500.3 7.251H500.3zM74.66 303.1L86.5 286.2C92.43 277.3 102.4 271.1 113.1 271.1H174.9C185.6 271.1 195.6 277.3 201.5 286.2L213.3 303.1H239.1C266.5 303.1 287.1 325.5 287.1 351.1V463.1C287.1 490.5 266.5 511.1 239.1 511.1H47.1C21.49 511.1-.0019 490.5-.0019 463.1V351.1C-.0019 325.5 21.49 303.1 47.1 303.1H74.66zM143.1 359.1C117.5 359.1 95.1 381.5 95.1 407.1C95.1 434.5 117.5 455.1 143.1 455.1C170.5 455.1 191.1 434.5 191.1 407.1C191.1 381.5 170.5 359.1 143.1 359.1zM440.3 367.1H496C502.7 367.1 508.6 372.1 510.1 378.4C513.3 384.6 511.6 391.7 506.5 396L378.5 508C372.9 512.1 364.6 513.3 358.6 508.9C352.6 504.6 350.3 496.6 353.3 489.7L391.7 399.1H336C329.3 399.1 323.4 395.9 321 389.6C318.7 383.4 320.4 376.3 325.5 371.1L453.5 259.1C459.1 255 467.4 254.7 473.4 259.1C479.4 263.4 481.6 271.4 478.7 278.3L440.3 367.1zM116.7 219.1L19.85 119.2C-8.112 90.26-6.614 42.31 24.85 15.34C51.82-8.137 93.26-3.642 118.2 21.83L128.2 32.32L137.7 21.83C162.7-3.642 203.6-8.137 231.6 15.34C262.6 42.31 264.1 90.26 236.1 119.2L139.7 219.1C133.2 225.6 122.7 225.6 116.7 219.1H116.7z"})})}},search:{loupe:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",children:us("path",{d:"M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z"})}),delete:us("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",children:us("path",{d:"M10 8.586L2.929 1.515 1.515 2.929 8.586 10l-7.071 7.071 1.414 1.414L10 11.414l7.071 7.071 1.414-1.414L11.414 10l7.071-7.071-1.414-1.414L10 8.586z"})})}};function Zs(e){let{id:t,skin:n,emoji:i}=e;if(e.shortcodes){const i=e.shortcodes.match(ks.SHORTCODES_REGEX);i&&(t=i[1],i[2]&&(n=i[2]))}if(i||(i=ks.get(t||e.native)),!i)return e.fallback;const o=i.skins[n-1]||i.skins[0],r=o.src||("native"==e.set||e.spritesheet?void 0:"function"==typeof e.getImageURL?e.getImageURL(e.set,o.unified):`https://cdn.jsdelivr.net/npm/emoji-datasource-${e.set}@15.0.1/img/${e.set}/64/${o.unified}.png`),a="function"==typeof e.getSpritesheetURL?e.getSpritesheetURL(e.set):`https://cdn.jsdelivr.net/npm/emoji-datasource-${e.set}@15.0.1/img/${e.set}/sheets-256/64.png`;return us("span",{class:"emoji-mart-emoji","data-emoji-set":e.set,children:r?us("img",{style:{maxWidth:e.size||"1em",maxHeight:e.size||"1em",display:"inline-block"},alt:o.native||o.shortcodes,src:r}):"native"==e.set?us("span",{style:{fontSize:e.size,fontFamily:'"EmojiMart", "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla", "Noto Color Emoji", "Android Emoji"'},children:o.native}):us("span",{style:{display:"block",width:e.size,height:e.size,backgroundImage:`url(${a})`,backgroundSize:`${100*As.sheet.cols}% ${100*As.sheet.rows}%`,backgroundPosition:`${100/(As.sheet.cols-1)*o.x}% ${100/(As.sheet.rows-1)*o.y}%`}})})}const Us=typeof window<"u"&&window.HTMLElement?window.HTMLElement:Object;class Rs extends Us{static get observedAttributes(){return Object.keys(this.Props)}update(e={}){for(let t in e)this.attributeChangedCallback(t,null,e[t])}attributeChangedCallback(e,t,n){if(!this.component)return;const i=Ts(e,{[e]:n},this.constructor.Props,this);this.component.componentWillReceiveProps?this.component.componentWillReceiveProps({[e]:i}):(this.component.props[e]=i,this.component.forceUpdate())}disconnectedCallback(){this.disconnected=!0,this.component&&this.component.unregister&&this.component.unregister()}constructor(e={}){if(super(),this.props=e,e.parent||e.ref){let t=null;const n=e.parent||(t=e.ref&&e.ref.current);t&&(t.innerHTML=""),n&&n.appendChild(this)}}}class Xs extends Rs{setShadow(){this.attachShadow({mode:"open"})}injectStyles(e){if(!e)return;const t=document.createElement("style");t.textContent=e,this.shadowRoot.insertBefore(t,this.shadowRoot.firstChild)}constructor(e,{styles:t}={}){super(e),this.setShadow(),this.injectStyles(t)}}var Ws={fallback:"",id:"",native:"",shortcodes:"",size:{value:"",transform:e=>/\D/.test(e)?e:`${e}px`},set:vs.set,skin:vs.skin};class Vs extends Rs{async connectedCallback(){const e=ws(this.props,Ws,this);e.element=this,e.ref=e=>{this.component=e},await Fs(),!this.disconnected&&cs(us(Zs,{...e}),this)}constructor(e){super(e)}}Fa(Vs,"Props",Ws),typeof customElements<"u"&&!customElements.get("em-emoji")&&customElements.define("em-emoji",Vs);var Ps,Ds=[],Hs=Ta.__b,Ls=Ta.__r,Ys=Ta.diffed,Ms=Ta.__c,Js=Ta.unmount;function js(){var e;for(Ds.sort((function(e,t){return e.__v.__b-t.__v.__b}));e=Ds.pop();)if(e.__P)try{e.__H.__h.forEach(Ks),e.__H.__h.forEach(qs),e.__H.__h=[]}catch(t){e.__H.__h=[],Ta.__e(t,e.__v)}}Ta.__b=function(e){Hs&&Hs(e)},Ta.__r=function(e){Ls&&Ls(e);var t=e.__c.__H;t&&(t.__h.forEach(Ks),t.__h.forEach(qs),t.__h=[])},Ta.diffed=function(e){Ys&&Ys(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(1!==Ds.push(t)&&Ps===Ta.requestAnimationFrame||((Ps=Ta.requestAnimationFrame)||function(e){var t,n=function(){clearTimeout(i),zs&&cancelAnimationFrame(t),setTimeout(e)},i=setTimeout(n,100);zs&&(t=requestAnimationFrame(n))})(js))},Ta.__c=function(e,t){t.some((function(e){try{e.__h.forEach(Ks),e.__h=e.__h.filter((function(e){return!e.__||qs(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],Ta.__e(n,e.__v)}})),Ms&&Ms(e,t)},Ta.unmount=function(e){Js&&Js(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{Ks(e)}catch(n){t=n}})),t&&Ta.__e(t,n.__v))};var zs="function"==typeof requestAnimationFrame;function Ks(e){var t=e.__c;"function"==typeof t&&(e.__c=void 0,t())}function qs(e){e.__c=e.__()}function $s(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var i in t)if("__source"!==i&&e[i]!==t[i])return!0;return!1}function ec(e){this.props=e}(ec.prototype=new Ha).isPureReactComponent=!0,ec.prototype.shouldComponentUpdate=function(e,t){return $s(this.props,e)||$s(this.state,t)};var tc=Ta.__b;Ta.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),tc&&tc(e)};var nc=Ta.__e;Ta.__e=function(e,t,n){if(e.then)for(var i,o=t;o=o.__;)if((i=o.__c)&&i.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),i.__c(e,t);nc(e,t,n)};var ic=Ta.unmount;function oc(){this.__u=0,this.t=null,this.__b=null}function rc(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function ac(){this.u=null,this.o=null}Ta.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),ic&&ic(e)},(oc.prototype=new Ha).__c=function(e,t){var n=t.__c,i=this;null==i.t&&(i.t=[]),i.t.push(n);var o=rc(i.__v),r=!1,a=function(){r||(r=!0,n.__R=null,o?o(s):s())};n.__R=a;var s=function(){if(! --i.__u){if(i.state.__e){var e=i.state.__e;i.__v.__k[0]=function e(t,n,i){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map((function(t){return e(t,n,i)})),t.__c&&t.__c.__P===n&&(t.__e&&i.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=i)),t}(e,e.__c.__P,e.__c.__O)}var t;for(i.setState({__e:i.__b=null});t=i.t.pop();)t.forceUpdate()}},c=!0===t.__h;i.__u++||c||i.setState({__e:i.__b=i.__v.__k[0]}),e.then(a,a)},oc.prototype.componentWillUnmount=function(){this.t=[]},oc.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),i=this.__v.__k[0].__c;this.__v.__k[0]=function e(t,n,i){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),t.__c.__H=null),null!=(t=function(e,t){for(var n in t)e[n]=t[n];return e}({},t)).__c&&(t.__c.__P===i&&(t.__c.__P=n),t.__c=null),t.__k=t.__k&&t.__k.map((function(t){return e(t,n,i)}))),t}(this.__b,n,i.__O=i.__P)}this.__b=null}var o=t.__e&&Va(Da,null,e.fallback);return o&&(o.__h=null),[Va(Da,null,t.__e?null:e.children),o]};var sc=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]<n[0])break;e.u=n=n[2]}};(ac.prototype=new Ha).__e=function(e){var t=this,n=rc(t.__v),i=t.o.get(e);return i[0]++,function(o){var r=function(){t.props.revealOrder?(i.push(o),sc(t,e,i)):o()};n?n(r):r()}},ac.prototype.render=function(e){this.u=null,this.o=new Map;var t=Ka(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},ac.prototype.componentDidUpdate=ac.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){sc(e,n,t)}))};var cc=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,lc=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,uc=typeof document<"u",dc=function(e){return(typeof Symbol<"u"&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};Ha.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(Ha.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var gc=Ta.event;function pc(){}function mc(){return this.cancelBubble}function fc(){return this.defaultPrevented}Ta.event=function(e){return gc&&(e=gc(e)),e.persist=pc,e.isPropagationStopped=mc,e.isDefaultPrevented=fc,e.nativeEvent=e};var Ic={configurable:!0,get:function(){return this.class}},hc=Ta.vnode;Ta.vnode=function(e){var t=e.type,n=e.props,i=n;if("string"==typeof t){var o=-1===t.indexOf("-");for(var r in i={},n){var a=n[r];uc&&"children"===r&&"noscript"===t||"value"===r&&"defaultValue"in n&&null==a||("defaultValue"===r&&"value"in n&&null==n.value?r="value":"download"===r&&!0===a?a="":/ondoubleclick/i.test(r)?r="ondblclick":/^onchange(textarea|input)/i.test(r+t)&&!dc(n.type)?r="oninput":/^onfocus$/i.test(r)?r="onfocusin":/^onblur$/i.test(r)?r="onfocusout":/^on(Ani|Tra|Tou|BeforeInp)/.test(r)?r=r.toLowerCase():o&&lc.test(r)?r=r.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===a&&(a=void 0),i[r]=a)}"select"==t&&i.multiple&&Array.isArray(i.value)&&(i.value=Ka(n.children).forEach((function(e){e.props.selected=-1!=i.value.indexOf(e.props.value)}))),"select"==t&&null!=i.defaultValue&&(i.value=Ka(n.children).forEach((function(e){e.props.selected=i.multiple?-1!=i.defaultValue.indexOf(e.props.value):i.defaultValue==e.props.value}))),e.props=i,n.class!=n.className&&(Ic.enumerable="className"in n,null!=n.className&&(i.class=n.className),Object.defineProperty(i,"className",Ic))}e.$$typeof=cc,hc&&hc(e)};var bc=Ta.__r;Ta.__r=function(e){bc&&bc(e),e.__c};const yc={light:"outline",dark:"solid"};class Cc extends ec{renderIcon(e){const{icon:t}=e;if(t){if(t.svg)return us("span",{class:"flex",dangerouslySetInnerHTML:{__html:t.svg}});if(t.src)return us("img",{src:t.src})}const n=Os.categories[e.id]||Os.categories.custom;return n["auto"==this.props.icons?yc[this.props.theme]:this.props.icons]||n}render(){let e=null;return us("nav",{id:"nav",class:"padding","data-position":this.props.position,dir:this.props.dir,children:us("div",{class:"flex relative",children:[this.categories.map(((t,n)=>{const i=t.name||Bs.categories[t.id],o=!this.props.unfocused&&t.id==this.state.categoryId;return o&&(e=n),us("button",{"aria-label":i,"aria-selected":o||void 0,title:i,type:"button",class:"flex flex-grow flex-center",onMouseDown:e=>e.preventDefault(),onClick:()=>{this.props.onClick({category:t,i:n})},children:this.renderIcon(t)})})),us("div",{class:"bar",style:{width:100/this.categories.length+"%",opacity:null==e?0:1,transform:"rtl"===this.props.dir?`scaleX(-1) translateX(${100*e}%)`:`translateX(${100*e}%)`}})]})})}constructor(){super(),this.categories=As.categories.filter((e=>!e.target)),this.state={categoryId:this.categories[0].id}}}class vc extends ec{shouldComponentUpdate(e){for(let t in e)if("children"!=t&&e[t]!=this.props[t])return!0;return!1}render(){return this.props.children}}const Bc=10;class Ac extends Ha{getInitialState(e=this.props){return{skin:ds.get("skin")||e.skin,theme:this.initTheme(e.theme)}}componentWillMount(){this.dir=Bs.rtl?"rtl":"ltr",this.refs={menu:{current:null},navigation:{current:null},scroll:{current:null},search:{current:null},searchInput:{current:null},skinToneButton:{current:null},skinToneRadio:{current:null}},this.initGrid(),0==this.props.stickySearch&&"sticky"==this.props.searchPosition&&(console.warn("[EmojiMart] Deprecation warning: `stickySearch` has been renamed `searchPosition`."),this.props.searchPosition="static")}componentDidMount(){if(this.register(),this.shadowRoot=this.base.parentNode,this.props.autoFocus){const{searchInput:e}=this.refs;e.current&&e.current.focus()}}componentWillReceiveProps(e){this.nextState||(this.nextState={});for(const t in e)this.nextState[t]=e[t];clearTimeout(this.nextStateTimer),this.nextStateTimer=setTimeout((()=>{let e=!1;for(const n in this.nextState)this.props[n]=this.nextState[n],("custom"===n||"categories"===n)&&(e=!0);delete this.nextState;const t=this.getInitialState();if(e)return this.reset(t);this.setState(t)}))}componentWillUnmount(){this.unregister()}async reset(e={}){await Fs(this.props),this.initGrid(),this.unobserve(),this.setState(e,(()=>{this.observeCategories(),this.observeRows()}))}register(){document.addEventListener("click",this.handleClickOutside),this.observe()}unregister(){var e;document.removeEventListener("click",this.handleClickOutside),null==(e=this.darkMedia)||e.removeEventListener("change",this.darkMediaCallback),this.unobserve()}observe(){this.observeCategories(),this.observeRows()}unobserve({except:e=[]}={}){Array.isArray(e)||(e=[e]);for(const t of this.observers)e.includes(t)||t.disconnect();this.observers=[].concat(e)}initGrid(){const{categories:e}=As;this.refs.categories=new Map;const t=As.categories.map((e=>e.id)).join(",");this.navKey&&this.navKey!=t&&this.refs.scroll.current&&(this.refs.scroll.current.scrollTop=0),this.navKey=t,this.grid=[],this.grid.setsize=0;const n=(e,t)=>{const n=[];n.__categoryId=t.id,n.__index=e.length,this.grid.push(n);const i=this.grid.length-1,o=i%Bc?{}:{current:null};return o.index=i,o.posinset=this.grid.setsize+1,e.push(o),n};for(let i of e){const e=[];let t=n(e,i);for(let o of i.emojis)t.length==this.getPerLine()&&(t=n(e,i)),this.grid.setsize+=1,t.push(o);this.refs.categories.set(i.id,{root:{current:null},rows:e})}}initTheme(e){if("auto"!=e)return e;if(!this.darkMedia){if(this.darkMedia=matchMedia("(prefers-color-scheme: dark)"),this.darkMedia.media.match(/^not/))return"light";this.darkMedia.addEventListener("change",this.darkMediaCallback)}return this.darkMedia.matches?"dark":"light"}initDynamicPerLine(e=this.props){if(!e.dynamicWidth)return;const{element:t,emojiButtonSize:n}=e,i=()=>{const{width:e}=t.getBoundingClientRect();return Math.floor(e/n)},o=new ResizeObserver((()=>{this.unobserve({except:o}),this.setState({perLine:i()},(()=>{this.initGrid(),this.forceUpdate((()=>{this.observeCategories(),this.observeRows()}))}))}));return o.observe(t),this.observers.push(o),i()}getPerLine(){return this.state.perLine||this.props.perLine}getEmojiByPos([e,t]){const n=this.state.searchResults||this.grid,i=n[e]&&n[e][t];if(i)return ks.get(i)}observeCategories(){const e=this.refs.navigation.current;if(!e)return;const t=new Map,n=t=>{t!=e.state.categoryId&&e.setState({categoryId:t})},i={root:this.refs.scroll.current,threshold:[0,1]},o=new IntersectionObserver((e=>{for(const n of e){const e=n.target.dataset.id;t.set(e,n.intersectionRatio)}const i=[...t];for(const[t,o]of i)if(o){n(t);break}}),i);for(const{root:r}of this.refs.categories.values())o.observe(r.current);this.observers.push(o)}observeRows(){const e={...this.state.visibleRows},t=new IntersectionObserver((t=>{for(const n of t){const t=parseInt(n.target.dataset.index);n.isIntersecting?e[t]=!0:delete e[t]}this.setState({visibleRows:e})}),{root:this.refs.scroll.current,rootMargin:`${this.props.emojiButtonSize*(Bc+5)}px 0px ${this.props.emojiButtonSize*Bc}px`});for(const{rows:n}of this.refs.categories.values())for(const e of n)e.current&&t.observe(e.current);this.observers.push(t)}preventDefault(e){e.preventDefault()}unfocusSearch(){const e=this.refs.searchInput.current;e&&e.blur()}navigate({e,input:t,left:n,right:i,up:o,down:r}){const a=this.state.searchResults||this.grid;if(!a.length)return;let[s,c]=this.state.pos;const l=(()=>{if(0==s&&0==c&&!e.repeat&&(n||o))return null;if(-1==s)return e.repeat||!i&&!r||t.selectionStart!=t.value.length?null:[0,0];if(n||i){let e=a[s];const t=n?-1:1;if(c+=t,!e[c]){if(s+=t,e=a[s],!e)return s=n?0:a.length-1,c=n?0:a[s].length-1,[s,c];c=n?e.length-1:0}return[s,c]}if(o||r){s+=o?-1:1;const e=a[s];return e?(e[c]||(c=e.length-1),[s,c]):(s=o?0:a.length-1,c=o?0:a[s].length-1,[s,c])}})();l?(e.preventDefault(),this.setState({pos:l,keyboard:!0},(()=>{this.scrollTo({row:l[0]})}))):this.state.pos[0]>-1&&this.setState({pos:[-1,-1]})}scrollTo({categoryId:e,row:t}){const n=this.state.searchResults||this.grid;if(!n.length)return;const i=this.refs.scroll.current,o=i.getBoundingClientRect();let r=0;if(t>=0&&(e=n[t].__categoryId),e&&(r=(this.refs[e]||this.refs.categories.get(e).root).current.getBoundingClientRect().top-(o.top-i.scrollTop)+1),t>=0)if(t){const e=r+n[t].__index*this.props.emojiButtonSize,a=e+this.props.emojiButtonSize+.88*this.props.emojiButtonSize;if(e<i.scrollTop)r=e;else{if(!(a>i.scrollTop+o.height))return;r=a-o.height}}else r=0;this.ignoreMouse(),i.scrollTop=r}ignoreMouse(){this.mouseIsIgnored=!0,clearTimeout(this.ignoreMouseTimer),this.ignoreMouseTimer=setTimeout((()=>{delete this.mouseIsIgnored}),100)}handleEmojiOver(e){this.mouseIsIgnored||this.state.showSkins||this.setState({pos:e||[-1,-1],keyboard:!1})}handleEmojiClick({e,emoji:t,pos:n}){if(this.props.onEmojiSelect&&(!t&&n&&(t=this.getEmojiByPos(n)),t)){const n=function(e,{skinIndex:t=0}={}){const n=e.skins[t]||(t=0,e.skins[t]),i={id:e.id,name:e.name,native:n.native,unified:n.unified,keywords:e.keywords,shortcodes:n.shortcodes||e.shortcodes};return e.skins.length>1&&(i.skin=t+1),n.src&&(i.src=n.src),e.aliases&&e.aliases.length&&(i.aliases=e.aliases),e.emoticons&&e.emoticons.length&&(i.emoticons=e.emoticons),i}(t,{skinIndex:this.state.skin-1});this.props.maxFrequentRows&&Cs.add(n,this.props),this.props.onEmojiSelect(n,e)}}closeSkins(){this.state.showSkins&&(this.setState({showSkins:null,tempSkin:null}),this.base.removeEventListener("click",this.handleBaseClick),this.base.removeEventListener("keydown",this.handleBaseKeydown))}handleSkinMouseOver(e){this.setState({tempSkin:e})}handleSkinClick(e){this.ignoreMouse(),this.closeSkins(),this.setState({skin:e,tempSkin:null}),ds.set("skin",e)}renderNav(){return us(Cc,{ref:this.refs.navigation,icons:this.props.icons,theme:this.state.theme,dir:this.dir,unfocused:!!this.state.searchResults,position:this.props.navPosition,onClick:this.handleCategoryClick},this.navKey)}renderPreview(){const e=this.getEmojiByPos(this.state.pos),t=this.state.searchResults&&!this.state.searchResults.length;return us("div",{id:"preview",class:"flex flex-middle",dir:this.dir,"data-position":this.props.previewPosition,children:[us("div",{class:"flex flex-middle flex-grow",children:[us("div",{class:"flex flex-auto flex-middle flex-center",style:{height:this.props.emojiButtonSize,fontSize:this.props.emojiButtonSize},children:us(Zs,{emoji:e,id:t?this.props.noResultsEmoji||"cry":this.props.previewEmoji||("top"==this.props.previewPosition?"point_down":"point_up"),set:this.props.set,size:this.props.emojiButtonSize,skin:this.state.tempSkin||this.state.skin,spritesheet:!0,getSpritesheetURL:this.props.getSpritesheetURL})}),us("div",{class:`margin-${this.dir[0]}`,children:us("div",e||t?{class:`padding-${this.dir[2]} align-${this.dir[0]}`,children:[us("div",{class:"preview-title ellipsis",children:e?e.name:Bs.search_no_results_1}),us("div",{class:"preview-subtitle ellipsis color-c",children:e?e.skins[0].shortcodes:Bs.search_no_results_2})]}:{class:"preview-placeholder color-c",children:Bs.pick})})]}),!e&&"preview"==this.props.skinTonePosition&&this.renderSkinToneButton()]})}renderEmojiButton(e,{pos:t,posinset:n,grid:i}){const o=this.props.emojiButtonSize,r=this.state.tempSkin||this.state.skin,a=(e.skins[r-1]||e.skins[0]).native,s=function(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every(((e,n)=>e==t[n]))}(this.state.pos,t),c=t.concat(e.id).join("");return us(vc,{selected:s,skin:r,size:o,children:us("button",{"aria-label":a,"aria-selected":s||void 0,"aria-posinset":n,"aria-setsize":i.setsize,"data-keyboard":this.state.keyboard,title:"none"==this.props.previewPosition?e.name:void 0,type:"button",class:"flex flex-center flex-middle",tabindex:"-1",onClick:t=>this.handleEmojiClick({e:t,emoji:e}),onMouseEnter:()=>this.handleEmojiOver(t),onMouseLeave:()=>this.handleEmojiOver(),style:{width:this.props.emojiButtonSize,height:this.props.emojiButtonSize,fontSize:this.props.emojiSize,lineHeight:0},children:[us("div",{"aria-hidden":"true",class:"background",style:{borderRadius:this.props.emojiButtonRadius,backgroundColor:this.props.emojiButtonColors?this.props.emojiButtonColors[(n-1)%this.props.emojiButtonColors.length]:void 0}}),us(Zs,{emoji:e,set:this.props.set,size:this.props.emojiSize,skin:r,spritesheet:!0,getSpritesheetURL:this.props.getSpritesheetURL})]})},c)}renderSearch(){const e="none"==this.props.previewPosition||"search"==this.props.skinTonePosition;return us("div",{children:[us("div",{class:"spacer"}),us("div",{class:"flex flex-middle",children:[us("div",{class:"search relative flex-grow",children:[us("input",{type:"search",ref:this.refs.searchInput,placeholder:Bs.search,onClick:this.handleSearchClick,onInput:this.handleSearchInput,onKeyDown:this.handleSearchKeyDown,autoComplete:"off"}),us("span",{class:"icon loupe flex",children:Os.search.loupe}),this.state.searchResults&&us("button",{title:"Clear","aria-label":"Clear",type:"button",class:"icon delete flex",onClick:this.clearSearch,onMouseDown:this.preventDefault,children:Os.search.delete})]}),e&&this.renderSkinToneButton()]})]})}renderSearchResults(){const{searchResults:e}=this.state;return e?us("div",{class:"category",ref:this.refs.search,children:[us("div",{class:`sticky padding-small align-${this.dir[0]}`,children:Bs.categories.search}),us("div",{children:e.length?e.map(((t,n)=>us("div",{class:"flex",children:t.map(((t,i)=>this.renderEmojiButton(t,{pos:[n,i],posinset:n*this.props.perLine+i+1,grid:e})))}))):us("div",{class:`padding-small align-${this.dir[0]}`,children:this.props.onAddCustomEmoji&&us("a",{onClick:this.props.onAddCustomEmoji,children:Bs.add_custom})})})]}):null}renderCategories(){const{categories:e}=As,t=!!this.state.searchResults,n=this.getPerLine();return us("div",{style:{visibility:t?"hidden":void 0,display:t?"none":void 0,height:"100%"},children:e.map((e=>{const{root:t,rows:i}=this.refs.categories.get(e.id);return us("div",{"data-id":e.target?e.target.id:e.id,class:"category",ref:t,children:[us("div",{class:`sticky padding-small align-${this.dir[0]}`,children:e.name||Bs.categories[e.id]}),us("div",{class:"relative",style:{height:i.length*this.props.emojiButtonSize},children:i.map(((t,i)=>{const o=t.index-t.index%Bc,r=this.state.visibleRows[o],a="current"in t?t:void 0;if(!r&&!a)return null;const s=i*n,c=s+n,l=e.emojis.slice(s,c);return l.length<n&&l.push(...new Array(n-l.length)),us("div",{"data-index":t.index,ref:a,class:"flex row",style:{top:i*this.props.emojiButtonSize},children:r&&l.map(((e,n)=>{if(!e)return us("div",{style:{width:this.props.emojiButtonSize,height:this.props.emojiButtonSize}});const i=ks.get(e);return this.renderEmojiButton(i,{pos:[t.index,n],posinset:t.posinset+n,grid:this.grid})}))},t.index)}))})]})}))})}renderSkinToneButton(){return"none"==this.props.skinTonePosition?null:us("div",{class:"flex flex-auto flex-center flex-middle",style:{position:"relative",width:this.props.emojiButtonSize,height:this.props.emojiButtonSize},children:us("button",{type:"button",ref:this.refs.skinToneButton,class:"skin-tone-button flex flex-auto flex-center flex-middle","aria-selected":this.state.showSkins?"":void 0,"aria-label":Bs.skins.choose,title:Bs.skins.choose,onClick:this.openSkins,style:{width:this.props.emojiSize,height:this.props.emojiSize},children:us("span",{class:`skin-tone skin-tone-${this.state.skin}`})})})}renderLiveRegion(){const e=this.getEmojiByPos(this.state.pos);return us("div",{"aria-live":"polite",class:"sr-only",children:e?e.name:""})}renderSkins(){const e=this.refs.skinToneButton.current.getBoundingClientRect(),t=this.base.getBoundingClientRect(),n={};return"ltr"==this.dir?n.right=t.right-e.right-3:n.left=e.left-t.left-3,"bottom"==this.props.previewPosition&&"preview"==this.props.skinTonePosition?n.bottom=t.bottom-e.top+6:(n.top=e.bottom-t.top+3,n.bottom="auto"),us("div",{ref:this.refs.menu,role:"radiogroup",dir:this.dir,"aria-label":Bs.skins.choose,class:"menu hidden","data-position":n.top?"top":"bottom",style:n,children:[...Array(6).keys()].map((e=>{const t=e+1,n=this.state.skin==t;return us("div",{children:[us("input",{type:"radio",name:"skin-tone",value:t,"aria-label":Bs.skins[t],ref:n?this.refs.skinToneRadio:null,defaultChecked:n,onChange:()=>this.handleSkinMouseOver(t),onKeyDown:e=>{("Enter"==e.code||"Space"==e.code||"Tab"==e.code)&&(e.preventDefault(),this.handleSkinClick(t))}}),us("button",{"aria-hidden":"true",tabindex:"-1",onClick:()=>this.handleSkinClick(t),onMouseEnter:()=>this.handleSkinMouseOver(t),onMouseLeave:()=>this.handleSkinMouseOver(),class:"option flex flex-grow flex-middle",children:[us("span",{class:`skin-tone skin-tone-${t}`}),us("span",{class:"margin-small-lr",children:Bs.skins[t]})]})]})}))})}render(){const e=this.props.perLine*this.props.emojiButtonSize;return us("section",{id:"root",class:"flex flex-column",dir:this.dir,style:{width:this.props.dynamicWidth?"100%":`calc(${e}px + (var(--padding) + var(--sidebar-width)))`},"data-emoji-set":this.props.set,"data-theme":this.state.theme,"data-menu":this.state.showSkins?"":void 0,children:["top"==this.props.previewPosition&&this.renderPreview(),"top"==this.props.navPosition&&this.renderNav(),"sticky"==this.props.searchPosition&&us("div",{class:"padding-lr",children:this.renderSearch()}),us("div",{ref:this.refs.scroll,class:"scroll flex-grow padding-lr",children:us("div",{style:{width:this.props.dynamicWidth?"100%":e,height:"100%"},children:["static"==this.props.searchPosition&&this.renderSearch(),this.renderSearchResults(),this.renderCategories()]})}),"bottom"==this.props.navPosition&&this.renderNav(),"bottom"==this.props.previewPosition&&this.renderPreview(),this.state.showSkins&&this.renderSkins(),this.renderLiveRegion()]})}constructor(e){super(),Fa(this,"darkMediaCallback",(()=>{"auto"==this.props.theme&&this.setState({theme:this.darkMedia.matches?"dark":"light"})})),Fa(this,"handleClickOutside",(e=>{const{element:t}=this.props;e.target!=t&&(this.state.showSkins&&this.closeSkins(),this.props.onClickOutside&&this.props.onClickOutside(e))})),Fa(this,"handleBaseClick",(e=>{this.state.showSkins&&(e.target.closest(".menu")||(e.preventDefault(),e.stopImmediatePropagation(),this.closeSkins()))})),Fa(this,"handleBaseKeydown",(e=>{this.state.showSkins&&"Escape"==e.key&&(e.preventDefault(),e.stopImmediatePropagation(),this.closeSkins())})),Fa(this,"handleSearchClick",(()=>{this.getEmojiByPos(this.state.pos)&&this.setState({pos:[-1,-1]})})),Fa(this,"handleSearchInput",(async()=>{const e=this.refs.searchInput.current;if(!e)return;const{value:t}=e,n=await ks.search(t),i=()=>{this.refs.scroll.current&&(this.refs.scroll.current.scrollTop=0)};if(!n)return this.setState({searchResults:n,pos:[-1,-1]},i);const o=e.selectionStart==e.value.length?[0,0]:[-1,-1],r=[];r.setsize=n.length;let a=null;for(let s of n)(!r.length||a.length==this.getPerLine())&&(a=[],a.__categoryId="search",a.__index=r.length,r.push(a)),a.push(s);this.ignoreMouse(),this.setState({searchResults:r,pos:o},i)})),Fa(this,"handleSearchKeyDown",(e=>{const t=e.currentTarget;switch(e.stopImmediatePropagation(),e.key){case"ArrowLeft":this.navigate({e,input:t,left:!0});break;case"ArrowRight":this.navigate({e,input:t,right:!0});break;case"ArrowUp":this.navigate({e,input:t,up:!0});break;case"ArrowDown":this.navigate({e,input:t,down:!0});break;case"Enter":e.preventDefault(),this.handleEmojiClick({e,pos:this.state.pos});break;case"Escape":e.preventDefault(),this.state.searchResults?this.clearSearch():this.unfocusSearch()}})),Fa(this,"clearSearch",(()=>{const e=this.refs.searchInput.current;e&&(e.value="",e.focus(),this.handleSearchInput())})),Fa(this,"handleCategoryClick",(({category:e,i:t})=>{this.scrollTo(0==t?{row:-1}:{categoryId:e.id})})),Fa(this,"openSkins",(e=>{const{currentTarget:t}=e,n=t.getBoundingClientRect();this.setState({showSkins:n},(async()=>{await async function(e=1){for(let t in[...Array(e).keys()])await new Promise(requestAnimationFrame)}(2);const e=this.refs.menu.current;e&&(e.classList.remove("hidden"),this.refs.skinToneRadio.current.focus(),this.base.addEventListener("click",this.handleBaseClick,!0),this.base.addEventListener("keydown",this.handleBaseKeydown,!0))}))})),this.observers=[],this.state={pos:[-1,-1],perLine:this.initDynamicPerLine(e),visibleRows:{0:!0},...this.getInitialState(e)}}}class _c extends Xs{async connectedCallback(){const e=ws(this.props,vs,this);e.element=this,e.ref=e=>{this.component=e},await Fs(e),!this.disconnected&&cs(us(Ac,{...e}),this.shadowRoot)}constructor(e){super(e,{styles:Ea(Sc)})}}Fa(_c,"Props",vs),typeof customElements<"u"&&!customElements.get("em-emoji-picker")&&customElements.define("em-emoji-picker",_c);var Sc={};function Gc(e){const t=(0,i.useRef)(null),n=(0,i.useRef)(null);return n.current&&n.current.update(e),(0,i.useEffect)((()=>(n.current=new _c({...e,ref:t}),()=>{n.current=null})),[]),o().createElement("div",{ref:t})}Sc=':host {\n  width: min-content;\n  height: 435px;\n  min-height: 230px;\n  border-radius: var(--border-radius);\n  box-shadow: var(--shadow);\n  --border-radius: 10px;\n  --category-icon-size: 18px;\n  --font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;\n  --font-size: 15px;\n  --preview-placeholder-size: 21px;\n  --preview-title-size: 1.1em;\n  --preview-subtitle-size: .9em;\n  --shadow-color: 0deg 0% 0%;\n  --shadow: .3px .5px 2.7px hsl(var(--shadow-color) / .14), .4px .8px 1px -3.2px hsl(var(--shadow-color) / .14), 1px 2px 2.5px -4.5px hsl(var(--shadow-color) / .14);\n  display: flex;\n}\n\n[data-theme="light"] {\n  --em-rgb-color: var(--rgb-color, 34, 36, 39);\n  --em-rgb-accent: var(--rgb-accent, 34, 102, 237);\n  --em-rgb-background: var(--rgb-background, 255, 255, 255);\n  --em-rgb-input: var(--rgb-input, 255, 255, 255);\n  --em-color-border: var(--color-border, rgba(0, 0, 0, .05));\n  --em-color-border-over: var(--color-border-over, rgba(0, 0, 0, .1));\n}\n\n[data-theme="dark"] {\n  --em-rgb-color: var(--rgb-color, 222, 222, 221);\n  --em-rgb-accent: var(--rgb-accent, 58, 130, 247);\n  --em-rgb-background: var(--rgb-background, 21, 22, 23);\n  --em-rgb-input: var(--rgb-input, 0, 0, 0);\n  --em-color-border: var(--color-border, rgba(255, 255, 255, .1));\n  --em-color-border-over: var(--color-border-over, rgba(255, 255, 255, .2));\n}\n\n#root {\n  --color-a: rgb(var(--em-rgb-color));\n  --color-b: rgba(var(--em-rgb-color), .65);\n  --color-c: rgba(var(--em-rgb-color), .45);\n  --padding: 12px;\n  --padding-small: calc(var(--padding) / 2);\n  --sidebar-width: 16px;\n  --duration: 225ms;\n  --duration-fast: 125ms;\n  --duration-instant: 50ms;\n  --easing: cubic-bezier(.4, 0, .2, 1);\n  width: 100%;\n  text-align: left;\n  border-radius: var(--border-radius);\n  background-color: rgb(var(--em-rgb-background));\n  position: relative;\n}\n\n@media (prefers-reduced-motion) {\n  #root {\n    --duration: 0;\n    --duration-fast: 0;\n    --duration-instant: 0;\n  }\n}\n\n#root[data-menu] button {\n  cursor: auto;\n}\n\n#root[data-menu] .menu button {\n  cursor: pointer;\n}\n\n:host, #root, input, button {\n  color: rgb(var(--em-rgb-color));\n  font-family: var(--font-family);\n  font-size: var(--font-size);\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  line-height: normal;\n}\n\n*, :before, :after {\n  box-sizing: border-box;\n  min-width: 0;\n  margin: 0;\n  padding: 0;\n}\n\n.relative {\n  position: relative;\n}\n\n.flex {\n  display: flex;\n}\n\n.flex-auto {\n  flex: none;\n}\n\n.flex-center {\n  justify-content: center;\n}\n\n.flex-column {\n  flex-direction: column;\n}\n\n.flex-grow {\n  flex: auto;\n}\n\n.flex-middle {\n  align-items: center;\n}\n\n.flex-wrap {\n  flex-wrap: wrap;\n}\n\n.padding {\n  padding: var(--padding);\n}\n\n.padding-t {\n  padding-top: var(--padding);\n}\n\n.padding-lr {\n  padding-left: var(--padding);\n  padding-right: var(--padding);\n}\n\n.padding-r {\n  padding-right: var(--padding);\n}\n\n.padding-small {\n  padding: var(--padding-small);\n}\n\n.padding-small-b {\n  padding-bottom: var(--padding-small);\n}\n\n.padding-small-lr {\n  padding-left: var(--padding-small);\n  padding-right: var(--padding-small);\n}\n\n.margin {\n  margin: var(--padding);\n}\n\n.margin-r {\n  margin-right: var(--padding);\n}\n\n.margin-l {\n  margin-left: var(--padding);\n}\n\n.margin-small-l {\n  margin-left: var(--padding-small);\n}\n\n.margin-small-lr {\n  margin-left: var(--padding-small);\n  margin-right: var(--padding-small);\n}\n\n.align-l {\n  text-align: left;\n}\n\n.align-r {\n  text-align: right;\n}\n\n.color-a {\n  color: var(--color-a);\n}\n\n.color-b {\n  color: var(--color-b);\n}\n\n.color-c {\n  color: var(--color-c);\n}\n\n.ellipsis {\n  white-space: nowrap;\n  max-width: 100%;\n  width: auto;\n  text-overflow: ellipsis;\n  overflow: hidden;\n}\n\n.sr-only {\n  width: 1px;\n  height: 1px;\n  position: absolute;\n  top: auto;\n  left: -10000px;\n  overflow: hidden;\n}\n\na {\n  cursor: pointer;\n  color: rgb(var(--em-rgb-accent));\n}\n\na:hover {\n  text-decoration: underline;\n}\n\n.spacer {\n  height: 10px;\n}\n\n[dir="rtl"] .scroll {\n  padding-left: 0;\n  padding-right: var(--padding);\n}\n\n.scroll {\n  padding-right: 0;\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n.scroll::-webkit-scrollbar {\n  width: var(--sidebar-width);\n  height: var(--sidebar-width);\n}\n\n.scroll::-webkit-scrollbar-track {\n  border: 0;\n}\n\n.scroll::-webkit-scrollbar-button {\n  width: 0;\n  height: 0;\n  display: none;\n}\n\n.scroll::-webkit-scrollbar-corner {\n  background-color: rgba(0, 0, 0, 0);\n}\n\n.scroll::-webkit-scrollbar-thumb {\n  min-height: 20%;\n  min-height: 65px;\n  border: 4px solid rgb(var(--em-rgb-background));\n  border-radius: 8px;\n}\n\n.scroll::-webkit-scrollbar-thumb:hover {\n  background-color: var(--em-color-border-over) !important;\n}\n\n.scroll:hover::-webkit-scrollbar-thumb {\n  background-color: var(--em-color-border);\n}\n\n.sticky {\n  z-index: 1;\n  background-color: rgba(var(--em-rgb-background), .9);\n  -webkit-backdrop-filter: blur(4px);\n  backdrop-filter: blur(4px);\n  font-weight: 500;\n  position: sticky;\n  top: -1px;\n}\n\n[dir="rtl"] .search input[type="search"] {\n  padding: 10px 2.2em 10px 2em;\n}\n\n[dir="rtl"] .search .loupe {\n  left: auto;\n  right: .7em;\n}\n\n[dir="rtl"] .search .delete {\n  left: .7em;\n  right: auto;\n}\n\n.search {\n  z-index: 2;\n  position: relative;\n}\n\n.search input, .search button {\n  font-size: calc(var(--font-size)  - 1px);\n}\n\n.search input[type="search"] {\n  width: 100%;\n  background-color: var(--em-color-border);\n  transition-duration: var(--duration);\n  transition-property: background-color, box-shadow;\n  transition-timing-function: var(--easing);\n  border: 0;\n  border-radius: 10px;\n  outline: 0;\n  padding: 10px 2em 10px 2.2em;\n  display: block;\n}\n\n.search input[type="search"]::-ms-input-placeholder {\n  color: inherit;\n  opacity: .6;\n}\n\n.search input[type="search"]::placeholder {\n  color: inherit;\n  opacity: .6;\n}\n\n.search input[type="search"], .search input[type="search"]::-webkit-search-decoration, .search input[type="search"]::-webkit-search-cancel-button, .search input[type="search"]::-webkit-search-results-button, .search input[type="search"]::-webkit-search-results-decoration {\n  -webkit-appearance: none;\n  -ms-appearance: none;\n  appearance: none;\n}\n\n.search input[type="search"]:focus {\n  background-color: rgb(var(--em-rgb-input));\n  box-shadow: inset 0 0 0 1px rgb(var(--em-rgb-accent)), 0 1px 3px rgba(65, 69, 73, .2);\n}\n\n.search .icon {\n  z-index: 1;\n  color: rgba(var(--em-rgb-color), .7);\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n.search .loupe {\n  pointer-events: none;\n  left: .7em;\n}\n\n.search .delete {\n  right: .7em;\n}\n\nsvg {\n  fill: currentColor;\n  width: 1em;\n  height: 1em;\n}\n\nbutton {\n  -webkit-appearance: none;\n  -ms-appearance: none;\n  appearance: none;\n  cursor: pointer;\n  color: currentColor;\n  background-color: rgba(0, 0, 0, 0);\n  border: 0;\n}\n\n#nav {\n  z-index: 2;\n  padding-top: 12px;\n  padding-bottom: 12px;\n  padding-right: var(--sidebar-width);\n  position: relative;\n}\n\n#nav button {\n  color: var(--color-b);\n  transition: color var(--duration) var(--easing);\n}\n\n#nav button:hover {\n  color: var(--color-a);\n}\n\n#nav svg, #nav img {\n  width: var(--category-icon-size);\n  height: var(--category-icon-size);\n}\n\n#nav[dir="rtl"] .bar {\n  left: auto;\n  right: 0;\n}\n\n#nav .bar {\n  width: 100%;\n  height: 3px;\n  background-color: rgb(var(--em-rgb-accent));\n  transition: transform var(--duration) var(--easing);\n  border-radius: 3px 3px 0 0;\n  position: absolute;\n  bottom: -12px;\n  left: 0;\n}\n\n#nav button[aria-selected] {\n  color: rgb(var(--em-rgb-accent));\n}\n\n#preview {\n  z-index: 2;\n  padding: calc(var(--padding)  + 4px) var(--padding);\n  padding-right: var(--sidebar-width);\n  position: relative;\n}\n\n#preview .preview-placeholder {\n  font-size: var(--preview-placeholder-size);\n}\n\n#preview .preview-title {\n  font-size: var(--preview-title-size);\n}\n\n#preview .preview-subtitle {\n  font-size: var(--preview-subtitle-size);\n}\n\n#nav:before, #preview:before {\n  content: "";\n  height: 2px;\n  position: absolute;\n  left: 0;\n  right: 0;\n}\n\n#nav[data-position="top"]:before, #preview[data-position="top"]:before {\n  background: linear-gradient(to bottom, var(--em-color-border), transparent);\n  top: 100%;\n}\n\n#nav[data-position="bottom"]:before, #preview[data-position="bottom"]:before {\n  background: linear-gradient(to top, var(--em-color-border), transparent);\n  bottom: 100%;\n}\n\n.category:last-child {\n  min-height: calc(100% + 1px);\n}\n\n.category button {\n  font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, sans-serif;\n  position: relative;\n}\n\n.category button > * {\n  position: relative;\n}\n\n.category button .background {\n  opacity: 0;\n  background-color: var(--em-color-border);\n  transition: opacity var(--duration-fast) var(--easing) var(--duration-instant);\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n}\n\n.category button:hover .background {\n  transition-duration: var(--duration-instant);\n  transition-delay: 0s;\n}\n\n.category button[aria-selected] .background {\n  opacity: 1;\n}\n\n.category button[data-keyboard] .background {\n  transition: none;\n}\n\n.row {\n  width: 100%;\n  position: absolute;\n  top: 0;\n  left: 0;\n}\n\n.skin-tone-button {\n  border: 1px solid rgba(0, 0, 0, 0);\n  border-radius: 100%;\n}\n\n.skin-tone-button:hover {\n  border-color: var(--em-color-border);\n}\n\n.skin-tone-button:active .skin-tone {\n  transform: scale(.85) !important;\n}\n\n.skin-tone-button .skin-tone {\n  transition: transform var(--duration) var(--easing);\n}\n\n.skin-tone-button[aria-selected] {\n  background-color: var(--em-color-border);\n  border-top-color: rgba(0, 0, 0, .05);\n  border-bottom-color: rgba(0, 0, 0, 0);\n  border-left-width: 0;\n  border-right-width: 0;\n}\n\n.skin-tone-button[aria-selected] .skin-tone {\n  transform: scale(.9);\n}\n\n.menu {\n  z-index: 2;\n  white-space: nowrap;\n  border: 1px solid var(--em-color-border);\n  background-color: rgba(var(--em-rgb-background), .9);\n  -webkit-backdrop-filter: blur(4px);\n  backdrop-filter: blur(4px);\n  transition-property: opacity, transform;\n  transition-duration: var(--duration);\n  transition-timing-function: var(--easing);\n  border-radius: 10px;\n  padding: 4px;\n  position: absolute;\n  box-shadow: 1px 1px 5px rgba(0, 0, 0, .05);\n}\n\n.menu.hidden {\n  opacity: 0;\n}\n\n.menu[data-position="bottom"] {\n  transform-origin: 100% 100%;\n}\n\n.menu[data-position="bottom"].hidden {\n  transform: scale(.9)rotate(-3deg)translateY(5%);\n}\n\n.menu[data-position="top"] {\n  transform-origin: 100% 0;\n}\n\n.menu[data-position="top"].hidden {\n  transform: scale(.9)rotate(3deg)translateY(-5%);\n}\n\n.menu input[type="radio"] {\n  clip: rect(0 0 0 0);\n  width: 1px;\n  height: 1px;\n  border: 0;\n  margin: 0;\n  padding: 0;\n  position: absolute;\n  overflow: hidden;\n}\n\n.menu input[type="radio"]:checked + .option {\n  box-shadow: 0 0 0 2px rgb(var(--em-rgb-accent));\n}\n\n.option {\n  width: 100%;\n  border-radius: 6px;\n  padding: 4px 6px;\n}\n\n.option:hover {\n  color: #fff;\n  background-color: rgb(var(--em-rgb-accent));\n}\n\n.skin-tone {\n  width: 16px;\n  height: 16px;\n  border-radius: 100%;\n  display: inline-block;\n  position: relative;\n  overflow: hidden;\n}\n\n.skin-tone:after {\n  content: "";\n  mix-blend-mode: overlay;\n  background: linear-gradient(rgba(255, 255, 255, .2), rgba(0, 0, 0, 0));\n  border: 1px solid rgba(0, 0, 0, .8);\n  border-radius: 100%;\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  box-shadow: inset 0 -2px 3px #000, inset 0 1px 2px #fff;\n}\n\n.skin-tone-1 {\n  background-color: #ffc93a;\n}\n\n.skin-tone-2 {\n  background-color: #ffdab7;\n}\n\n.skin-tone-3 {\n  background-color: #e7b98f;\n}\n\n.skin-tone-4 {\n  background-color: #c88c61;\n}\n\n.skin-tone-5 {\n  background-color: #a46134;\n}\n\n.skin-tone-6 {\n  background-color: #5d4437;\n}\n\n[data-index] {\n  justify-content: space-between;\n}\n\n[data-emoji-set="twitter"] .skin-tone:after {\n  box-shadow: none;\n  border-color: rgba(0, 0, 0, .5);\n}\n\n[data-emoji-set="twitter"] .skin-tone-1 {\n  background-color: #fade72;\n}\n\n[data-emoji-set="twitter"] .skin-tone-2 {\n  background-color: #f3dfd0;\n}\n\n[data-emoji-set="twitter"] .skin-tone-3 {\n  background-color: #eed3a8;\n}\n\n[data-emoji-set="twitter"] .skin-tone-4 {\n  background-color: #cfad8d;\n}\n\n[data-emoji-set="twitter"] .skin-tone-5 {\n  background-color: #a8805d;\n}\n\n[data-emoji-set="twitter"] .skin-tone-6 {\n  background-color: #765542;\n}\n\n[data-emoji-set="google"] .skin-tone:after {\n  box-shadow: inset 0 0 2px 2px rgba(0, 0, 0, .4);\n}\n\n[data-emoji-set="google"] .skin-tone-1 {\n  background-color: #f5c748;\n}\n\n[data-emoji-set="google"] .skin-tone-2 {\n  background-color: #f1d5aa;\n}\n\n[data-emoji-set="google"] .skin-tone-3 {\n  background-color: #d4b48d;\n}\n\n[data-emoji-set="google"] .skin-tone-4 {\n  background-color: #aa876b;\n}\n\n[data-emoji-set="google"] .skin-tone-5 {\n  background-color: #916544;\n}\n\n[data-emoji-set="google"] .skin-tone-6 {\n  background-color: #61493f;\n}\n\n[data-emoji-set="facebook"] .skin-tone:after {\n  border-color: rgba(0, 0, 0, .4);\n  box-shadow: inset 0 -2px 3px #000, inset 0 1px 4px #fff;\n}\n\n[data-emoji-set="facebook"] .skin-tone-1 {\n  background-color: #f5c748;\n}\n\n[data-emoji-set="facebook"] .skin-tone-2 {\n  background-color: #f1d5aa;\n}\n\n[data-emoji-set="facebook"] .skin-tone-3 {\n  background-color: #d4b48d;\n}\n\n[data-emoji-set="facebook"] .skin-tone-4 {\n  background-color: #aa876b;\n}\n\n[data-emoji-set="facebook"] .skin-tone-5 {\n  background-color: #916544;\n}\n\n[data-emoji-set="facebook"] .skin-tone-6 {\n  background-color: #61493f;\n}\n\n';const Qc=({onEmojiSelect:e})=>{const[t,n]=(0,i.useState)(!1);return d.jsxs(_a,{open:t,onOpenChange:n,children:[d.jsx(Sa,{children:d.jsx(Qt,{width:24,height:24,className:st(kn)})}),d.jsx(Ga,{className:"w-max shadow-none p-0 border-0",children:d.jsx(Gc,{data:Qa,onEmojiSelect:t=>{e(t.native),n(!1)},previewPosition:"none"})})]})},Ec={image:{maxCount:10,maxSizeInMB:10,acceptedFormats:[".png",".jpg",".jpeg",".heic"]},video:{maxCount:10,maxSizeInMB:50,acceptedFormats:[".mp4",".mov"]}},Fc=(e,t)=>{var n;const i="."+(null==(n=e.name.split(".").pop())?void 0:n.toLowerCase());return t.includes(i)},wc=e=>{var t;return"."+(null==(t=e.split(".").pop())?void 0:t.toLowerCase())},Tc=({children:e,type:t,onSelect:n,onError:o,existingFilesCount:r=0,otherTypeFilesCount:a=0})=>{const s=`media-input-${t}`,c=Ec[t],l=(0,i.useRef)(null);return d.jsxs(d.Fragment,{children:[d.jsx("input",{ref:l,id:s,type:"file",onChange:async e=>{const i=Array.from(e.target.files||[]),{validFiles:s,errors:c}=await(async(e,t,n=0,i=0)=>{const o=Ec[t],r={validFiles:[],errors:{}};if(e.length+n+i>10)return r.errors.countExceeded=!0,r;const a=e.filter((e=>!Fc(e,o.acceptedFormats)));a.length>0&&(r.errors.invalidFormat=a.map((e=>({fileName:e.name,format:wc(e.name)}))));const s=e.filter((e=>Fc(e,o.acceptedFormats))),c=1024*o.maxSizeInMB*1024,l=[];for(const u of s)u.size>c?l.push(u.name):r.validFiles.push(u);return l.length>0&&(r.errors.overSize=l),r})(i,t,r,a);c.countExceeded&&(null==o||o({type:"count_exceeded"}),l.current&&(l.current.value="")),c.invalidFormat&&c.invalidFormat.forEach((()=>{null==o||o({type:"invalid_format"})})),c.overSize&&(null==o||o({type:"size_exceeded",fileNames:c.overSize})),s.length>0&&(null==n||n(s)),l.current&&(l.current.value="")},accept:c.acceptedFormats.join(","),multiple:c.maxCount>1,className:"hidden"}),d.jsx("label",{htmlFor:s,className:"flex items-center justify-center text-gray-600 cursor-pointer",children:e})]})},xc=(0,i.memo)((({file:e,onRemove:t,type:n})=>{const[o,r]=(0,i.useState)(""),[a,s]=(0,i.useState)(""),c=(0,i.useRef)(null),l=(0,i.useRef)(null);return(0,i.useEffect)((()=>{const t=URL.createObjectURL(e);if(r(t),"video"===n){const e=c.current,n=l.current;if(!e||!n)return;const i=()=>{const t=n.getContext("2d");if(!t)return;n.width=e.videoWidth,n.height=e.videoHeight,t.drawImage(e,0,0,n.width,n.height);const i=n.toDataURL("image/jpeg");s(i)},o=()=>{e.currentTime=.1},r=()=>{i()};return e.addEventListener("loadeddata",o),e.addEventListener("seeked",r),()=>{e.removeEventListener("loadeddata",o),e.removeEventListener("seeked",r),URL.revokeObjectURL(t)}}return()=>URL.revokeObjectURL(t)}),[e,n]),d.jsxs("div",{className:"relative group shrink-0",children:[d.jsx("div",{className:"w-12 h-12 flex items-center justify-center bg-gray-100 rounded-lg overflow-hidden",children:"image"===n?d.jsx("img",{src:o,alt:e.name,className:"w-12 h-12 object-cover rounded-md"}):d.jsxs(d.Fragment,{children:[d.jsx("video",{ref:c,src:o,className:"hidden"}),d.jsx("canvas",{ref:l,className:"hidden"}),d.jsx("img",{src:a||o,alt:e.name,className:"w-12 h-12 object-cover rounded-md"}),d.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:d.jsx("div",{className:"flex items-center justify-center w-6 h-6 rounded-full bg-black/50",children:d.jsx(_t,{className:"w-4 h-4 text-white"})})})]})}),d.jsx(nn,{variant:"ghost",size:"iconSmall",className:"absolute -top-2 -right-2 bg-black rounded-full w-3 h-3",onClick:t,children:d.jsx(Tt,{className:"w-3 h-3 text-white"})})]})}));xc.displayName="MediaPreview";const kc=(0,i.memo)((({imageFiles:e,videoFiles:t,onRemoveImage:n,onRemoveVideo:o})=>{const r=(0,i.useRef)(null),a=(0,i.useRef)(0),s=e.length+t.length;return(0,i.useEffect)((()=>{r.current&&s>a.current&&(r.current.scrollLeft=r.current.scrollWidth),a.current=s}),[s]),0===s?null:d.jsxs("div",{ref:r,className:st("flex gap-2 pt-2 overflow-x-auto [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]"),children:[e.map(((e,t)=>d.jsx(xc,{file:e,type:"image",onRemove:()=>n(t)},`${e.name}-${t}`))),t.map(((e,t)=>d.jsx(xc,{file:e,type:"video",onRemove:()=>o(t)},`${e.name}-${t}`)))]})}));kc.displayName="MediaPreviewList";const Nc=(0,i.forwardRef)((({onSubmit:e,onImageSelect:t,onImageSelectError:n,placeholder:o="輸入訊息...",className:r,disabled:a,onLengthLimitReached:s,textLimit:c=500},l)=>{const[u,g]=(0,i.useState)(""),[p,m]=(0,i.useState)([]),f=(0,i.useRef)(null);((e,t)=>{(0,i.useEffect)((()=>{e.current&&(e.current.style.height="auto",e.current.style.height=`${e.current.scrollHeight}px`)}),[t,e])})(f,u),(0,i.useImperativeHandle)(l,(()=>({clearText:()=>{g("")},clearImages:()=>{m([])},clear:()=>{g(""),m([])},updateContent:(e,t)=>{void 0!==e&&g(e),void 0!==t&&m(t)},getContent:()=>({textContent:u,selectedFiles:{image:p.length>0?p:[]}})})));const I=()=>{!u.trim()&&0===p.length||(e({textContent:u,selectedFiles:{image:p.length>0?p:[]}}),g(""),m([]))};return d.jsxs("div",{className:st("w-full flex gap-2 p-4 items-center justify-center",r),children:[d.jsx("div",{className:st("w-6 h-6",p.length>0||u?"self-end mb-[10px]":""),children:d.jsx(Tc,{type:"image",onSelect:e=>{m((t=>[...t,...e])),null==t||t(e)},onError:n,existingFilesCount:p.length,children:d.jsx(Ct,{width:24,height:24,className:kn})})}),d.jsxs("div",{className:st("flex min-h-0 items-end gap-2 w-full px-3 bg-gray-50 rounded-lg",(p.length>0||u)&&"max-w-[calc(100%_-_4rem)]"),children:[d.jsxs("div",{className:st("flex-1 flex flex-col min-w-0 pt-3 [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]",p.length>0?"pb-1":"pb-3"),children:[d.jsx(Fn,{ref:f,value:u,onChange:e=>xn(e.target.value,g,c,s),onKeyDown:wn(I),placeholder:o,disabled:a,maxLength:c,className:"bg-transparent rounded-none border-0 shadow-none focus-visible:ring-0 focus-visible:ring-offset-0 p-0 text-sm placeholder:text-gray-400 max-h-[58px] min-h-max overflow-y-auto resize-none break-words [&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]",rows:1}),p.length>0&&d.jsx("div",{className:"w-full overflow-x-auto overflow-y-hidden whitespace-nowrap",children:d.jsx(kc,{imageFiles:p,videoFiles:[],onRemoveImage:e=>{m((t=>t.filter(((t,n)=>n!==e))))},onRemoveVideo:()=>{}})})]}),d.jsx("div",{className:st("flex items-center shrink-0 self-center",p.length>0||u?"self-end mb-[10px]":""),children:d.jsx(Qc,{onEmojiSelect:e=>Tn(e,f,u,g)})})]}),(u||p.length>0)&&d.jsx("div",{className:st("w-6 h-6",p.length>0||u?"self-end mb-[10px]":""),children:d.jsx(nn,{type:"button",variant:"ghost",size:"iconSmall",className:"flex shrink-0 items-center self-end p-0",onClick:I,disabled:a,children:d.jsx(Gt,{fill:"#22394B",className:"w-6 h-6 text-[#22394B]"})})})]})}));Nc.displayName="ClientMessageInput";const Oc=(0,i.forwardRef)((({onSubmit:e,onImageSelect:t,onVideoSelect:n,placeholder:o="客服回應",className:r,disabled:a,onLengthLimitReached:s,textLimit:c=500,isReplyable:l=!0,notReplyableText:u="該帳號未授權回覆訊息",onImageSelectError:g,onVideoSelectError:p},m)=>{const[f,I]=(0,i.useState)(""),[h,b]=(0,i.useState)([]),[y,C]=(0,i.useState)([]),v=(0,i.useRef)(null),B=(0,i.useMemo)((()=>a||!f.trim()&&0===h.length&&0===y.length),[a,f,h.length,y.length]);(0,i.useImperativeHandle)(m,(()=>({clearText:()=>{I("")},clearImages:()=>{b([])},clearVideos:()=>{C([])},clear:()=>{I(""),b([]),C([])},updateContent:(e,t,n)=>{void 0!==e&&I(e),void 0!==t&&b(t),void 0!==n&&C(n)},getContent:()=>({textContent:f,selectedFiles:{image:h.length>0?h:[],video:y.length>0?y:[]}})})));const A=(0,i.useCallback)((()=>{!f.trim()&&0===h.length&&0===y.length||(e({textContent:f,selectedFiles:{image:h.length>0?h:[],video:y.length>0?y:[]}}),I(""),b([]),C([]))}),[f,h,y,e]),_=(0,i.useCallback)((e=>{b((t=>[...t,...e])),null==t||t(e)}),[t]),S=(0,i.useCallback)((e=>{C((t=>[...t,...e])),null==n||n(e)}),[n]),G=(0,i.useCallback)((e=>{b((t=>t.filter(((t,n)=>n!==e))))}),[]),Q=(0,i.useCallback)((e=>{C((t=>t.filter(((t,n)=>n!==e))))}),[]);return d.jsxs("div",{className:st("bg-white border-t border-gray-200",l&&"p-4",r),children:[!l&&d.jsx("div",{className:"flex items-center justify-center bg-[#F3F4F6] py-8",children:d.jsx("div",{className:"text-sm text-[#667079]",children:d.jsx("span",{children:u})})}),l&&d.jsxs("div",{className:"flex flex-col",children:[d.jsxs("div",{className:"bg-[#FDFDFD]",children:[d.jsx(Fn,{ref:v,value:f,onChange:e=>xn(e.target.value,I,c,s),onKeyDown:wn(A),maxLength:c,placeholder:o,className:"resize-none bg-white border-0 shadow-none focus-visible:ring-0 focus-visible:ring-offset-0 p-0 my-2 text-sm placeholder:text-gray-400 h-11",disabled:a}),(h.length>0||y.length>0)&&d.jsx(kc,{imageFiles:h,videoFiles:y,onRemoveImage:G,onRemoveVideo:Q})]}),d.jsxs("div",{className:"flex items-center justify-between px-1",children:[d.jsxs("div",{className:"flex items-center gap-4",children:[d.jsx(Qc,{onEmojiSelect:e=>Tn(e,v,f,I)}),d.jsx(Tc,{type:"image",onSelect:_,onError:g,existingFilesCount:h.length,otherTypeFilesCount:y.length,children:d.jsx(Ct,{className:st(kn)})}),d.jsx(Tc,{type:"video",onSelect:S,onError:p,existingFilesCount:y.length,otherTypeFilesCount:h.length,children:d.jsx(yt,{className:st(kn)})})]}),d.jsx("div",{className:"flex gap-3",children:d.jsx(nn,{variant:"ghost",className:"p-0",onClick:A,disabled:B,children:d.jsx(Gt,{className:st(B?"text-gray-400":"text-black")})})})]})]})]})}));Oc.displayName="AgentMessageInput";const Zc=({shopName:e,handleCloseClick:t,isMobile:n})=>d.jsxs("div",{className:"p-4 bg-[#22394B] border-b border-[#D8D8D8] text-white",children:[n&&d.jsx("div",{className:"flex justify-center items-center pb-2",children:d.jsx("div",{className:"w-8 h-1 bg-gray-500 rounded-full"})}),d.jsxs("div",{className:"flex justify-between",children:[d.jsx("div",{className:"flex items-center",children:e}),d.jsx("div",{className:"flex gap-3 items-center",children:d.jsx(nn,{variant:"ghost",size:"iconSmall",onClick:t,children:d.jsx(Tt,{width:24,height:24})})})]})]});en("inline-flex items-center rounded-[4px] border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground",agent:"px-1 py-0.5 text-xs font-normal leading-[18px] text-gray-700 rounded-[4px] bg-[#F3F4F6] border-0"}},defaultVariants:{variant:"default"}});const Uc=({isOpen:e,title:t,children:n,confirmText:i,cancelText:o,onConfirmDialog:a,onCancelDialog:s,confirmButtonClassName:c="bg-[#FF5353] text-white",cancelButtonClassName:l,className:u,container:g})=>{const p=d.jsx("div",{className:st("absolute inset-0 z-50 flex items-center justify-center","transition-opacity duration-300",e?"opacity-100 visible":"opacity-0 invisible",u),children:d.jsxs("div",{className:st("w-[280px] bg-white rounded-lg px-6 pb-6 pt-8","max-h-[90vh] overflow-hidden flex flex-col gap-4","shadow-[0_0_10px_0_rgba(0,0,0,0.25)]"),children:[t&&d.jsx("div",{className:"relative w-full h-fit flex items-center justify-center",children:d.jsx("div",{className:"text-base font-medium",children:t})}),d.jsx("div",{className:"text-sm text-gray-900 text-center",children:n}),d.jsxs("div",{className:"w-full flex justify-end gap-2",children:[o&&d.jsx("button",{className:st("h-8 px-4 rounded text-sm font-medium",l),onClick:s,children:o}),i&&d.jsx("button",{className:st("py-3 rounded text-sm font-medium",c),onClick:a,children:i})]})]})});return g?(0,r.createPortal)(p,g):p};var Rc=(e=>(e.Warning="warning",e))(Rc||{});const Xc={[Rc.Warning]:{icon:bt,bgColor:"bg-white",textColor:"text-black",iconColor:"text-white",iconFill:"#FF9933"}},Wc=({isOpen:e,type:t=Rc.Warning,message:n,onClose:o,className:a,container:s,isEnableClickOutSide:c=!0})=>{const l=Xc[t],u=l.icon,g=(0,i.useRef)(null);(0,i.useEffect)((()=>{if(!c)return;const t=t=>{const n=t.target;e&&g.current&&!g.current.contains(n)&&(null==o||o())};return document.addEventListener("mousedown",t),document.addEventListener("touchstart",t),()=>{document.removeEventListener("mousedown",t),document.removeEventListener("touchstart",t)}}),[e,o,c]);const p=d.jsx("div",{className:st("absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2","transition-all duration-300 ease-in-out z-50",e?"opacity-100 visible":"opacity-0 invisible"),children:d.jsx("div",{ref:g,className:st("max-w-[280px] px-4 py-3 rounded-lg shadow-lg","transition-all duration-300 ease-in-out",l.bgColor,a),children:d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx(u,{fill:l.iconFill,className:st("w-5 h-5 flex-shrink-0",l.iconColor)}),d.jsx("div",{className:st("flex-1 text-sm break-words",l.textColor),children:n}),d.jsx("button",{onClick:o,className:st("w-5 h-5 flex-shrink-0 flex items-center justify-center rounded-full","transition-colors",l.textColor),children:d.jsx(Tt,{size:16})})]})})});return s?(0,r.createPortal)(p,s):p};window.Nine1ChatUI={MessageContainer:En,ClientMessageInput:Nc,ClientHeader:Zc,Dialog:Uc,Toast:Wc}},"./node_modules/@91app/nine1.lib.custom-setting/dist/index.umd.js":function(e,t){!function(e){"use strict";const t={isShowSFTPContractNote:!0,isHideStoreCustomerService:!1,isHideMembershipDescription:!1,noServiceAreaExcludeZipCode:[],isEnableshippingCartMoreStorePayMethod:!1,customerHeaderConfig:"",customerSalePageImgConfig:"",isShowSalePageProductId:!0,isProductCardTargetBlankOnCategoryPage:!1,isChannelActive:!1,isChannelSwitchActive:!1,isDirectlyAddToCart:!1,isBreadcrumbsActive:!0,isUseFastBuy:!1,isNewPXProductList:!1,isBubbleAddToCart:!1,customerServiceMessageConfig:"",customerUIConfig:{},isShopsDesktopImageNeedCompress:!1,isMujiCustomerFooter:!1,isHideTypeButton:!1,isEnableAdidasCustom:!1,isCustomUnableChangePasswordPrompt:!1,customVipMemberTradesSumTitle:!1,customCarouselAutoplaySecond:3,isCancelOrderDescDefaultTextShowEmpty:!1,isShowShippingArea:!0,loginPageToastDelayMs:2500,isNoneShoppingStore:!1},n={isShowSFTPContractNote:!0,isHideStoreCustomerService:!1,isHideMembershipDescription:!1,noServiceAreaExcludeZipCode:[],isEnableshippingCartMoreStorePayMethod:!1,customerHeaderConfig:"",customerSalePageImgConfig:"",isShowSalePageProductId:!0,isProductCardTargetBlankOnCategoryPage:!1,isChannelActive:!1,isChannelSwitchActive:!1,isDirectlyAddToCart:!1,isBreadcrumbsActive:!0,isUseFastBuy:!1,isNewPXProductList:!1,isBubbleAddToCart:!1,customerServiceMessageConfig:"",customerUIConfig:{},isShopsDesktopImageNeedCompress:!1,isMujiCustomerFooter:!1,isHideTypeButton:!1,isEnableAdidasCustom:!1,isCustomUnableChangePasswordPrompt:!1,customVipMemberTradesSumTitle:!1,customCarouselAutoplaySecond:3,isCancelOrderDescDefaultTextShowEmpty:!1,isShowShippingArea:!0,loginPageToastDelayMs:2500,isNoneShoppingStore:!1},i={dev:{default:t,tw:{22:{isChannelActive:!0,isChannelSwitchActive:!0,isDirectlyAddToCart:!0,isUseFastBuy:!0,isNewPXProductList:!0,isBubbleAddToCart:!0},225:{isHideStoreCustomerService:!0,isHideMembershipDescription:!0,customerSalePageImgConfig:"_碧兒泉",isBreadcrumbsActive:!1,customerServiceMessageConfig:"線上購物問與答",isShopsDesktopImageNeedCompress:!0},231:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},233:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0,isShowShippingArea:!1},235:{isProductCardTargetBlankOnCategoryPage:!0},10230:{isEnableshippingCartMoreStorePayMethod:!0},12202:{isShowSalePageProductId:!1},12209:{isShowSFTPContractNote:!1},12488:{isCustomUnableChangePasswordPrompt:!0,customVipMemberTradesSumTitle:!0},12868:{noServiceAreaExcludeZipCode:["882","896","883"],isCancelOrderDescDefaultTextShowEmpty:!0}},hk:{24:{loginPageToastDelayMs:1e3}},my:{}},qa:{default:t,tw:{225:{isHideStoreCustomerService:!0,customerServiceMessageConfig:"線上購物問與答",customCarouselAutoplaySecond:5},231:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},233:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isShopsDesktopImageNeedCompress:!0,isHideTypeButton:!0,isEnableAdidasCustom:!0,isShowShippingArea:!1},10230:{isEnableshippingCartMoreStorePayMethod:!0},10490:{isEnableshippingCartMoreStorePayMethod:!0},12157:{customerSalePageImgConfig:"_碧兒泉"},12202:{isShowSalePageProductId:!1},12209:{isShowSFTPContractNote:!1},12294:{isHideMembershipDescription:!0},12488:{isCustomUnableChangePasswordPrompt:!0,customVipMemberTradesSumTitle:!0},12868:{isEnableshippingCartMoreStorePayMethod:!0,noServiceAreaExcludeZipCode:["882","896","883"],isCancelOrderDescDefaultTextShowEmpty:!0}},hk:{2:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},24:{loginPageToastDelayMs:1e3},145:{isNoneShoppingStore:!0}},my:{80:{isNoneShoppingStore:!0}}},qa11:{default:t,tw:{231:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},233:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0}}},stage:{default:n,tw:{8:{isShopsDesktopImageNeedCompress:!0},360:{noServiceAreaExcludeZipCode:["882","896","883"],isEnableshippingCartMoreStorePayMethod:!0,isCancelOrderDescDefaultTextShowEmpty:!0},2325:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},2373:{noServiceAreaExcludeZipCode:["882","896","883"]},40589:{customerSalePageImgConfig:"_碧兒泉",isShopsDesktopImageNeedCompress:!0},40625:{customerSalePageImgConfig:"_碧兒泉"},41337:{isHideStoreCustomerService:!0,customerServiceMessageConfig:"線上購物問與答"},41364:{isEnableshippingCartMoreStorePayMethod:!0},41426:{isEnableshippingCartMoreStorePayMethod:!0,isCancelOrderDescDefaultTextShowEmpty:!0},41566:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isShowSalePageProductId:!1,isMujiCustomerFooter:!0},41571:{isShowSFTPContractNote:!1,customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0,isShowShippingArea:!1},41591:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0,isShowShippingArea:!1}},hk:{20:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},21:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},28:{loginPageToastDelayMs:1e3},76:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},77:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5}}},prod:{default:n,tw:{8:{isShopsDesktopImageNeedCompress:!0},360:{noServiceAreaExcludeZipCode:["882","896","883"],isEnableshippingCartMoreStorePayMethod:!0,isCancelOrderDescDefaultTextShowEmpty:!0},2325:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},2373:{noServiceAreaExcludeZipCode:["882","896","883"]},40522:{isCustomUnableChangePasswordPrompt:!0},40589:{customerSalePageImgConfig:"_碧兒泉",isShopsDesktopImageNeedCompress:!0},40625:{customerSalePageImgConfig:"_碧兒泉"},40916:{customVipMemberTradesSumTitle:!0},41337:{isHideStoreCustomerService:!0,customerServiceMessageConfig:"線上購物問與答"},41364:{isEnableshippingCartMoreStorePayMethod:!0},41426:{isEnableshippingCartMoreStorePayMethod:!0,isCancelOrderDescDefaultTextShowEmpty:!0},41566:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isShowSalePageProductId:!1,isMujiCustomerFooter:!0},41571:{isShowSFTPContractNote:!1,customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0,isShowShippingArea:!1},41591:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0,isShowShippingArea:!1},41602:{isHideMembershipDescription:!0}},hk:{20:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},21:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},28:{loginPageToastDelayMs:1e3},76:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},77:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},85:{isNoneShoppingStore:!0},86:{isNoneShoppingStore:!0}},my:{200130:{isNoneShoppingStore:!0},200131:{isNoneShoppingStore:!0}}}},o=(e,t,n,i)=>{var o;if(!(e&&t&&n&&i))return null;const s=r(e),c=null==(o=a(e,t)[n])?void 0:o[i];return void 0!==c?c:null==s?void 0:s[i]},r=e=>{var n;return(null==(n=i[null==e?void 0:e.toLowerCase()])?void 0:n.default)||t},a=(e,t)=>{var n;const o=r(e);return(null==(n=i[null==e?void 0:e.toLowerCase()])?void 0:n[null==t?void 0:t.toLowerCase()])||o};var s,c=((s=c||{}).isHideStoreCustomerService="isHideStoreCustomerService",s.isShowSFTPContractNote="isShowSFTPContractNote",s.isHideMembershipDescription="isHideMembershipDescription",s.customerSalePageImgConfig="customerSalePageImgConfig",s.isShowSalePageProductId="isShowSalePageProductId",s.isChannelActive="isChannelActive",s.isChannelSwitchActive="isChannelSwitchActive",s.isDirectlyAddToCart="isDirectlyAddToCart",s.isBreadcrumbsActive="isBreadcrumbsActive",s.isUseFastBuy="isUseFastBuy",s.isNewPXProductList="isNewPXProductList",s.isBubbleAddToCart="isBubbleAddToCart",s.customerUIConfig="customerUIConfig",s.customerServiceMessageConfig="customerServiceMessageConfig",s.noServiceAreaExcludeZipCode="noServiceAreaExcludeZipCode",s.isEnableshippingCartMoreStorePayMethod="isEnableshippingCartMoreStorePayMethod",s.isProductCardTargetBlankOnCategoryPage="isProductCardTargetBlankOnCategoryPage",s.isShopsDesktopImageNeedCompress="isShopsDesktopImageNeedCompress",s.isMujiCustomerFooter="isMujiCustomerFooter",s.isHideTypeButton="isHideTypeButton",s.isEnableAdidasCustom="isEnableAdidasCustom",s.customerHeaderConfig="customerHeaderConfig",s.isCustomUnableChangePasswordPrompt="isCustomUnableChangePasswordPrompt",s.customVipMemberTradesSumTitle="customVipMemberTradesSumTitle",s.isNoneShoppingStore="isNoneShoppingStore",s.customCarouselAutoplaySecond="customCarouselAutoplaySecond",s.isCancelOrderDescDefaultTextShowEmpty="isCancelOrderDescDefaultTextShowEmpty",s.isShowShippingArea="isShowShippingArea",s.loginPageToastDelayMs="loginPageToastDelayMs",s);e.getSetting=o,e.settingNameEnum=c,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(t)},"./node_modules/@91app/nine1.lib.custom-translation/dist/index.umd.js":function(e,t){!function(e){"use strict";var t,n=((t=n||{}).frontend_common_vip_member_zone="frontend_common_vip_member_zone",t.frontend_common_vip_member_zone_entrance="frontend_common_vip_member_zone_entrance",t.frontend_common_back_to_vip_member_zone="frontend_common_back_to_vip_member_zone",t.frontend_common_order_search="frontend_common_order_search",t.frontend_trades_order_trades_order_list_order_list="frontend_trades_order_trades_order_list_order_list",t.frontend_trades_order_trades_order_list_muji_description1="frontend_trades_order_trades_order_list_muji_description1",t.frontend_trades_order_trades_order_list_muji_description2="frontend_trades_order_trades_order_list_muji_description2",t.frontend_trades_order_trades_order_detail_sales_code="frontend_trades_order_trades_order_detail_sales_code",t.frontend_vip_member_index_check_order="frontend_vip_member_index_check_order",t.frontend_common_back_to_order_search="frontend_common_back_to_order_search",t.frontend_common_my_ecoupon="frontend_common_my_ecoupon",t.frontend_common_ecoupon_zone="frontend_common_ecoupon_zone",t.frontend_common_go_to_ecoupon_zone="frontend_common_go_to_ecoupon_zone",t.frontend_common_ecoupon="frontend_common_ecoupon",t.frontend_vip_member_email_notification_sms_subscribe="frontend_vip_member_email_notification_sms_subscribe",t.frontend_vip_member_email_notification_promotion_sms="frontend_vip_member_email_notification_promotion_sms",t.frontend_shop_introduce_cancel_order_description="frontend_shop_introduce_cancel_order_description",t.frontend_shop_introduce_why_not_receive_einvoice_description="frontend_shop_introduce_why_not_receive_einvoice_description",t.frontend_shop_introduce_einvoice_donation_description="frontend_shop_introduce_einvoice_donation_description",t.frontend_shop_introduce_how_to_redeem_einvoice_prize_description="frontend_shop_introduce_how_to_redeem_einvoice_prize_description",t.frontend_shop_introduce_non_winning_einvoice_delivery_description="frontend_shop_introduce_non_winning_einvoice_delivery_description",t.frontend_shop_introduce_einvoice_return_user_description="frontend_shop_introduce_einvoice_return_user_description",t.frontend_common_points="frontend_common_points",t.frontend_common_points_unit="frontend_common_points_unit",t.frontend_common_not_yet_open_for_sale="frontend_common_not_yet_open_for_sale",t.frontend_common_cannot_purchase="frontend_common_cannot_purchase",t),i=(e=>(e.mweb="mweb",e.osm="osm",e))(i||{}),o=(e=>(e.frontend="frontend",e.backend="backend",e.cms="cms",e.app="app",e))(o||{}),r=(e=>(e.dev="dev",e.qa="qa",e.pp="pp",e.stage="stage",e.prod="prod",e))(r||{}),a=(e=>(e.tw="tw",e.hk="hk",e.my="my",e))(a||{});const s=e=>{switch(e){case r.dev:case r.qa:return r.qa;case r.pp:case r.stage:case r.prod:return r.prod;default:return e}},c={mweb:{frontend:{hk:{5:{frontend_common_not_yet_open_for_sale:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5",frontend_common_cannot_purchase:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5"},11:{frontend_common_vip_member_zone:"hk_qa.mweb.frontend.common.vipmember_zone_11",frontend_common_vip_member_zone_entrance:"hk_qa.mweb.frontend.common.vipmember_zone_entrance_11",frontend_common_back_to_vip_member_zone:"hk_qa.mweb.frontend.common.back_to_vipmember_zone_11",frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_11",frontend_vip_member_index_check_order:"hk_qa.mweb.frontend.vip_member.index.check_order_11",frontend_common_back_to_order_search:"hk_qa.mweb.frontend.common.back_to_order_search_11",frontend_trades_order_trades_order_list_order_list:"hk_qa.mweb.frontend.trades_order_trades_order_list.order_list_11",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_11",frontend_common_ecoupon_zone:"hk_qa.mweb.frontend.common.ecoupon_zone_11",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_11",frontend_vip_member_email_notification_sms_subscribe:"hk_qa.mweb.frontend.vip_member.email_notification.sms_subscribe_11",frontend_vip_member_email_notification_promotion_sms:"hk_qa.mweb.frontend.vip_member.email_notification.promotion_sms_11"},24:{frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_24",frontend_vip_member_index_check_order:"hk_qa.mweb.frontend.vip_member.index.check_order_24",frontend_common_back_to_order_search:"hk_qa.mweb.frontend.common.back_to_order_search_24",frontend_trades_order_trades_order_list_order_list:"hk_qa.mweb.frontend.trades_order_trades_order_list.order_list_24",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_24",frontend_common_ecoupon_zone:"hk_qa.mweb.frontend.common.ecoupon_zone_24",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_24",frontend_common_points:"hk_qa.mweb.frontend.common.points_24",frontend_common_points_unit:"hk_qa.mweb.frontend.common.points_unit_24"}},tw:{225:{frontend_trades_order_trades_order_list_muji_description1:"tw_qa.mweb.frontend.trades_order_trades_order_list.muji_description1_225",frontend_trades_order_trades_order_list_muji_description2:"tw_qa.mweb.frontend.trades_order_trades_order_list.muji_description2_225",frontend_trades_order_trades_order_detail_sales_code:"tw_qa.mweb.frontend.trades_order_trades_order_detail.sales_code_225"},233:{frontend_shop_introduce_why_not_receive_einvoice_description:"tw_qa.mweb.frontend.shop_introduce.why_not_receive_einvoice_description_233",frontend_shop_introduce_einvoice_donation_description:"tw_qa.mweb.frontend.shop_introduce.einvoice_donation_description_233",frontend_shop_introduce_how_to_redeem_einvoice_prize_description:"tw_qa.mweb.frontend.shop_introduce.how_to_redeem_einvoice_prize_description_233",frontend_shop_introduce_non_winning_einvoice_delivery_description:"tw_qa.mweb.frontend.shop_introduce.non_winning_einvoice_delivery_description_233",frontend_shop_introduce_einvoice_return_user_description:"tw_qa.mweb.frontend.shop_introduce.einvoice_return_user_description_233"},12868:{frontend_shop_introduce_cancel_order_description:"tw_qa.mweb.frontend.shop_introduce.cancel_order_description_12868"}}},backend:null,cms:{hk:{5:{frontend_common_not_yet_open_for_sale:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5",frontend_common_cannot_purchase:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5"},11:{frontend_common_vip_member_zone:"hk_qa.mweb.frontend.common.vipmember_zone_11",frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_11",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_11",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_11"},24:{frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_24",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_24"}}},app:{hk:{5:{frontend_common_not_yet_open_for_sale:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5",frontend_common_cannot_purchase:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5"},11:{frontend_common_vip_member_zone:"hk_qa.mweb.frontend.common.vipmember_zone_11",frontend_common_vip_member_zone_entrance:"hk_qa.mweb.frontend.common.vipmember_zone_entrance_11",frontend_common_back_to_vip_member_zone:"hk_qa.mweb.frontend.common.back_to_vipmember_zone_11",frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_11",frontend_vip_member_index_check_order:"hk_qa.mweb.frontend.vip_member.index.check_order_11",frontend_common_back_to_order_search:"hk_qa.mweb.frontend.common.back_to_order_search_11",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_11",frontend_common_ecoupon_zone:"hk_qa.mweb.frontend.common.ecoupon_zone_11",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_11",frontend_vip_member_email_notification_sms_subscribe:"hk_qa.mweb.app.vip_member.email_notification.sms_subscribe_11",frontend_vip_member_email_notification_promotion_sms:"hk_qa.mweb.frontend.vip_member.email_notification.promotion_sms_11"}}}}},l={mweb:{frontend:{hk:{7:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_7",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_7",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_7",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_7",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_7",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_7",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_7",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_7",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_7",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_7",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.frontend.vip_member.email_notification.sms_subscribe_7",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_7"},17:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_17",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_17",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_17",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_17",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_17",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_17",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_17",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_17",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_17",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_17",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.frontend.vip_member.email_notification.sms_subscribe_17",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_17"},25:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_25",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_25",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_25",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_25",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_25",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_25",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_25",frontend_common_points:"hk_prod.mweb.frontend.common.points_25",frontend_common_points_unit:"hk_prod.mweb.frontend.common.points_unit_25"},28:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_28",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_28",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_28",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_28",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_28",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_28",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_28",frontend_common_points:"hk_prod.mweb.frontend.common.points_28",frontend_common_points_unit:"hk_prod.mweb.frontend.common.points_unit_28"},85:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"},86:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"}},tw:{360:{frontend_shop_introduce_cancel_order_description:"tw_prod.mweb.frontend.shop_introduce.cancel_order_description_360"},41426:{frontend_shop_introduce_cancel_order_description:"tw_prod.mweb.frontend.shop_introduce.cancel_order_description_41426"},41566:{frontend_trades_order_trades_order_list_muji_description1:"tw_prod.mweb.frontend.trades_order_trades_order_list.muji_description1_41566",frontend_trades_order_trades_order_list_muji_description2:"tw_prod.mweb.frontend.trades_order_trades_order_list.muji_description2_41566",frontend_trades_order_trades_order_detail_sales_code:"tw_prod.mweb.frontend.trades_order_trades_order_detail.sales_code_41566"},41571:{frontend_shop_introduce_why_not_receive_einvoice_description:"tw_prod.mweb.frontend.shop_introduce.why_not_receive_einvoice_description_41571",frontend_shop_introduce_einvoice_donation_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_donation_description_41571",frontend_shop_introduce_how_to_redeem_einvoice_prize_description:"tw_prod.mweb.frontend.shop_introduce.how_to_redeem_einvoice_prize_description_41571",frontend_shop_introduce_non_winning_einvoice_delivery_description:"tw_prod.mweb.frontend.shop_introduce.non_winning_einvoice_delivery_description_41571",frontend_shop_introduce_einvoice_return_user_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_return_user_description_41571"},41591:{frontend_shop_introduce_why_not_receive_einvoice_description:"tw_prod.mweb.frontend.shop_introduce.why_not_receive_einvoice_description_41591",frontend_shop_introduce_einvoice_donation_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_donation_description_41591",frontend_shop_introduce_how_to_redeem_einvoice_prize_description:"tw_prod.mweb.frontend.shop_introduce.how_to_redeem_einvoice_prize_description_41591",frontend_shop_introduce_non_winning_einvoice_delivery_description:"tw_prod.mweb.frontend.shop_introduce.non_winning_einvoice_delivery_description_41591",frontend_shop_introduce_einvoice_return_user_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_return_user_description_41591"},41610:{frontend_trades_order_trades_order_list_muji_description1:"tw_prod.mweb.frontend.trades_order_trades_order_list.muji_description1_41610",frontend_trades_order_trades_order_list_muji_description2:"tw_prod.mweb.frontend.trades_order_trades_order_list.muji_description2_41610",frontend_trades_order_trades_order_detail_sales_code:"tw_prod.mweb.frontend.trades_order_trades_order_detail.sales_code_41610"}}},backend:null,cms:{hk:{7:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_7",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_7",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_7",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_7"},17:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_17",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_17",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_17",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_17"},25:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_25",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_25"},28:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_28",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_28"},85:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"},86:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"}}},app:{hk:{7:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_7",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_7",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_7",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_7",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_7",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_7",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_7",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_7",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_7",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.app.vip_member.email_notification.sms_subscribe_7",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_7"},17:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_17",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_17",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_17",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_17",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_17",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_17",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_17",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_17",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_17",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.app.vip_member.email_notification.sms_subscribe_17",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_17"},85:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"},86:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_86",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_86"}}}}},u=({platform:e,moduleType:t,env:n,market:i,shopId:o})=>{var a,u;const d=null==(a=(s(n)===r.prod?l:c)[e])?void 0:a[t];return!!d&&!(null==(u=d[i])||!u[o])};e.envEnum=r,e.isHasCustomTransModuleSetting=u,e.marketEnum=a,e.moduleTypeEnum=o,e.mwebTranslationKeyEnum=n,e.platformKeyEnum=i,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(t)},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/ProductToCart.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProductToCart=void 0;var r=n("react"),a=n("react"),s=n("./node_modules/lodash/lodash.js"),c=n("./node_modules/styled-components/dist/styled-components.browser.esm.js"),l=n("./node_modules/@91app/nineyi.component.product-to-cart/node_modules/@91app/nineyi.lib.display-text/dist/bundle.js"),u=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/typings/productToCart.typing.js"),d=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/index.js"),g=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/utilities/array.utility.js"),p=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/utilities/rawData.utility.js"),m=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/constants/saleStatus.constant.js"),f=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/style.js"),I=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/ProductInfo.js"),h={};t.ProductToCart=function(e){return r.createElement(c.ThemeProvider,{theme:e.theme||h},e.salePageType===u.SalePageTypeEnum.Bundle&&r.createElement(C,{curStep:e.curStep,includeTheseSalePagesText:e.includeTheseSalePagesText,skuSelectPlaceholder:e.skuSelectPlaceholder,skuSelectWarningText:e.skuSelectWarningText,onClickSkuSelect:e.onClickSkuSelect,confirmSelectedSkuText:e.confirmSelectedSkuText,onClickConfirmSelectedSku:e.onClickConfirmSelectedSku,bundleBlocks:e.bundleBlocks,maxQuantity:e.maxQuantity,buttonDisplayText:e.buttonDisplayText,customStyles:e.customStyles,decimal:e.decimal,handleProductToCart:e.handleProductToCart,isDisplayProductImage:e.isDisplayProductImage,isEnableCartButton:e.isEnableCartButton,isEnableAdidasCustom:e.isEnableAdidasCustom,customIconImg:e.customIconImg,productInfoSubTitle:e.productInfoSubTitle,productToCartStyle:e.productToCartStyle,rate:e.rate,mainSalePageInfo:e.mainSalePageInfo,selectedValue:e.selectedValue,QtyHintBlock:e.QtyHintBlock,skuSoldOutText:e.skuSoldOutText,skuUpdatedText:e.skuUpdatedText,symbol:e.symbol,isPriceOnTop:e.isPriceOnTop,isSuggestPriceShowPrice:e.isSuggestPriceShowPrice,isEnableOriginalPrice:e.isEnableOriginalPrice,specChartData:e.specChartData,handleOpenSpecChart:e.handleOpenSpecChart,subSalePageInfo:e.subSalePageInfo,DEFAULT_SKU_ID:e.DEFAULT_SKU_ID,DEFAULT_MAX_QUANTITY:e.DEFAULT_MAX_QUANTITY,defaultSelectedSubSalePageSkuIds:e.defaultSelectedSubSalePageSkuIds,salePageRemovedPlaceholder:e.salePageRemovedPlaceholder,notSellingMaskLabelText:e.notSellingMaskLabelText,browsingMode:e.browsingMode,isSubSalePageClosed:e.isSubSalePageClosed,isSubSalePageSoldout:e.isSubSalePageSoldout,salePageBundleSellingQty:e.salePageBundleSellingQty}),(e.salePageType===u.SalePageTypeEnum.Normal||void 0===e.salePageType)&&r.createElement(y,{backInStockButtonDisplayText:e.backInStockButtonDisplayText,buttonDisplayText:e.buttonDisplayText,customStyles:e.customStyles,decimal:e.decimal,handleAddQuantity:e.handleAddQuantity,handleProductToCart:e.handleProductToCart,handleRemoveQuantity:e.handleRemoveQuantity,handleUpdateSelectedSkuIdCallBack:e.handleUpdateSelectedSkuIdCallBack,isDisplayProductImage:e.isDisplayProductImage,isEnableBackInStock:e.isEnableBackInStock,isEnableCartButton:e.isEnableCartButton,isEnablePurchaseMethod:e.isEnablePurchaseMethod,isBackInStockSubscribedSkuId:e.isBackInStockSubscribedSkuId,isEnableAdidasCustom:e.isEnableAdidasCustom,customIconImg:e.customIconImg,productInfoSubTitle:e.productInfoSubTitle,productToCartStyle:e.productToCartStyle,purchaseMethodInfo:e.purchaseMethodInfo,rate:e.rate,rawSalePageInfo:e.rawSalePageInfo,rawSkuInfoList:e.rawSkuInfoList,selectedValue:e.selectedValue,serviceType:e.serviceType,setQtyHintText:e.setQtyHintText,shopId:e.shopId,skuSoldOutText:e.skuSoldOutText,skuUpdatedText:e.skuUpdatedText,symbol:e.symbol,userSettingMaxValue:e.userSettingMaxValue,isPriceOnTop:e.isPriceOnTop,isSuggestPriceShowPrice:e.isSuggestPriceShowPrice,specialPriceList:e.specialPriceList,selectedSpecialPriceData:e.selectedSpecialPriceData,salePagePriceList:e.salePagePriceList,isEnableOriginalPrice:e.isEnableOriginalPrice,specChartData:e.specChartData,handleOpenSpecChart:e.handleOpenSpecChart,stockQtyTitle:e.stockQtyTitle,isShowStockQty:e.isShowStockQty},e.children))};var b,y=function(e){var t=e.backInStockButtonDisplayText,n=void 0===t?"貨到通知我":t,i=e.buttonDisplayText,c=void 0===i?"加入購物車":i,g=e.children,I=e.customStyles,h=void 0===I?{}:I,b=e.decimal,y=e.handleAddQuantity,C=e.handleProductToCart,v=e.handleRemoveQuantity,B=e.handleUpdateSelectedSkuIdCallBack,A=e.isDisplayProductImage,_=void 0===A||A,S=e.isEnableBackInStock,G=void 0!==S&&S,Q=e.isEnableCartButton,E=void 0===Q||Q,F=e.isEnablePurchaseMethod,w=void 0===F||F,T=e.isBackInStockSubscribedSkuId,x=void 0!==T&&T,k=e.isEnableAdidasCustom,N=void 0!==k&&k,O=e.customIconImg,Z=e.productInfoSubTitle,U=e.productToCartStyle,R=void 0===U?{}:U,X=e.purchaseMethodInfo,W=e.rate,V=e.rawSalePageInfo,P=e.rawSkuInfoList,D=e.selectedValue,H=e.serviceType,L=e.setQtyHintText,Y=e.shopId,M=e.skuSoldOutText,J=e.skuUpdatedText,j=e.symbol,z=e.userSettingMaxValue,K=void 0===z?-1:z,q=e.isPriceOnTop,$=void 0!==q&&q,ee=e.isSuggestPriceShowPrice,te=void 0!==ee&&ee,ne=e.specialPriceList,ie=void 0===ne?[]:ne,oe=e.selectedSpecialPriceData,re=void 0===oe?null:oe,ae=e.salePagePriceList,se=void 0===ae?[]:ae,ce=e.isEnableOriginalPrice,le=void 0===ce||ce,ue=e.specChartData,de=e.handleOpenSpecChart,ge=e.stockQtyTitle,pe=void 0===ge?"":ge,me=e.isShowStockQty,fe=void 0!==me&&me,Ie=a.useMemo((function(){return p.getSalePageInfo(V,se)}),[V,se]),he=a.useMemo((function(){return p.getSkuInfoList(V,P)}),[V,P]),be=a.useState(1),ye=be[0],Ce=be[1],ve=a.useState(-1),Be=ve[0],Ae=ve[1],_e=(null==Ie?void 0:Ie.pointsPayPairsList[0])||null,Se=a.useState(_e),Ge=Se[0],Qe=Se[1],Ee=a.useState(""),Fe=Ee[0],we=Ee[1],Te=a.useState(0),xe=Te[0],ke=Te[1],Ne=a.useState(1),Oe=Ne[0],Ze=Ne[1],Ue=a.useState(re),Re=Ue[0],Xe=Ue[1],We=h.productInfoStyle,Ve=h.skuListStyle,Pe=h.purchaseMethodStyle,De=h.qtySelectorSectionStyle,He=h.qtySelectorStyle,Le=h.cartButtonStyle,Ye=R.topStyle,Me=R.contentStyle,Je=R.bottomStyle,je=Ie.skuGroupLevel1,ze=Ie.skuGroupLevel2,Ke=Ie.maxSkuLevel,qe=Ie.status,$e=Ie.skuIdList,et=Ie.mainImageUrl,tt=Ie.id,nt=Ie.hasPointPayOption,it=Ie.pointsPayPairsList,ot=Ie.title,rt=Ie.price,at=Ie.suggestPrice,st=function(e){var t=e.serviceType,n=e.isEnableBackInStock,i=e.isEnableCartButton,o=e.maxValue,r=e.status;return i?!n&&(t===u.ServiceType.BACK_STAGE?o<=0:t===u.ServiceType.FRONT_STAGE?o<0:r===m.SALE_STATUS[r]):!i}({serviceType:H,isEnableBackInStock:G,isEnableCartButton:E,maxValue:xe,status:qe}),ct=a.useCallback((function(){if(L)return L(xe)}),[xe,L]),lt=function(){var e,t,n;return{mainImageUrl:(null===(e=et.find((function(e){return e.skuId===Be})))||void 0===e?void 0:e.imageSrc)||et[0].imageSrc,optionalTypeDef:nt&&(null==Ge?void 0:Ge.PairsPoints)>0?"PointsPay":"",optionalTypeId:nt&&(null==Ge?void 0:Ge.PairsPoints)>0?null==Ge?void 0:Ge.PointsPayId:0,points:(null==Ge?void 0:Ge.PairsPoints)||0,price:(null==Ge?void 0:Ge.PairsPrice)||(null===(t=he.find((function(e){return e.skuId===Be})))||void 0===t?void 0:t.price)||rt||0,quantity:ye,salePageId:tt,sellingQty:(null===(n=he.find((function(e){return e.skuId===Be})))||void 0===n?void 0:n.sellingQty)||0,shopId:Y,skuId:Be,skuKey:Fe,suggestPrice:at,title:ot,specialPrice:(null==Re?void 0:Re.Price)||0}},ut=a.useCallback((function(e,t){s.map(e,(function(e){if(e.skuId===t)if(e.sellingQty>0){var n=K>-1&&K<e.sellingQty?K:e.sellingQty;ke(n),Ce(1),Ze(1)}else ke(0),Ce(1),Ze(1)}))}),[K]),dt=function(e){var t;void 0===e&&(e=-1),Ae(e),ut(he,e);var n=(null===(t=s.find(he,(function(t){return t.skuId===e})))||void 0===t?void 0:t.price)||0;Xe(l.getSalePageSpecialPriceTagData(ie,e,n)),B&&B(e)},gt=a.useCallback((function(e){var t;if(Qe(o(o({},Ge),e)),e.PairsPoints>0)Xe(null);else if(Be>0&&ie.length>0){var n=(null===(t=s.find(he,(function(e){return e.skuId===Be})))||void 0===t?void 0:t.price)||0;Xe(l.getSalePageSpecialPriceTagData(ie,Be,n))}else Xe(re)}),[Ge,ie,Be,he,re]),pt=a.useCallback((function(){if((null==D?void 0:D.selectedSkuID)&&(null==D?void 0:D.selectedSkuID)>-1){var e=D.selectedSkuKey,t=D.selectedSkuID,n=D.selectedQuantity,i=D.selectedPointPayOptionId;if(dt(t),we(e||""),Ce(n||1),i){var o=s.find(Ie.pointsPayPairsList,(function(e){return e.PointsPayId===i}));o&&Qe(o)}}}),[Ie.pointsPayPairsList,D,he,ut]);a.useEffect((function(){var e;0!==Ke&&1!==$e.length||(we((null===(e=null==je?void 0:je.skuKeyList[0])||void 0===e?void 0:e.skuKey)||""),dt($e[0])),pt()}),[]);var mt=!(!G||!(xe<=0&&Be>0||G&&qe===m.SALE_STATUS.SoldOut));return r.createElement(f.ProductToCartContainer,null,r.createElement(f.Top,{topStyle:Ye},Ie&&he&&r.createElement(d.ProductInfo,{salePageInfo:Ie,skuInfoList:he,selectedPurchaseMethod:Ge,skuId:Be,decimal:b,symbol:j,rate:W,productInfoStyle:We||{},isDisplayImage:_,subTitle:Z,isPriceOnTop:$,pointText:null==X?void 0:X.pointText,isSuggestPriceShowPrice:te,selectedSpecialPriceData:Re,isEnableOriginalPrice:le,stockQtyTitle:pe,isShowStockQty:fe}),(null==ue?void 0:ue.specChartId)&&r.createElement(f.SpecChartButton,{onClick:de},null==ue?void 0:ue.title,r.createElement("i",{className:"ico ico-chevron-right"}))),r.createElement(f.Content,{contentStyle:Me},g,Ke>0&&he&&r.createElement(d.SkuList,{skuInfoList:he,skuGroup:{skuGroupLevel1:je,skuGroupLevel2:ze},maxSkuLevel:Ke,updateSelectedSkuId:function(e,t){we(t),dt(e)},skuListStyle:Ve||{},initSkuKey:Fe,skuSoldOutText:M,skuUpdatedText:J,isEnableBackInStock:G}),w&&nt&&r.createElement(d.PurchaseMethod,{purchaseMethodList:it,selectedPurchaseMethod:Ge,onSelectPurchaseMethod:gt,decimal:b,symbol:j,rate:W,title:(null==X?void 0:X.title)||"請選擇購買方式",subTitle:null==X?void 0:X.subTitle,purchaseMethodStyle:Pe||{},pointText:null==X?void 0:X.pointText})),r.createElement(f.BottomContainer,null,r.createElement(f.Bottom,{bottomStyle:Je},r.createElement(f.Qty,{qtySelectorSectionStyle:De},mt?r.createElement(a.Fragment,null,M):r.createElement(a.Fragment,null,r.createElement(d.QtySelector,{currentValue:ye,maxValue:xe,minValue:Oe,onIncreaseValue:function(){if(!(Be>0&&ye>=xe)&&(Ce(ye+1),y)){var e=lt();y(e)}},onDecreaseValue:function(){var e=+ye-1;if(Ce(e>=Oe?e:Oe),v){var t=lt();v(t)}},onChangeValue:function(e){var t,n=null!==(t=parseInt(e.target.value,10))&&void 0!==t?t:0;Be>0?Ce(n>=xe?xe:n):Ce(n)},qtySelectorStyle:He||{},disabledButton:st}),!st&&xe>0&&ye>=xe&&ct())),r.createElement(d.CartButton,{isEnableAdidasCustom:N,customIconImg:O,isBackInStockSubscribedSkuId:x,disabled:st,onClicked:function(){var e=lt();C(e)},cartButtonStyle:Le||{},displayText:mt?n:c}))))},C=function(e){var t,n,s=e.buttonDisplayText,l=void 0===s?"加入購物車":s,u=e.customStyles,m=void 0===u?{}:u,y=e.decimal,C=e.handleProductToCart,v=e.isDisplayProductImage,B=void 0===v||v,A=e.isEnableCartButton,_=void 0===A||A,S=e.isEnableAdidasCustom,G=void 0!==S&&S,Q=e.customIconImg,E=e.productInfoSubTitle,F=e.productToCartStyle,w=void 0===F?{}:F,T=e.rate,x=e.mainSalePageInfo,k=e.QtyHintBlock,N=e.skuSoldOutText,O=e.skuUpdatedText,Z=e.symbol,U=e.isPriceOnTop,R=void 0!==U&&U,X=e.isSuggestPriceShowPrice,W=void 0!==X&&X,V=e.isEnableOriginalPrice,P=void 0===V||V,D=e.specChartData,H=e.handleOpenSpecChart,L=e.curStep,Y=void 0===L?0:L,M=e.includeTheseSalePagesText,J=void 0===M?"內含以下商品":M,j=e.skuSelectPlaceholder,z=void 0===j?"請選擇商品選項":j,K=e.skuSelectWarningText,q=void 0===K?"此選項庫存不足，請重新選擇":K,$=e.onClickSkuSelect,ee=e.confirmSelectedSkuText,te=void 0===ee?"確認":ee,ne=e.onClickConfirmSelectedSku,ie=e.bundleBlocks,oe=void 0===ie?[]:ie,re=e.maxQuantity,ae=void 0===re?1:re,se=e.subSalePageInfo,ce=e.DEFAULT_SKU_ID,le=e.DEFAULT_MAX_QUANTITY,ue=e.defaultSelectedSubSalePageSkuIds,de=e.salePageRemovedPlaceholder,ge=void 0===de?"此商品已下架":de,pe=e.notSellingMaskLabelText,me=void 0===pe?"暫停販售":pe,fe=e.browsingMode,Ie=e.isSubSalePageClosed,he=e.isSubSalePageSoldout,be=e.salePageBundleSellingQty,ye=a.useState(1),Ce=ye[0],ve=ye[1],Be=a.useState({p1:ue.concat(),p2:ue.concat()}),Ae=Be[0],_e=Be[1],Se=a.useState(-1),Ge=Se[0],Qe=Se[1],Ee=w.topStyle,Fe=w.contentStyle,we=w.bottomStyle,Te=m.productInfoStyle,xe=m.skuListStyle,ke=m.qtySelectorSectionStyle,Ne=m.qtySelectorStyle,Oe=m.cartButtonStyle,Ze=o(o({},Oe||h),{customStyle:c.css(b||(b=i(["\n            "," width: 100%\n        "],["\n            "," width: 100%\n        "])),null==Oe?void 0:Oe.customStyle)}),Ue=a.useMemo((function(){return p.getSalePageInfo(x)}),[x]),Re=a.useMemo((function(){return p.getSkuInfoList(x)}),[x]),Xe=a.useMemo((function(){return se?p.getSalePageInfo(se):void 0}),[se]),We=a.useMemo((function(){return se?p.getSkuInfoList(se):[]}),[se]),Ve=a.useMemo((function(){return{skuGroupLevel1:null==Xe?void 0:Xe.skuGroupLevel1,skuGroupLevel2:null==Xe?void 0:Xe.skuGroupLevel2}}),[Xe]),Pe=a.useMemo((function(){var e=Ae.p2[Ge];if(e!==ce){var t=We.find((function(t){return t.skuId===e}));return null==t?void 0:t.skuKey}}),[Ge,Ae,We]);function De(e,t){var n;if(!e.salepageScopes[0].hasSku)return"";var i=Ae.p1[t];if(i===ce)return z;var o=g.safeArray(null===(n=null==e?void 0:e.salepageScopes[0])||void 0===n?void 0:n.skuInfo).find((function(e){return e.skuId===i}));return o?g.safeArray(null==o?void 0:o.propertyInfo).map((function(e){return e.displayPropertyName})).join("/"):z}function He(e,t){var n,i=Ae.p1[t],o=e.salepageScopes[0].picUrl;return i===ce?o:(null===(n=g.safeArray((null==Xe?void 0:Xe.mainImageUrl)||[]).find((function(e){return e.skuId===i})))||void 0===n?void 0:n.imageSrc)||o}function Le(e){var t,n;return 0===(null===(n=null===(t=g.safeArray(be)[e])||void 0===t?void 0:t.blockSkuSellingQtyList.find((function(t){return t.saleProductSkuId===Ae.p1[e]})))||void 0===n?void 0:n.sellingQty)&&Ae.p1.every((function(e){return e!==ce}))&&0===ae}return r.createElement(f.CarouselContainer,null,r.createElement(f.CarouselViewport,{curStep:Y},r.createElement(f.CarouselSlide,{"data-step":0},r.createElement(f.CarouselSlideScrollableArea,null,r.createElement(f.SalePageBundleInfoTop,{topStyle:Ee},r.createElement(I.ProductInfoForSalePageBundle,{title:Ue.title,imgSrc:null===(t=Ue.mainImageUrl[0])||void 0===t?void 0:t.imageSrc,skuItem:Re[0],decimal:y,symbol:Z,rate:T,productInfoStyle:Te||h,isDisplayImage:B,subTitle:E,isPriceOnTop:R,isSuggestPriceShowPrice:W,selectedSpecialPriceData:void 0,isEnableOriginalPrice:P,browsingMode:fe}),(null==D?void 0:D.specChartId)&&r.createElement(f.SpecChartButton,{onClick:H},null==D?void 0:D.title,r.createElement("i",{className:"ico ico-chevron-right"}))),r.createElement(f.SubSalePagesContent,{contentStyle:Fe,browsingMode:fe},r.createElement(f.SubSalePagesBlockTitle,null,J),oe.map((function(e,t){var n;return Ie(e)?r.createElement(I.ProductInfoClosed,{productInfoStyle:Te,salePageRemovedPlaceholder:ge}):he(e,g.safeArray(null===(n=g.safeArray(be)[t])||void 0===n?void 0:n.blockSkuSellingQtyList))?r.createElement(I.ProductInfoSoldout,{browsingMode:fe,title:e.salepageScopes[0].title,imgSrc:e.salepageScopes[0].picUrl,productInfoStyle:Te,totalCount:e.blockQtyMust,hasMultiSku:e.salepageScopes[0].skuInfo.length>=2,notSellingMaskLabelText:me,selectedSkuValueString:De(e,t)}):r.createElement(d.ProductInfoWithSkuSelectAndCounter,{key:e.blockId,title:e.salepageScopes[0].title,imgSrc:He(e,t),productInfoStyle:Te,shouldRenderSkuSelect:e.salepageScopes[0].skuInfo.length>=2,onClickSkuSelect:function(){Qe(t),$(e,t)},totalCount:e.blockQtyMust,selectedSkuValueString:De(e,t),isSkuSoldOut:e.salepageScopes[0].hasSku&&Le(t),skuWarningText:q})})))),r.createElement(f.BottomContainer,null,r.createElement(f.Bottom,{bottomStyle:we},r.createElement(f.Qty,{qtySelectorSectionStyle:ke},r.createElement(d.QtySelector,{currentValue:Ce,maxValue:ae,minValue:1,onIncreaseValue:function(){return ve((function(e){return e+1}))},onDecreaseValue:function(){return ve((function(e){return e-1}))},qtySelectorStyle:Ne||h,disabledButton:!1}),_&&Ce>=ae&&ae!==le&&r.createElement(k,{maxQuantity:ae})),r.createElement(d.CartButton,{isEnableAdidasCustom:G,customIconImg:Q,disabled:!_,onClicked:function(e){e.stopPropagation(),C({curQuantity:Ce,selectedSubSalePageSkuIds:Ae.p1})},cartButtonStyle:Oe||h,displayText:l})))),Xe&&r.createElement(f.CarouselSlide,{"data-step":1},r.createElement(f.CarouselSlideScrollableArea,null,r.createElement(f.SalePageBundleInfoTop,{topStyle:Ee},r.createElement(d.SimpleProductInfo,{browsingMode:fe,title:null===(n=oe[Ge])||void 0===n?void 0:n.salepageScopes[0].title,skuId:Ae.p2[Ge],productImageInfoList:Xe.mainImageUrl,productInfoStyle:Te||h})),r.createElement(f.SalePageBundleP2Content,{contentStyle:Fe},r.createElement(d.SkuList,{key:Ge,initSkuKey:Pe,skuInfoList:We,skuGroup:Ve,maxSkuLevel:Xe.maxSkuLevel,updateSelectedSkuId:function(e){_e((function(t){return t.p2[Ge]=e,o({},t)}))},skuListStyle:xe||h,skuSoldOutText:N,skuUpdatedText:O,isEnableBackInStock:!1}))),r.createElement(f.BottomContainer,null,r.createElement(f.Bottom,{bottomStyle:we},r.createElement(d.CartButton,{disabled:!1,isEnableAdidasCustom:G,customIconImg:Q,onClicked:function(){var e=function(){var e=o({},Ae);return e.p1=e.p1.concat(),e.p1[Ge]=e.p2[Ge],_e(e),e}();ve(1),ne({p1SelectedSubSalePageSkuIds:e.p1,bundleBlockIdx:Ge})},cartButtonStyle:Ze||h,displayText:te}))))))}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/common/Currency.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0});var o,r=n("react"),a=n("./node_modules/styled-components/dist/styled-components.browser.esm.js"),s=n("react"),c=n("./node_modules/accounting/accounting.js"),l=a.default.div(o||(o=i(["\n    display: inline-block;\n    text-decoration: ",";\n    color: inherit;\n"],["\n    display: inline-block;\n    text-decoration: ",";\n    color: inherit;\n"])),(function(e){return e.isThrough?"line-through":"none"}));t.default=function(e){var t=e.isThrough,n=void 0!==t&&t,i=e.decimal,o=void 0===i?0:i,a=e.value,u=void 0===a?0:a,d=e.symbol,g=void 0===d?"$":d,p=e.rate,m=void 0===p?1:p,f=e.disableTheme,I=void 0!==f&&f;return r.createElement(l,{isThrough:n,disableTheme:I},"number"==typeof u&&r.createElement(s.Fragment,null,c.formatMoney(u*m,g,o)))}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/CartButton.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.CartButton=void 0;var o,r,a,s,c=n("react"),l=n("./node_modules/styled-components/dist/styled-components.browser.esm.js"),u=l.default.button(a||(a=i(["\n    cursor: pointer;\n    border-radius: 4px;\n    font-size: 1rem;\n    text-align: center;\n    box-sizing: border-box;\n    display: inline-block;\n    background-color: #dddddd;\n\n    width: 100px;\n    ",";\n"],["\n    cursor: pointer;\n    border-radius: 4px;\n    font-size: 1rem;\n    text-align: center;\n    box-sizing: border-box;\n    display: inline-block;\n    background-color: #dddddd;\n\n    width: 100px;\n    ",";\n"])),(function(e){var t=e.disabled,n=e.customStyle,a=e.disabledStyle;return t?function(e){return e?l.css(o||(o=i(["\n            pointer-events: none;\n            cursor: not-allowed;\n            ","\n        "],["\n            pointer-events: none;\n            cursor: not-allowed;\n            ","\n        "])),e||null):l.css(r||(r=i(["\n        pointer-events: none;\n        color: #ffffff;\n        border: 1px solid #dddddd;\n        background-color: #dddddd;\n        cursor: not-allowed;\n    "],["\n        pointer-events: none;\n        color: #ffffff;\n        border: 1px solid #dddddd;\n        background-color: #dddddd;\n        cursor: not-allowed;\n    "])))}(a):n||void 0})),d=l.default.img(s||(s=i(["\n    padding-right: 16px;\n    font-size: 28px;\n"],["\n    padding-right: 16px;\n    font-size: 28px;\n"])));t.CartButton=function(e){var t=e.onClicked,n=e.disabled,i=void 0!==n&&n,o=e.displayText,r=e.cartButtonStyle,a=e.isBackInStockSubscribedSkuId,s=e.isEnableAdidasCustom,l=e.customIconImg,g=r.disabledStyle,p=r.customStyle;return c.createElement(u,{onClick:function(e){e.preventDefault(),e.stopPropagation(),t(e)},disabled:i,customStyle:p,disabledStyle:g},o,s&&!a&&l&&c.createElement(d,{src:l,alt:"ico ico-arrow-long-forward"}))}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/ProductInfo.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.ProductInfoSuspended=t.ProductInfoSoldout=t.ProductInfoClosed=t.ProductInfoWithSkuSelectAndCounter=t.SimpleProductInfo=t.ProductInfoForSalePageBundle=t.ProductInfo=t.StockQty=t.Title=t.MainInfoFigure=t.MainInfoImage=t.MainInfoContainerForSalePageBundle=t.MainInfoContainer=t.MainInfo=void 0;var o=n("react"),r=n("./node_modules/lodash/lodash.js"),a=n("./node_modules/styled-components/dist/styled-components.browser.esm.js"),s=n("./node_modules/@91app/nineyi.component.product-to-cart/node_modules/@91app/nineyi.lib.display-text/dist/bundle.js"),c=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/typings/productToCart.typing.js"),l=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/common/Currency.js"),u=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/PurchaseMethod/PointPlusPrice.js");t.MainInfo=a.default.div(F||(F=i(["\n    margin: 0;\n    position: relative;\n    display: flex;\n    height: ",";\n    ","\n"],["\n    margin: 0;\n    position: relative;\n    display: flex;\n    height: ",";\n    ","\n"])),(function(e){return e.height||"100%"}),(function(e){return e.containerStyle||null})),t.MainInfoContainer=a.default.div(w||(w=i(["\n    position: relative;\n    width: calc(100% - 130px);\n    text-align: left;\n    box-sizing: border-box;\n    ","\n"],["\n    position: relative;\n    width: calc(100% - 130px);\n    text-align: left;\n    box-sizing: border-box;\n    ","\n"])),(function(e){return e.mainInfoStyle||null})),t.MainInfoContainerForSalePageBundle=a.default.div(T||(T=i(["\n    position: relative;\n    min-width: 1px;\n    flex-grow: 1;\n    text-align: left;\n    box-sizing: border-box;\n    ","\n    padding-left:  ","\n"],["\n    position: relative;\n    min-width: 1px;\n    flex-grow: 1;\n    text-align: left;\n    box-sizing: border-box;\n    ","\n    padding-left:  ","\n"])),(function(e){return e.mainInfoStyle||null}),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"8px":"16px"})),t.MainInfoImage=a.default.img(x||(x=i(["\n    width: ",";\n    height: ",";\n    object-fit: contain;\n"],["\n    width: ",";\n    height: ",";\n    object-fit: contain;\n"])),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"80px":"120px"}),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"80px":"120px"}));var d=a.default.div(k||(k=i(["\n    width: ",";\n    height: ",";\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background-color: #f9f9f9;\n    border: 1px solid #d7dde4;\n    box-sizing: border-box;\n"],["\n    width: ",";\n    height: ",";\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background-color: #f9f9f9;\n    border: 1px solid #d7dde4;\n    box-sizing: border-box;\n"])),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"80px":"120px"}),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"80px":"120px"})),g=a.default.div(N||(N=i(["\n    position: relative;\n"],["\n    position: relative;\n"])));t.MainInfoFigure=a.default.figure(O||(O=i(["\n    display: flex;\n"],["\n    display: flex;\n"]))),t.Title=a.default.h3(Z||(Z=i(["\n    font-size: 14px;\n    line-height: 150%;\n    color: #4a4e5c;\n    font-weight: normal;\n    display: -webkit-box;\n    overflow: hidden;\n    white-space: normal;\n    text-overflow: ellipsis;\n    word-break: break-all;\n    -webkit-box-orient: vertical;\n    -webkit-line-clamp: 2;\n    ","\n"],["\n    font-size: 14px;\n    line-height: 150%;\n    color: #4a4e5c;\n    font-weight: normal;\n    display: -webkit-box;\n    overflow: hidden;\n    white-space: normal;\n    text-overflow: ellipsis;\n    word-break: break-all;\n    -webkit-box-orient: vertical;\n    -webkit-line-clamp: 2;\n    ","\n"])),(function(e){return e.titleStyle||null}));var p=a.default.div(U||(U=i(["\n    position: absolute;\n    bottom: 0;\n"],["\n    position: absolute;\n    bottom: 0;\n"]))),m=a.default.div(R||(R=i(["\n    display: flex;\n    flex-direction: ",";\n"],["\n    display: flex;\n    flex-direction: ",";\n"])),(function(e){return e.isPriceOnTop?"column-reverse":"column"})),f=a.default.div(X||(X=i(["\n    display: flex;\n    flex-wrap: wrap;\n    gap: 4px;\n"],["\n    display: flex;\n    flex-wrap: wrap;\n    gap: 4px;\n"]))),I=a.default.div(W||(W=i(["\n    padding: 0 4px;\n    font-size: 12px;\n    border-radius: 2px;\n    height: 20px;\n    box-sizing: border-box;\n    line-height: 20px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    ","\n"],["\n    padding: 0 4px;\n    font-size: 12px;\n    border-radius: 2px;\n    height: 20px;\n    box-sizing: border-box;\n    line-height: 20px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    ","\n"])),(function(e){return e.tagStyle||null})),h=a.default.div(V||(V=i(["\n    color: #aaa;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"],["\n    color: #aaa;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"])),(function(e){return e.subTitleStyle||null})),b=a.default.div(P||(P=i(["\n    font-size: 1rem;\n    line-height: 1.5;\n    color: #ff5353;\n    ","\n"],["\n    font-size: 1rem;\n    line-height: 1.5;\n    color: #ff5353;\n    ","\n"])),(function(e){return e.priceStyle||null})),y=a.default.div(D||(D=i(["\n    font-size: 0.8rem;\n    line-height: 1.5;\n    color: #aaa;\n    text-decoration: line-through;\n    ","\n"],["\n    font-size: 0.8rem;\n    line-height: 1.5;\n    color: #aaa;\n    text-decoration: line-through;\n    ","\n"])),(function(e){return e.suggestPriceStyle||null})),C=a.default.div(H||(H=i(["\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-top: 4px;\n"],["\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-top: 4px;\n"]))),v=a.default.div(L||(L=i(["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 8px;\n    border: ",";\n    flex-grow: 1;\n    min-width: 1px;\n    cursor: ",";\n    ","\n"],["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 8px;\n    border: ",";\n    flex-grow: 1;\n    min-width: 1px;\n    cursor: ",";\n    ","\n"])),(function(e){return e.warning?"1px solid #ff5353":"1px solid #ececec"}),(function(e){return e.disabled?"not-allowed":"pointer"}),(function(e){return e.disabled?"background-color: #F8F8F8;":""})),B=a.default.div(Y||(Y=i(["\n    font-size: 12px;\n    line-height: 1.5;\n    color: #666666;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n"],["\n    font-size: 12px;\n    line-height: 1.5;\n    color: #666666;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n"]))),A=a.default.div(M||(M=i(["\n    font-size: 14px;\n    line-height: 1.5;\n    color: #666666;\n    flex-grow: 1;\n    min-width: 1px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n"],["\n    font-size: 14px;\n    line-height: 1.5;\n    color: #666666;\n    flex-grow: 1;\n    min-width: 1px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n"]))),_=a.default.div(J||(J=i(["\n    font-size: 14px;\n    line-height: 1.5;\n    color: #666666;\n    min-width: 98px;\n    text-align: right;\n    margin-left: auto;\n"],["\n    font-size: 14px;\n    line-height: 1.5;\n    color: #666666;\n    min-width: 98px;\n    text-align: right;\n    margin-left: auto;\n"]))),S=a.default.div(j||(j=i(["\n    color: #ff5353;\n    font-size: 12px;\n    line-height: 1.5;\n    margin-top: 2px;\n"],["\n    color: #ff5353;\n    font-size: 12px;\n    line-height: 1.5;\n    margin-top: 2px;\n"]))),G=a.default.div(z||(z=i(["\n    position: absolute;\n    left: 0px;\n    top: 0px;\n    bottom: 0;\n    right: 0;\n    background-color: rgba(255, 255, 255, 0.75);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n"],["\n    position: absolute;\n    left: 0px;\n    top: 0px;\n    bottom: 0;\n    right: 0;\n    background-color: rgba(255, 255, 255, 0.75);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n"]))),Q=a.default.div(K||(K=i(["\n    font-size: 12px;\n    line-height: 1.5;\n    padding: 5px 10px;\n    background-color: rgba(0, 0, 0, 0.6);\n    border-radius: 99px;\n    color: white;\n"],["\n    font-size: 12px;\n    line-height: 1.5;\n    padding: 5px 10px;\n    background-color: rgba(0, 0, 0, 0.6);\n    border-radius: 99px;\n    color: white;\n"]))),E=a.default.div(q||(q=i(["\n    color: #333;\n    font-size: 0.75rem;\n    line-height: 1.333;\n"],["\n    color: #333;\n    font-size: 0.75rem;\n    line-height: 1.333;\n"])));t.StockQty=function(e){var t=e.stockQtyTitle,n=void 0===t?"":t;return o.createElement(E,null,n)};var F,w,T,x,k,N,O,Z,U,R,X,W,V,P,D,H,L,Y,M,J,j,z,K,q,$=function(e,t){var n,i=r.find(e,(function(e){return e.skuId===t}));return(null==i?void 0:i.imageSrc)||(null===(n=e[0])||void 0===n?void 0:n.imageSrc)||""};t.ProductInfo=function(e){var n=e.salePageInfo,i=e.skuInfoList,a=e.skuId,c=e.decimal,d=e.symbol,g=e.rate,C=e.selectedPurchaseMethod,v=e.isDisplayImage,B=void 0===v||v,A=e.productInfoStyle,_=void 0===A?{}:A,S=e.subTitle,G=e.isPriceOnTop,Q=void 0===G||G,E=e.pointText,F=void 0===E?"點":E,w=e.isSuggestPriceShowPrice,T=void 0!==w&&w,x=e.selectedSpecialPriceData,k=void 0===x?null:x,N=e.isEnableOriginalPrice,O=void 0===N||N,Z=e.stockQtyTitle,U=void 0===Z?"":Z,R=e.isShowStockQty,X=void 0!==R&&R,W=n.title,V=n.mainImageUrl,P=n.maxPrice,D=n.maxSuggestPrice,H=n.minPrice,L=n.minSuggestPrice,Y=n.hasPointPayOption,M=_.discountPriceStyle,J=_.mainInfoStyle,j=_.priceStyle,z=_.containerStyle,K=_.suggestPriceStyle,q=_.subTitleStyle,ee=_.titleStyle,te=_.tagStyle,ne=r.find(i,(function(e){return e.skuId===a})),ie=a>0,oe=Y&&(null==C?void 0:C.PairsPoints)>0,re=oe?"PointPay":"Price",ae=oe?C.PairsPrice:0,se=s.isShowSuggestPrice(re,H,L,ae)||s.isShowSuggestPrice(re,P,D,ae),ce=k,le=(null==ne?void 0:ne.suggestPrice)||0,ue=(null==ne?void 0:ne.price)||0,de=(null==ce?void 0:ce.Price)||0,ge=oe?le:s.getDisplaySuggestPrice(ue,le,de,T),pe=s.getDisplayPrice(ue,de),me=!(!ne||!O)&&s.isShowSuggestPrice(re,pe,ge,ae),fe=P>H&&!ie&&!oe,Ie=ce?[ce.Label]:[];return o.createElement(t.MainInfo,{containerStyle:z},B&&V.length>0&&o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{src:$(V,a),alt:"img"})),o.createElement(t.MainInfoContainer,{mainInfoStyle:J},o.createElement(t.Title,{titleStyle:ee},W),ie?o.createElement(p,null,o.createElement(h,{subTitleStyle:q}," ",S," "),(null==Ie?void 0:Ie.length)>0&&o.createElement(f,null,Ie.map((function(e,t){return o.createElement(I,{tagStyle:te,key:t+"_"+e},e)}))),o.createElement(m,{isPriceOnTop:Q},me&&o.createElement(y,{suggestPriceStyle:K},o.createElement(l.default,{value:ge,decimal:c,symbol:d,rate:g,isThrough:!0,disableTheme:!0})),!Y&&o.createElement(b,{priceStyle:me&&M?M:j},o.createElement(l.default,{value:pe,decimal:c,symbol:d,rate:g})),Y&&o.createElement(b,{priceStyle:me&&M?M:j},o.createElement(u.PointPlusPrice,{selectedPurchaseMethod:C,decimal:c,symbol:d,rate:g,pointText:F,price:pe,salePageInfo:n,isShowRangePrice:fe,priceStyle:j}))),X&&o.createElement(t.StockQty,{stockQtyTitle:U})):o.createElement(p,null,o.createElement(h,{subTitleStyle:q}," ",S," "),(null==Ie?void 0:Ie.length)>0&&o.createElement(f,null,Ie.map((function(e,t){return o.createElement(I,{tagStyle:te,key:t+"_"+e},e)}))),o.createElement(m,{isPriceOnTop:Q},se&&o.createElement(y,{suggestPriceStyle:K},o.createElement(l.default,{value:L,decimal:c,symbol:d,rate:g,isThrough:!0,disableTheme:!0}),D>L&&o.createElement("span",null,"~",o.createElement(l.default,{value:D,decimal:c,symbol:d,rate:g,isThrough:!0,disableTheme:!0}))),!Y&&o.createElement(b,{priceStyle:se&&M?M:j},o.createElement(l.default,{value:H,decimal:c,symbol:d,rate:g}),P>H&&o.createElement("span",null,"~",o.createElement(l.default,{value:P,decimal:c,symbol:d,rate:g}))),Y&&o.createElement(b,{priceStyle:se&&M?M:j},o.createElement(u.PointPlusPrice,{selectedPurchaseMethod:C,decimal:c,symbol:d,rate:g,pointText:F,salePageInfo:n,isShowRangePrice:fe,priceStyle:se&&M?M:j}))),X&&o.createElement(t.StockQty,{stockQtyTitle:U}))))},t.ProductInfoForSalePageBundle=function(e){var n=e.title,i=e.imgSrc,r=e.skuItem,a=e.decimal,c=e.symbol,u=e.rate,d=e.isDisplayImage,g=void 0===d||d,C=e.productInfoStyle,v=void 0===C?{}:C,B=e.subTitle,A=e.isPriceOnTop,_=void 0===A||A,S=e.isSuggestPriceShowPrice,G=void 0!==S&&S,Q=e.selectedSpecialPriceData,E=e.isEnableOriginalPrice,F=void 0===E||E,w=e.browsingMode,T=v.discountPriceStyle,x=v.mainInfoStyle,k=v.priceStyle,N=v.containerStyle,O=v.suggestPriceStyle,Z=v.subTitleStyle,U=v.titleStyle,R=v.tagStyle,X=(null==r?void 0:r.suggestPrice)||0,W=(null==r?void 0:r.price)||0,V=(null==Q?void 0:Q.Price)||0,P=s.getDisplaySuggestPrice(W,X,V,G),D=s.getDisplayPrice(W,V),H=!(!r||!F)&&s.isShowSuggestPrice("Price",D,P,0),L=Q?[Q.Label]:[];return o.createElement(t.MainInfo,{containerStyle:N,height:"unset"},g&&o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{src:i,alt:"img",browsingMode:w})),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:x,browsingMode:w},o.createElement(t.Title,{titleStyle:U},n),o.createElement(p,null,o.createElement(h,{subTitleStyle:Z},B),(null==L?void 0:L.length)>0&&o.createElement(f,null,L.map((function(e,t){return o.createElement(I,{tagStyle:R,key:t+"_"+e},e)}))),o.createElement(m,{isPriceOnTop:_},H&&o.createElement(y,{suggestPriceStyle:O},o.createElement(l.default,{value:P,decimal:a,symbol:c,rate:u,isThrough:!0,disableTheme:!0})),o.createElement(b,{priceStyle:H&&T?T:k},o.createElement(l.default,{value:D,decimal:a,symbol:c,rate:u}))))))},t.SimpleProductInfo=function(e){var n=e.title,i=e.productImageInfoList,r=e.skuId,a=e.productInfoStyle,s=void 0===a?{}:a,c=e.browsingMode,l=s.mainInfoStyle,u=s.containerStyle,d=s.titleStyle;return o.createElement(t.MainInfo,{containerStyle:u,height:"unset"},o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{src:$(i,r),alt:"img",browsingMode:c})),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:l,browsingMode:c},o.createElement(t.Title,{titleStyle:d},n)))},t.ProductInfoWithSkuSelectAndCounter=function(e){var n=e.title,i=e.imgSrc,r=e.productInfoStyle,a=void 0===r?{}:r,s=e.shouldRenderSkuSelect,l=e.onClickSkuSelect,u=e.totalCount,d=e.selectedSkuValueString,g=e.isSkuSoldOut,p=e.skuWarningText,m=a.mainInfoStyle,f=a.containerStyle,I=a.titleStyle;return o.createElement(t.MainInfo,{containerStyle:f,height:"unset"},o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{src:i,alt:"img",browsingMode:c.BROWSING_MODE.MOBILE})),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:m,browsingMode:c.BROWSING_MODE.MOBILE},o.createElement(t.Title,{titleStyle:I},n),o.createElement(C,null,s?o.createElement(v,{onClick:l,warning:g},o.createElement(B,null,d),o.createElement("i",{className:"ico ico-chevron-down"})):o.createElement(A,null,d),o.createElement(_,null,"x",u)),g&&o.createElement(S,null,p)))},t.ProductInfoClosed=function(e){var n=e.productInfoStyle,i=void 0===n?{}:n,r=e.salePageRemovedPlaceholder,a=void 0===r?"此商品已下架":r,s=i.mainInfoStyle,l=i.containerStyle,u=i.titleStyle;return o.createElement(t.MainInfo,{containerStyle:l,height:"unset"},o.createElement(d,{browsingMode:c.BROWSING_MODE.MOBILE},o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"42",height:"42",viewBox:"0 0 42 42",fill:"none"},o.createElement("path",{d:"M10.6153 5.42278C7.74779 5.42278 5.42302 7.74755 5.42302 10.6151C5.42302 13.4826 7.74779 15.8074 10.6153 15.8074C13.4829 15.8074 15.8076 13.4826 15.8076 10.6151C15.8076 7.74755 13.4829 5.42278 10.6153 5.42278ZM10.6153 13.2112C10.2744 13.2114 9.93671 13.1443 9.62168 13.0139C9.30664 12.8834 9.0204 12.6922 8.7793 12.4511C8.5382 12.21 8.34697 11.9238 8.21655 11.6087C8.08612 11.2937 8.01905 10.956 8.01917 10.6151C8.01917 10.1016 8.17144 9.59968 8.4567 9.17274C8.74197 8.74581 9.14744 8.41305 9.62183 8.21655C10.0962 8.02005 10.6182 7.96864 11.1218 8.06882C11.6254 8.16899 12.088 8.41625 12.4511 8.77932C12.8142 9.1424 13.0614 9.60499 13.1616 10.1086C13.2618 10.6122 13.2104 11.1342 13.0139 11.6086C12.8174 12.083 12.4846 12.4884 12.0577 12.7737C11.6307 13.059 11.1288 13.2112 10.6153 13.2112ZM36.5769 0.230469H5.42302C2.55548 0.230469 0.230713 2.55524 0.230713 5.42278V36.5766C0.230713 39.4442 2.55548 41.7689 5.42302 41.7689H36.5769C39.4444 41.7689 41.7692 39.4442 41.7692 36.5766V5.42278C41.7692 2.55524 39.4444 0.230469 36.5769 0.230469ZM5.42302 39.1728C4.73448 39.1728 4.07413 38.8993 3.58726 38.4124C3.10039 37.9255 2.82687 37.2652 2.82687 36.5766V35.3563L13.1399 26.1209L26.1936 39.1728H5.42302ZM39.173 36.5766C39.173 37.2652 38.8995 37.9255 38.4126 38.4124C37.9258 38.8993 37.2654 39.1728 36.5769 39.1728H29.8684L20.3044 29.4828L31.3846 18.4022L39.173 26.1906V36.5766ZM39.173 22.4642L31.3846 14.5091L18.479 27.6343L13.2115 22.2975L2.82687 31.8205V5.42278C2.82687 4.73423 3.10039 4.07389 3.58726 3.58702C4.07413 3.10014 4.73448 2.82662 5.42302 2.82662H36.5769C37.2654 2.82662 37.9258 3.10014 38.4126 3.58702C38.8995 4.07389 39.173 4.73423 39.173 5.42278V22.4642Z",fill:"#B6BEC7",fillOpacity:"0.5"}))),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:s,browsingMode:c.BROWSING_MODE.MOBILE},o.createElement(t.Title,{titleStyle:u},a)))},t.ProductInfoSoldout=function(e){var n=e.title,i=e.imgSrc,r=e.productInfoStyle,a=void 0===r?{}:r,s=e.totalCount,l=e.hasMultiSku,u=e.notSellingMaskLabelText,d=void 0===u?"暫停販售":u,p=e.selectedSkuValueString,m=a.mainInfoStyle,f=a.containerStyle,I=a.titleStyle;return o.createElement(t.MainInfo,{containerStyle:f,height:"unset"},o.createElement(g,null,o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{browsingMode:c.BROWSING_MODE.MOBILE,src:i,alt:"img"})),o.createElement(G,null,o.createElement(Q,null,d))),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:m,browsingMode:c.BROWSING_MODE.MOBILE},o.createElement(t.Title,{titleStyle:I},n),o.createElement(C,null,l?o.createElement(v,{"aria-disabled":!0,disabled:!0},o.createElement(B,null,p),o.createElement("i",{className:"ico ico-chevron-down"})):o.createElement(A,null,p),o.createElement(_,null,"x",s))))},t.ProductInfoSuspended=function(e){var n=e.title,i=e.imgSrc,r=e.productInfoStyle,a=void 0===r?{}:r,s=e.notSellingMaskLabelText,l=void 0===s?"暫停販售":s,u=a.mainInfoStyle,d=a.containerStyle,p=a.titleStyle;return o.createElement(t.MainInfo,{containerStyle:d,height:"unset"},o.createElement(g,null,o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{browsingMode:c.BROWSING_MODE.MOBILE,src:i,alt:"img"})),o.createElement(G,null,o.createElement(Q,null,l))),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:u,browsingMode:c.BROWSING_MODE.MOBILE},o.createElement(t.Title,{titleStyle:p},n)))}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/PurchaseMethod/PointPlusPrice.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.PointPlusPrice=t.MainInfoPrice=void 0;var o,r,a,s=n("react"),c=n("./node_modules/styled-components/dist/styled-components.browser.esm.js"),l=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/common/Currency.js"),u=c.default.div(o||(o=i(["\n    font-size: inherit;\n    line-height: 1.5;\n    color: inherit;\n"],["\n    font-size: inherit;\n    line-height: 1.5;\n    color: inherit;\n"]))),d=c.default.span(r||(r=i(["\n    display: flex;\n    flex-wrap: wrap;\n"],["\n    display: flex;\n    flex-wrap: wrap;\n"])));t.MainInfoPrice=c.default.div(a||(a=i(["\n    font-size: 1rem;\n    line-height: 1.5;\n    color: #ff5353;\n    ","\n"],["\n    font-size: 1rem;\n    line-height: 1.5;\n    color: #ff5353;\n    ","\n"])),(function(e){return e.priceStyle||null})),t.PointPlusPrice=function(e){var n=e.selectedPurchaseMethod,i=e.decimal,o=e.symbol,r=e.rate,a=e.pointText,c=void 0===a?"點":a,g=e.price,p=void 0===g?0:g,m=e.salePageInfo,f=void 0===m?null:m,I=e.isShowRangePrice,h=void 0!==I&&I,b=e.priceStyle,y=n.PairsPoints,C=n.PairsPrice,v=p||C,B=f||{maxPrice:0,minPrice:0},A=B.maxPrice,_=B.minPrice;return s.createElement(u,null,0===y&&C>0&&s.createElement(s.Fragment,null,h?s.createElement(t.MainInfoPrice,{priceStyle:b},s.createElement(l.default,{value:_,decimal:i,symbol:o,rate:r}),s.createElement("span",null,"~",s.createElement(l.default,{value:A,decimal:i,symbol:o,rate:r}))):s.createElement(l.default,{value:v,decimal:i,symbol:o,rate:r,disableTheme:!0})),0===C&&y>0&&s.createElement("div",null,y,c),y>0&&C>0&&s.createElement(d,null,s.createElement("span",null,y,c),s.createElement("span",null,"＋"),s.createElement(l.default,{value:C,decimal:i,symbol:o,rate:r,disableTheme:!0})))}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/PurchaseMethod/index.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.PurchaseMethod=t.PointpayOption=void 0;var o=n("react"),r=n("./node_modules/styled-components/dist/styled-components.browser.esm.js"),a=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/PurchaseMethod/PointPlusPrice.js"),s=r.default.div(g||(g=i(["\n    padding-bottom: 16px;\n"],["\n    padding-bottom: 16px;\n"]))),c=r.default.h6(p||(p=i(["\n    color: #4a4e5c;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"],["\n    color: #4a4e5c;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"])),(function(e){return e.titleStyle||null})),l=r.default.div(m||(m=i(["\n    padding: 0 2px;\n"],["\n    padding: 0 2px;\n"]))),u=r.default.div(f||(f=i(["\n    color: #aaa;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    padding-top: 5px;\n    ","\n"],["\n    color: #aaa;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    padding-top: 5px;\n    ","\n"])),(function(e){return e.subTitleStyle||null})),d=r.default.span(I||(I=i(["\n    vertical-align: text-bottom;\n    display: inline-block;\n    padding-left: 5px;\n"],["\n    vertical-align: text-bottom;\n    display: inline-block;\n    padding-left: 5px;\n"])));t.PointpayOption=r.default.button(y||(y=i(["\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    background-color: white;\n    border-radius: 3px;\n    box-shadow: 0 0 0 1px #ddd;\n    box-sizing: border-box;\n    color: #666;\n    cursor: pointer;\n    display: inline-block;\n    font-size: 0.8rem;\n    line-height: 1.2;\n    margin: 8px 8px 0 0;\n    min-width: 46px;\n    padding: 10px 12px;\n    text-align: center;\n\n    ","\n"],["\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    background-color: white;\n    border-radius: 3px;\n    box-shadow: 0 0 0 1px #ddd;\n    box-sizing: border-box;\n    color: #666;\n    cursor: pointer;\n    display: inline-block;\n    font-size: 0.8rem;\n    line-height: 1.2;\n    margin: 8px 8px 0 0;\n    min-width: 46px;\n    padding: 10px 12px;\n    text-align: center;\n\n    ","\n"])),(function(e){var t=e.actived,n=e.customStyle,o=e.activeStyle;return t?function(e){return e||r.css(h||(h=i(["\n        background-color: white;\n        box-shadow: 0 0 0 1px #ff5353;\n        color: #ff5353;\n    "],["\n        background-color: white;\n        box-shadow: 0 0 0 1px #ff5353;\n        color: #ff5353;\n    "])))}(o):n||r.css(b||(b=i(["\n            &:hover {\n                background-color: white;\n                box-shadow: 0 0 0 2px #ff5353;\n                color: #ff5353;\n            }\n        "],["\n            &:hover {\n                background-color: white;\n                box-shadow: 0 0 0 2px #ff5353;\n                color: #ff5353;\n            }\n        "])))}));var g,p,m,f,I,h,b,y,C,v=r.default.i(C||(C=i(["\n    :before {\n        line-height: 15.4px;\n    }\n"],["\n    :before {\n        line-height: 15.4px;\n    }\n"])));t.PurchaseMethod=function(e){var n=e.purchaseMethodList,i=e.selectedPurchaseMethod,r=e.onSelectPurchaseMethod,g=e.decimal,p=e.symbol,m=e.rate,f=e.purchaseMethodStyle,I=void 0===f?{}:f,h=e.title,b=e.subTitle,y=e.pointText,C=I.customStyle,B=I.activeStyle,A=I.subTitleStyle,_=I.titleStyle;return o.createElement(s,null,n&&h&&o.createElement(c,{titleStyle:_},h),n&&b&&o.createElement(u,{subTitleStyle:A},o.createElement(v,{className:"ico ico-alert"}),o.createElement(d,null,b)),o.createElement(l,null,n.map((function(e,n){return o.createElement(t.PointpayOption,{customStyle:C,activeStyle:B,key:n,onClick:function(){return r(e)},actived:e.PointsPayId===i.PointsPayId},o.createElement(a.PointPlusPrice,{selectedPurchaseMethod:e,decimal:g,symbol:p,rate:m,pointText:y}))}))))}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/QtySelector/index.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.QtySelector=void 0;var o,r,a,s,c,l,u,d=n("react"),g=n("./node_modules/styled-components/dist/styled-components.browser.esm.js"),p=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/utilities/device.utility.js"),m=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/constants/device.constant.js"),f=function(e){return e||g.css(o||(o=i(["\n        color: #aaa;\n        &:hover {\n            cursor: not-allowed !important;\n        }\n    "],["\n        color: #aaa;\n        &:hover {\n            cursor: not-allowed !important;\n        }\n    "])))},I=g.css(r||(r=i(["\n    cursor: pointer;\n    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n    color: #aaa;\n"],["\n    cursor: pointer;\n    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n    color: #aaa;\n"]))),h=g.default.div(a||(a=i(["\n    display: flex;\n    text-align: center;\n    ","\n"],["\n    display: flex;\n    text-align: center;\n    ","\n"])),(function(e){return e.containerStyle||null})),b=g.default.button(s||(s=i(["\n    ","\n\n    ",";\n"],["\n    ","\n\n    ",";\n"])),I,(function(e){var t=e.disabled,n=e.plusButtonStyle,i=e.disabledButtonStyle;return t?f(i):n||void 0})),y=g.default.button(c||(c=i(["\n    ","\n    ",";\n"],["\n    ","\n    ",";\n"])),I,(function(e){var t=e.disabled,n=e.minusButtonStyle,i=e.disabledButtonStyle;return t?f(i):n||void 0})),C=g.default.div(l||(l=i(["\n    min-width: 100px;\n    display: flex;\n    align-items: center;\n    ","\n"],["\n    min-width: 100px;\n    display: flex;\n    align-items: center;\n    ","\n"])),(function(e){return e.inputBoxStyle||null})),v=g.default.input(u||(u=i(["\n    ::-webkit-outer-spin-button {\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        margin: 0;\n    }\n    ::-webkit-inner-spin-button {\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        margin: 0;\n    }\n    font-size: 1rem;\n    width: 100%;\n    text-align: center;\n    :focus {\n        outline: none;\n    }\n    ","\n"],["\n    ::-webkit-outer-spin-button {\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        margin: 0;\n    }\n    ::-webkit-inner-spin-button {\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        margin: 0;\n    }\n    font-size: 1rem;\n    width: 100%;\n    text-align: center;\n    :focus {\n        outline: none;\n    }\n    ","\n"])),(function(e){return e.inputStyle||null}));t.QtySelector=function(e){var t=e.currentValue,n=e.maxValue,i=e.minValue,o=e.onIncreaseValue,r=e.onDecreaseValue,a=e.onChangeValue,s=e.qtySelectorStyle,c=void 0===s?{}:s,l=e.disabledButton,u=void 0!==l&&l,g=p.getBrowsingMode()===m.BROWSING_MODE.DESKTOP?"number":"tel",f=c.plusButtonStyle,I=c.minusButtonStyle,B=c.disabledButtonStyle,A=c.containerStyle,_=c.inputStyle,S=c.inputBoxStyle;return d.createElement(h,{containerStyle:A},d.createElement(y,{disabled:t<=i||u,onClick:r,minusButtonStyle:I,disabledButtonStyle:B},d.createElement("i",{className:"ico ico-subtract"})),d.createElement(C,{inputBoxStyle:S},d.createElement(v,{readOnly:!0,type:g,name:"qtyInput",pattern:"[0-9]*",min:i,max:n,value:t,onChange:a,inputStyle:_})),d.createElement(b,{disabled:!n||t>=n||u,onClick:o,plusButtonStyle:f,disabledButtonStyle:B},d.createElement("i",{className:"ico ico-add"})))}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/SkuElement.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.SkuElement=t.SkuItem=t.SkuElementsTitle=t.SkuElementsLevel=t.SkuElementsContainer=t.SkuElementActivedStyle=void 0;var o,r,a,s,c,l,u,d,g=n("react"),p=n("./node_modules/styled-components/dist/styled-components.browser.esm.js");t.SkuElementActivedStyle=function(e){var t=e.activeStyle,n=e.isEnableBackInStock;return p.css(a||(a=i(["\n        box-shadow: 0 0 0 1px #ff5353;\n        color: #ff5353;\n        ","\n        ","\n    "],["\n        box-shadow: 0 0 0 1px #ff5353;\n        color: #ff5353;\n        ","\n        ","\n    "])),t||null,n?"text-decoration: line-through;":null)},t.SkuElementsContainer=p.default.div(s||(s=i(["\n    padding-bottom: 16px;\n"],["\n    padding-bottom: 16px;\n"]))),t.SkuElementsLevel=p.default.div(c||(c=i([""],[""]))),t.SkuElementsTitle=p.default.h6(l||(l=i(["\n    color: #4a4e5c;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"],["\n    color: #4a4e5c;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"])),(function(e){return e.titleStyle||null})),t.SkuItem=p.default.button(d||(d=i(["\n    display: ",";\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    background-color: white;\n    border-radius: 3px;\n    box-shadow: 0 0 0 1px #ddd;\n    box-sizing: border-box;\n    color: #666;\n    cursor: pointer;\n    font-size: 0.8rem;\n    line-height: 1.2;\n    margin: 8px 8px 0 0;\n    min-width: 46px;\n    padding: 10px 12px;\n    text-align: center;\n    ","\n"],["\n    display: ",";\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    background-color: white;\n    border-radius: 3px;\n    box-shadow: 0 0 0 1px #ddd;\n    box-sizing: border-box;\n    color: #666;\n    cursor: pointer;\n    font-size: 0.8rem;\n    line-height: 1.2;\n    margin: 8px 8px 0 0;\n    min-width: 46px;\n    padding: 10px 12px;\n    text-align: center;\n    ","\n"])),(function(e){return e.hidden?"none":"inline-block"}),(function(e){var n=e.disabled,a=e.actived,s=e.customStyle,c=e.activeStyle,l=e.disabledStyle,d=e.isEnableBackInStock;return n?function(e){return p.css(o||(o=i(["\n        background: #f0f0f0;\n        cursor: pointer;\n        position: relative;\n        text-decoration: line-through;\n        /* tooltip style */\n        &:before {\n            animation: fade-in 0.2s ease-out;\n            background-color: #666;\n            border-radius: 3px;\n            box-sizing: border-box;\n            color: #fff;\n            content: attr(data-tooltip-content);\n            font-size: 0.8rem;\n            left: 50%;\n            min-width: 70px;\n            padding: 4px;\n            position: absolute;\n            text-align: center;\n            top: 100%;\n            transform: translateX(-50%);\n            visibility: hidden;\n            z-index: 1;\n            word-break: keep-all;\n        }\n        /* tooltip 小箭頭 */\n        &:after {\n            border-color: transparent transparent #666666 transparent;\n            border-style: solid;\n            border-width: 6px;\n            content: '';\n            height: 0;\n            left: 50%;\n            position: absolute;\n            top: calc(100% - 11px);\n            transform: translateX(-50%);\n            visibility: hidden;\n            width: 0;\n        }\n        &:hover {\n            &:before,\n            &:after {\n                visibility: visible;\n            }\n        }\n        ","\n    "],["\n        background: #f0f0f0;\n        cursor: pointer;\n        position: relative;\n        text-decoration: line-through;\n        /* tooltip style */\n        &:before {\n            animation: fade-in 0.2s ease-out;\n            background-color: #666;\n            border-radius: 3px;\n            box-sizing: border-box;\n            color: #fff;\n            content: attr(data-tooltip-content);\n            font-size: 0.8rem;\n            left: 50%;\n            min-width: 70px;\n            padding: 4px;\n            position: absolute;\n            text-align: center;\n            top: 100%;\n            transform: translateX(-50%);\n            visibility: hidden;\n            z-index: 1;\n            word-break: keep-all;\n        }\n        /* tooltip 小箭頭 */\n        &:after {\n            border-color: transparent transparent #666666 transparent;\n            border-style: solid;\n            border-width: 6px;\n            content: '';\n            height: 0;\n            left: 50%;\n            position: absolute;\n            top: calc(100% - 11px);\n            transform: translateX(-50%);\n            visibility: hidden;\n            width: 0;\n        }\n        &:hover {\n            &:before,\n            &:after {\n                visibility: visible;\n            }\n        }\n        ","\n    "])),e||null)}(l):a?t.SkuElementActivedStyle({activeStyle:c,isEnableBackInStock:d}):d?function(e){return p.css(r||(r=i(["\n        ","\n        text-decoration: line-through;\n        color: #999999;\n    "],["\n        ","\n        text-decoration: line-through;\n        color: #999999;\n    "])),e||null)}(s):s?s||null:p.css(u||(u=i(["\n            &:hover {\n                box-shadow: 0 0 0 2px #ff5353;\n                color: #ff5353;\n            }\n        "],["\n            &:hover {\n                box-shadow: 0 0 0 2px #ff5353;\n                color: #ff5353;\n            }\n        "])))})),t.SkuElement=function(e){var n=e.level,i=e.optionName,o=e.optionList,r=e.isSkuStockUpdated,a=e.selectedKey,s=e.onSelectOption,c=e.customStyle,l=e.activeStyle,u=e.disabledStyle,d=e.titleStyle,p=e.skuSoldOutText,m=void 0===p?"缺貨中":p,f=e.skuUpdatedText,I=void 0===f?"更新中\b":f,h=e.isEnableBackInStock;return g.createElement(t.SkuElementsContainer,null,o&&o.length>0&&g.createElement(t.SkuElementsLevel,null,g.createElement(t.SkuElementsTitle,{titleStyle:d},i),o.map((function(e,i){return g.createElement(t.SkuItem,{key:i,"data-tooltip-content":r?m:I,actived:e.isSelling&&e.skuKey===a||!e.isSelling&&h&&e.skuKey===a,hidden:!e.isShow,disabled:!e.isSelling&&!h,isEnableBackInStock:!e.isSelling&&h,customStyle:c,activeStyle:l,disabledStyle:u,"data-sku-key":e.skuKey,"data-sku-name":e.skuName,"data-is-selling":e.isSelling,"data-selected-sku-level":n,onClick:s},e.skuName)}))))}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/SkuList.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.SkuList=void 0;var o=n("react"),r=n("react"),a=n("./node_modules/lodash/lodash.js"),s=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/SkuElement.js"),c=function(e,t){var n=t.split(";"),i=t;""===n[1]&&(i=n[0]);var o=a.find(e,(function(e){return e.skuKey===i}));return(null==o?void 0:o.skuId)||0},l=function(e,t,n,o,r,s){var c;return 1===n?c=t.skuKeyList.map((function(t){var n=a.find(e,(function(e){return e.skuKey===t.skuKey}));return i({isShow:(null==n?void 0:n.isShow)||!1,isSelling:(null==n?void 0:n.sellingQty)&&(null==n?void 0:n.sellingQty)>0||!1},t)})):2===n&&(c=t.skuKeyList.map((function(t){var n=!1,c=!1;if(1===o&&""!==s)c=(l=a.find(e,(function(e){return t.skuKey+";"+s===e.skuKey})))&&l.sellingQty>0||!1,n=(null==l?void 0:l.isShow)||!1;else if(2===o&&""!==r){var l;c=(l=a.find(e,(function(e){return r+";"+t.skuKey===e.skuKey})))&&l.sellingQty>0||!1,n=(null==l?void 0:l.isShow)||!1}else if(""===r||""===s){var u=a.filter(e,(function(e){return function(e,t,n){return 2===e?n.split(";")[1]===t:n.split(";")[0]===t}(o,t.skuKey,e.skuKey)}));if(0===u.length)c=!1,n=!1;else{var d=a.find(u,(function(e){return e.sellingQty>0})),g=a.find(u,(function(e){return!0===e.isShow}));c=d&&d.sellingQty>0||!1,n=(null==g?void 0:g.isShow)||!1}}return i({isShow:n,isSelling:c},t)}))),c},u=function(e){for(var t="",n=0;n<e.length;n++)if(e[n].isSelling){t=e[n].skuKey;break}return t};t.SkuList=function(e){var t,n,i=e.skuInfoList,a=e.skuGroup,d=e.maxSkuLevel,g=e.updateSelectedSkuId,p=e.skuListStyle,m=void 0===p?{}:p,f=e.initSkuKey,I=e.skuSoldOutText,h=e.skuUpdatedText,b=e.isEnableBackInStock,y=r.useState(""),C=y[0],v=y[1],B=r.useState(""),A=B[0],_=B[1],S=r.useState(!0),G=S[0],Q=S[1],E=m.customStyle,F=m.activeStyle,w=m.disabledStyle,T=m.titleStyle,x=a.skuGroupLevel1?l(i,a.skuGroupLevel1,d,1,C,A):null,k=a.skuGroupLevel2?l(i,a.skuGroupLevel2,d,2,C,A):null;r.useEffect((function(){if(f){var e=f.split(";");return v(e[0]),void _(e[1]||"")}if(1===(null==x?void 0:x.length)&&!k){e=x[0].skuKey.split(";");v(e[0]),_("")}}),[f]),r.useEffect((function(){var e=0,t="",n="";G||(1===d?e=c(i,C):(""===A&&k?(n=u(k),t=C+";"+n,_(n)):""===C&&x?(t=(n=u(x))+";"+A,v(n)):t=C+";"+A,e=c(i,t)),Q(!0),g&&g(e,t||C))}),[G,d,x,k,C,A,i,g]);var N=function(e){e.preventDefault(),e.stopPropagation();var t=e.currentTarget,n=t.getAttribute("data-sku-key")||"",i=JSON.parse(t.getAttribute("data-is-selling")||""),o=parseInt(t.getAttribute("data-selected-sku-level")||"",10);(i||b)&&C!==n&&A!==n&&(1===d?v(n):(1===o&&v(n),2===o&&_(n)),Q(!1))};return o.createElement(r.Fragment,null,x&&o.createElement(s.SkuElement,{level:1,isSkuStockUpdated:G,optionName:null===(t=a.skuGroupLevel1)||void 0===t?void 0:t.skuGroupName,optionList:x,selectedKey:C,onSelectOption:N,customStyle:E,activeStyle:F,disabledStyle:w,titleStyle:T,skuSoldOutText:I,skuUpdatedText:h,isEnableBackInStock:b}),k&&o.createElement(s.SkuElement,{level:2,isSkuStockUpdated:G,optionName:null===(n=a.skuGroupLevel2)||void 0===n?void 0:n.skuGroupName,optionList:k,selectedKey:A,onSelectOption:N,customStyle:E,activeStyle:F,disabledStyle:w,titleStyle:T,skuSoldOutText:I,skuUpdatedText:h,isEnableBackInStock:b}))}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/index.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PurchaseMethod=t.QtySelector=t.SkuList=t.ProductInfoClosed=t.ProductInfoSoldout=t.ProductInfoWithSkuSelectAndCounter=t.SimpleProductInfo=t.ProductInfo=t.CartButton=void 0;var i=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/CartButton.js");Object.defineProperty(t,"CartButton",{enumerable:!0,get:function(){return i.CartButton}});var o=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/ProductInfo.js");Object.defineProperty(t,"ProductInfo",{enumerable:!0,get:function(){return o.ProductInfo}}),Object.defineProperty(t,"SimpleProductInfo",{enumerable:!0,get:function(){return o.SimpleProductInfo}}),Object.defineProperty(t,"ProductInfoWithSkuSelectAndCounter",{enumerable:!0,get:function(){return o.ProductInfoWithSkuSelectAndCounter}}),Object.defineProperty(t,"ProductInfoSoldout",{enumerable:!0,get:function(){return o.ProductInfoSoldout}}),Object.defineProperty(t,"ProductInfoClosed",{enumerable:!0,get:function(){return o.ProductInfoClosed}});var r=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/SkuList.js");Object.defineProperty(t,"SkuList",{enumerable:!0,get:function(){return r.SkuList}});var a=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/QtySelector/index.js");Object.defineProperty(t,"QtySelector",{enumerable:!0,get:function(){return a.QtySelector}});var s=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/PurchaseMethod/index.js");Object.defineProperty(t,"PurchaseMethod",{enumerable:!0,get:function(){return s.PurchaseMethod}})},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/constants/device.constant.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BROWSING_MODE=void 0,t.BROWSING_MODE={DESKTOP:"desktop",MOBILE:"mobile"}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/constants/saleStatus.constant.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SALE_STATUS=void 0,function(e){e.NotFound="NotFound",e.IsClosed="IsClosed",e.UnListing="UnListing",e.NoStart="NoStart",e.SoldOut="SoldOut",e.NotStartSell="NotStartSell"}(t.SALE_STATUS||(t.SALE_STATUS={}))},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/index.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProductToCart=t.PurchaseMethod=t.QtySelector=t.SkuList=t.ProductInfo=t.CartButton=void 0;var i=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/components/index.js");Object.defineProperty(t,"CartButton",{enumerable:!0,get:function(){return i.CartButton}}),Object.defineProperty(t,"ProductInfo",{enumerable:!0,get:function(){return i.ProductInfo}}),Object.defineProperty(t,"SkuList",{enumerable:!0,get:function(){return i.SkuList}}),Object.defineProperty(t,"QtySelector",{enumerable:!0,get:function(){return i.QtySelector}}),Object.defineProperty(t,"PurchaseMethod",{enumerable:!0,get:function(){return i.PurchaseMethod}});var o=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/ProductToCart.js");Object.defineProperty(t,"ProductToCart",{enumerable:!0,get:function(){return o.ProductToCart}})},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/style.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.SpecChartButton=t.Qty=t.Bottom=t.BottomContainer=t.SubSalePagesBlockTitle=t.SubSalePagesContent=t.SalePageBundleP2Content=t.Content=t.SalePageBundleInfoTop=t.Top=t.CarouselSlideScrollableArea=t.CarouselSlide=t.CarouselViewport=t.CarouselContainer=t.ProductToCartContainer=void 0;var o,r,a,s,c,l,u,d,g,p,m,f,I,h,b,y=n("./node_modules/styled-components/dist/styled-components.browser.esm.js"),C=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/typings/productToCart.typing.js");t.ProductToCartContainer=y.default.div(o||(o=i(["\n    position: relative;\n    width: 100%;\n    background-color: inherit;\n    display: flex;\n    flex-direction: column;\n    max-height: inherit;\n    align-self: flex-start;\n"],["\n    position: relative;\n    width: 100%;\n    background-color: inherit;\n    display: flex;\n    flex-direction: column;\n    max-height: inherit;\n    align-self: flex-start;\n"]))),t.CarouselContainer=y.default.div(r||(r=i(["\n    overflow: hidden;\n    height: inherit;\n"],["\n    overflow: hidden;\n    height: inherit;\n"]))),t.CarouselViewport=y.default.div(a||(a=i(["\n    display: flex;\n    & > * {\n        min-width: 100%;\n    }\n    transition: transform 0.5s;\n    transform: translateX(",");\n    height: inherit;\n"],["\n    display: flex;\n    & > * {\n        min-width: 100%;\n    }\n    transition: transform 0.5s;\n    transform: translateX(",");\n    height: inherit;\n"])),(function(e){return"-"+100*e.curStep+"%"})),t.CarouselSlide=y.default(t.ProductToCartContainer)(s||(s=i(["\n    height: inherit;\n"],["\n    height: inherit;\n"]))),t.CarouselSlideScrollableArea=y.default.div(c||(c=i(["\n    flex-grow: 1;\n    min-height: 1px;\n    overflow-y: auto;\n"],["\n    flex-grow: 1;\n    min-height: 1px;\n    overflow-y: auto;\n"]))),t.Top=y.default.div(l||(l=i(["\n    padding: 16px;\n    border-bottom: 1px solid #dddddd;\n    flex: 1;\n    ","\n"],["\n    padding: 16px;\n    border-bottom: 1px solid #dddddd;\n    flex: 1;\n    ","\n"])),(function(e){return e.topStyle||null})),t.SalePageBundleInfoTop=y.default(t.Top)(u||(u=i(["\n    flex: unset;\n"],["\n    flex: unset;\n"]))),t.Content=y.default.div(d||(d=i(["\n    overflow-y: auto;\n    overflow-x: hidden;\n    padding: 0 16px;\n    ","\n"],["\n    overflow-y: auto;\n    overflow-x: hidden;\n    padding: 0 16px;\n    ","\n"])),(function(e){return e.contentStyle||null})),t.SalePageBundleP2Content=y.default(t.Content)(g||(g=i(["\n    overflow-y: unset;\n    overflow-x: unset;\n"],["\n    overflow-y: unset;\n    overflow-x: unset;\n"]))),t.SubSalePagesContent=y.default(t.Content)(p||(p=i(["\n    padding: unset;\n    margin: 0 16px;\n    padding-top: 16px;\n    padding-bottom: 16px;\n    border-top: 1px solid #dee2e6;\n    display: flex;\n    flex-direction: column;\n    gap: ","px;\n    flex-grow: 1;\n"],["\n    padding: unset;\n    margin: 0 16px;\n    padding-top: 16px;\n    padding-bottom: 16px;\n    border-top: 1px solid #dee2e6;\n    display: flex;\n    flex-direction: column;\n    gap: ","px;\n    flex-grow: 1;\n"])),(function(e){return e.browsingMode===C.BROWSING_MODE.DESKTOP?"16":"12"})),t.SubSalePagesBlockTitle=y.default.div(m||(m=i(["\n    font-size: 14px;\n    font-weight: 500;\n    line-height: 150%;\n"],["\n    font-size: 14px;\n    font-weight: 500;\n    line-height: 150%;\n"]))),t.BottomContainer=y.default.div(f||(f=i(["\n    width: 100%;\n"],["\n    width: 100%;\n"]))),t.Bottom=y.default.div(I||(I=i(["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 16px;\n    box-shadow: 0 0 6px 0 rgba(102, 102, 102, 0.25);\n    ","\n"],["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 16px;\n    box-shadow: 0 0 6px 0 rgba(102, 102, 102, 0.25);\n    ","\n"])),(function(e){return e.bottomStyle||null})),t.Qty=y.default.div(h||(h=i(["\n    display: flex;\n    align-items: center;\n    ","\n"],["\n    display: flex;\n    align-items: center;\n    ","\n"])),(function(e){return e.qtySelectorSectionStyle||null})),t.SpecChartButton=y.default.button(b||(b=i(["\n    display: flex;\n    align-items: center;\n    margin-left: auto;\n    color: #667079;\n    font-size: 0.8rem;\n    background-color: inherit;\n    cursor: pointer;\n\n    & > i {\n        color: #333333;\n    }\n"],["\n    display: flex;\n    align-items: center;\n    margin-left: auto;\n    color: #667079;\n    font-size: 0.8rem;\n    background-color: inherit;\n    cursor: pointer;\n\n    & > i {\n        color: #333333;\n    }\n"])))},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/typings/productToCart.typing.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BROWSING_MODE=t.ServiceType=t.SalePageTypeEnum=void 0,function(e){e.Normal="Normal",e.Bundle="Bundle"}(t.SalePageTypeEnum||(t.SalePageTypeEnum={})),function(e){e.BACK_STAGE="BACK_STAGE",e.FRONT_STAGE="FRONT_STAGE"}(t.ServiceType||(t.ServiceType={})),function(e){e.DESKTOP="desktop",e.MOBILE="mobile"}(t.BROWSING_MODE||(t.BROWSING_MODE={}))},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/utilities/array.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.safeArray=void 0,t.safeArray=function(e){return Array.isArray(e)?e:[]}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/utilities/device.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=t.getBrowsingMode=void 0;var i=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/constants/device.constant.js");t.getBrowsingMode=function(){return"DeskTop"===(document.cookie.match("(^|; )BrowsingMode=([^;]*)")||[])[2]?i.BROWSING_MODE.DESKTOP:/android|webOS|iPhone|iPod|iOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||/(tablet|ipad|playbook|silk)|(android(?!.*mobile))/i.test(navigator.userAgent)?i.BROWSING_MODE.MOBILE:i.BROWSING_MODE.DESKTOP},t.isMobile=function(){return t.getBrowsingMode()===i.BROWSING_MODE.MOBILE}},"./node_modules/@91app/nineyi.component.product-to-cart/dist/src/utilities/rawData.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSkuInfoList=t.getSalePageInfo=void 0;var i=n("./node_modules/lodash/lodash.js");t.getSalePageInfo=function(e,t){var n,o=e.MajorList[0].SKUList,r=(n=o&&o.length>0?1===o.length?"-1"===o[0].Title?0:1:2:0)>0?i.map(o[0].PropertyList,(function(e){return{skuName:e.Name,skuKey:e.PropertyNameSet}})):[],a=2===n?i.map(o[1].PropertyList,(function(e){return{skuName:e.Name,skuKey:e.PropertyNameSet}})):[],s={skuGroupName:o.length>0?o[0].Title:"-1",skuKeyList:r},c=2===n?{skuGroupName:o[1].Title,skuKeyList:a}:null,l=i.map(e.ImageList,(function(e){return{skuId:e.Id,skuName:e.SKUPropertyNameSet,imageSrc:e.PicUrl}})),u=e.SKUPropertySetList.reduce((function(e,t){return t.SaleProductSKUId&&t.IsShow&&e.push(t.SaleProductSKUId),e}),[]),d=i.maxBy(t,"Price"),g=i.maxBy(t,"SuggestPrice"),p=i.minBy(t,"Price"),m=i.minBy(t,"SuggestPrice"),f=(null==d?void 0:d.Price)||e.MaxPrice,I=(null==g?void 0:g.SuggestPrice)||e.MaxSuggestPrice,h=(null==p?void 0:p.Price)||e.MinPrice,b=(null==m?void 0:m.SuggestPrice)||e.MinSuggestPrice;return{maxSkuLevel:n,skuGroupLevel1:s,skuGroupLevel2:c,id:e.Id,status:e.StatusDef,mainImageUrl:l,price:e.Price,title:e.Title,skuIdList:u,suggestPrice:e.SuggestPrice,maxPrice:f,maxSuggestPrice:I,minPrice:h,minSuggestPrice:b,hasPointPayOption:e.PointsPayPairsList&&e.PointsPayPairsList.length>0,pointsPayPairsList:e.PointsPayPairsList||[]}};t.getSkuInfoList=function(e,t){var n=i.map(e.SKUPropertySetList,(function(e){return{isShow:e.IsShow,skuKey:e.PropertyNameSet,skuId:e.SaleProductSKUId,sellingQty:e.SellingQty,price:e.Price,suggestPrice:e.SuggestPrice}}));return t?function(e,t){var n=i.keyBy(t,"SaleProductSKUId");return i.each(e,(function(e){var t;e.sellingQty=null===(t=n[e.skuId])||void 0===t?void 0:t.SellingQty})),e}(n,t):n}},"./node_modules/@91app/nineyi.component.product-to-cart/node_modules/@91app/nineyi.lib.display-text/dist/bundle.js":(e,t,n)=>{"use strict";var i;n.r(t),n.d(t,{filterSalePageSpecialPriceData:()=>g,getDisplayPrice:()=>u,getDisplaySuggestPrice:()=>d,getSalePagePriceRange:()=>I,getSalePageSpecialPriceTagData:()=>f,isShowComingSoon:()=>b,isShowSuggestPrice:()=>h,mappingSalePagePriceRangeData:()=>m,mappingSalePageSpecialPriceList:()=>p,mappingSpecialPriceData:()=>c,mappingSpecialPriceDataLabel:()=>l}),function(e){e.POINT_PAY="PointPay",e.PRICE="Price"}(i||(i={}));var o=["-1"],r=function(e){return"/Date(-62135596800000)/"===e?new Date(0):new Date(parseInt(e.replace("/Date(","").replace(")/",""),10))},a=function(e){return!!/^\/Date/.test(e)},s=function(e,t,n){var i=n.getTime(),o=a("".concat(e))?new Date(r("".concat(e))).getTime():new Date(e).getTime(),s=a("".concat(t))?new Date(r("".concat(t))).getTime():new Date(t).getTime();return o<i&&s>i},c=function(e,t,n){if(void 0===t&&(t=o),void 0===n&&(n=new Date),!e||0===e.length)return null;var i=e.filter((function(e){return s(e.StartDateTime,e.EndDateTime,n)&&t.includes(e.MemberCollectionId)}));if(i.length>0){var r=i.sort((function(e,t){return e.Price!==t.Price?e.Price-t.Price:t.PromotionEngineId-e.PromotionEngineId}))[0];return{price:r.Price,label:r.Label}}return null},l=function(e,t,n){return e&&e.price<=t&&n===i.PRICE?e.label:null},u=function(e,t){return t>0&&t<=e?t:e},d=function(e,t,n,i){return n>0&&n<=e&&i?e:t},g=function(e,t,n){return void 0===n&&(n=new Date),e.filter((function(e){return s(e.StartDateTime,e.EndDateTime,n)&&t.indexOf(e.MemberCollectionId)>=0}))},p=function(e){var t=[];return e.forEach((function(e){e.PriceList.forEach((function(n){var i=t.find((function(e){return e.SkuId===n.SkuId})),o=t.map((function(e){return e.SkuId})).indexOf(n.SkuId),r={PromotionEngineId:e.PromotionEngineId,MemberCollectionId:e.MemberCollectionId,StartDateTime:e.StartDateTime,EndDateTime:e.EndDateTime,SkuId:n.SkuId,Price:n.Price,Label:e.Label};i&&(r.Price<i.Price||r.Price===i.Price&&r.PromotionEngineId>i.PromotionEngineId)&&(t[o]=r),i||t.push(r)}))})),t.sort((function(e,t){return e.Price!==t.Price?e.Price-t.Price:t.PromotionEngineId-e.PromotionEngineId}))},m=function(e,t,n,i){return e.map((function(e){var o,r=t.find((function(t){return t.SkuId===e.SkuId}));if(r){var a=r.Price,s=(null===(o=i.find((function(e){return e.SkuId===r.SkuId})))||void 0===o?void 0:o.Price)||Number.MIN_VALUE;a<=s&&(n&&(e.SuggestPrice=s),e.Price=a)}return e}))},f=function(e,t,n,i){if(void 0===i&&(i=!1),!e)return null;var o=e.find((function(e){return e.SkuId===t}));return o&&o.Price<=(n||Number.MIN_VALUE)&&!i?o:null},I=function(e,t){return e&&e.length>0?(e.sort((function(e,n){return e[t]-n[t]})),{min:e[0][t],max:e[e.length-1][t]}):null},h=function(e,t,n,o){switch(e){case i.POINT_PAY:return n>o;case i.PRICE:return n>t;default:return!1}},b=function(e,t,n){var i=new Date;return!(!e||!t)&&t<=i&&i<e&&n}},"./node_modules/@91app/nineyi.config.cms-globla-style/dist/src/index.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default={generalStyle:{linkColor:"#428bca",moneyColor:"#ff5353",discountMoneyColor:"#ff5353"},buttonStyle:{primaryBtnBgColor:"#ff5353",primaryBtnTextColor:"#ffffff",secondBtnVariant:"outline",secondBtnBgColor:"#ffffff",secondBtnTextColor:"#ff5353",secondBtnBorderColor:"#ff5353",primaryHeartBtnBgColor:"#ff5353",secondHeartBtnBgColor:"#333333"},tagStyle:{generalTagBgColor:"#fff2f2",generalTagTextColor:"#ff5353",emphasisTagBgColor:"#ff5353",emphasisTagTextColor:"#ffffff",keyWordTagTextColor:"#666666"}}},"./node_modules/@91app/nineyi.config.i18n/index.js":function(e){var t;t=this,e.exports?e.exports={allCurrencies:[{code:"TWD",symbol:"NT$",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"新台幣"},{code:"USD",symbol:"US$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"US dollar"},{code:"HKD",symbol:"HK$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"港幣"},{code:"MOP",symbol:"MOP",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Pataca"},{code:"CNY",symbol:"¥",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"人民币"},{code:"MYR",symbol:"RM",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Ringgit Malaysia"},{code:"SGD",symbol:"S$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Singapore dollar"},{code:"THB",symbol:"฿",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"บาท"},{code:"VND",symbol:"₫",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Đồng"},{code:"PHP",symbol:"₱",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Philippine peso"},{code:"KRW",symbol:"₩",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"대한민국 원"},{code:"JPY",symbol:"¥",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"日本円"},{code:"AUD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Australian dollar"},{code:"EUR",symbol:"€",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Euro"},{code:"GBP",symbol:"£",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Pound sterling"},{code:"CAD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Canadian dollar"},{code:"IDR",symbol:"Rp",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Rupiah"},{code:"NZD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"New Zealand dollar"},{code:"SEK",symbol:"kr",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Svensk krona"}]}:(t.nineyi=t.nineyi||{},t.nineyi.i18n=t.nineyi.i18n||{},t.nineyi.i18n.allCurrencies=[{code:"TWD",symbol:"NT$",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"新台幣"},{code:"USD",symbol:"US$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"US dollar"},{code:"HKD",symbol:"HK$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"港幣"},{code:"MOP",symbol:"MOP",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Pataca"},{code:"CNY",symbol:"¥",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"人民币"},{code:"MYR",symbol:"RM",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Ringgit Malaysia"},{code:"SGD",symbol:"S$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Singapore dollar"},{code:"THB",symbol:"฿",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"บาท"},{code:"VND",symbol:"₫",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Đồng"},{code:"PHP",symbol:"₱",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Philippine peso"},{code:"KRW",symbol:"₩",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"대한민국 원"},{code:"JPY",symbol:"¥",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"日本円"},{code:"AUD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Australian dollar"},{code:"EUR",symbol:"€",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Euro"},{code:"GBP",symbol:"£",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Pound sterling"},{code:"CAD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Canadian dollar"},{code:"IDR",symbol:"Rp",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Rupiah"},{code:"NZD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"New Zealand dollar"},{code:"SEK",symbol:"kr",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Svensk krona"}])},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/compatibility.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsSupportSessionStorage=t.checkIsSupportLocalStorage=void 0;t.checkIsSupportLocalStorage=function(){return"undefined"!=typeof localStorage};t.checkIsSupportSessionStorage=function(){return"undefined"!=typeof sessionStorage}},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/cookie.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCookie=t.deleteCookie=t.addCookie=void 0;var i=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/runtime.utility.js");t.addCookie=function(e,t,n){if((0,i.checkIsClientRender)()){var o="";if(n){var r=new Date;r.setTime(r.getTime()+24*n*60*60*1e3),o="; expires=".concat(r.toUTCString())}document.cookie="".concat(e,"=").concat(t).concat(o,"; path=/")}};t.deleteCookie=function(e){if((0,i.checkIsClientRender)()){var t=new Date;document.cookie="".concat(e,"=;expires=").concat(t.toUTCString(),";path=/")}};t.getCookie=function(e){if(!(0,i.checkIsClientRender)())return"";var t=document.cookie.match(new RegExp("(^| )".concat(e,"=([^;]*)(;|$)")));return t?t[2]:""}},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/device.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=t.getBrowsingMode=t.BROWSING_MODE=void 0;var i=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/runtime.utility.js");t.BROWSING_MODE={DESKTOP:"desktop",MOBILE:"mobile"};t.getBrowsingMode=function(){return(0,i.checkIsClientRender)()?"DeskTop"===(document.cookie.match("(^|; )BrowsingMode=([^;]*)")||0)[2]?t.BROWSING_MODE.DESKTOP:/android|webOS|iPhone|iPod|iOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||/(tablet|ipad|playbook|silk)|(android(?!.*mobile))/i.test(navigator.userAgent)?t.BROWSING_MODE.MOBILE:t.BROWSING_MODE.DESKTOP:t.BROWSING_MODE.DESKTOP};t.isMobile=function(){return(0,t.getBrowsingMode)()===t.BROWSING_MODE.MOBILE}},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/compatibility.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/cookie.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/input.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/device.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/object.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/runtime.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/url.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/userAgent.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/validate.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/value.utility.js"),t)},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/input.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsMatchNumberKeyCodeAllowed=void 0;t.checkIsMatchNumberKeyCodeAllowed=function(e){return e>47&&e<58||e>95&&e<106||e>36&&e<41||8===e||46===e||102===e||190===e}},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/object.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.merge=t.deepClone=t.checkIsArray=t.checkIsObject=void 0;var i=n("./node_modules/lodash/lodash.js");t.checkIsObject=function(e){return e===Object(e)&&!Array.isArray(e)};t.checkIsArray=function(e){return Array.isArray(e)};t.deepClone=function(e){return JSON.parse(JSON.stringify(e))},t.merge=function(e,n,o){if(!e||!n)return e||n||{};var r=(0,t.deepClone)(e),a=(0,t.deepClone)(n);return o?(0,i.mergeWith)(r,a,o):(0,i.merge)(r,a)}},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/runtime.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsServerRender=t.checkIsClientRender=void 0;t.checkIsClientRender=function(){return"undefined"!=typeof window};t.checkIsServerRender=function(){return"undefined"==typeof window}},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/url.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeQueryStringParam=t.appendQueryParam=t.getQueryString=void 0;t.getQueryString=function(e,t){try{var n=RegExp("[?&]".concat(e,"=([^&]*)")).exec(t||document.location.search);return n&&decodeURIComponent(decodeURIComponent(n[1].replace(/\+/g," ")))}catch(i){return null}};t.appendQueryParam=function(e,t,n,i){void 0===i&&(i=!1);var o="",r=e.length;e.indexOf("#")>0&&(r=e.indexOf("#"),o=e.substring(e.indexOf("#"),e.length));var a=e.substring(0,r).split("?"),s="";if(a.length>1)for(var c=a[1].split("&"),l=0;l<c.length;l++){var u=c[l].split("=");u[0]!==t&&(""===s?s="?":s+="&",s+="".concat(u[0],"=").concat(u[1]?u[1]:""))}return""===s&&(s="?"),i?s="?".concat(t,"=").concat(n+(s.length>1?"&".concat(s.substring(1)):"")):(""!==s&&"?"!==s&&(s+="&"),s+="".concat(t,"=").concat(n||"")),a[0]+s+o};t.removeQueryStringParam=function(e,t){var n=t.split("?")[0],i=[],o=t.includes("?")?t.split("?")[1]:"";if(""!==o){for(var r=(i=o.split("&")).length-1;r>=0;r-=1)i[r].split("=")[0]===e&&i.splice(r,1);n="".concat(n,"?").concat(i.join("&"))}return n}},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/userAgent.utility.js":(e,t)=>{"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsBot=t.getDeviceOS=t.checkIsIE=t.checkIsSafari=t.checkIsChrome=t.checkIsFirefox=t.DeviceOS=t.Browser=void 0,function(e){e.Chrome="Chrome",e.Firefox="Firefox",e.MSIE="MSIE",e.Safari="Safari",e.Trident="Trident"}(n=t.Browser||(t.Browser={})),function(e){e.Android="Android",e.Bot="Bot",e.UnKnown="UnKnown",e.iOS="iOS"}(i=t.DeviceOS||(t.DeviceOS={}));t.checkIsFirefox=function(e){return e.includes(n.Firefox)};t.checkIsChrome=function(e){return e.includes(n.Chrome)};t.checkIsSafari=function(e){return!e.includes(n.Chrome)&&e.includes(n.Safari)};t.checkIsIE=function(e){return e.indexOf(n.Trident)>0||e.indexOf(n.MSIE)>0};t.getDeviceOS=function(e){return/android/i.test(e)?i.Android:/(iPhone|iPad|iPod|iOS)/i.test(e)?i.iOS:/bot|spider|crawl/i.test(e)?i.Bot:i.UnKnown};t.checkIsBot=function(){return"undefined"!=typeof window&&window.navigator&&/bot|spider|crawl/i.test(navigator.userAgent)}},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/validate.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsEmail=void 0;t.checkIsEmail=function(e){return/(.+)@(.+)\.(.+)/.test(e)}},"./node_modules/@91app/nineyi.lib.common-utility/dist/src/value.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsBooleanString=t.checkIsNumberString=t.checkIsString=t.checkIsUndefined=void 0;t.checkIsUndefined=function(e){return void 0===e};t.checkIsString=function(e){return"string"==typeof e};t.checkIsNumberString=function(e){return!!e&&(0,t.checkIsString)(e)&&!Number.isNaN(Number(e))};t.checkIsBooleanString=function(e){return"true"===e||"false"===e}},"./node_modules/@91app/nineyi.lib.display-text/dist/bundle.js":(e,t,n)=>{"use strict";var i;n.d(t,{D7:()=>l,ZF:()=>d,ae:()=>u,bb:()=>c,h4:()=>p,nn:()=>g}),function(e){e.POINT_PAY="PointPay",e.PRICE="Price"}(i||(i={}));var o=["-1"],r=function(e){return"/Date(-62135596800000)/"===e?new Date(0):new Date(parseInt(e.replace("/Date(","").replace(")/",""),10))},a=function(e){return!!/^\/Date/.test(e)},s=function(e,t,n){var i=n.getTime(),o=a("".concat(e))?new Date(r("".concat(e))).getTime():new Date(e).getTime(),s=a("".concat(t))?new Date(r("".concat(t))).getTime():new Date(t).getTime();return o<i&&s>i},c=function(e,t,n){if(void 0===t&&(t=o),void 0===n&&(n=new Date),!e||0===e.length)return null;var i=e.filter((function(e){return s(e.StartDateTime,e.EndDateTime,n)&&t.includes(e.MemberCollectionId)}));if(i.length>0){var r=i.sort((function(e,t){return e.Price!==t.Price?e.Price-t.Price:t.PromotionEngineId-e.PromotionEngineId}))[0];return{price:r.Price,label:r.Label}}return null},l=function(e,t,n){return e&&e.price<=t&&n===i.PRICE?e.label:null},u=function(e,t){return t>0&&t<=e?t:e},d=function(e,t,n){return void 0===n&&(n=new Date),e.filter((function(e){return s(e.StartDateTime,e.EndDateTime,n)&&t.indexOf(e.MemberCollectionId)>=0}))},g=function(e){var t=[];return e.forEach((function(e){e.PriceList.forEach((function(n){var i=t.find((function(e){return e.SkuId===n.SkuId})),o=t.map((function(e){return e.SkuId})).indexOf(n.SkuId),r={PromotionEngineId:e.PromotionEngineId,MemberCollectionId:e.MemberCollectionId,StartDateTime:e.StartDateTime,EndDateTime:e.EndDateTime,SkuId:n.SkuId,Price:n.Price,Label:e.Label};i&&(r.Price<i.Price||r.Price===i.Price&&r.PromotionEngineId>i.PromotionEngineId)&&(t[o]=r),i||t.push(r)}))})),t.sort((function(e,t){return e.Price!==t.Price?e.Price-t.Price:t.PromotionEngineId-e.PromotionEngineId}))},p=function(e,t,n,i){if(void 0===i&&(i=!1),!e)return null;var o=e.find((function(e){return e.SkuId===t}));return o&&o.Price<=(n||Number.MIN_VALUE)&&!i?o:null}},"./node_modules/@91app/nineyi.lib.sparkcore/lib/index.js":function(module,__unused_webpack_exports,__webpack_require__){var g;g=function(__WEBPACK_EXTERNAL_MODULE__0__,__WEBPACK_EXTERNAL_MODULE__3__){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="./",n(n.s=34)}([function(module,exports){eval("module.exports = __WEBPACK_EXTERNAL_MODULE__0__;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS9leHRlcm5hbCB7XCJyb290XCI6XCJSZWFjdFwiLFwiYW1kXCI6XCJyZWFjdFwiLFwiY29tbW9uanNcIjpcInJlYWN0XCIsXCJjb21tb25qczJcIjpcInJlYWN0XCIsXCJ1bWRcIjpcInJlYWN0XCJ9P2E1NmMiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX18wX187Il0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* WEBPACK VAR INJECTION */(function(process) {/* unused harmony export ServerStyleSheet */\n/* unused harmony export StyleSheetConsumer */\n/* unused harmony export StyleSheetContext */\n/* unused harmony export StyleSheetManager */\n/* unused harmony export ThemeConsumer */\n/* unused harmony export ThemeContext */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ThemeProvider; });\n/* unused harmony export __PRIVATE__ */\n/* unused harmony export createGlobalStyle */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return css; });\n/* unused harmony export isStyledComponent */\n/* unused harmony export keyframes */\n/* unused harmony export useTheme */\n/* unused harmony export version */\n/* unused harmony export withTheme */\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);\n/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_is__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13);\n/* harmony import */ var shallowequal__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(shallowequal__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14);\n/* harmony import */ var _emotion_unitless__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(15);\n/* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9);\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7);\n/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\n// \nvar interleave = (function (strings, interpolations) {\n  var result = [strings[0]];\n\n  for (var i = 0, len = interpolations.length; i < len; i += 1) {\n    result.push(interpolations[i], strings[i + 1]);\n  }\n\n  return result;\n});\n\n// \nvar isPlainObject = (function (x) {\n  return x !== null && typeof x === 'object' && (x.toString ? x.toString() : Object.prototype.toString.call(x)) === '[object Object]' && !Object(react_is__WEBPACK_IMPORTED_MODULE_0__[\"typeOf\"])(x);\n});\n\n// \nvar EMPTY_ARRAY = Object.freeze([]);\nvar EMPTY_OBJECT = Object.freeze({});\n\n// \nfunction isFunction(test) {\n  return typeof test === 'function';\n}\n\n// \nfunction getComponentName(target) {\n  return ( false) || // $FlowFixMe\n  target.displayName || // $FlowFixMe\n  target.name || 'Component';\n}\n\n// \nfunction isStatelessFunction(test) {\n  return typeof test === 'function' && !(test.prototype && test.prototype.isReactComponent);\n}\n\n// \nfunction isStyledComponent(target) {\n  return target && typeof target.styledComponentId === 'string';\n}\n\n// \nvar SC_ATTR = typeof process !== 'undefined' && (process.env.REACT_APP_SC_ATTR || process.env.SC_ATTR) || 'data-styled';\nvar SC_ATTR_ACTIVE = 'active';\nvar SC_ATTR_VERSION = 'data-styled-version';\nvar SC_VERSION = \"5.1.1\";\nvar SPLITTER = '/*!sc*/\\n';\nvar IS_BROWSER = typeof window !== 'undefined' && 'HTMLElement' in window;\nvar DISABLE_SPEEDY = typeof SC_DISABLE_SPEEDY === 'boolean' && SC_DISABLE_SPEEDY || typeof process !== 'undefined' && (process.env.REACT_APP_SC_DISABLE_SPEEDY || process.env.SC_DISABLE_SPEEDY) || \"production\" !== 'production'; // Shared empty execution context when generating static styles\n\nvar STATIC_EXECUTION_CONTEXT = {};\n\n// \n\n/* eslint-disable camelcase, no-undef */\nvar getNonce = function getNonce() {\n  return  true ? __webpack_require__.nc : undefined;\n};\n\nvar errorMap = {\n  \"1\": \"Cannot create styled-component for component: %s.\\n\\n\",\n  \"2\": \"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",\n  \"3\": \"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",\n  \"4\": \"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",\n  \"5\": \"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",\n  \"6\": \"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",\n  \"7\": \"ThemeProvider: Please return an object from your \\\"theme\\\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n\",\n  \"8\": \"ThemeProvider: Please make your \\\"theme\\\" prop an object.\\n\\n\",\n  \"9\": \"Missing document `<head>`\\n\\n\",\n  \"10\": \"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",\n  \"11\": \"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",\n  \"12\": \"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",\n  \"13\": \"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",\n  \"14\": \"ThemeProvider: \\\"theme\\\" prop is required.\\n\\n\",\n  \"15\": \"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",\n  \"16\": \"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",\n  \"17\": \"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"\n};\n\n// \nvar ERRORS =  false ? undefined : {};\n/**\n * super basic version of sprintf\n */\n\nfunction format() {\n  var a = arguments.length <= 0 ? undefined : arguments[0];\n  var b = [];\n\n  for (var c = 1, len = arguments.length; c < len; c += 1) {\n    b.push(c < 0 || arguments.length <= c ? undefined : arguments[c]);\n  }\n\n  b.forEach(function (d) {\n    a = a.replace(/%[a-z]/, d);\n  });\n  return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n */\n\n\nfunction throwStyledComponentsError(code) {\n  for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  if (true) {\n    throw new Error(\"An error occurred. See https://github.com/styled-components/styled-components/blob/master/packages/styled-components/src/utils/errors.md#\" + code + \" for more information.\" + (interpolations.length > 0 ? \" Additional arguments: \" + interpolations.join(', ') : ''));\n  } else {}\n}\n\n// \nvar ELEMENT_TYPE = 1;\n/* Node.ELEMENT_TYPE */\n\n/** Find last style element if any inside target */\n\nvar findLastStyleTag = function findLastStyleTag(target) {\n  var childNodes = target.childNodes;\n\n  for (var i = childNodes.length; i >= 0; i--) {\n    var child = childNodes[i];\n\n    if (child && child.nodeType === ELEMENT_TYPE && child.hasAttribute(SC_ATTR)) {\n      return child;\n    }\n  }\n\n  return undefined;\n};\n/** Create a style element inside `target` or <head> after the last */\n\n\nvar makeStyleTag = function makeStyleTag(target) {\n  var head = document.head;\n  var parent = target || head;\n  var style = document.createElement('style');\n  var prevStyle = findLastStyleTag(parent);\n  var nextSibling = prevStyle !== undefined ? prevStyle.nextSibling : null;\n  style.setAttribute(SC_ATTR, SC_ATTR_ACTIVE);\n  style.setAttribute(SC_ATTR_VERSION, SC_VERSION);\n  var nonce = getNonce();\n  if (nonce) style.setAttribute('nonce', nonce);\n  parent.insertBefore(style, nextSibling);\n  return style;\n};\n/** Get the CSSStyleSheet instance for a given style element */\n\nvar getSheet = function getSheet(tag) {\n  if (tag.sheet) {\n    return tag.sheet;\n  } // Avoid Firefox quirk where the style element might not have a sheet property\n\n\n  var _document = document,\n      styleSheets = _document.styleSheets;\n\n  for (var i = 0, l = styleSheets.length; i < l; i++) {\n    var sheet = styleSheets[i];\n\n    if (sheet.ownerNode === tag) {\n      return sheet;\n    }\n  }\n\n  throwStyledComponentsError(17);\n  return undefined;\n};\n\n// \n/** Create a CSSStyleSheet-like tag depending on the environment */\n\nvar makeTag = function makeTag(_ref) {\n  var isServer = _ref.isServer,\n      useCSSOMInjection = _ref.useCSSOMInjection,\n      target = _ref.target;\n\n  if (isServer) {\n    return new VirtualTag(target);\n  } else if (useCSSOMInjection) {\n    return new CSSOMTag(target);\n  } else {\n    return new TextTag(target);\n  }\n};\nvar CSSOMTag = /*#__PURE__*/function () {\n  function CSSOMTag(target) {\n    var element = this.element = makeStyleTag(target); // Avoid Edge bug where empty style elements don't create sheets\n\n    element.appendChild(document.createTextNode(''));\n    this.sheet = getSheet(element);\n    this.length = 0;\n  }\n\n  var _proto = CSSOMTag.prototype;\n\n  _proto.insertRule = function insertRule(index, rule) {\n    try {\n      this.sheet.insertRule(rule, index);\n      this.length++;\n      return true;\n    } catch (_error) {\n      return false;\n    }\n  };\n\n  _proto.deleteRule = function deleteRule(index) {\n    this.sheet.deleteRule(index);\n    this.length--;\n  };\n\n  _proto.getRule = function getRule(index) {\n    var rule = this.sheet.cssRules[index]; // Avoid IE11 quirk where cssText is inaccessible on some invalid rules\n\n    if (rule !== undefined && typeof rule.cssText === 'string') {\n      return rule.cssText;\n    } else {\n      return '';\n    }\n  };\n\n  return CSSOMTag;\n}();\n/** A Tag that emulates the CSSStyleSheet API but uses text nodes */\n\nvar TextTag = /*#__PURE__*/function () {\n  function TextTag(target) {\n    var element = this.element = makeStyleTag(target);\n    this.nodes = element.childNodes;\n    this.length = 0;\n  }\n\n  var _proto2 = TextTag.prototype;\n\n  _proto2.insertRule = function insertRule(index, rule) {\n    if (index <= this.length && index >= 0) {\n      var node = document.createTextNode(rule);\n      var refNode = this.nodes[index];\n      this.element.insertBefore(node, refNode || null);\n      this.length++;\n      return true;\n    } else {\n      return false;\n    }\n  };\n\n  _proto2.deleteRule = function deleteRule(index) {\n    this.element.removeChild(this.nodes[index]);\n    this.length--;\n  };\n\n  _proto2.getRule = function getRule(index) {\n    if (index < this.length) {\n      return this.nodes[index].textContent;\n    } else {\n      return '';\n    }\n  };\n\n  return TextTag;\n}();\n/** A completely virtual (server-side) Tag that doesn't manipulate the DOM */\n\nvar VirtualTag = /*#__PURE__*/function () {\n  function VirtualTag(_target) {\n    this.rules = [];\n    this.length = 0;\n  }\n\n  var _proto3 = VirtualTag.prototype;\n\n  _proto3.insertRule = function insertRule(index, rule) {\n    if (index <= this.length) {\n      this.rules.splice(index, 0, rule);\n      this.length++;\n      return true;\n    } else {\n      return false;\n    }\n  };\n\n  _proto3.deleteRule = function deleteRule(index) {\n    this.rules.splice(index, 1);\n    this.length--;\n  };\n\n  _proto3.getRule = function getRule(index) {\n    if (index < this.length) {\n      return this.rules[index];\n    } else {\n      return '';\n    }\n  };\n\n  return VirtualTag;\n}();\n\n// \n/** Create a GroupedTag with an underlying Tag implementation */\n\nvar makeGroupedTag = function makeGroupedTag(tag) {\n  return new DefaultGroupedTag(tag);\n};\nvar BASE_SIZE = 1 << 9;\n\nvar DefaultGroupedTag = /*#__PURE__*/function () {\n  function DefaultGroupedTag(tag) {\n    this.groupSizes = new Uint32Array(BASE_SIZE);\n    this.length = BASE_SIZE;\n    this.tag = tag;\n  }\n\n  var _proto = DefaultGroupedTag.prototype;\n\n  _proto.indexOfGroup = function indexOfGroup(group) {\n    var index = 0;\n\n    for (var i = 0; i < group; i++) {\n      index += this.groupSizes[i];\n    }\n\n    return index;\n  };\n\n  _proto.insertRules = function insertRules(group, rules) {\n    if (group >= this.groupSizes.length) {\n      var oldBuffer = this.groupSizes;\n      var oldSize = oldBuffer.length;\n      var newSize = oldSize;\n\n      while (group >= newSize) {\n        newSize <<= 1;\n\n        if (newSize < 0) {\n          throwStyledComponentsError(16, \"\" + group);\n        }\n      }\n\n      this.groupSizes = new Uint32Array(newSize);\n      this.groupSizes.set(oldBuffer);\n      this.length = newSize;\n\n      for (var i = oldSize; i < newSize; i++) {\n        this.groupSizes[i] = 0;\n      }\n    }\n\n    var ruleIndex = this.indexOfGroup(group + 1);\n\n    for (var _i = 0, l = rules.length; _i < l; _i++) {\n      if (this.tag.insertRule(ruleIndex, rules[_i])) {\n        this.groupSizes[group]++;\n        ruleIndex++;\n      }\n    }\n  };\n\n  _proto.clearGroup = function clearGroup(group) {\n    if (group < this.length) {\n      var length = this.groupSizes[group];\n      var startIndex = this.indexOfGroup(group);\n      var endIndex = startIndex + length;\n      this.groupSizes[group] = 0;\n\n      for (var i = startIndex; i < endIndex; i++) {\n        this.tag.deleteRule(startIndex);\n      }\n    }\n  };\n\n  _proto.getGroup = function getGroup(group) {\n    var css = '';\n\n    if (group >= this.length || this.groupSizes[group] === 0) {\n      return css;\n    }\n\n    var length = this.groupSizes[group];\n    var startIndex = this.indexOfGroup(group);\n    var endIndex = startIndex + length;\n\n    for (var i = startIndex; i < endIndex; i++) {\n      css += \"\" + this.tag.getRule(i) + SPLITTER;\n    }\n\n    return css;\n  };\n\n  return DefaultGroupedTag;\n}();\n\n// \nvar MAX_SMI = 1 << 31 - 1;\nvar groupIDRegister = new Map();\nvar reverseRegister = new Map();\nvar nextFreeGroup = 1;\nvar getGroupForId = function getGroupForId(id) {\n  if (groupIDRegister.has(id)) {\n    return groupIDRegister.get(id);\n  }\n\n  var group = nextFreeGroup++;\n\n  if (false) {}\n\n  groupIDRegister.set(id, group);\n  reverseRegister.set(group, id);\n  return group;\n};\nvar getIdForGroup = function getIdForGroup(group) {\n  return reverseRegister.get(group);\n};\nvar setGroupForId = function setGroupForId(id, group) {\n  if (group >= nextFreeGroup) {\n    nextFreeGroup = group + 1;\n  }\n\n  groupIDRegister.set(id, group);\n  reverseRegister.set(group, id);\n};\n\n// \nvar SELECTOR = \"style[\" + SC_ATTR + \"][\" + SC_ATTR_VERSION + \"=\\\"\" + SC_VERSION + \"\\\"]\";\nvar MARKER_RE = new RegExp(\"^\" + SC_ATTR + \"\\\\.g(\\\\d+)\\\\[id=\\\"([\\\\w\\\\d-]+)\\\"\\\\].*?\\\"([^\\\"]*)\");\nvar outputSheet = function outputSheet(sheet) {\n  var tag = sheet.getTag();\n  var length = tag.length;\n  var css = '';\n\n  for (var group = 0; group < length; group++) {\n    var id = getIdForGroup(group);\n    if (id === undefined) continue;\n    var names = sheet.names.get(id);\n    var rules = tag.getGroup(group);\n    if (names === undefined || rules.length === 0) continue;\n    var selector = SC_ATTR + \".g\" + group + \"[id=\\\"\" + id + \"\\\"]\";\n    var content = '';\n\n    if (names !== undefined) {\n      names.forEach(function (name) {\n        if (name.length > 0) {\n          content += name + \",\";\n        }\n      });\n    } // NOTE: It's easier to collect rules and have the marker\n    // after the actual rules to simplify the rehydration\n\n\n    css += \"\" + rules + selector + \"{content:\\\"\" + content + \"\\\"}\" + SPLITTER;\n  }\n\n  return css;\n};\n\nvar rehydrateNamesFromContent = function rehydrateNamesFromContent(sheet, id, content) {\n  var names = content.split(',');\n  var name;\n\n  for (var i = 0, l = names.length; i < l; i++) {\n    // eslint-disable-next-line\n    if (name = names[i]) {\n      sheet.registerName(id, name);\n    }\n  }\n};\n\nvar rehydrateSheetFromTag = function rehydrateSheetFromTag(sheet, style) {\n  var parts = style.innerHTML.split(SPLITTER);\n  var rules = [];\n\n  for (var i = 0, l = parts.length; i < l; i++) {\n    var part = parts[i].trim();\n    if (!part) continue;\n    var marker = part.match(MARKER_RE);\n\n    if (marker) {\n      var group = parseInt(marker[1], 10) | 0;\n      var id = marker[2];\n\n      if (group !== 0) {\n        // Rehydrate componentId to group index mapping\n        setGroupForId(id, group); // Rehydrate names and rules\n        // looks like: data-styled.g11[id=\"idA\"]{content:\"nameA,\"}\n\n        rehydrateNamesFromContent(sheet, id, marker[3]);\n        sheet.getTag().insertRules(group, rules);\n      }\n\n      rules.length = 0;\n    } else {\n      rules.push(part);\n    }\n  }\n};\n\nvar rehydrateSheet = function rehydrateSheet(sheet) {\n  var nodes = document.querySelectorAll(SELECTOR);\n\n  for (var i = 0, l = nodes.length; i < l; i++) {\n    var node = nodes[i];\n\n    if (node && node.getAttribute(SC_ATTR) !== SC_ATTR_ACTIVE) {\n      rehydrateSheetFromTag(sheet, node);\n\n      if (node.parentNode) {\n        node.parentNode.removeChild(node);\n      }\n    }\n  }\n};\n\nvar SHOULD_REHYDRATE = IS_BROWSER;\nvar defaultOptions = {\n  isServer: !IS_BROWSER,\n  useCSSOMInjection: !DISABLE_SPEEDY\n};\n/** Contains the main stylesheet logic for stringification and caching */\n\nvar StyleSheet = /*#__PURE__*/function () {\n  /** Register a group ID to give it an index */\n  StyleSheet.registerId = function registerId(id) {\n    return getGroupForId(id);\n  };\n\n  function StyleSheet(options, globalStyles, names) {\n    if (options === void 0) {\n      options = defaultOptions;\n    }\n\n    if (globalStyles === void 0) {\n      globalStyles = {};\n    }\n\n    this.options = _extends({}, defaultOptions, {}, options);\n    this.gs = globalStyles;\n    this.names = new Map(names); // We rehydrate only once and use the sheet that is created first\n\n    if (!this.options.isServer && IS_BROWSER && SHOULD_REHYDRATE) {\n      SHOULD_REHYDRATE = false;\n      rehydrateSheet(this);\n    }\n  }\n\n  var _proto = StyleSheet.prototype;\n\n  _proto.reconstructWithOptions = function reconstructWithOptions(options) {\n    return new StyleSheet(_extends({}, this.options, {}, options), this.gs, this.names);\n  };\n\n  _proto.allocateGSInstance = function allocateGSInstance(id) {\n    return this.gs[id] = (this.gs[id] || 0) + 1;\n  }\n  /** Lazily initialises a GroupedTag for when it's actually needed */\n  ;\n\n  _proto.getTag = function getTag() {\n    return this.tag || (this.tag = makeGroupedTag(makeTag(this.options)));\n  }\n  /** Check whether a name is known for caching */\n  ;\n\n  _proto.hasNameForId = function hasNameForId(id, name) {\n    return this.names.has(id) && this.names.get(id).has(name);\n  }\n  /** Mark a group's name as known for caching */\n  ;\n\n  _proto.registerName = function registerName(id, name) {\n    getGroupForId(id);\n\n    if (!this.names.has(id)) {\n      var groupNames = new Set();\n      groupNames.add(name);\n      this.names.set(id, groupNames);\n    } else {\n      this.names.get(id).add(name);\n    }\n  }\n  /** Insert new rules which also marks the name as known */\n  ;\n\n  _proto.insertRules = function insertRules(id, name, rules) {\n    this.registerName(id, name);\n    this.getTag().insertRules(getGroupForId(id), rules);\n  }\n  /** Clears all cached names for a given group ID */\n  ;\n\n  _proto.clearNames = function clearNames(id) {\n    if (this.names.has(id)) {\n      this.names.get(id).clear();\n    }\n  }\n  /** Clears all rules for a given group ID */\n  ;\n\n  _proto.clearRules = function clearRules(id) {\n    this.getTag().clearGroup(getGroupForId(id));\n    this.clearNames(id);\n  }\n  /** Clears the entire tag which deletes all rules but not its names */\n  ;\n\n  _proto.clearTag = function clearTag() {\n    // NOTE: This does not clear the names, since it's only used during SSR\n    // so that we can continuously output only new rules\n    this.tag = undefined;\n  }\n  /** Outputs the current sheet as a CSS string with markers for SSR */\n  ;\n\n  _proto.toString = function toString() {\n    return outputSheet(this);\n  };\n\n  return StyleSheet;\n}();\n\n// \n\n/* eslint-disable */\nvar SEED = 5381; // When we have separate strings it's useful to run a progressive\n// version of djb2 where we pretend that we're still looping over\n// the same string\n\nvar phash = function phash(h, x) {\n  var i = x.length;\n\n  while (i) {\n    h = h * 33 ^ x.charCodeAt(--i);\n  }\n\n  return h;\n}; // This is a djb2 hashing function\n\nvar hash = function hash(x) {\n  return phash(SEED, x);\n};\n\n/**\n * MIT License\n *\n * Copyright (c) 2016 Sultan Tarimo\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of\n * this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n * OR IMPLIED INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR\n * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\n/* eslint-disable */\nfunction insertRulePlugin (insertRule) {\n  var delimiter = '/*|*/';\n  var needle = delimiter + \"}\";\n\n  function toSheet(block) {\n    if (block) {\n      try {\n        insertRule(block + \"}\");\n      } catch (e) {}\n    }\n  }\n\n  return function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {\n    switch (context) {\n      // property\n      case 1:\n        // @import\n        if (depth === 0 && content.charCodeAt(0) === 64) return insertRule(content + \";\"), '';\n        break;\n      // selector\n\n      case 2:\n        if (ns === 0) return content + delimiter;\n        break;\n      // at-rule\n\n      case 3:\n        switch (ns) {\n          // @font-face, @page\n          case 102:\n          case 112:\n            return insertRule(selectors[0] + content), '';\n\n          default:\n            return content + (at === 0 ? delimiter : '');\n        }\n\n      case -2:\n        content.split(needle).forEach(toSheet);\n    }\n  };\n}\n\nvar COMMENT_REGEX = /^\\s*\\/\\/.*$/gm;\nfunction createStylisInstance(_temp) {\n  var _ref = _temp === void 0 ? EMPTY_OBJECT : _temp,\n      _ref$options = _ref.options,\n      options = _ref$options === void 0 ? EMPTY_OBJECT : _ref$options,\n      _ref$plugins = _ref.plugins,\n      plugins = _ref$plugins === void 0 ? EMPTY_ARRAY : _ref$plugins;\n\n  var stylis = new _emotion_stylis__WEBPACK_IMPORTED_MODULE_3__[/* default */ \"a\"](options); // Wrap `insertRulePlugin to build a list of rules,\n  // and then make our own plugin to return the rules. This\n  // makes it easier to hook into the existing SSR architecture\n\n  var parsingRules = []; // eslint-disable-next-line consistent-return\n\n  var returnRulesPlugin = function returnRulesPlugin(context) {\n    if (context === -2) {\n      var parsedRules = parsingRules;\n      parsingRules = [];\n      return parsedRules;\n    }\n  };\n\n  var parseRulesPlugin = insertRulePlugin(function (rule) {\n    parsingRules.push(rule);\n  });\n\n  var _componentId;\n\n  var _selector;\n\n  var _selectorRegexp;\n\n  var selfReferenceReplacer = function selfReferenceReplacer(match, offset, string) {\n    if ( // the first self-ref is always untouched\n    offset > 0 && // there should be at least two self-refs to do a replacement (.b > .b)\n    string.slice(0, offset).indexOf(_selector) !== -1 && // no consecutive self refs (.b.b); that is a precedence boost and treated differently\n    string.slice(offset - _selector.length, offset) !== _selector) {\n      return \".\" + _componentId;\n    }\n\n    return match;\n  };\n  /**\n   * When writing a style like\n   *\n   * & + & {\n   *   color: red;\n   * }\n   *\n   * The second ampersand should be a reference to the static component class. stylis\n   * has no knowledge of static class so we have to intelligently replace the base selector.\n   *\n   * https://github.com/thysultan/stylis.js#plugins <- more info about the context phase values\n   * \"2\" means this plugin is taking effect at the very end after all other processing is complete\n   */\n\n\n  var selfReferenceReplacementPlugin = function selfReferenceReplacementPlugin(context, _, selectors) {\n    if (context === 2 && selectors.length && selectors[0].lastIndexOf(_selector) > 0) {\n      // eslint-disable-next-line no-param-reassign\n      selectors[0] = selectors[0].replace(_selectorRegexp, selfReferenceReplacer);\n    }\n  };\n\n  stylis.use([].concat(plugins, [selfReferenceReplacementPlugin, parseRulesPlugin, returnRulesPlugin]));\n\n  function stringifyRules(css, selector, prefix, componentId) {\n    if (componentId === void 0) {\n      componentId = '&';\n    }\n\n    var flatCSS = css.replace(COMMENT_REGEX, '');\n    var cssStr = selector && prefix ? prefix + \" \" + selector + \" { \" + flatCSS + \" }\" : flatCSS; // stylis has no concept of state to be passed to plugins\n    // but since JS is single=threaded, we can rely on that to ensure\n    // these properties stay in sync with the current stylis run\n\n    _componentId = componentId;\n    _selector = selector;\n    _selectorRegexp = new RegExp(\"\\\\\" + _selector + \"\\\\b\", 'g');\n    return stylis(prefix || !selector ? '' : selector, cssStr);\n  }\n\n  stringifyRules.hash = plugins.length ? plugins.reduce(function (acc, plugin) {\n    if (!plugin.name) {\n      throwStyledComponentsError(15);\n    }\n\n    return phash(acc, plugin.name);\n  }, SEED).toString() : '';\n  return stringifyRules;\n}\n\n// \nvar StyleSheetContext = react__WEBPACK_IMPORTED_MODULE_1___default.a.createContext();\nvar StyleSheetConsumer = StyleSheetContext.Consumer;\nvar StylisContext = react__WEBPACK_IMPORTED_MODULE_1___default.a.createContext();\nvar StylisConsumer = StylisContext.Consumer;\nvar masterSheet = new StyleSheet();\nvar masterStylis = createStylisInstance();\nfunction useStyleSheet() {\n  return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useContext\"])(StyleSheetContext) || masterSheet;\n}\nfunction useStylis() {\n  return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useContext\"])(StylisContext) || masterStylis;\n}\nfunction StyleSheetManager(props) {\n  var _useState = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useState\"])(props.stylisPlugins),\n      plugins = _useState[0],\n      setPlugins = _useState[1];\n\n  var contextStyleSheet = useStyleSheet();\n  var styleSheet = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useMemo\"])(function () {\n    var sheet = contextStyleSheet;\n\n    if (props.sheet) {\n      // eslint-disable-next-line prefer-destructuring\n      sheet = props.sheet;\n    } else if (props.target) {\n      sheet = sheet.reconstructWithOptions({\n        target: props.target\n      });\n    }\n\n    if (props.disableCSSOMInjection) {\n      sheet = sheet.reconstructWithOptions({\n        useCSSOMInjection: false\n      });\n    }\n\n    return sheet;\n  }, [props.disableCSSOMInjection, props.sheet, props.target]);\n  var stylis = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useMemo\"])(function () {\n    return createStylisInstance({\n      options: {\n        prefix: !props.disableVendorPrefixes\n      },\n      plugins: plugins\n    });\n  }, [props.disableVendorPrefixes, plugins]);\n  Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(function () {\n    if (!shallowequal__WEBPACK_IMPORTED_MODULE_2___default()(plugins, props.stylisPlugins)) setPlugins(props.stylisPlugins);\n  }, [props.stylisPlugins]);\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(StyleSheetContext.Provider, {\n    value: styleSheet\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(StylisContext.Provider, {\n    value: stylis\n  },  false ? undefined : props.children));\n}\n\n// \n\nvar Keyframes = /*#__PURE__*/function () {\n  function Keyframes(name, stringifyArgs) {\n    var _this = this;\n\n    this.inject = function (styleSheet) {\n      if (!styleSheet.hasNameForId(_this.id, _this.name)) {\n        styleSheet.insertRules(_this.id, _this.name, masterStylis.apply(void 0, _this.stringifyArgs));\n      }\n    };\n\n    this.toString = function () {\n      return throwStyledComponentsError(12, String(_this.name));\n    };\n\n    this.name = name;\n    this.id = \"sc-keyframes-\" + name;\n    this.stringifyArgs = stringifyArgs;\n  }\n\n  var _proto = Keyframes.prototype;\n\n  _proto.getName = function getName() {\n    return this.name;\n  };\n\n  return Keyframes;\n}();\n\n// \n\n/**\n * inlined version of\n * https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/hyphenateStyleName.js\n */\nvar uppercasePattern = /([A-Z])/g;\nvar msPattern = /^ms-/;\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n *   > hyphenateStyleName('backgroundColor')\n *   < \"background-color\"\n *   > hyphenateStyleName('MozTransition')\n *   < \"-moz-transition\"\n *   > hyphenateStyleName('msTransition')\n *   < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\n\nfunction hyphenateStyleName(string) {\n  return string.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\n}\n\n// \n\nfunction addUnitIfNeeded(name, value) {\n  // https://github.com/amilajack/eslint-plugin-flowtype-errors/issues/133\n  // $FlowFixMe\n  if (value == null || typeof value === 'boolean' || value === '') {\n    return '';\n  }\n\n  if (typeof value === 'number' && value !== 0 && !(name in _emotion_unitless__WEBPACK_IMPORTED_MODULE_4__[/* default */ \"a\"])) {\n    return value + \"px\"; // Presumes implicit 'px' suffix for unitless numbers\n  }\n\n  return String(value).trim();\n}\n\n// \n/**\n * It's falsish not falsy because 0 is allowed.\n */\n\nvar isFalsish = function isFalsish(chunk) {\n  return chunk === undefined || chunk === null || chunk === false || chunk === '';\n};\n\nvar objToCssArray = function objToCssArray(obj, prevKey) {\n  var rules = [];\n  var keys = Object.keys(obj);\n  keys.forEach(function (key) {\n    if (!isFalsish(obj[key])) {\n      if (isPlainObject(obj[key])) {\n        rules.push.apply(rules, objToCssArray(obj[key], key));\n        return rules;\n      } else if (isFunction(obj[key])) {\n        rules.push(hyphenateStyleName(key) + \":\", obj[key], ';');\n        return rules;\n      }\n\n      rules.push(hyphenateStyleName(key) + \": \" + addUnitIfNeeded(key, obj[key]) + \";\");\n    }\n\n    return rules;\n  });\n  return prevKey ? [prevKey + \" {\"].concat(rules, ['}']) : rules;\n};\nfunction flatten(chunk, executionContext, styleSheet) {\n  if (Array.isArray(chunk)) {\n    var ruleSet = [];\n\n    for (var i = 0, len = chunk.length, result; i < len; i += 1) {\n      result = flatten(chunk[i], executionContext, styleSheet);\n      if (result === '') continue;else if (Array.isArray(result)) ruleSet.push.apply(ruleSet, result);else ruleSet.push(result);\n    }\n\n    return ruleSet;\n  }\n\n  if (isFalsish(chunk)) {\n    return '';\n  }\n  /* Handle other components */\n\n\n  if (isStyledComponent(chunk)) {\n    return \".\" + chunk.styledComponentId;\n  }\n  /* Either execute or defer the function */\n\n\n  if (isFunction(chunk)) {\n    if (isStatelessFunction(chunk) && executionContext) {\n      var _result = chunk(executionContext);\n\n      if (false) {}\n\n      return flatten(_result, executionContext, styleSheet);\n    } else return chunk;\n  }\n\n  if (chunk instanceof Keyframes) {\n    if (styleSheet) {\n      chunk.inject(styleSheet);\n      return chunk.getName();\n    } else return chunk;\n  }\n  /* Handle objects */\n\n\n  return isPlainObject(chunk) ? objToCssArray(chunk) : chunk.toString();\n}\n\n// \nfunction css(styles) {\n  for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  if (isFunction(styles) || isPlainObject(styles)) {\n    // $FlowFixMe\n    return flatten(interleave(EMPTY_ARRAY, [styles].concat(interpolations)));\n  }\n\n  if (interpolations.length === 0 && styles.length === 1 && typeof styles[0] === \"string\") {\n    // $FlowFixMe\n    return styles;\n  } // $FlowFixMe\n\n\n  return flatten(interleave(styles, interpolations));\n}\n\nfunction constructWithOptions(componentConstructor, tag, options) {\n  if (options === void 0) {\n    options = EMPTY_OBJECT;\n  }\n\n  if (!Object(react_is__WEBPACK_IMPORTED_MODULE_0__[\"isValidElementType\"])(tag)) {\n    return throwStyledComponentsError(1, String(tag));\n  }\n  /* This is callable directly as a template function */\n  // $FlowFixMe: Not typed to avoid destructuring arguments\n\n\n  var templateFunction = function templateFunction() {\n    return componentConstructor(tag, options, css.apply(void 0, arguments));\n  };\n  /* If config methods are called, wrap up a new template function and merge options */\n\n\n  templateFunction.withConfig = function (config) {\n    return constructWithOptions(componentConstructor, tag, _extends({}, options, {}, config));\n  };\n  /* Modify/inject new props at runtime */\n\n\n  templateFunction.attrs = function (attrs) {\n    return constructWithOptions(componentConstructor, tag, _extends({}, options, {\n      attrs: Array.prototype.concat(options.attrs, attrs).filter(Boolean)\n    }));\n  };\n\n  return templateFunction;\n}\n\n/* eslint-disable */\n\n/**\n  mixin-deep; https://github.com/jonschlinkert/mixin-deep\n  Inlined such that it will be consistently transpiled to an IE-compatible syntax.\n\n  The MIT License (MIT)\n\n  Copyright (c) 2014-present, Jon Schlinkert.\n\n  Permission is hereby granted, free of charge, to any person obtaining a copy\n  of this software and associated documentation files (the \"Software\"), to deal\n  in the Software without restriction, including without limitation the rights\n  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n  copies of the Software, and to permit persons to whom the Software is\n  furnished to do so, subject to the following conditions:\n\n  The above copyright notice and this permission notice shall be included in\n  all copies or substantial portions of the Software.\n\n  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n  THE SOFTWARE.\n*/\nvar isObject = function isObject(val) {\n  return typeof val === 'function' || typeof val === 'object' && val !== null && !Array.isArray(val);\n};\n\nvar isValidKey = function isValidKey(key) {\n  return key !== '__proto__' && key !== 'constructor' && key !== 'prototype';\n};\n\nfunction mixin(target, val, key) {\n  var obj = target[key];\n\n  if (isObject(val) && isObject(obj)) {\n    mixinDeep(obj, val);\n  } else {\n    target[key] = val;\n  }\n}\n\nfunction mixinDeep(target) {\n  for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    rest[_key - 1] = arguments[_key];\n  }\n\n  for (var _i = 0, _rest = rest; _i < _rest.length; _i++) {\n    var obj = _rest[_i];\n\n    if (isObject(obj)) {\n      for (var key in obj) {\n        if (isValidKey(key)) {\n          mixin(target, obj[key], key);\n        }\n      }\n    }\n  }\n\n  return target;\n}\n\n// \n\n/* eslint-disable no-bitwise */\nvar AD_REPLACER_R = /(a)(d)/gi;\n/* This is the \"capacity\" of our alphabet i.e. 2x26 for all letters plus their capitalised\n * counterparts */\n\nvar charsLength = 52;\n/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */\n\nvar getAlphabeticChar = function getAlphabeticChar(code) {\n  return String.fromCharCode(code + (code > 25 ? 39 : 97));\n};\n/* input a number, usually a hash and convert it to base-52 */\n\n\nfunction generateAlphabeticName(code) {\n  var name = '';\n  var x;\n  /* get a char and divide by alphabet-length */\n\n  for (x = Math.abs(code); x > charsLength; x = x / charsLength | 0) {\n    name = getAlphabeticChar(x % charsLength) + name;\n  }\n\n  return (getAlphabeticChar(x % charsLength) + name).replace(AD_REPLACER_R, '$1-$2');\n}\n\n// \nfunction isStaticRules(rules) {\n  for (var i = 0; i < rules.length; i += 1) {\n    var rule = rules[i];\n\n    if (isFunction(rule) && !isStyledComponent(rule)) {\n      // functions are allowed to be static if they're just being\n      // used to get the classname of a nested styled component\n      return false;\n    }\n  }\n\n  return true;\n}\n\n// \n/*\n ComponentStyle is all the CSS-specific stuff, not\n the React-specific stuff.\n */\n\nvar ComponentStyle = /*#__PURE__*/function () {\n  function ComponentStyle(rules, componentId) {\n    this.rules = rules;\n    this.staticRulesId = '';\n    this.isStatic =  true && isStaticRules(rules);\n    this.componentId = componentId;\n    this.baseHash = hash(componentId); // NOTE: This registers the componentId, which ensures a consistent order\n    // for this component's styles compared to others\n\n    StyleSheet.registerId(componentId);\n  }\n  /*\n   * Flattens a rule set into valid CSS\n   * Hashes it, wraps the whole chunk in a .hash1234 {}\n   * Returns the hash to be injected on render()\n   * */\n\n\n  var _proto = ComponentStyle.prototype;\n\n  _proto.generateAndInjectStyles = function generateAndInjectStyles(executionContext, styleSheet, stylis) {\n    var componentId = this.componentId; // force dynamic classnames if user-supplied stylis plugins are in use\n\n    if (this.isStatic && !stylis.hash) {\n      if (this.staticRulesId && styleSheet.hasNameForId(componentId, this.staticRulesId)) {\n        return this.staticRulesId;\n      }\n\n      var cssStatic = flatten(this.rules, executionContext, styleSheet).join('');\n      var name = generateAlphabeticName(phash(this.baseHash, cssStatic.length) >>> 0);\n\n      if (!styleSheet.hasNameForId(componentId, name)) {\n        var cssStaticFormatted = stylis(cssStatic, \".\" + name, undefined, componentId);\n        styleSheet.insertRules(componentId, name, cssStaticFormatted);\n      }\n\n      this.staticRulesId = name;\n      return name;\n    } else {\n      var length = this.rules.length;\n      var dynamicHash = phash(this.baseHash, stylis.hash);\n      var css = '';\n\n      for (var i = 0; i < length; i++) {\n        var partRule = this.rules[i];\n\n        if (typeof partRule === 'string') {\n          css += partRule;\n          if (false) {}\n        } else {\n          var partChunk = flatten(partRule, executionContext, styleSheet);\n          var partString = Array.isArray(partChunk) ? partChunk.join('') : partChunk;\n          dynamicHash = phash(dynamicHash, partString + i);\n          css += partString;\n        }\n      }\n\n      var _name = generateAlphabeticName(dynamicHash >>> 0);\n\n      if (!styleSheet.hasNameForId(componentId, _name)) {\n        var cssFormatted = stylis(css, \".\" + _name, undefined, componentId);\n        styleSheet.insertRules(componentId, _name, cssFormatted);\n      }\n\n      return _name;\n    }\n  };\n\n  return ComponentStyle;\n}();\n\n// \nvar LIMIT = 200;\nvar createWarnTooManyClasses = (function (displayName, componentId) {\n  var generatedClasses = {};\n  var warningSeen = false;\n  return function (className) {\n    if (!warningSeen) {\n      generatedClasses[className] = true;\n\n      if (Object.keys(generatedClasses).length >= LIMIT) {\n        // Unable to find latestRule in test environment.\n\n        /* eslint-disable no-console, prefer-template */\n        var parsedIdString = componentId ? \" with the id of \\\"\" + componentId + \"\\\"\" : '';\n        console.warn(\"Over \" + LIMIT + \" classes were generated for component \" + displayName + parsedIdString + \".\\n\" + 'Consider using the attrs method, together with a style object for frequently changed styles.\\n' + 'Example:\\n' + '  const Component = styled.div.attrs(props => ({\\n' + '    style: {\\n' + '      background: props.background,\\n' + '    },\\n' + '  }))`width: 100%;`\\n\\n' + '  <Component />');\n        warningSeen = true;\n        generatedClasses = {};\n      }\n    }\n  };\n});\n\n// \nvar invalidHookCallRe = /invalid hook call/i;\nvar seen = new Set();\nvar checkDynamicCreation = function checkDynamicCreation(displayName, componentId) {\n  if (false) { var message, parsedIdString; }\n};\n\n// \nvar determineTheme = (function (props, providedTheme, defaultProps) {\n  if (defaultProps === void 0) {\n    defaultProps = EMPTY_OBJECT;\n  }\n\n  return props.theme !== defaultProps.theme && props.theme || providedTheme || defaultProps.theme;\n});\n\n// \n// Source: https://www.w3.org/TR/cssom-1/#serialize-an-identifier\n// Control characters and non-letter first symbols are not supported\nvar escapeRegex = /[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g;\nvar dashesAtEnds = /(^-|-$)/g;\n/**\n * TODO: Explore using CSS.escape when it becomes more available\n * in evergreen browsers.\n */\n\nfunction escape(str) {\n  return str // Replace all possible CSS selectors\n  .replace(escapeRegex, '-') // Remove extraneous hyphens at the start and end\n  .replace(dashesAtEnds, '');\n}\n\n// \nfunction isTag(target) {\n  return typeof target === 'string' && ( false ? undefined : true);\n}\n\n// \nfunction generateDisplayName(target) {\n  // $FlowFixMe\n  return isTag(target) ? \"styled.\" + target : \"Styled(\" + getComponentName(target) + \")\";\n}\n\n// \nvar generateComponentId = (function (str) {\n  return generateAlphabeticName(hash(str) >>> 0);\n});\n\n/**\n * Convenience function for joining strings to form className chains\n */\nfunction joinStrings(a, b) {\n  return a && b ? a + \" \" + b : a || b;\n}\n\nvar ThemeContext = react__WEBPACK_IMPORTED_MODULE_1___default.a.createContext();\nvar ThemeConsumer = ThemeContext.Consumer;\n\nfunction mergeTheme(theme, outerTheme) {\n  if (!theme) {\n    return throwStyledComponentsError(14);\n  }\n\n  if (isFunction(theme)) {\n    var mergedTheme = theme(outerTheme);\n\n    if (false) {}\n\n    return mergedTheme;\n  }\n\n  if (Array.isArray(theme) || typeof theme !== 'object') {\n    return throwStyledComponentsError(8);\n  }\n\n  return outerTheme ? _extends({}, outerTheme, {}, theme) : theme;\n}\n/**\n * Provide a theme to an entire react component tree via context\n */\n\n\nfunction ThemeProvider(props) {\n  var outerTheme = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useContext\"])(ThemeContext);\n  var themeContext = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useMemo\"])(function () {\n    return mergeTheme(props.theme, outerTheme);\n  }, [props.theme, outerTheme]);\n\n  if (!props.children) {\n    return null;\n  }\n\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(ThemeContext.Provider, {\n    value: themeContext\n  }, props.children);\n}\n\n/* global $Call */\n\nvar identifiers = {};\n/* We depend on components having unique IDs */\n\nfunction generateId(displayName, parentComponentId) {\n  var name = typeof displayName !== 'string' ? 'sc' : escape(displayName); // Ensure that no displayName can lead to duplicate componentIds\n\n  identifiers[name] = (identifiers[name] || 0) + 1;\n  var componentId = name + \"-\" + generateComponentId(name + identifiers[name]);\n  return parentComponentId ? parentComponentId + \"-\" + componentId : componentId;\n}\n\nfunction useResolvedAttrs(theme, props, attrs) {\n  if (theme === void 0) {\n    theme = EMPTY_OBJECT;\n  }\n\n  // NOTE: can't memoize this\n  // returns [context, resolvedAttrs]\n  // where resolvedAttrs is only the things injected by the attrs themselves\n  var context = _extends({}, props, {\n    theme: theme\n  });\n\n  var resolvedAttrs = {};\n  attrs.forEach(function (attrDef) {\n    var resolvedAttrDef = attrDef;\n    var key;\n\n    if (isFunction(resolvedAttrDef)) {\n      resolvedAttrDef = resolvedAttrDef(context);\n    }\n    /* eslint-disable guard-for-in */\n\n\n    for (key in resolvedAttrDef) {\n      context[key] = resolvedAttrs[key] = key === 'className' ? joinStrings(resolvedAttrs[key], resolvedAttrDef[key]) : resolvedAttrDef[key];\n    }\n    /* eslint-enable guard-for-in */\n\n  });\n  return [context, resolvedAttrs];\n}\n\nfunction useInjectedStyle(componentStyle, hasAttrs, resolvedAttrs, warnTooManyClasses) {\n  var styleSheet = useStyleSheet();\n  var stylis = useStylis(); // statically styled-components don't need to build an execution context object,\n  // and shouldn't be increasing the number of class names\n\n  var isStatic = componentStyle.isStatic && !hasAttrs;\n  var className = isStatic ? componentStyle.generateAndInjectStyles(EMPTY_OBJECT, styleSheet, stylis) : componentStyle.generateAndInjectStyles(resolvedAttrs, styleSheet, stylis);\n  Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useDebugValue\"])(className);\n\n  if (false) {}\n\n  return className;\n}\n\nfunction useStyledComponentImpl(forwardedComponent, props, forwardedRef) {\n  var componentAttrs = forwardedComponent.attrs,\n      componentStyle = forwardedComponent.componentStyle,\n      defaultProps = forwardedComponent.defaultProps,\n      foldedComponentIds = forwardedComponent.foldedComponentIds,\n      shouldForwardProp = forwardedComponent.shouldForwardProp,\n      styledComponentId = forwardedComponent.styledComponentId,\n      target = forwardedComponent.target;\n  Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useDebugValue\"])(styledComponentId); // NOTE: the non-hooks version only subscribes to this when !componentStyle.isStatic,\n  // but that'd be against the rules-of-hooks. We could be naughty and do it anyway as it\n  // should be an immutable value, but behave for now.\n\n  var theme = determineTheme(props, Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useContext\"])(ThemeContext), defaultProps);\n\n  var _useResolvedAttrs = useResolvedAttrs(theme || EMPTY_OBJECT, props, componentAttrs),\n      context = _useResolvedAttrs[0],\n      attrs = _useResolvedAttrs[1];\n\n  var generatedClassName = useInjectedStyle(componentStyle, componentAttrs.length > 0, context,  false ? undefined : undefined);\n  var refToForward = forwardedRef;\n  var elementToBeCreated = attrs.$as || props.$as || attrs.as || props.as || target;\n  var isTargetTag = isTag(elementToBeCreated);\n  var computedProps = attrs !== props ? _extends({}, props, {}, attrs) : props;\n  var propFilterFn = shouldForwardProp || isTargetTag && _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"];\n  var propsForElement = {}; // eslint-disable-next-line guard-for-in\n\n  for (var key in computedProps) {\n    if (key[0] === '$' || key === 'as') continue;else if (key === 'forwardedAs') {\n      propsForElement.as = computedProps[key];\n    } else if (!propFilterFn || propFilterFn(key, _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"])) {\n      // Don't pass through non HTML tags through to HTML elements\n      propsForElement[key] = computedProps[key];\n    }\n  }\n\n  if (props.style && attrs.style !== props.style) {\n    propsForElement.style = _extends({}, props.style, {}, attrs.style);\n  }\n\n  propsForElement.className = Array.prototype.concat(foldedComponentIds, styledComponentId, generatedClassName !== styledComponentId ? generatedClassName : null, props.className, attrs.className).filter(Boolean).join(' ');\n  propsForElement.ref = refToForward;\n  return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"createElement\"])(elementToBeCreated, propsForElement);\n}\n\nfunction createStyledComponent(target, options, rules) {\n  var isTargetStyledComp = isStyledComponent(target);\n  var isCompositeComponent = !isTag(target);\n  var _options$displayName = options.displayName,\n      displayName = _options$displayName === void 0 ? generateDisplayName(target) : _options$displayName,\n      _options$componentId = options.componentId,\n      componentId = _options$componentId === void 0 ? generateId(options.displayName, options.parentComponentId) : _options$componentId,\n      _options$attrs = options.attrs,\n      attrs = _options$attrs === void 0 ? EMPTY_ARRAY : _options$attrs;\n  var styledComponentId = options.displayName && options.componentId ? escape(options.displayName) + \"-\" + options.componentId : options.componentId || componentId; // fold the underlying StyledComponent attrs up (implicit extend)\n\n  var finalAttrs = // $FlowFixMe\n  isTargetStyledComp && target.attrs ? Array.prototype.concat(target.attrs, attrs).filter(Boolean) : attrs; // eslint-disable-next-line prefer-destructuring\n\n  var shouldForwardProp = options.shouldForwardProp; // $FlowFixMe\n\n  if (isTargetStyledComp && target.shouldForwardProp) {\n    if (shouldForwardProp) {\n      // compose nested shouldForwardProp calls\n      shouldForwardProp = function shouldForwardProp(prop, filterFn) {\n        return (// $FlowFixMe\n          target.shouldForwardProp(prop, filterFn) && options.shouldForwardProp(prop, filterFn)\n        );\n      };\n    } else {\n      // eslint-disable-next-line prefer-destructuring\n      shouldForwardProp = target.shouldForwardProp;\n    }\n  }\n\n  var componentStyle = new ComponentStyle(isTargetStyledComp ? // fold the underlying StyledComponent rules up (implicit extend)\n  // $FlowFixMe\n  target.componentStyle.rules.concat(rules) : rules, styledComponentId);\n  /**\n   * forwardRef creates a new interim component, which we'll take advantage of\n   * instead of extending ParentComponent to create _another_ interim class\n   */\n\n  var WrappedStyledComponent; // eslint-disable-next-line react-hooks/rules-of-hooks\n\n  var forwardRef = function forwardRef(props, ref) {\n    return useStyledComponentImpl(WrappedStyledComponent, props, ref);\n  };\n\n  forwardRef.displayName = displayName; // $FlowFixMe this is a forced cast to merge it StyledComponentWrapperProperties\n\n  WrappedStyledComponent = react__WEBPACK_IMPORTED_MODULE_1___default.a.forwardRef(forwardRef);\n  WrappedStyledComponent.attrs = finalAttrs;\n  WrappedStyledComponent.componentStyle = componentStyle;\n  WrappedStyledComponent.displayName = displayName;\n  WrappedStyledComponent.shouldForwardProp = shouldForwardProp; // this static is used to preserve the cascade of static classes for component selector\n  // purposes; this is especially important with usage of the css prop\n\n  WrappedStyledComponent.foldedComponentIds = isTargetStyledComp ? // $FlowFixMe\n  Array.prototype.concat(target.foldedComponentIds, target.styledComponentId) : EMPTY_ARRAY;\n  WrappedStyledComponent.styledComponentId = styledComponentId; // fold the underlying StyledComponent target up since we folded the styles\n\n  WrappedStyledComponent.target = isTargetStyledComp ? // $FlowFixMe\n  target.target : target; // $FlowFixMe\n\n  WrappedStyledComponent.withComponent = function withComponent(tag) {\n    var previousComponentId = options.componentId,\n        optionsToCopy = _objectWithoutPropertiesLoose(options, [\"componentId\"]);\n\n    var newComponentId = previousComponentId && previousComponentId + \"-\" + (isTag(tag) ? tag : escape(getComponentName(tag)));\n\n    var newOptions = _extends({}, optionsToCopy, {\n      attrs: finalAttrs,\n      componentId: newComponentId\n    });\n\n    return createStyledComponent(tag, newOptions, rules);\n  }; // $FlowFixMe\n\n\n  Object.defineProperty(WrappedStyledComponent, 'defaultProps', {\n    get: function get() {\n      return this._foldedDefaultProps;\n    },\n    set: function set(obj) {\n      // $FlowFixMe\n      this._foldedDefaultProps = isTargetStyledComp ? mixinDeep({}, target.defaultProps, obj) : obj;\n    }\n  });\n\n  if (false) {} // $FlowFixMe\n\n\n  WrappedStyledComponent.toString = function () {\n    return \".\" + WrappedStyledComponent.styledComponentId;\n  };\n\n  if (isCompositeComponent) {\n    hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default()(WrappedStyledComponent, target, {\n      // all SC-specific things should not be hoisted\n      attrs: true,\n      componentStyle: true,\n      displayName: true,\n      foldedComponentIds: true,\n      shouldForwardProp: true,\n      self: true,\n      styledComponentId: true,\n      target: true,\n      withComponent: true\n    });\n  }\n\n  return WrappedStyledComponent;\n}\n\n// \n// Thanks to ReactDOMFactories for this handy list!\nvar domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'marker', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\n// \n\nvar styled = function styled(tag) {\n  return constructWithOptions(createStyledComponent, tag);\n}; // Shorthands for all valid HTML Elements\n\n\ndomElements.forEach(function (domElement) {\n  styled[domElement] = styled(domElement);\n});\n\n// \n\nvar GlobalStyle = /*#__PURE__*/function () {\n  function GlobalStyle(rules, componentId) {\n    this.rules = rules;\n    this.componentId = componentId;\n    this.isStatic = isStaticRules(rules);\n  }\n\n  var _proto = GlobalStyle.prototype;\n\n  _proto.createStyles = function createStyles(instance, executionContext, styleSheet, stylis) {\n    var flatCSS = flatten(this.rules, executionContext, styleSheet);\n    var css = stylis(flatCSS.join(''), '');\n    var id = this.componentId + instance; // NOTE: We use the id as a name as well, since these rules never change\n\n    styleSheet.insertRules(id, id, css);\n  };\n\n  _proto.removeStyles = function removeStyles(instance, styleSheet) {\n    styleSheet.clearRules(this.componentId + instance);\n  };\n\n  _proto.renderStyles = function renderStyles(instance, executionContext, styleSheet, stylis) {\n    StyleSheet.registerId(this.componentId + instance); // NOTE: Remove old styles, then inject the new ones\n\n    this.removeStyles(instance, styleSheet);\n    this.createStyles(instance, executionContext, styleSheet, stylis);\n  };\n\n  return GlobalStyle;\n}();\n\nfunction createGlobalStyle(strings) {\n  for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  var rules = css.apply(void 0, [strings].concat(interpolations));\n  var styledComponentId = \"sc-global-\" + generateComponentId(JSON.stringify(rules));\n  var globalStyle = new GlobalStyle(rules, styledComponentId);\n\n  if (false) {}\n\n  function GlobalStyleComponent(props) {\n    var styleSheet = useStyleSheet();\n    var stylis = useStylis();\n    var theme = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useContext\"])(ThemeContext);\n    var instanceRef = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useRef\"])(null);\n\n    if (instanceRef.current === null) {\n      instanceRef.current = styleSheet.allocateGSInstance(styledComponentId);\n    }\n\n    var instance = instanceRef.current;\n\n    if (false) {}\n\n    if (false) {}\n\n    if (globalStyle.isStatic) {\n      globalStyle.renderStyles(instance, STATIC_EXECUTION_CONTEXT, styleSheet, stylis);\n    } else {\n      var context = _extends({}, props, {\n        theme: determineTheme(props, theme, GlobalStyleComponent.defaultProps)\n      });\n\n      globalStyle.renderStyles(instance, context, styleSheet, stylis);\n    }\n\n    Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useEffect\"])(function () {\n      return function () {\n        return globalStyle.removeStyles(instance, styleSheet);\n      };\n    }, EMPTY_ARRAY);\n    return null;\n  } // $FlowFixMe\n\n\n  return react__WEBPACK_IMPORTED_MODULE_1___default.a.memo(GlobalStyleComponent);\n}\n\n// \nfunction keyframes(strings) {\n  /* Warning if you've used keyframes on React Native */\n  if (false) {}\n\n  for (var _len = arguments.length, interpolations = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    interpolations[_key - 1] = arguments[_key];\n  }\n\n  var rules = css.apply(void 0, [strings].concat(interpolations)).join('');\n  var name = generateComponentId(rules);\n  return new Keyframes(name, [rules, name, '@keyframes']);\n}\n\nvar ServerStyleSheet = /*#__PURE__*/function () {\n  function ServerStyleSheet() {\n    var _this = this;\n\n    this._emitSheetCSS = function () {\n      var css = _this.instance.toString();\n\n      var nonce = getNonce();\n      var attrs = [nonce && \"nonce=\\\"\" + nonce + \"\\\"\", SC_ATTR + \"=\\\"true\\\"\", SC_ATTR_VERSION + \"=\\\"\" + SC_VERSION + \"\\\"\"];\n      var htmlAttr = attrs.filter(Boolean).join(' ');\n      return \"<style \" + htmlAttr + \">\" + css + \"</style>\";\n    };\n\n    this.getStyleTags = function () {\n      if (_this.sealed) {\n        return throwStyledComponentsError(2);\n      }\n\n      return _this._emitSheetCSS();\n    };\n\n    this.getStyleElement = function () {\n      var _props;\n\n      if (_this.sealed) {\n        return throwStyledComponentsError(2);\n      }\n\n      var props = (_props = {}, _props[SC_ATTR] = '', _props[SC_ATTR_VERSION] = SC_VERSION, _props.dangerouslySetInnerHTML = {\n        __html: _this.instance.toString()\n      }, _props);\n      var nonce = getNonce();\n\n      if (nonce) {\n        props.nonce = nonce;\n      } // v4 returned an array for this fn, so we'll do the same for v5 for backward compat\n\n\n      return [/*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(\"style\", _extends({}, props, {\n        key: \"sc-0-0\"\n      }))];\n    };\n\n    this.seal = function () {\n      _this.sealed = true;\n    };\n\n    this.instance = new StyleSheet({\n      isServer: true\n    });\n    this.sealed = false;\n  }\n\n  var _proto = ServerStyleSheet.prototype;\n\n  _proto.collectStyles = function collectStyles(children) {\n    if (this.sealed) {\n      return throwStyledComponentsError(2);\n    }\n\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(StyleSheetManager, {\n      sheet: this.instance\n    }, children);\n  };\n\n  // eslint-disable-next-line consistent-return\n  _proto.interleaveWithNodeStream = function interleaveWithNodeStream(input) {\n    {\n      return throwStyledComponentsError(3);\n    }\n  };\n\n  return ServerStyleSheet;\n}();\n\n// export default <Config: { theme?: any }, Instance>(\n//  Component: AbstractComponent<Config, Instance>\n// ): AbstractComponent<$Diff<Config, { theme?: any }> & { theme?: any }, Instance>\n//\n// but the old build system tooling doesn't support the syntax\n\nvar withTheme = (function (Component) {\n  // $FlowFixMe This should be React.forwardRef<Config, Instance>\n  var WithTheme = react__WEBPACK_IMPORTED_MODULE_1___default.a.forwardRef(function (props, ref) {\n    var theme = Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useContext\"])(ThemeContext); // $FlowFixMe defaultProps isn't declared so it can be inferrable\n\n    var defaultProps = Component.defaultProps;\n    var themeProp = determineTheme(props, theme, defaultProps);\n\n    if (false) {}\n\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(Component, _extends({}, props, {\n      theme: themeProp,\n      ref: ref\n    }));\n  });\n  hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_6___default()(WithTheme, Component);\n  WithTheme.displayName = \"WithTheme(\" + getComponentName(Component) + \")\";\n  return WithTheme;\n});\n\n// \n\nvar useTheme = function useTheme() {\n  return Object(react__WEBPACK_IMPORTED_MODULE_1__[\"useContext\"])(ThemeContext);\n};\n\n// \nvar __PRIVATE__ = {\n  StyleSheet: StyleSheet,\n  masterSheet: masterSheet\n};\n\n// \n/* Define bundle version for export */\n\nvar version = \"5.1.1\";\n/* Warning if you've imported this file on React Native */\n\nif (false) {}\n/* Warning if there are several instances of styled-components */\n\n\nif (false) {}\n\n/* harmony default export */ __webpack_exports__[\"c\"] = (styled);\n\n//# sourceMappingURL=styled-components.browser.esm.js.map\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(21)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9zdHlsZWQtY29tcG9uZW50cy9kaXN0L3N0eWxlZC1jb21wb25lbnRzLmJyb3dzZXIuZXNtLmpzP2JjZTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZU9mLCBpc0VsZW1lbnQsIGlzVmFsaWRFbGVtZW50VHlwZSB9IGZyb20gJ3JlYWN0LWlzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlQ29udGV4dCwgdXNlTWVtbywgdXNlRWZmZWN0LCB1c2VSZWYsIGNyZWF0ZUVsZW1lbnQsIHVzZURlYnVnVmFsdWUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc2hhbGxvd2VxdWFsIGZyb20gJ3NoYWxsb3dlcXVhbCc7XG5pbXBvcnQgU3R5bGlzIGZyb20gJ0BlbW90aW9uL3N0eWxpcyc7XG5pbXBvcnQgdW5pdGxlc3MgZnJvbSAnQGVtb3Rpb24vdW5pdGxlc3MnO1xuaW1wb3J0IHZhbGlkQXR0ciBmcm9tICdAZW1vdGlvbi9pcy1wcm9wLXZhbGlkJztcbmltcG9ydCBob2lzdCBmcm9tICdob2lzdC1ub24tcmVhY3Qtc3RhdGljcyc7XG5cbmZ1bmN0aW9uIF9leHRlbmRzKCkge1xuICBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkge1xuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldO1xuXG4gICAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG5cbiAgcmV0dXJuIF9leHRlbmRzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG59XG5cbmZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHNvdXJjZSwgZXhjbHVkZWQpIHtcbiAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4ge307XG4gIHZhciB0YXJnZXQgPSB7fTtcbiAgdmFyIHNvdXJjZUtleXMgPSBPYmplY3Qua2V5cyhzb3VyY2UpO1xuICB2YXIga2V5LCBpO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBzb3VyY2VLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAga2V5ID0gc291cmNlS2V5c1tpXTtcbiAgICBpZiAoZXhjbHVkZWQuaW5kZXhPZihrZXkpID49IDApIGNvbnRpbnVlO1xuICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG4vLyBcbnZhciBpbnRlcmxlYXZlID0gKGZ1bmN0aW9uIChzdHJpbmdzLCBpbnRlcnBvbGF0aW9ucykge1xuICB2YXIgcmVzdWx0ID0gW3N0cmluZ3NbMF1dO1xuXG4gIGZvciAodmFyIGkgPSAwLCBsZW4gPSBpbnRlcnBvbGF0aW9ucy5sZW5ndGg7IGkgPCBsZW47IGkgKz0gMSkge1xuICAgIHJlc3VsdC5wdXNoKGludGVycG9sYXRpb25zW2ldLCBzdHJpbmdzW2kgKyAxXSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufSk7XG5cbi8vIFxudmFyIGlzUGxhaW5PYmplY3QgPSAoZnVuY3Rpb24gKHgpIHtcbiAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09ICdvYmplY3QnICYmICh4LnRvU3RyaW5nID8geC50b1N0cmluZygpIDogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgpKSA9PT0gJ1tvYmplY3QgT2JqZWN0XScgJiYgIXR5cGVPZih4KTtcbn0pO1xuXG4vLyBcbnZhciBFTVBUWV9BUlJBWSA9IE9iamVjdC5mcmVlemUoW10pO1xudmFyIEVNUFRZX09CSkVDVCA9IE9iamVjdC5mcmVlemUoe30pO1xuXG4vLyBcbmZ1bmN0aW9uIGlzRnVuY3Rpb24odGVzdCkge1xuICByZXR1cm4gdHlwZW9mIHRlc3QgPT09ICdmdW5jdGlvbic7XG59XG5cbi8vIFxuZnVuY3Rpb24gZ2V0Q29tcG9uZW50TmFtZSh0YXJnZXQpIHtcbiAgcmV0dXJuIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nID8gdHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycgJiYgdGFyZ2V0IDogZmFsc2UpIHx8IC8vICRGbG93Rml4TWVcbiAgdGFyZ2V0LmRpc3BsYXlOYW1lIHx8IC8vICRGbG93Rml4TWVcbiAgdGFyZ2V0Lm5hbWUgfHwgJ0NvbXBvbmVudCc7XG59XG5cbi8vIFxuZnVuY3Rpb24gaXNTdGF0ZWxlc3NGdW5jdGlvbih0ZXN0KSB7XG4gIHJldHVybiB0eXBlb2YgdGVzdCA9PT0gJ2Z1bmN0aW9uJyAmJiAhKHRlc3QucHJvdG90eXBlICYmIHRlc3QucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQpO1xufVxuXG4vLyBcbmZ1bmN0aW9uIGlzU3R5bGVkQ29tcG9uZW50KHRhcmdldCkge1xuICByZXR1cm4gdGFyZ2V0ICYmIHR5cGVvZiB0YXJnZXQuc3R5bGVkQ29tcG9uZW50SWQgPT09ICdzdHJpbmcnO1xufVxuXG4vLyBcbnZhciBTQ19BVFRSID0gdHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmIChwcm9jZXNzLmVudi5SRUFDVF9BUFBfU0NfQVRUUiB8fCBwcm9jZXNzLmVudi5TQ19BVFRSKSB8fCAnZGF0YS1zdHlsZWQnO1xudmFyIFNDX0FUVFJfQUNUSVZFID0gJ2FjdGl2ZSc7XG52YXIgU0NfQVRUUl9WRVJTSU9OID0gJ2RhdGEtc3R5bGVkLXZlcnNpb24nO1xudmFyIFNDX1ZFUlNJT04gPSBcIjUuMS4xXCI7XG52YXIgU1BMSVRURVIgPSAnLyohc2MqL1xcbic7XG52YXIgSVNfQlJPV1NFUiA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmICdIVE1MRWxlbWVudCcgaW4gd2luZG93O1xudmFyIERJU0FCTEVfU1BFRURZID0gdHlwZW9mIFNDX0RJU0FCTEVfU1BFRURZID09PSAnYm9vbGVhbicgJiYgU0NfRElTQUJMRV9TUEVFRFkgfHwgdHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmIChwcm9jZXNzLmVudi5SRUFDVF9BUFBfU0NfRElTQUJMRV9TUEVFRFkgfHwgcHJvY2Vzcy5lbnYuU0NfRElTQUJMRV9TUEVFRFkpIHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbic7IC8vIFNoYXJlZCBlbXB0eSBleGVjdXRpb24gY29udGV4dCB3aGVuIGdlbmVyYXRpbmcgc3RhdGljIHN0eWxlc1xuXG52YXIgU1RBVElDX0VYRUNVVElPTl9DT05URVhUID0ge307XG5cbi8vIFxuXG4vKiBlc2xpbnQtZGlzYWJsZSBjYW1lbGNhc2UsIG5vLXVuZGVmICovXG52YXIgZ2V0Tm9uY2UgPSBmdW5jdGlvbiBnZXROb25jZSgpIHtcbiAgcmV0dXJuIHR5cGVvZiBfX3dlYnBhY2tfbm9uY2VfXyAhPT0gJ3VuZGVmaW5lZCcgPyBfX3dlYnBhY2tfbm9uY2VfXyA6IG51bGw7XG59O1xuXG52YXIgZXJyb3JNYXAgPSB7XG4gIFwiMVwiOiBcIkNhbm5vdCBjcmVhdGUgc3R5bGVkLWNvbXBvbmVudCBmb3IgY29tcG9uZW50OiAlcy5cXG5cXG5cIixcbiAgXCIyXCI6IFwiQ2FuJ3QgY29sbGVjdCBzdHlsZXMgb25jZSB5b3UndmUgY29uc3VtZWQgYSBgU2VydmVyU3R5bGVTaGVldGAncyBzdHlsZXMhIGBTZXJ2ZXJTdHlsZVNoZWV0YCBpcyBhIG9uZSBvZmYgaW5zdGFuY2UgZm9yIGVhY2ggc2VydmVyLXNpZGUgcmVuZGVyIGN5Y2xlLlxcblxcbi0gQXJlIHlvdSB0cnlpbmcgdG8gcmV1c2UgaXQgYWNyb3NzIHJlbmRlcnM/XFxuLSBBcmUgeW91IGFjY2lkZW50YWxseSBjYWxsaW5nIGNvbGxlY3RTdHlsZXMgdHdpY2U/XFxuXFxuXCIsXG4gIFwiM1wiOiBcIlN0cmVhbWluZyBTU1IgaXMgb25seSBzdXBwb3J0ZWQgaW4gYSBOb2RlLmpzIGVudmlyb25tZW50OyBQbGVhc2UgZG8gbm90IHRyeSB0byBjYWxsIHRoaXMgbWV0aG9kIGluIHRoZSBicm93c2VyLlxcblxcblwiLFxuICBcIjRcIjogXCJUaGUgYFN0eWxlU2hlZXRNYW5hZ2VyYCBleHBlY3RzIGEgdmFsaWQgdGFyZ2V0IG9yIHNoZWV0IHByb3AhXFxuXFxuLSBEb2VzIHRoaXMgZXJyb3Igb2NjdXIgb24gdGhlIGNsaWVudCBhbmQgaXMgeW91ciB0YXJnZXQgZmFsc3k/XFxuLSBEb2VzIHRoaXMgZXJyb3Igb2NjdXIgb24gdGhlIHNlcnZlciBhbmQgaXMgdGhlIHNoZWV0IGZhbHN5P1xcblxcblwiLFxuICBcIjVcIjogXCJUaGUgY2xvbmUgbWV0aG9kIGNhbm5vdCBiZSB1c2VkIG9uIHRoZSBjbGllbnQhXFxuXFxuLSBBcmUgeW91IHJ1bm5pbmcgaW4gYSBjbGllbnQtbGlrZSBlbnZpcm9ubWVudCBvbiB0aGUgc2VydmVyP1xcbi0gQXJlIHlvdSB0cnlpbmcgdG8gcnVuIFNTUiBvbiB0aGUgY2xpZW50P1xcblxcblwiLFxuICBcIjZcIjogXCJUcnlpbmcgdG8gaW5zZXJ0IGEgbmV3IHN0eWxlIHRhZywgYnV0IHRoZSBnaXZlbiBOb2RlIGlzIHVubW91bnRlZCFcXG5cXG4tIEFyZSB5b3UgdXNpbmcgYSBjdXN0b20gdGFyZ2V0IHRoYXQgaXNuJ3QgbW91bnRlZD9cXG4tIERvZXMgeW91ciBkb2N1bWVudCBub3QgaGF2ZSBhIHZhbGlkIGhlYWQgZWxlbWVudD9cXG4tIEhhdmUgeW91IGFjY2lkZW50YWxseSByZW1vdmVkIGEgc3R5bGUgdGFnIG1hbnVhbGx5P1xcblxcblwiLFxuICBcIjdcIjogXCJUaGVtZVByb3ZpZGVyOiBQbGVhc2UgcmV0dXJuIGFuIG9iamVjdCBmcm9tIHlvdXIgXFxcInRoZW1lXFxcIiBwcm9wIGZ1bmN0aW9uLCBlLmcuXFxuXFxuYGBganNcXG50aGVtZT17KCkgPT4gKHt9KX1cXG5gYGBcXG5cXG5cIixcbiAgXCI4XCI6IFwiVGhlbWVQcm92aWRlcjogUGxlYXNlIG1ha2UgeW91ciBcXFwidGhlbWVcXFwiIHByb3AgYW4gb2JqZWN0LlxcblxcblwiLFxuICBcIjlcIjogXCJNaXNzaW5nIGRvY3VtZW50IGA8aGVhZD5gXFxuXFxuXCIsXG4gIFwiMTBcIjogXCJDYW5ub3QgZmluZCBhIFN0eWxlU2hlZXQgaW5zdGFuY2UuIFVzdWFsbHkgdGhpcyBoYXBwZW5zIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBjb3BpZXMgb2Ygc3R5bGVkLWNvbXBvbmVudHMgbG9hZGVkIGF0IG9uY2UuIENoZWNrIG91dCB0aGlzIGlzc3VlIGZvciBob3cgdG8gdHJvdWJsZXNob290IGFuZCBmaXggdGhlIGNvbW1vbiBjYXNlcyB3aGVyZSB0aGlzIHNpdHVhdGlvbiBjYW4gaGFwcGVuOiBodHRwczovL2dpdGh1Yi5jb20vc3R5bGVkLWNvbXBvbmVudHMvc3R5bGVkLWNvbXBvbmVudHMvaXNzdWVzLzE5NDEjaXNzdWVjb21tZW50LTQxNzg2MjAyMVxcblxcblwiLFxuICBcIjExXCI6IFwiX1RoaXMgZXJyb3Igd2FzIHJlcGxhY2VkIHdpdGggYSBkZXYtdGltZSB3YXJuaW5nLCBpdCB3aWxsIGJlIGRlbGV0ZWQgZm9yIHY0IGZpbmFsLl8gW2NyZWF0ZUdsb2JhbFN0eWxlXSByZWNlaXZlZCBjaGlsZHJlbiB3aGljaCB3aWxsIG5vdCBiZSByZW5kZXJlZC4gUGxlYXNlIHVzZSB0aGUgY29tcG9uZW50IHdpdGhvdXQgcGFzc2luZyBjaGlsZHJlbiBlbGVtZW50cy5cXG5cXG5cIixcbiAgXCIxMlwiOiBcIkl0IHNlZW1zIHlvdSBhcmUgaW50ZXJwb2xhdGluZyBhIGtleWZyYW1lIGRlY2xhcmF0aW9uICglcykgaW50byBhbiB1bnRhZ2dlZCBzdHJpbmcuIFRoaXMgd2FzIHN1cHBvcnRlZCBpbiBzdHlsZWQtY29tcG9uZW50cyB2MywgYnV0IGlzIG5vdCBsb25nZXIgc3VwcG9ydGVkIGluIHY0IGFzIGtleWZyYW1lcyBhcmUgbm93IGluamVjdGVkIG9uLWRlbWFuZC4gUGxlYXNlIHdyYXAgeW91ciBzdHJpbmcgaW4gdGhlIGNzc1xcXFxgXFxcXGAgaGVscGVyIHdoaWNoIGVuc3VyZXMgdGhlIHN0eWxlcyBhcmUgaW5qZWN0ZWQgY29ycmVjdGx5LiBTZWUgaHR0cHM6Ly93d3cuc3R5bGVkLWNvbXBvbmVudHMuY29tL2RvY3MvYXBpI2Nzc1xcblxcblwiLFxuICBcIjEzXCI6IFwiJXMgaXMgbm90IGEgc3R5bGVkIGNvbXBvbmVudCBhbmQgY2Fubm90IGJlIHJlZmVycmVkIHRvIHZpYSBjb21wb25lbnQgc2VsZWN0b3IuIFNlZSBodHRwczovL3d3dy5zdHlsZWQtY29tcG9uZW50cy5jb20vZG9jcy9hZHZhbmNlZCNyZWZlcnJpbmctdG8tb3RoZXItY29tcG9uZW50cyBmb3IgbW9yZSBkZXRhaWxzLlxcblxcblwiLFxuICBcIjE0XCI6IFwiVGhlbWVQcm92aWRlcjogXFxcInRoZW1lXFxcIiBwcm9wIGlzIHJlcXVpcmVkLlxcblxcblwiLFxuICBcIjE1XCI6IFwiQSBzdHlsaXMgcGx1Z2luIGhhcyBiZWVuIHN1cHBsaWVkIHRoYXQgaXMgbm90IG5hbWVkLiBXZSBuZWVkIGEgbmFtZSBmb3IgZWFjaCBwbHVnaW4gdG8gYmUgYWJsZSB0byBwcmV2ZW50IHN0eWxpbmcgY29sbGlzaW9ucyBiZXR3ZWVuIGRpZmZlcmVudCBzdHlsaXMgY29uZmlndXJhdGlvbnMgd2l0aGluIHRoZSBzYW1lIGFwcC4gQmVmb3JlIHlvdSBwYXNzIHlvdXIgcGx1Z2luIHRvIGA8U3R5bGVTaGVldE1hbmFnZXIgc3R5bGlzUGx1Z2lucz17W119PmAsIHBsZWFzZSBtYWtlIHN1cmUgZWFjaCBwbHVnaW4gaXMgdW5pcXVlbHktbmFtZWQsIGUuZy5cXG5cXG5gYGBqc1xcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShpbXBvcnRlZFBsdWdpbiwgJ25hbWUnLCB7IHZhbHVlOiAnc29tZS11bmlxdWUtbmFtZScgfSk7XFxuYGBgXFxuXFxuXCIsXG4gIFwiMTZcIjogXCJSZWFjaGVkIHRoZSBsaW1pdCBvZiBob3cgbWFueSBzdHlsZWQgY29tcG9uZW50cyBtYXkgYmUgY3JlYXRlZCBhdCBncm91cCAlcy5cXG5Zb3UgbWF5IG9ubHkgY3JlYXRlIHVwIHRvIDEsMDczLDc0MSw4MjQgY29tcG9uZW50cy4gSWYgeW91J3JlIGNyZWF0aW5nIGNvbXBvbmVudHMgZHluYW1pY2FsbHksXFxuYXMgZm9yIGluc3RhbmNlIGluIHlvdXIgcmVuZGVyIG1ldGhvZCB0aGVuIHlvdSBtYXkgYmUgcnVubmluZyBpbnRvIHRoaXMgbGltaXRhdGlvbi5cXG5cXG5cIixcbiAgXCIxN1wiOiBcIkNTU1N0eWxlU2hlZXQgY291bGQgbm90IGJlIGZvdW5kIG9uIEhUTUxTdHlsZUVsZW1lbnQuXFxuSGFzIHN0eWxlZC1jb21wb25lbnRzJyBzdHlsZSB0YWcgYmVlbiB1bm1vdW50ZWQgb3IgYWx0ZXJlZCBieSBhbm90aGVyIHNjcmlwdD9cXG5cIlxufTtcblxuLy8gXG52YXIgRVJST1JTID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGVycm9yTWFwIDoge307XG4vKipcbiAqIHN1cGVyIGJhc2ljIHZlcnNpb24gb2Ygc3ByaW50ZlxuICovXG5cbmZ1bmN0aW9uIGZvcm1hdCgpIHtcbiAgdmFyIGEgPSBhcmd1bWVudHMubGVuZ3RoIDw9IDAgPyB1bmRlZmluZWQgOiBhcmd1bWVudHNbMF07XG4gIHZhciBiID0gW107XG5cbiAgZm9yICh2YXIgYyA9IDEsIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGMgPCBsZW47IGMgKz0gMSkge1xuICAgIGIucHVzaChjIDwgMCB8fCBhcmd1bWVudHMubGVuZ3RoIDw9IGMgPyB1bmRlZmluZWQgOiBhcmd1bWVudHNbY10pO1xuICB9XG5cbiAgYi5mb3JFYWNoKGZ1bmN0aW9uIChkKSB7XG4gICAgYSA9IGEucmVwbGFjZSgvJVthLXpdLywgZCk7XG4gIH0pO1xuICByZXR1cm4gYTtcbn1cbi8qKlxuICogQ3JlYXRlIGFuIGVycm9yIGZpbGUgb3V0IG9mIGVycm9ycy5tZCBmb3IgZGV2ZWxvcG1lbnQgYW5kIGEgc2ltcGxlIHdlYiBsaW5rIHRvIHRoZSBmdWxsIGVycm9yc1xuICogaW4gcHJvZHVjdGlvbiBtb2RlLlxuICovXG5cblxuZnVuY3Rpb24gdGhyb3dTdHlsZWRDb21wb25lbnRzRXJyb3IoY29kZSkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgaW50ZXJwb2xhdGlvbnMgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGludGVycG9sYXRpb25zW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQW4gZXJyb3Igb2NjdXJyZWQuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc3R5bGVkLWNvbXBvbmVudHMvc3R5bGVkLWNvbXBvbmVudHMvYmxvYi9tYXN0ZXIvcGFja2FnZXMvc3R5bGVkLWNvbXBvbmVudHMvc3JjL3V0aWxzL2Vycm9ycy5tZCNcIiArIGNvZGUgKyBcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cIiArIChpbnRlcnBvbGF0aW9ucy5sZW5ndGggPiAwID8gXCIgQWRkaXRpb25hbCBhcmd1bWVudHM6IFwiICsgaW50ZXJwb2xhdGlvbnMuam9pbignLCAnKSA6ICcnKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGZvcm1hdC5hcHBseSh2b2lkIDAsIFtFUlJPUlNbY29kZV1dLmNvbmNhdChpbnRlcnBvbGF0aW9ucykpLnRyaW0oKSk7XG4gIH1cbn1cblxuLy8gXG52YXIgRUxFTUVOVF9UWVBFID0gMTtcbi8qIE5vZGUuRUxFTUVOVF9UWVBFICovXG5cbi8qKiBGaW5kIGxhc3Qgc3R5bGUgZWxlbWVudCBpZiBhbnkgaW5zaWRlIHRhcmdldCAqL1xuXG52YXIgZmluZExhc3RTdHlsZVRhZyA9IGZ1bmN0aW9uIGZpbmRMYXN0U3R5bGVUYWcodGFyZ2V0KSB7XG4gIHZhciBjaGlsZE5vZGVzID0gdGFyZ2V0LmNoaWxkTm9kZXM7XG5cbiAgZm9yICh2YXIgaSA9IGNoaWxkTm9kZXMubGVuZ3RoOyBpID49IDA7IGktLSkge1xuICAgIHZhciBjaGlsZCA9IGNoaWxkTm9kZXNbaV07XG5cbiAgICBpZiAoY2hpbGQgJiYgY2hpbGQubm9kZVR5cGUgPT09IEVMRU1FTlRfVFlQRSAmJiBjaGlsZC5oYXNBdHRyaWJ1dGUoU0NfQVRUUikpIHtcbiAgICAgIHJldHVybiBjaGlsZDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcbi8qKiBDcmVhdGUgYSBzdHlsZSBlbGVtZW50IGluc2lkZSBgdGFyZ2V0YCBvciA8aGVhZD4gYWZ0ZXIgdGhlIGxhc3QgKi9cblxuXG52YXIgbWFrZVN0eWxlVGFnID0gZnVuY3Rpb24gbWFrZVN0eWxlVGFnKHRhcmdldCkge1xuICB2YXIgaGVhZCA9IGRvY3VtZW50LmhlYWQ7XG4gIHZhciBwYXJlbnQgPSB0YXJnZXQgfHwgaGVhZDtcbiAgdmFyIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgdmFyIHByZXZTdHlsZSA9IGZpbmRMYXN0U3R5bGVUYWcocGFyZW50KTtcbiAgdmFyIG5leHRTaWJsaW5nID0gcHJldlN0eWxlICE9PSB1bmRlZmluZWQgPyBwcmV2U3R5bGUubmV4dFNpYmxpbmcgOiBudWxsO1xuICBzdHlsZS5zZXRBdHRyaWJ1dGUoU0NfQVRUUiwgU0NfQVRUUl9BQ1RJVkUpO1xuICBzdHlsZS5zZXRBdHRyaWJ1dGUoU0NfQVRUUl9WRVJTSU9OLCBTQ19WRVJTSU9OKTtcbiAgdmFyIG5vbmNlID0gZ2V0Tm9uY2UoKTtcbiAgaWYgKG5vbmNlKSBzdHlsZS5zZXRBdHRyaWJ1dGUoJ25vbmNlJywgbm9uY2UpO1xuICBwYXJlbnQuaW5zZXJ0QmVmb3JlKHN0eWxlLCBuZXh0U2libGluZyk7XG4gIHJldHVybiBzdHlsZTtcbn07XG4vKiogR2V0IHRoZSBDU1NTdHlsZVNoZWV0IGluc3RhbmNlIGZvciBhIGdpdmVuIHN0eWxlIGVsZW1lbnQgKi9cblxudmFyIGdldFNoZWV0ID0gZnVuY3Rpb24gZ2V0U2hlZXQodGFnKSB7XG4gIGlmICh0YWcuc2hlZXQpIHtcbiAgICByZXR1cm4gdGFnLnNoZWV0O1xuICB9IC8vIEF2b2lkIEZpcmVmb3ggcXVpcmsgd2hlcmUgdGhlIHN0eWxlIGVsZW1lbnQgbWlnaHQgbm90IGhhdmUgYSBzaGVldCBwcm9wZXJ0eVxuXG5cbiAgdmFyIF9kb2N1bWVudCA9IGRvY3VtZW50LFxuICAgICAgc3R5bGVTaGVldHMgPSBfZG9jdW1lbnQuc3R5bGVTaGVldHM7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBzdHlsZVNoZWV0cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICB2YXIgc2hlZXQgPSBzdHlsZVNoZWV0c1tpXTtcblxuICAgIGlmIChzaGVldC5vd25lck5vZGUgPT09IHRhZykge1xuICAgICAgcmV0dXJuIHNoZWV0O1xuICAgIH1cbiAgfVxuXG4gIHRocm93U3R5bGVkQ29tcG9uZW50c0Vycm9yKDE3KTtcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbi8vIFxuLyoqIENyZWF0ZSBhIENTU1N0eWxlU2hlZXQtbGlrZSB0YWcgZGVwZW5kaW5nIG9uIHRoZSBlbnZpcm9ubWVudCAqL1xuXG52YXIgbWFrZVRhZyA9IGZ1bmN0aW9uIG1ha2VUYWcoX3JlZikge1xuICB2YXIgaXNTZXJ2ZXIgPSBfcmVmLmlzU2VydmVyLFxuICAgICAgdXNlQ1NTT01JbmplY3Rpb24gPSBfcmVmLnVzZUNTU09NSW5qZWN0aW9uLFxuICAgICAgdGFyZ2V0ID0gX3JlZi50YXJnZXQ7XG5cbiAgaWYgKGlzU2VydmVyKSB7XG4gICAgcmV0dXJuIG5ldyBWaXJ0dWFsVGFnKHRhcmdldCk7XG4gIH0gZWxzZSBpZiAodXNlQ1NTT01JbmplY3Rpb24pIHtcbiAgICByZXR1cm4gbmV3IENTU09NVGFnKHRhcmdldCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBUZXh0VGFnKHRhcmdldCk7XG4gIH1cbn07XG52YXIgQ1NTT01UYWcgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBDU1NPTVRhZyh0YXJnZXQpIHtcbiAgICB2YXIgZWxlbWVudCA9IHRoaXMuZWxlbWVudCA9IG1ha2VTdHlsZVRhZyh0YXJnZXQpOyAvLyBBdm9pZCBFZGdlIGJ1ZyB3aGVyZSBlbXB0eSBzdHlsZSBlbGVtZW50cyBkb24ndCBjcmVhdGUgc2hlZXRzXG5cbiAgICBlbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKSk7XG4gICAgdGhpcy5zaGVldCA9IGdldFNoZWV0KGVsZW1lbnQpO1xuICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBDU1NPTVRhZy5wcm90b3R5cGU7XG5cbiAgX3Byb3RvLmluc2VydFJ1bGUgPSBmdW5jdGlvbiBpbnNlcnRSdWxlKGluZGV4LCBydWxlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuc2hlZXQuaW5zZXJ0UnVsZShydWxlLCBpbmRleCk7XG4gICAgICB0aGlzLmxlbmd0aCsrO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoX2Vycm9yKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5kZWxldGVSdWxlID0gZnVuY3Rpb24gZGVsZXRlUnVsZShpbmRleCkge1xuICAgIHRoaXMuc2hlZXQuZGVsZXRlUnVsZShpbmRleCk7XG4gICAgdGhpcy5sZW5ndGgtLTtcbiAgfTtcblxuICBfcHJvdG8uZ2V0UnVsZSA9IGZ1bmN0aW9uIGdldFJ1bGUoaW5kZXgpIHtcbiAgICB2YXIgcnVsZSA9IHRoaXMuc2hlZXQuY3NzUnVsZXNbaW5kZXhdOyAvLyBBdm9pZCBJRTExIHF1aXJrIHdoZXJlIGNzc1RleHQgaXMgaW5hY2Nlc3NpYmxlIG9uIHNvbWUgaW52YWxpZCBydWxlc1xuXG4gICAgaWYgKHJ1bGUgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgcnVsZS5jc3NUZXh0ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHJ1bGUuY3NzVGV4dDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gQ1NTT01UYWc7XG59KCk7XG4vKiogQSBUYWcgdGhhdCBlbXVsYXRlcyB0aGUgQ1NTU3R5bGVTaGVldCBBUEkgYnV0IHVzZXMgdGV4dCBub2RlcyAqL1xuXG52YXIgVGV4dFRhZyA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIFRleHRUYWcodGFyZ2V0KSB7XG4gICAgdmFyIGVsZW1lbnQgPSB0aGlzLmVsZW1lbnQgPSBtYWtlU3R5bGVUYWcodGFyZ2V0KTtcbiAgICB0aGlzLm5vZGVzID0gZWxlbWVudC5jaGlsZE5vZGVzO1xuICAgIHRoaXMubGVuZ3RoID0gMDtcbiAgfVxuXG4gIHZhciBfcHJvdG8yID0gVGV4dFRhZy5wcm90b3R5cGU7XG5cbiAgX3Byb3RvMi5pbnNlcnRSdWxlID0gZnVuY3Rpb24gaW5zZXJ0UnVsZShpbmRleCwgcnVsZSkge1xuICAgIGlmIChpbmRleCA8PSB0aGlzLmxlbmd0aCAmJiBpbmRleCA+PSAwKSB7XG4gICAgICB2YXIgbm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHJ1bGUpO1xuICAgICAgdmFyIHJlZk5vZGUgPSB0aGlzLm5vZGVzW2luZGV4XTtcbiAgICAgIHRoaXMuZWxlbWVudC5pbnNlcnRCZWZvcmUobm9kZSwgcmVmTm9kZSB8fCBudWxsKTtcbiAgICAgIHRoaXMubGVuZ3RoKys7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfTtcblxuICBfcHJvdG8yLmRlbGV0ZVJ1bGUgPSBmdW5jdGlvbiBkZWxldGVSdWxlKGluZGV4KSB7XG4gICAgdGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMubm9kZXNbaW5kZXhdKTtcbiAgICB0aGlzLmxlbmd0aC0tO1xuICB9O1xuXG4gIF9wcm90bzIuZ2V0UnVsZSA9IGZ1bmN0aW9uIGdldFJ1bGUoaW5kZXgpIHtcbiAgICBpZiAoaW5kZXggPCB0aGlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMubm9kZXNbaW5kZXhdLnRleHRDb250ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBUZXh0VGFnO1xufSgpO1xuLyoqIEEgY29tcGxldGVseSB2aXJ0dWFsIChzZXJ2ZXItc2lkZSkgVGFnIHRoYXQgZG9lc24ndCBtYW5pcHVsYXRlIHRoZSBET00gKi9cblxudmFyIFZpcnR1YWxUYWcgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBWaXJ0dWFsVGFnKF90YXJnZXQpIHtcbiAgICB0aGlzLnJ1bGVzID0gW107XG4gICAgdGhpcy5sZW5ndGggPSAwO1xuICB9XG5cbiAgdmFyIF9wcm90bzMgPSBWaXJ0dWFsVGFnLnByb3RvdHlwZTtcblxuICBfcHJvdG8zLmluc2VydFJ1bGUgPSBmdW5jdGlvbiBpbnNlcnRSdWxlKGluZGV4LCBydWxlKSB7XG4gICAgaWYgKGluZGV4IDw9IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJ1bGVzLnNwbGljZShpbmRleCwgMCwgcnVsZSk7XG4gICAgICB0aGlzLmxlbmd0aCsrO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH07XG5cbiAgX3Byb3RvMy5kZWxldGVSdWxlID0gZnVuY3Rpb24gZGVsZXRlUnVsZShpbmRleCkge1xuICAgIHRoaXMucnVsZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLmxlbmd0aC0tO1xuICB9O1xuXG4gIF9wcm90bzMuZ2V0UnVsZSA9IGZ1bmN0aW9uIGdldFJ1bGUoaW5kZXgpIHtcbiAgICBpZiAoaW5kZXggPCB0aGlzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRoaXMucnVsZXNbaW5kZXhdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBWaXJ0dWFsVGFnO1xufSgpO1xuXG4vLyBcbi8qKiBDcmVhdGUgYSBHcm91cGVkVGFnIHdpdGggYW4gdW5kZXJseWluZyBUYWcgaW1wbGVtZW50YXRpb24gKi9cblxudmFyIG1ha2VHcm91cGVkVGFnID0gZnVuY3Rpb24gbWFrZUdyb3VwZWRUYWcodGFnKSB7XG4gIHJldHVybiBuZXcgRGVmYXVsdEdyb3VwZWRUYWcodGFnKTtcbn07XG52YXIgQkFTRV9TSVpFID0gMSA8PCA5O1xuXG52YXIgRGVmYXVsdEdyb3VwZWRUYWcgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBEZWZhdWx0R3JvdXBlZFRhZyh0YWcpIHtcbiAgICB0aGlzLmdyb3VwU2l6ZXMgPSBuZXcgVWludDMyQXJyYXkoQkFTRV9TSVpFKTtcbiAgICB0aGlzLmxlbmd0aCA9IEJBU0VfU0laRTtcbiAgICB0aGlzLnRhZyA9IHRhZztcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBEZWZhdWx0R3JvdXBlZFRhZy5wcm90b3R5cGU7XG5cbiAgX3Byb3RvLmluZGV4T2ZHcm91cCA9IGZ1bmN0aW9uIGluZGV4T2ZHcm91cChncm91cCkge1xuICAgIHZhciBpbmRleCA9IDA7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGdyb3VwOyBpKyspIHtcbiAgICAgIGluZGV4ICs9IHRoaXMuZ3JvdXBTaXplc1tpXTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5kZXg7XG4gIH07XG5cbiAgX3Byb3RvLmluc2VydFJ1bGVzID0gZnVuY3Rpb24gaW5zZXJ0UnVsZXMoZ3JvdXAsIHJ1bGVzKSB7XG4gICAgaWYgKGdyb3VwID49IHRoaXMuZ3JvdXBTaXplcy5sZW5ndGgpIHtcbiAgICAgIHZhciBvbGRCdWZmZXIgPSB0aGlzLmdyb3VwU2l6ZXM7XG4gICAgICB2YXIgb2xkU2l6ZSA9IG9sZEJ1ZmZlci5sZW5ndGg7XG4gICAgICB2YXIgbmV3U2l6ZSA9IG9sZFNpemU7XG5cbiAgICAgIHdoaWxlIChncm91cCA+PSBuZXdTaXplKSB7XG4gICAgICAgIG5ld1NpemUgPDw9IDE7XG5cbiAgICAgICAgaWYgKG5ld1NpemUgPCAwKSB7XG4gICAgICAgICAgdGhyb3dTdHlsZWRDb21wb25lbnRzRXJyb3IoMTYsIFwiXCIgKyBncm91cCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5ncm91cFNpemVzID0gbmV3IFVpbnQzMkFycmF5KG5ld1NpemUpO1xuICAgICAgdGhpcy5ncm91cFNpemVzLnNldChvbGRCdWZmZXIpO1xuICAgICAgdGhpcy5sZW5ndGggPSBuZXdTaXplO1xuXG4gICAgICBmb3IgKHZhciBpID0gb2xkU2l6ZTsgaSA8IG5ld1NpemU7IGkrKykge1xuICAgICAgICB0aGlzLmdyb3VwU2l6ZXNbaV0gPSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBydWxlSW5kZXggPSB0aGlzLmluZGV4T2ZHcm91cChncm91cCArIDEpO1xuXG4gICAgZm9yICh2YXIgX2kgPSAwLCBsID0gcnVsZXMubGVuZ3RoOyBfaSA8IGw7IF9pKyspIHtcbiAgICAgIGlmICh0aGlzLnRhZy5pbnNlcnRSdWxlKHJ1bGVJbmRleCwgcnVsZXNbX2ldKSkge1xuICAgICAgICB0aGlzLmdyb3VwU2l6ZXNbZ3JvdXBdKys7XG4gICAgICAgIHJ1bGVJbmRleCsrO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBfcHJvdG8uY2xlYXJHcm91cCA9IGZ1bmN0aW9uIGNsZWFyR3JvdXAoZ3JvdXApIHtcbiAgICBpZiAoZ3JvdXAgPCB0aGlzLmxlbmd0aCkge1xuICAgICAgdmFyIGxlbmd0aCA9IHRoaXMuZ3JvdXBTaXplc1tncm91cF07XG4gICAgICB2YXIgc3RhcnRJbmRleCA9IHRoaXMuaW5kZXhPZkdyb3VwKGdyb3VwKTtcbiAgICAgIHZhciBlbmRJbmRleCA9IHN0YXJ0SW5kZXggKyBsZW5ndGg7XG4gICAgICB0aGlzLmdyb3VwU2l6ZXNbZ3JvdXBdID0gMDtcblxuICAgICAgZm9yICh2YXIgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmRJbmRleDsgaSsrKSB7XG4gICAgICAgIHRoaXMudGFnLmRlbGV0ZVJ1bGUoc3RhcnRJbmRleCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIF9wcm90by5nZXRHcm91cCA9IGZ1bmN0aW9uIGdldEdyb3VwKGdyb3VwKSB7XG4gICAgdmFyIGNzcyA9ICcnO1xuXG4gICAgaWYgKGdyb3VwID49IHRoaXMubGVuZ3RoIHx8IHRoaXMuZ3JvdXBTaXplc1tncm91cF0gPT09IDApIHtcbiAgICAgIHJldHVybiBjc3M7XG4gICAgfVxuXG4gICAgdmFyIGxlbmd0aCA9IHRoaXMuZ3JvdXBTaXplc1tncm91cF07XG4gICAgdmFyIHN0YXJ0SW5kZXggPSB0aGlzLmluZGV4T2ZHcm91cChncm91cCk7XG4gICAgdmFyIGVuZEluZGV4ID0gc3RhcnRJbmRleCArIGxlbmd0aDtcblxuICAgIGZvciAodmFyIGkgPSBzdGFydEluZGV4OyBpIDwgZW5kSW5kZXg7IGkrKykge1xuICAgICAgY3NzICs9IFwiXCIgKyB0aGlzLnRhZy5nZXRSdWxlKGkpICsgU1BMSVRURVI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNzcztcbiAgfTtcblxuICByZXR1cm4gRGVmYXVsdEdyb3VwZWRUYWc7XG59KCk7XG5cbi8vIFxudmFyIE1BWF9TTUkgPSAxIDw8IDMxIC0gMTtcbnZhciBncm91cElEUmVnaXN0ZXIgPSBuZXcgTWFwKCk7XG52YXIgcmV2ZXJzZVJlZ2lzdGVyID0gbmV3IE1hcCgpO1xudmFyIG5leHRGcmVlR3JvdXAgPSAxO1xudmFyIGdldEdyb3VwRm9ySWQgPSBmdW5jdGlvbiBnZXRHcm91cEZvcklkKGlkKSB7XG4gIGlmIChncm91cElEUmVnaXN0ZXIuaGFzKGlkKSkge1xuICAgIHJldHVybiBncm91cElEUmVnaXN0ZXIuZ2V0KGlkKTtcbiAgfVxuXG4gIHZhciBncm91cCA9IG5leHRGcmVlR3JvdXArKztcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAoKGdyb3VwIHwgMCkgPCAwIHx8IGdyb3VwID4gTUFYX1NNSSkpIHtcbiAgICB0aHJvd1N0eWxlZENvbXBvbmVudHNFcnJvcigxNiwgXCJcIiArIGdyb3VwKTtcbiAgfVxuXG4gIGdyb3VwSURSZWdpc3Rlci5zZXQoaWQsIGdyb3VwKTtcbiAgcmV2ZXJzZVJlZ2lzdGVyLnNldChncm91cCwgaWQpO1xuICByZXR1cm4gZ3JvdXA7XG59O1xudmFyIGdldElkRm9yR3JvdXAgPSBmdW5jdGlvbiBnZXRJZEZvckdyb3VwKGdyb3VwKSB7XG4gIHJldHVybiByZXZlcnNlUmVnaXN0ZXIuZ2V0KGdyb3VwKTtcbn07XG52YXIgc2V0R3JvdXBGb3JJZCA9IGZ1bmN0aW9uIHNldEdyb3VwRm9ySWQoaWQsIGdyb3VwKSB7XG4gIGlmIChncm91cCA+PSBuZXh0RnJlZUdyb3VwKSB7XG4gICAgbmV4dEZyZWVHcm91cCA9IGdyb3VwICsgMTtcbiAgfVxuXG4gIGdyb3VwSURSZWdpc3Rlci5zZXQoaWQsIGdyb3VwKTtcbiAgcmV2ZXJzZVJlZ2lzdGVyLnNldChncm91cCwgaWQpO1xufTtcblxuLy8gXG52YXIgU0VMRUNUT1IgPSBcInN0eWxlW1wiICsgU0NfQVRUUiArIFwiXVtcIiArIFNDX0FUVFJfVkVSU0lPTiArIFwiPVxcXCJcIiArIFNDX1ZFUlNJT04gKyBcIlxcXCJdXCI7XG52YXIgTUFSS0VSX1JFID0gbmV3IFJlZ0V4cChcIl5cIiArIFNDX0FUVFIgKyBcIlxcXFwuZyhcXFxcZCspXFxcXFtpZD1cXFwiKFtcXFxcd1xcXFxkLV0rKVxcXCJcXFxcXS4qP1xcXCIoW15cXFwiXSopXCIpO1xudmFyIG91dHB1dFNoZWV0ID0gZnVuY3Rpb24gb3V0cHV0U2hlZXQoc2hlZXQpIHtcbiAgdmFyIHRhZyA9IHNoZWV0LmdldFRhZygpO1xuICB2YXIgbGVuZ3RoID0gdGFnLmxlbmd0aDtcbiAgdmFyIGNzcyA9ICcnO1xuXG4gIGZvciAodmFyIGdyb3VwID0gMDsgZ3JvdXAgPCBsZW5ndGg7IGdyb3VwKyspIHtcbiAgICB2YXIgaWQgPSBnZXRJZEZvckdyb3VwKGdyb3VwKTtcbiAgICBpZiAoaWQgPT09IHVuZGVmaW5lZCkgY29udGludWU7XG4gICAgdmFyIG5hbWVzID0gc2hlZXQubmFtZXMuZ2V0KGlkKTtcbiAgICB2YXIgcnVsZXMgPSB0YWcuZ2V0R3JvdXAoZ3JvdXApO1xuICAgIGlmIChuYW1lcyA9PT0gdW5kZWZpbmVkIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMCkgY29udGludWU7XG4gICAgdmFyIHNlbGVjdG9yID0gU0NfQVRUUiArIFwiLmdcIiArIGdyb3VwICsgXCJbaWQ9XFxcIlwiICsgaWQgKyBcIlxcXCJdXCI7XG4gICAgdmFyIGNvbnRlbnQgPSAnJztcblxuICAgIGlmIChuYW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBuYW1lcy5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICAgIGlmIChuYW1lLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb250ZW50ICs9IG5hbWUgKyBcIixcIjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSAvLyBOT1RFOiBJdCdzIGVhc2llciB0byBjb2xsZWN0IHJ1bGVzIGFuZCBoYXZlIHRoZSBtYXJrZXJcbiAgICAvLyBhZnRlciB0aGUgYWN0dWFsIHJ1bGVzIHRvIHNpbXBsaWZ5IHRoZSByZWh5ZHJhdGlvblxuXG5cbiAgICBjc3MgKz0gXCJcIiArIHJ1bGVzICsgc2VsZWN0b3IgKyBcIntjb250ZW50OlxcXCJcIiArIGNvbnRlbnQgKyBcIlxcXCJ9XCIgKyBTUExJVFRFUjtcbiAgfVxuXG4gIHJldHVybiBjc3M7XG59O1xuXG52YXIgcmVoeWRyYXRlTmFtZXNGcm9tQ29udGVudCA9IGZ1bmN0aW9uIHJlaHlkcmF0ZU5hbWVzRnJvbUNvbnRlbnQoc2hlZXQsIGlkLCBjb250ZW50KSB7XG4gIHZhciBuYW1lcyA9IGNvbnRlbnQuc3BsaXQoJywnKTtcbiAgdmFyIG5hbWU7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBuYW1lcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBpZiAobmFtZSA9IG5hbWVzW2ldKSB7XG4gICAgICBzaGVldC5yZWdpc3Rlck5hbWUoaWQsIG5hbWUpO1xuICAgIH1cbiAgfVxufTtcblxudmFyIHJlaHlkcmF0ZVNoZWV0RnJvbVRhZyA9IGZ1bmN0aW9uIHJlaHlkcmF0ZVNoZWV0RnJvbVRhZyhzaGVldCwgc3R5bGUpIHtcbiAgdmFyIHBhcnRzID0gc3R5bGUuaW5uZXJIVE1MLnNwbGl0KFNQTElUVEVSKTtcbiAgdmFyIHJ1bGVzID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBwYXJ0cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICB2YXIgcGFydCA9IHBhcnRzW2ldLnRyaW0oKTtcbiAgICBpZiAoIXBhcnQpIGNvbnRpbnVlO1xuICAgIHZhciBtYXJrZXIgPSBwYXJ0Lm1hdGNoKE1BUktFUl9SRSk7XG5cbiAgICBpZiAobWFya2VyKSB7XG4gICAgICB2YXIgZ3JvdXAgPSBwYXJzZUludChtYXJrZXJbMV0sIDEwKSB8IDA7XG4gICAgICB2YXIgaWQgPSBtYXJrZXJbMl07XG5cbiAgICAgIGlmIChncm91cCAhPT0gMCkge1xuICAgICAgICAvLyBSZWh5ZHJhdGUgY29tcG9uZW50SWQgdG8gZ3JvdXAgaW5kZXggbWFwcGluZ1xuICAgICAgICBzZXRHcm91cEZvcklkKGlkLCBncm91cCk7IC8vIFJlaHlkcmF0ZSBuYW1lcyBhbmQgcnVsZXNcbiAgICAgICAgLy8gbG9va3MgbGlrZTogZGF0YS1zdHlsZWQuZzExW2lkPVwiaWRBXCJde2NvbnRlbnQ6XCJuYW1lQSxcIn1cblxuICAgICAgICByZWh5ZHJhdGVOYW1lc0Zyb21Db250ZW50KHNoZWV0LCBpZCwgbWFya2VyWzNdKTtcbiAgICAgICAgc2hlZXQuZ2V0VGFnKCkuaW5zZXJ0UnVsZXMoZ3JvdXAsIHJ1bGVzKTtcbiAgICAgIH1cblxuICAgICAgcnVsZXMubGVuZ3RoID0gMDtcbiAgICB9IGVsc2Uge1xuICAgICAgcnVsZXMucHVzaChwYXJ0KTtcbiAgICB9XG4gIH1cbn07XG5cbnZhciByZWh5ZHJhdGVTaGVldCA9IGZ1bmN0aW9uIHJlaHlkcmF0ZVNoZWV0KHNoZWV0KSB7XG4gIHZhciBub2RlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU0VMRUNUT1IpO1xuXG4gIGZvciAodmFyIGkgPSAwLCBsID0gbm9kZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIG5vZGUgPSBub2Rlc1tpXTtcblxuICAgIGlmIChub2RlICYmIG5vZGUuZ2V0QXR0cmlidXRlKFNDX0FUVFIpICE9PSBTQ19BVFRSX0FDVElWRSkge1xuICAgICAgcmVoeWRyYXRlU2hlZXRGcm9tVGFnKHNoZWV0LCBub2RlKTtcblxuICAgICAgaWYgKG5vZGUucGFyZW50Tm9kZSkge1xuICAgICAgICBub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG52YXIgU0hPVUxEX1JFSFlEUkFURSA9IElTX0JST1dTRVI7XG52YXIgZGVmYXVsdE9wdGlvbnMgPSB7XG4gIGlzU2VydmVyOiAhSVNfQlJPV1NFUixcbiAgdXNlQ1NTT01JbmplY3Rpb246ICFESVNBQkxFX1NQRUVEWVxufTtcbi8qKiBDb250YWlucyB0aGUgbWFpbiBzdHlsZXNoZWV0IGxvZ2ljIGZvciBzdHJpbmdpZmljYXRpb24gYW5kIGNhY2hpbmcgKi9cblxudmFyIFN0eWxlU2hlZXQgPSAvKiNfX1BVUkVfXyovZnVuY3Rpb24gKCkge1xuICAvKiogUmVnaXN0ZXIgYSBncm91cCBJRCB0byBnaXZlIGl0IGFuIGluZGV4ICovXG4gIFN0eWxlU2hlZXQucmVnaXN0ZXJJZCA9IGZ1bmN0aW9uIHJlZ2lzdGVySWQoaWQpIHtcbiAgICByZXR1cm4gZ2V0R3JvdXBGb3JJZChpZCk7XG4gIH07XG5cbiAgZnVuY3Rpb24gU3R5bGVTaGVldChvcHRpb25zLCBnbG9iYWxTdHlsZXMsIG5hbWVzKSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgICAgb3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zO1xuICAgIH1cblxuICAgIGlmIChnbG9iYWxTdHlsZXMgPT09IHZvaWQgMCkge1xuICAgICAgZ2xvYmFsU3R5bGVzID0ge307XG4gICAgfVxuXG4gICAgdGhpcy5vcHRpb25zID0gX2V4dGVuZHMoe30sIGRlZmF1bHRPcHRpb25zLCB7fSwgb3B0aW9ucyk7XG4gICAgdGhpcy5ncyA9IGdsb2JhbFN0eWxlcztcbiAgICB0aGlzLm5hbWVzID0gbmV3IE1hcChuYW1lcyk7IC8vIFdlIHJlaHlkcmF0ZSBvbmx5IG9uY2UgYW5kIHVzZSB0aGUgc2hlZXQgdGhhdCBpcyBjcmVhdGVkIGZpcnN0XG5cbiAgICBpZiAoIXRoaXMub3B0aW9ucy5pc1NlcnZlciAmJiBJU19CUk9XU0VSICYmIFNIT1VMRF9SRUhZRFJBVEUpIHtcbiAgICAgIFNIT1VMRF9SRUhZRFJBVEUgPSBmYWxzZTtcbiAgICAgIHJlaHlkcmF0ZVNoZWV0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBTdHlsZVNoZWV0LnByb3RvdHlwZTtcblxuICBfcHJvdG8ucmVjb25zdHJ1Y3RXaXRoT3B0aW9ucyA9IGZ1bmN0aW9uIHJlY29uc3RydWN0V2l0aE9wdGlvbnMob3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgU3R5bGVTaGVldChfZXh0ZW5kcyh7fSwgdGhpcy5vcHRpb25zLCB7fSwgb3B0aW9ucyksIHRoaXMuZ3MsIHRoaXMubmFtZXMpO1xuICB9O1xuXG4gIF9wcm90by5hbGxvY2F0ZUdTSW5zdGFuY2UgPSBmdW5jdGlvbiBhbGxvY2F0ZUdTSW5zdGFuY2UoaWQpIHtcbiAgICByZXR1cm4gdGhpcy5nc1tpZF0gPSAodGhpcy5nc1tpZF0gfHwgMCkgKyAxO1xuICB9XG4gIC8qKiBMYXppbHkgaW5pdGlhbGlzZXMgYSBHcm91cGVkVGFnIGZvciB3aGVuIGl0J3MgYWN0dWFsbHkgbmVlZGVkICovXG4gIDtcblxuICBfcHJvdG8uZ2V0VGFnID0gZnVuY3Rpb24gZ2V0VGFnKCkge1xuICAgIHJldHVybiB0aGlzLnRhZyB8fCAodGhpcy50YWcgPSBtYWtlR3JvdXBlZFRhZyhtYWtlVGFnKHRoaXMub3B0aW9ucykpKTtcbiAgfVxuICAvKiogQ2hlY2sgd2hldGhlciBhIG5hbWUgaXMga25vd24gZm9yIGNhY2hpbmcgKi9cbiAgO1xuXG4gIF9wcm90by5oYXNOYW1lRm9ySWQgPSBmdW5jdGlvbiBoYXNOYW1lRm9ySWQoaWQsIG5hbWUpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lcy5oYXMoaWQpICYmIHRoaXMubmFtZXMuZ2V0KGlkKS5oYXMobmFtZSk7XG4gIH1cbiAgLyoqIE1hcmsgYSBncm91cCdzIG5hbWUgYXMga25vd24gZm9yIGNhY2hpbmcgKi9cbiAgO1xuXG4gIF9wcm90by5yZWdpc3Rlck5hbWUgPSBmdW5jdGlvbiByZWdpc3Rlck5hbWUoaWQsIG5hbWUpIHtcbiAgICBnZXRHcm91cEZvcklkKGlkKTtcblxuICAgIGlmICghdGhpcy5uYW1lcy5oYXMoaWQpKSB7XG4gICAgICB2YXIgZ3JvdXBOYW1lcyA9IG5ldyBTZXQoKTtcbiAgICAgIGdyb3VwTmFtZXMuYWRkKG5hbWUpO1xuICAgICAgdGhpcy5uYW1lcy5zZXQoaWQsIGdyb3VwTmFtZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hbWVzLmdldChpZCkuYWRkKG5hbWUpO1xuICAgIH1cbiAgfVxuICAvKiogSW5zZXJ0IG5ldyBydWxlcyB3aGljaCBhbHNvIG1hcmtzIHRoZSBuYW1lIGFzIGtub3duICovXG4gIDtcblxuICBfcHJvdG8uaW5zZXJ0UnVsZXMgPSBmdW5jdGlvbiBpbnNlcnRSdWxlcyhpZCwgbmFtZSwgcnVsZXMpIHtcbiAgICB0aGlzLnJlZ2lzdGVyTmFtZShpZCwgbmFtZSk7XG4gICAgdGhpcy5nZXRUYWcoKS5pbnNlcnRSdWxlcyhnZXRHcm91cEZvcklkKGlkKSwgcnVsZXMpO1xuICB9XG4gIC8qKiBDbGVhcnMgYWxsIGNhY2hlZCBuYW1lcyBmb3IgYSBnaXZlbiBncm91cCBJRCAqL1xuICA7XG5cbiAgX3Byb3RvLmNsZWFyTmFtZXMgPSBmdW5jdGlvbiBjbGVhck5hbWVzKGlkKSB7XG4gICAgaWYgKHRoaXMubmFtZXMuaGFzKGlkKSkge1xuICAgICAgdGhpcy5uYW1lcy5nZXQoaWQpLmNsZWFyKCk7XG4gICAgfVxuICB9XG4gIC8qKiBDbGVhcnMgYWxsIHJ1bGVzIGZvciBhIGdpdmVuIGdyb3VwIElEICovXG4gIDtcblxuICBfcHJvdG8uY2xlYXJSdWxlcyA9IGZ1bmN0aW9uIGNsZWFyUnVsZXMoaWQpIHtcbiAgICB0aGlzLmdldFRhZygpLmNsZWFyR3JvdXAoZ2V0R3JvdXBGb3JJZChpZCkpO1xuICAgIHRoaXMuY2xlYXJOYW1lcyhpZCk7XG4gIH1cbiAgLyoqIENsZWFycyB0aGUgZW50aXJlIHRhZyB3aGljaCBkZWxldGVzIGFsbCBydWxlcyBidXQgbm90IGl0cyBuYW1lcyAqL1xuICA7XG5cbiAgX3Byb3RvLmNsZWFyVGFnID0gZnVuY3Rpb24gY2xlYXJUYWcoKSB7XG4gICAgLy8gTk9URTogVGhpcyBkb2VzIG5vdCBjbGVhciB0aGUgbmFtZXMsIHNpbmNlIGl0J3Mgb25seSB1c2VkIGR1cmluZyBTU1JcbiAgICAvLyBzbyB0aGF0IHdlIGNhbiBjb250aW51b3VzbHkgb3V0cHV0IG9ubHkgbmV3IHJ1bGVzXG4gICAgdGhpcy50YWcgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLyoqIE91dHB1dHMgdGhlIGN1cnJlbnQgc2hlZXQgYXMgYSBDU1Mgc3RyaW5nIHdpdGggbWFya2VycyBmb3IgU1NSICovXG4gIDtcblxuICBfcHJvdG8udG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gb3V0cHV0U2hlZXQodGhpcyk7XG4gIH07XG5cbiAgcmV0dXJuIFN0eWxlU2hlZXQ7XG59KCk7XG5cbi8vIFxuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xudmFyIFNFRUQgPSA1MzgxOyAvLyBXaGVuIHdlIGhhdmUgc2VwYXJhdGUgc3RyaW5ncyBpdCdzIHVzZWZ1bCB0byBydW4gYSBwcm9ncmVzc2l2ZVxuLy8gdmVyc2lvbiBvZiBkamIyIHdoZXJlIHdlIHByZXRlbmQgdGhhdCB3ZSdyZSBzdGlsbCBsb29waW5nIG92ZXJcbi8vIHRoZSBzYW1lIHN0cmluZ1xuXG52YXIgcGhhc2ggPSBmdW5jdGlvbiBwaGFzaChoLCB4KSB7XG4gIHZhciBpID0geC5sZW5ndGg7XG5cbiAgd2hpbGUgKGkpIHtcbiAgICBoID0gaCAqIDMzIF4geC5jaGFyQ29kZUF0KC0taSk7XG4gIH1cblxuICByZXR1cm4gaDtcbn07IC8vIFRoaXMgaXMgYSBkamIyIGhhc2hpbmcgZnVuY3Rpb25cblxudmFyIGhhc2ggPSBmdW5jdGlvbiBoYXNoKHgpIHtcbiAgcmV0dXJuIHBoYXNoKFNFRUQsIHgpO1xufTtcblxuLyoqXG4gKiBNSVQgTGljZW5zZVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNiBTdWx0YW4gVGFyaW1vXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZlxuICogdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSxcbiAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vclxuICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4gKiBPUiBJTVBMSUVEIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSxcbiAqIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1JcbiAqIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4gKi9cblxuLyogZXNsaW50LWRpc2FibGUgKi9cbmZ1bmN0aW9uIGluc2VydFJ1bGVQbHVnaW4gKGluc2VydFJ1bGUpIHtcbiAgdmFyIGRlbGltaXRlciA9ICcvKnwqLyc7XG4gIHZhciBuZWVkbGUgPSBkZWxpbWl0ZXIgKyBcIn1cIjtcblxuICBmdW5jdGlvbiB0b1NoZWV0KGJsb2NrKSB7XG4gICAgaWYgKGJsb2NrKSB7XG4gICAgICB0cnkge1xuICAgICAgICBpbnNlcnRSdWxlKGJsb2NrICsgXCJ9XCIpO1xuICAgICAgfSBjYXRjaCAoZSkge31cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gcnVsZVNoZWV0KGNvbnRleHQsIGNvbnRlbnQsIHNlbGVjdG9ycywgcGFyZW50cywgbGluZSwgY29sdW1uLCBsZW5ndGgsIG5zLCBkZXB0aCwgYXQpIHtcbiAgICBzd2l0Y2ggKGNvbnRleHQpIHtcbiAgICAgIC8vIHByb3BlcnR5XG4gICAgICBjYXNlIDE6XG4gICAgICAgIC8vIEBpbXBvcnRcbiAgICAgICAgaWYgKGRlcHRoID09PSAwICYmIGNvbnRlbnQuY2hhckNvZGVBdCgwKSA9PT0gNjQpIHJldHVybiBpbnNlcnRSdWxlKGNvbnRlbnQgKyBcIjtcIiksICcnO1xuICAgICAgICBicmVhaztcbiAgICAgIC8vIHNlbGVjdG9yXG5cbiAgICAgIGNhc2UgMjpcbiAgICAgICAgaWYgKG5zID09PSAwKSByZXR1cm4gY29udGVudCArIGRlbGltaXRlcjtcbiAgICAgICAgYnJlYWs7XG4gICAgICAvLyBhdC1ydWxlXG5cbiAgICAgIGNhc2UgMzpcbiAgICAgICAgc3dpdGNoIChucykge1xuICAgICAgICAgIC8vIEBmb250LWZhY2UsIEBwYWdlXG4gICAgICAgICAgY2FzZSAxMDI6XG4gICAgICAgICAgY2FzZSAxMTI6XG4gICAgICAgICAgICByZXR1cm4gaW5zZXJ0UnVsZShzZWxlY3RvcnNbMF0gKyBjb250ZW50KSwgJyc7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQgKyAoYXQgPT09IDAgPyBkZWxpbWl0ZXIgOiAnJyk7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAtMjpcbiAgICAgICAgY29udGVudC5zcGxpdChuZWVkbGUpLmZvckVhY2godG9TaGVldCk7XG4gICAgfVxuICB9O1xufVxuXG52YXIgQ09NTUVOVF9SRUdFWCA9IC9eXFxzKlxcL1xcLy4qJC9nbTtcbmZ1bmN0aW9uIGNyZWF0ZVN0eWxpc0luc3RhbmNlKF90ZW1wKSB7XG4gIHZhciBfcmVmID0gX3RlbXAgPT09IHZvaWQgMCA/IEVNUFRZX09CSkVDVCA6IF90ZW1wLFxuICAgICAgX3JlZiRvcHRpb25zID0gX3JlZi5vcHRpb25zLFxuICAgICAgb3B0aW9ucyA9IF9yZWYkb3B0aW9ucyA9PT0gdm9pZCAwID8gRU1QVFlfT0JKRUNUIDogX3JlZiRvcHRpb25zLFxuICAgICAgX3JlZiRwbHVnaW5zID0gX3JlZi5wbHVnaW5zLFxuICAgICAgcGx1Z2lucyA9IF9yZWYkcGx1Z2lucyA9PT0gdm9pZCAwID8gRU1QVFlfQVJSQVkgOiBfcmVmJHBsdWdpbnM7XG5cbiAgdmFyIHN0eWxpcyA9IG5ldyBTdHlsaXMob3B0aW9ucyk7IC8vIFdyYXAgYGluc2VydFJ1bGVQbHVnaW4gdG8gYnVpbGQgYSBsaXN0IG9mIHJ1bGVzLFxuICAvLyBhbmQgdGhlbiBtYWtlIG91ciBvd24gcGx1Z2luIHRvIHJldHVybiB0aGUgcnVsZXMuIFRoaXNcbiAgLy8gbWFrZXMgaXQgZWFzaWVyIHRvIGhvb2sgaW50byB0aGUgZXhpc3RpbmcgU1NSIGFyY2hpdGVjdHVyZVxuXG4gIHZhciBwYXJzaW5nUnVsZXMgPSBbXTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbnNpc3RlbnQtcmV0dXJuXG5cbiAgdmFyIHJldHVyblJ1bGVzUGx1Z2luID0gZnVuY3Rpb24gcmV0dXJuUnVsZXNQbHVnaW4oY29udGV4dCkge1xuICAgIGlmIChjb250ZXh0ID09PSAtMikge1xuICAgICAgdmFyIHBhcnNlZFJ1bGVzID0gcGFyc2luZ1J1bGVzO1xuICAgICAgcGFyc2luZ1J1bGVzID0gW107XG4gICAgICByZXR1cm4gcGFyc2VkUnVsZXM7XG4gICAgfVxuICB9O1xuXG4gIHZhciBwYXJzZVJ1bGVzUGx1Z2luID0gaW5zZXJ0UnVsZVBsdWdpbihmdW5jdGlvbiAocnVsZSkge1xuICAgIHBhcnNpbmdSdWxlcy5wdXNoKHJ1bGUpO1xuICB9KTtcblxuICB2YXIgX2NvbXBvbmVudElkO1xuXG4gIHZhciBfc2VsZWN0b3I7XG5cbiAgdmFyIF9zZWxlY3RvclJlZ2V4cDtcblxuICB2YXIgc2VsZlJlZmVyZW5jZVJlcGxhY2VyID0gZnVuY3Rpb24gc2VsZlJlZmVyZW5jZVJlcGxhY2VyKG1hdGNoLCBvZmZzZXQsIHN0cmluZykge1xuICAgIGlmICggLy8gdGhlIGZpcnN0IHNlbGYtcmVmIGlzIGFsd2F5cyB1bnRvdWNoZWRcbiAgICBvZmZzZXQgPiAwICYmIC8vIHRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCB0d28gc2VsZi1yZWZzIHRvIGRvIGEgcmVwbGFjZW1lbnQgKC5iID4gLmIpXG4gICAgc3RyaW5nLnNsaWNlKDAsIG9mZnNldCkuaW5kZXhPZihfc2VsZWN0b3IpICE9PSAtMSAmJiAvLyBubyBjb25zZWN1dGl2ZSBzZWxmIHJlZnMgKC5iLmIpOyB0aGF0IGlzIGEgcHJlY2VkZW5jZSBib29zdCBhbmQgdHJlYXRlZCBkaWZmZXJlbnRseVxuICAgIHN0cmluZy5zbGljZShvZmZzZXQgLSBfc2VsZWN0b3IubGVuZ3RoLCBvZmZzZXQpICE9PSBfc2VsZWN0b3IpIHtcbiAgICAgIHJldHVybiBcIi5cIiArIF9jb21wb25lbnRJZDtcbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2g7XG4gIH07XG4gIC8qKlxuICAgKiBXaGVuIHdyaXRpbmcgYSBzdHlsZSBsaWtlXG4gICAqXG4gICAqICYgKyAmIHtcbiAgICogICBjb2xvcjogcmVkO1xuICAgKiB9XG4gICAqXG4gICAqIFRoZSBzZWNvbmQgYW1wZXJzYW5kIHNob3VsZCBiZSBhIHJlZmVyZW5jZSB0byB0aGUgc3RhdGljIGNvbXBvbmVudCBjbGFzcy4gc3R5bGlzXG4gICAqIGhhcyBubyBrbm93bGVkZ2Ugb2Ygc3RhdGljIGNsYXNzIHNvIHdlIGhhdmUgdG8gaW50ZWxsaWdlbnRseSByZXBsYWNlIHRoZSBiYXNlIHNlbGVjdG9yLlxuICAgKlxuICAgKiBodHRwczovL2dpdGh1Yi5jb20vdGh5c3VsdGFuL3N0eWxpcy5qcyNwbHVnaW5zIDwtIG1vcmUgaW5mbyBhYm91dCB0aGUgY29udGV4dCBwaGFzZSB2YWx1ZXNcbiAgICogXCIyXCIgbWVhbnMgdGhpcyBwbHVnaW4gaXMgdGFraW5nIGVmZmVjdCBhdCB0aGUgdmVyeSBlbmQgYWZ0ZXIgYWxsIG90aGVyIHByb2Nlc3NpbmcgaXMgY29tcGxldGVcbiAgICovXG5cblxuICB2YXIgc2VsZlJlZmVyZW5jZVJlcGxhY2VtZW50UGx1Z2luID0gZnVuY3Rpb24gc2VsZlJlZmVyZW5jZVJlcGxhY2VtZW50UGx1Z2luKGNvbnRleHQsIF8sIHNlbGVjdG9ycykge1xuICAgIGlmIChjb250ZXh0ID09PSAyICYmIHNlbGVjdG9ycy5sZW5ndGggJiYgc2VsZWN0b3JzWzBdLmxhc3RJbmRleE9mKF9zZWxlY3RvcikgPiAwKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgIHNlbGVjdG9yc1swXSA9IHNlbGVjdG9yc1swXS5yZXBsYWNlKF9zZWxlY3RvclJlZ2V4cCwgc2VsZlJlZmVyZW5jZVJlcGxhY2VyKTtcbiAgICB9XG4gIH07XG5cbiAgc3R5bGlzLnVzZShbXS5jb25jYXQocGx1Z2lucywgW3NlbGZSZWZlcmVuY2VSZXBsYWNlbWVudFBsdWdpbiwgcGFyc2VSdWxlc1BsdWdpbiwgcmV0dXJuUnVsZXNQbHVnaW5dKSk7XG5cbiAgZnVuY3Rpb24gc3RyaW5naWZ5UnVsZXMoY3NzLCBzZWxlY3RvciwgcHJlZml4LCBjb21wb25lbnRJZCkge1xuICAgIGlmIChjb21wb25lbnRJZCA9PT0gdm9pZCAwKSB7XG4gICAgICBjb21wb25lbnRJZCA9ICcmJztcbiAgICB9XG5cbiAgICB2YXIgZmxhdENTUyA9IGNzcy5yZXBsYWNlKENPTU1FTlRfUkVHRVgsICcnKTtcbiAgICB2YXIgY3NzU3RyID0gc2VsZWN0b3IgJiYgcHJlZml4ID8gcHJlZml4ICsgXCIgXCIgKyBzZWxlY3RvciArIFwiIHsgXCIgKyBmbGF0Q1NTICsgXCIgfVwiIDogZmxhdENTUzsgLy8gc3R5bGlzIGhhcyBubyBjb25jZXB0IG9mIHN0YXRlIHRvIGJlIHBhc3NlZCB0byBwbHVnaW5zXG4gICAgLy8gYnV0IHNpbmNlIEpTIGlzIHNpbmdsZT10aHJlYWRlZCwgd2UgY2FuIHJlbHkgb24gdGhhdCB0byBlbnN1cmVcbiAgICAvLyB0aGVzZSBwcm9wZXJ0aWVzIHN0YXkgaW4gc3luYyB3aXRoIHRoZSBjdXJyZW50IHN0eWxpcyBydW5cblxuICAgIF9jb21wb25lbnRJZCA9IGNvbXBvbmVudElkO1xuICAgIF9zZWxlY3RvciA9IHNlbGVjdG9yO1xuICAgIF9zZWxlY3RvclJlZ2V4cCA9IG5ldyBSZWdFeHAoXCJcXFxcXCIgKyBfc2VsZWN0b3IgKyBcIlxcXFxiXCIsICdnJyk7XG4gICAgcmV0dXJuIHN0eWxpcyhwcmVmaXggfHwgIXNlbGVjdG9yID8gJycgOiBzZWxlY3RvciwgY3NzU3RyKTtcbiAgfVxuXG4gIHN0cmluZ2lmeVJ1bGVzLmhhc2ggPSBwbHVnaW5zLmxlbmd0aCA/IHBsdWdpbnMucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHBsdWdpbikge1xuICAgIGlmICghcGx1Z2luLm5hbWUpIHtcbiAgICAgIHRocm93U3R5bGVkQ29tcG9uZW50c0Vycm9yKDE1KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGhhc2goYWNjLCBwbHVnaW4ubmFtZSk7XG4gIH0sIFNFRUQpLnRvU3RyaW5nKCkgOiAnJztcbiAgcmV0dXJuIHN0cmluZ2lmeVJ1bGVzO1xufVxuXG4vLyBcbnZhciBTdHlsZVNoZWV0Q29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQoKTtcbnZhciBTdHlsZVNoZWV0Q29uc3VtZXIgPSBTdHlsZVNoZWV0Q29udGV4dC5Db25zdW1lcjtcbnZhciBTdHlsaXNDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dCgpO1xudmFyIFN0eWxpc0NvbnN1bWVyID0gU3R5bGlzQ29udGV4dC5Db25zdW1lcjtcbnZhciBtYXN0ZXJTaGVldCA9IG5ldyBTdHlsZVNoZWV0KCk7XG52YXIgbWFzdGVyU3R5bGlzID0gY3JlYXRlU3R5bGlzSW5zdGFuY2UoKTtcbmZ1bmN0aW9uIHVzZVN0eWxlU2hlZXQoKSB7XG4gIHJldHVybiB1c2VDb250ZXh0KFN0eWxlU2hlZXRDb250ZXh0KSB8fCBtYXN0ZXJTaGVldDtcbn1cbmZ1bmN0aW9uIHVzZVN0eWxpcygpIHtcbiAgcmV0dXJuIHVzZUNvbnRleHQoU3R5bGlzQ29udGV4dCkgfHwgbWFzdGVyU3R5bGlzO1xufVxuZnVuY3Rpb24gU3R5bGVTaGVldE1hbmFnZXIocHJvcHMpIHtcbiAgdmFyIF91c2VTdGF0ZSA9IHVzZVN0YXRlKHByb3BzLnN0eWxpc1BsdWdpbnMpLFxuICAgICAgcGx1Z2lucyA9IF91c2VTdGF0ZVswXSxcbiAgICAgIHNldFBsdWdpbnMgPSBfdXNlU3RhdGVbMV07XG5cbiAgdmFyIGNvbnRleHRTdHlsZVNoZWV0ID0gdXNlU3R5bGVTaGVldCgpO1xuICB2YXIgc3R5bGVTaGVldCA9IHVzZU1lbW8oZnVuY3Rpb24gKCkge1xuICAgIHZhciBzaGVldCA9IGNvbnRleHRTdHlsZVNoZWV0O1xuXG4gICAgaWYgKHByb3BzLnNoZWV0KSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICAgIHNoZWV0ID0gcHJvcHMuc2hlZXQ7XG4gICAgfSBlbHNlIGlmIChwcm9wcy50YXJnZXQpIHtcbiAgICAgIHNoZWV0ID0gc2hlZXQucmVjb25zdHJ1Y3RXaXRoT3B0aW9ucyh7XG4gICAgICAgIHRhcmdldDogcHJvcHMudGFyZ2V0XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZGlzYWJsZUNTU09NSW5qZWN0aW9uKSB7XG4gICAgICBzaGVldCA9IHNoZWV0LnJlY29uc3RydWN0V2l0aE9wdGlvbnMoe1xuICAgICAgICB1c2VDU1NPTUluamVjdGlvbjogZmFsc2VcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBzaGVldDtcbiAgfSwgW3Byb3BzLmRpc2FibGVDU1NPTUluamVjdGlvbiwgcHJvcHMuc2hlZXQsIHByb3BzLnRhcmdldF0pO1xuICB2YXIgc3R5bGlzID0gdXNlTWVtbyhmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGNyZWF0ZVN0eWxpc0luc3RhbmNlKHtcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgcHJlZml4OiAhcHJvcHMuZGlzYWJsZVZlbmRvclByZWZpeGVzXG4gICAgICB9LFxuICAgICAgcGx1Z2luczogcGx1Z2luc1xuICAgIH0pO1xuICB9LCBbcHJvcHMuZGlzYWJsZVZlbmRvclByZWZpeGVzLCBwbHVnaW5zXSk7XG4gIHVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFzaGFsbG93ZXF1YWwocGx1Z2lucywgcHJvcHMuc3R5bGlzUGx1Z2lucykpIHNldFBsdWdpbnMocHJvcHMuc3R5bGlzUGx1Z2lucyk7XG4gIH0sIFtwcm9wcy5zdHlsaXNQbHVnaW5zXSk7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZVNoZWV0Q29udGV4dC5Qcm92aWRlciwge1xuICAgIHZhbHVlOiBzdHlsZVNoZWV0XG4gIH0sIC8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxpc0NvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogc3R5bGlzXG4gIH0sIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyBSZWFjdC5DaGlsZHJlbi5vbmx5KHByb3BzLmNoaWxkcmVuKSA6IHByb3BzLmNoaWxkcmVuKSk7XG59XG5cbi8vIFxuXG52YXIgS2V5ZnJhbWVzID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gS2V5ZnJhbWVzKG5hbWUsIHN0cmluZ2lmeUFyZ3MpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdGhpcy5pbmplY3QgPSBmdW5jdGlvbiAoc3R5bGVTaGVldCkge1xuICAgICAgaWYgKCFzdHlsZVNoZWV0Lmhhc05hbWVGb3JJZChfdGhpcy5pZCwgX3RoaXMubmFtZSkpIHtcbiAgICAgICAgc3R5bGVTaGVldC5pbnNlcnRSdWxlcyhfdGhpcy5pZCwgX3RoaXMubmFtZSwgbWFzdGVyU3R5bGlzLmFwcGx5KHZvaWQgMCwgX3RoaXMuc3RyaW5naWZ5QXJncykpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRocm93U3R5bGVkQ29tcG9uZW50c0Vycm9yKDEyLCBTdHJpbmcoX3RoaXMubmFtZSkpO1xuICAgIH07XG5cbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuaWQgPSBcInNjLWtleWZyYW1lcy1cIiArIG5hbWU7XG4gICAgdGhpcy5zdHJpbmdpZnlBcmdzID0gc3RyaW5naWZ5QXJncztcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBLZXlmcmFtZXMucHJvdG90eXBlO1xuXG4gIF9wcm90by5nZXROYW1lID0gZnVuY3Rpb24gZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9O1xuXG4gIHJldHVybiBLZXlmcmFtZXM7XG59KCk7XG5cbi8vIFxuXG4vKipcbiAqIGlubGluZWQgdmVyc2lvbiBvZlxuICogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2ZianMvYmxvYi9tYXN0ZXIvcGFja2FnZXMvZmJqcy9zcmMvY29yZS9oeXBoZW5hdGVTdHlsZU5hbWUuanNcbiAqL1xudmFyIHVwcGVyY2FzZVBhdHRlcm4gPSAvKFtBLVpdKS9nO1xudmFyIG1zUGF0dGVybiA9IC9ebXMtLztcbi8qKlxuICogSHlwaGVuYXRlcyBhIGNhbWVsY2FzZWQgQ1NTIHByb3BlcnR5IG5hbWUsIGZvciBleGFtcGxlOlxuICpcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ2JhY2tncm91bmRDb2xvcicpXG4gKiAgIDwgXCJiYWNrZ3JvdW5kLWNvbG9yXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ01velRyYW5zaXRpb24nKVxuICogICA8IFwiLW1vei10cmFuc2l0aW9uXCJcbiAqICAgPiBoeXBoZW5hdGVTdHlsZU5hbWUoJ21zVHJhbnNpdGlvbicpXG4gKiAgIDwgXCItbXMtdHJhbnNpdGlvblwiXG4gKlxuICogQXMgTW9kZXJuaXpyIHN1Z2dlc3RzIChodHRwOi8vbW9kZXJuaXpyLmNvbS9kb2NzLyNwcmVmaXhlZCksIGFuIGBtc2AgcHJlZml4XG4gKiBpcyBjb252ZXJ0ZWQgdG8gYC1tcy1gLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmdcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuXG5mdW5jdGlvbiBoeXBoZW5hdGVTdHlsZU5hbWUoc3RyaW5nKSB7XG4gIHJldHVybiBzdHJpbmcucmVwbGFjZSh1cHBlcmNhc2VQYXR0ZXJuLCAnLSQxJykudG9Mb3dlckNhc2UoKS5yZXBsYWNlKG1zUGF0dGVybiwgJy1tcy0nKTtcbn1cblxuLy8gXG5cbmZ1bmN0aW9uIGFkZFVuaXRJZk5lZWRlZChuYW1lLCB2YWx1ZSkge1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW1pbGFqYWNrL2VzbGludC1wbHVnaW4tZmxvd3R5cGUtZXJyb3JzL2lzc3Vlcy8xMzNcbiAgLy8gJEZsb3dGaXhNZVxuICBpZiAodmFsdWUgPT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB2YWx1ZSAhPT0gMCAmJiAhKG5hbWUgaW4gdW5pdGxlc3MpKSB7XG4gICAgcmV0dXJuIHZhbHVlICsgXCJweFwiOyAvLyBQcmVzdW1lcyBpbXBsaWNpdCAncHgnIHN1ZmZpeCBmb3IgdW5pdGxlc3MgbnVtYmVyc1xuICB9XG5cbiAgcmV0dXJuIFN0cmluZyh2YWx1ZSkudHJpbSgpO1xufVxuXG4vLyBcbi8qKlxuICogSXQncyBmYWxzaXNoIG5vdCBmYWxzeSBiZWNhdXNlIDAgaXMgYWxsb3dlZC5cbiAqL1xuXG52YXIgaXNGYWxzaXNoID0gZnVuY3Rpb24gaXNGYWxzaXNoKGNodW5rKSB7XG4gIHJldHVybiBjaHVuayA9PT0gdW5kZWZpbmVkIHx8IGNodW5rID09PSBudWxsIHx8IGNodW5rID09PSBmYWxzZSB8fCBjaHVuayA9PT0gJyc7XG59O1xuXG52YXIgb2JqVG9Dc3NBcnJheSA9IGZ1bmN0aW9uIG9ialRvQ3NzQXJyYXkob2JqLCBwcmV2S2V5KSB7XG4gIHZhciBydWxlcyA9IFtdO1xuICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKG9iaik7XG4gIGtleXMuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgaWYgKCFpc0ZhbHNpc2gob2JqW2tleV0pKSB7XG4gICAgICBpZiAoaXNQbGFpbk9iamVjdChvYmpba2V5XSkpIHtcbiAgICAgICAgcnVsZXMucHVzaC5hcHBseShydWxlcywgb2JqVG9Dc3NBcnJheShvYmpba2V5XSwga2V5KSk7XG4gICAgICAgIHJldHVybiBydWxlcztcbiAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbihvYmpba2V5XSkpIHtcbiAgICAgICAgcnVsZXMucHVzaChoeXBoZW5hdGVTdHlsZU5hbWUoa2V5KSArIFwiOlwiLCBvYmpba2V5XSwgJzsnKTtcbiAgICAgICAgcmV0dXJuIHJ1bGVzO1xuICAgICAgfVxuXG4gICAgICBydWxlcy5wdXNoKGh5cGhlbmF0ZVN0eWxlTmFtZShrZXkpICsgXCI6IFwiICsgYWRkVW5pdElmTmVlZGVkKGtleSwgb2JqW2tleV0pICsgXCI7XCIpO1xuICAgIH1cblxuICAgIHJldHVybiBydWxlcztcbiAgfSk7XG4gIHJldHVybiBwcmV2S2V5ID8gW3ByZXZLZXkgKyBcIiB7XCJdLmNvbmNhdChydWxlcywgWyd9J10pIDogcnVsZXM7XG59O1xuZnVuY3Rpb24gZmxhdHRlbihjaHVuaywgZXhlY3V0aW9uQ29udGV4dCwgc3R5bGVTaGVldCkge1xuICBpZiAoQXJyYXkuaXNBcnJheShjaHVuaykpIHtcbiAgICB2YXIgcnVsZVNldCA9IFtdO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNodW5rLmxlbmd0aCwgcmVzdWx0OyBpIDwgbGVuOyBpICs9IDEpIHtcbiAgICAgIHJlc3VsdCA9IGZsYXR0ZW4oY2h1bmtbaV0sIGV4ZWN1dGlvbkNvbnRleHQsIHN0eWxlU2hlZXQpO1xuICAgICAgaWYgKHJlc3VsdCA9PT0gJycpIGNvbnRpbnVlO2Vsc2UgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkgcnVsZVNldC5wdXNoLmFwcGx5KHJ1bGVTZXQsIHJlc3VsdCk7ZWxzZSBydWxlU2V0LnB1c2gocmVzdWx0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcnVsZVNldDtcbiAgfVxuXG4gIGlmIChpc0ZhbHNpc2goY2h1bmspKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIC8qIEhhbmRsZSBvdGhlciBjb21wb25lbnRzICovXG5cblxuICBpZiAoaXNTdHlsZWRDb21wb25lbnQoY2h1bmspKSB7XG4gICAgcmV0dXJuIFwiLlwiICsgY2h1bmsuc3R5bGVkQ29tcG9uZW50SWQ7XG4gIH1cbiAgLyogRWl0aGVyIGV4ZWN1dGUgb3IgZGVmZXIgdGhlIGZ1bmN0aW9uICovXG5cblxuICBpZiAoaXNGdW5jdGlvbihjaHVuaykpIHtcbiAgICBpZiAoaXNTdGF0ZWxlc3NGdW5jdGlvbihjaHVuaykgJiYgZXhlY3V0aW9uQ29udGV4dCkge1xuICAgICAgdmFyIF9yZXN1bHQgPSBjaHVuayhleGVjdXRpb25Db250ZXh0KTtcblxuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgaXNFbGVtZW50KF9yZXN1bHQpKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUud2FybihnZXRDb21wb25lbnROYW1lKGNodW5rKSArIFwiIGlzIG5vdCBhIHN0eWxlZCBjb21wb25lbnQgYW5kIGNhbm5vdCBiZSByZWZlcnJlZCB0byB2aWEgY29tcG9uZW50IHNlbGVjdG9yLiBTZWUgaHR0cHM6Ly93d3cuc3R5bGVkLWNvbXBvbmVudHMuY29tL2RvY3MvYWR2YW5jZWQjcmVmZXJyaW5nLXRvLW90aGVyLWNvbXBvbmVudHMgZm9yIG1vcmUgZGV0YWlscy5cIik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmbGF0dGVuKF9yZXN1bHQsIGV4ZWN1dGlvbkNvbnRleHQsIHN0eWxlU2hlZXQpO1xuICAgIH0gZWxzZSByZXR1cm4gY2h1bms7XG4gIH1cblxuICBpZiAoY2h1bmsgaW5zdGFuY2VvZiBLZXlmcmFtZXMpIHtcbiAgICBpZiAoc3R5bGVTaGVldCkge1xuICAgICAgY2h1bmsuaW5qZWN0KHN0eWxlU2hlZXQpO1xuICAgICAgcmV0dXJuIGNodW5rLmdldE5hbWUoKTtcbiAgICB9IGVsc2UgcmV0dXJuIGNodW5rO1xuICB9XG4gIC8qIEhhbmRsZSBvYmplY3RzICovXG5cblxuICByZXR1cm4gaXNQbGFpbk9iamVjdChjaHVuaykgPyBvYmpUb0Nzc0FycmF5KGNodW5rKSA6IGNodW5rLnRvU3RyaW5nKCk7XG59XG5cbi8vIFxuZnVuY3Rpb24gY3NzKHN0eWxlcykge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgaW50ZXJwb2xhdGlvbnMgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGludGVycG9sYXRpb25zW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIGlmIChpc0Z1bmN0aW9uKHN0eWxlcykgfHwgaXNQbGFpbk9iamVjdChzdHlsZXMpKSB7XG4gICAgLy8gJEZsb3dGaXhNZVxuICAgIHJldHVybiBmbGF0dGVuKGludGVybGVhdmUoRU1QVFlfQVJSQVksIFtzdHlsZXNdLmNvbmNhdChpbnRlcnBvbGF0aW9ucykpKTtcbiAgfVxuXG4gIGlmIChpbnRlcnBvbGF0aW9ucy5sZW5ndGggPT09IDAgJiYgc3R5bGVzLmxlbmd0aCA9PT0gMSAmJiB0eXBlb2Ygc3R5bGVzWzBdID09PSBcInN0cmluZ1wiKSB7XG4gICAgLy8gJEZsb3dGaXhNZVxuICAgIHJldHVybiBzdHlsZXM7XG4gIH0gLy8gJEZsb3dGaXhNZVxuXG5cbiAgcmV0dXJuIGZsYXR0ZW4oaW50ZXJsZWF2ZShzdHlsZXMsIGludGVycG9sYXRpb25zKSk7XG59XG5cbmZ1bmN0aW9uIGNvbnN0cnVjdFdpdGhPcHRpb25zKGNvbXBvbmVudENvbnN0cnVjdG9yLCB0YWcsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSBFTVBUWV9PQkpFQ1Q7XG4gIH1cblxuICBpZiAoIWlzVmFsaWRFbGVtZW50VHlwZSh0YWcpKSB7XG4gICAgcmV0dXJuIHRocm93U3R5bGVkQ29tcG9uZW50c0Vycm9yKDEsIFN0cmluZyh0YWcpKTtcbiAgfVxuICAvKiBUaGlzIGlzIGNhbGxhYmxlIGRpcmVjdGx5IGFzIGEgdGVtcGxhdGUgZnVuY3Rpb24gKi9cbiAgLy8gJEZsb3dGaXhNZTogTm90IHR5cGVkIHRvIGF2b2lkIGRlc3RydWN0dXJpbmcgYXJndW1lbnRzXG5cblxuICB2YXIgdGVtcGxhdGVGdW5jdGlvbiA9IGZ1bmN0aW9uIHRlbXBsYXRlRnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGNvbXBvbmVudENvbnN0cnVjdG9yKHRhZywgb3B0aW9ucywgY3NzLmFwcGx5KHZvaWQgMCwgYXJndW1lbnRzKSk7XG4gIH07XG4gIC8qIElmIGNvbmZpZyBtZXRob2RzIGFyZSBjYWxsZWQsIHdyYXAgdXAgYSBuZXcgdGVtcGxhdGUgZnVuY3Rpb24gYW5kIG1lcmdlIG9wdGlvbnMgKi9cblxuXG4gIHRlbXBsYXRlRnVuY3Rpb24ud2l0aENvbmZpZyA9IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICByZXR1cm4gY29uc3RydWN0V2l0aE9wdGlvbnMoY29tcG9uZW50Q29uc3RydWN0b3IsIHRhZywgX2V4dGVuZHMoe30sIG9wdGlvbnMsIHt9LCBjb25maWcpKTtcbiAgfTtcbiAgLyogTW9kaWZ5L2luamVjdCBuZXcgcHJvcHMgYXQgcnVudGltZSAqL1xuXG5cbiAgdGVtcGxhdGVGdW5jdGlvbi5hdHRycyA9IGZ1bmN0aW9uIChhdHRycykge1xuICAgIHJldHVybiBjb25zdHJ1Y3RXaXRoT3B0aW9ucyhjb21wb25lbnRDb25zdHJ1Y3RvciwgdGFnLCBfZXh0ZW5kcyh7fSwgb3B0aW9ucywge1xuICAgICAgYXR0cnM6IEFycmF5LnByb3RvdHlwZS5jb25jYXQob3B0aW9ucy5hdHRycywgYXR0cnMpLmZpbHRlcihCb29sZWFuKVxuICAgIH0pKTtcbiAgfTtcblxuICByZXR1cm4gdGVtcGxhdGVGdW5jdGlvbjtcbn1cblxuLyogZXNsaW50LWRpc2FibGUgKi9cblxuLyoqXG4gIG1peGluLWRlZXA7IGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zY2hsaW5rZXJ0L21peGluLWRlZXBcbiAgSW5saW5lZCBzdWNoIHRoYXQgaXQgd2lsbCBiZSBjb25zaXN0ZW50bHkgdHJhbnNwaWxlZCB0byBhbiBJRS1jb21wYXRpYmxlIHN5bnRheC5cblxuICBUaGUgTUlUIExpY2Vuc2UgKE1JVClcblxuICBDb3B5cmlnaHQgKGMpIDIwMTQtcHJlc2VudCwgSm9uIFNjaGxpbmtlcnQuXG5cbiAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuICBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4gIFRIRSBTT0ZUV0FSRS5cbiovXG52YXIgaXNPYmplY3QgPSBmdW5jdGlvbiBpc09iamVjdCh2YWwpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsICE9PSBudWxsICYmICFBcnJheS5pc0FycmF5KHZhbCk7XG59O1xuXG52YXIgaXNWYWxpZEtleSA9IGZ1bmN0aW9uIGlzVmFsaWRLZXkoa2V5KSB7XG4gIHJldHVybiBrZXkgIT09ICdfX3Byb3RvX18nICYmIGtleSAhPT0gJ2NvbnN0cnVjdG9yJyAmJiBrZXkgIT09ICdwcm90b3R5cGUnO1xufTtcblxuZnVuY3Rpb24gbWl4aW4odGFyZ2V0LCB2YWwsIGtleSkge1xuICB2YXIgb2JqID0gdGFyZ2V0W2tleV07XG5cbiAgaWYgKGlzT2JqZWN0KHZhbCkgJiYgaXNPYmplY3Qob2JqKSkge1xuICAgIG1peGluRGVlcChvYmosIHZhbCk7XG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0W2tleV0gPSB2YWw7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWl4aW5EZWVwKHRhcmdldCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgcmVzdCA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgcmVzdFtfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICBmb3IgKHZhciBfaSA9IDAsIF9yZXN0ID0gcmVzdDsgX2kgPCBfcmVzdC5sZW5ndGg7IF9pKyspIHtcbiAgICB2YXIgb2JqID0gX3Jlc3RbX2ldO1xuXG4gICAgaWYgKGlzT2JqZWN0KG9iaikpIHtcbiAgICAgIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICAgICAgaWYgKGlzVmFsaWRLZXkoa2V5KSkge1xuICAgICAgICAgIG1peGluKHRhcmdldCwgb2JqW2tleV0sIGtleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG4vLyBcblxuLyogZXNsaW50LWRpc2FibGUgbm8tYml0d2lzZSAqL1xudmFyIEFEX1JFUExBQ0VSX1IgPSAvKGEpKGQpL2dpO1xuLyogVGhpcyBpcyB0aGUgXCJjYXBhY2l0eVwiIG9mIG91ciBhbHBoYWJldCBpLmUuIDJ4MjYgZm9yIGFsbCBsZXR0ZXJzIHBsdXMgdGhlaXIgY2FwaXRhbGlzZWRcbiAqIGNvdW50ZXJwYXJ0cyAqL1xuXG52YXIgY2hhcnNMZW5ndGggPSA1Mjtcbi8qIHN0YXJ0IGF0IDc1IGZvciAnYScgdW50aWwgJ3onICgyNSkgYW5kIHRoZW4gc3RhcnQgYXQgNjUgZm9yIGNhcGl0YWxpc2VkIGxldHRlcnMgKi9cblxudmFyIGdldEFscGhhYmV0aWNDaGFyID0gZnVuY3Rpb24gZ2V0QWxwaGFiZXRpY0NoYXIoY29kZSkge1xuICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlICsgKGNvZGUgPiAyNSA/IDM5IDogOTcpKTtcbn07XG4vKiBpbnB1dCBhIG51bWJlciwgdXN1YWxseSBhIGhhc2ggYW5kIGNvbnZlcnQgaXQgdG8gYmFzZS01MiAqL1xuXG5cbmZ1bmN0aW9uIGdlbmVyYXRlQWxwaGFiZXRpY05hbWUoY29kZSkge1xuICB2YXIgbmFtZSA9ICcnO1xuICB2YXIgeDtcbiAgLyogZ2V0IGEgY2hhciBhbmQgZGl2aWRlIGJ5IGFscGhhYmV0LWxlbmd0aCAqL1xuXG4gIGZvciAoeCA9IE1hdGguYWJzKGNvZGUpOyB4ID4gY2hhcnNMZW5ndGg7IHggPSB4IC8gY2hhcnNMZW5ndGggfCAwKSB7XG4gICAgbmFtZSA9IGdldEFscGhhYmV0aWNDaGFyKHggJSBjaGFyc0xlbmd0aCkgKyBuYW1lO1xuICB9XG5cbiAgcmV0dXJuIChnZXRBbHBoYWJldGljQ2hhcih4ICUgY2hhcnNMZW5ndGgpICsgbmFtZSkucmVwbGFjZShBRF9SRVBMQUNFUl9SLCAnJDEtJDInKTtcbn1cblxuLy8gXG5mdW5jdGlvbiBpc1N0YXRpY1J1bGVzKHJ1bGVzKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICB2YXIgcnVsZSA9IHJ1bGVzW2ldO1xuXG4gICAgaWYgKGlzRnVuY3Rpb24ocnVsZSkgJiYgIWlzU3R5bGVkQ29tcG9uZW50KHJ1bGUpKSB7XG4gICAgICAvLyBmdW5jdGlvbnMgYXJlIGFsbG93ZWQgdG8gYmUgc3RhdGljIGlmIHRoZXkncmUganVzdCBiZWluZ1xuICAgICAgLy8gdXNlZCB0byBnZXQgdGhlIGNsYXNzbmFtZSBvZiBhIG5lc3RlZCBzdHlsZWQgY29tcG9uZW50XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8vIFxuLypcbiBDb21wb25lbnRTdHlsZSBpcyBhbGwgdGhlIENTUy1zcGVjaWZpYyBzdHVmZiwgbm90XG4gdGhlIFJlYWN0LXNwZWNpZmljIHN0dWZmLlxuICovXG5cbnZhciBDb21wb25lbnRTdHlsZSA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIENvbXBvbmVudFN0eWxlKHJ1bGVzLCBjb21wb25lbnRJZCkge1xuICAgIHRoaXMucnVsZXMgPSBydWxlcztcbiAgICB0aGlzLnN0YXRpY1J1bGVzSWQgPSAnJztcbiAgICB0aGlzLmlzU3RhdGljID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJyAmJiBpc1N0YXRpY1J1bGVzKHJ1bGVzKTtcbiAgICB0aGlzLmNvbXBvbmVudElkID0gY29tcG9uZW50SWQ7XG4gICAgdGhpcy5iYXNlSGFzaCA9IGhhc2goY29tcG9uZW50SWQpOyAvLyBOT1RFOiBUaGlzIHJlZ2lzdGVycyB0aGUgY29tcG9uZW50SWQsIHdoaWNoIGVuc3VyZXMgYSBjb25zaXN0ZW50IG9yZGVyXG4gICAgLy8gZm9yIHRoaXMgY29tcG9uZW50J3Mgc3R5bGVzIGNvbXBhcmVkIHRvIG90aGVyc1xuXG4gICAgU3R5bGVTaGVldC5yZWdpc3RlcklkKGNvbXBvbmVudElkKTtcbiAgfVxuICAvKlxuICAgKiBGbGF0dGVucyBhIHJ1bGUgc2V0IGludG8gdmFsaWQgQ1NTXG4gICAqIEhhc2hlcyBpdCwgd3JhcHMgdGhlIHdob2xlIGNodW5rIGluIGEgLmhhc2gxMjM0IHt9XG4gICAqIFJldHVybnMgdGhlIGhhc2ggdG8gYmUgaW5qZWN0ZWQgb24gcmVuZGVyKClcbiAgICogKi9cblxuXG4gIHZhciBfcHJvdG8gPSBDb21wb25lbnRTdHlsZS5wcm90b3R5cGU7XG5cbiAgX3Byb3RvLmdlbmVyYXRlQW5kSW5qZWN0U3R5bGVzID0gZnVuY3Rpb24gZ2VuZXJhdGVBbmRJbmplY3RTdHlsZXMoZXhlY3V0aW9uQ29udGV4dCwgc3R5bGVTaGVldCwgc3R5bGlzKSB7XG4gICAgdmFyIGNvbXBvbmVudElkID0gdGhpcy5jb21wb25lbnRJZDsgLy8gZm9yY2UgZHluYW1pYyBjbGFzc25hbWVzIGlmIHVzZXItc3VwcGxpZWQgc3R5bGlzIHBsdWdpbnMgYXJlIGluIHVzZVxuXG4gICAgaWYgKHRoaXMuaXNTdGF0aWMgJiYgIXN0eWxpcy5oYXNoKSB7XG4gICAgICBpZiAodGhpcy5zdGF0aWNSdWxlc0lkICYmIHN0eWxlU2hlZXQuaGFzTmFtZUZvcklkKGNvbXBvbmVudElkLCB0aGlzLnN0YXRpY1J1bGVzSWQpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRpY1J1bGVzSWQ7XG4gICAgICB9XG5cbiAgICAgIHZhciBjc3NTdGF0aWMgPSBmbGF0dGVuKHRoaXMucnVsZXMsIGV4ZWN1dGlvbkNvbnRleHQsIHN0eWxlU2hlZXQpLmpvaW4oJycpO1xuICAgICAgdmFyIG5hbWUgPSBnZW5lcmF0ZUFscGhhYmV0aWNOYW1lKHBoYXNoKHRoaXMuYmFzZUhhc2gsIGNzc1N0YXRpYy5sZW5ndGgpID4+PiAwKTtcblxuICAgICAgaWYgKCFzdHlsZVNoZWV0Lmhhc05hbWVGb3JJZChjb21wb25lbnRJZCwgbmFtZSkpIHtcbiAgICAgICAgdmFyIGNzc1N0YXRpY0Zvcm1hdHRlZCA9IHN0eWxpcyhjc3NTdGF0aWMsIFwiLlwiICsgbmFtZSwgdW5kZWZpbmVkLCBjb21wb25lbnRJZCk7XG4gICAgICAgIHN0eWxlU2hlZXQuaW5zZXJ0UnVsZXMoY29tcG9uZW50SWQsIG5hbWUsIGNzc1N0YXRpY0Zvcm1hdHRlZCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RhdGljUnVsZXNJZCA9IG5hbWU7XG4gICAgICByZXR1cm4gbmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGxlbmd0aCA9IHRoaXMucnVsZXMubGVuZ3RoO1xuICAgICAgdmFyIGR5bmFtaWNIYXNoID0gcGhhc2godGhpcy5iYXNlSGFzaCwgc3R5bGlzLmhhc2gpO1xuICAgICAgdmFyIGNzcyA9ICcnO1xuXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBwYXJ0UnVsZSA9IHRoaXMucnVsZXNbaV07XG5cbiAgICAgICAgaWYgKHR5cGVvZiBwYXJ0UnVsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjc3MgKz0gcGFydFJ1bGU7XG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIGR5bmFtaWNIYXNoID0gcGhhc2goZHluYW1pY0hhc2gsIHBhcnRSdWxlICsgaSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHBhcnRDaHVuayA9IGZsYXR0ZW4ocGFydFJ1bGUsIGV4ZWN1dGlvbkNvbnRleHQsIHN0eWxlU2hlZXQpO1xuICAgICAgICAgIHZhciBwYXJ0U3RyaW5nID0gQXJyYXkuaXNBcnJheShwYXJ0Q2h1bmspID8gcGFydENodW5rLmpvaW4oJycpIDogcGFydENodW5rO1xuICAgICAgICAgIGR5bmFtaWNIYXNoID0gcGhhc2goZHluYW1pY0hhc2gsIHBhcnRTdHJpbmcgKyBpKTtcbiAgICAgICAgICBjc3MgKz0gcGFydFN0cmluZztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgX25hbWUgPSBnZW5lcmF0ZUFscGhhYmV0aWNOYW1lKGR5bmFtaWNIYXNoID4+PiAwKTtcblxuICAgICAgaWYgKCFzdHlsZVNoZWV0Lmhhc05hbWVGb3JJZChjb21wb25lbnRJZCwgX25hbWUpKSB7XG4gICAgICAgIHZhciBjc3NGb3JtYXR0ZWQgPSBzdHlsaXMoY3NzLCBcIi5cIiArIF9uYW1lLCB1bmRlZmluZWQsIGNvbXBvbmVudElkKTtcbiAgICAgICAgc3R5bGVTaGVldC5pbnNlcnRSdWxlcyhjb21wb25lbnRJZCwgX25hbWUsIGNzc0Zvcm1hdHRlZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBfbmFtZTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIENvbXBvbmVudFN0eWxlO1xufSgpO1xuXG4vLyBcbnZhciBMSU1JVCA9IDIwMDtcbnZhciBjcmVhdGVXYXJuVG9vTWFueUNsYXNzZXMgPSAoZnVuY3Rpb24gKGRpc3BsYXlOYW1lLCBjb21wb25lbnRJZCkge1xuICB2YXIgZ2VuZXJhdGVkQ2xhc3NlcyA9IHt9O1xuICB2YXIgd2FybmluZ1NlZW4gPSBmYWxzZTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChjbGFzc05hbWUpIHtcbiAgICBpZiAoIXdhcm5pbmdTZWVuKSB7XG4gICAgICBnZW5lcmF0ZWRDbGFzc2VzW2NsYXNzTmFtZV0gPSB0cnVlO1xuXG4gICAgICBpZiAoT2JqZWN0LmtleXMoZ2VuZXJhdGVkQ2xhc3NlcykubGVuZ3RoID49IExJTUlUKSB7XG4gICAgICAgIC8vIFVuYWJsZSB0byBmaW5kIGxhdGVzdFJ1bGUgaW4gdGVzdCBlbnZpcm9ubWVudC5cblxuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlLCBwcmVmZXItdGVtcGxhdGUgKi9cbiAgICAgICAgdmFyIHBhcnNlZElkU3RyaW5nID0gY29tcG9uZW50SWQgPyBcIiB3aXRoIHRoZSBpZCBvZiBcXFwiXCIgKyBjb21wb25lbnRJZCArIFwiXFxcIlwiIDogJyc7XG4gICAgICAgIGNvbnNvbGUud2FybihcIk92ZXIgXCIgKyBMSU1JVCArIFwiIGNsYXNzZXMgd2VyZSBnZW5lcmF0ZWQgZm9yIGNvbXBvbmVudCBcIiArIGRpc3BsYXlOYW1lICsgcGFyc2VkSWRTdHJpbmcgKyBcIi5cXG5cIiArICdDb25zaWRlciB1c2luZyB0aGUgYXR0cnMgbWV0aG9kLCB0b2dldGhlciB3aXRoIGEgc3R5bGUgb2JqZWN0IGZvciBmcmVxdWVudGx5IGNoYW5nZWQgc3R5bGVzLlxcbicgKyAnRXhhbXBsZTpcXG4nICsgJyAgY29uc3QgQ29tcG9uZW50ID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xcbicgKyAnICAgIHN0eWxlOiB7XFxuJyArICcgICAgICBiYWNrZ3JvdW5kOiBwcm9wcy5iYWNrZ3JvdW5kLFxcbicgKyAnICAgIH0sXFxuJyArICcgIH0pKWB3aWR0aDogMTAwJTtgXFxuXFxuJyArICcgIDxDb21wb25lbnQgLz4nKTtcbiAgICAgICAgd2FybmluZ1NlZW4gPSB0cnVlO1xuICAgICAgICBnZW5lcmF0ZWRDbGFzc2VzID0ge307XG4gICAgICB9XG4gICAgfVxuICB9O1xufSk7XG5cbi8vIFxudmFyIGludmFsaWRIb29rQ2FsbFJlID0gL2ludmFsaWQgaG9vayBjYWxsL2k7XG52YXIgc2VlbiA9IG5ldyBTZXQoKTtcbnZhciBjaGVja0R5bmFtaWNDcmVhdGlvbiA9IGZ1bmN0aW9uIGNoZWNrRHluYW1pY0NyZWF0aW9uKGRpc3BsYXlOYW1lLCBjb21wb25lbnRJZCkge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIHZhciBwYXJzZWRJZFN0cmluZyA9IGNvbXBvbmVudElkID8gXCIgd2l0aCB0aGUgaWQgb2YgXFxcIlwiICsgY29tcG9uZW50SWQgKyBcIlxcXCJcIiA6ICcnO1xuICAgIHZhciBtZXNzYWdlID0gXCJUaGUgY29tcG9uZW50IFwiICsgZGlzcGxheU5hbWUgKyBwYXJzZWRJZFN0cmluZyArIFwiIGhhcyBiZWVuIGNyZWF0ZWQgZHluYW1pY2FsbHkuXFxuXCIgKyAnWW91IG1heSBzZWUgdGhpcyB3YXJuaW5nIGJlY2F1c2UgeW91XFwndmUgY2FsbGVkIHN0eWxlZCBpbnNpZGUgYW5vdGhlciBjb21wb25lbnQuXFxuJyArICdUbyByZXNvbHZlIHRoaXMgb25seSBjcmVhdGUgbmV3IFN0eWxlZENvbXBvbmVudHMgb3V0c2lkZSBvZiBhbnkgcmVuZGVyIG1ldGhvZCBhbmQgZnVuY3Rpb24gY29tcG9uZW50Lic7XG5cbiAgICB0cnkge1xuICAgICAgLy8gV2UgcHVycG9zZWZ1bGx5IGNhbGwgYHVzZVJlZmAgb3V0c2lkZSBvZiBhIGNvbXBvbmVudCBhbmQgZXhwZWN0IGl0IHRvIHRocm93XG4gICAgICAvLyBJZiBpdCBkb2Vzbid0LCB0aGVuIHdlJ3JlIGluc2lkZSBhbm90aGVyIGNvbXBvbmVudC5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgICAgdXNlUmVmKCk7XG5cbiAgICAgIGlmICghc2Vlbi5oYXMobWVzc2FnZSkpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgY29uc29sZS53YXJuKG1lc3NhZ2UpO1xuICAgICAgICBzZWVuLmFkZChtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gVGhlIGVycm9yIGhlcmUgaXMgZXhwZWN0ZWQsIHNpbmNlIHdlJ3JlIGV4cGVjdGluZyBhbnl0aGluZyB0aGF0IHVzZXMgYGNoZWNrRHluYW1pY0NyZWF0aW9uYCB0b1xuICAgICAgLy8gYmUgY2FsbGVkIG91dHNpZGUgb2YgYSBSZWFjdCBjb21wb25lbnQuXG4gICAgICBpZiAoaW52YWxpZEhvb2tDYWxsUmUudGVzdChlcnJvci5tZXNzYWdlKSkge1xuICAgICAgICAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIGJ1dCByZXNldHMgYHdhcm5pbmdTZWVuYCBpZiB3ZSBoYWQgdGhpcyBlcnJvciBoYXBwZW4gaW50ZXJtaXR0ZW50bHlcbiAgICAgICAgc2VlbltcImRlbGV0ZVwiXShtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbi8vIFxudmFyIGRldGVybWluZVRoZW1lID0gKGZ1bmN0aW9uIChwcm9wcywgcHJvdmlkZWRUaGVtZSwgZGVmYXVsdFByb3BzKSB7XG4gIGlmIChkZWZhdWx0UHJvcHMgPT09IHZvaWQgMCkge1xuICAgIGRlZmF1bHRQcm9wcyA9IEVNUFRZX09CSkVDVDtcbiAgfVxuXG4gIHJldHVybiBwcm9wcy50aGVtZSAhPT0gZGVmYXVsdFByb3BzLnRoZW1lICYmIHByb3BzLnRoZW1lIHx8IHByb3ZpZGVkVGhlbWUgfHwgZGVmYXVsdFByb3BzLnRoZW1lO1xufSk7XG5cbi8vIFxuLy8gU291cmNlOiBodHRwczovL3d3dy53My5vcmcvVFIvY3Nzb20tMS8jc2VyaWFsaXplLWFuLWlkZW50aWZpZXJcbi8vIENvbnRyb2wgY2hhcmFjdGVycyBhbmQgbm9uLWxldHRlciBmaXJzdCBzeW1ib2xzIGFyZSBub3Qgc3VwcG9ydGVkXG52YXIgZXNjYXBlUmVnZXggPSAvWyFcIiMkJSYnKCkqKywuLzo7PD0+P0BbXFxcXFxcXV5ge3x9fi1dKy9nO1xudmFyIGRhc2hlc0F0RW5kcyA9IC8oXi18LSQpL2c7XG4vKipcbiAqIFRPRE86IEV4cGxvcmUgdXNpbmcgQ1NTLmVzY2FwZSB3aGVuIGl0IGJlY29tZXMgbW9yZSBhdmFpbGFibGVcbiAqIGluIGV2ZXJncmVlbiBicm93c2Vycy5cbiAqL1xuXG5mdW5jdGlvbiBlc2NhcGUoc3RyKSB7XG4gIHJldHVybiBzdHIgLy8gUmVwbGFjZSBhbGwgcG9zc2libGUgQ1NTIHNlbGVjdG9yc1xuICAucmVwbGFjZShlc2NhcGVSZWdleCwgJy0nKSAvLyBSZW1vdmUgZXh0cmFuZW91cyBoeXBoZW5zIGF0IHRoZSBzdGFydCBhbmQgZW5kXG4gIC5yZXBsYWNlKGRhc2hlc0F0RW5kcywgJycpO1xufVxuXG4vLyBcbmZ1bmN0aW9uIGlzVGFnKHRhcmdldCkge1xuICByZXR1cm4gdHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycgJiYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgPyB0YXJnZXQuY2hhckF0KDApID09PSB0YXJnZXQuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgOiB0cnVlKTtcbn1cblxuLy8gXG5mdW5jdGlvbiBnZW5lcmF0ZURpc3BsYXlOYW1lKHRhcmdldCkge1xuICAvLyAkRmxvd0ZpeE1lXG4gIHJldHVybiBpc1RhZyh0YXJnZXQpID8gXCJzdHlsZWQuXCIgKyB0YXJnZXQgOiBcIlN0eWxlZChcIiArIGdldENvbXBvbmVudE5hbWUodGFyZ2V0KSArIFwiKVwiO1xufVxuXG4vLyBcbnZhciBnZW5lcmF0ZUNvbXBvbmVudElkID0gKGZ1bmN0aW9uIChzdHIpIHtcbiAgcmV0dXJuIGdlbmVyYXRlQWxwaGFiZXRpY05hbWUoaGFzaChzdHIpID4+PiAwKTtcbn0pO1xuXG4vKipcbiAqIENvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciBqb2luaW5nIHN0cmluZ3MgdG8gZm9ybSBjbGFzc05hbWUgY2hhaW5zXG4gKi9cbmZ1bmN0aW9uIGpvaW5TdHJpbmdzKGEsIGIpIHtcbiAgcmV0dXJuIGEgJiYgYiA/IGEgKyBcIiBcIiArIGIgOiBhIHx8IGI7XG59XG5cbnZhciBUaGVtZUNvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0KCk7XG52YXIgVGhlbWVDb25zdW1lciA9IFRoZW1lQ29udGV4dC5Db25zdW1lcjtcblxuZnVuY3Rpb24gbWVyZ2VUaGVtZSh0aGVtZSwgb3V0ZXJUaGVtZSkge1xuICBpZiAoIXRoZW1lKSB7XG4gICAgcmV0dXJuIHRocm93U3R5bGVkQ29tcG9uZW50c0Vycm9yKDE0KTtcbiAgfVxuXG4gIGlmIChpc0Z1bmN0aW9uKHRoZW1lKSkge1xuICAgIHZhciBtZXJnZWRUaGVtZSA9IHRoZW1lKG91dGVyVGhlbWUpO1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicgJiYgKG1lcmdlZFRoZW1lID09PSBudWxsIHx8IEFycmF5LmlzQXJyYXkobWVyZ2VkVGhlbWUpIHx8IHR5cGVvZiBtZXJnZWRUaGVtZSAhPT0gJ29iamVjdCcpKSB7XG4gICAgICByZXR1cm4gdGhyb3dTdHlsZWRDb21wb25lbnRzRXJyb3IoNyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lcmdlZFRoZW1lO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodGhlbWUpIHx8IHR5cGVvZiB0aGVtZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gdGhyb3dTdHlsZWRDb21wb25lbnRzRXJyb3IoOCk7XG4gIH1cblxuICByZXR1cm4gb3V0ZXJUaGVtZSA/IF9leHRlbmRzKHt9LCBvdXRlclRoZW1lLCB7fSwgdGhlbWUpIDogdGhlbWU7XG59XG4vKipcbiAqIFByb3ZpZGUgYSB0aGVtZSB0byBhbiBlbnRpcmUgcmVhY3QgY29tcG9uZW50IHRyZWUgdmlhIGNvbnRleHRcbiAqL1xuXG5cbmZ1bmN0aW9uIFRoZW1lUHJvdmlkZXIocHJvcHMpIHtcbiAgdmFyIG91dGVyVGhlbWUgPSB1c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XG4gIHZhciB0aGVtZUNvbnRleHQgPSB1c2VNZW1vKGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbWVyZ2VUaGVtZShwcm9wcy50aGVtZSwgb3V0ZXJUaGVtZSk7XG4gIH0sIFtwcm9wcy50aGVtZSwgb3V0ZXJUaGVtZV0pO1xuXG4gIGlmICghcHJvcHMuY2hpbGRyZW4pIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChUaGVtZUNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogdGhlbWVDb250ZXh0XG4gIH0sIHByb3BzLmNoaWxkcmVuKTtcbn1cblxuLyogZ2xvYmFsICRDYWxsICovXG5cbnZhciBpZGVudGlmaWVycyA9IHt9O1xuLyogV2UgZGVwZW5kIG9uIGNvbXBvbmVudHMgaGF2aW5nIHVuaXF1ZSBJRHMgKi9cblxuZnVuY3Rpb24gZ2VuZXJhdGVJZChkaXNwbGF5TmFtZSwgcGFyZW50Q29tcG9uZW50SWQpIHtcbiAgdmFyIG5hbWUgPSB0eXBlb2YgZGlzcGxheU5hbWUgIT09ICdzdHJpbmcnID8gJ3NjJyA6IGVzY2FwZShkaXNwbGF5TmFtZSk7IC8vIEVuc3VyZSB0aGF0IG5vIGRpc3BsYXlOYW1lIGNhbiBsZWFkIHRvIGR1cGxpY2F0ZSBjb21wb25lbnRJZHNcblxuICBpZGVudGlmaWVyc1tuYW1lXSA9IChpZGVudGlmaWVyc1tuYW1lXSB8fCAwKSArIDE7XG4gIHZhciBjb21wb25lbnRJZCA9IG5hbWUgKyBcIi1cIiArIGdlbmVyYXRlQ29tcG9uZW50SWQobmFtZSArIGlkZW50aWZpZXJzW25hbWVdKTtcbiAgcmV0dXJuIHBhcmVudENvbXBvbmVudElkID8gcGFyZW50Q29tcG9uZW50SWQgKyBcIi1cIiArIGNvbXBvbmVudElkIDogY29tcG9uZW50SWQ7XG59XG5cbmZ1bmN0aW9uIHVzZVJlc29sdmVkQXR0cnModGhlbWUsIHByb3BzLCBhdHRycykge1xuICBpZiAodGhlbWUgPT09IHZvaWQgMCkge1xuICAgIHRoZW1lID0gRU1QVFlfT0JKRUNUO1xuICB9XG5cbiAgLy8gTk9URTogY2FuJ3QgbWVtb2l6ZSB0aGlzXG4gIC8vIHJldHVybnMgW2NvbnRleHQsIHJlc29sdmVkQXR0cnNdXG4gIC8vIHdoZXJlIHJlc29sdmVkQXR0cnMgaXMgb25seSB0aGUgdGhpbmdzIGluamVjdGVkIGJ5IHRoZSBhdHRycyB0aGVtc2VsdmVzXG4gIHZhciBjb250ZXh0ID0gX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgdGhlbWU6IHRoZW1lXG4gIH0pO1xuXG4gIHZhciByZXNvbHZlZEF0dHJzID0ge307XG4gIGF0dHJzLmZvckVhY2goZnVuY3Rpb24gKGF0dHJEZWYpIHtcbiAgICB2YXIgcmVzb2x2ZWRBdHRyRGVmID0gYXR0ckRlZjtcbiAgICB2YXIga2V5O1xuXG4gICAgaWYgKGlzRnVuY3Rpb24ocmVzb2x2ZWRBdHRyRGVmKSkge1xuICAgICAgcmVzb2x2ZWRBdHRyRGVmID0gcmVzb2x2ZWRBdHRyRGVmKGNvbnRleHQpO1xuICAgIH1cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBndWFyZC1mb3ItaW4gKi9cblxuXG4gICAgZm9yIChrZXkgaW4gcmVzb2x2ZWRBdHRyRGVmKSB7XG4gICAgICBjb250ZXh0W2tleV0gPSByZXNvbHZlZEF0dHJzW2tleV0gPSBrZXkgPT09ICdjbGFzc05hbWUnID8gam9pblN0cmluZ3MocmVzb2x2ZWRBdHRyc1trZXldLCByZXNvbHZlZEF0dHJEZWZba2V5XSkgOiByZXNvbHZlZEF0dHJEZWZba2V5XTtcbiAgICB9XG4gICAgLyogZXNsaW50LWVuYWJsZSBndWFyZC1mb3ItaW4gKi9cblxuICB9KTtcbiAgcmV0dXJuIFtjb250ZXh0LCByZXNvbHZlZEF0dHJzXTtcbn1cblxuZnVuY3Rpb24gdXNlSW5qZWN0ZWRTdHlsZShjb21wb25lbnRTdHlsZSwgaGFzQXR0cnMsIHJlc29sdmVkQXR0cnMsIHdhcm5Ub29NYW55Q2xhc3Nlcykge1xuICB2YXIgc3R5bGVTaGVldCA9IHVzZVN0eWxlU2hlZXQoKTtcbiAgdmFyIHN0eWxpcyA9IHVzZVN0eWxpcygpOyAvLyBzdGF0aWNhbGx5IHN0eWxlZC1jb21wb25lbnRzIGRvbid0IG5lZWQgdG8gYnVpbGQgYW4gZXhlY3V0aW9uIGNvbnRleHQgb2JqZWN0LFxuICAvLyBhbmQgc2hvdWxkbid0IGJlIGluY3JlYXNpbmcgdGhlIG51bWJlciBvZiBjbGFzcyBuYW1lc1xuXG4gIHZhciBpc1N0YXRpYyA9IGNvbXBvbmVudFN0eWxlLmlzU3RhdGljICYmICFoYXNBdHRycztcbiAgdmFyIGNsYXNzTmFtZSA9IGlzU3RhdGljID8gY29tcG9uZW50U3R5bGUuZ2VuZXJhdGVBbmRJbmplY3RTdHlsZXMoRU1QVFlfT0JKRUNULCBzdHlsZVNoZWV0LCBzdHlsaXMpIDogY29tcG9uZW50U3R5bGUuZ2VuZXJhdGVBbmRJbmplY3RTdHlsZXMocmVzb2x2ZWRBdHRycywgc3R5bGVTaGVldCwgc3R5bGlzKTtcbiAgdXNlRGVidWdWYWx1ZShjbGFzc05hbWUpO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmICFpc1N0YXRpYyAmJiB3YXJuVG9vTWFueUNsYXNzZXMpIHtcbiAgICB3YXJuVG9vTWFueUNsYXNzZXMoY2xhc3NOYW1lKTtcbiAgfVxuXG4gIHJldHVybiBjbGFzc05hbWU7XG59XG5cbmZ1bmN0aW9uIHVzZVN0eWxlZENvbXBvbmVudEltcGwoZm9yd2FyZGVkQ29tcG9uZW50LCBwcm9wcywgZm9yd2FyZGVkUmVmKSB7XG4gIHZhciBjb21wb25lbnRBdHRycyA9IGZvcndhcmRlZENvbXBvbmVudC5hdHRycyxcbiAgICAgIGNvbXBvbmVudFN0eWxlID0gZm9yd2FyZGVkQ29tcG9uZW50LmNvbXBvbmVudFN0eWxlLFxuICAgICAgZGVmYXVsdFByb3BzID0gZm9yd2FyZGVkQ29tcG9uZW50LmRlZmF1bHRQcm9wcyxcbiAgICAgIGZvbGRlZENvbXBvbmVudElkcyA9IGZvcndhcmRlZENvbXBvbmVudC5mb2xkZWRDb21wb25lbnRJZHMsXG4gICAgICBzaG91bGRGb3J3YXJkUHJvcCA9IGZvcndhcmRlZENvbXBvbmVudC5zaG91bGRGb3J3YXJkUHJvcCxcbiAgICAgIHN0eWxlZENvbXBvbmVudElkID0gZm9yd2FyZGVkQ29tcG9uZW50LnN0eWxlZENvbXBvbmVudElkLFxuICAgICAgdGFyZ2V0ID0gZm9yd2FyZGVkQ29tcG9uZW50LnRhcmdldDtcbiAgdXNlRGVidWdWYWx1ZShzdHlsZWRDb21wb25lbnRJZCk7IC8vIE5PVEU6IHRoZSBub24taG9va3MgdmVyc2lvbiBvbmx5IHN1YnNjcmliZXMgdG8gdGhpcyB3aGVuICFjb21wb25lbnRTdHlsZS5pc1N0YXRpYyxcbiAgLy8gYnV0IHRoYXQnZCBiZSBhZ2FpbnN0IHRoZSBydWxlcy1vZi1ob29rcy4gV2UgY291bGQgYmUgbmF1Z2h0eSBhbmQgZG8gaXQgYW55d2F5IGFzIGl0XG4gIC8vIHNob3VsZCBiZSBhbiBpbW11dGFibGUgdmFsdWUsIGJ1dCBiZWhhdmUgZm9yIG5vdy5cblxuICB2YXIgdGhlbWUgPSBkZXRlcm1pbmVUaGVtZShwcm9wcywgdXNlQ29udGV4dChUaGVtZUNvbnRleHQpLCBkZWZhdWx0UHJvcHMpO1xuXG4gIHZhciBfdXNlUmVzb2x2ZWRBdHRycyA9IHVzZVJlc29sdmVkQXR0cnModGhlbWUgfHwgRU1QVFlfT0JKRUNULCBwcm9wcywgY29tcG9uZW50QXR0cnMpLFxuICAgICAgY29udGV4dCA9IF91c2VSZXNvbHZlZEF0dHJzWzBdLFxuICAgICAgYXR0cnMgPSBfdXNlUmVzb2x2ZWRBdHRyc1sxXTtcblxuICB2YXIgZ2VuZXJhdGVkQ2xhc3NOYW1lID0gdXNlSW5qZWN0ZWRTdHlsZShjb21wb25lbnRTdHlsZSwgY29tcG9uZW50QXR0cnMubGVuZ3RoID4gMCwgY29udGV4dCwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyA/IGZvcndhcmRlZENvbXBvbmVudC53YXJuVG9vTWFueUNsYXNzZXMgOiB1bmRlZmluZWQpO1xuICB2YXIgcmVmVG9Gb3J3YXJkID0gZm9yd2FyZGVkUmVmO1xuICB2YXIgZWxlbWVudFRvQmVDcmVhdGVkID0gYXR0cnMuJGFzIHx8IHByb3BzLiRhcyB8fCBhdHRycy5hcyB8fCBwcm9wcy5hcyB8fCB0YXJnZXQ7XG4gIHZhciBpc1RhcmdldFRhZyA9IGlzVGFnKGVsZW1lbnRUb0JlQ3JlYXRlZCk7XG4gIHZhciBjb21wdXRlZFByb3BzID0gYXR0cnMgIT09IHByb3BzID8gX2V4dGVuZHMoe30sIHByb3BzLCB7fSwgYXR0cnMpIDogcHJvcHM7XG4gIHZhciBwcm9wRmlsdGVyRm4gPSBzaG91bGRGb3J3YXJkUHJvcCB8fCBpc1RhcmdldFRhZyAmJiB2YWxpZEF0dHI7XG4gIHZhciBwcm9wc0ZvckVsZW1lbnQgPSB7fTsgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGd1YXJkLWZvci1pblxuXG4gIGZvciAodmFyIGtleSBpbiBjb21wdXRlZFByb3BzKSB7XG4gICAgaWYgKGtleVswXSA9PT0gJyQnIHx8IGtleSA9PT0gJ2FzJykgY29udGludWU7ZWxzZSBpZiAoa2V5ID09PSAnZm9yd2FyZGVkQXMnKSB7XG4gICAgICBwcm9wc0ZvckVsZW1lbnQuYXMgPSBjb21wdXRlZFByb3BzW2tleV07XG4gICAgfSBlbHNlIGlmICghcHJvcEZpbHRlckZuIHx8IHByb3BGaWx0ZXJGbihrZXksIHZhbGlkQXR0cikpIHtcbiAgICAgIC8vIERvbid0IHBhc3MgdGhyb3VnaCBub24gSFRNTCB0YWdzIHRocm91Z2ggdG8gSFRNTCBlbGVtZW50c1xuICAgICAgcHJvcHNGb3JFbGVtZW50W2tleV0gPSBjb21wdXRlZFByb3BzW2tleV07XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb3BzLnN0eWxlICYmIGF0dHJzLnN0eWxlICE9PSBwcm9wcy5zdHlsZSkge1xuICAgIHByb3BzRm9yRWxlbWVudC5zdHlsZSA9IF9leHRlbmRzKHt9LCBwcm9wcy5zdHlsZSwge30sIGF0dHJzLnN0eWxlKTtcbiAgfVxuXG4gIHByb3BzRm9yRWxlbWVudC5jbGFzc05hbWUgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0KGZvbGRlZENvbXBvbmVudElkcywgc3R5bGVkQ29tcG9uZW50SWQsIGdlbmVyYXRlZENsYXNzTmFtZSAhPT0gc3R5bGVkQ29tcG9uZW50SWQgPyBnZW5lcmF0ZWRDbGFzc05hbWUgOiBudWxsLCBwcm9wcy5jbGFzc05hbWUsIGF0dHJzLmNsYXNzTmFtZSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbiAgcHJvcHNGb3JFbGVtZW50LnJlZiA9IHJlZlRvRm9yd2FyZDtcbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoZWxlbWVudFRvQmVDcmVhdGVkLCBwcm9wc0ZvckVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVTdHlsZWRDb21wb25lbnQodGFyZ2V0LCBvcHRpb25zLCBydWxlcykge1xuICB2YXIgaXNUYXJnZXRTdHlsZWRDb21wID0gaXNTdHlsZWRDb21wb25lbnQodGFyZ2V0KTtcbiAgdmFyIGlzQ29tcG9zaXRlQ29tcG9uZW50ID0gIWlzVGFnKHRhcmdldCk7XG4gIHZhciBfb3B0aW9ucyRkaXNwbGF5TmFtZSA9IG9wdGlvbnMuZGlzcGxheU5hbWUsXG4gICAgICBkaXNwbGF5TmFtZSA9IF9vcHRpb25zJGRpc3BsYXlOYW1lID09PSB2b2lkIDAgPyBnZW5lcmF0ZURpc3BsYXlOYW1lKHRhcmdldCkgOiBfb3B0aW9ucyRkaXNwbGF5TmFtZSxcbiAgICAgIF9vcHRpb25zJGNvbXBvbmVudElkID0gb3B0aW9ucy5jb21wb25lbnRJZCxcbiAgICAgIGNvbXBvbmVudElkID0gX29wdGlvbnMkY29tcG9uZW50SWQgPT09IHZvaWQgMCA/IGdlbmVyYXRlSWQob3B0aW9ucy5kaXNwbGF5TmFtZSwgb3B0aW9ucy5wYXJlbnRDb21wb25lbnRJZCkgOiBfb3B0aW9ucyRjb21wb25lbnRJZCxcbiAgICAgIF9vcHRpb25zJGF0dHJzID0gb3B0aW9ucy5hdHRycyxcbiAgICAgIGF0dHJzID0gX29wdGlvbnMkYXR0cnMgPT09IHZvaWQgMCA/IEVNUFRZX0FSUkFZIDogX29wdGlvbnMkYXR0cnM7XG4gIHZhciBzdHlsZWRDb21wb25lbnRJZCA9IG9wdGlvbnMuZGlzcGxheU5hbWUgJiYgb3B0aW9ucy5jb21wb25lbnRJZCA/IGVzY2FwZShvcHRpb25zLmRpc3BsYXlOYW1lKSArIFwiLVwiICsgb3B0aW9ucy5jb21wb25lbnRJZCA6IG9wdGlvbnMuY29tcG9uZW50SWQgfHwgY29tcG9uZW50SWQ7IC8vIGZvbGQgdGhlIHVuZGVybHlpbmcgU3R5bGVkQ29tcG9uZW50IGF0dHJzIHVwIChpbXBsaWNpdCBleHRlbmQpXG5cbiAgdmFyIGZpbmFsQXR0cnMgPSAvLyAkRmxvd0ZpeE1lXG4gIGlzVGFyZ2V0U3R5bGVkQ29tcCAmJiB0YXJnZXQuYXR0cnMgPyBBcnJheS5wcm90b3R5cGUuY29uY2F0KHRhcmdldC5hdHRycywgYXR0cnMpLmZpbHRlcihCb29sZWFuKSA6IGF0dHJzOyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcblxuICB2YXIgc2hvdWxkRm9yd2FyZFByb3AgPSBvcHRpb25zLnNob3VsZEZvcndhcmRQcm9wOyAvLyAkRmxvd0ZpeE1lXG5cbiAgaWYgKGlzVGFyZ2V0U3R5bGVkQ29tcCAmJiB0YXJnZXQuc2hvdWxkRm9yd2FyZFByb3ApIHtcbiAgICBpZiAoc2hvdWxkRm9yd2FyZFByb3ApIHtcbiAgICAgIC8vIGNvbXBvc2UgbmVzdGVkIHNob3VsZEZvcndhcmRQcm9wIGNhbGxzXG4gICAgICBzaG91bGRGb3J3YXJkUHJvcCA9IGZ1bmN0aW9uIHNob3VsZEZvcndhcmRQcm9wKHByb3AsIGZpbHRlckZuKSB7XG4gICAgICAgIHJldHVybiAoLy8gJEZsb3dGaXhNZVxuICAgICAgICAgIHRhcmdldC5zaG91bGRGb3J3YXJkUHJvcChwcm9wLCBmaWx0ZXJGbikgJiYgb3B0aW9ucy5zaG91bGRGb3J3YXJkUHJvcChwcm9wLCBmaWx0ZXJGbilcbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItZGVzdHJ1Y3R1cmluZ1xuICAgICAgc2hvdWxkRm9yd2FyZFByb3AgPSB0YXJnZXQuc2hvdWxkRm9yd2FyZFByb3A7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbXBvbmVudFN0eWxlID0gbmV3IENvbXBvbmVudFN0eWxlKGlzVGFyZ2V0U3R5bGVkQ29tcCA/IC8vIGZvbGQgdGhlIHVuZGVybHlpbmcgU3R5bGVkQ29tcG9uZW50IHJ1bGVzIHVwIChpbXBsaWNpdCBleHRlbmQpXG4gIC8vICRGbG93Rml4TWVcbiAgdGFyZ2V0LmNvbXBvbmVudFN0eWxlLnJ1bGVzLmNvbmNhdChydWxlcykgOiBydWxlcywgc3R5bGVkQ29tcG9uZW50SWQpO1xuICAvKipcbiAgICogZm9yd2FyZFJlZiBjcmVhdGVzIGEgbmV3IGludGVyaW0gY29tcG9uZW50LCB3aGljaCB3ZSdsbCB0YWtlIGFkdmFudGFnZSBvZlxuICAgKiBpbnN0ZWFkIG9mIGV4dGVuZGluZyBQYXJlbnRDb21wb25lbnQgdG8gY3JlYXRlIF9hbm90aGVyXyBpbnRlcmltIGNsYXNzXG4gICAqL1xuXG4gIHZhciBXcmFwcGVkU3R5bGVkQ29tcG9uZW50OyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcblxuICB2YXIgZm9yd2FyZFJlZiA9IGZ1bmN0aW9uIGZvcndhcmRSZWYocHJvcHMsIHJlZikge1xuICAgIHJldHVybiB1c2VTdHlsZWRDb21wb25lbnRJbXBsKFdyYXBwZWRTdHlsZWRDb21wb25lbnQsIHByb3BzLCByZWYpO1xuICB9O1xuXG4gIGZvcndhcmRSZWYuZGlzcGxheU5hbWUgPSBkaXNwbGF5TmFtZTsgLy8gJEZsb3dGaXhNZSB0aGlzIGlzIGEgZm9yY2VkIGNhc3QgdG8gbWVyZ2UgaXQgU3R5bGVkQ29tcG9uZW50V3JhcHBlclByb3BlcnRpZXNcblxuICBXcmFwcGVkU3R5bGVkQ29tcG9uZW50ID0gUmVhY3QuZm9yd2FyZFJlZihmb3J3YXJkUmVmKTtcbiAgV3JhcHBlZFN0eWxlZENvbXBvbmVudC5hdHRycyA9IGZpbmFsQXR0cnM7XG4gIFdyYXBwZWRTdHlsZWRDb21wb25lbnQuY29tcG9uZW50U3R5bGUgPSBjb21wb25lbnRTdHlsZTtcbiAgV3JhcHBlZFN0eWxlZENvbXBvbmVudC5kaXNwbGF5TmFtZSA9IGRpc3BsYXlOYW1lO1xuICBXcmFwcGVkU3R5bGVkQ29tcG9uZW50LnNob3VsZEZvcndhcmRQcm9wID0gc2hvdWxkRm9yd2FyZFByb3A7IC8vIHRoaXMgc3RhdGljIGlzIHVzZWQgdG8gcHJlc2VydmUgdGhlIGNhc2NhZGUgb2Ygc3RhdGljIGNsYXNzZXMgZm9yIGNvbXBvbmVudCBzZWxlY3RvclxuICAvLyBwdXJwb3NlczsgdGhpcyBpcyBlc3BlY2lhbGx5IGltcG9ydGFudCB3aXRoIHVzYWdlIG9mIHRoZSBjc3MgcHJvcFxuXG4gIFdyYXBwZWRTdHlsZWRDb21wb25lbnQuZm9sZGVkQ29tcG9uZW50SWRzID0gaXNUYXJnZXRTdHlsZWRDb21wID8gLy8gJEZsb3dGaXhNZVxuICBBcnJheS5wcm90b3R5cGUuY29uY2F0KHRhcmdldC5mb2xkZWRDb21wb25lbnRJZHMsIHRhcmdldC5zdHlsZWRDb21wb25lbnRJZCkgOiBFTVBUWV9BUlJBWTtcbiAgV3JhcHBlZFN0eWxlZENvbXBvbmVudC5zdHlsZWRDb21wb25lbnRJZCA9IHN0eWxlZENvbXBvbmVudElkOyAvLyBmb2xkIHRoZSB1bmRlcmx5aW5nIFN0eWxlZENvbXBvbmVudCB0YXJnZXQgdXAgc2luY2Ugd2UgZm9sZGVkIHRoZSBzdHlsZXNcblxuICBXcmFwcGVkU3R5bGVkQ29tcG9uZW50LnRhcmdldCA9IGlzVGFyZ2V0U3R5bGVkQ29tcCA/IC8vICRGbG93Rml4TWVcbiAgdGFyZ2V0LnRhcmdldCA6IHRhcmdldDsgLy8gJEZsb3dGaXhNZVxuXG4gIFdyYXBwZWRTdHlsZWRDb21wb25lbnQud2l0aENvbXBvbmVudCA9IGZ1bmN0aW9uIHdpdGhDb21wb25lbnQodGFnKSB7XG4gICAgdmFyIHByZXZpb3VzQ29tcG9uZW50SWQgPSBvcHRpb25zLmNvbXBvbmVudElkLFxuICAgICAgICBvcHRpb25zVG9Db3B5ID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uob3B0aW9ucywgW1wiY29tcG9uZW50SWRcIl0pO1xuXG4gICAgdmFyIG5ld0NvbXBvbmVudElkID0gcHJldmlvdXNDb21wb25lbnRJZCAmJiBwcmV2aW91c0NvbXBvbmVudElkICsgXCItXCIgKyAoaXNUYWcodGFnKSA/IHRhZyA6IGVzY2FwZShnZXRDb21wb25lbnROYW1lKHRhZykpKTtcblxuICAgIHZhciBuZXdPcHRpb25zID0gX2V4dGVuZHMoe30sIG9wdGlvbnNUb0NvcHksIHtcbiAgICAgIGF0dHJzOiBmaW5hbEF0dHJzLFxuICAgICAgY29tcG9uZW50SWQ6IG5ld0NvbXBvbmVudElkXG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3JlYXRlU3R5bGVkQ29tcG9uZW50KHRhZywgbmV3T3B0aW9ucywgcnVsZXMpO1xuICB9OyAvLyAkRmxvd0ZpeE1lXG5cblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JhcHBlZFN0eWxlZENvbXBvbmVudCwgJ2RlZmF1bHRQcm9wcycsIHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9mb2xkZWREZWZhdWx0UHJvcHM7XG4gICAgfSxcbiAgICBzZXQ6IGZ1bmN0aW9uIHNldChvYmopIHtcbiAgICAgIC8vICRGbG93Rml4TWVcbiAgICAgIHRoaXMuX2ZvbGRlZERlZmF1bHRQcm9wcyA9IGlzVGFyZ2V0U3R5bGVkQ29tcCA/IG1peGluRGVlcCh7fSwgdGFyZ2V0LmRlZmF1bHRQcm9wcywgb2JqKSA6IG9iajtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY2hlY2tEeW5hbWljQ3JlYXRpb24oZGlzcGxheU5hbWUsIHN0eWxlZENvbXBvbmVudElkKTtcbiAgICBXcmFwcGVkU3R5bGVkQ29tcG9uZW50Lndhcm5Ub29NYW55Q2xhc3NlcyA9IGNyZWF0ZVdhcm5Ub29NYW55Q2xhc3NlcyhkaXNwbGF5TmFtZSwgc3R5bGVkQ29tcG9uZW50SWQpO1xuICB9IC8vICRGbG93Rml4TWVcblxuXG4gIFdyYXBwZWRTdHlsZWRDb21wb25lbnQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIFwiLlwiICsgV3JhcHBlZFN0eWxlZENvbXBvbmVudC5zdHlsZWRDb21wb25lbnRJZDtcbiAgfTtcblxuICBpZiAoaXNDb21wb3NpdGVDb21wb25lbnQpIHtcbiAgICBob2lzdChXcmFwcGVkU3R5bGVkQ29tcG9uZW50LCB0YXJnZXQsIHtcbiAgICAgIC8vIGFsbCBTQy1zcGVjaWZpYyB0aGluZ3Mgc2hvdWxkIG5vdCBiZSBob2lzdGVkXG4gICAgICBhdHRyczogdHJ1ZSxcbiAgICAgIGNvbXBvbmVudFN0eWxlOiB0cnVlLFxuICAgICAgZGlzcGxheU5hbWU6IHRydWUsXG4gICAgICBmb2xkZWRDb21wb25lbnRJZHM6IHRydWUsXG4gICAgICBzaG91bGRGb3J3YXJkUHJvcDogdHJ1ZSxcbiAgICAgIHNlbGY6IHRydWUsXG4gICAgICBzdHlsZWRDb21wb25lbnRJZDogdHJ1ZSxcbiAgICAgIHRhcmdldDogdHJ1ZSxcbiAgICAgIHdpdGhDb21wb25lbnQ6IHRydWVcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBXcmFwcGVkU3R5bGVkQ29tcG9uZW50O1xufVxuXG4vLyBcbi8vIFRoYW5rcyB0byBSZWFjdERPTUZhY3RvcmllcyBmb3IgdGhpcyBoYW5keSBsaXN0IVxudmFyIGRvbUVsZW1lbnRzID0gWydhJywgJ2FiYnInLCAnYWRkcmVzcycsICdhcmVhJywgJ2FydGljbGUnLCAnYXNpZGUnLCAnYXVkaW8nLCAnYicsICdiYXNlJywgJ2JkaScsICdiZG8nLCAnYmlnJywgJ2Jsb2NrcXVvdGUnLCAnYm9keScsICdicicsICdidXR0b24nLCAnY2FudmFzJywgJ2NhcHRpb24nLCAnY2l0ZScsICdjb2RlJywgJ2NvbCcsICdjb2xncm91cCcsICdkYXRhJywgJ2RhdGFsaXN0JywgJ2RkJywgJ2RlbCcsICdkZXRhaWxzJywgJ2RmbicsICdkaWFsb2cnLCAnZGl2JywgJ2RsJywgJ2R0JywgJ2VtJywgJ2VtYmVkJywgJ2ZpZWxkc2V0JywgJ2ZpZ2NhcHRpb24nLCAnZmlndXJlJywgJ2Zvb3RlcicsICdmb3JtJywgJ2gxJywgJ2gyJywgJ2gzJywgJ2g0JywgJ2g1JywgJ2g2JywgJ2hlYWQnLCAnaGVhZGVyJywgJ2hncm91cCcsICdocicsICdodG1sJywgJ2knLCAnaWZyYW1lJywgJ2ltZycsICdpbnB1dCcsICdpbnMnLCAna2JkJywgJ2tleWdlbicsICdsYWJlbCcsICdsZWdlbmQnLCAnbGknLCAnbGluaycsICdtYWluJywgJ21hcCcsICdtYXJrJywgJ21hcnF1ZWUnLCAnbWVudScsICdtZW51aXRlbScsICdtZXRhJywgJ21ldGVyJywgJ25hdicsICdub3NjcmlwdCcsICdvYmplY3QnLCAnb2wnLCAnb3B0Z3JvdXAnLCAnb3B0aW9uJywgJ291dHB1dCcsICdwJywgJ3BhcmFtJywgJ3BpY3R1cmUnLCAncHJlJywgJ3Byb2dyZXNzJywgJ3EnLCAncnAnLCAncnQnLCAncnVieScsICdzJywgJ3NhbXAnLCAnc2NyaXB0JywgJ3NlY3Rpb24nLCAnc2VsZWN0JywgJ3NtYWxsJywgJ3NvdXJjZScsICdzcGFuJywgJ3N0cm9uZycsICdzdHlsZScsICdzdWInLCAnc3VtbWFyeScsICdzdXAnLCAndGFibGUnLCAndGJvZHknLCAndGQnLCAndGV4dGFyZWEnLCAndGZvb3QnLCAndGgnLCAndGhlYWQnLCAndGltZScsICd0aXRsZScsICd0cicsICd0cmFjaycsICd1JywgJ3VsJywgJ3ZhcicsICd2aWRlbycsICd3YnInLCAvLyBTVkdcbidjaXJjbGUnLCAnY2xpcFBhdGgnLCAnZGVmcycsICdlbGxpcHNlJywgJ2ZvcmVpZ25PYmplY3QnLCAnZycsICdpbWFnZScsICdsaW5lJywgJ2xpbmVhckdyYWRpZW50JywgJ21hcmtlcicsICdtYXNrJywgJ3BhdGgnLCAncGF0dGVybicsICdwb2x5Z29uJywgJ3BvbHlsaW5lJywgJ3JhZGlhbEdyYWRpZW50JywgJ3JlY3QnLCAnc3RvcCcsICdzdmcnLCAndGV4dCcsICd0c3BhbiddO1xuXG4vLyBcblxudmFyIHN0eWxlZCA9IGZ1bmN0aW9uIHN0eWxlZCh0YWcpIHtcbiAgcmV0dXJuIGNvbnN0cnVjdFdpdGhPcHRpb25zKGNyZWF0ZVN0eWxlZENvbXBvbmVudCwgdGFnKTtcbn07IC8vIFNob3J0aGFuZHMgZm9yIGFsbCB2YWxpZCBIVE1MIEVsZW1lbnRzXG5cblxuZG9tRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoZG9tRWxlbWVudCkge1xuICBzdHlsZWRbZG9tRWxlbWVudF0gPSBzdHlsZWQoZG9tRWxlbWVudCk7XG59KTtcblxuLy8gXG5cbnZhciBHbG9iYWxTdHlsZSA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIEdsb2JhbFN0eWxlKHJ1bGVzLCBjb21wb25lbnRJZCkge1xuICAgIHRoaXMucnVsZXMgPSBydWxlcztcbiAgICB0aGlzLmNvbXBvbmVudElkID0gY29tcG9uZW50SWQ7XG4gICAgdGhpcy5pc1N0YXRpYyA9IGlzU3RhdGljUnVsZXMocnVsZXMpO1xuICB9XG5cbiAgdmFyIF9wcm90byA9IEdsb2JhbFN0eWxlLnByb3RvdHlwZTtcblxuICBfcHJvdG8uY3JlYXRlU3R5bGVzID0gZnVuY3Rpb24gY3JlYXRlU3R5bGVzKGluc3RhbmNlLCBleGVjdXRpb25Db250ZXh0LCBzdHlsZVNoZWV0LCBzdHlsaXMpIHtcbiAgICB2YXIgZmxhdENTUyA9IGZsYXR0ZW4odGhpcy5ydWxlcywgZXhlY3V0aW9uQ29udGV4dCwgc3R5bGVTaGVldCk7XG4gICAgdmFyIGNzcyA9IHN0eWxpcyhmbGF0Q1NTLmpvaW4oJycpLCAnJyk7XG4gICAgdmFyIGlkID0gdGhpcy5jb21wb25lbnRJZCArIGluc3RhbmNlOyAvLyBOT1RFOiBXZSB1c2UgdGhlIGlkIGFzIGEgbmFtZSBhcyB3ZWxsLCBzaW5jZSB0aGVzZSBydWxlcyBuZXZlciBjaGFuZ2VcblxuICAgIHN0eWxlU2hlZXQuaW5zZXJ0UnVsZXMoaWQsIGlkLCBjc3MpO1xuICB9O1xuXG4gIF9wcm90by5yZW1vdmVTdHlsZXMgPSBmdW5jdGlvbiByZW1vdmVTdHlsZXMoaW5zdGFuY2UsIHN0eWxlU2hlZXQpIHtcbiAgICBzdHlsZVNoZWV0LmNsZWFyUnVsZXModGhpcy5jb21wb25lbnRJZCArIGluc3RhbmNlKTtcbiAgfTtcblxuICBfcHJvdG8ucmVuZGVyU3R5bGVzID0gZnVuY3Rpb24gcmVuZGVyU3R5bGVzKGluc3RhbmNlLCBleGVjdXRpb25Db250ZXh0LCBzdHlsZVNoZWV0LCBzdHlsaXMpIHtcbiAgICBTdHlsZVNoZWV0LnJlZ2lzdGVySWQodGhpcy5jb21wb25lbnRJZCArIGluc3RhbmNlKTsgLy8gTk9URTogUmVtb3ZlIG9sZCBzdHlsZXMsIHRoZW4gaW5qZWN0IHRoZSBuZXcgb25lc1xuXG4gICAgdGhpcy5yZW1vdmVTdHlsZXMoaW5zdGFuY2UsIHN0eWxlU2hlZXQpO1xuICAgIHRoaXMuY3JlYXRlU3R5bGVzKGluc3RhbmNlLCBleGVjdXRpb25Db250ZXh0LCBzdHlsZVNoZWV0LCBzdHlsaXMpO1xuICB9O1xuXG4gIHJldHVybiBHbG9iYWxTdHlsZTtcbn0oKTtcblxuZnVuY3Rpb24gY3JlYXRlR2xvYmFsU3R5bGUoc3RyaW5ncykge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgaW50ZXJwb2xhdGlvbnMgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGludGVycG9sYXRpb25zW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHZhciBydWxlcyA9IGNzcy5hcHBseSh2b2lkIDAsIFtzdHJpbmdzXS5jb25jYXQoaW50ZXJwb2xhdGlvbnMpKTtcbiAgdmFyIHN0eWxlZENvbXBvbmVudElkID0gXCJzYy1nbG9iYWwtXCIgKyBnZW5lcmF0ZUNvbXBvbmVudElkKEpTT04uc3RyaW5naWZ5KHJ1bGVzKSk7XG4gIHZhciBnbG9iYWxTdHlsZSA9IG5ldyBHbG9iYWxTdHlsZShydWxlcywgc3R5bGVkQ29tcG9uZW50SWQpO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY2hlY2tEeW5hbWljQ3JlYXRpb24oc3R5bGVkQ29tcG9uZW50SWQpO1xuICB9XG5cbiAgZnVuY3Rpb24gR2xvYmFsU3R5bGVDb21wb25lbnQocHJvcHMpIHtcbiAgICB2YXIgc3R5bGVTaGVldCA9IHVzZVN0eWxlU2hlZXQoKTtcbiAgICB2YXIgc3R5bGlzID0gdXNlU3R5bGlzKCk7XG4gICAgdmFyIHRoZW1lID0gdXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xuICAgIHZhciBpbnN0YW5jZVJlZiA9IHVzZVJlZihudWxsKTtcblxuICAgIGlmIChpbnN0YW5jZVJlZi5jdXJyZW50ID09PSBudWxsKSB7XG4gICAgICBpbnN0YW5jZVJlZi5jdXJyZW50ID0gc3R5bGVTaGVldC5hbGxvY2F0ZUdTSW5zdGFuY2Uoc3R5bGVkQ29tcG9uZW50SWQpO1xuICAgIH1cblxuICAgIHZhciBpbnN0YW5jZSA9IGluc3RhbmNlUmVmLmN1cnJlbnQ7XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBSZWFjdC5DaGlsZHJlbi5jb3VudChwcm9wcy5jaGlsZHJlbikpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBjb25zb2xlLndhcm4oXCJUaGUgZ2xvYmFsIHN0eWxlIGNvbXBvbmVudCBcIiArIHN0eWxlZENvbXBvbmVudElkICsgXCIgd2FzIGdpdmVuIGNoaWxkIEpTWC4gY3JlYXRlR2xvYmFsU3R5bGUgZG9lcyBub3QgcmVuZGVyIGNoaWxkcmVuLlwiKTtcbiAgICB9XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiBydWxlcy5zb21lKGZ1bmN0aW9uIChydWxlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHJ1bGUgPT09ICdzdHJpbmcnICYmIHJ1bGUuaW5kZXhPZignQGltcG9ydCcpICE9PSAtMTtcbiAgICB9KSkge1xuICAgICAgY29uc29sZS53YXJuKFwiUGxlYXNlIGRvIG5vdCB1c2UgQGltcG9ydCBDU1Mgc3ludGF4IGluIGNyZWF0ZUdsb2JhbFN0eWxlIGF0IHRoaXMgdGltZSwgYXMgdGhlIENTU09NIEFQSXMgd2UgdXNlIGluIHByb2R1Y3Rpb24gZG8gbm90IGhhbmRsZSBpdCB3ZWxsLiBJbnN0ZWFkLCB3ZSByZWNvbW1lbmQgdXNpbmcgYSBsaWJyYXJ5IHN1Y2ggYXMgcmVhY3QtaGVsbWV0IHRvIGluamVjdCBhIHR5cGljYWwgPGxpbms+IG1ldGEgdGFnIHRvIHRoZSBzdHlsZXNoZWV0LCBvciBzaW1wbHkgZW1iZWRkaW5nIGl0IG1hbnVhbGx5IGluIHlvdXIgaW5kZXguaHRtbCA8aGVhZD4gc2VjdGlvbiBmb3IgYSBzaW1wbGVyIGFwcC5cIik7XG4gICAgfVxuXG4gICAgaWYgKGdsb2JhbFN0eWxlLmlzU3RhdGljKSB7XG4gICAgICBnbG9iYWxTdHlsZS5yZW5kZXJTdHlsZXMoaW5zdGFuY2UsIFNUQVRJQ19FWEVDVVRJT05fQ09OVEVYVCwgc3R5bGVTaGVldCwgc3R5bGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGNvbnRleHQgPSBfZXh0ZW5kcyh7fSwgcHJvcHMsIHtcbiAgICAgICAgdGhlbWU6IGRldGVybWluZVRoZW1lKHByb3BzLCB0aGVtZSwgR2xvYmFsU3R5bGVDb21wb25lbnQuZGVmYXVsdFByb3BzKVxuICAgICAgfSk7XG5cbiAgICAgIGdsb2JhbFN0eWxlLnJlbmRlclN0eWxlcyhpbnN0YW5jZSwgY29udGV4dCwgc3R5bGVTaGVldCwgc3R5bGlzKTtcbiAgICB9XG5cbiAgICB1c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIGdsb2JhbFN0eWxlLnJlbW92ZVN0eWxlcyhpbnN0YW5jZSwgc3R5bGVTaGVldCk7XG4gICAgICB9O1xuICAgIH0sIEVNUFRZX0FSUkFZKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyAkRmxvd0ZpeE1lXG5cblxuICByZXR1cm4gUmVhY3QubWVtbyhHbG9iYWxTdHlsZUNvbXBvbmVudCk7XG59XG5cbi8vIFxuZnVuY3Rpb24ga2V5ZnJhbWVzKHN0cmluZ3MpIHtcbiAgLyogV2FybmluZyBpZiB5b3UndmUgdXNlZCBrZXlmcmFtZXMgb24gUmVhY3QgTmF0aXZlICovXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci5wcm9kdWN0ID09PSAnUmVhY3ROYXRpdmUnKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLndhcm4oJ2BrZXlmcmFtZXNgIGNhbm5vdCBiZSB1c2VkIG9uIFJlYWN0TmF0aXZlLCBvbmx5IG9uIHRoZSB3ZWIuIFRvIGRvIGFuaW1hdGlvbiBpbiBSZWFjdE5hdGl2ZSBwbGVhc2UgdXNlIEFuaW1hdGVkLicpO1xuICB9XG5cbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGludGVycG9sYXRpb25zID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBpbnRlcnBvbGF0aW9uc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICB2YXIgcnVsZXMgPSBjc3MuYXBwbHkodm9pZCAwLCBbc3RyaW5nc10uY29uY2F0KGludGVycG9sYXRpb25zKSkuam9pbignJyk7XG4gIHZhciBuYW1lID0gZ2VuZXJhdGVDb21wb25lbnRJZChydWxlcyk7XG4gIHJldHVybiBuZXcgS2V5ZnJhbWVzKG5hbWUsIFtydWxlcywgbmFtZSwgJ0BrZXlmcmFtZXMnXSk7XG59XG5cbnZhciBTZXJ2ZXJTdHlsZVNoZWV0ID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gU2VydmVyU3R5bGVTaGVldCgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdGhpcy5fZW1pdFNoZWV0Q1NTID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGNzcyA9IF90aGlzLmluc3RhbmNlLnRvU3RyaW5nKCk7XG5cbiAgICAgIHZhciBub25jZSA9IGdldE5vbmNlKCk7XG4gICAgICB2YXIgYXR0cnMgPSBbbm9uY2UgJiYgXCJub25jZT1cXFwiXCIgKyBub25jZSArIFwiXFxcIlwiLCBTQ19BVFRSICsgXCI9XFxcInRydWVcXFwiXCIsIFNDX0FUVFJfVkVSU0lPTiArIFwiPVxcXCJcIiArIFNDX1ZFUlNJT04gKyBcIlxcXCJcIl07XG4gICAgICB2YXIgaHRtbEF0dHIgPSBhdHRycy5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICAgICAgcmV0dXJuIFwiPHN0eWxlIFwiICsgaHRtbEF0dHIgKyBcIj5cIiArIGNzcyArIFwiPC9zdHlsZT5cIjtcbiAgICB9O1xuXG4gICAgdGhpcy5nZXRTdHlsZVRhZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoX3RoaXMuc2VhbGVkKSB7XG4gICAgICAgIHJldHVybiB0aHJvd1N0eWxlZENvbXBvbmVudHNFcnJvcigyKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIF90aGlzLl9lbWl0U2hlZXRDU1MoKTtcbiAgICB9O1xuXG4gICAgdGhpcy5nZXRTdHlsZUVsZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgX3Byb3BzO1xuXG4gICAgICBpZiAoX3RoaXMuc2VhbGVkKSB7XG4gICAgICAgIHJldHVybiB0aHJvd1N0eWxlZENvbXBvbmVudHNFcnJvcigyKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHByb3BzID0gKF9wcm9wcyA9IHt9LCBfcHJvcHNbU0NfQVRUUl0gPSAnJywgX3Byb3BzW1NDX0FUVFJfVkVSU0lPTl0gPSBTQ19WRVJTSU9OLCBfcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPSB7XG4gICAgICAgIF9faHRtbDogX3RoaXMuaW5zdGFuY2UudG9TdHJpbmcoKVxuICAgICAgfSwgX3Byb3BzKTtcbiAgICAgIHZhciBub25jZSA9IGdldE5vbmNlKCk7XG5cbiAgICAgIGlmIChub25jZSkge1xuICAgICAgICBwcm9wcy5ub25jZSA9IG5vbmNlO1xuICAgICAgfSAvLyB2NCByZXR1cm5lZCBhbiBhcnJheSBmb3IgdGhpcyBmbiwgc28gd2UnbGwgZG8gdGhlIHNhbWUgZm9yIHY1IGZvciBiYWNrd2FyZCBjb21wYXRcblxuXG4gICAgICByZXR1cm4gWy8qI19fUFVSRV9fKi9SZWFjdC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIiwgX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgICAgIGtleTogXCJzYy0wLTBcIlxuICAgICAgfSkpXTtcbiAgICB9O1xuXG4gICAgdGhpcy5zZWFsID0gZnVuY3Rpb24gKCkge1xuICAgICAgX3RoaXMuc2VhbGVkID0gdHJ1ZTtcbiAgICB9O1xuXG4gICAgdGhpcy5pbnN0YW5jZSA9IG5ldyBTdHlsZVNoZWV0KHtcbiAgICAgIGlzU2VydmVyOiB0cnVlXG4gICAgfSk7XG4gICAgdGhpcy5zZWFsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHZhciBfcHJvdG8gPSBTZXJ2ZXJTdHlsZVNoZWV0LnByb3RvdHlwZTtcblxuICBfcHJvdG8uY29sbGVjdFN0eWxlcyA9IGZ1bmN0aW9uIGNvbGxlY3RTdHlsZXMoY2hpbGRyZW4pIHtcbiAgICBpZiAodGhpcy5zZWFsZWQpIHtcbiAgICAgIHJldHVybiB0aHJvd1N0eWxlZENvbXBvbmVudHNFcnJvcigyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gLyojX19QVVJFX18qL1JlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVTaGVldE1hbmFnZXIsIHtcbiAgICAgIHNoZWV0OiB0aGlzLmluc3RhbmNlXG4gICAgfSwgY2hpbGRyZW4pO1xuICB9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb25zaXN0ZW50LXJldHVyblxuICBfcHJvdG8uaW50ZXJsZWF2ZVdpdGhOb2RlU3RyZWFtID0gZnVuY3Rpb24gaW50ZXJsZWF2ZVdpdGhOb2RlU3RyZWFtKGlucHV0KSB7XG4gICAge1xuICAgICAgcmV0dXJuIHRocm93U3R5bGVkQ29tcG9uZW50c0Vycm9yKDMpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gU2VydmVyU3R5bGVTaGVldDtcbn0oKTtcblxuLy8gZXhwb3J0IGRlZmF1bHQgPENvbmZpZzogeyB0aGVtZT86IGFueSB9LCBJbnN0YW5jZT4oXG4vLyAgQ29tcG9uZW50OiBBYnN0cmFjdENvbXBvbmVudDxDb25maWcsIEluc3RhbmNlPlxuLy8gKTogQWJzdHJhY3RDb21wb25lbnQ8JERpZmY8Q29uZmlnLCB7IHRoZW1lPzogYW55IH0+ICYgeyB0aGVtZT86IGFueSB9LCBJbnN0YW5jZT5cbi8vXG4vLyBidXQgdGhlIG9sZCBidWlsZCBzeXN0ZW0gdG9vbGluZyBkb2Vzbid0IHN1cHBvcnQgdGhlIHN5bnRheFxuXG52YXIgd2l0aFRoZW1lID0gKGZ1bmN0aW9uIChDb21wb25lbnQpIHtcbiAgLy8gJEZsb3dGaXhNZSBUaGlzIHNob3VsZCBiZSBSZWFjdC5mb3J3YXJkUmVmPENvbmZpZywgSW5zdGFuY2U+XG4gIHZhciBXaXRoVGhlbWUgPSBSZWFjdC5mb3J3YXJkUmVmKGZ1bmN0aW9uIChwcm9wcywgcmVmKSB7XG4gICAgdmFyIHRoZW1lID0gdXNlQ29udGV4dChUaGVtZUNvbnRleHQpOyAvLyAkRmxvd0ZpeE1lIGRlZmF1bHRQcm9wcyBpc24ndCBkZWNsYXJlZCBzbyBpdCBjYW4gYmUgaW5mZXJyYWJsZVxuXG4gICAgdmFyIGRlZmF1bHRQcm9wcyA9IENvbXBvbmVudC5kZWZhdWx0UHJvcHM7XG4gICAgdmFyIHRoZW1lUHJvcCA9IGRldGVybWluZVRoZW1lKHByb3BzLCB0aGVtZSwgZGVmYXVsdFByb3BzKTtcblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHRoZW1lUHJvcCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS53YXJuKFwiW3dpdGhUaGVtZV0gWW91IGFyZSBub3QgdXNpbmcgYSBUaGVtZVByb3ZpZGVyIG5vciBwYXNzaW5nIGEgdGhlbWUgcHJvcCBvciBhIHRoZW1lIGluIGRlZmF1bHRQcm9wcyBpbiBjb21wb25lbnQgY2xhc3MgXFxcIlwiICsgZ2V0Q29tcG9uZW50TmFtZShDb21wb25lbnQpICsgXCJcXFwiXCIpO1xuICAgIH1cblxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovUmVhY3QuY3JlYXRlRWxlbWVudChDb21wb25lbnQsIF9leHRlbmRzKHt9LCBwcm9wcywge1xuICAgICAgdGhlbWU6IHRoZW1lUHJvcCxcbiAgICAgIHJlZjogcmVmXG4gICAgfSkpO1xuICB9KTtcbiAgaG9pc3QoV2l0aFRoZW1lLCBDb21wb25lbnQpO1xuICBXaXRoVGhlbWUuZGlzcGxheU5hbWUgPSBcIldpdGhUaGVtZShcIiArIGdldENvbXBvbmVudE5hbWUoQ29tcG9uZW50KSArIFwiKVwiO1xuICByZXR1cm4gV2l0aFRoZW1lO1xufSk7XG5cbi8vIFxuXG52YXIgdXNlVGhlbWUgPSBmdW5jdGlvbiB1c2VUaGVtZSgpIHtcbiAgcmV0dXJuIHVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcbn07XG5cbi8vIFxudmFyIF9fUFJJVkFURV9fID0ge1xuICBTdHlsZVNoZWV0OiBTdHlsZVNoZWV0LFxuICBtYXN0ZXJTaGVldDogbWFzdGVyU2hlZXRcbn07XG5cbi8vIFxuLyogRGVmaW5lIGJ1bmRsZSB2ZXJzaW9uIGZvciBleHBvcnQgKi9cblxudmFyIHZlcnNpb24gPSBcIjUuMS4xXCI7XG4vKiBXYXJuaW5nIGlmIHlvdSd2ZSBpbXBvcnRlZCB0aGlzIGZpbGUgb24gUmVhY3QgTmF0aXZlICovXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvci5wcm9kdWN0ID09PSAnUmVhY3ROYXRpdmUnKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUud2FybihcIkl0IGxvb2tzIGxpa2UgeW91J3ZlIGltcG9ydGVkICdzdHlsZWQtY29tcG9uZW50cycgb24gUmVhY3QgTmF0aXZlLlxcblwiICsgXCJQZXJoYXBzIHlvdSdyZSBsb29raW5nIHRvIGltcG9ydCAnc3R5bGVkLWNvbXBvbmVudHMvbmF0aXZlJz9cXG5cIiArICdSZWFkIG1vcmUgYWJvdXQgdGhpcyBhdCBodHRwczovL3d3dy5zdHlsZWQtY29tcG9uZW50cy5jb20vZG9jcy9iYXNpY3MjcmVhY3QtbmF0aXZlJyk7XG59XG4vKiBXYXJuaW5nIGlmIHRoZXJlIGFyZSBzZXZlcmFsIGluc3RhbmNlcyBvZiBzdHlsZWQtY29tcG9uZW50cyAqL1xuXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAndGVzdCcgJiYgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgd2luZG93WydfX3N0eWxlZC1jb21wb25lbnRzLWluaXRfXyddID0gd2luZG93WydfX3N0eWxlZC1jb21wb25lbnRzLWluaXRfXyddIHx8IDA7XG5cbiAgaWYgKHdpbmRvd1snX19zdHlsZWQtY29tcG9uZW50cy1pbml0X18nXSA9PT0gMSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS53YXJuKFwiSXQgbG9va3MgbGlrZSB0aGVyZSBhcmUgc2V2ZXJhbCBpbnN0YW5jZXMgb2YgJ3N0eWxlZC1jb21wb25lbnRzJyBpbml0aWFsaXplZCBpbiB0aGlzIGFwcGxpY2F0aW9uLiBcIiArICdUaGlzIG1heSBjYXVzZSBkeW5hbWljIHN0eWxlcyBub3QgcmVuZGVyaW5nIHByb3Blcmx5LCBlcnJvcnMgaGFwcGVuaW5nIGR1cmluZyByZWh5ZHJhdGlvbiBwcm9jZXNzLCAnICsgJ21pc3NpbmcgdGhlbWUgcHJvcCwgYW5kIG1ha2VzIHlvdXIgYXBwbGljYXRpb24gYmlnZ2VyIHdpdGhvdXQgYSBnb29kIHJlYXNvbi5cXG5cXG4nICsgJ1NlZSBodHRwczovL3MtYy5zaC8yQkFYemVkIGZvciBtb3JlIGluZm8uJyk7XG4gIH1cblxuICB3aW5kb3dbJ19fc3R5bGVkLWNvbXBvbmVudHMtaW5pdF9fJ10gKz0gMTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgc3R5bGVkO1xuZXhwb3J0IHsgU2VydmVyU3R5bGVTaGVldCwgU3R5bGVTaGVldENvbnN1bWVyLCBTdHlsZVNoZWV0Q29udGV4dCwgU3R5bGVTaGVldE1hbmFnZXIsIFRoZW1lQ29uc3VtZXIsIFRoZW1lQ29udGV4dCwgVGhlbWVQcm92aWRlciwgX19QUklWQVRFX18sIGNyZWF0ZUdsb2JhbFN0eWxlLCBjc3MsIGlzU3R5bGVkQ29tcG9uZW50LCBrZXlmcmFtZXMsIHVzZVRoZW1lLCB2ZXJzaW9uLCB3aXRoVGhlbWUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlZC1jb21wb25lbnRzLmJyb3dzZXIuZXNtLmpzLm1hcFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0F1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBR0E7QUFDQTtBQUNBLGFBRUEsSUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///1\n")},function(module,exports,__webpack_require__){eval("/* WEBPACK VAR INJECTION */(function(global, module) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;//     Underscore.js 1.9.0\n//     http://underscorejs.org\n//     (c) 2009-2018 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n//     Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n  // Baseline setup\n  // --------------\n\n  // Establish the root object, `window` (`self`) in the browser, `global`\n  // on the server, or `this` in some virtual machines. We use `self`\n  // instead of `window` for `WebWorker` support.\n  var root = typeof self == 'object' && self.self === self && self ||\n            typeof global == 'object' && global.global === global && global ||\n            this ||\n            {};\n\n  // Save the previous value of the `_` variable.\n  var previousUnderscore = root._;\n\n  // Save bytes in the minified (but not gzipped) version:\n  var ArrayProto = Array.prototype, ObjProto = Object.prototype;\n  var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n  // Create quick reference variables for speed access to core prototypes.\n  var push = ArrayProto.push,\n      slice = ArrayProto.slice,\n      toString = ObjProto.toString,\n      hasOwnProperty = ObjProto.hasOwnProperty;\n\n  // All **ECMAScript 5** native function implementations that we hope to use\n  // are declared here.\n  var nativeIsArray = Array.isArray,\n      nativeKeys = Object.keys,\n      nativeCreate = Object.create;\n\n  // Naked function reference for surrogate-prototype-swapping.\n  var Ctor = function(){};\n\n  // Create a safe reference to the Underscore object for use below.\n  var _ = function(obj) {\n    if (obj instanceof _) return obj;\n    if (!(this instanceof _)) return new _(obj);\n    this._wrapped = obj;\n  };\n\n  // Export the Underscore object for **Node.js**, with\n  // backwards-compatibility for their old module API. If we're in\n  // the browser, add `_` as a global object.\n  // (`nodeType` is checked to ensure that `module`\n  // and `exports` are not HTML elements.)\n  if ( true && !exports.nodeType) {\n    if ( true && !module.nodeType && module.exports) {\n      exports = module.exports = _;\n    }\n    exports._ = _;\n  } else {\n    root._ = _;\n  }\n\n  // Current version.\n  _.VERSION = '1.9.0';\n\n  // Internal function that returns an efficient (for current engines) version\n  // of the passed-in callback, to be repeatedly applied in other Underscore\n  // functions.\n  var optimizeCb = function(func, context, argCount) {\n    if (context === void 0) return func;\n    switch (argCount == null ? 3 : argCount) {\n      case 1: return function(value) {\n        return func.call(context, value);\n      };\n      // The 2-argument case is omitted because we’re not using it.\n      case 3: return function(value, index, collection) {\n        return func.call(context, value, index, collection);\n      };\n      case 4: return function(accumulator, value, index, collection) {\n        return func.call(context, accumulator, value, index, collection);\n      };\n    }\n    return function() {\n      return func.apply(context, arguments);\n    };\n  };\n\n  var builtinIteratee;\n\n  // An internal function to generate callbacks that can be applied to each\n  // element in a collection, returning the desired result — either `identity`,\n  // an arbitrary callback, a property matcher, or a property accessor.\n  var cb = function(value, context, argCount) {\n    if (_.iteratee !== builtinIteratee) return _.iteratee(value, context);\n    if (value == null) return _.identity;\n    if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n    if (_.isObject(value) && !_.isArray(value)) return _.matcher(value);\n    return _.property(value);\n  };\n\n  // External wrapper for our callback generator. Users may customize\n  // `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n  // This abstraction hides the internal-only argCount argument.\n  _.iteratee = builtinIteratee = function(value, context) {\n    return cb(value, context, Infinity);\n  };\n\n  // Some functions take a variable number of arguments, or a few expected\n  // arguments at the beginning and then a variable number of values to operate\n  // on. This helper accumulates all remaining arguments past the function’s\n  // argument length (or an explicit `startIndex`), into an array that becomes\n  // the last argument. Similar to ES6’s \"rest parameter\".\n  var restArguments = function(func, startIndex) {\n    startIndex = startIndex == null ? func.length - 1 : +startIndex;\n    return function() {\n      var length = Math.max(arguments.length - startIndex, 0),\n          rest = Array(length),\n          index = 0;\n      for (; index < length; index++) {\n        rest[index] = arguments[index + startIndex];\n      }\n      switch (startIndex) {\n        case 0: return func.call(this, rest);\n        case 1: return func.call(this, arguments[0], rest);\n        case 2: return func.call(this, arguments[0], arguments[1], rest);\n      }\n      var args = Array(startIndex + 1);\n      for (index = 0; index < startIndex; index++) {\n        args[index] = arguments[index];\n      }\n      args[startIndex] = rest;\n      return func.apply(this, args);\n    };\n  };\n\n  // An internal function for creating a new object that inherits from another.\n  var baseCreate = function(prototype) {\n    if (!_.isObject(prototype)) return {};\n    if (nativeCreate) return nativeCreate(prototype);\n    Ctor.prototype = prototype;\n    var result = new Ctor;\n    Ctor.prototype = null;\n    return result;\n  };\n\n  var shallowProperty = function(key) {\n    return function(obj) {\n      return obj == null ? void 0 : obj[key];\n    };\n  };\n\n  var deepGet = function(obj, path) {\n    var length = path.length;\n    for (var i = 0; i < length; i++) {\n      if (obj == null) return void 0;\n      obj = obj[path[i]];\n    }\n    return length ? obj : void 0;\n  };\n\n  // Helper for collection methods to determine whether a collection\n  // should be iterated as an array or as an object.\n  // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n  // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n  var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n  var getLength = shallowProperty('length');\n  var isArrayLike = function(collection) {\n    var length = getLength(collection);\n    return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n  };\n\n  // Collection Functions\n  // --------------------\n\n  // The cornerstone, an `each` implementation, aka `forEach`.\n  // Handles raw objects in addition to array-likes. Treats all\n  // sparse array-likes as if they were dense.\n  _.each = _.forEach = function(obj, iteratee, context) {\n    iteratee = optimizeCb(iteratee, context);\n    var i, length;\n    if (isArrayLike(obj)) {\n      for (i = 0, length = obj.length; i < length; i++) {\n        iteratee(obj[i], i, obj);\n      }\n    } else {\n      var keys = _.keys(obj);\n      for (i = 0, length = keys.length; i < length; i++) {\n        iteratee(obj[keys[i]], keys[i], obj);\n      }\n    }\n    return obj;\n  };\n\n  // Return the results of applying the iteratee to each element.\n  _.map = _.collect = function(obj, iteratee, context) {\n    iteratee = cb(iteratee, context);\n    var keys = !isArrayLike(obj) && _.keys(obj),\n        length = (keys || obj).length,\n        results = Array(length);\n    for (var index = 0; index < length; index++) {\n      var currentKey = keys ? keys[index] : index;\n      results[index] = iteratee(obj[currentKey], currentKey, obj);\n    }\n    return results;\n  };\n\n  // Create a reducing function iterating left or right.\n  var createReduce = function(dir) {\n    // Wrap code that reassigns argument variables in a separate function than\n    // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n    var reducer = function(obj, iteratee, memo, initial) {\n      var keys = !isArrayLike(obj) && _.keys(obj),\n          length = (keys || obj).length,\n          index = dir > 0 ? 0 : length - 1;\n      if (!initial) {\n        memo = obj[keys ? keys[index] : index];\n        index += dir;\n      }\n      for (; index >= 0 && index < length; index += dir) {\n        var currentKey = keys ? keys[index] : index;\n        memo = iteratee(memo, obj[currentKey], currentKey, obj);\n      }\n      return memo;\n    };\n\n    return function(obj, iteratee, memo, context) {\n      var initial = arguments.length >= 3;\n      return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n    };\n  };\n\n  // **Reduce** builds up a single result from a list of values, aka `inject`,\n  // or `foldl`.\n  _.reduce = _.foldl = _.inject = createReduce(1);\n\n  // The right-associative version of reduce, also known as `foldr`.\n  _.reduceRight = _.foldr = createReduce(-1);\n\n  // Return the first value which passes a truth test. Aliased as `detect`.\n  _.find = _.detect = function(obj, predicate, context) {\n    var keyFinder = isArrayLike(obj) ? _.findIndex : _.findKey;\n    var key = keyFinder(obj, predicate, context);\n    if (key !== void 0 && key !== -1) return obj[key];\n  };\n\n  // Return all the elements that pass a truth test.\n  // Aliased as `select`.\n  _.filter = _.select = function(obj, predicate, context) {\n    var results = [];\n    predicate = cb(predicate, context);\n    _.each(obj, function(value, index, list) {\n      if (predicate(value, index, list)) results.push(value);\n    });\n    return results;\n  };\n\n  // Return all the elements for which a truth test fails.\n  _.reject = function(obj, predicate, context) {\n    return _.filter(obj, _.negate(cb(predicate)), context);\n  };\n\n  // Determine whether all of the elements match a truth test.\n  // Aliased as `all`.\n  _.every = _.all = function(obj, predicate, context) {\n    predicate = cb(predicate, context);\n    var keys = !isArrayLike(obj) && _.keys(obj),\n        length = (keys || obj).length;\n    for (var index = 0; index < length; index++) {\n      var currentKey = keys ? keys[index] : index;\n      if (!predicate(obj[currentKey], currentKey, obj)) return false;\n    }\n    return true;\n  };\n\n  // Determine if at least one element in the object matches a truth test.\n  // Aliased as `any`.\n  _.some = _.any = function(obj, predicate, context) {\n    predicate = cb(predicate, context);\n    var keys = !isArrayLike(obj) && _.keys(obj),\n        length = (keys || obj).length;\n    for (var index = 0; index < length; index++) {\n      var currentKey = keys ? keys[index] : index;\n      if (predicate(obj[currentKey], currentKey, obj)) return true;\n    }\n    return false;\n  };\n\n  // Determine if the array or object contains a given item (using `===`).\n  // Aliased as `includes` and `include`.\n  _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n    if (!isArrayLike(obj)) obj = _.values(obj);\n    if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n    return _.indexOf(obj, item, fromIndex) >= 0;\n  };\n\n  // Invoke a method (with arguments) on every item in a collection.\n  _.invoke = restArguments(function(obj, path, args) {\n    var contextPath, func;\n    if (_.isFunction(path)) {\n      func = path;\n    } else if (_.isArray(path)) {\n      contextPath = path.slice(0, -1);\n      path = path[path.length - 1];\n    }\n    return _.map(obj, function(context) {\n      var method = func;\n      if (!method) {\n        if (contextPath && contextPath.length) {\n          context = deepGet(context, contextPath);\n        }\n        if (context == null) return void 0;\n        method = context[path];\n      }\n      return method == null ? method : method.apply(context, args);\n    });\n  });\n\n  // Convenience version of a common use case of `map`: fetching a property.\n  _.pluck = function(obj, key) {\n    return _.map(obj, _.property(key));\n  };\n\n  // Convenience version of a common use case of `filter`: selecting only objects\n  // containing specific `key:value` pairs.\n  _.where = function(obj, attrs) {\n    return _.filter(obj, _.matcher(attrs));\n  };\n\n  // Convenience version of a common use case of `find`: getting the first object\n  // containing specific `key:value` pairs.\n  _.findWhere = function(obj, attrs) {\n    return _.find(obj, _.matcher(attrs));\n  };\n\n  // Return the maximum element (or element-based computation).\n  _.max = function(obj, iteratee, context) {\n    var result = -Infinity, lastComputed = -Infinity,\n        value, computed;\n    if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n      obj = isArrayLike(obj) ? obj : _.values(obj);\n      for (var i = 0, length = obj.length; i < length; i++) {\n        value = obj[i];\n        if (value != null && value > result) {\n          result = value;\n        }\n      }\n    } else {\n      iteratee = cb(iteratee, context);\n      _.each(obj, function(v, index, list) {\n        computed = iteratee(v, index, list);\n        if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n          result = v;\n          lastComputed = computed;\n        }\n      });\n    }\n    return result;\n  };\n\n  // Return the minimum element (or element-based computation).\n  _.min = function(obj, iteratee, context) {\n    var result = Infinity, lastComputed = Infinity,\n        value, computed;\n    if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n      obj = isArrayLike(obj) ? obj : _.values(obj);\n      for (var i = 0, length = obj.length; i < length; i++) {\n        value = obj[i];\n        if (value != null && value < result) {\n          result = value;\n        }\n      }\n    } else {\n      iteratee = cb(iteratee, context);\n      _.each(obj, function(v, index, list) {\n        computed = iteratee(v, index, list);\n        if (computed < lastComputed || computed === Infinity && result === Infinity) {\n          result = v;\n          lastComputed = computed;\n        }\n      });\n    }\n    return result;\n  };\n\n  // Shuffle a collection.\n  _.shuffle = function(obj) {\n    return _.sample(obj, Infinity);\n  };\n\n  // Sample **n** random values from a collection using the modern version of the\n  // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n  // If **n** is not specified, returns a single random element.\n  // The internal `guard` argument allows it to work with `map`.\n  _.sample = function(obj, n, guard) {\n    if (n == null || guard) {\n      if (!isArrayLike(obj)) obj = _.values(obj);\n      return obj[_.random(obj.length - 1)];\n    }\n    var sample = isArrayLike(obj) ? _.clone(obj) : _.values(obj);\n    var length = getLength(sample);\n    n = Math.max(Math.min(n, length), 0);\n    var last = length - 1;\n    for (var index = 0; index < n; index++) {\n      var rand = _.random(index, last);\n      var temp = sample[index];\n      sample[index] = sample[rand];\n      sample[rand] = temp;\n    }\n    return sample.slice(0, n);\n  };\n\n  // Sort the object's values by a criterion produced by an iteratee.\n  _.sortBy = function(obj, iteratee, context) {\n    var index = 0;\n    iteratee = cb(iteratee, context);\n    return _.pluck(_.map(obj, function(value, key, list) {\n      return {\n        value: value,\n        index: index++,\n        criteria: iteratee(value, key, list)\n      };\n    }).sort(function(left, right) {\n      var a = left.criteria;\n      var b = right.criteria;\n      if (a !== b) {\n        if (a > b || a === void 0) return 1;\n        if (a < b || b === void 0) return -1;\n      }\n      return left.index - right.index;\n    }), 'value');\n  };\n\n  // An internal function used for aggregate \"group by\" operations.\n  var group = function(behavior, partition) {\n    return function(obj, iteratee, context) {\n      var result = partition ? [[], []] : {};\n      iteratee = cb(iteratee, context);\n      _.each(obj, function(value, index) {\n        var key = iteratee(value, index, obj);\n        behavior(result, value, key);\n      });\n      return result;\n    };\n  };\n\n  // Groups the object's values by a criterion. Pass either a string attribute\n  // to group by, or a function that returns the criterion.\n  _.groupBy = group(function(result, value, key) {\n    if (_.has(result, key)) result[key].push(value); else result[key] = [value];\n  });\n\n  // Indexes the object's values by a criterion, similar to `groupBy`, but for\n  // when you know that your index values will be unique.\n  _.indexBy = group(function(result, value, key) {\n    result[key] = value;\n  });\n\n  // Counts instances of an object that group by a certain criterion. Pass\n  // either a string attribute to count by, or a function that returns the\n  // criterion.\n  _.countBy = group(function(result, value, key) {\n    if (_.has(result, key)) result[key]++; else result[key] = 1;\n  });\n\n  var reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\n  // Safely create a real, live array from anything iterable.\n  _.toArray = function(obj) {\n    if (!obj) return [];\n    if (_.isArray(obj)) return slice.call(obj);\n    if (_.isString(obj)) {\n      // Keep surrogate pair characters together\n      return obj.match(reStrSymbol);\n    }\n    if (isArrayLike(obj)) return _.map(obj, _.identity);\n    return _.values(obj);\n  };\n\n  // Return the number of elements in an object.\n  _.size = function(obj) {\n    if (obj == null) return 0;\n    return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n  };\n\n  // Split a collection into two arrays: one whose elements all satisfy the given\n  // predicate, and one whose elements all do not satisfy the predicate.\n  _.partition = group(function(result, value, pass) {\n    result[pass ? 0 : 1].push(value);\n  }, true);\n\n  // Array Functions\n  // ---------------\n\n  // Get the first element of an array. Passing **n** will return the first N\n  // values in the array. Aliased as `head` and `take`. The **guard** check\n  // allows it to work with `_.map`.\n  _.first = _.head = _.take = function(array, n, guard) {\n    if (array == null || array.length < 1) return void 0;\n    if (n == null || guard) return array[0];\n    return _.initial(array, array.length - n);\n  };\n\n  // Returns everything but the last entry of the array. Especially useful on\n  // the arguments object. Passing **n** will return all the values in\n  // the array, excluding the last N.\n  _.initial = function(array, n, guard) {\n    return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n  };\n\n  // Get the last element of an array. Passing **n** will return the last N\n  // values in the array.\n  _.last = function(array, n, guard) {\n    if (array == null || array.length < 1) return void 0;\n    if (n == null || guard) return array[array.length - 1];\n    return _.rest(array, Math.max(0, array.length - n));\n  };\n\n  // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n  // Especially useful on the arguments object. Passing an **n** will return\n  // the rest N values in the array.\n  _.rest = _.tail = _.drop = function(array, n, guard) {\n    return slice.call(array, n == null || guard ? 1 : n);\n  };\n\n  // Trim out all falsy values from an array.\n  _.compact = function(array) {\n    return _.filter(array, Boolean);\n  };\n\n  // Internal implementation of a recursive `flatten` function.\n  var flatten = function(input, shallow, strict, output) {\n    output = output || [];\n    var idx = output.length;\n    for (var i = 0, length = getLength(input); i < length; i++) {\n      var value = input[i];\n      if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n        // Flatten current level of array or arguments object.\n        if (shallow) {\n          var j = 0, len = value.length;\n          while (j < len) output[idx++] = value[j++];\n        } else {\n          flatten(value, shallow, strict, output);\n          idx = output.length;\n        }\n      } else if (!strict) {\n        output[idx++] = value;\n      }\n    }\n    return output;\n  };\n\n  // Flatten out an array, either recursively (by default), or just one level.\n  _.flatten = function(array, shallow) {\n    return flatten(array, shallow, false);\n  };\n\n  // Return a version of the array that does not contain the specified value(s).\n  _.without = restArguments(function(array, otherArrays) {\n    return _.difference(array, otherArrays);\n  });\n\n  // Produce a duplicate-free version of the array. If the array has already\n  // been sorted, you have the option of using a faster algorithm.\n  // The faster algorithm will not work with an iteratee if the iteratee\n  // is not a one-to-one function, so providing an iteratee will disable\n  // the faster algorithm.\n  // Aliased as `unique`.\n  _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n    if (!_.isBoolean(isSorted)) {\n      context = iteratee;\n      iteratee = isSorted;\n      isSorted = false;\n    }\n    if (iteratee != null) iteratee = cb(iteratee, context);\n    var result = [];\n    var seen = [];\n    for (var i = 0, length = getLength(array); i < length; i++) {\n      var value = array[i],\n          computed = iteratee ? iteratee(value, i, array) : value;\n      if (isSorted && !iteratee) {\n        if (!i || seen !== computed) result.push(value);\n        seen = computed;\n      } else if (iteratee) {\n        if (!_.contains(seen, computed)) {\n          seen.push(computed);\n          result.push(value);\n        }\n      } else if (!_.contains(result, value)) {\n        result.push(value);\n      }\n    }\n    return result;\n  };\n\n  // Produce an array that contains the union: each distinct element from all of\n  // the passed-in arrays.\n  _.union = restArguments(function(arrays) {\n    return _.uniq(flatten(arrays, true, true));\n  });\n\n  // Produce an array that contains every item shared between all the\n  // passed-in arrays.\n  _.intersection = function(array) {\n    var result = [];\n    var argsLength = arguments.length;\n    for (var i = 0, length = getLength(array); i < length; i++) {\n      var item = array[i];\n      if (_.contains(result, item)) continue;\n      var j;\n      for (j = 1; j < argsLength; j++) {\n        if (!_.contains(arguments[j], item)) break;\n      }\n      if (j === argsLength) result.push(item);\n    }\n    return result;\n  };\n\n  // Take the difference between one array and a number of other arrays.\n  // Only the elements present in just the first array will remain.\n  _.difference = restArguments(function(array, rest) {\n    rest = flatten(rest, true, true);\n    return _.filter(array, function(value){\n      return !_.contains(rest, value);\n    });\n  });\n\n  // Complement of _.zip. Unzip accepts an array of arrays and groups\n  // each array's elements on shared indices.\n  _.unzip = function(array) {\n    var length = array && _.max(array, getLength).length || 0;\n    var result = Array(length);\n\n    for (var index = 0; index < length; index++) {\n      result[index] = _.pluck(array, index);\n    }\n    return result;\n  };\n\n  // Zip together multiple lists into a single array -- elements that share\n  // an index go together.\n  _.zip = restArguments(_.unzip);\n\n  // Converts lists into objects. Pass either a single array of `[key, value]`\n  // pairs, or two parallel arrays of the same length -- one of keys, and one of\n  // the corresponding values. Passing by pairs is the reverse of _.pairs.\n  _.object = function(list, values) {\n    var result = {};\n    for (var i = 0, length = getLength(list); i < length; i++) {\n      if (values) {\n        result[list[i]] = values[i];\n      } else {\n        result[list[i][0]] = list[i][1];\n      }\n    }\n    return result;\n  };\n\n  // Generator function to create the findIndex and findLastIndex functions.\n  var createPredicateIndexFinder = function(dir) {\n    return function(array, predicate, context) {\n      predicate = cb(predicate, context);\n      var length = getLength(array);\n      var index = dir > 0 ? 0 : length - 1;\n      for (; index >= 0 && index < length; index += dir) {\n        if (predicate(array[index], index, array)) return index;\n      }\n      return -1;\n    };\n  };\n\n  // Returns the first index on an array-like that passes a predicate test.\n  _.findIndex = createPredicateIndexFinder(1);\n  _.findLastIndex = createPredicateIndexFinder(-1);\n\n  // Use a comparator function to figure out the smallest index at which\n  // an object should be inserted so as to maintain order. Uses binary search.\n  _.sortedIndex = function(array, obj, iteratee, context) {\n    iteratee = cb(iteratee, context, 1);\n    var value = iteratee(obj);\n    var low = 0, high = getLength(array);\n    while (low < high) {\n      var mid = Math.floor((low + high) / 2);\n      if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n    }\n    return low;\n  };\n\n  // Generator function to create the indexOf and lastIndexOf functions.\n  var createIndexFinder = function(dir, predicateFind, sortedIndex) {\n    return function(array, item, idx) {\n      var i = 0, length = getLength(array);\n      if (typeof idx == 'number') {\n        if (dir > 0) {\n          i = idx >= 0 ? idx : Math.max(idx + length, i);\n        } else {\n          length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n        }\n      } else if (sortedIndex && idx && length) {\n        idx = sortedIndex(array, item);\n        return array[idx] === item ? idx : -1;\n      }\n      if (item !== item) {\n        idx = predicateFind(slice.call(array, i, length), _.isNaN);\n        return idx >= 0 ? idx + i : -1;\n      }\n      for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n        if (array[idx] === item) return idx;\n      }\n      return -1;\n    };\n  };\n\n  // Return the position of the first occurrence of an item in an array,\n  // or -1 if the item is not included in the array.\n  // If the array is large and already in sort order, pass `true`\n  // for **isSorted** to use binary search.\n  _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n  _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\n  // Generate an integer Array containing an arithmetic progression. A port of\n  // the native Python `range()` function. See\n  // [the Python documentation](http://docs.python.org/library/functions.html#range).\n  _.range = function(start, stop, step) {\n    if (stop == null) {\n      stop = start || 0;\n      start = 0;\n    }\n    if (!step) {\n      step = stop < start ? -1 : 1;\n    }\n\n    var length = Math.max(Math.ceil((stop - start) / step), 0);\n    var range = Array(length);\n\n    for (var idx = 0; idx < length; idx++, start += step) {\n      range[idx] = start;\n    }\n\n    return range;\n  };\n\n  // Chunk a single array into multiple arrays, each containing `count` or fewer\n  // items.\n  _.chunk = function(array, count) {\n    if (count == null || count < 1) return [];\n    var result = [];\n    var i = 0, length = array.length;\n    while (i < length) {\n      result.push(slice.call(array, i, i += count));\n    }\n    return result;\n  };\n\n  // Function (ahem) Functions\n  // ------------------\n\n  // Determines whether to execute a function as a constructor\n  // or a normal function with the provided arguments.\n  var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n    if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n    var self = baseCreate(sourceFunc.prototype);\n    var result = sourceFunc.apply(self, args);\n    if (_.isObject(result)) return result;\n    return self;\n  };\n\n  // Create a function bound to a given object (assigning `this`, and arguments,\n  // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n  // available.\n  _.bind = restArguments(function(func, context, args) {\n    if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n    var bound = restArguments(function(callArgs) {\n      return executeBound(func, bound, context, this, args.concat(callArgs));\n    });\n    return bound;\n  });\n\n  // Partially apply a function by creating a version that has had some of its\n  // arguments pre-filled, without changing its dynamic `this` context. _ acts\n  // as a placeholder by default, allowing any combination of arguments to be\n  // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\n  _.partial = restArguments(function(func, boundArgs) {\n    var placeholder = _.partial.placeholder;\n    var bound = function() {\n      var position = 0, length = boundArgs.length;\n      var args = Array(length);\n      for (var i = 0; i < length; i++) {\n        args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n      }\n      while (position < arguments.length) args.push(arguments[position++]);\n      return executeBound(func, bound, this, this, args);\n    };\n    return bound;\n  });\n\n  _.partial.placeholder = _;\n\n  // Bind a number of an object's methods to that object. Remaining arguments\n  // are the method names to be bound. Useful for ensuring that all callbacks\n  // defined on an object belong to it.\n  _.bindAll = restArguments(function(obj, keys) {\n    keys = flatten(keys, false, false);\n    var index = keys.length;\n    if (index < 1) throw new Error('bindAll must be passed function names');\n    while (index--) {\n      var key = keys[index];\n      obj[key] = _.bind(obj[key], obj);\n    }\n  });\n\n  // Memoize an expensive function by storing its results.\n  _.memoize = function(func, hasher) {\n    var memoize = function(key) {\n      var cache = memoize.cache;\n      var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n      if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);\n      return cache[address];\n    };\n    memoize.cache = {};\n    return memoize;\n  };\n\n  // Delays a function for the given number of milliseconds, and then calls\n  // it with the arguments supplied.\n  _.delay = restArguments(function(func, wait, args) {\n    return setTimeout(function() {\n      return func.apply(null, args);\n    }, wait);\n  });\n\n  // Defers a function, scheduling it to run after the current call stack has\n  // cleared.\n  _.defer = _.partial(_.delay, _, 1);\n\n  // Returns a function, that, when invoked, will only be triggered at most once\n  // during a given window of time. Normally, the throttled function will run\n  // as much as it can, without ever going more than once per `wait` duration;\n  // but if you'd like to disable the execution on the leading edge, pass\n  // `{leading: false}`. To disable execution on the trailing edge, ditto.\n  _.throttle = function(func, wait, options) {\n    var timeout, context, args, result;\n    var previous = 0;\n    if (!options) options = {};\n\n    var later = function() {\n      previous = options.leading === false ? 0 : _.now();\n      timeout = null;\n      result = func.apply(context, args);\n      if (!timeout) context = args = null;\n    };\n\n    var throttled = function() {\n      var now = _.now();\n      if (!previous && options.leading === false) previous = now;\n      var remaining = wait - (now - previous);\n      context = this;\n      args = arguments;\n      if (remaining <= 0 || remaining > wait) {\n        if (timeout) {\n          clearTimeout(timeout);\n          timeout = null;\n        }\n        previous = now;\n        result = func.apply(context, args);\n        if (!timeout) context = args = null;\n      } else if (!timeout && options.trailing !== false) {\n        timeout = setTimeout(later, remaining);\n      }\n      return result;\n    };\n\n    throttled.cancel = function() {\n      clearTimeout(timeout);\n      previous = 0;\n      timeout = context = args = null;\n    };\n\n    return throttled;\n  };\n\n  // Returns a function, that, as long as it continues to be invoked, will not\n  // be triggered. The function will be called after it stops being called for\n  // N milliseconds. If `immediate` is passed, trigger the function on the\n  // leading edge, instead of the trailing.\n  _.debounce = function(func, wait, immediate) {\n    var timeout, result;\n\n    var later = function(context, args) {\n      timeout = null;\n      if (args) result = func.apply(context, args);\n    };\n\n    var debounced = restArguments(function(args) {\n      if (timeout) clearTimeout(timeout);\n      if (immediate) {\n        var callNow = !timeout;\n        timeout = setTimeout(later, wait);\n        if (callNow) result = func.apply(this, args);\n      } else {\n        timeout = _.delay(later, wait, this, args);\n      }\n\n      return result;\n    });\n\n    debounced.cancel = function() {\n      clearTimeout(timeout);\n      timeout = null;\n    };\n\n    return debounced;\n  };\n\n  // Returns the first function passed as an argument to the second,\n  // allowing you to adjust arguments, run code before and after, and\n  // conditionally execute the original function.\n  _.wrap = function(func, wrapper) {\n    return _.partial(wrapper, func);\n  };\n\n  // Returns a negated version of the passed-in predicate.\n  _.negate = function(predicate) {\n    return function() {\n      return !predicate.apply(this, arguments);\n    };\n  };\n\n  // Returns a function that is the composition of a list of functions, each\n  // consuming the return value of the function that follows.\n  _.compose = function() {\n    var args = arguments;\n    var start = args.length - 1;\n    return function() {\n      var i = start;\n      var result = args[start].apply(this, arguments);\n      while (i--) result = args[i].call(this, result);\n      return result;\n    };\n  };\n\n  // Returns a function that will only be executed on and after the Nth call.\n  _.after = function(times, func) {\n    return function() {\n      if (--times < 1) {\n        return func.apply(this, arguments);\n      }\n    };\n  };\n\n  // Returns a function that will only be executed up to (but not including) the Nth call.\n  _.before = function(times, func) {\n    var memo;\n    return function() {\n      if (--times > 0) {\n        memo = func.apply(this, arguments);\n      }\n      if (times <= 1) func = null;\n      return memo;\n    };\n  };\n\n  // Returns a function that will be executed at most one time, no matter how\n  // often you call it. Useful for lazy initialization.\n  _.once = _.partial(_.before, 2);\n\n  _.restArguments = restArguments;\n\n  // Object Functions\n  // ----------------\n\n  // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n  var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n  var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n    'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n  var collectNonEnumProps = function(obj, keys) {\n    var nonEnumIdx = nonEnumerableProps.length;\n    var constructor = obj.constructor;\n    var proto = _.isFunction(constructor) && constructor.prototype || ObjProto;\n\n    // Constructor is a special case.\n    var prop = 'constructor';\n    if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\n    while (nonEnumIdx--) {\n      prop = nonEnumerableProps[nonEnumIdx];\n      if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n        keys.push(prop);\n      }\n    }\n  };\n\n  // Retrieve the names of an object's own properties.\n  // Delegates to **ECMAScript 5**'s native `Object.keys`.\n  _.keys = function(obj) {\n    if (!_.isObject(obj)) return [];\n    if (nativeKeys) return nativeKeys(obj);\n    var keys = [];\n    for (var key in obj) if (_.has(obj, key)) keys.push(key);\n    // Ahem, IE < 9.\n    if (hasEnumBug) collectNonEnumProps(obj, keys);\n    return keys;\n  };\n\n  // Retrieve all the property names of an object.\n  _.allKeys = function(obj) {\n    if (!_.isObject(obj)) return [];\n    var keys = [];\n    for (var key in obj) keys.push(key);\n    // Ahem, IE < 9.\n    if (hasEnumBug) collectNonEnumProps(obj, keys);\n    return keys;\n  };\n\n  // Retrieve the values of an object's properties.\n  _.values = function(obj) {\n    var keys = _.keys(obj);\n    var length = keys.length;\n    var values = Array(length);\n    for (var i = 0; i < length; i++) {\n      values[i] = obj[keys[i]];\n    }\n    return values;\n  };\n\n  // Returns the results of applying the iteratee to each element of the object.\n  // In contrast to _.map it returns an object.\n  _.mapObject = function(obj, iteratee, context) {\n    iteratee = cb(iteratee, context);\n    var keys = _.keys(obj),\n        length = keys.length,\n        results = {};\n    for (var index = 0; index < length; index++) {\n      var currentKey = keys[index];\n      results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n    }\n    return results;\n  };\n\n  // Convert an object into a list of `[key, value]` pairs.\n  // The opposite of _.object.\n  _.pairs = function(obj) {\n    var keys = _.keys(obj);\n    var length = keys.length;\n    var pairs = Array(length);\n    for (var i = 0; i < length; i++) {\n      pairs[i] = [keys[i], obj[keys[i]]];\n    }\n    return pairs;\n  };\n\n  // Invert the keys and values of an object. The values must be serializable.\n  _.invert = function(obj) {\n    var result = {};\n    var keys = _.keys(obj);\n    for (var i = 0, length = keys.length; i < length; i++) {\n      result[obj[keys[i]]] = keys[i];\n    }\n    return result;\n  };\n\n  // Return a sorted list of the function names available on the object.\n  // Aliased as `methods`.\n  _.functions = _.methods = function(obj) {\n    var names = [];\n    for (var key in obj) {\n      if (_.isFunction(obj[key])) names.push(key);\n    }\n    return names.sort();\n  };\n\n  // An internal function for creating assigner functions.\n  var createAssigner = function(keysFunc, defaults) {\n    return function(obj) {\n      var length = arguments.length;\n      if (defaults) obj = Object(obj);\n      if (length < 2 || obj == null) return obj;\n      for (var index = 1; index < length; index++) {\n        var source = arguments[index],\n            keys = keysFunc(source),\n            l = keys.length;\n        for (var i = 0; i < l; i++) {\n          var key = keys[i];\n          if (!defaults || obj[key] === void 0) obj[key] = source[key];\n        }\n      }\n      return obj;\n    };\n  };\n\n  // Extend a given object with all the properties in passed-in object(s).\n  _.extend = createAssigner(_.allKeys);\n\n  // Assigns a given object with all the own properties in the passed-in object(s).\n  // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n  _.extendOwn = _.assign = createAssigner(_.keys);\n\n  // Returns the first key on an object that passes a predicate test.\n  _.findKey = function(obj, predicate, context) {\n    predicate = cb(predicate, context);\n    var keys = _.keys(obj), key;\n    for (var i = 0, length = keys.length; i < length; i++) {\n      key = keys[i];\n      if (predicate(obj[key], key, obj)) return key;\n    }\n  };\n\n  // Internal pick helper function to determine if `obj` has key `key`.\n  var keyInObj = function(value, key, obj) {\n    return key in obj;\n  };\n\n  // Return a copy of the object only containing the whitelisted properties.\n  _.pick = restArguments(function(obj, keys) {\n    var result = {}, iteratee = keys[0];\n    if (obj == null) return result;\n    if (_.isFunction(iteratee)) {\n      if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n      keys = _.allKeys(obj);\n    } else {\n      iteratee = keyInObj;\n      keys = flatten(keys, false, false);\n      obj = Object(obj);\n    }\n    for (var i = 0, length = keys.length; i < length; i++) {\n      var key = keys[i];\n      var value = obj[key];\n      if (iteratee(value, key, obj)) result[key] = value;\n    }\n    return result;\n  });\n\n  // Return a copy of the object without the blacklisted properties.\n  _.omit = restArguments(function(obj, keys) {\n    var iteratee = keys[0], context;\n    if (_.isFunction(iteratee)) {\n      iteratee = _.negate(iteratee);\n      if (keys.length > 1) context = keys[1];\n    } else {\n      keys = _.map(flatten(keys, false, false), String);\n      iteratee = function(value, key) {\n        return !_.contains(keys, key);\n      };\n    }\n    return _.pick(obj, iteratee, context);\n  });\n\n  // Fill in a given object with default properties.\n  _.defaults = createAssigner(_.allKeys, true);\n\n  // Creates an object that inherits from the given prototype object.\n  // If additional properties are provided then they will be added to the\n  // created object.\n  _.create = function(prototype, props) {\n    var result = baseCreate(prototype);\n    if (props) _.extendOwn(result, props);\n    return result;\n  };\n\n  // Create a (shallow-cloned) duplicate of an object.\n  _.clone = function(obj) {\n    if (!_.isObject(obj)) return obj;\n    return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n  };\n\n  // Invokes interceptor with the obj, and then returns obj.\n  // The primary purpose of this method is to \"tap into\" a method chain, in\n  // order to perform operations on intermediate results within the chain.\n  _.tap = function(obj, interceptor) {\n    interceptor(obj);\n    return obj;\n  };\n\n  // Returns whether an object has a given set of `key:value` pairs.\n  _.isMatch = function(object, attrs) {\n    var keys = _.keys(attrs), length = keys.length;\n    if (object == null) return !length;\n    var obj = Object(object);\n    for (var i = 0; i < length; i++) {\n      var key = keys[i];\n      if (attrs[key] !== obj[key] || !(key in obj)) return false;\n    }\n    return true;\n  };\n\n\n  // Internal recursive comparison function for `isEqual`.\n  var eq, deepEq;\n  eq = function(a, b, aStack, bStack) {\n    // Identical objects are equal. `0 === -0`, but they aren't identical.\n    // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n    if (a === b) return a !== 0 || 1 / a === 1 / b;\n    // `null` or `undefined` only equal to itself (strict comparison).\n    if (a == null || b == null) return false;\n    // `NaN`s are equivalent, but non-reflexive.\n    if (a !== a) return b !== b;\n    // Exhaust primitive checks\n    var type = typeof a;\n    if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n    return deepEq(a, b, aStack, bStack);\n  };\n\n  // Internal recursive comparison function for `isEqual`.\n  deepEq = function(a, b, aStack, bStack) {\n    // Unwrap any wrapped objects.\n    if (a instanceof _) a = a._wrapped;\n    if (b instanceof _) b = b._wrapped;\n    // Compare `[[Class]]` names.\n    var className = toString.call(a);\n    if (className !== toString.call(b)) return false;\n    switch (className) {\n      // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n      case '[object RegExp]':\n      // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n      case '[object String]':\n        // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n        // equivalent to `new String(\"5\")`.\n        return '' + a === '' + b;\n      case '[object Number]':\n        // `NaN`s are equivalent, but non-reflexive.\n        // Object(NaN) is equivalent to NaN.\n        if (+a !== +a) return +b !== +b;\n        // An `egal` comparison is performed for other numeric values.\n        return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n      case '[object Date]':\n      case '[object Boolean]':\n        // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n        // millisecond representations. Note that invalid dates with millisecond representations\n        // of `NaN` are not equivalent.\n        return +a === +b;\n      case '[object Symbol]':\n        return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n    }\n\n    var areArrays = className === '[object Array]';\n    if (!areArrays) {\n      if (typeof a != 'object' || typeof b != 'object') return false;\n\n      // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n      // from different frames are.\n      var aCtor = a.constructor, bCtor = b.constructor;\n      if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n                               _.isFunction(bCtor) && bCtor instanceof bCtor)\n                          && ('constructor' in a && 'constructor' in b)) {\n        return false;\n      }\n    }\n    // Assume equality for cyclic structures. The algorithm for detecting cyclic\n    // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n    // Initializing stack of traversed objects.\n    // It's done here since we only need them for objects and arrays comparison.\n    aStack = aStack || [];\n    bStack = bStack || [];\n    var length = aStack.length;\n    while (length--) {\n      // Linear search. Performance is inversely proportional to the number of\n      // unique nested structures.\n      if (aStack[length] === a) return bStack[length] === b;\n    }\n\n    // Add the first object to the stack of traversed objects.\n    aStack.push(a);\n    bStack.push(b);\n\n    // Recursively compare objects and arrays.\n    if (areArrays) {\n      // Compare array lengths to determine if a deep comparison is necessary.\n      length = a.length;\n      if (length !== b.length) return false;\n      // Deep compare the contents, ignoring non-numeric properties.\n      while (length--) {\n        if (!eq(a[length], b[length], aStack, bStack)) return false;\n      }\n    } else {\n      // Deep compare objects.\n      var keys = _.keys(a), key;\n      length = keys.length;\n      // Ensure that both objects contain the same number of properties before comparing deep equality.\n      if (_.keys(b).length !== length) return false;\n      while (length--) {\n        // Deep compare each member\n        key = keys[length];\n        if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n      }\n    }\n    // Remove the first object from the stack of traversed objects.\n    aStack.pop();\n    bStack.pop();\n    return true;\n  };\n\n  // Perform a deep comparison to check if two objects are equal.\n  _.isEqual = function(a, b) {\n    return eq(a, b);\n  };\n\n  // Is a given array, string, or object empty?\n  // An \"empty\" object has no enumerable own-properties.\n  _.isEmpty = function(obj) {\n    if (obj == null) return true;\n    if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n    return _.keys(obj).length === 0;\n  };\n\n  // Is a given value a DOM element?\n  _.isElement = function(obj) {\n    return !!(obj && obj.nodeType === 1);\n  };\n\n  // Is a given value an array?\n  // Delegates to ECMA5's native Array.isArray\n  _.isArray = nativeIsArray || function(obj) {\n    return toString.call(obj) === '[object Array]';\n  };\n\n  // Is a given variable an object?\n  _.isObject = function(obj) {\n    var type = typeof obj;\n    return type === 'function' || type === 'object' && !!obj;\n  };\n\n  // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError, isMap, isWeakMap, isSet, isWeakSet.\n  _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error', 'Symbol', 'Map', 'WeakMap', 'Set', 'WeakSet'], function(name) {\n    _['is' + name] = function(obj) {\n      return toString.call(obj) === '[object ' + name + ']';\n    };\n  });\n\n  // Define a fallback version of the method in browsers (ahem, IE < 9), where\n  // there isn't any inspectable \"Arguments\" type.\n  if (!_.isArguments(arguments)) {\n    _.isArguments = function(obj) {\n      return _.has(obj, 'callee');\n    };\n  }\n\n  // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n  // IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\n  var nodelist = root.document && root.document.childNodes;\n  if ( true && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n    _.isFunction = function(obj) {\n      return typeof obj == 'function' || false;\n    };\n  }\n\n  // Is a given object a finite number?\n  _.isFinite = function(obj) {\n    return !_.isSymbol(obj) && isFinite(obj) && !isNaN(parseFloat(obj));\n  };\n\n  // Is the given value `NaN`?\n  _.isNaN = function(obj) {\n    return _.isNumber(obj) && isNaN(obj);\n  };\n\n  // Is a given value a boolean?\n  _.isBoolean = function(obj) {\n    return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n  };\n\n  // Is a given value equal to null?\n  _.isNull = function(obj) {\n    return obj === null;\n  };\n\n  // Is a given variable undefined?\n  _.isUndefined = function(obj) {\n    return obj === void 0;\n  };\n\n  // Shortcut function for checking if an object has a given property directly\n  // on itself (in other words, not on a prototype).\n  _.has = function(obj, path) {\n    if (!_.isArray(path)) {\n      return obj != null && hasOwnProperty.call(obj, path);\n    }\n    var length = path.length;\n    for (var i = 0; i < length; i++) {\n      var key = path[i];\n      if (obj == null || !hasOwnProperty.call(obj, key)) {\n        return false;\n      }\n      obj = obj[key];\n    }\n    return !!length;\n  };\n\n  // Utility Functions\n  // -----------------\n\n  // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n  // previous owner. Returns a reference to the Underscore object.\n  _.noConflict = function() {\n    root._ = previousUnderscore;\n    return this;\n  };\n\n  // Keep the identity function around for default iteratees.\n  _.identity = function(value) {\n    return value;\n  };\n\n  // Predicate-generating functions. Often useful outside of Underscore.\n  _.constant = function(value) {\n    return function() {\n      return value;\n    };\n  };\n\n  _.noop = function(){};\n\n  // Creates a function that, when passed an object, will traverse that object’s\n  // properties down the given `path`, specified as an array of keys or indexes.\n  _.property = function(path) {\n    if (!_.isArray(path)) {\n      return shallowProperty(path);\n    }\n    return function(obj) {\n      return deepGet(obj, path);\n    };\n  };\n\n  // Generates a function for a given object that returns a given property.\n  _.propertyOf = function(obj) {\n    if (obj == null) {\n      return function(){};\n    }\n    return function(path) {\n      return !_.isArray(path) ? obj[path] : deepGet(obj, path);\n    };\n  };\n\n  // Returns a predicate for checking whether an object has a given set of\n  // `key:value` pairs.\n  _.matcher = _.matches = function(attrs) {\n    attrs = _.extendOwn({}, attrs);\n    return function(obj) {\n      return _.isMatch(obj, attrs);\n    };\n  };\n\n  // Run a function **n** times.\n  _.times = function(n, iteratee, context) {\n    var accum = Array(Math.max(0, n));\n    iteratee = optimizeCb(iteratee, context, 1);\n    for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n    return accum;\n  };\n\n  // Return a random integer between min and max (inclusive).\n  _.random = function(min, max) {\n    if (max == null) {\n      max = min;\n      min = 0;\n    }\n    return min + Math.floor(Math.random() * (max - min + 1));\n  };\n\n  // A (possibly faster) way to get the current timestamp as an integer.\n  _.now = Date.now || function() {\n    return new Date().getTime();\n  };\n\n  // List of HTML entities for escaping.\n  var escapeMap = {\n    '&': '&amp;',\n    '<': '&lt;',\n    '>': '&gt;',\n    '\"': '&quot;',\n    \"'\": '&#x27;',\n    '`': '&#x60;'\n  };\n  var unescapeMap = _.invert(escapeMap);\n\n  // Functions for escaping and unescaping strings to/from HTML interpolation.\n  var createEscaper = function(map) {\n    var escaper = function(match) {\n      return map[match];\n    };\n    // Regexes for identifying a key that needs to be escaped.\n    var source = '(?:' + _.keys(map).join('|') + ')';\n    var testRegexp = RegExp(source);\n    var replaceRegexp = RegExp(source, 'g');\n    return function(string) {\n      string = string == null ? '' : '' + string;\n      return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n    };\n  };\n  _.escape = createEscaper(escapeMap);\n  _.unescape = createEscaper(unescapeMap);\n\n  // Traverses the children of `obj` along `path`. If a child is a function, it\n  // is invoked with its parent as context. Returns the value of the final\n  // child, or `fallback` if any child is undefined.\n  _.result = function(obj, path, fallback) {\n    if (!_.isArray(path)) path = [path];\n    var length = path.length;\n    if (!length) {\n      return _.isFunction(fallback) ? fallback.call(obj) : fallback;\n    }\n    for (var i = 0; i < length; i++) {\n      var prop = obj == null ? void 0 : obj[path[i]];\n      if (prop === void 0) {\n        prop = fallback;\n        i = length; // Ensure we don't continue iterating.\n      }\n      obj = _.isFunction(prop) ? prop.call(obj) : prop;\n    }\n    return obj;\n  };\n\n  // Generate a unique integer id (unique within the entire client session).\n  // Useful for temporary DOM ids.\n  var idCounter = 0;\n  _.uniqueId = function(prefix) {\n    var id = ++idCounter + '';\n    return prefix ? prefix + id : id;\n  };\n\n  // By default, Underscore uses ERB-style template delimiters, change the\n  // following template settings to use alternative delimiters.\n  _.templateSettings = {\n    evaluate: /<%([\\s\\S]+?)%>/g,\n    interpolate: /<%=([\\s\\S]+?)%>/g,\n    escape: /<%-([\\s\\S]+?)%>/g\n  };\n\n  // When customizing `templateSettings`, if you don't want to define an\n  // interpolation, evaluation or escaping regex, we need one that is\n  // guaranteed not to match.\n  var noMatch = /(.)^/;\n\n  // Certain characters need to be escaped so that they can be put into a\n  // string literal.\n  var escapes = {\n    \"'\": \"'\",\n    '\\\\': '\\\\',\n    '\\r': 'r',\n    '\\n': 'n',\n    '\\u2028': 'u2028',\n    '\\u2029': 'u2029'\n  };\n\n  var escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n  var escapeChar = function(match) {\n    return '\\\\' + escapes[match];\n  };\n\n  // JavaScript micro-templating, similar to John Resig's implementation.\n  // Underscore templating handles arbitrary delimiters, preserves whitespace,\n  // and correctly escapes quotes within interpolated code.\n  // NB: `oldSettings` only exists for backwards compatibility.\n  _.template = function(text, settings, oldSettings) {\n    if (!settings && oldSettings) settings = oldSettings;\n    settings = _.defaults({}, settings, _.templateSettings);\n\n    // Combine delimiters into one regular expression via alternation.\n    var matcher = RegExp([\n      (settings.escape || noMatch).source,\n      (settings.interpolate || noMatch).source,\n      (settings.evaluate || noMatch).source\n    ].join('|') + '|$', 'g');\n\n    // Compile the template source, escaping string literals appropriately.\n    var index = 0;\n    var source = \"__p+='\";\n    text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n      source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n      index = offset + match.length;\n\n      if (escape) {\n        source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n      } else if (interpolate) {\n        source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n      } else if (evaluate) {\n        source += \"';\\n\" + evaluate + \"\\n__p+='\";\n      }\n\n      // Adobe VMs need the match returned to produce the correct offset.\n      return match;\n    });\n    source += \"';\\n\";\n\n    // If a variable is not specified, place data values in local scope.\n    if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n    source = \"var __t,__p='',__j=Array.prototype.join,\" +\n      \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n      source + 'return __p;\\n';\n\n    var render;\n    try {\n      render = new Function(settings.variable || 'obj', '_', source);\n    } catch (e) {\n      e.source = source;\n      throw e;\n    }\n\n    var template = function(data) {\n      return render.call(this, data, _);\n    };\n\n    // Provide the compiled source as a convenience for precompilation.\n    var argument = settings.variable || 'obj';\n    template.source = 'function(' + argument + '){\\n' + source + '}';\n\n    return template;\n  };\n\n  // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n  _.chain = function(obj) {\n    var instance = _(obj);\n    instance._chain = true;\n    return instance;\n  };\n\n  // OOP\n  // ---------------\n  // If Underscore is called as a function, it returns a wrapped object that\n  // can be used OO-style. This wrapper holds altered versions of all the\n  // underscore functions. Wrapped objects may be chained.\n\n  // Helper function to continue chaining intermediate results.\n  var chainResult = function(instance, obj) {\n    return instance._chain ? _(obj).chain() : obj;\n  };\n\n  // Add your own custom functions to the Underscore object.\n  _.mixin = function(obj) {\n    _.each(_.functions(obj), function(name) {\n      var func = _[name] = obj[name];\n      _.prototype[name] = function() {\n        var args = [this._wrapped];\n        push.apply(args, arguments);\n        return chainResult(this, func.apply(_, args));\n      };\n    });\n    return _;\n  };\n\n  // Add all of the Underscore functions to the wrapper object.\n  _.mixin(_);\n\n  // Add all mutator Array functions to the wrapper.\n  _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n    var method = ArrayProto[name];\n    _.prototype[name] = function() {\n      var obj = this._wrapped;\n      method.apply(obj, arguments);\n      if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n      return chainResult(this, obj);\n    };\n  });\n\n  // Add all accessor Array functions to the wrapper.\n  _.each(['concat', 'join', 'slice'], function(name) {\n    var method = ArrayProto[name];\n    _.prototype[name] = function() {\n      return chainResult(this, method.apply(this._wrapped, arguments));\n    };\n  });\n\n  // Extracts the result from a wrapped and chained object.\n  _.prototype.value = function() {\n    return this._wrapped;\n  };\n\n  // Provide unwrapping proxy for some methods used in engine operations\n  // such as arithmetic and JSON stringification.\n  _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n  _.prototype.toString = function() {\n    return String(this._wrapped);\n  };\n\n  // AMD registration happens at the end for compatibility with AMD loaders\n  // that may not enforce next-turn semantics on modules. Even though general\n  // practice for AMD registration is to be anonymous, underscore registers\n  // as a named module because, like jQuery, it is a base library that is\n  // popular enough to be bundled in a third party lib, but not be part of\n  // an AMD load request. Those cases could generate an error when an\n  // anonymous define() is called outside of a loader request.\n  if (true) {\n    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n      return _;\n    }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n  }\n}());\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(17), __webpack_require__(18)(module)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy91bmRlcnNjb3JlL3VuZGVyc2NvcmUuanM/MTdmYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAgICAgVW5kZXJzY29yZS5qcyAxLjkuMFxuLy8gICAgIGh0dHA6Ly91bmRlcnNjb3JlanMub3JnXG4vLyAgICAgKGMpIDIwMDktMjAxOCBKZXJlbXkgQXNoa2VuYXMsIERvY3VtZW50Q2xvdWQgYW5kIEludmVzdGlnYXRpdmUgUmVwb3J0ZXJzICYgRWRpdG9yc1xuLy8gICAgIFVuZGVyc2NvcmUgbWF5IGJlIGZyZWVseSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG5cbihmdW5jdGlvbigpIHtcblxuICAvLyBCYXNlbGluZSBzZXR1cFxuICAvLyAtLS0tLS0tLS0tLS0tLVxuXG4gIC8vIEVzdGFibGlzaCB0aGUgcm9vdCBvYmplY3QsIGB3aW5kb3dgIChgc2VsZmApIGluIHRoZSBicm93c2VyLCBgZ2xvYmFsYFxuICAvLyBvbiB0aGUgc2VydmVyLCBvciBgdGhpc2AgaW4gc29tZSB2aXJ0dWFsIG1hY2hpbmVzLiBXZSB1c2UgYHNlbGZgXG4gIC8vIGluc3RlYWQgb2YgYHdpbmRvd2AgZm9yIGBXZWJXb3JrZXJgIHN1cHBvcnQuXG4gIHZhciByb290ID0gdHlwZW9mIHNlbGYgPT0gJ29iamVjdCcgJiYgc2VsZi5zZWxmID09PSBzZWxmICYmIHNlbGYgfHxcbiAgICAgICAgICAgIHR5cGVvZiBnbG9iYWwgPT0gJ29iamVjdCcgJiYgZ2xvYmFsLmdsb2JhbCA9PT0gZ2xvYmFsICYmIGdsb2JhbCB8fFxuICAgICAgICAgICAgdGhpcyB8fFxuICAgICAgICAgICAge307XG5cbiAgLy8gU2F2ZSB0aGUgcHJldmlvdXMgdmFsdWUgb2YgdGhlIGBfYCB2YXJpYWJsZS5cbiAgdmFyIHByZXZpb3VzVW5kZXJzY29yZSA9IHJvb3QuXztcblxuICAvLyBTYXZlIGJ5dGVzIGluIHRoZSBtaW5pZmllZCAoYnV0IG5vdCBnemlwcGVkKSB2ZXJzaW9uOlxuICB2YXIgQXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZSwgT2JqUHJvdG8gPSBPYmplY3QucHJvdG90eXBlO1xuICB2YXIgU3ltYm9sUHJvdG8gPSB0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyA/IFN5bWJvbC5wcm90b3R5cGUgOiBudWxsO1xuXG4gIC8vIENyZWF0ZSBxdWljayByZWZlcmVuY2UgdmFyaWFibGVzIGZvciBzcGVlZCBhY2Nlc3MgdG8gY29yZSBwcm90b3R5cGVzLlxuICB2YXIgcHVzaCA9IEFycmF5UHJvdG8ucHVzaCxcbiAgICAgIHNsaWNlID0gQXJyYXlQcm90by5zbGljZSxcbiAgICAgIHRvU3RyaW5nID0gT2JqUHJvdG8udG9TdHJpbmcsXG4gICAgICBoYXNPd25Qcm9wZXJ0eSA9IE9ialByb3RvLmhhc093blByb3BlcnR5O1xuXG4gIC8vIEFsbCAqKkVDTUFTY3JpcHQgNSoqIG5hdGl2ZSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbnMgdGhhdCB3ZSBob3BlIHRvIHVzZVxuICAvLyBhcmUgZGVjbGFyZWQgaGVyZS5cbiAgdmFyIG5hdGl2ZUlzQXJyYXkgPSBBcnJheS5pc0FycmF5LFxuICAgICAgbmF0aXZlS2V5cyA9IE9iamVjdC5rZXlzLFxuICAgICAgbmF0aXZlQ3JlYXRlID0gT2JqZWN0LmNyZWF0ZTtcblxuICAvLyBOYWtlZCBmdW5jdGlvbiByZWZlcmVuY2UgZm9yIHN1cnJvZ2F0ZS1wcm90b3R5cGUtc3dhcHBpbmcuXG4gIHZhciBDdG9yID0gZnVuY3Rpb24oKXt9O1xuXG4gIC8vIENyZWF0ZSBhIHNhZmUgcmVmZXJlbmNlIHRvIHRoZSBVbmRlcnNjb3JlIG9iamVjdCBmb3IgdXNlIGJlbG93LlxuICB2YXIgXyA9IGZ1bmN0aW9uKG9iaikge1xuICAgIGlmIChvYmogaW5zdGFuY2VvZiBfKSByZXR1cm4gb2JqO1xuICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBfKSkgcmV0dXJuIG5ldyBfKG9iaik7XG4gICAgdGhpcy5fd3JhcHBlZCA9IG9iajtcbiAgfTtcblxuICAvLyBFeHBvcnQgdGhlIFVuZGVyc2NvcmUgb2JqZWN0IGZvciAqKk5vZGUuanMqKiwgd2l0aFxuICAvLyBiYWNrd2FyZHMtY29tcGF0aWJpbGl0eSBmb3IgdGhlaXIgb2xkIG1vZHVsZSBBUEkuIElmIHdlJ3JlIGluXG4gIC8vIHRoZSBicm93c2VyLCBhZGQgYF9gIGFzIGEgZ2xvYmFsIG9iamVjdC5cbiAgLy8gKGBub2RlVHlwZWAgaXMgY2hlY2tlZCB0byBlbnN1cmUgdGhhdCBgbW9kdWxlYFxuICAvLyBhbmQgYGV4cG9ydHNgIGFyZSBub3QgSFRNTCBlbGVtZW50cy4pXG4gIGlmICh0eXBlb2YgZXhwb3J0cyAhPSAndW5kZWZpbmVkJyAmJiAhZXhwb3J0cy5ub2RlVHlwZSkge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlICE9ICd1bmRlZmluZWQnICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgICAgIGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IF87XG4gICAgfVxuICAgIGV4cG9ydHMuXyA9IF87XG4gIH0gZWxzZSB7XG4gICAgcm9vdC5fID0gXztcbiAgfVxuXG4gIC8vIEN1cnJlbnQgdmVyc2lvbi5cbiAgXy5WRVJTSU9OID0gJzEuOS4wJztcblxuICAvLyBJbnRlcm5hbCBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gZWZmaWNpZW50IChmb3IgY3VycmVudCBlbmdpbmVzKSB2ZXJzaW9uXG4gIC8vIG9mIHRoZSBwYXNzZWQtaW4gY2FsbGJhY2ssIHRvIGJlIHJlcGVhdGVkbHkgYXBwbGllZCBpbiBvdGhlciBVbmRlcnNjb3JlXG4gIC8vIGZ1bmN0aW9ucy5cbiAgdmFyIG9wdGltaXplQ2IgPSBmdW5jdGlvbihmdW5jLCBjb250ZXh0LCBhcmdDb3VudCkge1xuICAgIGlmIChjb250ZXh0ID09PSB2b2lkIDApIHJldHVybiBmdW5jO1xuICAgIHN3aXRjaCAoYXJnQ291bnQgPT0gbnVsbCA/IDMgOiBhcmdDb3VudCkge1xuICAgICAgY2FzZSAxOiByZXR1cm4gZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmMuY2FsbChjb250ZXh0LCB2YWx1ZSk7XG4gICAgICB9O1xuICAgICAgLy8gVGhlIDItYXJndW1lbnQgY2FzZSBpcyBvbWl0dGVkIGJlY2F1c2Ugd2XigJlyZSBub3QgdXNpbmcgaXQuXG4gICAgICBjYXNlIDM6IHJldHVybiBmdW5jdGlvbih2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGZ1bmMuY2FsbChjb250ZXh0LCB2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pO1xuICAgICAgfTtcbiAgICAgIGNhc2UgNDogcmV0dXJuIGZ1bmN0aW9uKGFjY3VtdWxhdG9yLCB2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGZ1bmMuY2FsbChjb250ZXh0LCBhY2N1bXVsYXRvciwgdmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKTtcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBmdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3VtZW50cyk7XG4gICAgfTtcbiAgfTtcblxuICB2YXIgYnVpbHRpbkl0ZXJhdGVlO1xuXG4gIC8vIEFuIGludGVybmFsIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIGNhbGxiYWNrcyB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvIGVhY2hcbiAgLy8gZWxlbWVudCBpbiBhIGNvbGxlY3Rpb24sIHJldHVybmluZyB0aGUgZGVzaXJlZCByZXN1bHQg4oCUIGVpdGhlciBgaWRlbnRpdHlgLFxuICAvLyBhbiBhcmJpdHJhcnkgY2FsbGJhY2ssIGEgcHJvcGVydHkgbWF0Y2hlciwgb3IgYSBwcm9wZXJ0eSBhY2Nlc3Nvci5cbiAgdmFyIGNiID0gZnVuY3Rpb24odmFsdWUsIGNvbnRleHQsIGFyZ0NvdW50KSB7XG4gICAgaWYgKF8uaXRlcmF0ZWUgIT09IGJ1aWx0aW5JdGVyYXRlZSkgcmV0dXJuIF8uaXRlcmF0ZWUodmFsdWUsIGNvbnRleHQpO1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSByZXR1cm4gXy5pZGVudGl0eTtcbiAgICBpZiAoXy5pc0Z1bmN0aW9uKHZhbHVlKSkgcmV0dXJuIG9wdGltaXplQ2IodmFsdWUsIGNvbnRleHQsIGFyZ0NvdW50KTtcbiAgICBpZiAoXy5pc09iamVjdCh2YWx1ZSkgJiYgIV8uaXNBcnJheSh2YWx1ZSkpIHJldHVybiBfLm1hdGNoZXIodmFsdWUpO1xuICAgIHJldHVybiBfLnByb3BlcnR5KHZhbHVlKTtcbiAgfTtcblxuICAvLyBFeHRlcm5hbCB3cmFwcGVyIGZvciBvdXIgY2FsbGJhY2sgZ2VuZXJhdG9yLiBVc2VycyBtYXkgY3VzdG9taXplXG4gIC8vIGBfLml0ZXJhdGVlYCBpZiB0aGV5IHdhbnQgYWRkaXRpb25hbCBwcmVkaWNhdGUvaXRlcmF0ZWUgc2hvcnRoYW5kIHN0eWxlcy5cbiAgLy8gVGhpcyBhYnN0cmFjdGlvbiBoaWRlcyB0aGUgaW50ZXJuYWwtb25seSBhcmdDb3VudCBhcmd1bWVudC5cbiAgXy5pdGVyYXRlZSA9IGJ1aWx0aW5JdGVyYXRlZSA9IGZ1bmN0aW9uKHZhbHVlLCBjb250ZXh0KSB7XG4gICAgcmV0dXJuIGNiKHZhbHVlLCBjb250ZXh0LCBJbmZpbml0eSk7XG4gIH07XG5cbiAgLy8gU29tZSBmdW5jdGlvbnMgdGFrZSBhIHZhcmlhYmxlIG51bWJlciBvZiBhcmd1bWVudHMsIG9yIGEgZmV3IGV4cGVjdGVkXG4gIC8vIGFyZ3VtZW50cyBhdCB0aGUgYmVnaW5uaW5nIGFuZCB0aGVuIGEgdmFyaWFibGUgbnVtYmVyIG9mIHZhbHVlcyB0byBvcGVyYXRlXG4gIC8vIG9uLiBUaGlzIGhlbHBlciBhY2N1bXVsYXRlcyBhbGwgcmVtYWluaW5nIGFyZ3VtZW50cyBwYXN0IHRoZSBmdW5jdGlvbuKAmXNcbiAgLy8gYXJndW1lbnQgbGVuZ3RoIChvciBhbiBleHBsaWNpdCBgc3RhcnRJbmRleGApLCBpbnRvIGFuIGFycmF5IHRoYXQgYmVjb21lc1xuICAvLyB0aGUgbGFzdCBhcmd1bWVudC4gU2ltaWxhciB0byBFUzbigJlzIFwicmVzdCBwYXJhbWV0ZXJcIi5cbiAgdmFyIHJlc3RBcmd1bWVudHMgPSBmdW5jdGlvbihmdW5jLCBzdGFydEluZGV4KSB7XG4gICAgc3RhcnRJbmRleCA9IHN0YXJ0SW5kZXggPT0gbnVsbCA/IGZ1bmMubGVuZ3RoIC0gMSA6ICtzdGFydEluZGV4O1xuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBsZW5ndGggPSBNYXRoLm1heChhcmd1bWVudHMubGVuZ3RoIC0gc3RhcnRJbmRleCwgMCksXG4gICAgICAgICAgcmVzdCA9IEFycmF5KGxlbmd0aCksXG4gICAgICAgICAgaW5kZXggPSAwO1xuICAgICAgZm9yICg7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIHJlc3RbaW5kZXhdID0gYXJndW1lbnRzW2luZGV4ICsgc3RhcnRJbmRleF07XG4gICAgICB9XG4gICAgICBzd2l0Y2ggKHN0YXJ0SW5kZXgpIHtcbiAgICAgICAgY2FzZSAwOiByZXR1cm4gZnVuYy5jYWxsKHRoaXMsIHJlc3QpO1xuICAgICAgICBjYXNlIDE6IHJldHVybiBmdW5jLmNhbGwodGhpcywgYXJndW1lbnRzWzBdLCByZXN0KTtcbiAgICAgICAgY2FzZSAyOiByZXR1cm4gZnVuYy5jYWxsKHRoaXMsIGFyZ3VtZW50c1swXSwgYXJndW1lbnRzWzFdLCByZXN0KTtcbiAgICAgIH1cbiAgICAgIHZhciBhcmdzID0gQXJyYXkoc3RhcnRJbmRleCArIDEpO1xuICAgICAgZm9yIChpbmRleCA9IDA7IGluZGV4IDwgc3RhcnRJbmRleDsgaW5kZXgrKykge1xuICAgICAgICBhcmdzW2luZGV4XSA9IGFyZ3VtZW50c1tpbmRleF07XG4gICAgICB9XG4gICAgICBhcmdzW3N0YXJ0SW5kZXhdID0gcmVzdDtcbiAgICAgIHJldHVybiBmdW5jLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH07XG4gIH07XG5cbiAgLy8gQW4gaW50ZXJuYWwgZnVuY3Rpb24gZm9yIGNyZWF0aW5nIGEgbmV3IG9iamVjdCB0aGF0IGluaGVyaXRzIGZyb20gYW5vdGhlci5cbiAgdmFyIGJhc2VDcmVhdGUgPSBmdW5jdGlvbihwcm90b3R5cGUpIHtcbiAgICBpZiAoIV8uaXNPYmplY3QocHJvdG90eXBlKSkgcmV0dXJuIHt9O1xuICAgIGlmIChuYXRpdmVDcmVhdGUpIHJldHVybiBuYXRpdmVDcmVhdGUocHJvdG90eXBlKTtcbiAgICBDdG9yLnByb3RvdHlwZSA9IHByb3RvdHlwZTtcbiAgICB2YXIgcmVzdWx0ID0gbmV3IEN0b3I7XG4gICAgQ3Rvci5wcm90b3R5cGUgPSBudWxsO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgdmFyIHNoYWxsb3dQcm9wZXJ0eSA9IGZ1bmN0aW9uKGtleSkge1xuICAgIHJldHVybiBmdW5jdGlvbihvYmopIHtcbiAgICAgIHJldHVybiBvYmogPT0gbnVsbCA/IHZvaWQgMCA6IG9ialtrZXldO1xuICAgIH07XG4gIH07XG5cbiAgdmFyIGRlZXBHZXQgPSBmdW5jdGlvbihvYmosIHBhdGgpIHtcbiAgICB2YXIgbGVuZ3RoID0gcGF0aC5sZW5ndGg7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gdm9pZCAwO1xuICAgICAgb2JqID0gb2JqW3BhdGhbaV1dO1xuICAgIH1cbiAgICByZXR1cm4gbGVuZ3RoID8gb2JqIDogdm9pZCAwO1xuICB9O1xuXG4gIC8vIEhlbHBlciBmb3IgY29sbGVjdGlvbiBtZXRob2RzIHRvIGRldGVybWluZSB3aGV0aGVyIGEgY29sbGVjdGlvblxuICAvLyBzaG91bGQgYmUgaXRlcmF0ZWQgYXMgYW4gYXJyYXkgb3IgYXMgYW4gb2JqZWN0LlxuICAvLyBSZWxhdGVkOiBodHRwOi8vcGVvcGxlLm1vemlsbGEub3JnL35qb3JlbmRvcmZmL2VzNi1kcmFmdC5odG1sI3NlYy10b2xlbmd0aFxuICAvLyBBdm9pZHMgYSB2ZXJ5IG5hc3R5IGlPUyA4IEpJVCBidWcgb24gQVJNLTY0LiAjMjA5NFxuICB2YXIgTUFYX0FSUkFZX0lOREVYID0gTWF0aC5wb3coMiwgNTMpIC0gMTtcbiAgdmFyIGdldExlbmd0aCA9IHNoYWxsb3dQcm9wZXJ0eSgnbGVuZ3RoJyk7XG4gIHZhciBpc0FycmF5TGlrZSA9IGZ1bmN0aW9uKGNvbGxlY3Rpb24pIHtcbiAgICB2YXIgbGVuZ3RoID0gZ2V0TGVuZ3RoKGNvbGxlY3Rpb24pO1xuICAgIHJldHVybiB0eXBlb2YgbGVuZ3RoID09ICdudW1iZXInICYmIGxlbmd0aCA+PSAwICYmIGxlbmd0aCA8PSBNQVhfQVJSQVlfSU5ERVg7XG4gIH07XG5cbiAgLy8gQ29sbGVjdGlvbiBGdW5jdGlvbnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBUaGUgY29ybmVyc3RvbmUsIGFuIGBlYWNoYCBpbXBsZW1lbnRhdGlvbiwgYWthIGBmb3JFYWNoYC5cbiAgLy8gSGFuZGxlcyByYXcgb2JqZWN0cyBpbiBhZGRpdGlvbiB0byBhcnJheS1saWtlcy4gVHJlYXRzIGFsbFxuICAvLyBzcGFyc2UgYXJyYXktbGlrZXMgYXMgaWYgdGhleSB3ZXJlIGRlbnNlLlxuICBfLmVhY2ggPSBfLmZvckVhY2ggPSBmdW5jdGlvbihvYmosIGl0ZXJhdGVlLCBjb250ZXh0KSB7XG4gICAgaXRlcmF0ZWUgPSBvcHRpbWl6ZUNiKGl0ZXJhdGVlLCBjb250ZXh0KTtcbiAgICB2YXIgaSwgbGVuZ3RoO1xuICAgIGlmIChpc0FycmF5TGlrZShvYmopKSB7XG4gICAgICBmb3IgKGkgPSAwLCBsZW5ndGggPSBvYmoubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaXRlcmF0ZWUob2JqW2ldLCBpLCBvYmopO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIga2V5cyA9IF8ua2V5cyhvYmopO1xuICAgICAgZm9yIChpID0gMCwgbGVuZ3RoID0ga2V5cy5sZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICBpdGVyYXRlZShvYmpba2V5c1tpXV0sIGtleXNbaV0sIG9iaik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH07XG5cbiAgLy8gUmV0dXJuIHRoZSByZXN1bHRzIG9mIGFwcGx5aW5nIHRoZSBpdGVyYXRlZSB0byBlYWNoIGVsZW1lbnQuXG4gIF8ubWFwID0gXy5jb2xsZWN0ID0gZnVuY3Rpb24ob2JqLCBpdGVyYXRlZSwgY29udGV4dCkge1xuICAgIGl0ZXJhdGVlID0gY2IoaXRlcmF0ZWUsIGNvbnRleHQpO1xuICAgIHZhciBrZXlzID0gIWlzQXJyYXlMaWtlKG9iaikgJiYgXy5rZXlzKG9iaiksXG4gICAgICAgIGxlbmd0aCA9IChrZXlzIHx8IG9iaikubGVuZ3RoLFxuICAgICAgICByZXN1bHRzID0gQXJyYXkobGVuZ3RoKTtcbiAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICB2YXIgY3VycmVudEtleSA9IGtleXMgPyBrZXlzW2luZGV4XSA6IGluZGV4O1xuICAgICAgcmVzdWx0c1tpbmRleF0gPSBpdGVyYXRlZShvYmpbY3VycmVudEtleV0sIGN1cnJlbnRLZXksIG9iaik7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzO1xuICB9O1xuXG4gIC8vIENyZWF0ZSBhIHJlZHVjaW5nIGZ1bmN0aW9uIGl0ZXJhdGluZyBsZWZ0IG9yIHJpZ2h0LlxuICB2YXIgY3JlYXRlUmVkdWNlID0gZnVuY3Rpb24oZGlyKSB7XG4gICAgLy8gV3JhcCBjb2RlIHRoYXQgcmVhc3NpZ25zIGFyZ3VtZW50IHZhcmlhYmxlcyBpbiBhIHNlcGFyYXRlIGZ1bmN0aW9uIHRoYW5cbiAgICAvLyB0aGUgb25lIHRoYXQgYWNjZXNzZXMgYGFyZ3VtZW50cy5sZW5ndGhgIHRvIGF2b2lkIGEgcGVyZiBoaXQuICgjMTk5MSlcbiAgICB2YXIgcmVkdWNlciA9IGZ1bmN0aW9uKG9iaiwgaXRlcmF0ZWUsIG1lbW8sIGluaXRpYWwpIHtcbiAgICAgIHZhciBrZXlzID0gIWlzQXJyYXlMaWtlKG9iaikgJiYgXy5rZXlzKG9iaiksXG4gICAgICAgICAgbGVuZ3RoID0gKGtleXMgfHwgb2JqKS5sZW5ndGgsXG4gICAgICAgICAgaW5kZXggPSBkaXIgPiAwID8gMCA6IGxlbmd0aCAtIDE7XG4gICAgICBpZiAoIWluaXRpYWwpIHtcbiAgICAgICAgbWVtbyA9IG9ialtrZXlzID8ga2V5c1tpbmRleF0gOiBpbmRleF07XG4gICAgICAgIGluZGV4ICs9IGRpcjtcbiAgICAgIH1cbiAgICAgIGZvciAoOyBpbmRleCA+PSAwICYmIGluZGV4IDwgbGVuZ3RoOyBpbmRleCArPSBkaXIpIHtcbiAgICAgICAgdmFyIGN1cnJlbnRLZXkgPSBrZXlzID8ga2V5c1tpbmRleF0gOiBpbmRleDtcbiAgICAgICAgbWVtbyA9IGl0ZXJhdGVlKG1lbW8sIG9ialtjdXJyZW50S2V5XSwgY3VycmVudEtleSwgb2JqKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtZW1vO1xuICAgIH07XG5cbiAgICByZXR1cm4gZnVuY3Rpb24ob2JqLCBpdGVyYXRlZSwgbWVtbywgY29udGV4dCkge1xuICAgICAgdmFyIGluaXRpYWwgPSBhcmd1bWVudHMubGVuZ3RoID49IDM7XG4gICAgICByZXR1cm4gcmVkdWNlcihvYmosIG9wdGltaXplQ2IoaXRlcmF0ZWUsIGNvbnRleHQsIDQpLCBtZW1vLCBpbml0aWFsKTtcbiAgICB9O1xuICB9O1xuXG4gIC8vICoqUmVkdWNlKiogYnVpbGRzIHVwIGEgc2luZ2xlIHJlc3VsdCBmcm9tIGEgbGlzdCBvZiB2YWx1ZXMsIGFrYSBgaW5qZWN0YCxcbiAgLy8gb3IgYGZvbGRsYC5cbiAgXy5yZWR1Y2UgPSBfLmZvbGRsID0gXy5pbmplY3QgPSBjcmVhdGVSZWR1Y2UoMSk7XG5cbiAgLy8gVGhlIHJpZ2h0LWFzc29jaWF0aXZlIHZlcnNpb24gb2YgcmVkdWNlLCBhbHNvIGtub3duIGFzIGBmb2xkcmAuXG4gIF8ucmVkdWNlUmlnaHQgPSBfLmZvbGRyID0gY3JlYXRlUmVkdWNlKC0xKTtcblxuICAvLyBSZXR1cm4gdGhlIGZpcnN0IHZhbHVlIHdoaWNoIHBhc3NlcyBhIHRydXRoIHRlc3QuIEFsaWFzZWQgYXMgYGRldGVjdGAuXG4gIF8uZmluZCA9IF8uZGV0ZWN0ID0gZnVuY3Rpb24ob2JqLCBwcmVkaWNhdGUsIGNvbnRleHQpIHtcbiAgICB2YXIga2V5RmluZGVyID0gaXNBcnJheUxpa2Uob2JqKSA/IF8uZmluZEluZGV4IDogXy5maW5kS2V5O1xuICAgIHZhciBrZXkgPSBrZXlGaW5kZXIob2JqLCBwcmVkaWNhdGUsIGNvbnRleHQpO1xuICAgIGlmIChrZXkgIT09IHZvaWQgMCAmJiBrZXkgIT09IC0xKSByZXR1cm4gb2JqW2tleV07XG4gIH07XG5cbiAgLy8gUmV0dXJuIGFsbCB0aGUgZWxlbWVudHMgdGhhdCBwYXNzIGEgdHJ1dGggdGVzdC5cbiAgLy8gQWxpYXNlZCBhcyBgc2VsZWN0YC5cbiAgXy5maWx0ZXIgPSBfLnNlbGVjdCA9IGZ1bmN0aW9uKG9iaiwgcHJlZGljYXRlLCBjb250ZXh0KSB7XG4gICAgdmFyIHJlc3VsdHMgPSBbXTtcbiAgICBwcmVkaWNhdGUgPSBjYihwcmVkaWNhdGUsIGNvbnRleHQpO1xuICAgIF8uZWFjaChvYmosIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgbGlzdCkge1xuICAgICAgaWYgKHByZWRpY2F0ZSh2YWx1ZSwgaW5kZXgsIGxpc3QpKSByZXN1bHRzLnB1c2godmFsdWUpO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHRzO1xuICB9O1xuXG4gIC8vIFJldHVybiBhbGwgdGhlIGVsZW1lbnRzIGZvciB3aGljaCBhIHRydXRoIHRlc3QgZmFpbHMuXG4gIF8ucmVqZWN0ID0gZnVuY3Rpb24ob2JqLCBwcmVkaWNhdGUsIGNvbnRleHQpIHtcbiAgICByZXR1cm4gXy5maWx0ZXIob2JqLCBfLm5lZ2F0ZShjYihwcmVkaWNhdGUpKSwgY29udGV4dCk7XG4gIH07XG5cbiAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgYWxsIG9mIHRoZSBlbGVtZW50cyBtYXRjaCBhIHRydXRoIHRlc3QuXG4gIC8vIEFsaWFzZWQgYXMgYGFsbGAuXG4gIF8uZXZlcnkgPSBfLmFsbCA9IGZ1bmN0aW9uKG9iaiwgcHJlZGljYXRlLCBjb250ZXh0KSB7XG4gICAgcHJlZGljYXRlID0gY2IocHJlZGljYXRlLCBjb250ZXh0KTtcbiAgICB2YXIga2V5cyA9ICFpc0FycmF5TGlrZShvYmopICYmIF8ua2V5cyhvYmopLFxuICAgICAgICBsZW5ndGggPSAoa2V5cyB8fCBvYmopLmxlbmd0aDtcbiAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICB2YXIgY3VycmVudEtleSA9IGtleXMgPyBrZXlzW2luZGV4XSA6IGluZGV4O1xuICAgICAgaWYgKCFwcmVkaWNhdGUob2JqW2N1cnJlbnRLZXldLCBjdXJyZW50S2V5LCBvYmopKSByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIC8vIERldGVybWluZSBpZiBhdCBsZWFzdCBvbmUgZWxlbWVudCBpbiB0aGUgb2JqZWN0IG1hdGNoZXMgYSB0cnV0aCB0ZXN0LlxuICAvLyBBbGlhc2VkIGFzIGBhbnlgLlxuICBfLnNvbWUgPSBfLmFueSA9IGZ1bmN0aW9uKG9iaiwgcHJlZGljYXRlLCBjb250ZXh0KSB7XG4gICAgcHJlZGljYXRlID0gY2IocHJlZGljYXRlLCBjb250ZXh0KTtcbiAgICB2YXIga2V5cyA9ICFpc0FycmF5TGlrZShvYmopICYmIF8ua2V5cyhvYmopLFxuICAgICAgICBsZW5ndGggPSAoa2V5cyB8fCBvYmopLmxlbmd0aDtcbiAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICB2YXIgY3VycmVudEtleSA9IGtleXMgPyBrZXlzW2luZGV4XSA6IGluZGV4O1xuICAgICAgaWYgKHByZWRpY2F0ZShvYmpbY3VycmVudEtleV0sIGN1cnJlbnRLZXksIG9iaikpIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBhcnJheSBvciBvYmplY3QgY29udGFpbnMgYSBnaXZlbiBpdGVtICh1c2luZyBgPT09YCkuXG4gIC8vIEFsaWFzZWQgYXMgYGluY2x1ZGVzYCBhbmQgYGluY2x1ZGVgLlxuICBfLmNvbnRhaW5zID0gXy5pbmNsdWRlcyA9IF8uaW5jbHVkZSA9IGZ1bmN0aW9uKG9iaiwgaXRlbSwgZnJvbUluZGV4LCBndWFyZCkge1xuICAgIGlmICghaXNBcnJheUxpa2Uob2JqKSkgb2JqID0gXy52YWx1ZXMob2JqKTtcbiAgICBpZiAodHlwZW9mIGZyb21JbmRleCAhPSAnbnVtYmVyJyB8fCBndWFyZCkgZnJvbUluZGV4ID0gMDtcbiAgICByZXR1cm4gXy5pbmRleE9mKG9iaiwgaXRlbSwgZnJvbUluZGV4KSA+PSAwO1xuICB9O1xuXG4gIC8vIEludm9rZSBhIG1ldGhvZCAod2l0aCBhcmd1bWVudHMpIG9uIGV2ZXJ5IGl0ZW0gaW4gYSBjb2xsZWN0aW9uLlxuICBfLmludm9rZSA9IHJlc3RBcmd1bWVudHMoZnVuY3Rpb24ob2JqLCBwYXRoLCBhcmdzKSB7XG4gICAgdmFyIGNvbnRleHRQYXRoLCBmdW5jO1xuICAgIGlmIChfLmlzRnVuY3Rpb24ocGF0aCkpIHtcbiAgICAgIGZ1bmMgPSBwYXRoO1xuICAgIH0gZWxzZSBpZiAoXy5pc0FycmF5KHBhdGgpKSB7XG4gICAgICBjb250ZXh0UGF0aCA9IHBhdGguc2xpY2UoMCwgLTEpO1xuICAgICAgcGF0aCA9IHBhdGhbcGF0aC5sZW5ndGggLSAxXTtcbiAgICB9XG4gICAgcmV0dXJuIF8ubWFwKG9iaiwgZnVuY3Rpb24oY29udGV4dCkge1xuICAgICAgdmFyIG1ldGhvZCA9IGZ1bmM7XG4gICAgICBpZiAoIW1ldGhvZCkge1xuICAgICAgICBpZiAoY29udGV4dFBhdGggJiYgY29udGV4dFBhdGgubGVuZ3RoKSB7XG4gICAgICAgICAgY29udGV4dCA9IGRlZXBHZXQoY29udGV4dCwgY29udGV4dFBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb250ZXh0ID09IG51bGwpIHJldHVybiB2b2lkIDA7XG4gICAgICAgIG1ldGhvZCA9IGNvbnRleHRbcGF0aF07XG4gICAgICB9XG4gICAgICByZXR1cm4gbWV0aG9kID09IG51bGwgPyBtZXRob2QgOiBtZXRob2QuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIENvbnZlbmllbmNlIHZlcnNpb24gb2YgYSBjb21tb24gdXNlIGNhc2Ugb2YgYG1hcGA6IGZldGNoaW5nIGEgcHJvcGVydHkuXG4gIF8ucGx1Y2sgPSBmdW5jdGlvbihvYmosIGtleSkge1xuICAgIHJldHVybiBfLm1hcChvYmosIF8ucHJvcGVydHkoa2V5KSk7XG4gIH07XG5cbiAgLy8gQ29udmVuaWVuY2UgdmVyc2lvbiBvZiBhIGNvbW1vbiB1c2UgY2FzZSBvZiBgZmlsdGVyYDogc2VsZWN0aW5nIG9ubHkgb2JqZWN0c1xuICAvLyBjb250YWluaW5nIHNwZWNpZmljIGBrZXk6dmFsdWVgIHBhaXJzLlxuICBfLndoZXJlID0gZnVuY3Rpb24ob2JqLCBhdHRycykge1xuICAgIHJldHVybiBfLmZpbHRlcihvYmosIF8ubWF0Y2hlcihhdHRycykpO1xuICB9O1xuXG4gIC8vIENvbnZlbmllbmNlIHZlcnNpb24gb2YgYSBjb21tb24gdXNlIGNhc2Ugb2YgYGZpbmRgOiBnZXR0aW5nIHRoZSBmaXJzdCBvYmplY3RcbiAgLy8gY29udGFpbmluZyBzcGVjaWZpYyBga2V5OnZhbHVlYCBwYWlycy5cbiAgXy5maW5kV2hlcmUgPSBmdW5jdGlvbihvYmosIGF0dHJzKSB7XG4gICAgcmV0dXJuIF8uZmluZChvYmosIF8ubWF0Y2hlcihhdHRycykpO1xuICB9O1xuXG4gIC8vIFJldHVybiB0aGUgbWF4aW11bSBlbGVtZW50IChvciBlbGVtZW50LWJhc2VkIGNvbXB1dGF0aW9uKS5cbiAgXy5tYXggPSBmdW5jdGlvbihvYmosIGl0ZXJhdGVlLCBjb250ZXh0KSB7XG4gICAgdmFyIHJlc3VsdCA9IC1JbmZpbml0eSwgbGFzdENvbXB1dGVkID0gLUluZmluaXR5LFxuICAgICAgICB2YWx1ZSwgY29tcHV0ZWQ7XG4gICAgaWYgKGl0ZXJhdGVlID09IG51bGwgfHwgdHlwZW9mIGl0ZXJhdGVlID09ICdudW1iZXInICYmIHR5cGVvZiBvYmpbMF0gIT0gJ29iamVjdCcgJiYgb2JqICE9IG51bGwpIHtcbiAgICAgIG9iaiA9IGlzQXJyYXlMaWtlKG9iaikgPyBvYmogOiBfLnZhbHVlcyhvYmopO1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IG9iai5sZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICB2YWx1ZSA9IG9ialtpXTtcbiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiYgdmFsdWUgPiByZXN1bHQpIHtcbiAgICAgICAgICByZXN1bHQgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpdGVyYXRlZSA9IGNiKGl0ZXJhdGVlLCBjb250ZXh0KTtcbiAgICAgIF8uZWFjaChvYmosIGZ1bmN0aW9uKHYsIGluZGV4LCBsaXN0KSB7XG4gICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUodiwgaW5kZXgsIGxpc3QpO1xuICAgICAgICBpZiAoY29tcHV0ZWQgPiBsYXN0Q29tcHV0ZWQgfHwgY29tcHV0ZWQgPT09IC1JbmZpbml0eSAmJiByZXN1bHQgPT09IC1JbmZpbml0eSkge1xuICAgICAgICAgIHJlc3VsdCA9IHY7XG4gICAgICAgICAgbGFzdENvbXB1dGVkID0gY29tcHV0ZWQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIC8vIFJldHVybiB0aGUgbWluaW11bSBlbGVtZW50IChvciBlbGVtZW50LWJhc2VkIGNvbXB1dGF0aW9uKS5cbiAgXy5taW4gPSBmdW5jdGlvbihvYmosIGl0ZXJhdGVlLCBjb250ZXh0KSB7XG4gICAgdmFyIHJlc3VsdCA9IEluZmluaXR5LCBsYXN0Q29tcHV0ZWQgPSBJbmZpbml0eSxcbiAgICAgICAgdmFsdWUsIGNvbXB1dGVkO1xuICAgIGlmIChpdGVyYXRlZSA9PSBudWxsIHx8IHR5cGVvZiBpdGVyYXRlZSA9PSAnbnVtYmVyJyAmJiB0eXBlb2Ygb2JqWzBdICE9ICdvYmplY3QnICYmIG9iaiAhPSBudWxsKSB7XG4gICAgICBvYmogPSBpc0FycmF5TGlrZShvYmopID8gb2JqIDogXy52YWx1ZXMob2JqKTtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSBvYmoubGVuZ3RoOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFsdWUgPSBvYmpbaV07XG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmIHZhbHVlIDwgcmVzdWx0KSB7XG4gICAgICAgICAgcmVzdWx0ID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaXRlcmF0ZWUgPSBjYihpdGVyYXRlZSwgY29udGV4dCk7XG4gICAgICBfLmVhY2gob2JqLCBmdW5jdGlvbih2LCBpbmRleCwgbGlzdCkge1xuICAgICAgICBjb21wdXRlZCA9IGl0ZXJhdGVlKHYsIGluZGV4LCBsaXN0KTtcbiAgICAgICAgaWYgKGNvbXB1dGVkIDwgbGFzdENvbXB1dGVkIHx8IGNvbXB1dGVkID09PSBJbmZpbml0eSAmJiByZXN1bHQgPT09IEluZmluaXR5KSB7XG4gICAgICAgICAgcmVzdWx0ID0gdjtcbiAgICAgICAgICBsYXN0Q29tcHV0ZWQgPSBjb21wdXRlZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgLy8gU2h1ZmZsZSBhIGNvbGxlY3Rpb24uXG4gIF8uc2h1ZmZsZSA9IGZ1bmN0aW9uKG9iaikge1xuICAgIHJldHVybiBfLnNhbXBsZShvYmosIEluZmluaXR5KTtcbiAgfTtcblxuICAvLyBTYW1wbGUgKipuKiogcmFuZG9tIHZhbHVlcyBmcm9tIGEgY29sbGVjdGlvbiB1c2luZyB0aGUgbW9kZXJuIHZlcnNpb24gb2YgdGhlXG4gIC8vIFtGaXNoZXItWWF0ZXMgc2h1ZmZsZV0oaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9GaXNoZXLigJNZYXRlc19zaHVmZmxlKS5cbiAgLy8gSWYgKipuKiogaXMgbm90IHNwZWNpZmllZCwgcmV0dXJucyBhIHNpbmdsZSByYW5kb20gZWxlbWVudC5cbiAgLy8gVGhlIGludGVybmFsIGBndWFyZGAgYXJndW1lbnQgYWxsb3dzIGl0IHRvIHdvcmsgd2l0aCBgbWFwYC5cbiAgXy5zYW1wbGUgPSBmdW5jdGlvbihvYmosIG4sIGd1YXJkKSB7XG4gICAgaWYgKG4gPT0gbnVsbCB8fCBndWFyZCkge1xuICAgICAgaWYgKCFpc0FycmF5TGlrZShvYmopKSBvYmogPSBfLnZhbHVlcyhvYmopO1xuICAgICAgcmV0dXJuIG9ialtfLnJhbmRvbShvYmoubGVuZ3RoIC0gMSldO1xuICAgIH1cbiAgICB2YXIgc2FtcGxlID0gaXNBcnJheUxpa2Uob2JqKSA/IF8uY2xvbmUob2JqKSA6IF8udmFsdWVzKG9iaik7XG4gICAgdmFyIGxlbmd0aCA9IGdldExlbmd0aChzYW1wbGUpO1xuICAgIG4gPSBNYXRoLm1heChNYXRoLm1pbihuLCBsZW5ndGgpLCAwKTtcbiAgICB2YXIgbGFzdCA9IGxlbmd0aCAtIDE7XG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IG47IGluZGV4KyspIHtcbiAgICAgIHZhciByYW5kID0gXy5yYW5kb20oaW5kZXgsIGxhc3QpO1xuICAgICAgdmFyIHRlbXAgPSBzYW1wbGVbaW5kZXhdO1xuICAgICAgc2FtcGxlW2luZGV4XSA9IHNhbXBsZVtyYW5kXTtcbiAgICAgIHNhbXBsZVtyYW5kXSA9IHRlbXA7XG4gICAgfVxuICAgIHJldHVybiBzYW1wbGUuc2xpY2UoMCwgbik7XG4gIH07XG5cbiAgLy8gU29ydCB0aGUgb2JqZWN0J3MgdmFsdWVzIGJ5IGEgY3JpdGVyaW9uIHByb2R1Y2VkIGJ5IGFuIGl0ZXJhdGVlLlxuICBfLnNvcnRCeSA9IGZ1bmN0aW9uKG9iaiwgaXRlcmF0ZWUsIGNvbnRleHQpIHtcbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIGl0ZXJhdGVlID0gY2IoaXRlcmF0ZWUsIGNvbnRleHQpO1xuICAgIHJldHVybiBfLnBsdWNrKF8ubWFwKG9iaiwgZnVuY3Rpb24odmFsdWUsIGtleSwgbGlzdCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICBpbmRleDogaW5kZXgrKyxcbiAgICAgICAgY3JpdGVyaWE6IGl0ZXJhdGVlKHZhbHVlLCBrZXksIGxpc3QpXG4gICAgICB9O1xuICAgIH0pLnNvcnQoZnVuY3Rpb24obGVmdCwgcmlnaHQpIHtcbiAgICAgIHZhciBhID0gbGVmdC5jcml0ZXJpYTtcbiAgICAgIHZhciBiID0gcmlnaHQuY3JpdGVyaWE7XG4gICAgICBpZiAoYSAhPT0gYikge1xuICAgICAgICBpZiAoYSA+IGIgfHwgYSA9PT0gdm9pZCAwKSByZXR1cm4gMTtcbiAgICAgICAgaWYgKGEgPCBiIHx8IGIgPT09IHZvaWQgMCkgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxlZnQuaW5kZXggLSByaWdodC5pbmRleDtcbiAgICB9KSwgJ3ZhbHVlJyk7XG4gIH07XG5cbiAgLy8gQW4gaW50ZXJuYWwgZnVuY3Rpb24gdXNlZCBmb3IgYWdncmVnYXRlIFwiZ3JvdXAgYnlcIiBvcGVyYXRpb25zLlxuICB2YXIgZ3JvdXAgPSBmdW5jdGlvbihiZWhhdmlvciwgcGFydGl0aW9uKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKG9iaiwgaXRlcmF0ZWUsIGNvbnRleHQpIHtcbiAgICAgIHZhciByZXN1bHQgPSBwYXJ0aXRpb24gPyBbW10sIFtdXSA6IHt9O1xuICAgICAgaXRlcmF0ZWUgPSBjYihpdGVyYXRlZSwgY29udGV4dCk7XG4gICAgICBfLmVhY2gob2JqLCBmdW5jdGlvbih2YWx1ZSwgaW5kZXgpIHtcbiAgICAgICAgdmFyIGtleSA9IGl0ZXJhdGVlKHZhbHVlLCBpbmRleCwgb2JqKTtcbiAgICAgICAgYmVoYXZpb3IocmVzdWx0LCB2YWx1ZSwga2V5KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICB9O1xuXG4gIC8vIEdyb3VwcyB0aGUgb2JqZWN0J3MgdmFsdWVzIGJ5IGEgY3JpdGVyaW9uLiBQYXNzIGVpdGhlciBhIHN0cmluZyBhdHRyaWJ1dGVcbiAgLy8gdG8gZ3JvdXAgYnksIG9yIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBjcml0ZXJpb24uXG4gIF8uZ3JvdXBCeSA9IGdyb3VwKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgIGlmIChfLmhhcyhyZXN1bHQsIGtleSkpIHJlc3VsdFtrZXldLnB1c2godmFsdWUpOyBlbHNlIHJlc3VsdFtrZXldID0gW3ZhbHVlXTtcbiAgfSk7XG5cbiAgLy8gSW5kZXhlcyB0aGUgb2JqZWN0J3MgdmFsdWVzIGJ5IGEgY3JpdGVyaW9uLCBzaW1pbGFyIHRvIGBncm91cEJ5YCwgYnV0IGZvclxuICAvLyB3aGVuIHlvdSBrbm93IHRoYXQgeW91ciBpbmRleCB2YWx1ZXMgd2lsbCBiZSB1bmlxdWUuXG4gIF8uaW5kZXhCeSA9IGdyb3VwKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XG4gIH0pO1xuXG4gIC8vIENvdW50cyBpbnN0YW5jZXMgb2YgYW4gb2JqZWN0IHRoYXQgZ3JvdXAgYnkgYSBjZXJ0YWluIGNyaXRlcmlvbi4gUGFzc1xuICAvLyBlaXRoZXIgYSBzdHJpbmcgYXR0cmlidXRlIHRvIGNvdW50IGJ5LCBvciBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGVcbiAgLy8gY3JpdGVyaW9uLlxuICBfLmNvdW50QnkgPSBncm91cChmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICBpZiAoXy5oYXMocmVzdWx0LCBrZXkpKSByZXN1bHRba2V5XSsrOyBlbHNlIHJlc3VsdFtrZXldID0gMTtcbiAgfSk7XG5cbiAgdmFyIHJlU3RyU3ltYm9sID0gL1teXFx1ZDgwMC1cXHVkZmZmXXxbXFx1ZDgwMC1cXHVkYmZmXVtcXHVkYzAwLVxcdWRmZmZdfFtcXHVkODAwLVxcdWRmZmZdL2c7XG4gIC8vIFNhZmVseSBjcmVhdGUgYSByZWFsLCBsaXZlIGFycmF5IGZyb20gYW55dGhpbmcgaXRlcmFibGUuXG4gIF8udG9BcnJheSA9IGZ1bmN0aW9uKG9iaikge1xuICAgIGlmICghb2JqKSByZXR1cm4gW107XG4gICAgaWYgKF8uaXNBcnJheShvYmopKSByZXR1cm4gc2xpY2UuY2FsbChvYmopO1xuICAgIGlmIChfLmlzU3RyaW5nKG9iaikpIHtcbiAgICAgIC8vIEtlZXAgc3Vycm9nYXRlIHBhaXIgY2hhcmFjdGVycyB0b2dldGhlclxuICAgICAgcmV0dXJuIG9iai5tYXRjaChyZVN0clN5bWJvbCk7XG4gICAgfVxuICAgIGlmIChpc0FycmF5TGlrZShvYmopKSByZXR1cm4gXy5tYXAob2JqLCBfLmlkZW50aXR5KTtcbiAgICByZXR1cm4gXy52YWx1ZXMob2JqKTtcbiAgfTtcblxuICAvLyBSZXR1cm4gdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBhbiBvYmplY3QuXG4gIF8uc2l6ZSA9IGZ1bmN0aW9uKG9iaikge1xuICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIDA7XG4gICAgcmV0dXJuIGlzQXJyYXlMaWtlKG9iaikgPyBvYmoubGVuZ3RoIDogXy5rZXlzKG9iaikubGVuZ3RoO1xuICB9O1xuXG4gIC8vIFNwbGl0IGEgY29sbGVjdGlvbiBpbnRvIHR3byBhcnJheXM6IG9uZSB3aG9zZSBlbGVtZW50cyBhbGwgc2F0aXNmeSB0aGUgZ2l2ZW5cbiAgLy8gcHJlZGljYXRlLCBhbmQgb25lIHdob3NlIGVsZW1lbnRzIGFsbCBkbyBub3Qgc2F0aXNmeSB0aGUgcHJlZGljYXRlLlxuICBfLnBhcnRpdGlvbiA9IGdyb3VwKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIHBhc3MpIHtcbiAgICByZXN1bHRbcGFzcyA/IDAgOiAxXS5wdXNoKHZhbHVlKTtcbiAgfSwgdHJ1ZSk7XG5cbiAgLy8gQXJyYXkgRnVuY3Rpb25zXG4gIC8vIC0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIEdldCB0aGUgZmlyc3QgZWxlbWVudCBvZiBhbiBhcnJheS4gUGFzc2luZyAqKm4qKiB3aWxsIHJldHVybiB0aGUgZmlyc3QgTlxuICAvLyB2YWx1ZXMgaW4gdGhlIGFycmF5LiBBbGlhc2VkIGFzIGBoZWFkYCBhbmQgYHRha2VgLiBUaGUgKipndWFyZCoqIGNoZWNrXG4gIC8vIGFsbG93cyBpdCB0byB3b3JrIHdpdGggYF8ubWFwYC5cbiAgXy5maXJzdCA9IF8uaGVhZCA9IF8udGFrZSA9IGZ1bmN0aW9uKGFycmF5LCBuLCBndWFyZCkge1xuICAgIGlmIChhcnJheSA9PSBudWxsIHx8IGFycmF5Lmxlbmd0aCA8IDEpIHJldHVybiB2b2lkIDA7XG4gICAgaWYgKG4gPT0gbnVsbCB8fCBndWFyZCkgcmV0dXJuIGFycmF5WzBdO1xuICAgIHJldHVybiBfLmluaXRpYWwoYXJyYXksIGFycmF5Lmxlbmd0aCAtIG4pO1xuICB9O1xuXG4gIC8vIFJldHVybnMgZXZlcnl0aGluZyBidXQgdGhlIGxhc3QgZW50cnkgb2YgdGhlIGFycmF5LiBFc3BlY2lhbGx5IHVzZWZ1bCBvblxuICAvLyB0aGUgYXJndW1lbnRzIG9iamVjdC4gUGFzc2luZyAqKm4qKiB3aWxsIHJldHVybiBhbGwgdGhlIHZhbHVlcyBpblxuICAvLyB0aGUgYXJyYXksIGV4Y2x1ZGluZyB0aGUgbGFzdCBOLlxuICBfLmluaXRpYWwgPSBmdW5jdGlvbihhcnJheSwgbiwgZ3VhcmQpIHtcbiAgICByZXR1cm4gc2xpY2UuY2FsbChhcnJheSwgMCwgTWF0aC5tYXgoMCwgYXJyYXkubGVuZ3RoIC0gKG4gPT0gbnVsbCB8fCBndWFyZCA/IDEgOiBuKSkpO1xuICB9O1xuXG4gIC8vIEdldCB0aGUgbGFzdCBlbGVtZW50IG9mIGFuIGFycmF5LiBQYXNzaW5nICoqbioqIHdpbGwgcmV0dXJuIHRoZSBsYXN0IE5cbiAgLy8gdmFsdWVzIGluIHRoZSBhcnJheS5cbiAgXy5sYXN0ID0gZnVuY3Rpb24oYXJyYXksIG4sIGd1YXJkKSB7XG4gICAgaWYgKGFycmF5ID09IG51bGwgfHwgYXJyYXkubGVuZ3RoIDwgMSkgcmV0dXJuIHZvaWQgMDtcbiAgICBpZiAobiA9PSBudWxsIHx8IGd1YXJkKSByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gMV07XG4gICAgcmV0dXJuIF8ucmVzdChhcnJheSwgTWF0aC5tYXgoMCwgYXJyYXkubGVuZ3RoIC0gbikpO1xuICB9O1xuXG4gIC8vIFJldHVybnMgZXZlcnl0aGluZyBidXQgdGhlIGZpcnN0IGVudHJ5IG9mIHRoZSBhcnJheS4gQWxpYXNlZCBhcyBgdGFpbGAgYW5kIGBkcm9wYC5cbiAgLy8gRXNwZWNpYWxseSB1c2VmdWwgb24gdGhlIGFyZ3VtZW50cyBvYmplY3QuIFBhc3NpbmcgYW4gKipuKiogd2lsbCByZXR1cm5cbiAgLy8gdGhlIHJlc3QgTiB2YWx1ZXMgaW4gdGhlIGFycmF5LlxuICBfLnJlc3QgPSBfLnRhaWwgPSBfLmRyb3AgPSBmdW5jdGlvbihhcnJheSwgbiwgZ3VhcmQpIHtcbiAgICByZXR1cm4gc2xpY2UuY2FsbChhcnJheSwgbiA9PSBudWxsIHx8IGd1YXJkID8gMSA6IG4pO1xuICB9O1xuXG4gIC8vIFRyaW0gb3V0IGFsbCBmYWxzeSB2YWx1ZXMgZnJvbSBhbiBhcnJheS5cbiAgXy5jb21wYWN0ID0gZnVuY3Rpb24oYXJyYXkpIHtcbiAgICByZXR1cm4gXy5maWx0ZXIoYXJyYXksIEJvb2xlYW4pO1xuICB9O1xuXG4gIC8vIEludGVybmFsIGltcGxlbWVudGF0aW9uIG9mIGEgcmVjdXJzaXZlIGBmbGF0dGVuYCBmdW5jdGlvbi5cbiAgdmFyIGZsYXR0ZW4gPSBmdW5jdGlvbihpbnB1dCwgc2hhbGxvdywgc3RyaWN0LCBvdXRwdXQpIHtcbiAgICBvdXRwdXQgPSBvdXRwdXQgfHwgW107XG4gICAgdmFyIGlkeCA9IG91dHB1dC5sZW5ndGg7XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IGdldExlbmd0aChpbnB1dCk7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHZhbHVlID0gaW5wdXRbaV07XG4gICAgICBpZiAoaXNBcnJheUxpa2UodmFsdWUpICYmIChfLmlzQXJyYXkodmFsdWUpIHx8IF8uaXNBcmd1bWVudHModmFsdWUpKSkge1xuICAgICAgICAvLyBGbGF0dGVuIGN1cnJlbnQgbGV2ZWwgb2YgYXJyYXkgb3IgYXJndW1lbnRzIG9iamVjdC5cbiAgICAgICAgaWYgKHNoYWxsb3cpIHtcbiAgICAgICAgICB2YXIgaiA9IDAsIGxlbiA9IHZhbHVlLmxlbmd0aDtcbiAgICAgICAgICB3aGlsZSAoaiA8IGxlbikgb3V0cHV0W2lkeCsrXSA9IHZhbHVlW2orK107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZmxhdHRlbih2YWx1ZSwgc2hhbGxvdywgc3RyaWN0LCBvdXRwdXQpO1xuICAgICAgICAgIGlkeCA9IG91dHB1dC5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIXN0cmljdCkge1xuICAgICAgICBvdXRwdXRbaWR4KytdID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvdXRwdXQ7XG4gIH07XG5cbiAgLy8gRmxhdHRlbiBvdXQgYW4gYXJyYXksIGVpdGhlciByZWN1cnNpdmVseSAoYnkgZGVmYXVsdCksIG9yIGp1c3Qgb25lIGxldmVsLlxuICBfLmZsYXR0ZW4gPSBmdW5jdGlvbihhcnJheSwgc2hhbGxvdykge1xuICAgIHJldHVybiBmbGF0dGVuKGFycmF5LCBzaGFsbG93LCBmYWxzZSk7XG4gIH07XG5cbiAgLy8gUmV0dXJuIGEgdmVyc2lvbiBvZiB0aGUgYXJyYXkgdGhhdCBkb2VzIG5vdCBjb250YWluIHRoZSBzcGVjaWZpZWQgdmFsdWUocykuXG4gIF8ud2l0aG91dCA9IHJlc3RBcmd1bWVudHMoZnVuY3Rpb24oYXJyYXksIG90aGVyQXJyYXlzKSB7XG4gICAgcmV0dXJuIF8uZGlmZmVyZW5jZShhcnJheSwgb3RoZXJBcnJheXMpO1xuICB9KTtcblxuICAvLyBQcm9kdWNlIGEgZHVwbGljYXRlLWZyZWUgdmVyc2lvbiBvZiB0aGUgYXJyYXkuIElmIHRoZSBhcnJheSBoYXMgYWxyZWFkeVxuICAvLyBiZWVuIHNvcnRlZCwgeW91IGhhdmUgdGhlIG9wdGlvbiBvZiB1c2luZyBhIGZhc3RlciBhbGdvcml0aG0uXG4gIC8vIFRoZSBmYXN0ZXIgYWxnb3JpdGhtIHdpbGwgbm90IHdvcmsgd2l0aCBhbiBpdGVyYXRlZSBpZiB0aGUgaXRlcmF0ZWVcbiAgLy8gaXMgbm90IGEgb25lLXRvLW9uZSBmdW5jdGlvbiwgc28gcHJvdmlkaW5nIGFuIGl0ZXJhdGVlIHdpbGwgZGlzYWJsZVxuICAvLyB0aGUgZmFzdGVyIGFsZ29yaXRobS5cbiAgLy8gQWxpYXNlZCBhcyBgdW5pcXVlYC5cbiAgXy51bmlxID0gXy51bmlxdWUgPSBmdW5jdGlvbihhcnJheSwgaXNTb3J0ZWQsIGl0ZXJhdGVlLCBjb250ZXh0KSB7XG4gICAgaWYgKCFfLmlzQm9vbGVhbihpc1NvcnRlZCkpIHtcbiAgICAgIGNvbnRleHQgPSBpdGVyYXRlZTtcbiAgICAgIGl0ZXJhdGVlID0gaXNTb3J0ZWQ7XG4gICAgICBpc1NvcnRlZCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAoaXRlcmF0ZWUgIT0gbnVsbCkgaXRlcmF0ZWUgPSBjYihpdGVyYXRlZSwgY29udGV4dCk7XG4gICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgIHZhciBzZWVuID0gW107XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IGdldExlbmd0aChhcnJheSk7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaV0sXG4gICAgICAgICAgY29tcHV0ZWQgPSBpdGVyYXRlZSA/IGl0ZXJhdGVlKHZhbHVlLCBpLCBhcnJheSkgOiB2YWx1ZTtcbiAgICAgIGlmIChpc1NvcnRlZCAmJiAhaXRlcmF0ZWUpIHtcbiAgICAgICAgaWYgKCFpIHx8IHNlZW4gIT09IGNvbXB1dGVkKSByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIHNlZW4gPSBjb21wdXRlZDtcbiAgICAgIH0gZWxzZSBpZiAoaXRlcmF0ZWUpIHtcbiAgICAgICAgaWYgKCFfLmNvbnRhaW5zKHNlZW4sIGNvbXB1dGVkKSkge1xuICAgICAgICAgIHNlZW4ucHVzaChjb21wdXRlZCk7XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCFfLmNvbnRhaW5zKHJlc3VsdCwgdmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICAvLyBQcm9kdWNlIGFuIGFycmF5IHRoYXQgY29udGFpbnMgdGhlIHVuaW9uOiBlYWNoIGRpc3RpbmN0IGVsZW1lbnQgZnJvbSBhbGwgb2ZcbiAgLy8gdGhlIHBhc3NlZC1pbiBhcnJheXMuXG4gIF8udW5pb24gPSByZXN0QXJndW1lbnRzKGZ1bmN0aW9uKGFycmF5cykge1xuICAgIHJldHVybiBfLnVuaXEoZmxhdHRlbihhcnJheXMsIHRydWUsIHRydWUpKTtcbiAgfSk7XG5cbiAgLy8gUHJvZHVjZSBhbiBhcnJheSB0aGF0IGNvbnRhaW5zIGV2ZXJ5IGl0ZW0gc2hhcmVkIGJldHdlZW4gYWxsIHRoZVxuICAvLyBwYXNzZWQtaW4gYXJyYXlzLlxuICBfLmludGVyc2VjdGlvbiA9IGZ1bmN0aW9uKGFycmF5KSB7XG4gICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgIHZhciBhcmdzTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gZ2V0TGVuZ3RoKGFycmF5KTsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaXRlbSA9IGFycmF5W2ldO1xuICAgICAgaWYgKF8uY29udGFpbnMocmVzdWx0LCBpdGVtKSkgY29udGludWU7XG4gICAgICB2YXIgajtcbiAgICAgIGZvciAoaiA9IDE7IGogPCBhcmdzTGVuZ3RoOyBqKyspIHtcbiAgICAgICAgaWYgKCFfLmNvbnRhaW5zKGFyZ3VtZW50c1tqXSwgaXRlbSkpIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKGogPT09IGFyZ3NMZW5ndGgpIHJlc3VsdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIC8vIFRha2UgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBvbmUgYXJyYXkgYW5kIGEgbnVtYmVyIG9mIG90aGVyIGFycmF5cy5cbiAgLy8gT25seSB0aGUgZWxlbWVudHMgcHJlc2VudCBpbiBqdXN0IHRoZSBmaXJzdCBhcnJheSB3aWxsIHJlbWFpbi5cbiAgXy5kaWZmZXJlbmNlID0gcmVzdEFyZ3VtZW50cyhmdW5jdGlvbihhcnJheSwgcmVzdCkge1xuICAgIHJlc3QgPSBmbGF0dGVuKHJlc3QsIHRydWUsIHRydWUpO1xuICAgIHJldHVybiBfLmZpbHRlcihhcnJheSwgZnVuY3Rpb24odmFsdWUpe1xuICAgICAgcmV0dXJuICFfLmNvbnRhaW5zKHJlc3QsIHZhbHVlKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gQ29tcGxlbWVudCBvZiBfLnppcC4gVW56aXAgYWNjZXB0cyBhbiBhcnJheSBvZiBhcnJheXMgYW5kIGdyb3Vwc1xuICAvLyBlYWNoIGFycmF5J3MgZWxlbWVudHMgb24gc2hhcmVkIGluZGljZXMuXG4gIF8udW56aXAgPSBmdW5jdGlvbihhcnJheSkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheSAmJiBfLm1heChhcnJheSwgZ2V0TGVuZ3RoKS5sZW5ndGggfHwgMDtcbiAgICB2YXIgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgIGZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIHJlc3VsdFtpbmRleF0gPSBfLnBsdWNrKGFycmF5LCBpbmRleCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgLy8gWmlwIHRvZ2V0aGVyIG11bHRpcGxlIGxpc3RzIGludG8gYSBzaW5nbGUgYXJyYXkgLS0gZWxlbWVudHMgdGhhdCBzaGFyZVxuICAvLyBhbiBpbmRleCBnbyB0b2dldGhlci5cbiAgXy56aXAgPSByZXN0QXJndW1lbnRzKF8udW56aXApO1xuXG4gIC8vIENvbnZlcnRzIGxpc3RzIGludG8gb2JqZWN0cy4gUGFzcyBlaXRoZXIgYSBzaW5nbGUgYXJyYXkgb2YgYFtrZXksIHZhbHVlXWBcbiAgLy8gcGFpcnMsIG9yIHR3byBwYXJhbGxlbCBhcnJheXMgb2YgdGhlIHNhbWUgbGVuZ3RoIC0tIG9uZSBvZiBrZXlzLCBhbmQgb25lIG9mXG4gIC8vIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcy4gUGFzc2luZyBieSBwYWlycyBpcyB0aGUgcmV2ZXJzZSBvZiBfLnBhaXJzLlxuICBfLm9iamVjdCA9IGZ1bmN0aW9uKGxpc3QsIHZhbHVlcykge1xuICAgIHZhciByZXN1bHQgPSB7fTtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0gZ2V0TGVuZ3RoKGxpc3QpOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmICh2YWx1ZXMpIHtcbiAgICAgICAgcmVzdWx0W2xpc3RbaV1dID0gdmFsdWVzW2ldO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0W2xpc3RbaV1bMF1dID0gbGlzdFtpXVsxXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICAvLyBHZW5lcmF0b3IgZnVuY3Rpb24gdG8gY3JlYXRlIHRoZSBmaW5kSW5kZXggYW5kIGZpbmRMYXN0SW5kZXggZnVuY3Rpb25zLlxuICB2YXIgY3JlYXRlUHJlZGljYXRlSW5kZXhGaW5kZXIgPSBmdW5jdGlvbihkaXIpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oYXJyYXksIHByZWRpY2F0ZSwgY29udGV4dCkge1xuICAgICAgcHJlZGljYXRlID0gY2IocHJlZGljYXRlLCBjb250ZXh0KTtcbiAgICAgIHZhciBsZW5ndGggPSBnZXRMZW5ndGgoYXJyYXkpO1xuICAgICAgdmFyIGluZGV4ID0gZGlyID4gMCA/IDAgOiBsZW5ndGggLSAxO1xuICAgICAgZm9yICg7IGluZGV4ID49IDAgJiYgaW5kZXggPCBsZW5ndGg7IGluZGV4ICs9IGRpcikge1xuICAgICAgICBpZiAocHJlZGljYXRlKGFycmF5W2luZGV4XSwgaW5kZXgsIGFycmF5KSkgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgICAgcmV0dXJuIC0xO1xuICAgIH07XG4gIH07XG5cbiAgLy8gUmV0dXJucyB0aGUgZmlyc3QgaW5kZXggb24gYW4gYXJyYXktbGlrZSB0aGF0IHBhc3NlcyBhIHByZWRpY2F0ZSB0ZXN0LlxuICBfLmZpbmRJbmRleCA9IGNyZWF0ZVByZWRpY2F0ZUluZGV4RmluZGVyKDEpO1xuICBfLmZpbmRMYXN0SW5kZXggPSBjcmVhdGVQcmVkaWNhdGVJbmRleEZpbmRlcigtMSk7XG5cbiAgLy8gVXNlIGEgY29tcGFyYXRvciBmdW5jdGlvbiB0byBmaWd1cmUgb3V0IHRoZSBzbWFsbGVzdCBpbmRleCBhdCB3aGljaFxuICAvLyBhbiBvYmplY3Qgc2hvdWxkIGJlIGluc2VydGVkIHNvIGFzIHRvIG1haW50YWluIG9yZGVyLiBVc2VzIGJpbmFyeSBzZWFyY2guXG4gIF8uc29ydGVkSW5kZXggPSBmdW5jdGlvbihhcnJheSwgb2JqLCBpdGVyYXRlZSwgY29udGV4dCkge1xuICAgIGl0ZXJhdGVlID0gY2IoaXRlcmF0ZWUsIGNvbnRleHQsIDEpO1xuICAgIHZhciB2YWx1ZSA9IGl0ZXJhdGVlKG9iaik7XG4gICAgdmFyIGxvdyA9IDAsIGhpZ2ggPSBnZXRMZW5ndGgoYXJyYXkpO1xuICAgIHdoaWxlIChsb3cgPCBoaWdoKSB7XG4gICAgICB2YXIgbWlkID0gTWF0aC5mbG9vcigobG93ICsgaGlnaCkgLyAyKTtcbiAgICAgIGlmIChpdGVyYXRlZShhcnJheVttaWRdKSA8IHZhbHVlKSBsb3cgPSBtaWQgKyAxOyBlbHNlIGhpZ2ggPSBtaWQ7XG4gICAgfVxuICAgIHJldHVybiBsb3c7XG4gIH07XG5cbiAgLy8gR2VuZXJhdG9yIGZ1bmN0aW9uIHRvIGNyZWF0ZSB0aGUgaW5kZXhPZiBhbmQgbGFzdEluZGV4T2YgZnVuY3Rpb25zLlxuICB2YXIgY3JlYXRlSW5kZXhGaW5kZXIgPSBmdW5jdGlvbihkaXIsIHByZWRpY2F0ZUZpbmQsIHNvcnRlZEluZGV4KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGFycmF5LCBpdGVtLCBpZHgpIHtcbiAgICAgIHZhciBpID0gMCwgbGVuZ3RoID0gZ2V0TGVuZ3RoKGFycmF5KTtcbiAgICAgIGlmICh0eXBlb2YgaWR4ID09ICdudW1iZXInKSB7XG4gICAgICAgIGlmIChkaXIgPiAwKSB7XG4gICAgICAgICAgaSA9IGlkeCA+PSAwID8gaWR4IDogTWF0aC5tYXgoaWR4ICsgbGVuZ3RoLCBpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsZW5ndGggPSBpZHggPj0gMCA/IE1hdGgubWluKGlkeCArIDEsIGxlbmd0aCkgOiBpZHggKyBsZW5ndGggKyAxO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHNvcnRlZEluZGV4ICYmIGlkeCAmJiBsZW5ndGgpIHtcbiAgICAgICAgaWR4ID0gc29ydGVkSW5kZXgoYXJyYXksIGl0ZW0pO1xuICAgICAgICByZXR1cm4gYXJyYXlbaWR4XSA9PT0gaXRlbSA/IGlkeCA6IC0xO1xuICAgICAgfVxuICAgICAgaWYgKGl0ZW0gIT09IGl0ZW0pIHtcbiAgICAgICAgaWR4ID0gcHJlZGljYXRlRmluZChzbGljZS5jYWxsKGFycmF5LCBpLCBsZW5ndGgpLCBfLmlzTmFOKTtcbiAgICAgICAgcmV0dXJuIGlkeCA+PSAwID8gaWR4ICsgaSA6IC0xO1xuICAgICAgfVxuICAgICAgZm9yIChpZHggPSBkaXIgPiAwID8gaSA6IGxlbmd0aCAtIDE7IGlkeCA+PSAwICYmIGlkeCA8IGxlbmd0aDsgaWR4ICs9IGRpcikge1xuICAgICAgICBpZiAoYXJyYXlbaWR4XSA9PT0gaXRlbSkgcmV0dXJuIGlkeDtcbiAgICAgIH1cbiAgICAgIHJldHVybiAtMTtcbiAgICB9O1xuICB9O1xuXG4gIC8vIFJldHVybiB0aGUgcG9zaXRpb24gb2YgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYW4gaXRlbSBpbiBhbiBhcnJheSxcbiAgLy8gb3IgLTEgaWYgdGhlIGl0ZW0gaXMgbm90IGluY2x1ZGVkIGluIHRoZSBhcnJheS5cbiAgLy8gSWYgdGhlIGFycmF5IGlzIGxhcmdlIGFuZCBhbHJlYWR5IGluIHNvcnQgb3JkZXIsIHBhc3MgYHRydWVgXG4gIC8vIGZvciAqKmlzU29ydGVkKiogdG8gdXNlIGJpbmFyeSBzZWFyY2guXG4gIF8uaW5kZXhPZiA9IGNyZWF0ZUluZGV4RmluZGVyKDEsIF8uZmluZEluZGV4LCBfLnNvcnRlZEluZGV4KTtcbiAgXy5sYXN0SW5kZXhPZiA9IGNyZWF0ZUluZGV4RmluZGVyKC0xLCBfLmZpbmRMYXN0SW5kZXgpO1xuXG4gIC8vIEdlbmVyYXRlIGFuIGludGVnZXIgQXJyYXkgY29udGFpbmluZyBhbiBhcml0aG1ldGljIHByb2dyZXNzaW9uLiBBIHBvcnQgb2ZcbiAgLy8gdGhlIG5hdGl2ZSBQeXRob24gYHJhbmdlKClgIGZ1bmN0aW9uLiBTZWVcbiAgLy8gW3RoZSBQeXRob24gZG9jdW1lbnRhdGlvbl0oaHR0cDovL2RvY3MucHl0aG9uLm9yZy9saWJyYXJ5L2Z1bmN0aW9ucy5odG1sI3JhbmdlKS5cbiAgXy5yYW5nZSA9IGZ1bmN0aW9uKHN0YXJ0LCBzdG9wLCBzdGVwKSB7XG4gICAgaWYgKHN0b3AgPT0gbnVsbCkge1xuICAgICAgc3RvcCA9IHN0YXJ0IHx8IDA7XG4gICAgICBzdGFydCA9IDA7XG4gICAgfVxuICAgIGlmICghc3RlcCkge1xuICAgICAgc3RlcCA9IHN0b3AgPCBzdGFydCA/IC0xIDogMTtcbiAgICB9XG5cbiAgICB2YXIgbGVuZ3RoID0gTWF0aC5tYXgoTWF0aC5jZWlsKChzdG9wIC0gc3RhcnQpIC8gc3RlcCksIDApO1xuICAgIHZhciByYW5nZSA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICBmb3IgKHZhciBpZHggPSAwOyBpZHggPCBsZW5ndGg7IGlkeCsrLCBzdGFydCArPSBzdGVwKSB7XG4gICAgICByYW5nZVtpZHhdID0gc3RhcnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJhbmdlO1xuICB9O1xuXG4gIC8vIENodW5rIGEgc2luZ2xlIGFycmF5IGludG8gbXVsdGlwbGUgYXJyYXlzLCBlYWNoIGNvbnRhaW5pbmcgYGNvdW50YCBvciBmZXdlclxuICAvLyBpdGVtcy5cbiAgXy5jaHVuayA9IGZ1bmN0aW9uKGFycmF5LCBjb3VudCkge1xuICAgIGlmIChjb3VudCA9PSBudWxsIHx8IGNvdW50IDwgMSkgcmV0dXJuIFtdO1xuICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICB2YXIgaSA9IDAsIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgICB3aGlsZSAoaSA8IGxlbmd0aCkge1xuICAgICAgcmVzdWx0LnB1c2goc2xpY2UuY2FsbChhcnJheSwgaSwgaSArPSBjb3VudCkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIC8vIEZ1bmN0aW9uIChhaGVtKSBGdW5jdGlvbnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGV4ZWN1dGUgYSBmdW5jdGlvbiBhcyBhIGNvbnN0cnVjdG9yXG4gIC8vIG9yIGEgbm9ybWFsIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgdmFyIGV4ZWN1dGVCb3VuZCA9IGZ1bmN0aW9uKHNvdXJjZUZ1bmMsIGJvdW5kRnVuYywgY29udGV4dCwgY2FsbGluZ0NvbnRleHQsIGFyZ3MpIHtcbiAgICBpZiAoIShjYWxsaW5nQ29udGV4dCBpbnN0YW5jZW9mIGJvdW5kRnVuYykpIHJldHVybiBzb3VyY2VGdW5jLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgIHZhciBzZWxmID0gYmFzZUNyZWF0ZShzb3VyY2VGdW5jLnByb3RvdHlwZSk7XG4gICAgdmFyIHJlc3VsdCA9IHNvdXJjZUZ1bmMuYXBwbHkoc2VsZiwgYXJncyk7XG4gICAgaWYgKF8uaXNPYmplY3QocmVzdWx0KSkgcmV0dXJuIHJlc3VsdDtcbiAgICByZXR1cm4gc2VsZjtcbiAgfTtcblxuICAvLyBDcmVhdGUgYSBmdW5jdGlvbiBib3VuZCB0byBhIGdpdmVuIG9iamVjdCAoYXNzaWduaW5nIGB0aGlzYCwgYW5kIGFyZ3VtZW50cyxcbiAgLy8gb3B0aW9uYWxseSkuIERlbGVnYXRlcyB0byAqKkVDTUFTY3JpcHQgNSoqJ3MgbmF0aXZlIGBGdW5jdGlvbi5iaW5kYCBpZlxuICAvLyBhdmFpbGFibGUuXG4gIF8uYmluZCA9IHJlc3RBcmd1bWVudHMoZnVuY3Rpb24oZnVuYywgY29udGV4dCwgYXJncykge1xuICAgIGlmICghXy5pc0Z1bmN0aW9uKGZ1bmMpKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdCaW5kIG11c3QgYmUgY2FsbGVkIG9uIGEgZnVuY3Rpb24nKTtcbiAgICB2YXIgYm91bmQgPSByZXN0QXJndW1lbnRzKGZ1bmN0aW9uKGNhbGxBcmdzKSB7XG4gICAgICByZXR1cm4gZXhlY3V0ZUJvdW5kKGZ1bmMsIGJvdW5kLCBjb250ZXh0LCB0aGlzLCBhcmdzLmNvbmNhdChjYWxsQXJncykpO1xuICAgIH0pO1xuICAgIHJldHVybiBib3VuZDtcbiAgfSk7XG5cbiAgLy8gUGFydGlhbGx5IGFwcGx5IGEgZnVuY3Rpb24gYnkgY3JlYXRpbmcgYSB2ZXJzaW9uIHRoYXQgaGFzIGhhZCBzb21lIG9mIGl0c1xuICAvLyBhcmd1bWVudHMgcHJlLWZpbGxlZCwgd2l0aG91dCBjaGFuZ2luZyBpdHMgZHluYW1pYyBgdGhpc2AgY29udGV4dC4gXyBhY3RzXG4gIC8vIGFzIGEgcGxhY2Vob2xkZXIgYnkgZGVmYXVsdCwgYWxsb3dpbmcgYW55IGNvbWJpbmF0aW9uIG9mIGFyZ3VtZW50cyB0byBiZVxuICAvLyBwcmUtZmlsbGVkLiBTZXQgYF8ucGFydGlhbC5wbGFjZWhvbGRlcmAgZm9yIGEgY3VzdG9tIHBsYWNlaG9sZGVyIGFyZ3VtZW50LlxuICBfLnBhcnRpYWwgPSByZXN0QXJndW1lbnRzKGZ1bmN0aW9uKGZ1bmMsIGJvdW5kQXJncykge1xuICAgIHZhciBwbGFjZWhvbGRlciA9IF8ucGFydGlhbC5wbGFjZWhvbGRlcjtcbiAgICB2YXIgYm91bmQgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBwb3NpdGlvbiA9IDAsIGxlbmd0aCA9IGJvdW5kQXJncy5sZW5ndGg7XG4gICAgICB2YXIgYXJncyA9IEFycmF5KGxlbmd0aCk7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGFyZ3NbaV0gPSBib3VuZEFyZ3NbaV0gPT09IHBsYWNlaG9sZGVyID8gYXJndW1lbnRzW3Bvc2l0aW9uKytdIDogYm91bmRBcmdzW2ldO1xuICAgICAgfVxuICAgICAgd2hpbGUgKHBvc2l0aW9uIDwgYXJndW1lbnRzLmxlbmd0aCkgYXJncy5wdXNoKGFyZ3VtZW50c1twb3NpdGlvbisrXSk7XG4gICAgICByZXR1cm4gZXhlY3V0ZUJvdW5kKGZ1bmMsIGJvdW5kLCB0aGlzLCB0aGlzLCBhcmdzKTtcbiAgICB9O1xuICAgIHJldHVybiBib3VuZDtcbiAgfSk7XG5cbiAgXy5wYXJ0aWFsLnBsYWNlaG9sZGVyID0gXztcblxuICAvLyBCaW5kIGEgbnVtYmVyIG9mIGFuIG9iamVjdCdzIG1ldGhvZHMgdG8gdGhhdCBvYmplY3QuIFJlbWFpbmluZyBhcmd1bWVudHNcbiAgLy8gYXJlIHRoZSBtZXRob2QgbmFtZXMgdG8gYmUgYm91bmQuIFVzZWZ1bCBmb3IgZW5zdXJpbmcgdGhhdCBhbGwgY2FsbGJhY2tzXG4gIC8vIGRlZmluZWQgb24gYW4gb2JqZWN0IGJlbG9uZyB0byBpdC5cbiAgXy5iaW5kQWxsID0gcmVzdEFyZ3VtZW50cyhmdW5jdGlvbihvYmosIGtleXMpIHtcbiAgICBrZXlzID0gZmxhdHRlbihrZXlzLCBmYWxzZSwgZmFsc2UpO1xuICAgIHZhciBpbmRleCA9IGtleXMubGVuZ3RoO1xuICAgIGlmIChpbmRleCA8IDEpIHRocm93IG5ldyBFcnJvcignYmluZEFsbCBtdXN0IGJlIHBhc3NlZCBmdW5jdGlvbiBuYW1lcycpO1xuICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpbmRleF07XG4gICAgICBvYmpba2V5XSA9IF8uYmluZChvYmpba2V5XSwgb2JqKTtcbiAgICB9XG4gIH0pO1xuXG4gIC8vIE1lbW9pemUgYW4gZXhwZW5zaXZlIGZ1bmN0aW9uIGJ5IHN0b3JpbmcgaXRzIHJlc3VsdHMuXG4gIF8ubWVtb2l6ZSA9IGZ1bmN0aW9uKGZ1bmMsIGhhc2hlcikge1xuICAgIHZhciBtZW1vaXplID0gZnVuY3Rpb24oa2V5KSB7XG4gICAgICB2YXIgY2FjaGUgPSBtZW1vaXplLmNhY2hlO1xuICAgICAgdmFyIGFkZHJlc3MgPSAnJyArIChoYXNoZXIgPyBoYXNoZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKSA6IGtleSk7XG4gICAgICBpZiAoIV8uaGFzKGNhY2hlLCBhZGRyZXNzKSkgY2FjaGVbYWRkcmVzc10gPSBmdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICByZXR1cm4gY2FjaGVbYWRkcmVzc107XG4gICAgfTtcbiAgICBtZW1vaXplLmNhY2hlID0ge307XG4gICAgcmV0dXJuIG1lbW9pemU7XG4gIH07XG5cbiAgLy8gRGVsYXlzIGEgZnVuY3Rpb24gZm9yIHRoZSBnaXZlbiBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLCBhbmQgdGhlbiBjYWxsc1xuICAvLyBpdCB3aXRoIHRoZSBhcmd1bWVudHMgc3VwcGxpZWQuXG4gIF8uZGVsYXkgPSByZXN0QXJndW1lbnRzKGZ1bmN0aW9uKGZ1bmMsIHdhaXQsIGFyZ3MpIHtcbiAgICByZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBmdW5jLmFwcGx5KG51bGwsIGFyZ3MpO1xuICAgIH0sIHdhaXQpO1xuICB9KTtcblxuICAvLyBEZWZlcnMgYSBmdW5jdGlvbiwgc2NoZWR1bGluZyBpdCB0byBydW4gYWZ0ZXIgdGhlIGN1cnJlbnQgY2FsbCBzdGFjayBoYXNcbiAgLy8gY2xlYXJlZC5cbiAgXy5kZWZlciA9IF8ucGFydGlhbChfLmRlbGF5LCBfLCAxKTtcblxuICAvLyBSZXR1cm5zIGEgZnVuY3Rpb24sIHRoYXQsIHdoZW4gaW52b2tlZCwgd2lsbCBvbmx5IGJlIHRyaWdnZXJlZCBhdCBtb3N0IG9uY2VcbiAgLy8gZHVyaW5nIGEgZ2l2ZW4gd2luZG93IG9mIHRpbWUuIE5vcm1hbGx5LCB0aGUgdGhyb3R0bGVkIGZ1bmN0aW9uIHdpbGwgcnVuXG4gIC8vIGFzIG11Y2ggYXMgaXQgY2FuLCB3aXRob3V0IGV2ZXIgZ29pbmcgbW9yZSB0aGFuIG9uY2UgcGVyIGB3YWl0YCBkdXJhdGlvbjtcbiAgLy8gYnV0IGlmIHlvdSdkIGxpa2UgdG8gZGlzYWJsZSB0aGUgZXhlY3V0aW9uIG9uIHRoZSBsZWFkaW5nIGVkZ2UsIHBhc3NcbiAgLy8gYHtsZWFkaW5nOiBmYWxzZX1gLiBUbyBkaXNhYmxlIGV4ZWN1dGlvbiBvbiB0aGUgdHJhaWxpbmcgZWRnZSwgZGl0dG8uXG4gIF8udGhyb3R0bGUgPSBmdW5jdGlvbihmdW5jLCB3YWl0LCBvcHRpb25zKSB7XG4gICAgdmFyIHRpbWVvdXQsIGNvbnRleHQsIGFyZ3MsIHJlc3VsdDtcbiAgICB2YXIgcHJldmlvdXMgPSAwO1xuICAgIGlmICghb3B0aW9ucykgb3B0aW9ucyA9IHt9O1xuXG4gICAgdmFyIGxhdGVyID0gZnVuY3Rpb24oKSB7XG4gICAgICBwcmV2aW91cyA9IG9wdGlvbnMubGVhZGluZyA9PT0gZmFsc2UgPyAwIDogXy5ub3coKTtcbiAgICAgIHRpbWVvdXQgPSBudWxsO1xuICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgIGlmICghdGltZW91dCkgY29udGV4dCA9IGFyZ3MgPSBudWxsO1xuICAgIH07XG5cbiAgICB2YXIgdGhyb3R0bGVkID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgbm93ID0gXy5ub3coKTtcbiAgICAgIGlmICghcHJldmlvdXMgJiYgb3B0aW9ucy5sZWFkaW5nID09PSBmYWxzZSkgcHJldmlvdXMgPSBub3c7XG4gICAgICB2YXIgcmVtYWluaW5nID0gd2FpdCAtIChub3cgLSBwcmV2aW91cyk7XG4gICAgICBjb250ZXh0ID0gdGhpcztcbiAgICAgIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICBpZiAocmVtYWluaW5nIDw9IDAgfHwgcmVtYWluaW5nID4gd2FpdCkge1xuICAgICAgICBpZiAodGltZW91dCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgICB0aW1lb3V0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBwcmV2aW91cyA9IG5vdztcbiAgICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgICAgaWYgKCF0aW1lb3V0KSBjb250ZXh0ID0gYXJncyA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKCF0aW1lb3V0ICYmIG9wdGlvbnMudHJhaWxpbmcgIT09IGZhbHNlKSB7XG4gICAgICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KGxhdGVyLCByZW1haW5pbmcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgdGhyb3R0bGVkLmNhbmNlbCA9IGZ1bmN0aW9uKCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgcHJldmlvdXMgPSAwO1xuICAgICAgdGltZW91dCA9IGNvbnRleHQgPSBhcmdzID0gbnVsbDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHRocm90dGxlZDtcbiAgfTtcblxuICAvLyBSZXR1cm5zIGEgZnVuY3Rpb24sIHRoYXQsIGFzIGxvbmcgYXMgaXQgY29udGludWVzIHRvIGJlIGludm9rZWQsIHdpbGwgbm90XG4gIC8vIGJlIHRyaWdnZXJlZC4gVGhlIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGFmdGVyIGl0IHN0b3BzIGJlaW5nIGNhbGxlZCBmb3JcbiAgLy8gTiBtaWxsaXNlY29uZHMuIElmIGBpbW1lZGlhdGVgIGlzIHBhc3NlZCwgdHJpZ2dlciB0aGUgZnVuY3Rpb24gb24gdGhlXG4gIC8vIGxlYWRpbmcgZWRnZSwgaW5zdGVhZCBvZiB0aGUgdHJhaWxpbmcuXG4gIF8uZGVib3VuY2UgPSBmdW5jdGlvbihmdW5jLCB3YWl0LCBpbW1lZGlhdGUpIHtcbiAgICB2YXIgdGltZW91dCwgcmVzdWx0O1xuXG4gICAgdmFyIGxhdGVyID0gZnVuY3Rpb24oY29udGV4dCwgYXJncykge1xuICAgICAgdGltZW91dCA9IG51bGw7XG4gICAgICBpZiAoYXJncykgcmVzdWx0ID0gZnVuYy5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICB9O1xuXG4gICAgdmFyIGRlYm91bmNlZCA9IHJlc3RBcmd1bWVudHMoZnVuY3Rpb24oYXJncykge1xuICAgICAgaWYgKHRpbWVvdXQpIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgIGlmIChpbW1lZGlhdGUpIHtcbiAgICAgICAgdmFyIGNhbGxOb3cgPSAhdGltZW91dDtcbiAgICAgICAgdGltZW91dCA9IHNldFRpbWVvdXQobGF0ZXIsIHdhaXQpO1xuICAgICAgICBpZiAoY2FsbE5vdykgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRpbWVvdXQgPSBfLmRlbGF5KGxhdGVyLCB3YWl0LCB0aGlzLCBhcmdzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIGRlYm91bmNlZC5jYW5jZWwgPSBmdW5jdGlvbigpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgIHRpbWVvdXQgPSBudWxsO1xuICAgIH07XG5cbiAgICByZXR1cm4gZGVib3VuY2VkO1xuICB9O1xuXG4gIC8vIFJldHVybnMgdGhlIGZpcnN0IGZ1bmN0aW9uIHBhc3NlZCBhcyBhbiBhcmd1bWVudCB0byB0aGUgc2Vjb25kLFxuICAvLyBhbGxvd2luZyB5b3UgdG8gYWRqdXN0IGFyZ3VtZW50cywgcnVuIGNvZGUgYmVmb3JlIGFuZCBhZnRlciwgYW5kXG4gIC8vIGNvbmRpdGlvbmFsbHkgZXhlY3V0ZSB0aGUgb3JpZ2luYWwgZnVuY3Rpb24uXG4gIF8ud3JhcCA9IGZ1bmN0aW9uKGZ1bmMsIHdyYXBwZXIpIHtcbiAgICByZXR1cm4gXy5wYXJ0aWFsKHdyYXBwZXIsIGZ1bmMpO1xuICB9O1xuXG4gIC8vIFJldHVybnMgYSBuZWdhdGVkIHZlcnNpb24gb2YgdGhlIHBhc3NlZC1pbiBwcmVkaWNhdGUuXG4gIF8ubmVnYXRlID0gZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuICFwcmVkaWNhdGUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9O1xuXG4gIC8vIFJldHVybnMgYSBmdW5jdGlvbiB0aGF0IGlzIHRoZSBjb21wb3NpdGlvbiBvZiBhIGxpc3Qgb2YgZnVuY3Rpb25zLCBlYWNoXG4gIC8vIGNvbnN1bWluZyB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBmdW5jdGlvbiB0aGF0IGZvbGxvd3MuXG4gIF8uY29tcG9zZSA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBhcmdzID0gYXJndW1lbnRzO1xuICAgIHZhciBzdGFydCA9IGFyZ3MubGVuZ3RoIC0gMTtcbiAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgaSA9IHN0YXJ0O1xuICAgICAgdmFyIHJlc3VsdCA9IGFyZ3Nbc3RhcnRdLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB3aGlsZSAoaS0tKSByZXN1bHQgPSBhcmdzW2ldLmNhbGwodGhpcywgcmVzdWx0KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcbiAgfTtcblxuICAvLyBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCB3aWxsIG9ubHkgYmUgZXhlY3V0ZWQgb24gYW5kIGFmdGVyIHRoZSBOdGggY2FsbC5cbiAgXy5hZnRlciA9IGZ1bmN0aW9uKHRpbWVzLCBmdW5jKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKC0tdGltZXMgPCAxKSB7XG4gICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9XG4gICAgfTtcbiAgfTtcblxuICAvLyBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCB3aWxsIG9ubHkgYmUgZXhlY3V0ZWQgdXAgdG8gKGJ1dCBub3QgaW5jbHVkaW5nKSB0aGUgTnRoIGNhbGwuXG4gIF8uYmVmb3JlID0gZnVuY3Rpb24odGltZXMsIGZ1bmMpIHtcbiAgICB2YXIgbWVtbztcbiAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoLS10aW1lcyA+IDApIHtcbiAgICAgICAgbWVtbyA9IGZ1bmMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aW1lcyA8PSAxKSBmdW5jID0gbnVsbDtcbiAgICAgIHJldHVybiBtZW1vO1xuICAgIH07XG4gIH07XG5cbiAgLy8gUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBhdCBtb3N0IG9uZSB0aW1lLCBubyBtYXR0ZXIgaG93XG4gIC8vIG9mdGVuIHlvdSBjYWxsIGl0LiBVc2VmdWwgZm9yIGxhenkgaW5pdGlhbGl6YXRpb24uXG4gIF8ub25jZSA9IF8ucGFydGlhbChfLmJlZm9yZSwgMik7XG5cbiAgXy5yZXN0QXJndW1lbnRzID0gcmVzdEFyZ3VtZW50cztcblxuICAvLyBPYmplY3QgRnVuY3Rpb25zXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS1cblxuICAvLyBLZXlzIGluIElFIDwgOSB0aGF0IHdvbid0IGJlIGl0ZXJhdGVkIGJ5IGBmb3Iga2V5IGluIC4uLmAgYW5kIHRodXMgbWlzc2VkLlxuICB2YXIgaGFzRW51bUJ1ZyA9ICF7dG9TdHJpbmc6IG51bGx9LnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b1N0cmluZycpO1xuICB2YXIgbm9uRW51bWVyYWJsZVByb3BzID0gWyd2YWx1ZU9mJywgJ2lzUHJvdG90eXBlT2YnLCAndG9TdHJpbmcnLFxuICAgICdwcm9wZXJ0eUlzRW51bWVyYWJsZScsICdoYXNPd25Qcm9wZXJ0eScsICd0b0xvY2FsZVN0cmluZyddO1xuXG4gIHZhciBjb2xsZWN0Tm9uRW51bVByb3BzID0gZnVuY3Rpb24ob2JqLCBrZXlzKSB7XG4gICAgdmFyIG5vbkVudW1JZHggPSBub25FbnVtZXJhYmxlUHJvcHMubGVuZ3RoO1xuICAgIHZhciBjb25zdHJ1Y3RvciA9IG9iai5jb25zdHJ1Y3RvcjtcbiAgICB2YXIgcHJvdG8gPSBfLmlzRnVuY3Rpb24oY29uc3RydWN0b3IpICYmIGNvbnN0cnVjdG9yLnByb3RvdHlwZSB8fCBPYmpQcm90bztcblxuICAgIC8vIENvbnN0cnVjdG9yIGlzIGEgc3BlY2lhbCBjYXNlLlxuICAgIHZhciBwcm9wID0gJ2NvbnN0cnVjdG9yJztcbiAgICBpZiAoXy5oYXMob2JqLCBwcm9wKSAmJiAhXy5jb250YWlucyhrZXlzLCBwcm9wKSkga2V5cy5wdXNoKHByb3ApO1xuXG4gICAgd2hpbGUgKG5vbkVudW1JZHgtLSkge1xuICAgICAgcHJvcCA9IG5vbkVudW1lcmFibGVQcm9wc1tub25FbnVtSWR4XTtcbiAgICAgIGlmIChwcm9wIGluIG9iaiAmJiBvYmpbcHJvcF0gIT09IHByb3RvW3Byb3BdICYmICFfLmNvbnRhaW5zKGtleXMsIHByb3ApKSB7XG4gICAgICAgIGtleXMucHVzaChwcm9wKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgLy8gUmV0cmlldmUgdGhlIG5hbWVzIG9mIGFuIG9iamVjdCdzIG93biBwcm9wZXJ0aWVzLlxuICAvLyBEZWxlZ2F0ZXMgdG8gKipFQ01BU2NyaXB0IDUqKidzIG5hdGl2ZSBgT2JqZWN0LmtleXNgLlxuICBfLmtleXMgPSBmdW5jdGlvbihvYmopIHtcbiAgICBpZiAoIV8uaXNPYmplY3Qob2JqKSkgcmV0dXJuIFtdO1xuICAgIGlmIChuYXRpdmVLZXlzKSByZXR1cm4gbmF0aXZlS2V5cyhvYmopO1xuICAgIHZhciBrZXlzID0gW107XG4gICAgZm9yICh2YXIga2V5IGluIG9iaikgaWYgKF8uaGFzKG9iaiwga2V5KSkga2V5cy5wdXNoKGtleSk7XG4gICAgLy8gQWhlbSwgSUUgPCA5LlxuICAgIGlmIChoYXNFbnVtQnVnKSBjb2xsZWN0Tm9uRW51bVByb3BzKG9iaiwga2V5cyk7XG4gICAgcmV0dXJuIGtleXM7XG4gIH07XG5cbiAgLy8gUmV0cmlldmUgYWxsIHRoZSBwcm9wZXJ0eSBuYW1lcyBvZiBhbiBvYmplY3QuXG4gIF8uYWxsS2V5cyA9IGZ1bmN0aW9uKG9iaikge1xuICAgIGlmICghXy5pc09iamVjdChvYmopKSByZXR1cm4gW107XG4gICAgdmFyIGtleXMgPSBbXTtcbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSBrZXlzLnB1c2goa2V5KTtcbiAgICAvLyBBaGVtLCBJRSA8IDkuXG4gICAgaWYgKGhhc0VudW1CdWcpIGNvbGxlY3ROb25FbnVtUHJvcHMob2JqLCBrZXlzKTtcbiAgICByZXR1cm4ga2V5cztcbiAgfTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgdmFsdWVzIG9mIGFuIG9iamVjdCdzIHByb3BlcnRpZXMuXG4gIF8udmFsdWVzID0gZnVuY3Rpb24ob2JqKSB7XG4gICAgdmFyIGtleXMgPSBfLmtleXMob2JqKTtcbiAgICB2YXIgbGVuZ3RoID0ga2V5cy5sZW5ndGg7XG4gICAgdmFyIHZhbHVlcyA9IEFycmF5KGxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgdmFsdWVzW2ldID0gb2JqW2tleXNbaV1dO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWVzO1xuICB9O1xuXG4gIC8vIFJldHVybnMgdGhlIHJlc3VsdHMgb2YgYXBwbHlpbmcgdGhlIGl0ZXJhdGVlIHRvIGVhY2ggZWxlbWVudCBvZiB0aGUgb2JqZWN0LlxuICAvLyBJbiBjb250cmFzdCB0byBfLm1hcCBpdCByZXR1cm5zIGFuIG9iamVjdC5cbiAgXy5tYXBPYmplY3QgPSBmdW5jdGlvbihvYmosIGl0ZXJhdGVlLCBjb250ZXh0KSB7XG4gICAgaXRlcmF0ZWUgPSBjYihpdGVyYXRlZSwgY29udGV4dCk7XG4gICAgdmFyIGtleXMgPSBfLmtleXMob2JqKSxcbiAgICAgICAgbGVuZ3RoID0ga2V5cy5sZW5ndGgsXG4gICAgICAgIHJlc3VsdHMgPSB7fTtcbiAgICBmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICB2YXIgY3VycmVudEtleSA9IGtleXNbaW5kZXhdO1xuICAgICAgcmVzdWx0c1tjdXJyZW50S2V5XSA9IGl0ZXJhdGVlKG9ialtjdXJyZW50S2V5XSwgY3VycmVudEtleSwgb2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHM7XG4gIH07XG5cbiAgLy8gQ29udmVydCBhbiBvYmplY3QgaW50byBhIGxpc3Qgb2YgYFtrZXksIHZhbHVlXWAgcGFpcnMuXG4gIC8vIFRoZSBvcHBvc2l0ZSBvZiBfLm9iamVjdC5cbiAgXy5wYWlycyA9IGZ1bmN0aW9uKG9iaikge1xuICAgIHZhciBrZXlzID0gXy5rZXlzKG9iaik7XG4gICAgdmFyIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xuICAgIHZhciBwYWlycyA9IEFycmF5KGxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgcGFpcnNbaV0gPSBba2V5c1tpXSwgb2JqW2tleXNbaV1dXTtcbiAgICB9XG4gICAgcmV0dXJuIHBhaXJzO1xuICB9O1xuXG4gIC8vIEludmVydCB0aGUga2V5cyBhbmQgdmFsdWVzIG9mIGFuIG9iamVjdC4gVGhlIHZhbHVlcyBtdXN0IGJlIHNlcmlhbGl6YWJsZS5cbiAgXy5pbnZlcnQgPSBmdW5jdGlvbihvYmopIHtcbiAgICB2YXIgcmVzdWx0ID0ge307XG4gICAgdmFyIGtleXMgPSBfLmtleXMob2JqKTtcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuZ3RoID0ga2V5cy5sZW5ndGg7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgcmVzdWx0W29ialtrZXlzW2ldXV0gPSBrZXlzW2ldO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIC8vIFJldHVybiBhIHNvcnRlZCBsaXN0IG9mIHRoZSBmdW5jdGlvbiBuYW1lcyBhdmFpbGFibGUgb24gdGhlIG9iamVjdC5cbiAgLy8gQWxpYXNlZCBhcyBgbWV0aG9kc2AuXG4gIF8uZnVuY3Rpb25zID0gXy5tZXRob2RzID0gZnVuY3Rpb24ob2JqKSB7XG4gICAgdmFyIG5hbWVzID0gW107XG4gICAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgICAgaWYgKF8uaXNGdW5jdGlvbihvYmpba2V5XSkpIG5hbWVzLnB1c2goa2V5KTtcbiAgICB9XG4gICAgcmV0dXJuIG5hbWVzLnNvcnQoKTtcbiAgfTtcblxuICAvLyBBbiBpbnRlcm5hbCBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgYXNzaWduZXIgZnVuY3Rpb25zLlxuICB2YXIgY3JlYXRlQXNzaWduZXIgPSBmdW5jdGlvbihrZXlzRnVuYywgZGVmYXVsdHMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24ob2JqKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICAgIGlmIChkZWZhdWx0cykgb2JqID0gT2JqZWN0KG9iaik7XG4gICAgICBpZiAobGVuZ3RoIDwgMiB8fCBvYmogPT0gbnVsbCkgcmV0dXJuIG9iajtcbiAgICAgIGZvciAodmFyIGluZGV4ID0gMTsgaW5kZXggPCBsZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpbmRleF0sXG4gICAgICAgICAgICBrZXlzID0ga2V5c0Z1bmMoc291cmNlKSxcbiAgICAgICAgICAgIGwgPSBrZXlzLmxlbmd0aDtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICAgICAgICBpZiAoIWRlZmF1bHRzIHx8IG9ialtrZXldID09PSB2b2lkIDApIG9ialtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBvYmo7XG4gICAgfTtcbiAgfTtcblxuICAvLyBFeHRlbmQgYSBnaXZlbiBvYmplY3Qgd2l0aCBhbGwgdGhlIHByb3BlcnRpZXMgaW4gcGFzc2VkLWluIG9iamVjdChzKS5cbiAgXy5leHRlbmQgPSBjcmVhdGVBc3NpZ25lcihfLmFsbEtleXMpO1xuXG4gIC8vIEFzc2lnbnMgYSBnaXZlbiBvYmplY3Qgd2l0aCBhbGwgdGhlIG93biBwcm9wZXJ0aWVzIGluIHRoZSBwYXNzZWQtaW4gb2JqZWN0KHMpLlxuICAvLyAoaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvT2JqZWN0L2Fzc2lnbilcbiAgXy5leHRlbmRPd24gPSBfLmFzc2lnbiA9IGNyZWF0ZUFzc2lnbmVyKF8ua2V5cyk7XG5cbiAgLy8gUmV0dXJucyB0aGUgZmlyc3Qga2V5IG9uIGFuIG9iamVjdCB0aGF0IHBhc3NlcyBhIHByZWRpY2F0ZSB0ZXN0LlxuICBfLmZpbmRLZXkgPSBmdW5jdGlvbihvYmosIHByZWRpY2F0ZSwgY29udGV4dCkge1xuICAgIHByZWRpY2F0ZSA9IGNiKHByZWRpY2F0ZSwgY29udGV4dCk7XG4gICAgdmFyIGtleXMgPSBfLmtleXMob2JqKSwga2V5O1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSBrZXlzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgaWYgKHByZWRpY2F0ZShvYmpba2V5XSwga2V5LCBvYmopKSByZXR1cm4ga2V5O1xuICAgIH1cbiAgfTtcblxuICAvLyBJbnRlcm5hbCBwaWNrIGhlbHBlciBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYG9iamAgaGFzIGtleSBga2V5YC5cbiAgdmFyIGtleUluT2JqID0gZnVuY3Rpb24odmFsdWUsIGtleSwgb2JqKSB7XG4gICAgcmV0dXJuIGtleSBpbiBvYmo7XG4gIH07XG5cbiAgLy8gUmV0dXJuIGEgY29weSBvZiB0aGUgb2JqZWN0IG9ubHkgY29udGFpbmluZyB0aGUgd2hpdGVsaXN0ZWQgcHJvcGVydGllcy5cbiAgXy5waWNrID0gcmVzdEFyZ3VtZW50cyhmdW5jdGlvbihvYmosIGtleXMpIHtcbiAgICB2YXIgcmVzdWx0ID0ge30sIGl0ZXJhdGVlID0ga2V5c1swXTtcbiAgICBpZiAob2JqID09IG51bGwpIHJldHVybiByZXN1bHQ7XG4gICAgaWYgKF8uaXNGdW5jdGlvbihpdGVyYXRlZSkpIHtcbiAgICAgIGlmIChrZXlzLmxlbmd0aCA+IDEpIGl0ZXJhdGVlID0gb3B0aW1pemVDYihpdGVyYXRlZSwga2V5c1sxXSk7XG4gICAgICBrZXlzID0gXy5hbGxLZXlzKG9iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZXJhdGVlID0ga2V5SW5PYmo7XG4gICAgICBrZXlzID0gZmxhdHRlbihrZXlzLCBmYWxzZSwgZmFsc2UpO1xuICAgICAgb2JqID0gT2JqZWN0KG9iaik7XG4gICAgfVxuICAgIGZvciAodmFyIGkgPSAwLCBsZW5ndGggPSBrZXlzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0ga2V5c1tpXTtcbiAgICAgIHZhciB2YWx1ZSA9IG9ialtrZXldO1xuICAgICAgaWYgKGl0ZXJhdGVlKHZhbHVlLCBrZXksIG9iaikpIHJlc3VsdFtrZXldID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0pO1xuXG4gIC8vIFJldHVybiBhIGNvcHkgb2YgdGhlIG9iamVjdCB3aXRob3V0IHRoZSBibGFja2xpc3RlZCBwcm9wZXJ0aWVzLlxuICBfLm9taXQgPSByZXN0QXJndW1lbnRzKGZ1bmN0aW9uKG9iaiwga2V5cykge1xuICAgIHZhciBpdGVyYXRlZSA9IGtleXNbMF0sIGNvbnRleHQ7XG4gICAgaWYgKF8uaXNGdW5jdGlvbihpdGVyYXRlZSkpIHtcbiAgICAgIGl0ZXJhdGVlID0gXy5uZWdhdGUoaXRlcmF0ZWUpO1xuICAgICAgaWYgKGtleXMubGVuZ3RoID4gMSkgY29udGV4dCA9IGtleXNbMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGtleXMgPSBfLm1hcChmbGF0dGVuKGtleXMsIGZhbHNlLCBmYWxzZSksIFN0cmluZyk7XG4gICAgICBpdGVyYXRlZSA9IGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgICAgcmV0dXJuICFfLmNvbnRhaW5zKGtleXMsIGtleSk7XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gXy5waWNrKG9iaiwgaXRlcmF0ZWUsIGNvbnRleHQpO1xuICB9KTtcblxuICAvLyBGaWxsIGluIGEgZ2l2ZW4gb2JqZWN0IHdpdGggZGVmYXVsdCBwcm9wZXJ0aWVzLlxuICBfLmRlZmF1bHRzID0gY3JlYXRlQXNzaWduZXIoXy5hbGxLZXlzLCB0cnVlKTtcblxuICAvLyBDcmVhdGVzIGFuIG9iamVjdCB0aGF0IGluaGVyaXRzIGZyb20gdGhlIGdpdmVuIHByb3RvdHlwZSBvYmplY3QuXG4gIC8vIElmIGFkZGl0aW9uYWwgcHJvcGVydGllcyBhcmUgcHJvdmlkZWQgdGhlbiB0aGV5IHdpbGwgYmUgYWRkZWQgdG8gdGhlXG4gIC8vIGNyZWF0ZWQgb2JqZWN0LlxuICBfLmNyZWF0ZSA9IGZ1bmN0aW9uKHByb3RvdHlwZSwgcHJvcHMpIHtcbiAgICB2YXIgcmVzdWx0ID0gYmFzZUNyZWF0ZShwcm90b3R5cGUpO1xuICAgIGlmIChwcm9wcykgXy5leHRlbmRPd24ocmVzdWx0LCBwcm9wcyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICAvLyBDcmVhdGUgYSAoc2hhbGxvdy1jbG9uZWQpIGR1cGxpY2F0ZSBvZiBhbiBvYmplY3QuXG4gIF8uY2xvbmUgPSBmdW5jdGlvbihvYmopIHtcbiAgICBpZiAoIV8uaXNPYmplY3Qob2JqKSkgcmV0dXJuIG9iajtcbiAgICByZXR1cm4gXy5pc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IF8uZXh0ZW5kKHt9LCBvYmopO1xuICB9O1xuXG4gIC8vIEludm9rZXMgaW50ZXJjZXB0b3Igd2l0aCB0aGUgb2JqLCBhbmQgdGhlbiByZXR1cm5zIG9iai5cbiAgLy8gVGhlIHByaW1hcnkgcHVycG9zZSBvZiB0aGlzIG1ldGhvZCBpcyB0byBcInRhcCBpbnRvXCIgYSBtZXRob2QgY2hhaW4sIGluXG4gIC8vIG9yZGVyIHRvIHBlcmZvcm0gb3BlcmF0aW9ucyBvbiBpbnRlcm1lZGlhdGUgcmVzdWx0cyB3aXRoaW4gdGhlIGNoYWluLlxuICBfLnRhcCA9IGZ1bmN0aW9uKG9iaiwgaW50ZXJjZXB0b3IpIHtcbiAgICBpbnRlcmNlcHRvcihvYmopO1xuICAgIHJldHVybiBvYmo7XG4gIH07XG5cbiAgLy8gUmV0dXJucyB3aGV0aGVyIGFuIG9iamVjdCBoYXMgYSBnaXZlbiBzZXQgb2YgYGtleTp2YWx1ZWAgcGFpcnMuXG4gIF8uaXNNYXRjaCA9IGZ1bmN0aW9uKG9iamVjdCwgYXR0cnMpIHtcbiAgICB2YXIga2V5cyA9IF8ua2V5cyhhdHRycyksIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xuICAgIGlmIChvYmplY3QgPT0gbnVsbCkgcmV0dXJuICFsZW5ndGg7XG4gICAgdmFyIG9iaiA9IE9iamVjdChvYmplY3QpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgICAgaWYgKGF0dHJzW2tleV0gIT09IG9ialtrZXldIHx8ICEoa2V5IGluIG9iaikpIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cblxuICAvLyBJbnRlcm5hbCByZWN1cnNpdmUgY29tcGFyaXNvbiBmdW5jdGlvbiBmb3IgYGlzRXF1YWxgLlxuICB2YXIgZXEsIGRlZXBFcTtcbiAgZXEgPSBmdW5jdGlvbihhLCBiLCBhU3RhY2ssIGJTdGFjaykge1xuICAgIC8vIElkZW50aWNhbCBvYmplY3RzIGFyZSBlcXVhbC4gYDAgPT09IC0wYCwgYnV0IHRoZXkgYXJlbid0IGlkZW50aWNhbC5cbiAgICAvLyBTZWUgdGhlIFtIYXJtb255IGBlZ2FsYCBwcm9wb3NhbF0oaHR0cDovL3dpa2kuZWNtYXNjcmlwdC5vcmcvZG9rdS5waHA/aWQ9aGFybW9ueTplZ2FsKS5cbiAgICBpZiAoYSA9PT0gYikgcmV0dXJuIGEgIT09IDAgfHwgMSAvIGEgPT09IDEgLyBiO1xuICAgIC8vIGBudWxsYCBvciBgdW5kZWZpbmVkYCBvbmx5IGVxdWFsIHRvIGl0c2VsZiAoc3RyaWN0IGNvbXBhcmlzb24pLlxuICAgIGlmIChhID09IG51bGwgfHwgYiA9PSBudWxsKSByZXR1cm4gZmFsc2U7XG4gICAgLy8gYE5hTmBzIGFyZSBlcXVpdmFsZW50LCBidXQgbm9uLXJlZmxleGl2ZS5cbiAgICBpZiAoYSAhPT0gYSkgcmV0dXJuIGIgIT09IGI7XG4gICAgLy8gRXhoYXVzdCBwcmltaXRpdmUgY2hlY2tzXG4gICAgdmFyIHR5cGUgPSB0eXBlb2YgYTtcbiAgICBpZiAodHlwZSAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlICE9PSAnb2JqZWN0JyAmJiB0eXBlb2YgYiAhPSAnb2JqZWN0JykgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiBkZWVwRXEoYSwgYiwgYVN0YWNrLCBiU3RhY2spO1xuICB9O1xuXG4gIC8vIEludGVybmFsIHJlY3Vyc2l2ZSBjb21wYXJpc29uIGZ1bmN0aW9uIGZvciBgaXNFcXVhbGAuXG4gIGRlZXBFcSA9IGZ1bmN0aW9uKGEsIGIsIGFTdGFjaywgYlN0YWNrKSB7XG4gICAgLy8gVW53cmFwIGFueSB3cmFwcGVkIG9iamVjdHMuXG4gICAgaWYgKGEgaW5zdGFuY2VvZiBfKSBhID0gYS5fd3JhcHBlZDtcbiAgICBpZiAoYiBpbnN0YW5jZW9mIF8pIGIgPSBiLl93cmFwcGVkO1xuICAgIC8vIENvbXBhcmUgYFtbQ2xhc3NdXWAgbmFtZXMuXG4gICAgdmFyIGNsYXNzTmFtZSA9IHRvU3RyaW5nLmNhbGwoYSk7XG4gICAgaWYgKGNsYXNzTmFtZSAhPT0gdG9TdHJpbmcuY2FsbChiKSkgcmV0dXJuIGZhbHNlO1xuICAgIHN3aXRjaCAoY2xhc3NOYW1lKSB7XG4gICAgICAvLyBTdHJpbmdzLCBudW1iZXJzLCByZWd1bGFyIGV4cHJlc3Npb25zLCBkYXRlcywgYW5kIGJvb2xlYW5zIGFyZSBjb21wYXJlZCBieSB2YWx1ZS5cbiAgICAgIGNhc2UgJ1tvYmplY3QgUmVnRXhwXSc6XG4gICAgICAvLyBSZWdFeHBzIGFyZSBjb2VyY2VkIHRvIHN0cmluZ3MgZm9yIGNvbXBhcmlzb24gKE5vdGU6ICcnICsgL2EvaSA9PT0gJy9hL2knKVxuICAgICAgY2FzZSAnW29iamVjdCBTdHJpbmddJzpcbiAgICAgICAgLy8gUHJpbWl0aXZlcyBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBvYmplY3Qgd3JhcHBlcnMgYXJlIGVxdWl2YWxlbnQ7IHRodXMsIGBcIjVcImAgaXNcbiAgICAgICAgLy8gZXF1aXZhbGVudCB0byBgbmV3IFN0cmluZyhcIjVcIilgLlxuICAgICAgICByZXR1cm4gJycgKyBhID09PSAnJyArIGI7XG4gICAgICBjYXNlICdbb2JqZWN0IE51bWJlcl0nOlxuICAgICAgICAvLyBgTmFOYHMgYXJlIGVxdWl2YWxlbnQsIGJ1dCBub24tcmVmbGV4aXZlLlxuICAgICAgICAvLyBPYmplY3QoTmFOKSBpcyBlcXVpdmFsZW50IHRvIE5hTi5cbiAgICAgICAgaWYgKCthICE9PSArYSkgcmV0dXJuICtiICE9PSArYjtcbiAgICAgICAgLy8gQW4gYGVnYWxgIGNvbXBhcmlzb24gaXMgcGVyZm9ybWVkIGZvciBvdGhlciBudW1lcmljIHZhbHVlcy5cbiAgICAgICAgcmV0dXJuICthID09PSAwID8gMSAvICthID09PSAxIC8gYiA6ICthID09PSArYjtcbiAgICAgIGNhc2UgJ1tvYmplY3QgRGF0ZV0nOlxuICAgICAgY2FzZSAnW29iamVjdCBCb29sZWFuXSc6XG4gICAgICAgIC8vIENvZXJjZSBkYXRlcyBhbmQgYm9vbGVhbnMgdG8gbnVtZXJpYyBwcmltaXRpdmUgdmFsdWVzLiBEYXRlcyBhcmUgY29tcGFyZWQgYnkgdGhlaXJcbiAgICAgICAgLy8gbWlsbGlzZWNvbmQgcmVwcmVzZW50YXRpb25zLiBOb3RlIHRoYXQgaW52YWxpZCBkYXRlcyB3aXRoIG1pbGxpc2Vjb25kIHJlcHJlc2VudGF0aW9uc1xuICAgICAgICAvLyBvZiBgTmFOYCBhcmUgbm90IGVxdWl2YWxlbnQuXG4gICAgICAgIHJldHVybiArYSA9PT0gK2I7XG4gICAgICBjYXNlICdbb2JqZWN0IFN5bWJvbF0nOlxuICAgICAgICByZXR1cm4gU3ltYm9sUHJvdG8udmFsdWVPZi5jYWxsKGEpID09PSBTeW1ib2xQcm90by52YWx1ZU9mLmNhbGwoYik7XG4gICAgfVxuXG4gICAgdmFyIGFyZUFycmF5cyA9IGNsYXNzTmFtZSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbiAgICBpZiAoIWFyZUFycmF5cykge1xuICAgICAgaWYgKHR5cGVvZiBhICE9ICdvYmplY3QnIHx8IHR5cGVvZiBiICE9ICdvYmplY3QnKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIC8vIE9iamVjdHMgd2l0aCBkaWZmZXJlbnQgY29uc3RydWN0b3JzIGFyZSBub3QgZXF1aXZhbGVudCwgYnV0IGBPYmplY3RgcyBvciBgQXJyYXlgc1xuICAgICAgLy8gZnJvbSBkaWZmZXJlbnQgZnJhbWVzIGFyZS5cbiAgICAgIHZhciBhQ3RvciA9IGEuY29uc3RydWN0b3IsIGJDdG9yID0gYi5jb25zdHJ1Y3RvcjtcbiAgICAgIGlmIChhQ3RvciAhPT0gYkN0b3IgJiYgIShfLmlzRnVuY3Rpb24oYUN0b3IpICYmIGFDdG9yIGluc3RhbmNlb2YgYUN0b3IgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfLmlzRnVuY3Rpb24oYkN0b3IpICYmIGJDdG9yIGluc3RhbmNlb2YgYkN0b3IpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICYmICgnY29uc3RydWN0b3InIGluIGEgJiYgJ2NvbnN0cnVjdG9yJyBpbiBiKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEFzc3VtZSBlcXVhbGl0eSBmb3IgY3ljbGljIHN0cnVjdHVyZXMuIFRoZSBhbGdvcml0aG0gZm9yIGRldGVjdGluZyBjeWNsaWNcbiAgICAvLyBzdHJ1Y3R1cmVzIGlzIGFkYXB0ZWQgZnJvbSBFUyA1LjEgc2VjdGlvbiAxNS4xMi4zLCBhYnN0cmFjdCBvcGVyYXRpb24gYEpPYC5cblxuICAgIC8vIEluaXRpYWxpemluZyBzdGFjayBvZiB0cmF2ZXJzZWQgb2JqZWN0cy5cbiAgICAvLyBJdCdzIGRvbmUgaGVyZSBzaW5jZSB3ZSBvbmx5IG5lZWQgdGhlbSBmb3Igb2JqZWN0cyBhbmQgYXJyYXlzIGNvbXBhcmlzb24uXG4gICAgYVN0YWNrID0gYVN0YWNrIHx8IFtdO1xuICAgIGJTdGFjayA9IGJTdGFjayB8fCBbXTtcbiAgICB2YXIgbGVuZ3RoID0gYVN0YWNrLmxlbmd0aDtcbiAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgIC8vIExpbmVhciBzZWFyY2guIFBlcmZvcm1hbmNlIGlzIGludmVyc2VseSBwcm9wb3J0aW9uYWwgdG8gdGhlIG51bWJlciBvZlxuICAgICAgLy8gdW5pcXVlIG5lc3RlZCBzdHJ1Y3R1cmVzLlxuICAgICAgaWYgKGFTdGFja1tsZW5ndGhdID09PSBhKSByZXR1cm4gYlN0YWNrW2xlbmd0aF0gPT09IGI7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBmaXJzdCBvYmplY3QgdG8gdGhlIHN0YWNrIG9mIHRyYXZlcnNlZCBvYmplY3RzLlxuICAgIGFTdGFjay5wdXNoKGEpO1xuICAgIGJTdGFjay5wdXNoKGIpO1xuXG4gICAgLy8gUmVjdXJzaXZlbHkgY29tcGFyZSBvYmplY3RzIGFuZCBhcnJheXMuXG4gICAgaWYgKGFyZUFycmF5cykge1xuICAgICAgLy8gQ29tcGFyZSBhcnJheSBsZW5ndGhzIHRvIGRldGVybWluZSBpZiBhIGRlZXAgY29tcGFyaXNvbiBpcyBuZWNlc3NhcnkuXG4gICAgICBsZW5ndGggPSBhLmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGggIT09IGIubGVuZ3RoKSByZXR1cm4gZmFsc2U7XG4gICAgICAvLyBEZWVwIGNvbXBhcmUgdGhlIGNvbnRlbnRzLCBpZ25vcmluZyBub24tbnVtZXJpYyBwcm9wZXJ0aWVzLlxuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIGlmICghZXEoYVtsZW5ndGhdLCBiW2xlbmd0aF0sIGFTdGFjaywgYlN0YWNrKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBEZWVwIGNvbXBhcmUgb2JqZWN0cy5cbiAgICAgIHZhciBrZXlzID0gXy5rZXlzKGEpLCBrZXk7XG4gICAgICBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgICAgIC8vIEVuc3VyZSB0aGF0IGJvdGggb2JqZWN0cyBjb250YWluIHRoZSBzYW1lIG51bWJlciBvZiBwcm9wZXJ0aWVzIGJlZm9yZSBjb21wYXJpbmcgZGVlcCBlcXVhbGl0eS5cbiAgICAgIGlmIChfLmtleXMoYikubGVuZ3RoICE9PSBsZW5ndGgpIHJldHVybiBmYWxzZTtcbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICAvLyBEZWVwIGNvbXBhcmUgZWFjaCBtZW1iZXJcbiAgICAgICAga2V5ID0ga2V5c1tsZW5ndGhdO1xuICAgICAgICBpZiAoIShfLmhhcyhiLCBrZXkpICYmIGVxKGFba2V5XSwgYltrZXldLCBhU3RhY2ssIGJTdGFjaykpKSByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFJlbW92ZSB0aGUgZmlyc3Qgb2JqZWN0IGZyb20gdGhlIHN0YWNrIG9mIHRyYXZlcnNlZCBvYmplY3RzLlxuICAgIGFTdGFjay5wb3AoKTtcbiAgICBiU3RhY2sucG9wKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgLy8gUGVyZm9ybSBhIGRlZXAgY29tcGFyaXNvbiB0byBjaGVjayBpZiB0d28gb2JqZWN0cyBhcmUgZXF1YWwuXG4gIF8uaXNFcXVhbCA9IGZ1bmN0aW9uKGEsIGIpIHtcbiAgICByZXR1cm4gZXEoYSwgYik7XG4gIH07XG5cbiAgLy8gSXMgYSBnaXZlbiBhcnJheSwgc3RyaW5nLCBvciBvYmplY3QgZW1wdHk/XG4gIC8vIEFuIFwiZW1wdHlcIiBvYmplY3QgaGFzIG5vIGVudW1lcmFibGUgb3duLXByb3BlcnRpZXMuXG4gIF8uaXNFbXB0eSA9IGZ1bmN0aW9uKG9iaikge1xuICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIHRydWU7XG4gICAgaWYgKGlzQXJyYXlMaWtlKG9iaikgJiYgKF8uaXNBcnJheShvYmopIHx8IF8uaXNTdHJpbmcob2JqKSB8fCBfLmlzQXJndW1lbnRzKG9iaikpKSByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMDtcbiAgICByZXR1cm4gXy5rZXlzKG9iaikubGVuZ3RoID09PSAwO1xuICB9O1xuXG4gIC8vIElzIGEgZ2l2ZW4gdmFsdWUgYSBET00gZWxlbWVudD9cbiAgXy5pc0VsZW1lbnQgPSBmdW5jdGlvbihvYmopIHtcbiAgICByZXR1cm4gISEob2JqICYmIG9iai5ub2RlVHlwZSA9PT0gMSk7XG4gIH07XG5cbiAgLy8gSXMgYSBnaXZlbiB2YWx1ZSBhbiBhcnJheT9cbiAgLy8gRGVsZWdhdGVzIHRvIEVDTUE1J3MgbmF0aXZlIEFycmF5LmlzQXJyYXlcbiAgXy5pc0FycmF5ID0gbmF0aXZlSXNBcnJheSB8fCBmdW5jdGlvbihvYmopIHtcbiAgICByZXR1cm4gdG9TdHJpbmcuY2FsbChvYmopID09PSAnW29iamVjdCBBcnJheV0nO1xuICB9O1xuXG4gIC8vIElzIGEgZ2l2ZW4gdmFyaWFibGUgYW4gb2JqZWN0P1xuICBfLmlzT2JqZWN0ID0gZnVuY3Rpb24ob2JqKSB7XG4gICAgdmFyIHR5cGUgPSB0eXBlb2Ygb2JqO1xuICAgIHJldHVybiB0eXBlID09PSAnZnVuY3Rpb24nIHx8IHR5cGUgPT09ICdvYmplY3QnICYmICEhb2JqO1xuICB9O1xuXG4gIC8vIEFkZCBzb21lIGlzVHlwZSBtZXRob2RzOiBpc0FyZ3VtZW50cywgaXNGdW5jdGlvbiwgaXNTdHJpbmcsIGlzTnVtYmVyLCBpc0RhdGUsIGlzUmVnRXhwLCBpc0Vycm9yLCBpc01hcCwgaXNXZWFrTWFwLCBpc1NldCwgaXNXZWFrU2V0LlxuICBfLmVhY2goWydBcmd1bWVudHMnLCAnRnVuY3Rpb24nLCAnU3RyaW5nJywgJ051bWJlcicsICdEYXRlJywgJ1JlZ0V4cCcsICdFcnJvcicsICdTeW1ib2wnLCAnTWFwJywgJ1dlYWtNYXAnLCAnU2V0JywgJ1dlYWtTZXQnXSwgZnVuY3Rpb24obmFtZSkge1xuICAgIF9bJ2lzJyArIG5hbWVdID0gZnVuY3Rpb24ob2JqKSB7XG4gICAgICByZXR1cm4gdG9TdHJpbmcuY2FsbChvYmopID09PSAnW29iamVjdCAnICsgbmFtZSArICddJztcbiAgICB9O1xuICB9KTtcblxuICAvLyBEZWZpbmUgYSBmYWxsYmFjayB2ZXJzaW9uIG9mIHRoZSBtZXRob2QgaW4gYnJvd3NlcnMgKGFoZW0sIElFIDwgOSksIHdoZXJlXG4gIC8vIHRoZXJlIGlzbid0IGFueSBpbnNwZWN0YWJsZSBcIkFyZ3VtZW50c1wiIHR5cGUuXG4gIGlmICghXy5pc0FyZ3VtZW50cyhhcmd1bWVudHMpKSB7XG4gICAgXy5pc0FyZ3VtZW50cyA9IGZ1bmN0aW9uKG9iaikge1xuICAgICAgcmV0dXJuIF8uaGFzKG9iaiwgJ2NhbGxlZScpO1xuICAgIH07XG4gIH1cblxuICAvLyBPcHRpbWl6ZSBgaXNGdW5jdGlvbmAgaWYgYXBwcm9wcmlhdGUuIFdvcmsgYXJvdW5kIHNvbWUgdHlwZW9mIGJ1Z3MgaW4gb2xkIHY4LFxuICAvLyBJRSAxMSAoIzE2MjEpLCBTYWZhcmkgOCAoIzE5MjkpLCBhbmQgUGhhbnRvbUpTICgjMjIzNikuXG4gIHZhciBub2RlbGlzdCA9IHJvb3QuZG9jdW1lbnQgJiYgcm9vdC5kb2N1bWVudC5jaGlsZE5vZGVzO1xuICBpZiAodHlwZW9mIC8uLyAhPSAnZnVuY3Rpb24nICYmIHR5cGVvZiBJbnQ4QXJyYXkgIT0gJ29iamVjdCcgJiYgdHlwZW9mIG5vZGVsaXN0ICE9ICdmdW5jdGlvbicpIHtcbiAgICBfLmlzRnVuY3Rpb24gPSBmdW5jdGlvbihvYmopIHtcbiAgICAgIHJldHVybiB0eXBlb2Ygb2JqID09ICdmdW5jdGlvbicgfHwgZmFsc2U7XG4gICAgfTtcbiAgfVxuXG4gIC8vIElzIGEgZ2l2ZW4gb2JqZWN0IGEgZmluaXRlIG51bWJlcj9cbiAgXy5pc0Zpbml0ZSA9IGZ1bmN0aW9uKG9iaikge1xuICAgIHJldHVybiAhXy5pc1N5bWJvbChvYmopICYmIGlzRmluaXRlKG9iaikgJiYgIWlzTmFOKHBhcnNlRmxvYXQob2JqKSk7XG4gIH07XG5cbiAgLy8gSXMgdGhlIGdpdmVuIHZhbHVlIGBOYU5gP1xuICBfLmlzTmFOID0gZnVuY3Rpb24ob2JqKSB7XG4gICAgcmV0dXJuIF8uaXNOdW1iZXIob2JqKSAmJiBpc05hTihvYmopO1xuICB9O1xuXG4gIC8vIElzIGEgZ2l2ZW4gdmFsdWUgYSBib29sZWFuP1xuICBfLmlzQm9vbGVhbiA9IGZ1bmN0aW9uKG9iaikge1xuICAgIHJldHVybiBvYmogPT09IHRydWUgfHwgb2JqID09PSBmYWxzZSB8fCB0b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IEJvb2xlYW5dJztcbiAgfTtcblxuICAvLyBJcyBhIGdpdmVuIHZhbHVlIGVxdWFsIHRvIG51bGw/XG4gIF8uaXNOdWxsID0gZnVuY3Rpb24ob2JqKSB7XG4gICAgcmV0dXJuIG9iaiA9PT0gbnVsbDtcbiAgfTtcblxuICAvLyBJcyBhIGdpdmVuIHZhcmlhYmxlIHVuZGVmaW5lZD9cbiAgXy5pc1VuZGVmaW5lZCA9IGZ1bmN0aW9uKG9iaikge1xuICAgIHJldHVybiBvYmogPT09IHZvaWQgMDtcbiAgfTtcblxuICAvLyBTaG9ydGN1dCBmdW5jdGlvbiBmb3IgY2hlY2tpbmcgaWYgYW4gb2JqZWN0IGhhcyBhIGdpdmVuIHByb3BlcnR5IGRpcmVjdGx5XG4gIC8vIG9uIGl0c2VsZiAoaW4gb3RoZXIgd29yZHMsIG5vdCBvbiBhIHByb3RvdHlwZSkuXG4gIF8uaGFzID0gZnVuY3Rpb24ob2JqLCBwYXRoKSB7XG4gICAgaWYgKCFfLmlzQXJyYXkocGF0aCkpIHtcbiAgICAgIHJldHVybiBvYmogIT0gbnVsbCAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcGF0aCk7XG4gICAgfVxuICAgIHZhciBsZW5ndGggPSBwYXRoLmxlbmd0aDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIga2V5ID0gcGF0aFtpXTtcbiAgICAgIGlmIChvYmogPT0gbnVsbCB8fCAhaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgb2JqID0gb2JqW2tleV07XG4gICAgfVxuICAgIHJldHVybiAhIWxlbmd0aDtcbiAgfTtcblxuICAvLyBVdGlsaXR5IEZ1bmN0aW9uc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8vIFJ1biBVbmRlcnNjb3JlLmpzIGluICpub0NvbmZsaWN0KiBtb2RlLCByZXR1cm5pbmcgdGhlIGBfYCB2YXJpYWJsZSB0byBpdHNcbiAgLy8gcHJldmlvdXMgb3duZXIuIFJldHVybnMgYSByZWZlcmVuY2UgdG8gdGhlIFVuZGVyc2NvcmUgb2JqZWN0LlxuICBfLm5vQ29uZmxpY3QgPSBmdW5jdGlvbigpIHtcbiAgICByb290Ll8gPSBwcmV2aW91c1VuZGVyc2NvcmU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgLy8gS2VlcCB0aGUgaWRlbnRpdHkgZnVuY3Rpb24gYXJvdW5kIGZvciBkZWZhdWx0IGl0ZXJhdGVlcy5cbiAgXy5pZGVudGl0eSA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9O1xuXG4gIC8vIFByZWRpY2F0ZS1nZW5lcmF0aW5nIGZ1bmN0aW9ucy4gT2Z0ZW4gdXNlZnVsIG91dHNpZGUgb2YgVW5kZXJzY29yZS5cbiAgXy5jb25zdGFudCA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH07XG4gIH07XG5cbiAgXy5ub29wID0gZnVuY3Rpb24oKXt9O1xuXG4gIC8vIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0LCB3aGVuIHBhc3NlZCBhbiBvYmplY3QsIHdpbGwgdHJhdmVyc2UgdGhhdCBvYmplY3TigJlzXG4gIC8vIHByb3BlcnRpZXMgZG93biB0aGUgZ2l2ZW4gYHBhdGhgLCBzcGVjaWZpZWQgYXMgYW4gYXJyYXkgb2Yga2V5cyBvciBpbmRleGVzLlxuICBfLnByb3BlcnR5ID0gZnVuY3Rpb24ocGF0aCkge1xuICAgIGlmICghXy5pc0FycmF5KHBhdGgpKSB7XG4gICAgICByZXR1cm4gc2hhbGxvd1Byb3BlcnR5KHBhdGgpO1xuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24ob2JqKSB7XG4gICAgICByZXR1cm4gZGVlcEdldChvYmosIHBhdGgpO1xuICAgIH07XG4gIH07XG5cbiAgLy8gR2VuZXJhdGVzIGEgZnVuY3Rpb24gZm9yIGEgZ2l2ZW4gb2JqZWN0IHRoYXQgcmV0dXJucyBhIGdpdmVuIHByb3BlcnR5LlxuICBfLnByb3BlcnR5T2YgPSBmdW5jdGlvbihvYmopIHtcbiAgICBpZiAob2JqID09IG51bGwpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbigpe307XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbihwYXRoKSB7XG4gICAgICByZXR1cm4gIV8uaXNBcnJheShwYXRoKSA/IG9ialtwYXRoXSA6IGRlZXBHZXQob2JqLCBwYXRoKTtcbiAgICB9O1xuICB9O1xuXG4gIC8vIFJldHVybnMgYSBwcmVkaWNhdGUgZm9yIGNoZWNraW5nIHdoZXRoZXIgYW4gb2JqZWN0IGhhcyBhIGdpdmVuIHNldCBvZlxuICAvLyBga2V5OnZhbHVlYCBwYWlycy5cbiAgXy5tYXRjaGVyID0gXy5tYXRjaGVzID0gZnVuY3Rpb24oYXR0cnMpIHtcbiAgICBhdHRycyA9IF8uZXh0ZW5kT3duKHt9LCBhdHRycyk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKG9iaikge1xuICAgICAgcmV0dXJuIF8uaXNNYXRjaChvYmosIGF0dHJzKTtcbiAgICB9O1xuICB9O1xuXG4gIC8vIFJ1biBhIGZ1bmN0aW9uICoqbioqIHRpbWVzLlxuICBfLnRpbWVzID0gZnVuY3Rpb24obiwgaXRlcmF0ZWUsIGNvbnRleHQpIHtcbiAgICB2YXIgYWNjdW0gPSBBcnJheShNYXRoLm1heCgwLCBuKSk7XG4gICAgaXRlcmF0ZWUgPSBvcHRpbWl6ZUNiKGl0ZXJhdGVlLCBjb250ZXh0LCAxKTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47IGkrKykgYWNjdW1baV0gPSBpdGVyYXRlZShpKTtcbiAgICByZXR1cm4gYWNjdW07XG4gIH07XG5cbiAgLy8gUmV0dXJuIGEgcmFuZG9tIGludGVnZXIgYmV0d2VlbiBtaW4gYW5kIG1heCAoaW5jbHVzaXZlKS5cbiAgXy5yYW5kb20gPSBmdW5jdGlvbihtaW4sIG1heCkge1xuICAgIGlmIChtYXggPT0gbnVsbCkge1xuICAgICAgbWF4ID0gbWluO1xuICAgICAgbWluID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIG1pbiArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSk7XG4gIH07XG5cbiAgLy8gQSAocG9zc2libHkgZmFzdGVyKSB3YXkgdG8gZ2V0IHRoZSBjdXJyZW50IHRpbWVzdGFtcCBhcyBhbiBpbnRlZ2VyLlxuICBfLm5vdyA9IERhdGUubm93IHx8IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgfTtcblxuICAvLyBMaXN0IG9mIEhUTUwgZW50aXRpZXMgZm9yIGVzY2FwaW5nLlxuICB2YXIgZXNjYXBlTWFwID0ge1xuICAgICcmJzogJyZhbXA7JyxcbiAgICAnPCc6ICcmbHQ7JyxcbiAgICAnPic6ICcmZ3Q7JyxcbiAgICAnXCInOiAnJnF1b3Q7JyxcbiAgICBcIidcIjogJyYjeDI3OycsXG4gICAgJ2AnOiAnJiN4NjA7J1xuICB9O1xuICB2YXIgdW5lc2NhcGVNYXAgPSBfLmludmVydChlc2NhcGVNYXApO1xuXG4gIC8vIEZ1bmN0aW9ucyBmb3IgZXNjYXBpbmcgYW5kIHVuZXNjYXBpbmcgc3RyaW5ncyB0by9mcm9tIEhUTUwgaW50ZXJwb2xhdGlvbi5cbiAgdmFyIGNyZWF0ZUVzY2FwZXIgPSBmdW5jdGlvbihtYXApIHtcbiAgICB2YXIgZXNjYXBlciA9IGZ1bmN0aW9uKG1hdGNoKSB7XG4gICAgICByZXR1cm4gbWFwW21hdGNoXTtcbiAgICB9O1xuICAgIC8vIFJlZ2V4ZXMgZm9yIGlkZW50aWZ5aW5nIGEga2V5IHRoYXQgbmVlZHMgdG8gYmUgZXNjYXBlZC5cbiAgICB2YXIgc291cmNlID0gJyg/OicgKyBfLmtleXMobWFwKS5qb2luKCd8JykgKyAnKSc7XG4gICAgdmFyIHRlc3RSZWdleHAgPSBSZWdFeHAoc291cmNlKTtcbiAgICB2YXIgcmVwbGFjZVJlZ2V4cCA9IFJlZ0V4cChzb3VyY2UsICdnJyk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHN0cmluZykge1xuICAgICAgc3RyaW5nID0gc3RyaW5nID09IG51bGwgPyAnJyA6ICcnICsgc3RyaW5nO1xuICAgICAgcmV0dXJuIHRlc3RSZWdleHAudGVzdChzdHJpbmcpID8gc3RyaW5nLnJlcGxhY2UocmVwbGFjZVJlZ2V4cCwgZXNjYXBlcikgOiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbiAgXy5lc2NhcGUgPSBjcmVhdGVFc2NhcGVyKGVzY2FwZU1hcCk7XG4gIF8udW5lc2NhcGUgPSBjcmVhdGVFc2NhcGVyKHVuZXNjYXBlTWFwKTtcblxuICAvLyBUcmF2ZXJzZXMgdGhlIGNoaWxkcmVuIG9mIGBvYmpgIGFsb25nIGBwYXRoYC4gSWYgYSBjaGlsZCBpcyBhIGZ1bmN0aW9uLCBpdFxuICAvLyBpcyBpbnZva2VkIHdpdGggaXRzIHBhcmVudCBhcyBjb250ZXh0LiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgZmluYWxcbiAgLy8gY2hpbGQsIG9yIGBmYWxsYmFja2AgaWYgYW55IGNoaWxkIGlzIHVuZGVmaW5lZC5cbiAgXy5yZXN1bHQgPSBmdW5jdGlvbihvYmosIHBhdGgsIGZhbGxiYWNrKSB7XG4gICAgaWYgKCFfLmlzQXJyYXkocGF0aCkpIHBhdGggPSBbcGF0aF07XG4gICAgdmFyIGxlbmd0aCA9IHBhdGgubGVuZ3RoO1xuICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICByZXR1cm4gXy5pc0Z1bmN0aW9uKGZhbGxiYWNrKSA/IGZhbGxiYWNrLmNhbGwob2JqKSA6IGZhbGxiYWNrO1xuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgcHJvcCA9IG9iaiA9PSBudWxsID8gdm9pZCAwIDogb2JqW3BhdGhbaV1dO1xuICAgICAgaWYgKHByb3AgPT09IHZvaWQgMCkge1xuICAgICAgICBwcm9wID0gZmFsbGJhY2s7XG4gICAgICAgIGkgPSBsZW5ndGg7IC8vIEVuc3VyZSB3ZSBkb24ndCBjb250aW51ZSBpdGVyYXRpbmcuXG4gICAgICB9XG4gICAgICBvYmogPSBfLmlzRnVuY3Rpb24ocHJvcCkgPyBwcm9wLmNhbGwob2JqKSA6IHByb3A7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH07XG5cbiAgLy8gR2VuZXJhdGUgYSB1bmlxdWUgaW50ZWdlciBpZCAodW5pcXVlIHdpdGhpbiB0aGUgZW50aXJlIGNsaWVudCBzZXNzaW9uKS5cbiAgLy8gVXNlZnVsIGZvciB0ZW1wb3JhcnkgRE9NIGlkcy5cbiAgdmFyIGlkQ291bnRlciA9IDA7XG4gIF8udW5pcXVlSWQgPSBmdW5jdGlvbihwcmVmaXgpIHtcbiAgICB2YXIgaWQgPSArK2lkQ291bnRlciArICcnO1xuICAgIHJldHVybiBwcmVmaXggPyBwcmVmaXggKyBpZCA6IGlkO1xuICB9O1xuXG4gIC8vIEJ5IGRlZmF1bHQsIFVuZGVyc2NvcmUgdXNlcyBFUkItc3R5bGUgdGVtcGxhdGUgZGVsaW1pdGVycywgY2hhbmdlIHRoZVxuICAvLyBmb2xsb3dpbmcgdGVtcGxhdGUgc2V0dGluZ3MgdG8gdXNlIGFsdGVybmF0aXZlIGRlbGltaXRlcnMuXG4gIF8udGVtcGxhdGVTZXR0aW5ncyA9IHtcbiAgICBldmFsdWF0ZTogLzwlKFtcXHNcXFNdKz8pJT4vZyxcbiAgICBpbnRlcnBvbGF0ZTogLzwlPShbXFxzXFxTXSs/KSU+L2csXG4gICAgZXNjYXBlOiAvPCUtKFtcXHNcXFNdKz8pJT4vZ1xuICB9O1xuXG4gIC8vIFdoZW4gY3VzdG9taXppbmcgYHRlbXBsYXRlU2V0dGluZ3NgLCBpZiB5b3UgZG9uJ3Qgd2FudCB0byBkZWZpbmUgYW5cbiAgLy8gaW50ZXJwb2xhdGlvbiwgZXZhbHVhdGlvbiBvciBlc2NhcGluZyByZWdleCwgd2UgbmVlZCBvbmUgdGhhdCBpc1xuICAvLyBndWFyYW50ZWVkIG5vdCB0byBtYXRjaC5cbiAgdmFyIG5vTWF0Y2ggPSAvKC4pXi87XG5cbiAgLy8gQ2VydGFpbiBjaGFyYWN0ZXJzIG5lZWQgdG8gYmUgZXNjYXBlZCBzbyB0aGF0IHRoZXkgY2FuIGJlIHB1dCBpbnRvIGFcbiAgLy8gc3RyaW5nIGxpdGVyYWwuXG4gIHZhciBlc2NhcGVzID0ge1xuICAgIFwiJ1wiOiBcIidcIixcbiAgICAnXFxcXCc6ICdcXFxcJyxcbiAgICAnXFxyJzogJ3InLFxuICAgICdcXG4nOiAnbicsXG4gICAgJ1xcdTIwMjgnOiAndTIwMjgnLFxuICAgICdcXHUyMDI5JzogJ3UyMDI5J1xuICB9O1xuXG4gIHZhciBlc2NhcGVSZWdFeHAgPSAvXFxcXHwnfFxccnxcXG58XFx1MjAyOHxcXHUyMDI5L2c7XG5cbiAgdmFyIGVzY2FwZUNoYXIgPSBmdW5jdGlvbihtYXRjaCkge1xuICAgIHJldHVybiAnXFxcXCcgKyBlc2NhcGVzW21hdGNoXTtcbiAgfTtcblxuICAvLyBKYXZhU2NyaXB0IG1pY3JvLXRlbXBsYXRpbmcsIHNpbWlsYXIgdG8gSm9obiBSZXNpZydzIGltcGxlbWVudGF0aW9uLlxuICAvLyBVbmRlcnNjb3JlIHRlbXBsYXRpbmcgaGFuZGxlcyBhcmJpdHJhcnkgZGVsaW1pdGVycywgcHJlc2VydmVzIHdoaXRlc3BhY2UsXG4gIC8vIGFuZCBjb3JyZWN0bHkgZXNjYXBlcyBxdW90ZXMgd2l0aGluIGludGVycG9sYXRlZCBjb2RlLlxuICAvLyBOQjogYG9sZFNldHRpbmdzYCBvbmx5IGV4aXN0cyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIF8udGVtcGxhdGUgPSBmdW5jdGlvbih0ZXh0LCBzZXR0aW5ncywgb2xkU2V0dGluZ3MpIHtcbiAgICBpZiAoIXNldHRpbmdzICYmIG9sZFNldHRpbmdzKSBzZXR0aW5ncyA9IG9sZFNldHRpbmdzO1xuICAgIHNldHRpbmdzID0gXy5kZWZhdWx0cyh7fSwgc2V0dGluZ3MsIF8udGVtcGxhdGVTZXR0aW5ncyk7XG5cbiAgICAvLyBDb21iaW5lIGRlbGltaXRlcnMgaW50byBvbmUgcmVndWxhciBleHByZXNzaW9uIHZpYSBhbHRlcm5hdGlvbi5cbiAgICB2YXIgbWF0Y2hlciA9IFJlZ0V4cChbXG4gICAgICAoc2V0dGluZ3MuZXNjYXBlIHx8IG5vTWF0Y2gpLnNvdXJjZSxcbiAgICAgIChzZXR0aW5ncy5pbnRlcnBvbGF0ZSB8fCBub01hdGNoKS5zb3VyY2UsXG4gICAgICAoc2V0dGluZ3MuZXZhbHVhdGUgfHwgbm9NYXRjaCkuc291cmNlXG4gICAgXS5qb2luKCd8JykgKyAnfCQnLCAnZycpO1xuXG4gICAgLy8gQ29tcGlsZSB0aGUgdGVtcGxhdGUgc291cmNlLCBlc2NhcGluZyBzdHJpbmcgbGl0ZXJhbHMgYXBwcm9wcmlhdGVseS5cbiAgICB2YXIgaW5kZXggPSAwO1xuICAgIHZhciBzb3VyY2UgPSBcIl9fcCs9J1wiO1xuICAgIHRleHQucmVwbGFjZShtYXRjaGVyLCBmdW5jdGlvbihtYXRjaCwgZXNjYXBlLCBpbnRlcnBvbGF0ZSwgZXZhbHVhdGUsIG9mZnNldCkge1xuICAgICAgc291cmNlICs9IHRleHQuc2xpY2UoaW5kZXgsIG9mZnNldCkucmVwbGFjZShlc2NhcGVSZWdFeHAsIGVzY2FwZUNoYXIpO1xuICAgICAgaW5kZXggPSBvZmZzZXQgKyBtYXRjaC5sZW5ndGg7XG5cbiAgICAgIGlmIChlc2NhcGUpIHtcbiAgICAgICAgc291cmNlICs9IFwiJytcXG4oKF9fdD0oXCIgKyBlc2NhcGUgKyBcIikpPT1udWxsPycnOl8uZXNjYXBlKF9fdCkpK1xcbidcIjtcbiAgICAgIH0gZWxzZSBpZiAoaW50ZXJwb2xhdGUpIHtcbiAgICAgICAgc291cmNlICs9IFwiJytcXG4oKF9fdD0oXCIgKyBpbnRlcnBvbGF0ZSArIFwiKSk9PW51bGw/Jyc6X190KStcXG4nXCI7XG4gICAgICB9IGVsc2UgaWYgKGV2YWx1YXRlKSB7XG4gICAgICAgIHNvdXJjZSArPSBcIic7XFxuXCIgKyBldmFsdWF0ZSArIFwiXFxuX19wKz0nXCI7XG4gICAgICB9XG5cbiAgICAgIC8vIEFkb2JlIFZNcyBuZWVkIHRoZSBtYXRjaCByZXR1cm5lZCB0byBwcm9kdWNlIHRoZSBjb3JyZWN0IG9mZnNldC5cbiAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9KTtcbiAgICBzb3VyY2UgKz0gXCInO1xcblwiO1xuXG4gICAgLy8gSWYgYSB2YXJpYWJsZSBpcyBub3Qgc3BlY2lmaWVkLCBwbGFjZSBkYXRhIHZhbHVlcyBpbiBsb2NhbCBzY29wZS5cbiAgICBpZiAoIXNldHRpbmdzLnZhcmlhYmxlKSBzb3VyY2UgPSAnd2l0aChvYmp8fHt9KXtcXG4nICsgc291cmNlICsgJ31cXG4nO1xuXG4gICAgc291cmNlID0gXCJ2YXIgX190LF9fcD0nJyxfX2o9QXJyYXkucHJvdG90eXBlLmpvaW4sXCIgK1xuICAgICAgXCJwcmludD1mdW5jdGlvbigpe19fcCs9X19qLmNhbGwoYXJndW1lbnRzLCcnKTt9O1xcblwiICtcbiAgICAgIHNvdXJjZSArICdyZXR1cm4gX19wO1xcbic7XG5cbiAgICB2YXIgcmVuZGVyO1xuICAgIHRyeSB7XG4gICAgICByZW5kZXIgPSBuZXcgRnVuY3Rpb24oc2V0dGluZ3MudmFyaWFibGUgfHwgJ29iaicsICdfJywgc291cmNlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBlLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuXG4gICAgdmFyIHRlbXBsYXRlID0gZnVuY3Rpb24oZGF0YSkge1xuICAgICAgcmV0dXJuIHJlbmRlci5jYWxsKHRoaXMsIGRhdGEsIF8pO1xuICAgIH07XG5cbiAgICAvLyBQcm92aWRlIHRoZSBjb21waWxlZCBzb3VyY2UgYXMgYSBjb252ZW5pZW5jZSBmb3IgcHJlY29tcGlsYXRpb24uXG4gICAgdmFyIGFyZ3VtZW50ID0gc2V0dGluZ3MudmFyaWFibGUgfHwgJ29iaic7XG4gICAgdGVtcGxhdGUuc291cmNlID0gJ2Z1bmN0aW9uKCcgKyBhcmd1bWVudCArICcpe1xcbicgKyBzb3VyY2UgKyAnfSc7XG5cbiAgICByZXR1cm4gdGVtcGxhdGU7XG4gIH07XG5cbiAgLy8gQWRkIGEgXCJjaGFpblwiIGZ1bmN0aW9uLiBTdGFydCBjaGFpbmluZyBhIHdyYXBwZWQgVW5kZXJzY29yZSBvYmplY3QuXG4gIF8uY2hhaW4gPSBmdW5jdGlvbihvYmopIHtcbiAgICB2YXIgaW5zdGFuY2UgPSBfKG9iaik7XG4gICAgaW5zdGFuY2UuX2NoYWluID0gdHJ1ZTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH07XG5cbiAgLy8gT09QXG4gIC8vIC0tLS0tLS0tLS0tLS0tLVxuICAvLyBJZiBVbmRlcnNjb3JlIGlzIGNhbGxlZCBhcyBhIGZ1bmN0aW9uLCBpdCByZXR1cm5zIGEgd3JhcHBlZCBvYmplY3QgdGhhdFxuICAvLyBjYW4gYmUgdXNlZCBPTy1zdHlsZS4gVGhpcyB3cmFwcGVyIGhvbGRzIGFsdGVyZWQgdmVyc2lvbnMgb2YgYWxsIHRoZVxuICAvLyB1bmRlcnNjb3JlIGZ1bmN0aW9ucy4gV3JhcHBlZCBvYmplY3RzIG1heSBiZSBjaGFpbmVkLlxuXG4gIC8vIEhlbHBlciBmdW5jdGlvbiB0byBjb250aW51ZSBjaGFpbmluZyBpbnRlcm1lZGlhdGUgcmVzdWx0cy5cbiAgdmFyIGNoYWluUmVzdWx0ID0gZnVuY3Rpb24oaW5zdGFuY2UsIG9iaikge1xuICAgIHJldHVybiBpbnN0YW5jZS5fY2hhaW4gPyBfKG9iaikuY2hhaW4oKSA6IG9iajtcbiAgfTtcblxuICAvLyBBZGQgeW91ciBvd24gY3VzdG9tIGZ1bmN0aW9ucyB0byB0aGUgVW5kZXJzY29yZSBvYmplY3QuXG4gIF8ubWl4aW4gPSBmdW5jdGlvbihvYmopIHtcbiAgICBfLmVhY2goXy5mdW5jdGlvbnMob2JqKSwgZnVuY3Rpb24obmFtZSkge1xuICAgICAgdmFyIGZ1bmMgPSBfW25hbWVdID0gb2JqW25hbWVdO1xuICAgICAgXy5wcm90b3R5cGVbbmFtZV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBbdGhpcy5fd3JhcHBlZF07XG4gICAgICAgIHB1c2guYXBwbHkoYXJncywgYXJndW1lbnRzKTtcbiAgICAgICAgcmV0dXJuIGNoYWluUmVzdWx0KHRoaXMsIGZ1bmMuYXBwbHkoXywgYXJncykpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gXztcbiAgfTtcblxuICAvLyBBZGQgYWxsIG9mIHRoZSBVbmRlcnNjb3JlIGZ1bmN0aW9ucyB0byB0aGUgd3JhcHBlciBvYmplY3QuXG4gIF8ubWl4aW4oXyk7XG5cbiAgLy8gQWRkIGFsbCBtdXRhdG9yIEFycmF5IGZ1bmN0aW9ucyB0byB0aGUgd3JhcHBlci5cbiAgXy5lYWNoKFsncG9wJywgJ3B1c2gnLCAncmV2ZXJzZScsICdzaGlmdCcsICdzb3J0JywgJ3NwbGljZScsICd1bnNoaWZ0J10sIGZ1bmN0aW9uKG5hbWUpIHtcbiAgICB2YXIgbWV0aG9kID0gQXJyYXlQcm90b1tuYW1lXTtcbiAgICBfLnByb3RvdHlwZVtuYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIG9iaiA9IHRoaXMuX3dyYXBwZWQ7XG4gICAgICBtZXRob2QuYXBwbHkob2JqLCBhcmd1bWVudHMpO1xuICAgICAgaWYgKChuYW1lID09PSAnc2hpZnQnIHx8IG5hbWUgPT09ICdzcGxpY2UnKSAmJiBvYmoubGVuZ3RoID09PSAwKSBkZWxldGUgb2JqWzBdO1xuICAgICAgcmV0dXJuIGNoYWluUmVzdWx0KHRoaXMsIG9iaik7XG4gICAgfTtcbiAgfSk7XG5cbiAgLy8gQWRkIGFsbCBhY2Nlc3NvciBBcnJheSBmdW5jdGlvbnMgdG8gdGhlIHdyYXBwZXIuXG4gIF8uZWFjaChbJ2NvbmNhdCcsICdqb2luJywgJ3NsaWNlJ10sIGZ1bmN0aW9uKG5hbWUpIHtcbiAgICB2YXIgbWV0aG9kID0gQXJyYXlQcm90b1tuYW1lXTtcbiAgICBfLnByb3RvdHlwZVtuYW1lXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIGNoYWluUmVzdWx0KHRoaXMsIG1ldGhvZC5hcHBseSh0aGlzLl93cmFwcGVkLCBhcmd1bWVudHMpKTtcbiAgICB9O1xuICB9KTtcblxuICAvLyBFeHRyYWN0cyB0aGUgcmVzdWx0IGZyb20gYSB3cmFwcGVkIGFuZCBjaGFpbmVkIG9iamVjdC5cbiAgXy5wcm90b3R5cGUudmFsdWUgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fd3JhcHBlZDtcbiAgfTtcblxuICAvLyBQcm92aWRlIHVud3JhcHBpbmcgcHJveHkgZm9yIHNvbWUgbWV0aG9kcyB1c2VkIGluIGVuZ2luZSBvcGVyYXRpb25zXG4gIC8vIHN1Y2ggYXMgYXJpdGhtZXRpYyBhbmQgSlNPTiBzdHJpbmdpZmljYXRpb24uXG4gIF8ucHJvdG90eXBlLnZhbHVlT2YgPSBfLnByb3RvdHlwZS50b0pTT04gPSBfLnByb3RvdHlwZS52YWx1ZTtcblxuICBfLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBTdHJpbmcodGhpcy5fd3JhcHBlZCk7XG4gIH07XG5cbiAgLy8gQU1EIHJlZ2lzdHJhdGlvbiBoYXBwZW5zIGF0IHRoZSBlbmQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBBTUQgbG9hZGVyc1xuICAvLyB0aGF0IG1heSBub3QgZW5mb3JjZSBuZXh0LXR1cm4gc2VtYW50aWNzIG9uIG1vZHVsZXMuIEV2ZW4gdGhvdWdoIGdlbmVyYWxcbiAgLy8gcHJhY3RpY2UgZm9yIEFNRCByZWdpc3RyYXRpb24gaXMgdG8gYmUgYW5vbnltb3VzLCB1bmRlcnNjb3JlIHJlZ2lzdGVyc1xuICAvLyBhcyBhIG5hbWVkIG1vZHVsZSBiZWNhdXNlLCBsaWtlIGpRdWVyeSwgaXQgaXMgYSBiYXNlIGxpYnJhcnkgdGhhdCBpc1xuICAvLyBwb3B1bGFyIGVub3VnaCB0byBiZSBidW5kbGVkIGluIGEgdGhpcmQgcGFydHkgbGliLCBidXQgbm90IGJlIHBhcnQgb2ZcbiAgLy8gYW4gQU1EIGxvYWQgcmVxdWVzdC4gVGhvc2UgY2FzZXMgY291bGQgZ2VuZXJhdGUgYW4gZXJyb3Igd2hlbiBhblxuICAvLyBhbm9ueW1vdXMgZGVmaW5lKCkgaXMgY2FsbGVkIG91dHNpZGUgb2YgYSBsb2FkZXIgcmVxdWVzdC5cbiAgaWYgKHR5cGVvZiBkZWZpbmUgPT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7XG4gICAgZGVmaW5lKCd1bmRlcnNjb3JlJywgW10sIGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIF87XG4gICAgfSk7XG4gIH1cbn0oKSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///2\n")},function(module,exports){eval("module.exports = __WEBPACK_EXTERNAL_MODULE__3__;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS9leHRlcm5hbCB7XCJyb290XCI6XCJSZWFjdFJlZHV4STE4blwiLFwiYW1kXCI6XCJyZWFjdC1yZWR1eC1pMThuXCIsXCJjb21tb25qc1wiOlwicmVhY3QtcmVkdXgtaTE4blwiLFwiY29tbW9uanMyXCI6XCJyZWFjdC1yZWR1eC1pMThuXCIsXCJ1bWRcIjpcInJlYWN0LXJlZHV4LWkxOG5cIn0/ZGYxYSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IF9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfXzNfXzsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n")},function(module,exports,__webpack_require__){eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n  Copyright (c) 2018 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif ( true && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {}\n}());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9jbGFzc25hbWVzL2luZGV4LmpzPzRkMjYiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gIENvcHlyaWdodCAoYykgMjAxOCBKZWQgV2F0c29uLlxuICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKE1JVCksIHNlZVxuICBodHRwOi8vamVkd2F0c29uLmdpdGh1Yi5pby9jbGFzc25hbWVzXG4qL1xuLyogZ2xvYmFsIGRlZmluZSAqL1xuXG4oZnVuY3Rpb24gKCkge1xuXHQndXNlIHN0cmljdCc7XG5cblx0dmFyIGhhc093biA9IHt9Lmhhc093blByb3BlcnR5O1xuXG5cdGZ1bmN0aW9uIGNsYXNzTmFtZXMoKSB7XG5cdFx0dmFyIGNsYXNzZXMgPSBbXTtcblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgYXJnID0gYXJndW1lbnRzW2ldO1xuXHRcdFx0aWYgKCFhcmcpIGNvbnRpbnVlO1xuXG5cdFx0XHR2YXIgYXJnVHlwZSA9IHR5cGVvZiBhcmc7XG5cblx0XHRcdGlmIChhcmdUeXBlID09PSAnc3RyaW5nJyB8fCBhcmdUeXBlID09PSAnbnVtYmVyJykge1xuXHRcdFx0XHRjbGFzc2VzLnB1c2goYXJnKTtcblx0XHRcdH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShhcmcpKSB7XG5cdFx0XHRcdGlmIChhcmcubGVuZ3RoKSB7XG5cdFx0XHRcdFx0dmFyIGlubmVyID0gY2xhc3NOYW1lcy5hcHBseShudWxsLCBhcmcpO1xuXHRcdFx0XHRcdGlmIChpbm5lcikge1xuXHRcdFx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGlubmVyKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSBpZiAoYXJnVHlwZSA9PT0gJ29iamVjdCcpIHtcblx0XHRcdFx0aWYgKGFyZy50b1N0cmluZyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykge1xuXHRcdFx0XHRcdGZvciAodmFyIGtleSBpbiBhcmcpIHtcblx0XHRcdFx0XHRcdGlmIChoYXNPd24uY2FsbChhcmcsIGtleSkgJiYgYXJnW2tleV0pIHtcblx0XHRcdFx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGtleSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNsYXNzZXMucHVzaChhcmcudG9TdHJpbmcoKSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG5cdH1cblxuXHRpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcblx0XHRjbGFzc05hbWVzLmRlZmF1bHQgPSBjbGFzc05hbWVzO1xuXHRcdG1vZHVsZS5leHBvcnRzID0gY2xhc3NOYW1lcztcblx0fSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkZWZpbmUuYW1kID09PSAnb2JqZWN0JyAmJiBkZWZpbmUuYW1kKSB7XG5cdFx0Ly8gcmVnaXN0ZXIgYXMgJ2NsYXNzbmFtZXMnLCBjb25zaXN0ZW50IHdpdGggbnBtIHBhY2thZ2UgbmFtZVxuXHRcdGRlZmluZSgnY2xhc3NuYW1lcycsIFtdLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZXR1cm4gY2xhc3NOYW1lcztcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHR3aW5kb3cuY2xhc3NOYW1lcyA9IGNsYXNzTmFtZXM7XG5cdH1cbn0oKSk7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0EsVUFFQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///4\n")},function(module,exports,__webpack_require__){eval("/**\n * Root reference for iframes.\n */\n\nvar root;\nif (typeof window !== 'undefined') { // Browser window\n  root = window;\n} else if (typeof self !== 'undefined') { // Web Worker\n  root = self;\n} else { // Other environments\n  console.warn(\"Using browser-only version of superagent in non-browser environment\");\n  root = this;\n}\n\nvar Emitter = __webpack_require__(24);\nvar RequestBase = __webpack_require__(25);\nvar isObject = __webpack_require__(11);\nvar ResponseBase = __webpack_require__(26);\nvar Agent = __webpack_require__(28);\n\n/**\n * Noop.\n */\n\nfunction noop(){};\n\n/**\n * Expose `request`.\n */\n\nvar request = exports = module.exports = function(method, url) {\n  // callback\n  if ('function' == typeof url) {\n    return new exports.Request('GET', method).end(url);\n  }\n\n  // url first\n  if (1 == arguments.length) {\n    return new exports.Request('GET', method);\n  }\n\n  return new exports.Request(method, url);\n}\n\nexports.Request = Request;\n\n/**\n * Determine XHR.\n */\n\nrequest.getXHR = function () {\n  if (root.XMLHttpRequest\n      && (!root.location || 'file:' != root.location.protocol\n          || !root.ActiveXObject)) {\n    return new XMLHttpRequest;\n  } else {\n    try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch(e) {}\n    try { return new ActiveXObject('Msxml2.XMLHTTP.6.0'); } catch(e) {}\n    try { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); } catch(e) {}\n    try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) {}\n  }\n  throw Error(\"Browser-only version of superagent could not find XHR\");\n};\n\n/**\n * Removes leading and trailing whitespace, added to support IE.\n *\n * @param {String} s\n * @return {String}\n * @api private\n */\n\nvar trim = ''.trim\n  ? function(s) { return s.trim(); }\n  : function(s) { return s.replace(/(^\\s*|\\s*$)/g, ''); };\n\n/**\n * Serialize the given `obj`.\n *\n * @param {Object} obj\n * @return {String}\n * @api private\n */\n\nfunction serialize(obj) {\n  if (!isObject(obj)) return obj;\n  var pairs = [];\n  for (var key in obj) {\n    pushEncodedKeyValuePair(pairs, key, obj[key]);\n  }\n  return pairs.join('&');\n}\n\n/**\n * Helps 'serialize' with serializing arrays.\n * Mutates the pairs array.\n *\n * @param {Array} pairs\n * @param {String} key\n * @param {Mixed} val\n */\n\nfunction pushEncodedKeyValuePair(pairs, key, val) {\n  if (val != null) {\n    if (Array.isArray(val)) {\n      val.forEach(function(v) {\n        pushEncodedKeyValuePair(pairs, key, v);\n      });\n    } else if (isObject(val)) {\n      for(var subkey in val) {\n        pushEncodedKeyValuePair(pairs, key + '[' + subkey + ']', val[subkey]);\n      }\n    } else {\n      pairs.push(encodeURIComponent(key)\n        + '=' + encodeURIComponent(val));\n    }\n  } else if (val === null) {\n    pairs.push(encodeURIComponent(key));\n  }\n}\n\n/**\n * Expose serialization method.\n */\n\nrequest.serializeObject = serialize;\n\n/**\n  * Parse the given x-www-form-urlencoded `str`.\n  *\n  * @param {String} str\n  * @return {Object}\n  * @api private\n  */\n\nfunction parseString(str) {\n  var obj = {};\n  var pairs = str.split('&');\n  var pair;\n  var pos;\n\n  for (var i = 0, len = pairs.length; i < len; ++i) {\n    pair = pairs[i];\n    pos = pair.indexOf('=');\n    if (pos == -1) {\n      obj[decodeURIComponent(pair)] = '';\n    } else {\n      obj[decodeURIComponent(pair.slice(0, pos))] =\n        decodeURIComponent(pair.slice(pos + 1));\n    }\n  }\n\n  return obj;\n}\n\n/**\n * Expose parser.\n */\n\nrequest.parseString = parseString;\n\n/**\n * Default MIME type map.\n *\n *     superagent.types.xml = 'application/xml';\n *\n */\n\nrequest.types = {\n  html: 'text/html',\n  json: 'application/json',\n  xml: 'text/xml',\n  urlencoded: 'application/x-www-form-urlencoded',\n  'form': 'application/x-www-form-urlencoded',\n  'form-data': 'application/x-www-form-urlencoded'\n};\n\n/**\n * Default serialization map.\n *\n *     superagent.serialize['application/xml'] = function(obj){\n *       return 'generated xml here';\n *     };\n *\n */\n\nrequest.serialize = {\n  'application/x-www-form-urlencoded': serialize,\n  'application/json': JSON.stringify\n};\n\n/**\n  * Default parsers.\n  *\n  *     superagent.parse['application/xml'] = function(str){\n  *       return { object parsed from str };\n  *     };\n  *\n  */\n\nrequest.parse = {\n  'application/x-www-form-urlencoded': parseString,\n  'application/json': JSON.parse\n};\n\n/**\n * Parse the given header `str` into\n * an object containing the mapped fields.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nfunction parseHeader(str) {\n  var lines = str.split(/\\r?\\n/);\n  var fields = {};\n  var index;\n  var line;\n  var field;\n  var val;\n\n  for (var i = 0, len = lines.length; i < len; ++i) {\n    line = lines[i];\n    index = line.indexOf(':');\n    if (index === -1) { // could be empty line, just skip it\n      continue;\n    }\n    field = line.slice(0, index).toLowerCase();\n    val = trim(line.slice(index + 1));\n    fields[field] = val;\n  }\n\n  return fields;\n}\n\n/**\n * Check if `mime` is json or has +json structured syntax suffix.\n *\n * @param {String} mime\n * @return {Boolean}\n * @api private\n */\n\nfunction isJSON(mime) {\n  // should match /json or +json\n  // but not /json-seq\n  return /[\\/+]json($|[^-\\w])/.test(mime);\n}\n\n/**\n * Initialize a new `Response` with the given `xhr`.\n *\n *  - set flags (.ok, .error, etc)\n *  - parse header\n *\n * Examples:\n *\n *  Aliasing `superagent` as `request` is nice:\n *\n *      request = superagent;\n *\n *  We can use the promise-like API, or pass callbacks:\n *\n *      request.get('/').end(function(res){});\n *      request.get('/', function(res){});\n *\n *  Sending data can be chained:\n *\n *      request\n *        .post('/user')\n *        .send({ name: 'tj' })\n *        .end(function(res){});\n *\n *  Or passed to `.send()`:\n *\n *      request\n *        .post('/user')\n *        .send({ name: 'tj' }, function(res){});\n *\n *  Or passed to `.post()`:\n *\n *      request\n *        .post('/user', { name: 'tj' })\n *        .end(function(res){});\n *\n * Or further reduced to a single call for simple cases:\n *\n *      request\n *        .post('/user', { name: 'tj' }, function(res){});\n *\n * @param {XMLHTTPRequest} xhr\n * @param {Object} options\n * @api private\n */\n\nfunction Response(req) {\n  this.req = req;\n  this.xhr = this.req.xhr;\n  // responseText is accessible only if responseType is '' or 'text' and on older browsers\n  this.text = ((this.req.method !='HEAD' && (this.xhr.responseType === '' || this.xhr.responseType === 'text')) || typeof this.xhr.responseType === 'undefined')\n     ? this.xhr.responseText\n     : null;\n  this.statusText = this.req.xhr.statusText;\n  var status = this.xhr.status;\n  // handle IE9 bug: http://stackoverflow.com/questions/10046972/msie-returns-status-code-of-1223-for-ajax-request\n  if (status === 1223) {\n    status = 204;\n  }\n  this._setStatusProperties(status);\n  this.header = this.headers = parseHeader(this.xhr.getAllResponseHeaders());\n  // getAllResponseHeaders sometimes falsely returns \"\" for CORS requests, but\n  // getResponseHeader still works. so we get content-type even if getting\n  // other headers fails.\n  this.header['content-type'] = this.xhr.getResponseHeader('content-type');\n  this._setHeaderProperties(this.header);\n\n  if (null === this.text && req._responseType) {\n    this.body = this.xhr.response;\n  } else {\n    this.body = this.req.method != 'HEAD'\n      ? this._parseBody(this.text ? this.text : this.xhr.response)\n      : null;\n  }\n}\n\nResponseBase(Response.prototype);\n\n/**\n * Parse the given body `str`.\n *\n * Used for auto-parsing of bodies. Parsers\n * are defined on the `superagent.parse` object.\n *\n * @param {String} str\n * @return {Mixed}\n * @api private\n */\n\nResponse.prototype._parseBody = function(str) {\n  var parse = request.parse[this.type];\n  if (this.req._parser) {\n    return this.req._parser(this, str);\n  }\n  if (!parse && isJSON(this.type)) {\n    parse = request.parse['application/json'];\n  }\n  return parse && str && (str.length || str instanceof Object)\n    ? parse(str)\n    : null;\n};\n\n/**\n * Return an `Error` representative of this response.\n *\n * @return {Error}\n * @api public\n */\n\nResponse.prototype.toError = function(){\n  var req = this.req;\n  var method = req.method;\n  var url = req.url;\n\n  var msg = 'cannot ' + method + ' ' + url + ' (' + this.status + ')';\n  var err = new Error(msg);\n  err.status = this.status;\n  err.method = method;\n  err.url = url;\n\n  return err;\n};\n\n/**\n * Expose `Response`.\n */\n\nrequest.Response = Response;\n\n/**\n * Initialize a new `Request` with the given `method` and `url`.\n *\n * @param {String} method\n * @param {String} url\n * @api public\n */\n\nfunction Request(method, url) {\n  var self = this;\n  this._query = this._query || [];\n  this.method = method;\n  this.url = url;\n  this.header = {}; // preserves header name case\n  this._header = {}; // coerces header names to lowercase\n  this.on('end', function(){\n    var err = null;\n    var res = null;\n\n    try {\n      res = new Response(self);\n    } catch(e) {\n      err = new Error('Parser is unable to parse the response');\n      err.parse = true;\n      err.original = e;\n      // issue #675: return the raw response if the response parsing fails\n      if (self.xhr) {\n        // ie9 doesn't have 'response' property\n        err.rawResponse = typeof self.xhr.responseType == 'undefined' ? self.xhr.responseText : self.xhr.response;\n        // issue #876: return the http status code if the response parsing fails\n        err.status = self.xhr.status ? self.xhr.status : null;\n        err.statusCode = err.status; // backwards-compat only\n      } else {\n        err.rawResponse = null;\n        err.status = null;\n      }\n\n      return self.callback(err);\n    }\n\n    self.emit('response', res);\n\n    var new_err;\n    try {\n      if (!self._isResponseOK(res)) {\n        new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n      }\n    } catch(custom_err) {\n      new_err = custom_err; // ok() callback can throw\n    }\n\n    // #1000 don't catch errors from the callback to avoid double calling it\n    if (new_err) {\n      new_err.original = err;\n      new_err.response = res;\n      new_err.status = res.status;\n      self.callback(new_err, res);\n    } else {\n      self.callback(null, res);\n    }\n  });\n}\n\n/**\n * Mixin `Emitter` and `RequestBase`.\n */\n\nEmitter(Request.prototype);\nRequestBase(Request.prototype);\n\n/**\n * Set Content-Type to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n *      superagent.types.xml = 'application/xml';\n *\n *      request.post('/')\n *        .type('xml')\n *        .send(xmlstring)\n *        .end(callback);\n *\n *      request.post('/')\n *        .type('application/xml')\n *        .send(xmlstring)\n *        .end(callback);\n *\n * @param {String} type\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.type = function(type){\n  this.set('Content-Type', request.types[type] || type);\n  return this;\n};\n\n/**\n * Set Accept to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n *      superagent.types.json = 'application/json';\n *\n *      request.get('/agent')\n *        .accept('json')\n *        .end(callback);\n *\n *      request.get('/agent')\n *        .accept('application/json')\n *        .end(callback);\n *\n * @param {String} accept\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.accept = function(type){\n  this.set('Accept', request.types[type] || type);\n  return this;\n};\n\n/**\n * Set Authorization field value with `user` and `pass`.\n *\n * @param {String} user\n * @param {String} [pass] optional in case of using 'bearer' as type\n * @param {Object} options with 'type' property 'auto', 'basic' or 'bearer' (default 'basic')\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.auth = function(user, pass, options){\n  if (1 === arguments.length) pass = '';\n  if (typeof pass === 'object' && pass !== null) { // pass is optional and can be replaced with options\n    options = pass;\n    pass = '';\n  }\n  if (!options) {\n    options = {\n      type: 'function' === typeof btoa ? 'basic' : 'auto',\n    };\n  }\n\n  var encoder = function(string) {\n    if ('function' === typeof btoa) {\n      return btoa(string);\n    }\n    throw new Error('Cannot use basic auth, btoa is not a function');\n  };\n\n  return this._auth(user, pass, options, encoder);\n};\n\n/**\n * Add query-string `val`.\n *\n * Examples:\n *\n *   request.get('/shoes')\n *     .query('size=10')\n *     .query({ color: 'blue' })\n *\n * @param {Object|String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.query = function(val){\n  if ('string' != typeof val) val = serialize(val);\n  if (val) this._query.push(val);\n  return this;\n};\n\n/**\n * Queue the given `file` as an attachment to the specified `field`,\n * with optional `options` (or filename).\n *\n * ``` js\n * request.post('/upload')\n *   .attach('content', new Blob(['<a id=\"a\"><b id=\"b\">hey!</b></a>'], { type: \"text/html\"}))\n *   .end(callback);\n * ```\n *\n * @param {String} field\n * @param {Blob|File} file\n * @param {String|Object} options\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.attach = function(field, file, options){\n  if (file) {\n    if (this._data) {\n      throw Error(\"superagent can't mix .send() and .attach()\");\n    }\n\n    this._getFormData().append(field, file, options || file.name);\n  }\n  return this;\n};\n\nRequest.prototype._getFormData = function(){\n  if (!this._formData) {\n    this._formData = new root.FormData();\n  }\n  return this._formData;\n};\n\n/**\n * Invoke the callback with `err` and `res`\n * and handle arity check.\n *\n * @param {Error} err\n * @param {Response} res\n * @api private\n */\n\nRequest.prototype.callback = function(err, res){\n  if (this._shouldRetry(err, res)) {\n    return this._retry();\n  }\n\n  var fn = this._callback;\n  this.clearTimeout();\n\n  if (err) {\n    if (this._maxRetries) err.retries = this._retries - 1;\n    this.emit('error', err);\n  }\n\n  fn(err, res);\n};\n\n/**\n * Invoke callback with x-domain error.\n *\n * @api private\n */\n\nRequest.prototype.crossDomainError = function(){\n  var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n  err.crossDomain = true;\n\n  err.status = this.status;\n  err.method = this.method;\n  err.url = this.url;\n\n  this.callback(err);\n};\n\n// This only warns, because the request is still likely to work\nRequest.prototype.buffer = Request.prototype.ca = Request.prototype.agent = function(){\n  console.warn(\"This is not supported in browser version of superagent\");\n  return this;\n};\n\n// This throws, because it can't send/receive data as expected\nRequest.prototype.pipe = Request.prototype.write = function(){\n  throw Error(\"Streaming is not supported in browser version of superagent\");\n};\n\n/**\n * Check if `obj` is a host object,\n * we don't want to serialize these :)\n *\n * @param {Object} obj\n * @return {Boolean}\n * @api private\n */\nRequest.prototype._isHost = function _isHost(obj) {\n  // Native objects stringify to [object File], [object Blob], [object FormData], etc.\n  return obj && 'object' === typeof obj && !Array.isArray(obj) && Object.prototype.toString.call(obj) !== '[object Object]';\n}\n\n/**\n * Initiate request, invoking callback `fn(res)`\n * with an instanceof `Response`.\n *\n * @param {Function} fn\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.end = function(fn){\n  if (this._endCalled) {\n    console.warn(\"Warning: .end() was called twice. This is not supported in superagent\");\n  }\n  this._endCalled = true;\n\n  // store callback\n  this._callback = fn || noop;\n\n  // querystring\n  this._finalizeQueryString();\n\n  return this._end();\n};\n\nRequest.prototype._end = function() {\n  var self = this;\n  var xhr = (this.xhr = request.getXHR());\n  var data = this._formData || this._data;\n\n  this._setTimeouts();\n\n  // state change\n  xhr.onreadystatechange = function(){\n    var readyState = xhr.readyState;\n    if (readyState >= 2 && self._responseTimeoutTimer) {\n      clearTimeout(self._responseTimeoutTimer);\n    }\n    if (4 != readyState) {\n      return;\n    }\n\n    // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n    // result in the error \"Could not complete the operation due to error c00c023f\"\n    var status;\n    try { status = xhr.status } catch(e) { status = 0; }\n\n    if (!status) {\n      if (self.timedout || self._aborted) return;\n      return self.crossDomainError();\n    }\n    self.emit('end');\n  };\n\n  // progress\n  var handleProgress = function(direction, e) {\n    if (e.total > 0) {\n      e.percent = e.loaded / e.total * 100;\n    }\n    e.direction = direction;\n    self.emit('progress', e);\n  };\n  if (this.hasListeners('progress')) {\n    try {\n      xhr.onprogress = handleProgress.bind(null, 'download');\n      if (xhr.upload) {\n        xhr.upload.onprogress = handleProgress.bind(null, 'upload');\n      }\n    } catch(e) {\n      // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n      // Reported here:\n      // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n    }\n  }\n\n  // initiate request\n  try {\n    if (this.username && this.password) {\n      xhr.open(this.method, this.url, true, this.username, this.password);\n    } else {\n      xhr.open(this.method, this.url, true);\n    }\n  } catch (err) {\n    // see #1149\n    return this.callback(err);\n  }\n\n  // CORS\n  if (this._withCredentials) xhr.withCredentials = true;\n\n  // body\n  if (!this._formData && 'GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n    // serialize stuff\n    var contentType = this._header['content-type'];\n    var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n    if (!serialize && isJSON(contentType)) {\n      serialize = request.serialize['application/json'];\n    }\n    if (serialize) data = serialize(data);\n  }\n\n  // set header fields\n  for (var field in this.header) {\n    if (null == this.header[field]) continue;\n\n    if (this.header.hasOwnProperty(field))\n      xhr.setRequestHeader(field, this.header[field]);\n  }\n\n  if (this._responseType) {\n    xhr.responseType = this._responseType;\n  }\n\n  // send stuff\n  this.emit('request', this);\n\n  // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n  // We need null here if data is undefined\n  xhr.send(typeof data !== 'undefined' ? data : null);\n  return this;\n};\n\nrequest.agent = function() {\n  return new Agent();\n};\n\n[\"GET\", \"POST\", \"OPTIONS\", \"PATCH\", \"PUT\", \"DELETE\"].forEach(function(method) {\n  Agent.prototype[method.toLowerCase()] = function(url, fn) {\n    var req = new request.Request(method, url);\n    this._setDefaults(req);\n    if (fn) {\n      req.end(fn);\n    }\n    return req;\n  };\n});\n\nAgent.prototype.del = Agent.prototype['delete'];\n\n/**\n * GET `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.get = function(url, data, fn) {\n  var req = request('GET', url);\n  if ('function' == typeof data) (fn = data), (data = null);\n  if (data) req.query(data);\n  if (fn) req.end(fn);\n  return req;\n};\n\n/**\n * HEAD `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.head = function(url, data, fn) {\n  var req = request('HEAD', url);\n  if ('function' == typeof data) (fn = data), (data = null);\n  if (data) req.query(data);\n  if (fn) req.end(fn);\n  return req;\n};\n\n/**\n * OPTIONS query to `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.options = function(url, data, fn) {\n  var req = request('OPTIONS', url);\n  if ('function' == typeof data) (fn = data), (data = null);\n  if (data) req.send(data);\n  if (fn) req.end(fn);\n  return req;\n};\n\n/**\n * DELETE `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nfunction del(url, data, fn) {\n  var req = request('DELETE', url);\n  if ('function' == typeof data) (fn = data), (data = null);\n  if (data) req.send(data);\n  if (fn) req.end(fn);\n  return req;\n}\n\nrequest['del'] = del;\nrequest['delete'] = del;\n\n/**\n * PATCH `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.patch = function(url, data, fn) {\n  var req = request('PATCH', url);\n  if ('function' == typeof data) (fn = data), (data = null);\n  if (data) req.send(data);\n  if (fn) req.end(fn);\n  return req;\n};\n\n/**\n * POST `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} [data]\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.post = function(url, data, fn) {\n  var req = request('POST', url);\n  if ('function' == typeof data) (fn = data), (data = null);\n  if (data) req.send(data);\n  if (fn) req.end(fn);\n  return req;\n};\n\n/**\n * PUT `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} [data] or fn\n * @param {Function} [fn]\n * @return {Request}\n * @api public\n */\n\nrequest.put = function(url, data, fn) {\n  var req = request('PUT', url);\n  if ('function' == typeof data) (fn = data), (data = null);\n  if (data) req.send(data);\n  if (fn) req.end(fn);\n  return req;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9zdXBlcmFnZW50L2xpYi9jbGllbnQuanM/ZGI4MiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJvb3QgcmVmZXJlbmNlIGZvciBpZnJhbWVzLlxuICovXG5cbnZhciByb290O1xuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7IC8vIEJyb3dzZXIgd2luZG93XG4gIHJvb3QgPSB3aW5kb3c7XG59IGVsc2UgaWYgKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJykgeyAvLyBXZWIgV29ya2VyXG4gIHJvb3QgPSBzZWxmO1xufSBlbHNlIHsgLy8gT3RoZXIgZW52aXJvbm1lbnRzXG4gIGNvbnNvbGUud2FybihcIlVzaW5nIGJyb3dzZXItb25seSB2ZXJzaW9uIG9mIHN1cGVyYWdlbnQgaW4gbm9uLWJyb3dzZXIgZW52aXJvbm1lbnRcIik7XG4gIHJvb3QgPSB0aGlzO1xufVxuXG52YXIgRW1pdHRlciA9IHJlcXVpcmUoJ2NvbXBvbmVudC1lbWl0dGVyJyk7XG52YXIgUmVxdWVzdEJhc2UgPSByZXF1aXJlKCcuL3JlcXVlc3QtYmFzZScpO1xudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pcy1vYmplY3QnKTtcbnZhciBSZXNwb25zZUJhc2UgPSByZXF1aXJlKCcuL3Jlc3BvbnNlLWJhc2UnKTtcbnZhciBBZ2VudCA9IHJlcXVpcmUoJy4vYWdlbnQtYmFzZScpO1xuXG4vKipcbiAqIE5vb3AuXG4gKi9cblxuZnVuY3Rpb24gbm9vcCgpe307XG5cbi8qKlxuICogRXhwb3NlIGByZXF1ZXN0YC5cbiAqL1xuXG52YXIgcmVxdWVzdCA9IGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG1ldGhvZCwgdXJsKSB7XG4gIC8vIGNhbGxiYWNrXG4gIGlmICgnZnVuY3Rpb24nID09IHR5cGVvZiB1cmwpIHtcbiAgICByZXR1cm4gbmV3IGV4cG9ydHMuUmVxdWVzdCgnR0VUJywgbWV0aG9kKS5lbmQodXJsKTtcbiAgfVxuXG4gIC8vIHVybCBmaXJzdFxuICBpZiAoMSA9PSBhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIG5ldyBleHBvcnRzLlJlcXVlc3QoJ0dFVCcsIG1ldGhvZCk7XG4gIH1cblxuICByZXR1cm4gbmV3IGV4cG9ydHMuUmVxdWVzdChtZXRob2QsIHVybCk7XG59XG5cbmV4cG9ydHMuUmVxdWVzdCA9IFJlcXVlc3Q7XG5cbi8qKlxuICogRGV0ZXJtaW5lIFhIUi5cbiAqL1xuXG5yZXF1ZXN0LmdldFhIUiA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKHJvb3QuWE1MSHR0cFJlcXVlc3RcbiAgICAgICYmICghcm9vdC5sb2NhdGlvbiB8fCAnZmlsZTonICE9IHJvb3QubG9jYXRpb24ucHJvdG9jb2xcbiAgICAgICAgICB8fCAhcm9vdC5BY3RpdmVYT2JqZWN0KSkge1xuICAgIHJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3Q7XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHsgcmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KCdNaWNyb3NvZnQuWE1MSFRUUCcpOyB9IGNhdGNoKGUpIHt9XG4gICAgdHJ5IHsgcmV0dXJuIG5ldyBBY3RpdmVYT2JqZWN0KCdNc3htbDIuWE1MSFRUUC42LjAnKTsgfSBjYXRjaChlKSB7fVxuICAgIHRyeSB7IHJldHVybiBuZXcgQWN0aXZlWE9iamVjdCgnTXN4bWwyLlhNTEhUVFAuMy4wJyk7IH0gY2F0Y2goZSkge31cbiAgICB0cnkgeyByZXR1cm4gbmV3IEFjdGl2ZVhPYmplY3QoJ01zeG1sMi5YTUxIVFRQJyk7IH0gY2F0Y2goZSkge31cbiAgfVxuICB0aHJvdyBFcnJvcihcIkJyb3dzZXItb25seSB2ZXJzaW9uIG9mIHN1cGVyYWdlbnQgY291bGQgbm90IGZpbmQgWEhSXCIpO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UsIGFkZGVkIHRvIHN1cHBvcnQgSUUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHNcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbnZhciB0cmltID0gJycudHJpbVxuICA/IGZ1bmN0aW9uKHMpIHsgcmV0dXJuIHMudHJpbSgpOyB9XG4gIDogZnVuY3Rpb24ocykgeyByZXR1cm4gcy5yZXBsYWNlKC8oXlxccyp8XFxzKiQpL2csICcnKTsgfTtcblxuLyoqXG4gKiBTZXJpYWxpemUgdGhlIGdpdmVuIGBvYmpgLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmpcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHNlcmlhbGl6ZShvYmopIHtcbiAgaWYgKCFpc09iamVjdChvYmopKSByZXR1cm4gb2JqO1xuICB2YXIgcGFpcnMgPSBbXTtcbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgIHB1c2hFbmNvZGVkS2V5VmFsdWVQYWlyKHBhaXJzLCBrZXksIG9ialtrZXldKTtcbiAgfVxuICByZXR1cm4gcGFpcnMuam9pbignJicpO1xufVxuXG4vKipcbiAqIEhlbHBzICdzZXJpYWxpemUnIHdpdGggc2VyaWFsaXppbmcgYXJyYXlzLlxuICogTXV0YXRlcyB0aGUgcGFpcnMgYXJyYXkuXG4gKlxuICogQHBhcmFtIHtBcnJheX0gcGFpcnNcbiAqIEBwYXJhbSB7U3RyaW5nfSBrZXlcbiAqIEBwYXJhbSB7TWl4ZWR9IHZhbFxuICovXG5cbmZ1bmN0aW9uIHB1c2hFbmNvZGVkS2V5VmFsdWVQYWlyKHBhaXJzLCBrZXksIHZhbCkge1xuICBpZiAodmFsICE9IG51bGwpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICB2YWwuZm9yRWFjaChmdW5jdGlvbih2KSB7XG4gICAgICAgIHB1c2hFbmNvZGVkS2V5VmFsdWVQYWlyKHBhaXJzLCBrZXksIHYpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChpc09iamVjdCh2YWwpKSB7XG4gICAgICBmb3IodmFyIHN1YmtleSBpbiB2YWwpIHtcbiAgICAgICAgcHVzaEVuY29kZWRLZXlWYWx1ZVBhaXIocGFpcnMsIGtleSArICdbJyArIHN1YmtleSArICddJywgdmFsW3N1YmtleV0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBwYWlycy5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChrZXkpXG4gICAgICAgICsgJz0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHZhbCkpO1xuICAgIH1cbiAgfSBlbHNlIGlmICh2YWwgPT09IG51bGwpIHtcbiAgICBwYWlycy5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChrZXkpKTtcbiAgfVxufVxuXG4vKipcbiAqIEV4cG9zZSBzZXJpYWxpemF0aW9uIG1ldGhvZC5cbiAqL1xuXG5yZXF1ZXN0LnNlcmlhbGl6ZU9iamVjdCA9IHNlcmlhbGl6ZTtcblxuLyoqXG4gICogUGFyc2UgdGhlIGdpdmVuIHgtd3d3LWZvcm0tdXJsZW5jb2RlZCBgc3RyYC5cbiAgKlxuICAqIEBwYXJhbSB7U3RyaW5nfSBzdHJcbiAgKiBAcmV0dXJuIHtPYmplY3R9XG4gICogQGFwaSBwcml2YXRlXG4gICovXG5cbmZ1bmN0aW9uIHBhcnNlU3RyaW5nKHN0cikge1xuICB2YXIgb2JqID0ge307XG4gIHZhciBwYWlycyA9IHN0ci5zcGxpdCgnJicpO1xuICB2YXIgcGFpcjtcbiAgdmFyIHBvcztcblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gcGFpcnMubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICBwYWlyID0gcGFpcnNbaV07XG4gICAgcG9zID0gcGFpci5pbmRleE9mKCc9Jyk7XG4gICAgaWYgKHBvcyA9PSAtMSkge1xuICAgICAgb2JqW2RlY29kZVVSSUNvbXBvbmVudChwYWlyKV0gPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgb2JqW2RlY29kZVVSSUNvbXBvbmVudChwYWlyLnNsaWNlKDAsIHBvcykpXSA9XG4gICAgICAgIGRlY29kZVVSSUNvbXBvbmVudChwYWlyLnNsaWNlKHBvcyArIDEpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG4vKipcbiAqIEV4cG9zZSBwYXJzZXIuXG4gKi9cblxucmVxdWVzdC5wYXJzZVN0cmluZyA9IHBhcnNlU3RyaW5nO1xuXG4vKipcbiAqIERlZmF1bHQgTUlNRSB0eXBlIG1hcC5cbiAqXG4gKiAgICAgc3VwZXJhZ2VudC50eXBlcy54bWwgPSAnYXBwbGljYXRpb24veG1sJztcbiAqXG4gKi9cblxucmVxdWVzdC50eXBlcyA9IHtcbiAgaHRtbDogJ3RleHQvaHRtbCcsXG4gIGpzb246ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgeG1sOiAndGV4dC94bWwnLFxuICB1cmxlbmNvZGVkOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcbiAgJ2Zvcm0nOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyxcbiAgJ2Zvcm0tZGF0YSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXG59O1xuXG4vKipcbiAqIERlZmF1bHQgc2VyaWFsaXphdGlvbiBtYXAuXG4gKlxuICogICAgIHN1cGVyYWdlbnQuc2VyaWFsaXplWydhcHBsaWNhdGlvbi94bWwnXSA9IGZ1bmN0aW9uKG9iail7XG4gKiAgICAgICByZXR1cm4gJ2dlbmVyYXRlZCB4bWwgaGVyZSc7XG4gKiAgICAgfTtcbiAqXG4gKi9cblxucmVxdWVzdC5zZXJpYWxpemUgPSB7XG4gICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnOiBzZXJpYWxpemUsXG4gICdhcHBsaWNhdGlvbi9qc29uJzogSlNPTi5zdHJpbmdpZnlcbn07XG5cbi8qKlxuICAqIERlZmF1bHQgcGFyc2Vycy5cbiAgKlxuICAqICAgICBzdXBlcmFnZW50LnBhcnNlWydhcHBsaWNhdGlvbi94bWwnXSA9IGZ1bmN0aW9uKHN0cil7XG4gICogICAgICAgcmV0dXJuIHsgb2JqZWN0IHBhcnNlZCBmcm9tIHN0ciB9O1xuICAqICAgICB9O1xuICAqXG4gICovXG5cbnJlcXVlc3QucGFyc2UgPSB7XG4gICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnOiBwYXJzZVN0cmluZyxcbiAgJ2FwcGxpY2F0aW9uL2pzb24nOiBKU09OLnBhcnNlXG59O1xuXG4vKipcbiAqIFBhcnNlIHRoZSBnaXZlbiBoZWFkZXIgYHN0cmAgaW50b1xuICogYW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIG1hcHBlZCBmaWVsZHMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICogQHJldHVybiB7T2JqZWN0fVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gcGFyc2VIZWFkZXIoc3RyKSB7XG4gIHZhciBsaW5lcyA9IHN0ci5zcGxpdCgvXFxyP1xcbi8pO1xuICB2YXIgZmllbGRzID0ge307XG4gIHZhciBpbmRleDtcbiAgdmFyIGxpbmU7XG4gIHZhciBmaWVsZDtcbiAgdmFyIHZhbDtcblxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gbGluZXMubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcbiAgICBsaW5lID0gbGluZXNbaV07XG4gICAgaW5kZXggPSBsaW5lLmluZGV4T2YoJzonKTtcbiAgICBpZiAoaW5kZXggPT09IC0xKSB7IC8vIGNvdWxkIGJlIGVtcHR5IGxpbmUsIGp1c3Qgc2tpcCBpdFxuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGZpZWxkID0gbGluZS5zbGljZSgwLCBpbmRleCkudG9Mb3dlckNhc2UoKTtcbiAgICB2YWwgPSB0cmltKGxpbmUuc2xpY2UoaW5kZXggKyAxKSk7XG4gICAgZmllbGRzW2ZpZWxkXSA9IHZhbDtcbiAgfVxuXG4gIHJldHVybiBmaWVsZHM7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYG1pbWVgIGlzIGpzb24gb3IgaGFzICtqc29uIHN0cnVjdHVyZWQgc3ludGF4IHN1ZmZpeC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbWltZVxuICogQHJldHVybiB7Qm9vbGVhbn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIGlzSlNPTihtaW1lKSB7XG4gIC8vIHNob3VsZCBtYXRjaCAvanNvbiBvciAranNvblxuICAvLyBidXQgbm90IC9qc29uLXNlcVxuICByZXR1cm4gL1tcXC8rXWpzb24oJHxbXi1cXHddKS8udGVzdChtaW1lKTtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplIGEgbmV3IGBSZXNwb25zZWAgd2l0aCB0aGUgZ2l2ZW4gYHhocmAuXG4gKlxuICogIC0gc2V0IGZsYWdzICgub2ssIC5lcnJvciwgZXRjKVxuICogIC0gcGFyc2UgaGVhZGVyXG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogIEFsaWFzaW5nIGBzdXBlcmFnZW50YCBhcyBgcmVxdWVzdGAgaXMgbmljZTpcbiAqXG4gKiAgICAgIHJlcXVlc3QgPSBzdXBlcmFnZW50O1xuICpcbiAqICBXZSBjYW4gdXNlIHRoZSBwcm9taXNlLWxpa2UgQVBJLCBvciBwYXNzIGNhbGxiYWNrczpcbiAqXG4gKiAgICAgIHJlcXVlc3QuZ2V0KCcvJykuZW5kKGZ1bmN0aW9uKHJlcyl7fSk7XG4gKiAgICAgIHJlcXVlc3QuZ2V0KCcvJywgZnVuY3Rpb24ocmVzKXt9KTtcbiAqXG4gKiAgU2VuZGluZyBkYXRhIGNhbiBiZSBjaGFpbmVkOlxuICpcbiAqICAgICAgcmVxdWVzdFxuICogICAgICAgIC5wb3N0KCcvdXNlcicpXG4gKiAgICAgICAgLnNlbmQoeyBuYW1lOiAndGonIH0pXG4gKiAgICAgICAgLmVuZChmdW5jdGlvbihyZXMpe30pO1xuICpcbiAqICBPciBwYXNzZWQgdG8gYC5zZW5kKClgOlxuICpcbiAqICAgICAgcmVxdWVzdFxuICogICAgICAgIC5wb3N0KCcvdXNlcicpXG4gKiAgICAgICAgLnNlbmQoeyBuYW1lOiAndGonIH0sIGZ1bmN0aW9uKHJlcyl7fSk7XG4gKlxuICogIE9yIHBhc3NlZCB0byBgLnBvc3QoKWA6XG4gKlxuICogICAgICByZXF1ZXN0XG4gKiAgICAgICAgLnBvc3QoJy91c2VyJywgeyBuYW1lOiAndGonIH0pXG4gKiAgICAgICAgLmVuZChmdW5jdGlvbihyZXMpe30pO1xuICpcbiAqIE9yIGZ1cnRoZXIgcmVkdWNlZCB0byBhIHNpbmdsZSBjYWxsIGZvciBzaW1wbGUgY2FzZXM6XG4gKlxuICogICAgICByZXF1ZXN0XG4gKiAgICAgICAgLnBvc3QoJy91c2VyJywgeyBuYW1lOiAndGonIH0sIGZ1bmN0aW9uKHJlcyl7fSk7XG4gKlxuICogQHBhcmFtIHtYTUxIVFRQUmVxdWVzdH0geGhyXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gUmVzcG9uc2UocmVxKSB7XG4gIHRoaXMucmVxID0gcmVxO1xuICB0aGlzLnhociA9IHRoaXMucmVxLnhocjtcbiAgLy8gcmVzcG9uc2VUZXh0IGlzIGFjY2Vzc2libGUgb25seSBpZiByZXNwb25zZVR5cGUgaXMgJycgb3IgJ3RleHQnIGFuZCBvbiBvbGRlciBicm93c2Vyc1xuICB0aGlzLnRleHQgPSAoKHRoaXMucmVxLm1ldGhvZCAhPSdIRUFEJyAmJiAodGhpcy54aHIucmVzcG9uc2VUeXBlID09PSAnJyB8fCB0aGlzLnhoci5yZXNwb25zZVR5cGUgPT09ICd0ZXh0JykpIHx8IHR5cGVvZiB0aGlzLnhoci5yZXNwb25zZVR5cGUgPT09ICd1bmRlZmluZWQnKVxuICAgICA/IHRoaXMueGhyLnJlc3BvbnNlVGV4dFxuICAgICA6IG51bGw7XG4gIHRoaXMuc3RhdHVzVGV4dCA9IHRoaXMucmVxLnhoci5zdGF0dXNUZXh0O1xuICB2YXIgc3RhdHVzID0gdGhpcy54aHIuc3RhdHVzO1xuICAvLyBoYW5kbGUgSUU5IGJ1ZzogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMDA0Njk3Mi9tc2llLXJldHVybnMtc3RhdHVzLWNvZGUtb2YtMTIyMy1mb3ItYWpheC1yZXF1ZXN0XG4gIGlmIChzdGF0dXMgPT09IDEyMjMpIHtcbiAgICBzdGF0dXMgPSAyMDQ7XG4gIH1cbiAgdGhpcy5fc2V0U3RhdHVzUHJvcGVydGllcyhzdGF0dXMpO1xuICB0aGlzLmhlYWRlciA9IHRoaXMuaGVhZGVycyA9IHBhcnNlSGVhZGVyKHRoaXMueGhyLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKTtcbiAgLy8gZ2V0QWxsUmVzcG9uc2VIZWFkZXJzIHNvbWV0aW1lcyBmYWxzZWx5IHJldHVybnMgXCJcIiBmb3IgQ09SUyByZXF1ZXN0cywgYnV0XG4gIC8vIGdldFJlc3BvbnNlSGVhZGVyIHN0aWxsIHdvcmtzLiBzbyB3ZSBnZXQgY29udGVudC10eXBlIGV2ZW4gaWYgZ2V0dGluZ1xuICAvLyBvdGhlciBoZWFkZXJzIGZhaWxzLlxuICB0aGlzLmhlYWRlclsnY29udGVudC10eXBlJ10gPSB0aGlzLnhoci5nZXRSZXNwb25zZUhlYWRlcignY29udGVudC10eXBlJyk7XG4gIHRoaXMuX3NldEhlYWRlclByb3BlcnRpZXModGhpcy5oZWFkZXIpO1xuXG4gIGlmIChudWxsID09PSB0aGlzLnRleHQgJiYgcmVxLl9yZXNwb25zZVR5cGUpIHtcbiAgICB0aGlzLmJvZHkgPSB0aGlzLnhoci5yZXNwb25zZTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLmJvZHkgPSB0aGlzLnJlcS5tZXRob2QgIT0gJ0hFQUQnXG4gICAgICA/IHRoaXMuX3BhcnNlQm9keSh0aGlzLnRleHQgPyB0aGlzLnRleHQgOiB0aGlzLnhoci5yZXNwb25zZSlcbiAgICAgIDogbnVsbDtcbiAgfVxufVxuXG5SZXNwb25zZUJhc2UoUmVzcG9uc2UucHJvdG90eXBlKTtcblxuLyoqXG4gKiBQYXJzZSB0aGUgZ2l2ZW4gYm9keSBgc3RyYC5cbiAqXG4gKiBVc2VkIGZvciBhdXRvLXBhcnNpbmcgb2YgYm9kaWVzLiBQYXJzZXJzXG4gKiBhcmUgZGVmaW5lZCBvbiB0aGUgYHN1cGVyYWdlbnQucGFyc2VgIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyXG4gKiBAcmV0dXJuIHtNaXhlZH1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cblJlc3BvbnNlLnByb3RvdHlwZS5fcGFyc2VCb2R5ID0gZnVuY3Rpb24oc3RyKSB7XG4gIHZhciBwYXJzZSA9IHJlcXVlc3QucGFyc2VbdGhpcy50eXBlXTtcbiAgaWYgKHRoaXMucmVxLl9wYXJzZXIpIHtcbiAgICByZXR1cm4gdGhpcy5yZXEuX3BhcnNlcih0aGlzLCBzdHIpO1xuICB9XG4gIGlmICghcGFyc2UgJiYgaXNKU09OKHRoaXMudHlwZSkpIHtcbiAgICBwYXJzZSA9IHJlcXVlc3QucGFyc2VbJ2FwcGxpY2F0aW9uL2pzb24nXTtcbiAgfVxuICByZXR1cm4gcGFyc2UgJiYgc3RyICYmIChzdHIubGVuZ3RoIHx8IHN0ciBpbnN0YW5jZW9mIE9iamVjdClcbiAgICA/IHBhcnNlKHN0cilcbiAgICA6IG51bGw7XG59O1xuXG4vKipcbiAqIFJldHVybiBhbiBgRXJyb3JgIHJlcHJlc2VudGF0aXZlIG9mIHRoaXMgcmVzcG9uc2UuXG4gKlxuICogQHJldHVybiB7RXJyb3J9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlc3BvbnNlLnByb3RvdHlwZS50b0Vycm9yID0gZnVuY3Rpb24oKXtcbiAgdmFyIHJlcSA9IHRoaXMucmVxO1xuICB2YXIgbWV0aG9kID0gcmVxLm1ldGhvZDtcbiAgdmFyIHVybCA9IHJlcS51cmw7XG5cbiAgdmFyIG1zZyA9ICdjYW5ub3QgJyArIG1ldGhvZCArICcgJyArIHVybCArICcgKCcgKyB0aGlzLnN0YXR1cyArICcpJztcbiAgdmFyIGVyciA9IG5ldyBFcnJvcihtc2cpO1xuICBlcnIuc3RhdHVzID0gdGhpcy5zdGF0dXM7XG4gIGVyci5tZXRob2QgPSBtZXRob2Q7XG4gIGVyci51cmwgPSB1cmw7XG5cbiAgcmV0dXJuIGVycjtcbn07XG5cbi8qKlxuICogRXhwb3NlIGBSZXNwb25zZWAuXG4gKi9cblxucmVxdWVzdC5SZXNwb25zZSA9IFJlc3BvbnNlO1xuXG4vKipcbiAqIEluaXRpYWxpemUgYSBuZXcgYFJlcXVlc3RgIHdpdGggdGhlIGdpdmVuIGBtZXRob2RgIGFuZCBgdXJsYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbWV0aG9kXG4gKiBAcGFyYW0ge1N0cmluZ30gdXJsXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIFJlcXVlc3QobWV0aG9kLCB1cmwpIHtcbiAgdmFyIHNlbGYgPSB0aGlzO1xuICB0aGlzLl9xdWVyeSA9IHRoaXMuX3F1ZXJ5IHx8IFtdO1xuICB0aGlzLm1ldGhvZCA9IG1ldGhvZDtcbiAgdGhpcy51cmwgPSB1cmw7XG4gIHRoaXMuaGVhZGVyID0ge307IC8vIHByZXNlcnZlcyBoZWFkZXIgbmFtZSBjYXNlXG4gIHRoaXMuX2hlYWRlciA9IHt9OyAvLyBjb2VyY2VzIGhlYWRlciBuYW1lcyB0byBsb3dlcmNhc2VcbiAgdGhpcy5vbignZW5kJywgZnVuY3Rpb24oKXtcbiAgICB2YXIgZXJyID0gbnVsbDtcbiAgICB2YXIgcmVzID0gbnVsbDtcblxuICAgIHRyeSB7XG4gICAgICByZXMgPSBuZXcgUmVzcG9uc2Uoc2VsZik7XG4gICAgfSBjYXRjaChlKSB7XG4gICAgICBlcnIgPSBuZXcgRXJyb3IoJ1BhcnNlciBpcyB1bmFibGUgdG8gcGFyc2UgdGhlIHJlc3BvbnNlJyk7XG4gICAgICBlcnIucGFyc2UgPSB0cnVlO1xuICAgICAgZXJyLm9yaWdpbmFsID0gZTtcbiAgICAgIC8vIGlzc3VlICM2NzU6IHJldHVybiB0aGUgcmF3IHJlc3BvbnNlIGlmIHRoZSByZXNwb25zZSBwYXJzaW5nIGZhaWxzXG4gICAgICBpZiAoc2VsZi54aHIpIHtcbiAgICAgICAgLy8gaWU5IGRvZXNuJ3QgaGF2ZSAncmVzcG9uc2UnIHByb3BlcnR5XG4gICAgICAgIGVyci5yYXdSZXNwb25zZSA9IHR5cGVvZiBzZWxmLnhoci5yZXNwb25zZVR5cGUgPT0gJ3VuZGVmaW5lZCcgPyBzZWxmLnhoci5yZXNwb25zZVRleHQgOiBzZWxmLnhoci5yZXNwb25zZTtcbiAgICAgICAgLy8gaXNzdWUgIzg3NjogcmV0dXJuIHRoZSBodHRwIHN0YXR1cyBjb2RlIGlmIHRoZSByZXNwb25zZSBwYXJzaW5nIGZhaWxzXG4gICAgICAgIGVyci5zdGF0dXMgPSBzZWxmLnhoci5zdGF0dXMgPyBzZWxmLnhoci5zdGF0dXMgOiBudWxsO1xuICAgICAgICBlcnIuc3RhdHVzQ29kZSA9IGVyci5zdGF0dXM7IC8vIGJhY2t3YXJkcy1jb21wYXQgb25seVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyLnJhd1Jlc3BvbnNlID0gbnVsbDtcbiAgICAgICAgZXJyLnN0YXR1cyA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZWxmLmNhbGxiYWNrKGVycik7XG4gICAgfVxuXG4gICAgc2VsZi5lbWl0KCdyZXNwb25zZScsIHJlcyk7XG5cbiAgICB2YXIgbmV3X2VycjtcbiAgICB0cnkge1xuICAgICAgaWYgKCFzZWxmLl9pc1Jlc3BvbnNlT0socmVzKSkge1xuICAgICAgICBuZXdfZXJyID0gbmV3IEVycm9yKHJlcy5zdGF0dXNUZXh0IHx8ICdVbnN1Y2Nlc3NmdWwgSFRUUCByZXNwb25zZScpO1xuICAgICAgfVxuICAgIH0gY2F0Y2goY3VzdG9tX2Vycikge1xuICAgICAgbmV3X2VyciA9IGN1c3RvbV9lcnI7IC8vIG9rKCkgY2FsbGJhY2sgY2FuIHRocm93XG4gICAgfVxuXG4gICAgLy8gIzEwMDAgZG9uJ3QgY2F0Y2ggZXJyb3JzIGZyb20gdGhlIGNhbGxiYWNrIHRvIGF2b2lkIGRvdWJsZSBjYWxsaW5nIGl0XG4gICAgaWYgKG5ld19lcnIpIHtcbiAgICAgIG5ld19lcnIub3JpZ2luYWwgPSBlcnI7XG4gICAgICBuZXdfZXJyLnJlc3BvbnNlID0gcmVzO1xuICAgICAgbmV3X2Vyci5zdGF0dXMgPSByZXMuc3RhdHVzO1xuICAgICAgc2VsZi5jYWxsYmFjayhuZXdfZXJyLCByZXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZWxmLmNhbGxiYWNrKG51bGwsIHJlcyk7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBNaXhpbiBgRW1pdHRlcmAgYW5kIGBSZXF1ZXN0QmFzZWAuXG4gKi9cblxuRW1pdHRlcihSZXF1ZXN0LnByb3RvdHlwZSk7XG5SZXF1ZXN0QmFzZShSZXF1ZXN0LnByb3RvdHlwZSk7XG5cbi8qKlxuICogU2V0IENvbnRlbnQtVHlwZSB0byBgdHlwZWAsIG1hcHBpbmcgdmFsdWVzIGZyb20gYHJlcXVlc3QudHlwZXNgLlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgICAgc3VwZXJhZ2VudC50eXBlcy54bWwgPSAnYXBwbGljYXRpb24veG1sJztcbiAqXG4gKiAgICAgIHJlcXVlc3QucG9zdCgnLycpXG4gKiAgICAgICAgLnR5cGUoJ3htbCcpXG4gKiAgICAgICAgLnNlbmQoeG1sc3RyaW5nKVxuICogICAgICAgIC5lbmQoY2FsbGJhY2spO1xuICpcbiAqICAgICAgcmVxdWVzdC5wb3N0KCcvJylcbiAqICAgICAgICAudHlwZSgnYXBwbGljYXRpb24veG1sJylcbiAqICAgICAgICAuc2VuZCh4bWxzdHJpbmcpXG4gKiAgICAgICAgLmVuZChjYWxsYmFjayk7XG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHR5cGVcbiAqIEByZXR1cm4ge1JlcXVlc3R9IGZvciBjaGFpbmluZ1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS50eXBlID0gZnVuY3Rpb24odHlwZSl7XG4gIHRoaXMuc2V0KCdDb250ZW50LVR5cGUnLCByZXF1ZXN0LnR5cGVzW3R5cGVdIHx8IHR5cGUpO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0IEFjY2VwdCB0byBgdHlwZWAsIG1hcHBpbmcgdmFsdWVzIGZyb20gYHJlcXVlc3QudHlwZXNgLlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgICAgc3VwZXJhZ2VudC50eXBlcy5qc29uID0gJ2FwcGxpY2F0aW9uL2pzb24nO1xuICpcbiAqICAgICAgcmVxdWVzdC5nZXQoJy9hZ2VudCcpXG4gKiAgICAgICAgLmFjY2VwdCgnanNvbicpXG4gKiAgICAgICAgLmVuZChjYWxsYmFjayk7XG4gKlxuICogICAgICByZXF1ZXN0LmdldCgnL2FnZW50JylcbiAqICAgICAgICAuYWNjZXB0KCdhcHBsaWNhdGlvbi9qc29uJylcbiAqICAgICAgICAuZW5kKGNhbGxiYWNrKTtcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gYWNjZXB0XG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUuYWNjZXB0ID0gZnVuY3Rpb24odHlwZSl7XG4gIHRoaXMuc2V0KCdBY2NlcHQnLCByZXF1ZXN0LnR5cGVzW3R5cGVdIHx8IHR5cGUpO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0IEF1dGhvcml6YXRpb24gZmllbGQgdmFsdWUgd2l0aCBgdXNlcmAgYW5kIGBwYXNzYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdXNlclxuICogQHBhcmFtIHtTdHJpbmd9IFtwYXNzXSBvcHRpb25hbCBpbiBjYXNlIG9mIHVzaW5nICdiZWFyZXInIGFzIHR5cGVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIHdpdGggJ3R5cGUnIHByb3BlcnR5ICdhdXRvJywgJ2Jhc2ljJyBvciAnYmVhcmVyJyAoZGVmYXVsdCAnYmFzaWMnKVxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3QucHJvdG90eXBlLmF1dGggPSBmdW5jdGlvbih1c2VyLCBwYXNzLCBvcHRpb25zKXtcbiAgaWYgKDEgPT09IGFyZ3VtZW50cy5sZW5ndGgpIHBhc3MgPSAnJztcbiAgaWYgKHR5cGVvZiBwYXNzID09PSAnb2JqZWN0JyAmJiBwYXNzICE9PSBudWxsKSB7IC8vIHBhc3MgaXMgb3B0aW9uYWwgYW5kIGNhbiBiZSByZXBsYWNlZCB3aXRoIG9wdGlvbnNcbiAgICBvcHRpb25zID0gcGFzcztcbiAgICBwYXNzID0gJyc7XG4gIH1cbiAgaWYgKCFvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IHtcbiAgICAgIHR5cGU6ICdmdW5jdGlvbicgPT09IHR5cGVvZiBidG9hID8gJ2Jhc2ljJyA6ICdhdXRvJyxcbiAgICB9O1xuICB9XG5cbiAgdmFyIGVuY29kZXIgPSBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICBpZiAoJ2Z1bmN0aW9uJyA9PT0gdHlwZW9mIGJ0b2EpIHtcbiAgICAgIHJldHVybiBidG9hKHN0cmluZyk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBiYXNpYyBhdXRoLCBidG9hIGlzIG5vdCBhIGZ1bmN0aW9uJyk7XG4gIH07XG5cbiAgcmV0dXJuIHRoaXMuX2F1dGgodXNlciwgcGFzcywgb3B0aW9ucywgZW5jb2Rlcik7XG59O1xuXG4vKipcbiAqIEFkZCBxdWVyeS1zdHJpbmcgYHZhbGAuXG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICByZXF1ZXN0LmdldCgnL3Nob2VzJylcbiAqICAgICAucXVlcnkoJ3NpemU9MTAnKVxuICogICAgIC5xdWVyeSh7IGNvbG9yOiAnYmx1ZScgfSlcbiAqXG4gKiBAcGFyYW0ge09iamVjdHxTdHJpbmd9IHZhbFxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3QucHJvdG90eXBlLnF1ZXJ5ID0gZnVuY3Rpb24odmFsKXtcbiAgaWYgKCdzdHJpbmcnICE9IHR5cGVvZiB2YWwpIHZhbCA9IHNlcmlhbGl6ZSh2YWwpO1xuICBpZiAodmFsKSB0aGlzLl9xdWVyeS5wdXNoKHZhbCk7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBRdWV1ZSB0aGUgZ2l2ZW4gYGZpbGVgIGFzIGFuIGF0dGFjaG1lbnQgdG8gdGhlIHNwZWNpZmllZCBgZmllbGRgLFxuICogd2l0aCBvcHRpb25hbCBgb3B0aW9uc2AgKG9yIGZpbGVuYW1lKS5cbiAqXG4gKiBgYGAganNcbiAqIHJlcXVlc3QucG9zdCgnL3VwbG9hZCcpXG4gKiAgIC5hdHRhY2goJ2NvbnRlbnQnLCBuZXcgQmxvYihbJzxhIGlkPVwiYVwiPjxiIGlkPVwiYlwiPmhleSE8L2I+PC9hPiddLCB7IHR5cGU6IFwidGV4dC9odG1sXCJ9KSlcbiAqICAgLmVuZChjYWxsYmFjayk7XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZmllbGRcbiAqIEBwYXJhbSB7QmxvYnxGaWxlfSBmaWxlXG4gKiBAcGFyYW0ge1N0cmluZ3xPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge1JlcXVlc3R9IGZvciBjaGFpbmluZ1xuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5hdHRhY2ggPSBmdW5jdGlvbihmaWVsZCwgZmlsZSwgb3B0aW9ucyl7XG4gIGlmIChmaWxlKSB7XG4gICAgaWYgKHRoaXMuX2RhdGEpIHtcbiAgICAgIHRocm93IEVycm9yKFwic3VwZXJhZ2VudCBjYW4ndCBtaXggLnNlbmQoKSBhbmQgLmF0dGFjaCgpXCIpO1xuICAgIH1cblxuICAgIHRoaXMuX2dldEZvcm1EYXRhKCkuYXBwZW5kKGZpZWxkLCBmaWxlLCBvcHRpb25zIHx8IGZpbGUubmFtZSk7XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5SZXF1ZXN0LnByb3RvdHlwZS5fZ2V0Rm9ybURhdGEgPSBmdW5jdGlvbigpe1xuICBpZiAoIXRoaXMuX2Zvcm1EYXRhKSB7XG4gICAgdGhpcy5fZm9ybURhdGEgPSBuZXcgcm9vdC5Gb3JtRGF0YSgpO1xuICB9XG4gIHJldHVybiB0aGlzLl9mb3JtRGF0YTtcbn07XG5cbi8qKlxuICogSW52b2tlIHRoZSBjYWxsYmFjayB3aXRoIGBlcnJgIGFuZCBgcmVzYFxuICogYW5kIGhhbmRsZSBhcml0eSBjaGVjay5cbiAqXG4gKiBAcGFyYW0ge0Vycm9yfSBlcnJcbiAqIEBwYXJhbSB7UmVzcG9uc2V9IHJlc1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUuY2FsbGJhY2sgPSBmdW5jdGlvbihlcnIsIHJlcyl7XG4gIGlmICh0aGlzLl9zaG91bGRSZXRyeShlcnIsIHJlcykpIHtcbiAgICByZXR1cm4gdGhpcy5fcmV0cnkoKTtcbiAgfVxuXG4gIHZhciBmbiA9IHRoaXMuX2NhbGxiYWNrO1xuICB0aGlzLmNsZWFyVGltZW91dCgpO1xuXG4gIGlmIChlcnIpIHtcbiAgICBpZiAodGhpcy5fbWF4UmV0cmllcykgZXJyLnJldHJpZXMgPSB0aGlzLl9yZXRyaWVzIC0gMTtcbiAgICB0aGlzLmVtaXQoJ2Vycm9yJywgZXJyKTtcbiAgfVxuXG4gIGZuKGVyciwgcmVzKTtcbn07XG5cbi8qKlxuICogSW52b2tlIGNhbGxiYWNrIHdpdGggeC1kb21haW4gZXJyb3IuXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVxdWVzdC5wcm90b3R5cGUuY3Jvc3NEb21haW5FcnJvciA9IGZ1bmN0aW9uKCl7XG4gIHZhciBlcnIgPSBuZXcgRXJyb3IoJ1JlcXVlc3QgaGFzIGJlZW4gdGVybWluYXRlZFxcblBvc3NpYmxlIGNhdXNlczogdGhlIG5ldHdvcmsgaXMgb2ZmbGluZSwgT3JpZ2luIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiwgdGhlIHBhZ2UgaXMgYmVpbmcgdW5sb2FkZWQsIGV0Yy4nKTtcbiAgZXJyLmNyb3NzRG9tYWluID0gdHJ1ZTtcblxuICBlcnIuc3RhdHVzID0gdGhpcy5zdGF0dXM7XG4gIGVyci5tZXRob2QgPSB0aGlzLm1ldGhvZDtcbiAgZXJyLnVybCA9IHRoaXMudXJsO1xuXG4gIHRoaXMuY2FsbGJhY2soZXJyKTtcbn07XG5cbi8vIFRoaXMgb25seSB3YXJucywgYmVjYXVzZSB0aGUgcmVxdWVzdCBpcyBzdGlsbCBsaWtlbHkgdG8gd29ya1xuUmVxdWVzdC5wcm90b3R5cGUuYnVmZmVyID0gUmVxdWVzdC5wcm90b3R5cGUuY2EgPSBSZXF1ZXN0LnByb3RvdHlwZS5hZ2VudCA9IGZ1bmN0aW9uKCl7XG4gIGNvbnNvbGUud2FybihcIlRoaXMgaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIHZlcnNpb24gb2Ygc3VwZXJhZ2VudFwiKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vLyBUaGlzIHRocm93cywgYmVjYXVzZSBpdCBjYW4ndCBzZW5kL3JlY2VpdmUgZGF0YSBhcyBleHBlY3RlZFxuUmVxdWVzdC5wcm90b3R5cGUucGlwZSA9IFJlcXVlc3QucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oKXtcbiAgdGhyb3cgRXJyb3IoXCJTdHJlYW1pbmcgaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIHZlcnNpb24gb2Ygc3VwZXJhZ2VudFwiKTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYG9iamAgaXMgYSBob3N0IG9iamVjdCxcbiAqIHdlIGRvbid0IHdhbnQgdG8gc2VyaWFsaXplIHRoZXNlIDopXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9ialxuICogQHJldHVybiB7Qm9vbGVhbn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5SZXF1ZXN0LnByb3RvdHlwZS5faXNIb3N0ID0gZnVuY3Rpb24gX2lzSG9zdChvYmopIHtcbiAgLy8gTmF0aXZlIG9iamVjdHMgc3RyaW5naWZ5IHRvIFtvYmplY3QgRmlsZV0sIFtvYmplY3QgQmxvYl0sIFtvYmplY3QgRm9ybURhdGFdLCBldGMuXG4gIHJldHVybiBvYmogJiYgJ29iamVjdCcgPT09IHR5cGVvZiBvYmogJiYgIUFycmF5LmlzQXJyYXkob2JqKSAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSAhPT0gJ1tvYmplY3QgT2JqZWN0XSc7XG59XG5cbi8qKlxuICogSW5pdGlhdGUgcmVxdWVzdCwgaW52b2tpbmcgY2FsbGJhY2sgYGZuKHJlcylgXG4gKiB3aXRoIGFuIGluc3RhbmNlb2YgYFJlc3BvbnNlYC5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3QucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKGZuKXtcbiAgaWYgKHRoaXMuX2VuZENhbGxlZCkge1xuICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IC5lbmQoKSB3YXMgY2FsbGVkIHR3aWNlLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgaW4gc3VwZXJhZ2VudFwiKTtcbiAgfVxuICB0aGlzLl9lbmRDYWxsZWQgPSB0cnVlO1xuXG4gIC8vIHN0b3JlIGNhbGxiYWNrXG4gIHRoaXMuX2NhbGxiYWNrID0gZm4gfHwgbm9vcDtcblxuICAvLyBxdWVyeXN0cmluZ1xuICB0aGlzLl9maW5hbGl6ZVF1ZXJ5U3RyaW5nKCk7XG5cbiAgcmV0dXJuIHRoaXMuX2VuZCgpO1xufTtcblxuUmVxdWVzdC5wcm90b3R5cGUuX2VuZCA9IGZ1bmN0aW9uKCkge1xuICB2YXIgc2VsZiA9IHRoaXM7XG4gIHZhciB4aHIgPSAodGhpcy54aHIgPSByZXF1ZXN0LmdldFhIUigpKTtcbiAgdmFyIGRhdGEgPSB0aGlzLl9mb3JtRGF0YSB8fCB0aGlzLl9kYXRhO1xuXG4gIHRoaXMuX3NldFRpbWVvdXRzKCk7XG5cbiAgLy8gc3RhdGUgY2hhbmdlXG4gIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpe1xuICAgIHZhciByZWFkeVN0YXRlID0geGhyLnJlYWR5U3RhdGU7XG4gICAgaWYgKHJlYWR5U3RhdGUgPj0gMiAmJiBzZWxmLl9yZXNwb25zZVRpbWVvdXRUaW1lcikge1xuICAgICAgY2xlYXJUaW1lb3V0KHNlbGYuX3Jlc3BvbnNlVGltZW91dFRpbWVyKTtcbiAgICB9XG4gICAgaWYgKDQgIT0gcmVhZHlTdGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIEluIElFOSwgcmVhZHMgdG8gYW55IHByb3BlcnR5IChlLmcuIHN0YXR1cykgb2ZmIG9mIGFuIGFib3J0ZWQgWEhSIHdpbGxcbiAgICAvLyByZXN1bHQgaW4gdGhlIGVycm9yIFwiQ291bGQgbm90IGNvbXBsZXRlIHRoZSBvcGVyYXRpb24gZHVlIHRvIGVycm9yIGMwMGMwMjNmXCJcbiAgICB2YXIgc3RhdHVzO1xuICAgIHRyeSB7IHN0YXR1cyA9IHhoci5zdGF0dXMgfSBjYXRjaChlKSB7IHN0YXR1cyA9IDA7IH1cblxuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICBpZiAoc2VsZi50aW1lZG91dCB8fCBzZWxmLl9hYm9ydGVkKSByZXR1cm47XG4gICAgICByZXR1cm4gc2VsZi5jcm9zc0RvbWFpbkVycm9yKCk7XG4gICAgfVxuICAgIHNlbGYuZW1pdCgnZW5kJyk7XG4gIH07XG5cbiAgLy8gcHJvZ3Jlc3NcbiAgdmFyIGhhbmRsZVByb2dyZXNzID0gZnVuY3Rpb24oZGlyZWN0aW9uLCBlKSB7XG4gICAgaWYgKGUudG90YWwgPiAwKSB7XG4gICAgICBlLnBlcmNlbnQgPSBlLmxvYWRlZCAvIGUudG90YWwgKiAxMDA7XG4gICAgfVxuICAgIGUuZGlyZWN0aW9uID0gZGlyZWN0aW9uO1xuICAgIHNlbGYuZW1pdCgncHJvZ3Jlc3MnLCBlKTtcbiAgfTtcbiAgaWYgKHRoaXMuaGFzTGlzdGVuZXJzKCdwcm9ncmVzcycpKSB7XG4gICAgdHJ5IHtcbiAgICAgIHhoci5vbnByb2dyZXNzID0gaGFuZGxlUHJvZ3Jlc3MuYmluZChudWxsLCAnZG93bmxvYWQnKTtcbiAgICAgIGlmICh4aHIudXBsb2FkKSB7XG4gICAgICAgIHhoci51cGxvYWQub25wcm9ncmVzcyA9IGhhbmRsZVByb2dyZXNzLmJpbmQobnVsbCwgJ3VwbG9hZCcpO1xuICAgICAgfVxuICAgIH0gY2F0Y2goZSkge1xuICAgICAgLy8gQWNjZXNzaW5nIHhoci51cGxvYWQgZmFpbHMgaW4gSUUgZnJvbSBhIHdlYiB3b3JrZXIsIHNvIGp1c3QgcHJldGVuZCBpdCBkb2Vzbid0IGV4aXN0LlxuICAgICAgLy8gUmVwb3J0ZWQgaGVyZTpcbiAgICAgIC8vIGh0dHBzOi8vY29ubmVjdC5taWNyb3NvZnQuY29tL0lFL2ZlZWRiYWNrL2RldGFpbHMvODM3MjQ1L3htbGh0dHByZXF1ZXN0LXVwbG9hZC10aHJvd3MtaW52YWxpZC1hcmd1bWVudC13aGVuLXVzZWQtZnJvbS13ZWItd29ya2VyLWNvbnRleHRcbiAgICB9XG4gIH1cblxuICAvLyBpbml0aWF0ZSByZXF1ZXN0XG4gIHRyeSB7XG4gICAgaWYgKHRoaXMudXNlcm5hbWUgJiYgdGhpcy5wYXNzd29yZCkge1xuICAgICAgeGhyLm9wZW4odGhpcy5tZXRob2QsIHRoaXMudXJsLCB0cnVlLCB0aGlzLnVzZXJuYW1lLCB0aGlzLnBhc3N3b3JkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgeGhyLm9wZW4odGhpcy5tZXRob2QsIHRoaXMudXJsLCB0cnVlKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIHNlZSAjMTE0OVxuICAgIHJldHVybiB0aGlzLmNhbGxiYWNrKGVycik7XG4gIH1cblxuICAvLyBDT1JTXG4gIGlmICh0aGlzLl93aXRoQ3JlZGVudGlhbHMpIHhoci53aXRoQ3JlZGVudGlhbHMgPSB0cnVlO1xuXG4gIC8vIGJvZHlcbiAgaWYgKCF0aGlzLl9mb3JtRGF0YSAmJiAnR0VUJyAhPSB0aGlzLm1ldGhvZCAmJiAnSEVBRCcgIT0gdGhpcy5tZXRob2QgJiYgJ3N0cmluZycgIT0gdHlwZW9mIGRhdGEgJiYgIXRoaXMuX2lzSG9zdChkYXRhKSkge1xuICAgIC8vIHNlcmlhbGl6ZSBzdHVmZlxuICAgIHZhciBjb250ZW50VHlwZSA9IHRoaXMuX2hlYWRlclsnY29udGVudC10eXBlJ107XG4gICAgdmFyIHNlcmlhbGl6ZSA9IHRoaXMuX3NlcmlhbGl6ZXIgfHwgcmVxdWVzdC5zZXJpYWxpemVbY29udGVudFR5cGUgPyBjb250ZW50VHlwZS5zcGxpdCgnOycpWzBdIDogJyddO1xuICAgIGlmICghc2VyaWFsaXplICYmIGlzSlNPTihjb250ZW50VHlwZSkpIHtcbiAgICAgIHNlcmlhbGl6ZSA9IHJlcXVlc3Quc2VyaWFsaXplWydhcHBsaWNhdGlvbi9qc29uJ107XG4gICAgfVxuICAgIGlmIChzZXJpYWxpemUpIGRhdGEgPSBzZXJpYWxpemUoZGF0YSk7XG4gIH1cblxuICAvLyBzZXQgaGVhZGVyIGZpZWxkc1xuICBmb3IgKHZhciBmaWVsZCBpbiB0aGlzLmhlYWRlcikge1xuICAgIGlmIChudWxsID09IHRoaXMuaGVhZGVyW2ZpZWxkXSkgY29udGludWU7XG5cbiAgICBpZiAodGhpcy5oZWFkZXIuaGFzT3duUHJvcGVydHkoZmllbGQpKVxuICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoZmllbGQsIHRoaXMuaGVhZGVyW2ZpZWxkXSk7XG4gIH1cblxuICBpZiAodGhpcy5fcmVzcG9uc2VUeXBlKSB7XG4gICAgeGhyLnJlc3BvbnNlVHlwZSA9IHRoaXMuX3Jlc3BvbnNlVHlwZTtcbiAgfVxuXG4gIC8vIHNlbmQgc3R1ZmZcbiAgdGhpcy5lbWl0KCdyZXF1ZXN0JywgdGhpcyk7XG5cbiAgLy8gSUUxMSB4aHIuc2VuZCh1bmRlZmluZWQpIHNlbmRzICd1bmRlZmluZWQnIHN0cmluZyBhcyBQT1NUIHBheWxvYWQgKGluc3RlYWQgb2Ygbm90aGluZylcbiAgLy8gV2UgbmVlZCBudWxsIGhlcmUgaWYgZGF0YSBpcyB1bmRlZmluZWRcbiAgeGhyLnNlbmQodHlwZW9mIGRhdGEgIT09ICd1bmRlZmluZWQnID8gZGF0YSA6IG51bGwpO1xuICByZXR1cm4gdGhpcztcbn07XG5cbnJlcXVlc3QuYWdlbnQgPSBmdW5jdGlvbigpIHtcbiAgcmV0dXJuIG5ldyBBZ2VudCgpO1xufTtcblxuW1wiR0VUXCIsIFwiUE9TVFwiLCBcIk9QVElPTlNcIiwgXCJQQVRDSFwiLCBcIlBVVFwiLCBcIkRFTEVURVwiXS5mb3JFYWNoKGZ1bmN0aW9uKG1ldGhvZCkge1xuICBBZ2VudC5wcm90b3R5cGVbbWV0aG9kLnRvTG93ZXJDYXNlKCldID0gZnVuY3Rpb24odXJsLCBmbikge1xuICAgIHZhciByZXEgPSBuZXcgcmVxdWVzdC5SZXF1ZXN0KG1ldGhvZCwgdXJsKTtcbiAgICB0aGlzLl9zZXREZWZhdWx0cyhyZXEpO1xuICAgIGlmIChmbikge1xuICAgICAgcmVxLmVuZChmbik7XG4gICAgfVxuICAgIHJldHVybiByZXE7XG4gIH07XG59KTtcblxuQWdlbnQucHJvdG90eXBlLmRlbCA9IEFnZW50LnByb3RvdHlwZVsnZGVsZXRlJ107XG5cbi8qKlxuICogR0VUIGB1cmxgIHdpdGggb3B0aW9uYWwgY2FsbGJhY2sgYGZuKHJlcylgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSB7TWl4ZWR8RnVuY3Rpb259IFtkYXRhXSBvciBmblxuICogQHBhcmFtIHtGdW5jdGlvbn0gW2ZuXVxuICogQHJldHVybiB7UmVxdWVzdH1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxucmVxdWVzdC5nZXQgPSBmdW5jdGlvbih1cmwsIGRhdGEsIGZuKSB7XG4gIHZhciByZXEgPSByZXF1ZXN0KCdHRVQnLCB1cmwpO1xuICBpZiAoJ2Z1bmN0aW9uJyA9PSB0eXBlb2YgZGF0YSkgKGZuID0gZGF0YSksIChkYXRhID0gbnVsbCk7XG4gIGlmIChkYXRhKSByZXEucXVlcnkoZGF0YSk7XG4gIGlmIChmbikgcmVxLmVuZChmbik7XG4gIHJldHVybiByZXE7XG59O1xuXG4vKipcbiAqIEhFQUQgYHVybGAgd2l0aCBvcHRpb25hbCBjYWxsYmFjayBgZm4ocmVzKWAuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHVybFxuICogQHBhcmFtIHtNaXhlZHxGdW5jdGlvbn0gW2RhdGFdIG9yIGZuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbZm5dXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5yZXF1ZXN0LmhlYWQgPSBmdW5jdGlvbih1cmwsIGRhdGEsIGZuKSB7XG4gIHZhciByZXEgPSByZXF1ZXN0KCdIRUFEJywgdXJsKTtcbiAgaWYgKCdmdW5jdGlvbicgPT0gdHlwZW9mIGRhdGEpIChmbiA9IGRhdGEpLCAoZGF0YSA9IG51bGwpO1xuICBpZiAoZGF0YSkgcmVxLnF1ZXJ5KGRhdGEpO1xuICBpZiAoZm4pIHJlcS5lbmQoZm4pO1xuICByZXR1cm4gcmVxO1xufTtcblxuLyoqXG4gKiBPUFRJT05TIHF1ZXJ5IHRvIGB1cmxgIHdpdGggb3B0aW9uYWwgY2FsbGJhY2sgYGZuKHJlcylgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSB7TWl4ZWR8RnVuY3Rpb259IFtkYXRhXSBvciBmblxuICogQHBhcmFtIHtGdW5jdGlvbn0gW2ZuXVxuICogQHJldHVybiB7UmVxdWVzdH1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxucmVxdWVzdC5vcHRpb25zID0gZnVuY3Rpb24odXJsLCBkYXRhLCBmbikge1xuICB2YXIgcmVxID0gcmVxdWVzdCgnT1BUSU9OUycsIHVybCk7XG4gIGlmICgnZnVuY3Rpb24nID09IHR5cGVvZiBkYXRhKSAoZm4gPSBkYXRhKSwgKGRhdGEgPSBudWxsKTtcbiAgaWYgKGRhdGEpIHJlcS5zZW5kKGRhdGEpO1xuICBpZiAoZm4pIHJlcS5lbmQoZm4pO1xuICByZXR1cm4gcmVxO1xufTtcblxuLyoqXG4gKiBERUxFVEUgYHVybGAgd2l0aCBvcHRpb25hbCBgZGF0YWAgYW5kIGNhbGxiYWNrIGBmbihyZXMpYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0ge01peGVkfSBbZGF0YV1cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtmbl1cbiAqIEByZXR1cm4ge1JlcXVlc3R9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIGRlbCh1cmwsIGRhdGEsIGZuKSB7XG4gIHZhciByZXEgPSByZXF1ZXN0KCdERUxFVEUnLCB1cmwpO1xuICBpZiAoJ2Z1bmN0aW9uJyA9PSB0eXBlb2YgZGF0YSkgKGZuID0gZGF0YSksIChkYXRhID0gbnVsbCk7XG4gIGlmIChkYXRhKSByZXEuc2VuZChkYXRhKTtcbiAgaWYgKGZuKSByZXEuZW5kKGZuKTtcbiAgcmV0dXJuIHJlcTtcbn1cblxucmVxdWVzdFsnZGVsJ10gPSBkZWw7XG5yZXF1ZXN0WydkZWxldGUnXSA9IGRlbDtcblxuLyoqXG4gKiBQQVRDSCBgdXJsYCB3aXRoIG9wdGlvbmFsIGBkYXRhYCBhbmQgY2FsbGJhY2sgYGZuKHJlcylgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSB7TWl4ZWR9IFtkYXRhXVxuICogQHBhcmFtIHtGdW5jdGlvbn0gW2ZuXVxuICogQHJldHVybiB7UmVxdWVzdH1cbiAqIEBhcGkgcHVibGljXG4gKi9cblxucmVxdWVzdC5wYXRjaCA9IGZ1bmN0aW9uKHVybCwgZGF0YSwgZm4pIHtcbiAgdmFyIHJlcSA9IHJlcXVlc3QoJ1BBVENIJywgdXJsKTtcbiAgaWYgKCdmdW5jdGlvbicgPT0gdHlwZW9mIGRhdGEpIChmbiA9IGRhdGEpLCAoZGF0YSA9IG51bGwpO1xuICBpZiAoZGF0YSkgcmVxLnNlbmQoZGF0YSk7XG4gIGlmIChmbikgcmVxLmVuZChmbik7XG4gIHJldHVybiByZXE7XG59O1xuXG4vKipcbiAqIFBPU1QgYHVybGAgd2l0aCBvcHRpb25hbCBgZGF0YWAgYW5kIGNhbGxiYWNrIGBmbihyZXMpYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0ge01peGVkfSBbZGF0YV1cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtmbl1cbiAqIEByZXR1cm4ge1JlcXVlc3R9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbnJlcXVlc3QucG9zdCA9IGZ1bmN0aW9uKHVybCwgZGF0YSwgZm4pIHtcbiAgdmFyIHJlcSA9IHJlcXVlc3QoJ1BPU1QnLCB1cmwpO1xuICBpZiAoJ2Z1bmN0aW9uJyA9PSB0eXBlb2YgZGF0YSkgKGZuID0gZGF0YSksIChkYXRhID0gbnVsbCk7XG4gIGlmIChkYXRhKSByZXEuc2VuZChkYXRhKTtcbiAgaWYgKGZuKSByZXEuZW5kKGZuKTtcbiAgcmV0dXJuIHJlcTtcbn07XG5cbi8qKlxuICogUFVUIGB1cmxgIHdpdGggb3B0aW9uYWwgYGRhdGFgIGFuZCBjYWxsYmFjayBgZm4ocmVzKWAuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHVybFxuICogQHBhcmFtIHtNaXhlZHxGdW5jdGlvbn0gW2RhdGFdIG9yIGZuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbZm5dXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5yZXF1ZXN0LnB1dCA9IGZ1bmN0aW9uKHVybCwgZGF0YSwgZm4pIHtcbiAgdmFyIHJlcSA9IHJlcXVlc3QoJ1BVVCcsIHVybCk7XG4gIGlmICgnZnVuY3Rpb24nID09IHR5cGVvZiBkYXRhKSAoZm4gPSBkYXRhKSwgKGRhdGEgPSBudWxsKTtcbiAgaWYgKGRhdGEpIHJlcS5zZW5kKGRhdGEpO1xuICBpZiAoZm4pIHJlcS5lbmQoZm4pO1xuICByZXR1cm4gcmVxO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///5\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\nif (true) {\n  module.exports = __webpack_require__(22);\n} else {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9yZWFjdC1pcy9pbmRleC5qcz80Y2VjIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1pcy5kZXZlbG9wbWVudC5qcycpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBRUE7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///6\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\nvar reactIs = __webpack_require__(6);\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n  childContextTypes: true,\n  contextType: true,\n  contextTypes: true,\n  defaultProps: true,\n  displayName: true,\n  getDefaultProps: true,\n  getDerivedStateFromError: true,\n  getDerivedStateFromProps: true,\n  mixins: true,\n  propTypes: true,\n  type: true\n};\nvar KNOWN_STATICS = {\n  name: true,\n  length: true,\n  prototype: true,\n  caller: true,\n  callee: true,\n  arguments: true,\n  arity: true\n};\nvar FORWARD_REF_STATICS = {\n  '$$typeof': true,\n  render: true,\n  defaultProps: true,\n  displayName: true,\n  propTypes: true\n};\nvar MEMO_STATICS = {\n  '$$typeof': true,\n  compare: true,\n  defaultProps: true,\n  displayName: true,\n  propTypes: true,\n  type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n  // React v16.11 and below\n  if (reactIs.isMemo(component)) {\n    return MEMO_STATICS;\n  } // React v16.12 and above\n\n\n  return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n  if (typeof sourceComponent !== 'string') {\n    // don't hoist over string (html) components\n    if (objectPrototype) {\n      var inheritedComponent = getPrototypeOf(sourceComponent);\n\n      if (inheritedComponent && inheritedComponent !== objectPrototype) {\n        hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n      }\n    }\n\n    var keys = getOwnPropertyNames(sourceComponent);\n\n    if (getOwnPropertySymbols) {\n      keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n    }\n\n    var targetStatics = getStatics(targetComponent);\n    var sourceStatics = getStatics(sourceComponent);\n\n    for (var i = 0; i < keys.length; ++i) {\n      var key = keys[i];\n\n      if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n        var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n        try {\n          // Avoid failures from read-only properties\n          defineProperty(targetComponent, key, descriptor);\n        } catch (e) {}\n      }\n    }\n  }\n\n  return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9ob2lzdC1ub24tcmVhY3Qtc3RhdGljcy9kaXN0L2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzLmNqcy5qcz9kYTZhIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHJlYWN0SXMgPSByZXF1aXJlKCdyZWFjdC1pcycpO1xuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1LCBZYWhvbyEgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG52YXIgUkVBQ1RfU1RBVElDUyA9IHtcbiAgY2hpbGRDb250ZXh0VHlwZXM6IHRydWUsXG4gIGNvbnRleHRUeXBlOiB0cnVlLFxuICBjb250ZXh0VHlwZXM6IHRydWUsXG4gIGRlZmF1bHRQcm9wczogdHJ1ZSxcbiAgZGlzcGxheU5hbWU6IHRydWUsXG4gIGdldERlZmF1bHRQcm9wczogdHJ1ZSxcbiAgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yOiB0cnVlLFxuICBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM6IHRydWUsXG4gIG1peGluczogdHJ1ZSxcbiAgcHJvcFR5cGVzOiB0cnVlLFxuICB0eXBlOiB0cnVlXG59O1xudmFyIEtOT1dOX1NUQVRJQ1MgPSB7XG4gIG5hbWU6IHRydWUsXG4gIGxlbmd0aDogdHJ1ZSxcbiAgcHJvdG90eXBlOiB0cnVlLFxuICBjYWxsZXI6IHRydWUsXG4gIGNhbGxlZTogdHJ1ZSxcbiAgYXJndW1lbnRzOiB0cnVlLFxuICBhcml0eTogdHJ1ZVxufTtcbnZhciBGT1JXQVJEX1JFRl9TVEFUSUNTID0ge1xuICAnJCR0eXBlb2YnOiB0cnVlLFxuICByZW5kZXI6IHRydWUsXG4gIGRlZmF1bHRQcm9wczogdHJ1ZSxcbiAgZGlzcGxheU5hbWU6IHRydWUsXG4gIHByb3BUeXBlczogdHJ1ZVxufTtcbnZhciBNRU1PX1NUQVRJQ1MgPSB7XG4gICckJHR5cGVvZic6IHRydWUsXG4gIGNvbXBhcmU6IHRydWUsXG4gIGRlZmF1bHRQcm9wczogdHJ1ZSxcbiAgZGlzcGxheU5hbWU6IHRydWUsXG4gIHByb3BUeXBlczogdHJ1ZSxcbiAgdHlwZTogdHJ1ZVxufTtcbnZhciBUWVBFX1NUQVRJQ1MgPSB7fTtcblRZUEVfU1RBVElDU1tyZWFjdElzLkZvcndhcmRSZWZdID0gRk9SV0FSRF9SRUZfU1RBVElDUztcblRZUEVfU1RBVElDU1tyZWFjdElzLk1lbW9dID0gTUVNT19TVEFUSUNTO1xuXG5mdW5jdGlvbiBnZXRTdGF0aWNzKGNvbXBvbmVudCkge1xuICAvLyBSZWFjdCB2MTYuMTEgYW5kIGJlbG93XG4gIGlmIChyZWFjdElzLmlzTWVtbyhjb21wb25lbnQpKSB7XG4gICAgcmV0dXJuIE1FTU9fU1RBVElDUztcbiAgfSAvLyBSZWFjdCB2MTYuMTIgYW5kIGFib3ZlXG5cblxuICByZXR1cm4gVFlQRV9TVEFUSUNTW2NvbXBvbmVudFsnJCR0eXBlb2YnXV0gfHwgUkVBQ1RfU1RBVElDUztcbn1cblxudmFyIGRlZmluZVByb3BlcnR5ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIGdldE93blByb3BlcnR5TmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcztcbnZhciBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xudmFyIGdldE93blByb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG52YXIgb2JqZWN0UHJvdG90eXBlID0gT2JqZWN0LnByb3RvdHlwZTtcbmZ1bmN0aW9uIGhvaXN0Tm9uUmVhY3RTdGF0aWNzKHRhcmdldENvbXBvbmVudCwgc291cmNlQ29tcG9uZW50LCBibGFja2xpc3QpIHtcbiAgaWYgKHR5cGVvZiBzb3VyY2VDb21wb25lbnQgIT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZG9uJ3QgaG9pc3Qgb3ZlciBzdHJpbmcgKGh0bWwpIGNvbXBvbmVudHNcbiAgICBpZiAob2JqZWN0UHJvdG90eXBlKSB7XG4gICAgICB2YXIgaW5oZXJpdGVkQ29tcG9uZW50ID0gZ2V0UHJvdG90eXBlT2Yoc291cmNlQ29tcG9uZW50KTtcblxuICAgICAgaWYgKGluaGVyaXRlZENvbXBvbmVudCAmJiBpbmhlcml0ZWRDb21wb25lbnQgIT09IG9iamVjdFByb3RvdHlwZSkge1xuICAgICAgICBob2lzdE5vblJlYWN0U3RhdGljcyh0YXJnZXRDb21wb25lbnQsIGluaGVyaXRlZENvbXBvbmVudCwgYmxhY2tsaXN0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIga2V5cyA9IGdldE93blByb3BlcnR5TmFtZXMoc291cmNlQ29tcG9uZW50KTtcblxuICAgIGlmIChnZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgIGtleXMgPSBrZXlzLmNvbmNhdChnZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlQ29tcG9uZW50KSk7XG4gICAgfVxuXG4gICAgdmFyIHRhcmdldFN0YXRpY3MgPSBnZXRTdGF0aWNzKHRhcmdldENvbXBvbmVudCk7XG4gICAgdmFyIHNvdXJjZVN0YXRpY3MgPSBnZXRTdGF0aWNzKHNvdXJjZUNvbXBvbmVudCk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHtcbiAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuXG4gICAgICBpZiAoIUtOT1dOX1NUQVRJQ1Nba2V5XSAmJiAhKGJsYWNrbGlzdCAmJiBibGFja2xpc3Rba2V5XSkgJiYgIShzb3VyY2VTdGF0aWNzICYmIHNvdXJjZVN0YXRpY3Nba2V5XSkgJiYgISh0YXJnZXRTdGF0aWNzICYmIHRhcmdldFN0YXRpY3Nba2V5XSkpIHtcbiAgICAgICAgdmFyIGRlc2NyaXB0b3IgPSBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Ioc291cmNlQ29tcG9uZW50LCBrZXkpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gQXZvaWQgZmFpbHVyZXMgZnJvbSByZWFkLW9ubHkgcHJvcGVydGllc1xuICAgICAgICAgIGRlZmluZVByb3BlcnR5KHRhcmdldENvbXBvbmVudCwga2V5LCBkZXNjcmlwdG9yKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0Q29tcG9uZW50O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGhvaXN0Tm9uUmVhY3RTdGF0aWNzO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///7\n")},function(module,exports,__webpack_require__){"use strict";eval("/*!\n * statuses\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2016 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar codes = __webpack_require__(23)\n\n/**\n * Module exports.\n * @public\n */\n\nmodule.exports = status\n\n// status code to message map\nstatus.STATUS_CODES = codes\n\n// array of status codes\nstatus.codes = populateStatusesMap(status, codes)\n\n// status codes for redirects\nstatus.redirect = {\n  300: true,\n  301: true,\n  302: true,\n  303: true,\n  305: true,\n  307: true,\n  308: true\n}\n\n// status codes for empty bodies\nstatus.empty = {\n  204: true,\n  205: true,\n  304: true\n}\n\n// status codes for when you should retry the request\nstatus.retry = {\n  502: true,\n  503: true,\n  504: true\n}\n\n/**\n * Populate the statuses map for given codes.\n * @private\n */\n\nfunction populateStatusesMap (statuses, codes) {\n  var arr = []\n\n  Object.keys(codes).forEach(function forEachCode (code) {\n    var message = codes[code]\n    var status = Number(code)\n\n    // Populate properties\n    statuses[status] = message\n    statuses[message] = status\n    statuses[message.toLowerCase()] = status\n\n    // Add to array\n    arr.push(status)\n  })\n\n  return arr\n}\n\n/**\n * Get the status code.\n *\n * Given a number, this will throw if it is not a known status\n * code, otherwise the code will be returned. Given a string,\n * the string will be parsed for a number and return the code\n * if valid, otherwise will lookup the code assuming this is\n * the status message.\n *\n * @param {string|number} code\n * @returns {number}\n * @public\n */\n\nfunction status (code) {\n  if (typeof code === 'number') {\n    if (!status[code]) throw new Error('invalid status code: ' + code)\n    return code\n  }\n\n  if (typeof code !== 'string') {\n    throw new TypeError('code must be a number or string')\n  }\n\n  // '403'\n  var n = parseInt(code, 10)\n  if (!isNaN(n)) {\n    if (!status[n]) throw new Error('invalid status code: ' + n)\n    return n\n  }\n\n  n = status[code.toLowerCase()]\n  if (!n) throw new Error('invalid status message: \"' + code + '\"')\n  return n\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9zdGF0dXNlcy9pbmRleC5qcz80ZjUyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogc3RhdHVzZXNcbiAqIENvcHlyaWdodChjKSAyMDE0IEpvbmF0aGFuIE9uZ1xuICogQ29weXJpZ2h0KGMpIDIwMTYgRG91Z2xhcyBDaHJpc3RvcGhlciBXaWxzb25cbiAqIE1JVCBMaWNlbnNlZFxuICovXG5cbid1c2Ugc3RyaWN0J1xuXG4vKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKiBAcHJpdmF0ZVxuICovXG5cbnZhciBjb2RlcyA9IHJlcXVpcmUoJy4vY29kZXMuanNvbicpXG5cbi8qKlxuICogTW9kdWxlIGV4cG9ydHMuXG4gKiBAcHVibGljXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBzdGF0dXNcblxuLy8gc3RhdHVzIGNvZGUgdG8gbWVzc2FnZSBtYXBcbnN0YXR1cy5TVEFUVVNfQ09ERVMgPSBjb2Rlc1xuXG4vLyBhcnJheSBvZiBzdGF0dXMgY29kZXNcbnN0YXR1cy5jb2RlcyA9IHBvcHVsYXRlU3RhdHVzZXNNYXAoc3RhdHVzLCBjb2RlcylcblxuLy8gc3RhdHVzIGNvZGVzIGZvciByZWRpcmVjdHNcbnN0YXR1cy5yZWRpcmVjdCA9IHtcbiAgMzAwOiB0cnVlLFxuICAzMDE6IHRydWUsXG4gIDMwMjogdHJ1ZSxcbiAgMzAzOiB0cnVlLFxuICAzMDU6IHRydWUsXG4gIDMwNzogdHJ1ZSxcbiAgMzA4OiB0cnVlXG59XG5cbi8vIHN0YXR1cyBjb2RlcyBmb3IgZW1wdHkgYm9kaWVzXG5zdGF0dXMuZW1wdHkgPSB7XG4gIDIwNDogdHJ1ZSxcbiAgMjA1OiB0cnVlLFxuICAzMDQ6IHRydWVcbn1cblxuLy8gc3RhdHVzIGNvZGVzIGZvciB3aGVuIHlvdSBzaG91bGQgcmV0cnkgdGhlIHJlcXVlc3RcbnN0YXR1cy5yZXRyeSA9IHtcbiAgNTAyOiB0cnVlLFxuICA1MDM6IHRydWUsXG4gIDUwNDogdHJ1ZVxufVxuXG4vKipcbiAqIFBvcHVsYXRlIHRoZSBzdGF0dXNlcyBtYXAgZm9yIGdpdmVuIGNvZGVzLlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBwb3B1bGF0ZVN0YXR1c2VzTWFwIChzdGF0dXNlcywgY29kZXMpIHtcbiAgdmFyIGFyciA9IFtdXG5cbiAgT2JqZWN0LmtleXMoY29kZXMpLmZvckVhY2goZnVuY3Rpb24gZm9yRWFjaENvZGUgKGNvZGUpIHtcbiAgICB2YXIgbWVzc2FnZSA9IGNvZGVzW2NvZGVdXG4gICAgdmFyIHN0YXR1cyA9IE51bWJlcihjb2RlKVxuXG4gICAgLy8gUG9wdWxhdGUgcHJvcGVydGllc1xuICAgIHN0YXR1c2VzW3N0YXR1c10gPSBtZXNzYWdlXG4gICAgc3RhdHVzZXNbbWVzc2FnZV0gPSBzdGF0dXNcbiAgICBzdGF0dXNlc1ttZXNzYWdlLnRvTG93ZXJDYXNlKCldID0gc3RhdHVzXG5cbiAgICAvLyBBZGQgdG8gYXJyYXlcbiAgICBhcnIucHVzaChzdGF0dXMpXG4gIH0pXG5cbiAgcmV0dXJuIGFyclxufVxuXG4vKipcbiAqIEdldCB0aGUgc3RhdHVzIGNvZGUuXG4gKlxuICogR2l2ZW4gYSBudW1iZXIsIHRoaXMgd2lsbCB0aHJvdyBpZiBpdCBpcyBub3QgYSBrbm93biBzdGF0dXNcbiAqIGNvZGUsIG90aGVyd2lzZSB0aGUgY29kZSB3aWxsIGJlIHJldHVybmVkLiBHaXZlbiBhIHN0cmluZyxcbiAqIHRoZSBzdHJpbmcgd2lsbCBiZSBwYXJzZWQgZm9yIGEgbnVtYmVyIGFuZCByZXR1cm4gdGhlIGNvZGVcbiAqIGlmIHZhbGlkLCBvdGhlcndpc2Ugd2lsbCBsb29rdXAgdGhlIGNvZGUgYXNzdW1pbmcgdGhpcyBpc1xuICogdGhlIHN0YXR1cyBtZXNzYWdlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gY29kZVxuICogQHJldHVybnMge251bWJlcn1cbiAqIEBwdWJsaWNcbiAqL1xuXG5mdW5jdGlvbiBzdGF0dXMgKGNvZGUpIHtcbiAgaWYgKHR5cGVvZiBjb2RlID09PSAnbnVtYmVyJykge1xuICAgIGlmICghc3RhdHVzW2NvZGVdKSB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgc3RhdHVzIGNvZGU6ICcgKyBjb2RlKVxuICAgIHJldHVybiBjb2RlXG4gIH1cblxuICBpZiAodHlwZW9mIGNvZGUgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignY29kZSBtdXN0IGJlIGEgbnVtYmVyIG9yIHN0cmluZycpXG4gIH1cblxuICAvLyAnNDAzJ1xuICB2YXIgbiA9IHBhcnNlSW50KGNvZGUsIDEwKVxuICBpZiAoIWlzTmFOKG4pKSB7XG4gICAgaWYgKCFzdGF0dXNbbl0pIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzdGF0dXMgY29kZTogJyArIG4pXG4gICAgcmV0dXJuIG5cbiAgfVxuXG4gIG4gPSBzdGF0dXNbY29kZS50b0xvd2VyQ2FzZSgpXVxuICBpZiAoIW4pIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBzdGF0dXMgbWVzc2FnZTogXCInICsgY29kZSArICdcIicpXG4gIHJldHVybiBuXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///8\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// CONCATENATED MODULE: ./node_modules/@emotion/memoize/dist/memoize.browser.esm.js\nfunction memoize(fn) {\n  var cache = {};\n  return function (arg) {\n    if (cache[arg] === undefined) cache[arg] = fn(arg);\n    return cache[arg];\n  };\n}\n\n/* harmony default export */ var memoize_browser_esm = (memoize);\n\n// CONCATENATED MODULE: ./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js\n\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize_browser_esm(function (prop) {\n  return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n  /* o */\n  && prop.charCodeAt(1) === 110\n  /* n */\n  && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\n/* harmony default export */ var is_prop_valid_browser_esm = __webpack_exports__["a"] = (index);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9tZW1vaXplL2Rpc3QvbWVtb2l6ZS5icm93c2VyLmVzbS5qcz9lMmE0Iiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9AZW1vdGlvbi9pcy1wcm9wLXZhbGlkL2Rpc3QvaXMtcHJvcC12YWxpZC5icm93c2VyLmVzbS5qcz9mNmU4Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIG1lbW9pemUoZm4pIHtcbiAgdmFyIGNhY2hlID0ge307XG4gIHJldHVybiBmdW5jdGlvbiAoYXJnKSB7XG4gICAgaWYgKGNhY2hlW2FyZ10gPT09IHVuZGVmaW5lZCkgY2FjaGVbYXJnXSA9IGZuKGFyZyk7XG4gICAgcmV0dXJuIGNhY2hlW2FyZ107XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lbW9pemU7XG4iLCJpbXBvcnQgbWVtb2l6ZSBmcm9tICdAZW1vdGlvbi9tZW1vaXplJztcblxudmFyIHJlYWN0UHJvcHNSZWdleCA9IC9eKChjaGlsZHJlbnxkYW5nZXJvdXNseVNldElubmVySFRNTHxrZXl8cmVmfGF1dG9Gb2N1c3xkZWZhdWx0VmFsdWV8ZGVmYXVsdENoZWNrZWR8aW5uZXJIVE1MfHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZ3xzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmd8dmFsdWVMaW5rfGFjY2VwdHxhY2NlcHRDaGFyc2V0fGFjY2Vzc0tleXxhY3Rpb258YWxsb3d8YWxsb3dVc2VyTWVkaWF8YWxsb3dQYXltZW50UmVxdWVzdHxhbGxvd0Z1bGxTY3JlZW58YWxsb3dUcmFuc3BhcmVuY3l8YWx0fGFzeW5jfGF1dG9Db21wbGV0ZXxhdXRvUGxheXxjYXB0dXJlfGNlbGxQYWRkaW5nfGNlbGxTcGFjaW5nfGNoYWxsZW5nZXxjaGFyU2V0fGNoZWNrZWR8Y2l0ZXxjbGFzc0lEfGNsYXNzTmFtZXxjb2xzfGNvbFNwYW58Y29udGVudHxjb250ZW50RWRpdGFibGV8Y29udGV4dE1lbnV8Y29udHJvbHN8Y29udHJvbHNMaXN0fGNvb3Jkc3xjcm9zc09yaWdpbnxkYXRhfGRhdGVUaW1lfGRlY29kaW5nfGRlZmF1bHR8ZGVmZXJ8ZGlyfGRpc2FibGVkfGRpc2FibGVQaWN0dXJlSW5QaWN0dXJlfGRvd25sb2FkfGRyYWdnYWJsZXxlbmNUeXBlfGZvcm18Zm9ybUFjdGlvbnxmb3JtRW5jVHlwZXxmb3JtTWV0aG9kfGZvcm1Ob1ZhbGlkYXRlfGZvcm1UYXJnZXR8ZnJhbWVCb3JkZXJ8aGVhZGVyc3xoZWlnaHR8aGlkZGVufGhpZ2h8aHJlZnxocmVmTGFuZ3xodG1sRm9yfGh0dHBFcXVpdnxpZHxpbnB1dE1vZGV8aW50ZWdyaXR5fGlzfGtleVBhcmFtc3xrZXlUeXBlfGtpbmR8bGFiZWx8bGFuZ3xsaXN0fGxvYWRpbmd8bG9vcHxsb3d8bWFyZ2luSGVpZ2h0fG1hcmdpbldpZHRofG1heHxtYXhMZW5ndGh8bWVkaWF8bWVkaWFHcm91cHxtZXRob2R8bWlufG1pbkxlbmd0aHxtdWx0aXBsZXxtdXRlZHxuYW1lfG5vbmNlfG5vVmFsaWRhdGV8b3BlbnxvcHRpbXVtfHBhdHRlcm58cGxhY2Vob2xkZXJ8cGxheXNJbmxpbmV8cG9zdGVyfHByZWxvYWR8cHJvZmlsZXxyYWRpb0dyb3VwfHJlYWRPbmx5fHJlZmVycmVyUG9saWN5fHJlbHxyZXF1aXJlZHxyZXZlcnNlZHxyb2xlfHJvd3N8cm93U3BhbnxzYW5kYm94fHNjb3BlfHNjb3BlZHxzY3JvbGxpbmd8c2VhbWxlc3N8c2VsZWN0ZWR8c2hhcGV8c2l6ZXxzaXplc3xzbG90fHNwYW58c3BlbGxDaGVja3xzcmN8c3JjRG9jfHNyY0xhbmd8c3JjU2V0fHN0YXJ0fHN0ZXB8c3R5bGV8c3VtbWFyeXx0YWJJbmRleHx0YXJnZXR8dGl0bGV8dHlwZXx1c2VNYXB8dmFsdWV8d2lkdGh8d21vZGV8d3JhcHxhYm91dHxkYXRhdHlwZXxpbmxpc3R8cHJlZml4fHByb3BlcnR5fHJlc291cmNlfHR5cGVvZnx2b2NhYnxhdXRvQ2FwaXRhbGl6ZXxhdXRvQ29ycmVjdHxhdXRvU2F2ZXxjb2xvcnxpbmVydHxpdGVtUHJvcHxpdGVtU2NvcGV8aXRlbVR5cGV8aXRlbUlEfGl0ZW1SZWZ8b258cmVzdWx0c3xzZWN1cml0eXx1bnNlbGVjdGFibGV8YWNjZW50SGVpZ2h0fGFjY3VtdWxhdGV8YWRkaXRpdmV8YWxpZ25tZW50QmFzZWxpbmV8YWxsb3dSZW9yZGVyfGFscGhhYmV0aWN8YW1wbGl0dWRlfGFyYWJpY0Zvcm18YXNjZW50fGF0dHJpYnV0ZU5hbWV8YXR0cmlidXRlVHlwZXxhdXRvUmV2ZXJzZXxhemltdXRofGJhc2VGcmVxdWVuY3l8YmFzZWxpbmVTaGlmdHxiYXNlUHJvZmlsZXxiYm94fGJlZ2lufGJpYXN8Ynl8Y2FsY01vZGV8Y2FwSGVpZ2h0fGNsaXB8Y2xpcFBhdGhVbml0c3xjbGlwUGF0aHxjbGlwUnVsZXxjb2xvckludGVycG9sYXRpb258Y29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyc3xjb2xvclByb2ZpbGV8Y29sb3JSZW5kZXJpbmd8Y29udGVudFNjcmlwdFR5cGV8Y29udGVudFN0eWxlVHlwZXxjdXJzb3J8Y3h8Y3l8ZHxkZWNlbGVyYXRlfGRlc2NlbnR8ZGlmZnVzZUNvbnN0YW50fGRpcmVjdGlvbnxkaXNwbGF5fGRpdmlzb3J8ZG9taW5hbnRCYXNlbGluZXxkdXJ8ZHh8ZHl8ZWRnZU1vZGV8ZWxldmF0aW9ufGVuYWJsZUJhY2tncm91bmR8ZW5kfGV4cG9uZW50fGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWR8ZmlsbHxmaWxsT3BhY2l0eXxmaWxsUnVsZXxmaWx0ZXJ8ZmlsdGVyUmVzfGZpbHRlclVuaXRzfGZsb29kQ29sb3J8Zmxvb2RPcGFjaXR5fGZvY3VzYWJsZXxmb250RmFtaWx5fGZvbnRTaXplfGZvbnRTaXplQWRqdXN0fGZvbnRTdHJldGNofGZvbnRTdHlsZXxmb250VmFyaWFudHxmb250V2VpZ2h0fGZvcm1hdHxmcm9tfGZyfGZ4fGZ5fGcxfGcyfGdseXBoTmFtZXxnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbHxnbHlwaE9yaWVudGF0aW9uVmVydGljYWx8Z2x5cGhSZWZ8Z3JhZGllbnRUcmFuc2Zvcm18Z3JhZGllbnRVbml0c3xoYW5naW5nfGhvcml6QWR2WHxob3Jpek9yaWdpblh8aWRlb2dyYXBoaWN8aW1hZ2VSZW5kZXJpbmd8aW58aW4yfGludGVyY2VwdHxrfGsxfGsyfGszfGs0fGtlcm5lbE1hdHJpeHxrZXJuZWxVbml0TGVuZ3RofGtlcm5pbmd8a2V5UG9pbnRzfGtleVNwbGluZXN8a2V5VGltZXN8bGVuZ3RoQWRqdXN0fGxldHRlclNwYWNpbmd8bGlnaHRpbmdDb2xvcnxsaW1pdGluZ0NvbmVBbmdsZXxsb2NhbHxtYXJrZXJFbmR8bWFya2VyTWlkfG1hcmtlclN0YXJ0fG1hcmtlckhlaWdodHxtYXJrZXJVbml0c3xtYXJrZXJXaWR0aHxtYXNrfG1hc2tDb250ZW50VW5pdHN8bWFza1VuaXRzfG1hdGhlbWF0aWNhbHxtb2RlfG51bU9jdGF2ZXN8b2Zmc2V0fG9wYWNpdHl8b3BlcmF0b3J8b3JkZXJ8b3JpZW50fG9yaWVudGF0aW9ufG9yaWdpbnxvdmVyZmxvd3xvdmVybGluZVBvc2l0aW9ufG92ZXJsaW5lVGhpY2tuZXNzfHBhbm9zZTF8cGFpbnRPcmRlcnxwYXRoTGVuZ3RofHBhdHRlcm5Db250ZW50VW5pdHN8cGF0dGVyblRyYW5zZm9ybXxwYXR0ZXJuVW5pdHN8cG9pbnRlckV2ZW50c3xwb2ludHN8cG9pbnRzQXRYfHBvaW50c0F0WXxwb2ludHNBdFp8cHJlc2VydmVBbHBoYXxwcmVzZXJ2ZUFzcGVjdFJhdGlvfHByaW1pdGl2ZVVuaXRzfHJ8cmFkaXVzfHJlZlh8cmVmWXxyZW5kZXJpbmdJbnRlbnR8cmVwZWF0Q291bnR8cmVwZWF0RHVyfHJlcXVpcmVkRXh0ZW5zaW9uc3xyZXF1aXJlZEZlYXR1cmVzfHJlc3RhcnR8cmVzdWx0fHJvdGF0ZXxyeHxyeXxzY2FsZXxzZWVkfHNoYXBlUmVuZGVyaW5nfHNsb3BlfHNwYWNpbmd8c3BlY3VsYXJDb25zdGFudHxzcGVjdWxhckV4cG9uZW50fHNwZWVkfHNwcmVhZE1ldGhvZHxzdGFydE9mZnNldHxzdGREZXZpYXRpb258c3RlbWh8c3RlbXZ8c3RpdGNoVGlsZXN8c3RvcENvbG9yfHN0b3BPcGFjaXR5fHN0cmlrZXRocm91Z2hQb3NpdGlvbnxzdHJpa2V0aHJvdWdoVGhpY2tuZXNzfHN0cmluZ3xzdHJva2V8c3Ryb2tlRGFzaGFycmF5fHN0cm9rZURhc2hvZmZzZXR8c3Ryb2tlTGluZWNhcHxzdHJva2VMaW5lam9pbnxzdHJva2VNaXRlcmxpbWl0fHN0cm9rZU9wYWNpdHl8c3Ryb2tlV2lkdGh8c3VyZmFjZVNjYWxlfHN5c3RlbUxhbmd1YWdlfHRhYmxlVmFsdWVzfHRhcmdldFh8dGFyZ2V0WXx0ZXh0QW5jaG9yfHRleHREZWNvcmF0aW9ufHRleHRSZW5kZXJpbmd8dGV4dExlbmd0aHx0b3x0cmFuc2Zvcm18dTF8dTJ8dW5kZXJsaW5lUG9zaXRpb258dW5kZXJsaW5lVGhpY2tuZXNzfHVuaWNvZGV8dW5pY29kZUJpZGl8dW5pY29kZVJhbmdlfHVuaXRzUGVyRW18dkFscGhhYmV0aWN8dkhhbmdpbmd8dklkZW9ncmFwaGljfHZNYXRoZW1hdGljYWx8dmFsdWVzfHZlY3RvckVmZmVjdHx2ZXJzaW9ufHZlcnRBZHZZfHZlcnRPcmlnaW5YfHZlcnRPcmlnaW5ZfHZpZXdCb3h8dmlld1RhcmdldHx2aXNpYmlsaXR5fHdpZHRoc3x3b3JkU3BhY2luZ3x3cml0aW5nTW9kZXx4fHhIZWlnaHR8eDF8eDJ8eENoYW5uZWxTZWxlY3Rvcnx4bGlua0FjdHVhdGV8eGxpbmtBcmNyb2xlfHhsaW5rSHJlZnx4bGlua1JvbGV8eGxpbmtTaG93fHhsaW5rVGl0bGV8eGxpbmtUeXBlfHhtbEJhc2V8eG1sbnN8eG1sbnNYbGlua3x4bWxMYW5nfHhtbFNwYWNlfHl8eTF8eTJ8eUNoYW5uZWxTZWxlY3Rvcnx6fHpvb21BbmRQYW58Zm9yfGNsYXNzfGF1dG9mb2N1cyl8KChbRGRdW0FhXVtUdF1bQWFdfFtBYV1bUnJdW0lpXVtBYV18eCktLiopKSQvOyAvLyBodHRwczovL2VzYmVuY2guY29tL2JlbmNoLzViZmVlNjhhNGNkN2U2MDA5ZWY2MWQyM1xuXG52YXIgaW5kZXggPSBtZW1vaXplKGZ1bmN0aW9uIChwcm9wKSB7XG4gIHJldHVybiByZWFjdFByb3BzUmVnZXgudGVzdChwcm9wKSB8fCBwcm9wLmNoYXJDb2RlQXQoMCkgPT09IDExMVxuICAvKiBvICovXG4gICYmIHByb3AuY2hhckNvZGVBdCgxKSA9PT0gMTEwXG4gIC8qIG4gKi9cbiAgJiYgcHJvcC5jaGFyQ29kZUF0KDIpIDwgOTE7XG59XG4vKiBaKzEgKi9cbik7XG5cbmV4cG9ydCBkZWZhdWx0IGluZGV4O1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///9\n')},function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5zY3NzPzBkNWIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///10\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\n/**\n * Check if `obj` is an object.\n *\n * @param {Object} obj\n * @return {Boolean}\n * @api private\n */\n\nfunction isObject(obj) {\n  return null !== obj && 'object' === typeof obj;\n}\n\nmodule.exports = isObject;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvc3VwZXJhZ2VudC9saWIvaXMtb2JqZWN0LmpzP2YzMzgiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENoZWNrIGlmIGBvYmpgIGlzIGFuIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqXG4gKiBAcmV0dXJuIHtCb29sZWFufVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gaXNPYmplY3Qob2JqKSB7XG4gIHJldHVybiBudWxsICE9PSBvYmogJiYgJ29iamVjdCcgPT09IHR5cGVvZiBvYmo7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaXNPYmplY3Q7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///11\n")},function(module,exports,__webpack_require__){eval('/*!\n * accounting.js v0.4.1\n * Copyright 2014 Open Exchange Rates\n *\n * Freely distributable under the MIT license.\n * Portions of accounting.js are inspired or borrowed from underscore.js\n *\n * Full details and documentation:\n * http://openexchangerates.github.io/accounting.js/\n */\n\n(function(root, undefined) {\n\n\t/* --- Setup --- */\n\n\t// Create the local library object, to be exported or referenced globally later\n\tvar lib = {};\n\n\t// Current version\n\tlib.version = \'0.4.1\';\n\n\n\t/* --- Exposed settings --- */\n\n\t// The library\'s settings configuration object. Contains default parameters for\n\t// currency and number formatting\n\tlib.settings = {\n\t\tcurrency: {\n\t\t\tsymbol : "$",\t\t// default currency symbol is \'$\'\n\t\t\tformat : "%s%v",\t// controls output: %s = symbol, %v = value (can be object, see docs)\n\t\t\tdecimal : ".",\t\t// decimal point separator\n\t\t\tthousand : ",",\t\t// thousands separator\n\t\t\tprecision : 2,\t\t// decimal places\n\t\t\tgrouping : 3\t\t// digit grouping (not implemented yet)\n\t\t},\n\t\tnumber: {\n\t\t\tprecision : 0,\t\t// default precision on numbers is 0\n\t\t\tgrouping : 3,\t\t// digit grouping (not implemented yet)\n\t\t\tthousand : ",",\n\t\t\tdecimal : "."\n\t\t}\n\t};\n\n\n\t/* --- Internal Helper Methods --- */\n\n\t// Store reference to possibly-available ECMAScript 5 methods for later\n\tvar nativeMap = Array.prototype.map,\n\t\tnativeIsArray = Array.isArray,\n\t\ttoString = Object.prototype.toString;\n\n\t/**\n\t * Tests whether supplied parameter is a string\n\t * from underscore.js\n\t */\n\tfunction isString(obj) {\n\t\treturn !!(obj === \'\' || (obj && obj.charCodeAt && obj.substr));\n\t}\n\n\t/**\n\t * Tests whether supplied parameter is a string\n\t * from underscore.js, delegates to ECMA5\'s native Array.isArray\n\t */\n\tfunction isArray(obj) {\n\t\treturn nativeIsArray ? nativeIsArray(obj) : toString.call(obj) === \'[object Array]\';\n\t}\n\n\t/**\n\t * Tests whether supplied parameter is a true object\n\t */\n\tfunction isObject(obj) {\n\t\treturn obj && toString.call(obj) === \'[object Object]\';\n\t}\n\n\t/**\n\t * Extends an object with a defaults object, similar to underscore\'s _.defaults\n\t *\n\t * Used for abstracting parameter handling from API methods\n\t */\n\tfunction defaults(object, defs) {\n\t\tvar key;\n\t\tobject = object || {};\n\t\tdefs = defs || {};\n\t\t// Iterate over object non-prototype properties:\n\t\tfor (key in defs) {\n\t\t\tif (defs.hasOwnProperty(key)) {\n\t\t\t\t// Replace values with defaults only if undefined (allow empty/zero values):\n\t\t\t\tif (object[key] == null) object[key] = defs[key];\n\t\t\t}\n\t\t}\n\t\treturn object;\n\t}\n\n\t/**\n\t * Implementation of `Array.map()` for iteration loops\n\t *\n\t * Returns a new Array as a result of calling `iterator` on each array value.\n\t * Defers to native Array.map if available\n\t */\n\tfunction map(obj, iterator, context) {\n\t\tvar results = [], i, j;\n\n\t\tif (!obj) return results;\n\n\t\t// Use native .map method if it exists:\n\t\tif (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);\n\n\t\t// Fallback for native .map:\n\t\tfor (i = 0, j = obj.length; i < j; i++ ) {\n\t\t\tresults[i] = iterator.call(context, obj[i], i, obj);\n\t\t}\n\t\treturn results;\n\t}\n\n\t/**\n\t * Check and normalise the value of precision (must be positive integer)\n\t */\n\tfunction checkPrecision(val, base) {\n\t\tval = Math.round(Math.abs(val));\n\t\treturn isNaN(val)? base : val;\n\t}\n\n\n\t/**\n\t * Parses a format string or object and returns format obj for use in rendering\n\t *\n\t * `format` is either a string with the default (positive) format, or object\n\t * containing `pos` (required), `neg` and `zero` values (or a function returning\n\t * either a string or object)\n\t *\n\t * Either string or format.pos must contain "%v" (value) to be valid\n\t */\n\tfunction checkCurrencyFormat(format) {\n\t\tvar defaults = lib.settings.currency.format;\n\n\t\t// Allow function as format parameter (should return string or object):\n\t\tif ( typeof format === "function" ) format = format();\n\n\t\t// Format can be a string, in which case `value` ("%v") must be present:\n\t\tif ( isString( format ) && format.match("%v") ) {\n\n\t\t\t// Create and return positive, negative and zero formats:\n\t\t\treturn {\n\t\t\t\tpos : format,\n\t\t\t\tneg : format.replace("-", "").replace("%v", "-%v"),\n\t\t\t\tzero : format\n\t\t\t};\n\n\t\t// If no format, or object is missing valid positive value, use defaults:\n\t\t} else if ( !format || !format.pos || !format.pos.match("%v") ) {\n\n\t\t\t// If defaults is a string, casts it to an object for faster checking next time:\n\t\t\treturn ( !isString( defaults ) ) ? defaults : lib.settings.currency.format = {\n\t\t\t\tpos : defaults,\n\t\t\t\tneg : defaults.replace("%v", "-%v"),\n\t\t\t\tzero : defaults\n\t\t\t};\n\n\t\t}\n\t\t// Otherwise, assume format was fine:\n\t\treturn format;\n\t}\n\n\n\t/* --- API Methods --- */\n\n\t/**\n\t * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value\n\t * Alias: `accounting.parse(string)`\n\t *\n\t * Decimal must be included in the regular expression to match floats (defaults to\n\t * accounting.settings.number.decimal), so if the number uses a non-standard decimal \n\t * separator, provide it as the second argument.\n\t *\n\t * Also matches bracketed negatives (eg. "$ (1.99)" => -1.99)\n\t *\n\t * Doesn\'t throw any errors (`NaN`s become 0) but this may change in future\n\t */\n\tvar unformat = lib.unformat = lib.parse = function(value, decimal) {\n\t\t// Recursively unformat arrays:\n\t\tif (isArray(value)) {\n\t\t\treturn map(value, function(val) {\n\t\t\t\treturn unformat(val, decimal);\n\t\t\t});\n\t\t}\n\n\t\t// Fails silently (need decent errors):\n\t\tvalue = value || 0;\n\n\t\t// Return the value as-is if it\'s already a number:\n\t\tif (typeof value === "number") return value;\n\n\t\t// Default decimal point comes from settings, but could be set to eg. "," in opts:\n\t\tdecimal = decimal || lib.settings.number.decimal;\n\n\t\t // Build regex to strip out everything except digits, decimal point and minus sign:\n\t\tvar regex = new RegExp("[^0-9-" + decimal + "]", ["g"]),\n\t\t\tunformatted = parseFloat(\n\t\t\t\t("" + value)\n\t\t\t\t.replace(/\\((.*)\\)/, "-$1") // replace bracketed values with negatives\n\t\t\t\t.replace(regex, \'\')         // strip out any cruft\n\t\t\t\t.replace(decimal, \'.\')      // make sure decimal point is standard\n\t\t\t);\n\n\t\t// This will fail silently which may cause trouble, let\'s wait and see:\n\t\treturn !isNaN(unformatted) ? unformatted : 0;\n\t};\n\n\n\t/**\n\t * Implementation of toFixed() that treats floats more like decimals\n\t *\n\t * Fixes binary rounding issues (eg. (0.615).toFixed(2) === "0.61") that present\n\t * problems for accounting- and finance-related software.\n\t */\n\tvar toFixed = lib.toFixed = function(value, precision) {\n\t\tprecision = checkPrecision(precision, lib.settings.number.precision);\n\t\tvar power = Math.pow(10, precision);\n\n\t\t// Multiply up by precision, round accurately, then divide and use native toFixed():\n\t\treturn (Math.round(lib.unformat(value) * power) / power).toFixed(precision);\n\t};\n\n\n\t/**\n\t * Format a number, with comma-separated thousands and custom precision/decimal places\n\t * Alias: `accounting.format()`\n\t *\n\t * Localise by overriding the precision and thousand / decimal separators\n\t * 2nd parameter `precision` can be an object matching `settings.number`\n\t */\n\tvar formatNumber = lib.formatNumber = lib.format = function(number, precision, thousand, decimal) {\n\t\t// Resursively format arrays:\n\t\tif (isArray(number)) {\n\t\t\treturn map(number, function(val) {\n\t\t\t\treturn formatNumber(val, precision, thousand, decimal);\n\t\t\t});\n\t\t}\n\n\t\t// Clean up number:\n\t\tnumber = unformat(number);\n\n\t\t// Build options object from second param (if object) or all params, extending defaults:\n\t\tvar opts = defaults(\n\t\t\t\t(isObject(precision) ? precision : {\n\t\t\t\t\tprecision : precision,\n\t\t\t\t\tthousand : thousand,\n\t\t\t\t\tdecimal : decimal\n\t\t\t\t}),\n\t\t\t\tlib.settings.number\n\t\t\t),\n\n\t\t\t// Clean up precision\n\t\t\tusePrecision = checkPrecision(opts.precision),\n\n\t\t\t// Do some calc:\n\t\t\tnegative = number < 0 ? "-" : "",\n\t\t\tbase = parseInt(toFixed(Math.abs(number || 0), usePrecision), 10) + "",\n\t\t\tmod = base.length > 3 ? base.length % 3 : 0;\n\n\t\t// Format the number:\n\t\treturn negative + (mod ? base.substr(0, mod) + opts.thousand : "") + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, "$1" + opts.thousand) + (usePrecision ? opts.decimal + toFixed(Math.abs(number), usePrecision).split(\'.\')[1] : "");\n\t};\n\n\n\t/**\n\t * Format a number into currency\n\t *\n\t * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)\n\t * defaults: (0, "$", 2, ",", ".", "%s%v")\n\t *\n\t * Localise by overriding the symbol, precision, thousand / decimal separators and format\n\t * Second param can be an object matching `settings.currency` which is the easiest way.\n\t *\n\t * To do: tidy up the parameters\n\t */\n\tvar formatMoney = lib.formatMoney = function(number, symbol, precision, thousand, decimal, format) {\n\t\t// Resursively format arrays:\n\t\tif (isArray(number)) {\n\t\t\treturn map(number, function(val){\n\t\t\t\treturn formatMoney(val, symbol, precision, thousand, decimal, format);\n\t\t\t});\n\t\t}\n\n\t\t// Clean up number:\n\t\tnumber = unformat(number);\n\n\t\t// Build options object from second param (if object) or all params, extending defaults:\n\t\tvar opts = defaults(\n\t\t\t\t(isObject(symbol) ? symbol : {\n\t\t\t\t\tsymbol : symbol,\n\t\t\t\t\tprecision : precision,\n\t\t\t\t\tthousand : thousand,\n\t\t\t\t\tdecimal : decimal,\n\t\t\t\t\tformat : format\n\t\t\t\t}),\n\t\t\t\tlib.settings.currency\n\t\t\t),\n\n\t\t\t// Check format (returns object with pos, neg and zero):\n\t\t\tformats = checkCurrencyFormat(opts.format),\n\n\t\t\t// Choose which format to use for this value:\n\t\t\tuseFormat = number > 0 ? formats.pos : number < 0 ? formats.neg : formats.zero;\n\n\t\t// Return with currency symbol added:\n\t\treturn useFormat.replace(\'%s\', opts.symbol).replace(\'%v\', formatNumber(Math.abs(number), checkPrecision(opts.precision), opts.thousand, opts.decimal));\n\t};\n\n\n\t/**\n\t * Format a list of numbers into an accounting column, padding with whitespace\n\t * to line up currency symbols, thousand separators and decimals places\n\t *\n\t * List should be an array of numbers\n\t * Second parameter can be an object containing keys that match the params\n\t *\n\t * Returns array of accouting-formatted number strings of same length\n\t *\n\t * NB: `white-space:pre` CSS rule is required on the list container to prevent\n\t * browsers from collapsing the whitespace in the output strings.\n\t */\n\tlib.formatColumn = function(list, symbol, precision, thousand, decimal, format) {\n\t\tif (!list) return [];\n\n\t\t// Build options object from second param (if object) or all params, extending defaults:\n\t\tvar opts = defaults(\n\t\t\t\t(isObject(symbol) ? symbol : {\n\t\t\t\t\tsymbol : symbol,\n\t\t\t\t\tprecision : precision,\n\t\t\t\t\tthousand : thousand,\n\t\t\t\t\tdecimal : decimal,\n\t\t\t\t\tformat : format\n\t\t\t\t}),\n\t\t\t\tlib.settings.currency\n\t\t\t),\n\n\t\t\t// Check format (returns object with pos, neg and zero), only need pos for now:\n\t\t\tformats = checkCurrencyFormat(opts.format),\n\n\t\t\t// Whether to pad at start of string or after currency symbol:\n\t\t\tpadAfterSymbol = formats.pos.indexOf("%s") < formats.pos.indexOf("%v") ? true : false,\n\n\t\t\t// Store value for the length of the longest string in the column:\n\t\t\tmaxLength = 0,\n\n\t\t\t// Format the list according to options, store the length of the longest string:\n\t\t\tformatted = map(list, function(val, i) {\n\t\t\t\tif (isArray(val)) {\n\t\t\t\t\t// Recursively format columns if list is a multi-dimensional array:\n\t\t\t\t\treturn lib.formatColumn(val, opts);\n\t\t\t\t} else {\n\t\t\t\t\t// Clean up the value\n\t\t\t\t\tval = unformat(val);\n\n\t\t\t\t\t// Choose which format to use for this value (pos, neg or zero):\n\t\t\t\t\tvar useFormat = val > 0 ? formats.pos : val < 0 ? formats.neg : formats.zero,\n\n\t\t\t\t\t\t// Format this value, push into formatted list and save the length:\n\t\t\t\t\t\tfVal = useFormat.replace(\'%s\', opts.symbol).replace(\'%v\', formatNumber(Math.abs(val), checkPrecision(opts.precision), opts.thousand, opts.decimal));\n\n\t\t\t\t\tif (fVal.length > maxLength) maxLength = fVal.length;\n\t\t\t\t\treturn fVal;\n\t\t\t\t}\n\t\t\t});\n\n\t\t// Pad each number in the list and send back the column of numbers:\n\t\treturn map(formatted, function(val, i) {\n\t\t\t// Only if this is a string (not a nested array, which would have already been padded):\n\t\t\tif (isString(val) && val.length < maxLength) {\n\t\t\t\t// Depending on symbol position, pad after symbol or at index 0:\n\t\t\t\treturn padAfterSymbol ? val.replace(opts.symbol, opts.symbol+(new Array(maxLength - val.length + 1).join(" "))) : (new Array(maxLength - val.length + 1).join(" ")) + val;\n\t\t\t}\n\t\t\treturn val;\n\t\t});\n\t};\n\n\n\t/* --- Module Definition --- */\n\n\t// Export accounting for CommonJS. If being loaded as an AMD module, define it as such.\n\t// Otherwise, just add `accounting` to the global object\n\tif (true) {\n\t\tif ( true && module.exports) {\n\t\t\texports = module.exports = lib;\n\t\t}\n\t\texports.accounting = lib;\n\t} else {}\n\n\t// Root will be `window` in browser or `global` on the server:\n}(this));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvYWNjb3VudGluZy9hY2NvdW50aW5nLmpzP2Y1NDUiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBhY2NvdW50aW5nLmpzIHYwLjQuMVxuICogQ29weXJpZ2h0IDIwMTQgT3BlbiBFeGNoYW5nZSBSYXRlc1xuICpcbiAqIEZyZWVseSBkaXN0cmlidXRhYmxlIHVuZGVyIHRoZSBNSVQgbGljZW5zZS5cbiAqIFBvcnRpb25zIG9mIGFjY291bnRpbmcuanMgYXJlIGluc3BpcmVkIG9yIGJvcnJvd2VkIGZyb20gdW5kZXJzY29yZS5qc1xuICpcbiAqIEZ1bGwgZGV0YWlscyBhbmQgZG9jdW1lbnRhdGlvbjpcbiAqIGh0dHA6Ly9vcGVuZXhjaGFuZ2VyYXRlcy5naXRodWIuaW8vYWNjb3VudGluZy5qcy9cbiAqL1xuXG4oZnVuY3Rpb24ocm9vdCwgdW5kZWZpbmVkKSB7XG5cblx0LyogLS0tIFNldHVwIC0tLSAqL1xuXG5cdC8vIENyZWF0ZSB0aGUgbG9jYWwgbGlicmFyeSBvYmplY3QsIHRvIGJlIGV4cG9ydGVkIG9yIHJlZmVyZW5jZWQgZ2xvYmFsbHkgbGF0ZXJcblx0dmFyIGxpYiA9IHt9O1xuXG5cdC8vIEN1cnJlbnQgdmVyc2lvblxuXHRsaWIudmVyc2lvbiA9ICcwLjQuMSc7XG5cblxuXHQvKiAtLS0gRXhwb3NlZCBzZXR0aW5ncyAtLS0gKi9cblxuXHQvLyBUaGUgbGlicmFyeSdzIHNldHRpbmdzIGNvbmZpZ3VyYXRpb24gb2JqZWN0LiBDb250YWlucyBkZWZhdWx0IHBhcmFtZXRlcnMgZm9yXG5cdC8vIGN1cnJlbmN5IGFuZCBudW1iZXIgZm9ybWF0dGluZ1xuXHRsaWIuc2V0dGluZ3MgPSB7XG5cdFx0Y3VycmVuY3k6IHtcblx0XHRcdHN5bWJvbCA6IFwiJFwiLFx0XHQvLyBkZWZhdWx0IGN1cnJlbmN5IHN5bWJvbCBpcyAnJCdcblx0XHRcdGZvcm1hdCA6IFwiJXMldlwiLFx0Ly8gY29udHJvbHMgb3V0cHV0OiAlcyA9IHN5bWJvbCwgJXYgPSB2YWx1ZSAoY2FuIGJlIG9iamVjdCwgc2VlIGRvY3MpXG5cdFx0XHRkZWNpbWFsIDogXCIuXCIsXHRcdC8vIGRlY2ltYWwgcG9pbnQgc2VwYXJhdG9yXG5cdFx0XHR0aG91c2FuZCA6IFwiLFwiLFx0XHQvLyB0aG91c2FuZHMgc2VwYXJhdG9yXG5cdFx0XHRwcmVjaXNpb24gOiAyLFx0XHQvLyBkZWNpbWFsIHBsYWNlc1xuXHRcdFx0Z3JvdXBpbmcgOiAzXHRcdC8vIGRpZ2l0IGdyb3VwaW5nIChub3QgaW1wbGVtZW50ZWQgeWV0KVxuXHRcdH0sXG5cdFx0bnVtYmVyOiB7XG5cdFx0XHRwcmVjaXNpb24gOiAwLFx0XHQvLyBkZWZhdWx0IHByZWNpc2lvbiBvbiBudW1iZXJzIGlzIDBcblx0XHRcdGdyb3VwaW5nIDogMyxcdFx0Ly8gZGlnaXQgZ3JvdXBpbmcgKG5vdCBpbXBsZW1lbnRlZCB5ZXQpXG5cdFx0XHR0aG91c2FuZCA6IFwiLFwiLFxuXHRcdFx0ZGVjaW1hbCA6IFwiLlwiXG5cdFx0fVxuXHR9O1xuXG5cblx0LyogLS0tIEludGVybmFsIEhlbHBlciBNZXRob2RzIC0tLSAqL1xuXG5cdC8vIFN0b3JlIHJlZmVyZW5jZSB0byBwb3NzaWJseS1hdmFpbGFibGUgRUNNQVNjcmlwdCA1IG1ldGhvZHMgZm9yIGxhdGVyXG5cdHZhciBuYXRpdmVNYXAgPSBBcnJheS5wcm90b3R5cGUubWFwLFxuXHRcdG5hdGl2ZUlzQXJyYXkgPSBBcnJheS5pc0FycmF5LFxuXHRcdHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuXHQvKipcblx0ICogVGVzdHMgd2hldGhlciBzdXBwbGllZCBwYXJhbWV0ZXIgaXMgYSBzdHJpbmdcblx0ICogZnJvbSB1bmRlcnNjb3JlLmpzXG5cdCAqL1xuXHRmdW5jdGlvbiBpc1N0cmluZyhvYmopIHtcblx0XHRyZXR1cm4gISEob2JqID09PSAnJyB8fCAob2JqICYmIG9iai5jaGFyQ29kZUF0ICYmIG9iai5zdWJzdHIpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUZXN0cyB3aGV0aGVyIHN1cHBsaWVkIHBhcmFtZXRlciBpcyBhIHN0cmluZ1xuXHQgKiBmcm9tIHVuZGVyc2NvcmUuanMsIGRlbGVnYXRlcyB0byBFQ01BNSdzIG5hdGl2ZSBBcnJheS5pc0FycmF5XG5cdCAqL1xuXHRmdW5jdGlvbiBpc0FycmF5KG9iaikge1xuXHRcdHJldHVybiBuYXRpdmVJc0FycmF5ID8gbmF0aXZlSXNBcnJheShvYmopIDogdG9TdHJpbmcuY2FsbChvYmopID09PSAnW29iamVjdCBBcnJheV0nO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRlc3RzIHdoZXRoZXIgc3VwcGxpZWQgcGFyYW1ldGVyIGlzIGEgdHJ1ZSBvYmplY3Rcblx0ICovXG5cdGZ1bmN0aW9uIGlzT2JqZWN0KG9iaikge1xuXHRcdHJldHVybiBvYmogJiYgdG9TdHJpbmcuY2FsbChvYmopID09PSAnW29iamVjdCBPYmplY3RdJztcblx0fVxuXG5cdC8qKlxuXHQgKiBFeHRlbmRzIGFuIG9iamVjdCB3aXRoIGEgZGVmYXVsdHMgb2JqZWN0LCBzaW1pbGFyIHRvIHVuZGVyc2NvcmUncyBfLmRlZmF1bHRzXG5cdCAqXG5cdCAqIFVzZWQgZm9yIGFic3RyYWN0aW5nIHBhcmFtZXRlciBoYW5kbGluZyBmcm9tIEFQSSBtZXRob2RzXG5cdCAqL1xuXHRmdW5jdGlvbiBkZWZhdWx0cyhvYmplY3QsIGRlZnMpIHtcblx0XHR2YXIga2V5O1xuXHRcdG9iamVjdCA9IG9iamVjdCB8fCB7fTtcblx0XHRkZWZzID0gZGVmcyB8fCB7fTtcblx0XHQvLyBJdGVyYXRlIG92ZXIgb2JqZWN0IG5vbi1wcm90b3R5cGUgcHJvcGVydGllczpcblx0XHRmb3IgKGtleSBpbiBkZWZzKSB7XG5cdFx0XHRpZiAoZGVmcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG5cdFx0XHRcdC8vIFJlcGxhY2UgdmFsdWVzIHdpdGggZGVmYXVsdHMgb25seSBpZiB1bmRlZmluZWQgKGFsbG93IGVtcHR5L3plcm8gdmFsdWVzKTpcblx0XHRcdFx0aWYgKG9iamVjdFtrZXldID09IG51bGwpIG9iamVjdFtrZXldID0gZGVmc1trZXldO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gb2JqZWN0O1xuXHR9XG5cblx0LyoqXG5cdCAqIEltcGxlbWVudGF0aW9uIG9mIGBBcnJheS5tYXAoKWAgZm9yIGl0ZXJhdGlvbiBsb29wc1xuXHQgKlxuXHQgKiBSZXR1cm5zIGEgbmV3IEFycmF5IGFzIGEgcmVzdWx0IG9mIGNhbGxpbmcgYGl0ZXJhdG9yYCBvbiBlYWNoIGFycmF5IHZhbHVlLlxuXHQgKiBEZWZlcnMgdG8gbmF0aXZlIEFycmF5Lm1hcCBpZiBhdmFpbGFibGVcblx0ICovXG5cdGZ1bmN0aW9uIG1hcChvYmosIGl0ZXJhdG9yLCBjb250ZXh0KSB7XG5cdFx0dmFyIHJlc3VsdHMgPSBbXSwgaSwgajtcblxuXHRcdGlmICghb2JqKSByZXR1cm4gcmVzdWx0cztcblxuXHRcdC8vIFVzZSBuYXRpdmUgLm1hcCBtZXRob2QgaWYgaXQgZXhpc3RzOlxuXHRcdGlmIChuYXRpdmVNYXAgJiYgb2JqLm1hcCA9PT0gbmF0aXZlTWFwKSByZXR1cm4gb2JqLm1hcChpdGVyYXRvciwgY29udGV4dCk7XG5cblx0XHQvLyBGYWxsYmFjayBmb3IgbmF0aXZlIC5tYXA6XG5cdFx0Zm9yIChpID0gMCwgaiA9IG9iai5sZW5ndGg7IGkgPCBqOyBpKysgKSB7XG5cdFx0XHRyZXN1bHRzW2ldID0gaXRlcmF0b3IuY2FsbChjb250ZXh0LCBvYmpbaV0sIGksIG9iaik7XG5cdFx0fVxuXHRcdHJldHVybiByZXN1bHRzO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrIGFuZCBub3JtYWxpc2UgdGhlIHZhbHVlIG9mIHByZWNpc2lvbiAobXVzdCBiZSBwb3NpdGl2ZSBpbnRlZ2VyKVxuXHQgKi9cblx0ZnVuY3Rpb24gY2hlY2tQcmVjaXNpb24odmFsLCBiYXNlKSB7XG5cdFx0dmFsID0gTWF0aC5yb3VuZChNYXRoLmFicyh2YWwpKTtcblx0XHRyZXR1cm4gaXNOYU4odmFsKT8gYmFzZSA6IHZhbDtcblx0fVxuXG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZvcm1hdCBzdHJpbmcgb3Igb2JqZWN0IGFuZCByZXR1cm5zIGZvcm1hdCBvYmogZm9yIHVzZSBpbiByZW5kZXJpbmdcblx0ICpcblx0ICogYGZvcm1hdGAgaXMgZWl0aGVyIGEgc3RyaW5nIHdpdGggdGhlIGRlZmF1bHQgKHBvc2l0aXZlKSBmb3JtYXQsIG9yIG9iamVjdFxuXHQgKiBjb250YWluaW5nIGBwb3NgIChyZXF1aXJlZCksIGBuZWdgIGFuZCBgemVyb2AgdmFsdWVzIChvciBhIGZ1bmN0aW9uIHJldHVybmluZ1xuXHQgKiBlaXRoZXIgYSBzdHJpbmcgb3Igb2JqZWN0KVxuXHQgKlxuXHQgKiBFaXRoZXIgc3RyaW5nIG9yIGZvcm1hdC5wb3MgbXVzdCBjb250YWluIFwiJXZcIiAodmFsdWUpIHRvIGJlIHZhbGlkXG5cdCAqL1xuXHRmdW5jdGlvbiBjaGVja0N1cnJlbmN5Rm9ybWF0KGZvcm1hdCkge1xuXHRcdHZhciBkZWZhdWx0cyA9IGxpYi5zZXR0aW5ncy5jdXJyZW5jeS5mb3JtYXQ7XG5cblx0XHQvLyBBbGxvdyBmdW5jdGlvbiBhcyBmb3JtYXQgcGFyYW1ldGVyIChzaG91bGQgcmV0dXJuIHN0cmluZyBvciBvYmplY3QpOlxuXHRcdGlmICggdHlwZW9mIGZvcm1hdCA9PT0gXCJmdW5jdGlvblwiICkgZm9ybWF0ID0gZm9ybWF0KCk7XG5cblx0XHQvLyBGb3JtYXQgY2FuIGJlIGEgc3RyaW5nLCBpbiB3aGljaCBjYXNlIGB2YWx1ZWAgKFwiJXZcIikgbXVzdCBiZSBwcmVzZW50OlxuXHRcdGlmICggaXNTdHJpbmcoIGZvcm1hdCApICYmIGZvcm1hdC5tYXRjaChcIiV2XCIpICkge1xuXG5cdFx0XHQvLyBDcmVhdGUgYW5kIHJldHVybiBwb3NpdGl2ZSwgbmVnYXRpdmUgYW5kIHplcm8gZm9ybWF0czpcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHBvcyA6IGZvcm1hdCxcblx0XHRcdFx0bmVnIDogZm9ybWF0LnJlcGxhY2UoXCItXCIsIFwiXCIpLnJlcGxhY2UoXCIldlwiLCBcIi0ldlwiKSxcblx0XHRcdFx0emVybyA6IGZvcm1hdFxuXHRcdFx0fTtcblxuXHRcdC8vIElmIG5vIGZvcm1hdCwgb3Igb2JqZWN0IGlzIG1pc3NpbmcgdmFsaWQgcG9zaXRpdmUgdmFsdWUsIHVzZSBkZWZhdWx0czpcblx0XHR9IGVsc2UgaWYgKCAhZm9ybWF0IHx8ICFmb3JtYXQucG9zIHx8ICFmb3JtYXQucG9zLm1hdGNoKFwiJXZcIikgKSB7XG5cblx0XHRcdC8vIElmIGRlZmF1bHRzIGlzIGEgc3RyaW5nLCBjYXN0cyBpdCB0byBhbiBvYmplY3QgZm9yIGZhc3RlciBjaGVja2luZyBuZXh0IHRpbWU6XG5cdFx0XHRyZXR1cm4gKCAhaXNTdHJpbmcoIGRlZmF1bHRzICkgKSA/IGRlZmF1bHRzIDogbGliLnNldHRpbmdzLmN1cnJlbmN5LmZvcm1hdCA9IHtcblx0XHRcdFx0cG9zIDogZGVmYXVsdHMsXG5cdFx0XHRcdG5lZyA6IGRlZmF1bHRzLnJlcGxhY2UoXCIldlwiLCBcIi0ldlwiKSxcblx0XHRcdFx0emVybyA6IGRlZmF1bHRzXG5cdFx0XHR9O1xuXG5cdFx0fVxuXHRcdC8vIE90aGVyd2lzZSwgYXNzdW1lIGZvcm1hdCB3YXMgZmluZTpcblx0XHRyZXR1cm4gZm9ybWF0O1xuXHR9XG5cblxuXHQvKiAtLS0gQVBJIE1ldGhvZHMgLS0tICovXG5cblx0LyoqXG5cdCAqIFRha2VzIGEgc3RyaW5nL2FycmF5IG9mIHN0cmluZ3MsIHJlbW92ZXMgYWxsIGZvcm1hdHRpbmcvY3J1ZnQgYW5kIHJldHVybnMgdGhlIHJhdyBmbG9hdCB2YWx1ZVxuXHQgKiBBbGlhczogYGFjY291bnRpbmcucGFyc2Uoc3RyaW5nKWBcblx0ICpcblx0ICogRGVjaW1hbCBtdXN0IGJlIGluY2x1ZGVkIGluIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gdG8gbWF0Y2ggZmxvYXRzIChkZWZhdWx0cyB0b1xuXHQgKiBhY2NvdW50aW5nLnNldHRpbmdzLm51bWJlci5kZWNpbWFsKSwgc28gaWYgdGhlIG51bWJlciB1c2VzIGEgbm9uLXN0YW5kYXJkIGRlY2ltYWwgXG5cdCAqIHNlcGFyYXRvciwgcHJvdmlkZSBpdCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50LlxuXHQgKlxuXHQgKiBBbHNvIG1hdGNoZXMgYnJhY2tldGVkIG5lZ2F0aXZlcyAoZWcuIFwiJCAoMS45OSlcIiA9PiAtMS45OSlcblx0ICpcblx0ICogRG9lc24ndCB0aHJvdyBhbnkgZXJyb3JzIChgTmFOYHMgYmVjb21lIDApIGJ1dCB0aGlzIG1heSBjaGFuZ2UgaW4gZnV0dXJlXG5cdCAqL1xuXHR2YXIgdW5mb3JtYXQgPSBsaWIudW5mb3JtYXQgPSBsaWIucGFyc2UgPSBmdW5jdGlvbih2YWx1ZSwgZGVjaW1hbCkge1xuXHRcdC8vIFJlY3Vyc2l2ZWx5IHVuZm9ybWF0IGFycmF5czpcblx0XHRpZiAoaXNBcnJheSh2YWx1ZSkpIHtcblx0XHRcdHJldHVybiBtYXAodmFsdWUsIGZ1bmN0aW9uKHZhbCkge1xuXHRcdFx0XHRyZXR1cm4gdW5mb3JtYXQodmFsLCBkZWNpbWFsKTtcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdC8vIEZhaWxzIHNpbGVudGx5IChuZWVkIGRlY2VudCBlcnJvcnMpOlxuXHRcdHZhbHVlID0gdmFsdWUgfHwgMDtcblxuXHRcdC8vIFJldHVybiB0aGUgdmFsdWUgYXMtaXMgaWYgaXQncyBhbHJlYWR5IGEgbnVtYmVyOlxuXHRcdGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIpIHJldHVybiB2YWx1ZTtcblxuXHRcdC8vIERlZmF1bHQgZGVjaW1hbCBwb2ludCBjb21lcyBmcm9tIHNldHRpbmdzLCBidXQgY291bGQgYmUgc2V0IHRvIGVnLiBcIixcIiBpbiBvcHRzOlxuXHRcdGRlY2ltYWwgPSBkZWNpbWFsIHx8IGxpYi5zZXR0aW5ncy5udW1iZXIuZGVjaW1hbDtcblxuXHRcdCAvLyBCdWlsZCByZWdleCB0byBzdHJpcCBvdXQgZXZlcnl0aGluZyBleGNlcHQgZGlnaXRzLCBkZWNpbWFsIHBvaW50IGFuZCBtaW51cyBzaWduOlxuXHRcdHZhciByZWdleCA9IG5ldyBSZWdFeHAoXCJbXjAtOS1cIiArIGRlY2ltYWwgKyBcIl1cIiwgW1wiZ1wiXSksXG5cdFx0XHR1bmZvcm1hdHRlZCA9IHBhcnNlRmxvYXQoXG5cdFx0XHRcdChcIlwiICsgdmFsdWUpXG5cdFx0XHRcdC5yZXBsYWNlKC9cXCgoLiopXFwpLywgXCItJDFcIikgLy8gcmVwbGFjZSBicmFja2V0ZWQgdmFsdWVzIHdpdGggbmVnYXRpdmVzXG5cdFx0XHRcdC5yZXBsYWNlKHJlZ2V4LCAnJykgICAgICAgICAvLyBzdHJpcCBvdXQgYW55IGNydWZ0XG5cdFx0XHRcdC5yZXBsYWNlKGRlY2ltYWwsICcuJykgICAgICAvLyBtYWtlIHN1cmUgZGVjaW1hbCBwb2ludCBpcyBzdGFuZGFyZFxuXHRcdFx0KTtcblxuXHRcdC8vIFRoaXMgd2lsbCBmYWlsIHNpbGVudGx5IHdoaWNoIG1heSBjYXVzZSB0cm91YmxlLCBsZXQncyB3YWl0IGFuZCBzZWU6XG5cdFx0cmV0dXJuICFpc05hTih1bmZvcm1hdHRlZCkgPyB1bmZvcm1hdHRlZCA6IDA7XG5cdH07XG5cblxuXHQvKipcblx0ICogSW1wbGVtZW50YXRpb24gb2YgdG9GaXhlZCgpIHRoYXQgdHJlYXRzIGZsb2F0cyBtb3JlIGxpa2UgZGVjaW1hbHNcblx0ICpcblx0ICogRml4ZXMgYmluYXJ5IHJvdW5kaW5nIGlzc3VlcyAoZWcuICgwLjYxNSkudG9GaXhlZCgyKSA9PT0gXCIwLjYxXCIpIHRoYXQgcHJlc2VudFxuXHQgKiBwcm9ibGVtcyBmb3IgYWNjb3VudGluZy0gYW5kIGZpbmFuY2UtcmVsYXRlZCBzb2Z0d2FyZS5cblx0ICovXG5cdHZhciB0b0ZpeGVkID0gbGliLnRvRml4ZWQgPSBmdW5jdGlvbih2YWx1ZSwgcHJlY2lzaW9uKSB7XG5cdFx0cHJlY2lzaW9uID0gY2hlY2tQcmVjaXNpb24ocHJlY2lzaW9uLCBsaWIuc2V0dGluZ3MubnVtYmVyLnByZWNpc2lvbik7XG5cdFx0dmFyIHBvd2VyID0gTWF0aC5wb3coMTAsIHByZWNpc2lvbik7XG5cblx0XHQvLyBNdWx0aXBseSB1cCBieSBwcmVjaXNpb24sIHJvdW5kIGFjY3VyYXRlbHksIHRoZW4gZGl2aWRlIGFuZCB1c2UgbmF0aXZlIHRvRml4ZWQoKTpcblx0XHRyZXR1cm4gKE1hdGgucm91bmQobGliLnVuZm9ybWF0KHZhbHVlKSAqIHBvd2VyKSAvIHBvd2VyKS50b0ZpeGVkKHByZWNpc2lvbik7XG5cdH07XG5cblxuXHQvKipcblx0ICogRm9ybWF0IGEgbnVtYmVyLCB3aXRoIGNvbW1hLXNlcGFyYXRlZCB0aG91c2FuZHMgYW5kIGN1c3RvbSBwcmVjaXNpb24vZGVjaW1hbCBwbGFjZXNcblx0ICogQWxpYXM6IGBhY2NvdW50aW5nLmZvcm1hdCgpYFxuXHQgKlxuXHQgKiBMb2NhbGlzZSBieSBvdmVycmlkaW5nIHRoZSBwcmVjaXNpb24gYW5kIHRob3VzYW5kIC8gZGVjaW1hbCBzZXBhcmF0b3JzXG5cdCAqIDJuZCBwYXJhbWV0ZXIgYHByZWNpc2lvbmAgY2FuIGJlIGFuIG9iamVjdCBtYXRjaGluZyBgc2V0dGluZ3MubnVtYmVyYFxuXHQgKi9cblx0dmFyIGZvcm1hdE51bWJlciA9IGxpYi5mb3JtYXROdW1iZXIgPSBsaWIuZm9ybWF0ID0gZnVuY3Rpb24obnVtYmVyLCBwcmVjaXNpb24sIHRob3VzYW5kLCBkZWNpbWFsKSB7XG5cdFx0Ly8gUmVzdXJzaXZlbHkgZm9ybWF0IGFycmF5czpcblx0XHRpZiAoaXNBcnJheShudW1iZXIpKSB7XG5cdFx0XHRyZXR1cm4gbWFwKG51bWJlciwgZnVuY3Rpb24odmFsKSB7XG5cdFx0XHRcdHJldHVybiBmb3JtYXROdW1iZXIodmFsLCBwcmVjaXNpb24sIHRob3VzYW5kLCBkZWNpbWFsKTtcblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdC8vIENsZWFuIHVwIG51bWJlcjpcblx0XHRudW1iZXIgPSB1bmZvcm1hdChudW1iZXIpO1xuXG5cdFx0Ly8gQnVpbGQgb3B0aW9ucyBvYmplY3QgZnJvbSBzZWNvbmQgcGFyYW0gKGlmIG9iamVjdCkgb3IgYWxsIHBhcmFtcywgZXh0ZW5kaW5nIGRlZmF1bHRzOlxuXHRcdHZhciBvcHRzID0gZGVmYXVsdHMoXG5cdFx0XHRcdChpc09iamVjdChwcmVjaXNpb24pID8gcHJlY2lzaW9uIDoge1xuXHRcdFx0XHRcdHByZWNpc2lvbiA6IHByZWNpc2lvbixcblx0XHRcdFx0XHR0aG91c2FuZCA6IHRob3VzYW5kLFxuXHRcdFx0XHRcdGRlY2ltYWwgOiBkZWNpbWFsXG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRsaWIuc2V0dGluZ3MubnVtYmVyXG5cdFx0XHQpLFxuXG5cdFx0XHQvLyBDbGVhbiB1cCBwcmVjaXNpb25cblx0XHRcdHVzZVByZWNpc2lvbiA9IGNoZWNrUHJlY2lzaW9uKG9wdHMucHJlY2lzaW9uKSxcblxuXHRcdFx0Ly8gRG8gc29tZSBjYWxjOlxuXHRcdFx0bmVnYXRpdmUgPSBudW1iZXIgPCAwID8gXCItXCIgOiBcIlwiLFxuXHRcdFx0YmFzZSA9IHBhcnNlSW50KHRvRml4ZWQoTWF0aC5hYnMobnVtYmVyIHx8IDApLCB1c2VQcmVjaXNpb24pLCAxMCkgKyBcIlwiLFxuXHRcdFx0bW9kID0gYmFzZS5sZW5ndGggPiAzID8gYmFzZS5sZW5ndGggJSAzIDogMDtcblxuXHRcdC8vIEZvcm1hdCB0aGUgbnVtYmVyOlxuXHRcdHJldHVybiBuZWdhdGl2ZSArIChtb2QgPyBiYXNlLnN1YnN0cigwLCBtb2QpICsgb3B0cy50aG91c2FuZCA6IFwiXCIpICsgYmFzZS5zdWJzdHIobW9kKS5yZXBsYWNlKC8oXFxkezN9KSg/PVxcZCkvZywgXCIkMVwiICsgb3B0cy50aG91c2FuZCkgKyAodXNlUHJlY2lzaW9uID8gb3B0cy5kZWNpbWFsICsgdG9GaXhlZChNYXRoLmFicyhudW1iZXIpLCB1c2VQcmVjaXNpb24pLnNwbGl0KCcuJylbMV0gOiBcIlwiKTtcblx0fTtcblxuXG5cdC8qKlxuXHQgKiBGb3JtYXQgYSBudW1iZXIgaW50byBjdXJyZW5jeVxuXHQgKlxuXHQgKiBVc2FnZTogYWNjb3VudGluZy5mb3JtYXRNb25leShudW1iZXIsIHN5bWJvbCwgcHJlY2lzaW9uLCB0aG91c2FuZHNTZXAsIGRlY2ltYWxTZXAsIGZvcm1hdClcblx0ICogZGVmYXVsdHM6ICgwLCBcIiRcIiwgMiwgXCIsXCIsIFwiLlwiLCBcIiVzJXZcIilcblx0ICpcblx0ICogTG9jYWxpc2UgYnkgb3ZlcnJpZGluZyB0aGUgc3ltYm9sLCBwcmVjaXNpb24sIHRob3VzYW5kIC8gZGVjaW1hbCBzZXBhcmF0b3JzIGFuZCBmb3JtYXRcblx0ICogU2Vjb25kIHBhcmFtIGNhbiBiZSBhbiBvYmplY3QgbWF0Y2hpbmcgYHNldHRpbmdzLmN1cnJlbmN5YCB3aGljaCBpcyB0aGUgZWFzaWVzdCB3YXkuXG5cdCAqXG5cdCAqIFRvIGRvOiB0aWR5IHVwIHRoZSBwYXJhbWV0ZXJzXG5cdCAqL1xuXHR2YXIgZm9ybWF0TW9uZXkgPSBsaWIuZm9ybWF0TW9uZXkgPSBmdW5jdGlvbihudW1iZXIsIHN5bWJvbCwgcHJlY2lzaW9uLCB0aG91c2FuZCwgZGVjaW1hbCwgZm9ybWF0KSB7XG5cdFx0Ly8gUmVzdXJzaXZlbHkgZm9ybWF0IGFycmF5czpcblx0XHRpZiAoaXNBcnJheShudW1iZXIpKSB7XG5cdFx0XHRyZXR1cm4gbWFwKG51bWJlciwgZnVuY3Rpb24odmFsKXtcblx0XHRcdFx0cmV0dXJuIGZvcm1hdE1vbmV5KHZhbCwgc3ltYm9sLCBwcmVjaXNpb24sIHRob3VzYW5kLCBkZWNpbWFsLCBmb3JtYXQpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0Ly8gQ2xlYW4gdXAgbnVtYmVyOlxuXHRcdG51bWJlciA9IHVuZm9ybWF0KG51bWJlcik7XG5cblx0XHQvLyBCdWlsZCBvcHRpb25zIG9iamVjdCBmcm9tIHNlY29uZCBwYXJhbSAoaWYgb2JqZWN0KSBvciBhbGwgcGFyYW1zLCBleHRlbmRpbmcgZGVmYXVsdHM6XG5cdFx0dmFyIG9wdHMgPSBkZWZhdWx0cyhcblx0XHRcdFx0KGlzT2JqZWN0KHN5bWJvbCkgPyBzeW1ib2wgOiB7XG5cdFx0XHRcdFx0c3ltYm9sIDogc3ltYm9sLFxuXHRcdFx0XHRcdHByZWNpc2lvbiA6IHByZWNpc2lvbixcblx0XHRcdFx0XHR0aG91c2FuZCA6IHRob3VzYW5kLFxuXHRcdFx0XHRcdGRlY2ltYWwgOiBkZWNpbWFsLFxuXHRcdFx0XHRcdGZvcm1hdCA6IGZvcm1hdFxuXHRcdFx0XHR9KSxcblx0XHRcdFx0bGliLnNldHRpbmdzLmN1cnJlbmN5XG5cdFx0XHQpLFxuXG5cdFx0XHQvLyBDaGVjayBmb3JtYXQgKHJldHVybnMgb2JqZWN0IHdpdGggcG9zLCBuZWcgYW5kIHplcm8pOlxuXHRcdFx0Zm9ybWF0cyA9IGNoZWNrQ3VycmVuY3lGb3JtYXQob3B0cy5mb3JtYXQpLFxuXG5cdFx0XHQvLyBDaG9vc2Ugd2hpY2ggZm9ybWF0IHRvIHVzZSBmb3IgdGhpcyB2YWx1ZTpcblx0XHRcdHVzZUZvcm1hdCA9IG51bWJlciA+IDAgPyBmb3JtYXRzLnBvcyA6IG51bWJlciA8IDAgPyBmb3JtYXRzLm5lZyA6IGZvcm1hdHMuemVybztcblxuXHRcdC8vIFJldHVybiB3aXRoIGN1cnJlbmN5IHN5bWJvbCBhZGRlZDpcblx0XHRyZXR1cm4gdXNlRm9ybWF0LnJlcGxhY2UoJyVzJywgb3B0cy5zeW1ib2wpLnJlcGxhY2UoJyV2JywgZm9ybWF0TnVtYmVyKE1hdGguYWJzKG51bWJlciksIGNoZWNrUHJlY2lzaW9uKG9wdHMucHJlY2lzaW9uKSwgb3B0cy50aG91c2FuZCwgb3B0cy5kZWNpbWFsKSk7XG5cdH07XG5cblxuXHQvKipcblx0ICogRm9ybWF0IGEgbGlzdCBvZiBudW1iZXJzIGludG8gYW4gYWNjb3VudGluZyBjb2x1bW4sIHBhZGRpbmcgd2l0aCB3aGl0ZXNwYWNlXG5cdCAqIHRvIGxpbmUgdXAgY3VycmVuY3kgc3ltYm9scywgdGhvdXNhbmQgc2VwYXJhdG9ycyBhbmQgZGVjaW1hbHMgcGxhY2VzXG5cdCAqXG5cdCAqIExpc3Qgc2hvdWxkIGJlIGFuIGFycmF5IG9mIG51bWJlcnNcblx0ICogU2Vjb25kIHBhcmFtZXRlciBjYW4gYmUgYW4gb2JqZWN0IGNvbnRhaW5pbmcga2V5cyB0aGF0IG1hdGNoIHRoZSBwYXJhbXNcblx0ICpcblx0ICogUmV0dXJucyBhcnJheSBvZiBhY2NvdXRpbmctZm9ybWF0dGVkIG51bWJlciBzdHJpbmdzIG9mIHNhbWUgbGVuZ3RoXG5cdCAqXG5cdCAqIE5COiBgd2hpdGUtc3BhY2U6cHJlYCBDU1MgcnVsZSBpcyByZXF1aXJlZCBvbiB0aGUgbGlzdCBjb250YWluZXIgdG8gcHJldmVudFxuXHQgKiBicm93c2VycyBmcm9tIGNvbGxhcHNpbmcgdGhlIHdoaXRlc3BhY2UgaW4gdGhlIG91dHB1dCBzdHJpbmdzLlxuXHQgKi9cblx0bGliLmZvcm1hdENvbHVtbiA9IGZ1bmN0aW9uKGxpc3QsIHN5bWJvbCwgcHJlY2lzaW9uLCB0aG91c2FuZCwgZGVjaW1hbCwgZm9ybWF0KSB7XG5cdFx0aWYgKCFsaXN0KSByZXR1cm4gW107XG5cblx0XHQvLyBCdWlsZCBvcHRpb25zIG9iamVjdCBmcm9tIHNlY29uZCBwYXJhbSAoaWYgb2JqZWN0KSBvciBhbGwgcGFyYW1zLCBleHRlbmRpbmcgZGVmYXVsdHM6XG5cdFx0dmFyIG9wdHMgPSBkZWZhdWx0cyhcblx0XHRcdFx0KGlzT2JqZWN0KHN5bWJvbCkgPyBzeW1ib2wgOiB7XG5cdFx0XHRcdFx0c3ltYm9sIDogc3ltYm9sLFxuXHRcdFx0XHRcdHByZWNpc2lvbiA6IHByZWNpc2lvbixcblx0XHRcdFx0XHR0aG91c2FuZCA6IHRob3VzYW5kLFxuXHRcdFx0XHRcdGRlY2ltYWwgOiBkZWNpbWFsLFxuXHRcdFx0XHRcdGZvcm1hdCA6IGZvcm1hdFxuXHRcdFx0XHR9KSxcblx0XHRcdFx0bGliLnNldHRpbmdzLmN1cnJlbmN5XG5cdFx0XHQpLFxuXG5cdFx0XHQvLyBDaGVjayBmb3JtYXQgKHJldHVybnMgb2JqZWN0IHdpdGggcG9zLCBuZWcgYW5kIHplcm8pLCBvbmx5IG5lZWQgcG9zIGZvciBub3c6XG5cdFx0XHRmb3JtYXRzID0gY2hlY2tDdXJyZW5jeUZvcm1hdChvcHRzLmZvcm1hdCksXG5cblx0XHRcdC8vIFdoZXRoZXIgdG8gcGFkIGF0IHN0YXJ0IG9mIHN0cmluZyBvciBhZnRlciBjdXJyZW5jeSBzeW1ib2w6XG5cdFx0XHRwYWRBZnRlclN5bWJvbCA9IGZvcm1hdHMucG9zLmluZGV4T2YoXCIlc1wiKSA8IGZvcm1hdHMucG9zLmluZGV4T2YoXCIldlwiKSA/IHRydWUgOiBmYWxzZSxcblxuXHRcdFx0Ly8gU3RvcmUgdmFsdWUgZm9yIHRoZSBsZW5ndGggb2YgdGhlIGxvbmdlc3Qgc3RyaW5nIGluIHRoZSBjb2x1bW46XG5cdFx0XHRtYXhMZW5ndGggPSAwLFxuXG5cdFx0XHQvLyBGb3JtYXQgdGhlIGxpc3QgYWNjb3JkaW5nIHRvIG9wdGlvbnMsIHN0b3JlIHRoZSBsZW5ndGggb2YgdGhlIGxvbmdlc3Qgc3RyaW5nOlxuXHRcdFx0Zm9ybWF0dGVkID0gbWFwKGxpc3QsIGZ1bmN0aW9uKHZhbCwgaSkge1xuXHRcdFx0XHRpZiAoaXNBcnJheSh2YWwpKSB7XG5cdFx0XHRcdFx0Ly8gUmVjdXJzaXZlbHkgZm9ybWF0IGNvbHVtbnMgaWYgbGlzdCBpcyBhIG11bHRpLWRpbWVuc2lvbmFsIGFycmF5OlxuXHRcdFx0XHRcdHJldHVybiBsaWIuZm9ybWF0Q29sdW1uKHZhbCwgb3B0cyk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8gQ2xlYW4gdXAgdGhlIHZhbHVlXG5cdFx0XHRcdFx0dmFsID0gdW5mb3JtYXQodmFsKTtcblxuXHRcdFx0XHRcdC8vIENob29zZSB3aGljaCBmb3JtYXQgdG8gdXNlIGZvciB0aGlzIHZhbHVlIChwb3MsIG5lZyBvciB6ZXJvKTpcblx0XHRcdFx0XHR2YXIgdXNlRm9ybWF0ID0gdmFsID4gMCA/IGZvcm1hdHMucG9zIDogdmFsIDwgMCA/IGZvcm1hdHMubmVnIDogZm9ybWF0cy56ZXJvLFxuXG5cdFx0XHRcdFx0XHQvLyBGb3JtYXQgdGhpcyB2YWx1ZSwgcHVzaCBpbnRvIGZvcm1hdHRlZCBsaXN0IGFuZCBzYXZlIHRoZSBsZW5ndGg6XG5cdFx0XHRcdFx0XHRmVmFsID0gdXNlRm9ybWF0LnJlcGxhY2UoJyVzJywgb3B0cy5zeW1ib2wpLnJlcGxhY2UoJyV2JywgZm9ybWF0TnVtYmVyKE1hdGguYWJzKHZhbCksIGNoZWNrUHJlY2lzaW9uKG9wdHMucHJlY2lzaW9uKSwgb3B0cy50aG91c2FuZCwgb3B0cy5kZWNpbWFsKSk7XG5cblx0XHRcdFx0XHRpZiAoZlZhbC5sZW5ndGggPiBtYXhMZW5ndGgpIG1heExlbmd0aCA9IGZWYWwubGVuZ3RoO1xuXHRcdFx0XHRcdHJldHVybiBmVmFsO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdC8vIFBhZCBlYWNoIG51bWJlciBpbiB0aGUgbGlzdCBhbmQgc2VuZCBiYWNrIHRoZSBjb2x1bW4gb2YgbnVtYmVyczpcblx0XHRyZXR1cm4gbWFwKGZvcm1hdHRlZCwgZnVuY3Rpb24odmFsLCBpKSB7XG5cdFx0XHQvLyBPbmx5IGlmIHRoaXMgaXMgYSBzdHJpbmcgKG5vdCBhIG5lc3RlZCBhcnJheSwgd2hpY2ggd291bGQgaGF2ZSBhbHJlYWR5IGJlZW4gcGFkZGVkKTpcblx0XHRcdGlmIChpc1N0cmluZyh2YWwpICYmIHZhbC5sZW5ndGggPCBtYXhMZW5ndGgpIHtcblx0XHRcdFx0Ly8gRGVwZW5kaW5nIG9uIHN5bWJvbCBwb3NpdGlvbiwgcGFkIGFmdGVyIHN5bWJvbCBvciBhdCBpbmRleCAwOlxuXHRcdFx0XHRyZXR1cm4gcGFkQWZ0ZXJTeW1ib2wgPyB2YWwucmVwbGFjZShvcHRzLnN5bWJvbCwgb3B0cy5zeW1ib2wrKG5ldyBBcnJheShtYXhMZW5ndGggLSB2YWwubGVuZ3RoICsgMSkuam9pbihcIiBcIikpKSA6IChuZXcgQXJyYXkobWF4TGVuZ3RoIC0gdmFsLmxlbmd0aCArIDEpLmpvaW4oXCIgXCIpKSArIHZhbDtcblx0XHRcdH1cblx0XHRcdHJldHVybiB2YWw7XG5cdFx0fSk7XG5cdH07XG5cblxuXHQvKiAtLS0gTW9kdWxlIERlZmluaXRpb24gLS0tICovXG5cblx0Ly8gRXhwb3J0IGFjY291bnRpbmcgZm9yIENvbW1vbkpTLiBJZiBiZWluZyBsb2FkZWQgYXMgYW4gQU1EIG1vZHVsZSwgZGVmaW5lIGl0IGFzIHN1Y2guXG5cdC8vIE90aGVyd2lzZSwganVzdCBhZGQgYGFjY291bnRpbmdgIHRvIHRoZSBnbG9iYWwgb2JqZWN0XG5cdGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0XHRpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcblx0XHRcdGV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGxpYjtcblx0XHR9XG5cdFx0ZXhwb3J0cy5hY2NvdW50aW5nID0gbGliO1xuXHR9IGVsc2UgaWYgKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZCkge1xuXHRcdC8vIFJldHVybiB0aGUgbGlicmFyeSBhcyBhbiBBTUQgbW9kdWxlOlxuXHRcdGRlZmluZShbXSwgZnVuY3Rpb24oKSB7XG5cdFx0XHRyZXR1cm4gbGliO1xuXHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdC8vIFVzZSBhY2NvdW50aW5nLm5vQ29uZmxpY3QgdG8gcmVzdG9yZSBgYWNjb3VudGluZ2AgYmFjayB0byBpdHMgb3JpZ2luYWwgdmFsdWUuXG5cdFx0Ly8gUmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgbGlicmFyeSdzIGBhY2NvdW50aW5nYCBvYmplY3Q7XG5cdFx0Ly8gZS5nLiBgdmFyIG51bWJlcnMgPSBhY2NvdW50aW5nLm5vQ29uZmxpY3QoKTtgXG5cdFx0bGliLm5vQ29uZmxpY3QgPSAoZnVuY3Rpb24ob2xkQWNjb3VudGluZykge1xuXHRcdFx0cmV0dXJuIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHQvLyBSZXNldCB0aGUgdmFsdWUgb2YgdGhlIHJvb3QncyBgYWNjb3VudGluZ2AgdmFyaWFibGU6XG5cdFx0XHRcdHJvb3QuYWNjb3VudGluZyA9IG9sZEFjY291bnRpbmc7XG5cdFx0XHRcdC8vIERlbGV0ZSB0aGUgbm9Db25mbGljdCBtZXRob2Q6XG5cdFx0XHRcdGxpYi5ub0NvbmZsaWN0ID0gdW5kZWZpbmVkO1xuXHRcdFx0XHQvLyBSZXR1cm4gcmVmZXJlbmNlIHRvIHRoZSBsaWJyYXJ5IHRvIHJlLWFzc2lnbiBpdDpcblx0XHRcdFx0cmV0dXJuIGxpYjtcblx0XHRcdH07XG5cdFx0fSkocm9vdC5hY2NvdW50aW5nKTtcblxuXHRcdC8vIERlY2xhcmUgYGZ4YCBvbiB0aGUgcm9vdCAoZ2xvYmFsL3dpbmRvdykgb2JqZWN0OlxuXHRcdHJvb3RbJ2FjY291bnRpbmcnXSA9IGxpYjtcblx0fVxuXG5cdC8vIFJvb3Qgd2lsbCBiZSBgd2luZG93YCBpbiBicm93c2VyIG9yIGBnbG9iYWxgIG9uIHRoZSBzZXJ2ZXI6XG59KHRoaXMpKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFzQkE7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///12\n')},function(module,exports){eval('//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n  var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n  if (ret !== void 0) {\n    return !!ret;\n  }\n\n  if (objA === objB) {\n    return true;\n  }\n\n  if (typeof objA !== "object" || !objA || typeof objB !== "object" || !objB) {\n    return false;\n  }\n\n  var keysA = Object.keys(objA);\n  var keysB = Object.keys(objB);\n\n  if (keysA.length !== keysB.length) {\n    return false;\n  }\n\n  var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n  // Test for A\'s keys different from B.\n  for (var idx = 0; idx < keysA.length; idx++) {\n    var key = keysA[idx];\n\n    if (!bHasOwnProperty(key)) {\n      return false;\n    }\n\n    var valueA = objA[key];\n    var valueB = objB[key];\n\n    ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n    if (ret === false || (ret === void 0 && valueA !== valueB)) {\n      return false;\n    }\n  }\n\n  return true;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvc2hhbGxvd2VxdWFsL2luZGV4LmpzPzFiMmIiXSwic291cmNlc0NvbnRlbnQiOlsiLy9cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBzaGFsbG93RXF1YWwob2JqQSwgb2JqQiwgY29tcGFyZSwgY29tcGFyZUNvbnRleHQpIHtcbiAgdmFyIHJldCA9IGNvbXBhcmUgPyBjb21wYXJlLmNhbGwoY29tcGFyZUNvbnRleHQsIG9iakEsIG9iakIpIDogdm9pZCAwO1xuXG4gIGlmIChyZXQgIT09IHZvaWQgMCkge1xuICAgIHJldHVybiAhIXJldDtcbiAgfVxuXG4gIGlmIChvYmpBID09PSBvYmpCKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIG9iakEgIT09IFwib2JqZWN0XCIgfHwgIW9iakEgfHwgdHlwZW9mIG9iakIgIT09IFwib2JqZWN0XCIgfHwgIW9iakIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIga2V5c0EgPSBPYmplY3Qua2V5cyhvYmpBKTtcbiAgdmFyIGtleXNCID0gT2JqZWN0LmtleXMob2JqQik7XG5cbiAgaWYgKGtleXNBLmxlbmd0aCAhPT0ga2V5c0IubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGJIYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuYmluZChvYmpCKTtcblxuICAvLyBUZXN0IGZvciBBJ3Mga2V5cyBkaWZmZXJlbnQgZnJvbSBCLlxuICBmb3IgKHZhciBpZHggPSAwOyBpZHggPCBrZXlzQS5sZW5ndGg7IGlkeCsrKSB7XG4gICAgdmFyIGtleSA9IGtleXNBW2lkeF07XG5cbiAgICBpZiAoIWJIYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdmFyIHZhbHVlQSA9IG9iakFba2V5XTtcbiAgICB2YXIgdmFsdWVCID0gb2JqQltrZXldO1xuXG4gICAgcmV0ID0gY29tcGFyZSA/IGNvbXBhcmUuY2FsbChjb21wYXJlQ29udGV4dCwgdmFsdWVBLCB2YWx1ZUIsIGtleSkgOiB2b2lkIDA7XG5cbiAgICBpZiAocmV0ID09PSBmYWxzZSB8fCAocmV0ID09PSB2b2lkIDAgJiYgdmFsdWVBICE9PSB2YWx1ZUIpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///13\n')},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("function stylis_min (W) {\n  function M(d, c, e, h, a) {\n    for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n      g = e.charCodeAt(l);\n      l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n      if (0 === b + n + v + m) {\n        if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n          switch (g) {\n            case 32:\n            case 9:\n            case 59:\n            case 13:\n            case 10:\n              break;\n\n            default:\n              f += e.charAt(l);\n          }\n\n          g = 59;\n        }\n\n        switch (g) {\n          case 123:\n            f = f.trim();\n            q = f.charCodeAt(0);\n            k = 1;\n\n            for (t = ++l; l < B;) {\n              switch (g = e.charCodeAt(l)) {\n                case 123:\n                  k++;\n                  break;\n\n                case 125:\n                  k--;\n                  break;\n\n                case 47:\n                  switch (g = e.charCodeAt(l + 1)) {\n                    case 42:\n                    case 47:\n                      a: {\n                        for (u = l + 1; u < J; ++u) {\n                          switch (e.charCodeAt(u)) {\n                            case 47:\n                              if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n                                l = u + 1;\n                                break a;\n                              }\n\n                              break;\n\n                            case 10:\n                              if (47 === g) {\n                                l = u + 1;\n                                break a;\n                              }\n\n                          }\n                        }\n\n                        l = u;\n                      }\n\n                  }\n\n                  break;\n\n                case 91:\n                  g++;\n\n                case 40:\n                  g++;\n\n                case 34:\n                case 39:\n                  for (; l++ < J && e.charCodeAt(l) !== g;) {\n                  }\n\n              }\n\n              if (0 === k) break;\n              l++;\n            }\n\n            k = e.substring(t, l);\n            0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n            switch (q) {\n              case 64:\n                0 < r && (f = f.replace(N, ''));\n                g = f.charCodeAt(1);\n\n                switch (g) {\n                  case 100:\n                  case 109:\n                  case 115:\n                  case 45:\n                    r = c;\n                    break;\n\n                  default:\n                    r = O;\n                }\n\n                k = M(c, r, k, g, a + 1);\n                t = k.length;\n                0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n                if (0 < t) switch (g) {\n                  case 115:\n                    f = f.replace(da, ea);\n\n                  case 100:\n                  case 109:\n                  case 45:\n                    k = f + '{' + k + '}';\n                    break;\n\n                  case 107:\n                    f = f.replace(fa, '$1 $2');\n                    k = f + '{' + k + '}';\n                    k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n                    break;\n\n                  default:\n                    k = f + k, 112 === h && (k = (p += k, ''));\n                } else k = '';\n                break;\n\n              default:\n                k = M(c, X(c, f, I), k, h, a + 1);\n            }\n\n            F += k;\n            k = I = r = u = q = 0;\n            f = '';\n            g = e.charCodeAt(++l);\n            break;\n\n          case 125:\n          case 59:\n            f = (0 < r ? f.replace(N, '') : f).trim();\n            if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n              case 0:\n                break;\n\n              case 64:\n                if (105 === g || 99 === g) {\n                  G += f + e.charAt(l);\n                  break;\n                }\n\n              default:\n                58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n            }\n            I = r = u = q = 0;\n            f = '';\n            g = e.charCodeAt(++l);\n        }\n      }\n\n      switch (g) {\n        case 13:\n        case 10:\n          47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n          0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n          z = 1;\n          D++;\n          break;\n\n        case 59:\n        case 125:\n          if (0 === b + n + v + m) {\n            z++;\n            break;\n          }\n\n        default:\n          z++;\n          y = e.charAt(l);\n\n          switch (g) {\n            case 9:\n            case 32:\n              if (0 === n + m + b) switch (x) {\n                case 44:\n                case 58:\n                case 9:\n                case 32:\n                  y = '';\n                  break;\n\n                default:\n                  32 !== g && (y = ' ');\n              }\n              break;\n\n            case 0:\n              y = '\\\\0';\n              break;\n\n            case 12:\n              y = '\\\\f';\n              break;\n\n            case 11:\n              y = '\\\\v';\n              break;\n\n            case 38:\n              0 === n + b + m && (r = I = 1, y = '\\f' + y);\n              break;\n\n            case 108:\n              if (0 === n + b + m + E && 0 < u) switch (l - u) {\n                case 2:\n                  112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n                case 8:\n                  111 === K && (E = K);\n              }\n              break;\n\n            case 58:\n              0 === n + b + m && (u = l);\n              break;\n\n            case 44:\n              0 === b + v + n + m && (r = 1, y += '\\r');\n              break;\n\n            case 34:\n            case 39:\n              0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n              break;\n\n            case 91:\n              0 === n + b + v && m++;\n              break;\n\n            case 93:\n              0 === n + b + v && m--;\n              break;\n\n            case 41:\n              0 === n + b + m && v--;\n              break;\n\n            case 40:\n              if (0 === n + b + m) {\n                if (0 === q) switch (2 * x + 3 * K) {\n                  case 533:\n                    break;\n\n                  default:\n                    q = 1;\n                }\n                v++;\n              }\n\n              break;\n\n            case 64:\n              0 === b + v + n + m + u + k && (k = 1);\n              break;\n\n            case 42:\n            case 47:\n              if (!(0 < n + m + v)) switch (b) {\n                case 0:\n                  switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n                    case 235:\n                      b = 47;\n                      break;\n\n                    case 220:\n                      t = l, b = 42;\n                  }\n\n                  break;\n\n                case 42:\n                  47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n              }\n          }\n\n          0 === b && (f += y);\n      }\n\n      K = x;\n      x = g;\n      l++;\n    }\n\n    t = p.length;\n\n    if (0 < t) {\n      r = c;\n      if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n      p = r.join(',') + '{' + p + '}';\n\n      if (0 !== w * E) {\n        2 !== w || L(p, 2) || (E = 0);\n\n        switch (E) {\n          case 111:\n            p = p.replace(ha, ':-moz-$1') + p;\n            break;\n\n          case 112:\n            p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n        }\n\n        E = 0;\n      }\n    }\n\n    return G + p + F;\n  }\n\n  function X(d, c, e) {\n    var h = c.trim().split(ia);\n    c = h;\n    var a = h.length,\n        m = d.length;\n\n    switch (m) {\n      case 0:\n      case 1:\n        var b = 0;\n\n        for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n          c[b] = Z(d, c[b], e).trim();\n        }\n\n        break;\n\n      default:\n        var v = b = 0;\n\n        for (c = []; b < a; ++b) {\n          for (var n = 0; n < m; ++n) {\n            c[v++] = Z(d[n] + ' ', h[b], e).trim();\n          }\n        }\n\n    }\n\n    return c;\n  }\n\n  function Z(d, c, e) {\n    var h = c.charCodeAt(0);\n    33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n    switch (h) {\n      case 38:\n        return c.replace(F, '$1' + d.trim());\n\n      case 58:\n        return d.trim() + c.replace(F, '$1' + d.trim());\n\n      default:\n        if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n    }\n\n    return d + c;\n  }\n\n  function P(d, c, e, h) {\n    var a = d + ';',\n        m = 2 * c + 3 * e + 4 * h;\n\n    if (944 === m) {\n      d = a.indexOf(':', 9) + 1;\n      var b = a.substring(d, a.length - 1).trim();\n      b = a.substring(0, d).trim() + b + ';';\n      return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n    }\n\n    if (0 === w || 2 === w && !L(a, 1)) return a;\n\n    switch (m) {\n      case 1015:\n        return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n      case 951:\n        return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n      case 963:\n        return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n      case 1009:\n        if (100 !== a.charCodeAt(4)) break;\n\n      case 969:\n      case 942:\n        return '-webkit-' + a + a;\n\n      case 978:\n        return '-webkit-' + a + '-moz-' + a + a;\n\n      case 1019:\n      case 983:\n        return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n      case 883:\n        if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n        if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n        break;\n\n      case 932:\n        if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n          case 103:\n            return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n          case 115:\n            return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n          case 98:\n            return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n        }\n        return '-webkit-' + a + '-ms-' + a + a;\n\n      case 964:\n        return '-webkit-' + a + '-ms-flex-' + a + a;\n\n      case 1023:\n        if (99 !== a.charCodeAt(8)) break;\n        b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n        return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n      case 1005:\n        return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n      case 1e3:\n        b = a.substring(13).trim();\n        c = b.indexOf('-') + 1;\n\n        switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n          case 226:\n            b = a.replace(G, 'tb');\n            break;\n\n          case 232:\n            b = a.replace(G, 'tb-rl');\n            break;\n\n          case 220:\n            b = a.replace(G, 'lr');\n            break;\n\n          default:\n            return a;\n        }\n\n        return '-webkit-' + a + '-ms-' + b + a;\n\n      case 1017:\n        if (-1 === a.indexOf('sticky', 9)) break;\n\n      case 975:\n        c = (a = d).length - 10;\n        b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n        switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n          case 203:\n            if (111 > b.charCodeAt(8)) break;\n\n          case 115:\n            a = a.replace(b, '-webkit-' + b) + ';' + a;\n            break;\n\n          case 207:\n          case 102:\n            a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n        }\n\n        return a + ';';\n\n      case 938:\n        if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n          case 105:\n            return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n          case 115:\n            return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n          default:\n            return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n        }\n        break;\n\n      case 973:\n      case 989:\n        if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n      case 931:\n      case 953:\n        if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n        break;\n\n      case 962:\n        if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n    }\n\n    return a;\n  }\n\n  function L(d, c) {\n    var e = d.indexOf(1 === c ? ':' : '{'),\n        h = d.substring(0, 3 !== c ? e : 10);\n    e = d.substring(e + 1, d.length - 1);\n    return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n  }\n\n  function ea(d, c) {\n    var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n    return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n  }\n\n  function H(d, c, e, h, a, m, b, v, n, q) {\n    for (var g = 0, x = c, w; g < A; ++g) {\n      switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n        case void 0:\n        case !1:\n        case !0:\n        case null:\n          break;\n\n        default:\n          x = w;\n      }\n    }\n\n    if (x !== c) return x;\n  }\n\n  function T(d) {\n    switch (d) {\n      case void 0:\n      case null:\n        A = S.length = 0;\n        break;\n\n      default:\n        if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n          T(d[c]);\n        } else Y = !!d | 0;\n    }\n\n    return T;\n  }\n\n  function U(d) {\n    d = d.prefix;\n    void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n    return U;\n  }\n\n  function B(d, c) {\n    var e = d;\n    33 > e.charCodeAt(0) && (e = e.trim());\n    V = e;\n    e = [V];\n\n    if (0 < A) {\n      var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n      void 0 !== h && 'string' === typeof h && (c = h);\n    }\n\n    var a = M(O, e, c, 0, 0);\n    0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n    V = '';\n    E = 0;\n    z = D = 1;\n    return a;\n  }\n\n  var ca = /^\\0+/g,\n      N = /[\\0\\r\\f]/g,\n      aa = /: */g,\n      ka = /zoo|gra/,\n      ma = /([,: ])(transform)/g,\n      ia = /,\\r+?/g,\n      F = /([\\t\\r\\n ])*\\f?&/g,\n      fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n      Q = /::(place)/g,\n      ha = /:(read-only)/g,\n      G = /[svh]\\w+-[tblr]{2}/,\n      da = /\\(\\s*(.*)\\s*\\)/g,\n      oa = /([\\s\\S]*?);/g,\n      ba = /-self|flex-/g,\n      na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n      la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n      ja = /([^-])(image-set\\()/,\n      z = 1,\n      D = 1,\n      E = 0,\n      w = 1,\n      O = [],\n      S = [],\n      A = 0,\n      R = null,\n      Y = 0,\n      V = '';\n  B.use = T;\n  B.set = U;\n  void 0 !== W && U(W);\n  return B;\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (stylis_min);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vc3R5bGlzL2Rpc3Qvc3R5bGlzLmJyb3dzZXIuZXNtLmpzP2QzMWQiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gc3R5bGlzX21pbiAoVykge1xuICBmdW5jdGlvbiBNKGQsIGMsIGUsIGgsIGEpIHtcbiAgICBmb3IgKHZhciBtID0gMCwgYiA9IDAsIHYgPSAwLCBuID0gMCwgcSwgZywgeCA9IDAsIEsgPSAwLCBrLCB1ID0gayA9IHEgPSAwLCBsID0gMCwgciA9IDAsIEkgPSAwLCB0ID0gMCwgQiA9IGUubGVuZ3RoLCBKID0gQiAtIDEsIHksIGYgPSAnJywgcCA9ICcnLCBGID0gJycsIEcgPSAnJywgQzsgbCA8IEI7KSB7XG4gICAgICBnID0gZS5jaGFyQ29kZUF0KGwpO1xuICAgICAgbCA9PT0gSiAmJiAwICE9PSBiICsgbiArIHYgKyBtICYmICgwICE9PSBiICYmIChnID0gNDcgPT09IGIgPyAxMCA6IDQ3KSwgbiA9IHYgPSBtID0gMCwgQisrLCBKKyspO1xuXG4gICAgICBpZiAoMCA9PT0gYiArIG4gKyB2ICsgbSkge1xuICAgICAgICBpZiAobCA9PT0gSiAmJiAoMCA8IHIgJiYgKGYgPSBmLnJlcGxhY2UoTiwgJycpKSwgMCA8IGYudHJpbSgpLmxlbmd0aCkpIHtcbiAgICAgICAgICBzd2l0Y2ggKGcpIHtcbiAgICAgICAgICAgIGNhc2UgMzI6XG4gICAgICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgICBjYXNlIDU5OlxuICAgICAgICAgICAgY2FzZSAxMzpcbiAgICAgICAgICAgIGNhc2UgMTA6XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBmICs9IGUuY2hhckF0KGwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGcgPSA1OTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN3aXRjaCAoZykge1xuICAgICAgICAgIGNhc2UgMTIzOlxuICAgICAgICAgICAgZiA9IGYudHJpbSgpO1xuICAgICAgICAgICAgcSA9IGYuY2hhckNvZGVBdCgwKTtcbiAgICAgICAgICAgIGsgPSAxO1xuXG4gICAgICAgICAgICBmb3IgKHQgPSArK2w7IGwgPCBCOykge1xuICAgICAgICAgICAgICBzd2l0Y2ggKGcgPSBlLmNoYXJDb2RlQXQobCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDEyMzpcbiAgICAgICAgICAgICAgICAgIGsrKztcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAxMjU6XG4gICAgICAgICAgICAgICAgICBrLS07XG4gICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgNDc6XG4gICAgICAgICAgICAgICAgICBzd2l0Y2ggKGcgPSBlLmNoYXJDb2RlQXQobCArIDEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgNDI6XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgNDc6XG4gICAgICAgICAgICAgICAgICAgICAgYToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh1ID0gbCArIDE7IHUgPCBKOyArK3UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChlLmNoYXJDb2RlQXQodSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQ3OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDQyID09PSBnICYmIDQyID09PSBlLmNoYXJDb2RlQXQodSAtIDEpICYmIGwgKyAyICE9PSB1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwgPSB1ICsgMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDEwOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDQ3ID09PSBnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwgPSB1ICsgMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGwgPSB1O1xuICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgOTE6XG4gICAgICAgICAgICAgICAgICBnKys7XG5cbiAgICAgICAgICAgICAgICBjYXNlIDQwOlxuICAgICAgICAgICAgICAgICAgZysrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAzNDpcbiAgICAgICAgICAgICAgICBjYXNlIDM5OlxuICAgICAgICAgICAgICAgICAgZm9yICg7IGwrKyA8IEogJiYgZS5jaGFyQ29kZUF0KGwpICE9PSBnOykge1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoMCA9PT0gaykgYnJlYWs7XG4gICAgICAgICAgICAgIGwrKztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgayA9IGUuc3Vic3RyaW5nKHQsIGwpO1xuICAgICAgICAgICAgMCA9PT0gcSAmJiAocSA9IChmID0gZi5yZXBsYWNlKGNhLCAnJykudHJpbSgpKS5jaGFyQ29kZUF0KDApKTtcblxuICAgICAgICAgICAgc3dpdGNoIChxKSB7XG4gICAgICAgICAgICAgIGNhc2UgNjQ6XG4gICAgICAgICAgICAgICAgMCA8IHIgJiYgKGYgPSBmLnJlcGxhY2UoTiwgJycpKTtcbiAgICAgICAgICAgICAgICBnID0gZi5jaGFyQ29kZUF0KDEpO1xuXG4gICAgICAgICAgICAgICAgc3dpdGNoIChnKSB7XG4gICAgICAgICAgICAgICAgICBjYXNlIDEwMDpcbiAgICAgICAgICAgICAgICAgIGNhc2UgMTA5OlxuICAgICAgICAgICAgICAgICAgY2FzZSAxMTU6XG4gICAgICAgICAgICAgICAgICBjYXNlIDQ1OlxuICAgICAgICAgICAgICAgICAgICByID0gYztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHIgPSBPO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGsgPSBNKGMsIHIsIGssIGcsIGEgKyAxKTtcbiAgICAgICAgICAgICAgICB0ID0gay5sZW5ndGg7XG4gICAgICAgICAgICAgICAgMCA8IEEgJiYgKHIgPSBYKE8sIGYsIEkpLCBDID0gSCgzLCBrLCByLCBjLCBELCB6LCB0LCBnLCBhLCBoKSwgZiA9IHIuam9pbignJyksIHZvaWQgMCAhPT0gQyAmJiAwID09PSAodCA9IChrID0gQy50cmltKCkpLmxlbmd0aCkgJiYgKGcgPSAwLCBrID0gJycpKTtcbiAgICAgICAgICAgICAgICBpZiAoMCA8IHQpIHN3aXRjaCAoZykge1xuICAgICAgICAgICAgICAgICAgY2FzZSAxMTU6XG4gICAgICAgICAgICAgICAgICAgIGYgPSBmLnJlcGxhY2UoZGEsIGVhKTtcblxuICAgICAgICAgICAgICAgICAgY2FzZSAxMDA6XG4gICAgICAgICAgICAgICAgICBjYXNlIDEwOTpcbiAgICAgICAgICAgICAgICAgIGNhc2UgNDU6XG4gICAgICAgICAgICAgICAgICAgIGsgPSBmICsgJ3snICsgayArICd9JztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgIGNhc2UgMTA3OlxuICAgICAgICAgICAgICAgICAgICBmID0gZi5yZXBsYWNlKGZhLCAnJDEgJDInKTtcbiAgICAgICAgICAgICAgICAgICAgayA9IGYgKyAneycgKyBrICsgJ30nO1xuICAgICAgICAgICAgICAgICAgICBrID0gMSA9PT0gdyB8fCAyID09PSB3ICYmIEwoJ0AnICsgaywgMykgPyAnQC13ZWJraXQtJyArIGsgKyAnQCcgKyBrIDogJ0AnICsgaztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGsgPSBmICsgaywgMTEyID09PSBoICYmIChrID0gKHAgKz0gaywgJycpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgayA9ICcnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgayA9IE0oYywgWChjLCBmLCBJKSwgaywgaCwgYSArIDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBGICs9IGs7XG4gICAgICAgICAgICBrID0gSSA9IHIgPSB1ID0gcSA9IDA7XG4gICAgICAgICAgICBmID0gJyc7XG4gICAgICAgICAgICBnID0gZS5jaGFyQ29kZUF0KCsrbCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgMTI1OlxuICAgICAgICAgIGNhc2UgNTk6XG4gICAgICAgICAgICBmID0gKDAgPCByID8gZi5yZXBsYWNlKE4sICcnKSA6IGYpLnRyaW0oKTtcbiAgICAgICAgICAgIGlmICgxIDwgKHQgPSBmLmxlbmd0aCkpIHN3aXRjaCAoMCA9PT0gdSAmJiAocSA9IGYuY2hhckNvZGVBdCgwKSwgNDUgPT09IHEgfHwgOTYgPCBxICYmIDEyMyA+IHEpICYmICh0ID0gKGYgPSBmLnJlcGxhY2UoJyAnLCAnOicpKS5sZW5ndGgpLCAwIDwgQSAmJiB2b2lkIDAgIT09IChDID0gSCgxLCBmLCBjLCBkLCBELCB6LCBwLmxlbmd0aCwgaCwgYSwgaCkpICYmIDAgPT09ICh0ID0gKGYgPSBDLnRyaW0oKSkubGVuZ3RoKSAmJiAoZiA9ICdcXHgwMFxceDAwJyksIHEgPSBmLmNoYXJDb2RlQXQoMCksIGcgPSBmLmNoYXJDb2RlQXQoMSksIHEpIHtcbiAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgIGNhc2UgNjQ6XG4gICAgICAgICAgICAgICAgaWYgKDEwNSA9PT0gZyB8fCA5OSA9PT0gZykge1xuICAgICAgICAgICAgICAgICAgRyArPSBmICsgZS5jaGFyQXQobCk7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICA1OCAhPT0gZi5jaGFyQ29kZUF0KHQgLSAxKSAmJiAocCArPSBQKGYsIHEsIGcsIGYuY2hhckNvZGVBdCgyKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgSSA9IHIgPSB1ID0gcSA9IDA7XG4gICAgICAgICAgICBmID0gJyc7XG4gICAgICAgICAgICBnID0gZS5jaGFyQ29kZUF0KCsrbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3dpdGNoIChnKSB7XG4gICAgICAgIGNhc2UgMTM6XG4gICAgICAgIGNhc2UgMTA6XG4gICAgICAgICAgNDcgPT09IGIgPyBiID0gMCA6IDAgPT09IDEgKyBxICYmIDEwNyAhPT0gaCAmJiAwIDwgZi5sZW5ndGggJiYgKHIgPSAxLCBmICs9ICdcXHgwMCcpO1xuICAgICAgICAgIDAgPCBBICogWSAmJiBIKDAsIGYsIGMsIGQsIEQsIHosIHAubGVuZ3RoLCBoLCBhLCBoKTtcbiAgICAgICAgICB6ID0gMTtcbiAgICAgICAgICBEKys7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSA1OTpcbiAgICAgICAgY2FzZSAxMjU6XG4gICAgICAgICAgaWYgKDAgPT09IGIgKyBuICsgdiArIG0pIHtcbiAgICAgICAgICAgIHorKztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHorKztcbiAgICAgICAgICB5ID0gZS5jaGFyQXQobCk7XG5cbiAgICAgICAgICBzd2l0Y2ggKGcpIHtcbiAgICAgICAgICAgIGNhc2UgOTpcbiAgICAgICAgICAgIGNhc2UgMzI6XG4gICAgICAgICAgICAgIGlmICgwID09PSBuICsgbSArIGIpIHN3aXRjaCAoeCkge1xuICAgICAgICAgICAgICAgIGNhc2UgNDQ6XG4gICAgICAgICAgICAgICAgY2FzZSA1ODpcbiAgICAgICAgICAgICAgICBjYXNlIDk6XG4gICAgICAgICAgICAgICAgY2FzZSAzMjpcbiAgICAgICAgICAgICAgICAgIHkgPSAnJztcbiAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgIDMyICE9PSBnICYmICh5ID0gJyAnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICB5ID0gJ1xcXFwwJztcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMTI6XG4gICAgICAgICAgICAgIHkgPSAnXFxcXGYnO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAxMTpcbiAgICAgICAgICAgICAgeSA9ICdcXFxcdic7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDM4OlxuICAgICAgICAgICAgICAwID09PSBuICsgYiArIG0gJiYgKHIgPSBJID0gMSwgeSA9ICdcXGYnICsgeSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDEwODpcbiAgICAgICAgICAgICAgaWYgKDAgPT09IG4gKyBiICsgbSArIEUgJiYgMCA8IHUpIHN3aXRjaCAobCAtIHUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgICAgICAgICAxMTIgPT09IHggJiYgNTggPT09IGUuY2hhckNvZGVBdChsIC0gMykgJiYgKEUgPSB4KTtcblxuICAgICAgICAgICAgICAgIGNhc2UgODpcbiAgICAgICAgICAgICAgICAgIDExMSA9PT0gSyAmJiAoRSA9IEspO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDU4OlxuICAgICAgICAgICAgICAwID09PSBuICsgYiArIG0gJiYgKHUgPSBsKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgNDQ6XG4gICAgICAgICAgICAgIDAgPT09IGIgKyB2ICsgbiArIG0gJiYgKHIgPSAxLCB5ICs9ICdcXHInKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgMzQ6XG4gICAgICAgICAgICBjYXNlIDM5OlxuICAgICAgICAgICAgICAwID09PSBiICYmIChuID0gbiA9PT0gZyA/IDAgOiAwID09PSBuID8gZyA6IG4pO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSA5MTpcbiAgICAgICAgICAgICAgMCA9PT0gbiArIGIgKyB2ICYmIG0rKztcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgOTM6XG4gICAgICAgICAgICAgIDAgPT09IG4gKyBiICsgdiAmJiBtLS07XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDQxOlxuICAgICAgICAgICAgICAwID09PSBuICsgYiArIG0gJiYgdi0tO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSA0MDpcbiAgICAgICAgICAgICAgaWYgKDAgPT09IG4gKyBiICsgbSkge1xuICAgICAgICAgICAgICAgIGlmICgwID09PSBxKSBzd2l0Y2ggKDIgKiB4ICsgMyAqIEspIHtcbiAgICAgICAgICAgICAgICAgIGNhc2UgNTMzOlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcSA9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHYrKztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIDY0OlxuICAgICAgICAgICAgICAwID09PSBiICsgdiArIG4gKyBtICsgdSArIGsgJiYgKGsgPSAxKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgNDI6XG4gICAgICAgICAgICBjYXNlIDQ3OlxuICAgICAgICAgICAgICBpZiAoISgwIDwgbiArIG0gKyB2KSkgc3dpdGNoIChiKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAwOlxuICAgICAgICAgICAgICAgICAgc3dpdGNoICgyICogZyArIDMgKiBlLmNoYXJDb2RlQXQobCArIDEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgMjM1OlxuICAgICAgICAgICAgICAgICAgICAgIGIgPSA0NztcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgICAgICBjYXNlIDIyMDpcbiAgICAgICAgICAgICAgICAgICAgICB0ID0gbCwgYiA9IDQyO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgNDI6XG4gICAgICAgICAgICAgICAgICA0NyA9PT0gZyAmJiA0MiA9PT0geCAmJiB0ICsgMiAhPT0gbCAmJiAoMzMgPT09IGUuY2hhckNvZGVBdCh0ICsgMikgJiYgKHAgKz0gZS5zdWJzdHJpbmcodCwgbCArIDEpKSwgeSA9ICcnLCBiID0gMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAwID09PSBiICYmIChmICs9IHkpO1xuICAgICAgfVxuXG4gICAgICBLID0geDtcbiAgICAgIHggPSBnO1xuICAgICAgbCsrO1xuICAgIH1cblxuICAgIHQgPSBwLmxlbmd0aDtcblxuICAgIGlmICgwIDwgdCkge1xuICAgICAgciA9IGM7XG4gICAgICBpZiAoMCA8IEEgJiYgKEMgPSBIKDIsIHAsIHIsIGQsIEQsIHosIHQsIGgsIGEsIGgpLCB2b2lkIDAgIT09IEMgJiYgMCA9PT0gKHAgPSBDKS5sZW5ndGgpKSByZXR1cm4gRyArIHAgKyBGO1xuICAgICAgcCA9IHIuam9pbignLCcpICsgJ3snICsgcCArICd9JztcblxuICAgICAgaWYgKDAgIT09IHcgKiBFKSB7XG4gICAgICAgIDIgIT09IHcgfHwgTChwLCAyKSB8fCAoRSA9IDApO1xuXG4gICAgICAgIHN3aXRjaCAoRSkge1xuICAgICAgICAgIGNhc2UgMTExOlxuICAgICAgICAgICAgcCA9IHAucmVwbGFjZShoYSwgJzotbW96LSQxJykgKyBwO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIDExMjpcbiAgICAgICAgICAgIHAgPSBwLnJlcGxhY2UoUSwgJzo6LXdlYmtpdC1pbnB1dC0kMScpICsgcC5yZXBsYWNlKFEsICc6Oi1tb3otJDEnKSArIHAucmVwbGFjZShRLCAnOi1tcy1pbnB1dC0kMScpICsgcDtcbiAgICAgICAgfVxuXG4gICAgICAgIEUgPSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBHICsgcCArIEY7XG4gIH1cblxuICBmdW5jdGlvbiBYKGQsIGMsIGUpIHtcbiAgICB2YXIgaCA9IGMudHJpbSgpLnNwbGl0KGlhKTtcbiAgICBjID0gaDtcbiAgICB2YXIgYSA9IGgubGVuZ3RoLFxuICAgICAgICBtID0gZC5sZW5ndGg7XG5cbiAgICBzd2l0Y2ggKG0pIHtcbiAgICAgIGNhc2UgMDpcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgdmFyIGIgPSAwO1xuXG4gICAgICAgIGZvciAoZCA9IDAgPT09IG0gPyAnJyA6IGRbMF0gKyAnICc7IGIgPCBhOyArK2IpIHtcbiAgICAgICAgICBjW2JdID0gWihkLCBjW2JdLCBlKS50cmltKCk7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdmFyIHYgPSBiID0gMDtcblxuICAgICAgICBmb3IgKGMgPSBbXTsgYiA8IGE7ICsrYikge1xuICAgICAgICAgIGZvciAodmFyIG4gPSAwOyBuIDwgbTsgKytuKSB7XG4gICAgICAgICAgICBjW3YrK10gPSBaKGRbbl0gKyAnICcsIGhbYl0sIGUpLnRyaW0oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHJldHVybiBjO1xuICB9XG5cbiAgZnVuY3Rpb24gWihkLCBjLCBlKSB7XG4gICAgdmFyIGggPSBjLmNoYXJDb2RlQXQoMCk7XG4gICAgMzMgPiBoICYmIChoID0gKGMgPSBjLnRyaW0oKSkuY2hhckNvZGVBdCgwKSk7XG5cbiAgICBzd2l0Y2ggKGgpIHtcbiAgICAgIGNhc2UgMzg6XG4gICAgICAgIHJldHVybiBjLnJlcGxhY2UoRiwgJyQxJyArIGQudHJpbSgpKTtcblxuICAgICAgY2FzZSA1ODpcbiAgICAgICAgcmV0dXJuIGQudHJpbSgpICsgYy5yZXBsYWNlKEYsICckMScgKyBkLnRyaW0oKSk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmICgwIDwgMSAqIGUgJiYgMCA8IGMuaW5kZXhPZignXFxmJykpIHJldHVybiBjLnJlcGxhY2UoRiwgKDU4ID09PSBkLmNoYXJDb2RlQXQoMCkgPyAnJyA6ICckMScpICsgZC50cmltKCkpO1xuICAgIH1cblxuICAgIHJldHVybiBkICsgYztcbiAgfVxuXG4gIGZ1bmN0aW9uIFAoZCwgYywgZSwgaCkge1xuICAgIHZhciBhID0gZCArICc7JyxcbiAgICAgICAgbSA9IDIgKiBjICsgMyAqIGUgKyA0ICogaDtcblxuICAgIGlmICg5NDQgPT09IG0pIHtcbiAgICAgIGQgPSBhLmluZGV4T2YoJzonLCA5KSArIDE7XG4gICAgICB2YXIgYiA9IGEuc3Vic3RyaW5nKGQsIGEubGVuZ3RoIC0gMSkudHJpbSgpO1xuICAgICAgYiA9IGEuc3Vic3RyaW5nKDAsIGQpLnRyaW0oKSArIGIgKyAnOyc7XG4gICAgICByZXR1cm4gMSA9PT0gdyB8fCAyID09PSB3ICYmIEwoYiwgMSkgPyAnLXdlYmtpdC0nICsgYiArIGIgOiBiO1xuICAgIH1cblxuICAgIGlmICgwID09PSB3IHx8IDIgPT09IHcgJiYgIUwoYSwgMSkpIHJldHVybiBhO1xuXG4gICAgc3dpdGNoIChtKSB7XG4gICAgICBjYXNlIDEwMTU6XG4gICAgICAgIHJldHVybiA5NyA9PT0gYS5jaGFyQ29kZUF0KDEwKSA/ICctd2Via2l0LScgKyBhICsgYSA6IGE7XG5cbiAgICAgIGNhc2UgOTUxOlxuICAgICAgICByZXR1cm4gMTE2ID09PSBhLmNoYXJDb2RlQXQoMykgPyAnLXdlYmtpdC0nICsgYSArIGEgOiBhO1xuXG4gICAgICBjYXNlIDk2MzpcbiAgICAgICAgcmV0dXJuIDExMCA9PT0gYS5jaGFyQ29kZUF0KDUpID8gJy13ZWJraXQtJyArIGEgKyBhIDogYTtcblxuICAgICAgY2FzZSAxMDA5OlxuICAgICAgICBpZiAoMTAwICE9PSBhLmNoYXJDb2RlQXQoNCkpIGJyZWFrO1xuXG4gICAgICBjYXNlIDk2OTpcbiAgICAgIGNhc2UgOTQyOlxuICAgICAgICByZXR1cm4gJy13ZWJraXQtJyArIGEgKyBhO1xuXG4gICAgICBjYXNlIDk3ODpcbiAgICAgICAgcmV0dXJuICctd2Via2l0LScgKyBhICsgJy1tb3otJyArIGEgKyBhO1xuXG4gICAgICBjYXNlIDEwMTk6XG4gICAgICBjYXNlIDk4MzpcbiAgICAgICAgcmV0dXJuICctd2Via2l0LScgKyBhICsgJy1tb3otJyArIGEgKyAnLW1zLScgKyBhICsgYTtcblxuICAgICAgY2FzZSA4ODM6XG4gICAgICAgIGlmICg0NSA9PT0gYS5jaGFyQ29kZUF0KDgpKSByZXR1cm4gJy13ZWJraXQtJyArIGEgKyBhO1xuICAgICAgICBpZiAoMCA8IGEuaW5kZXhPZignaW1hZ2Utc2V0KCcsIDExKSkgcmV0dXJuIGEucmVwbGFjZShqYSwgJyQxLXdlYmtpdC0kMicpICsgYTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgOTMyOlxuICAgICAgICBpZiAoNDUgPT09IGEuY2hhckNvZGVBdCg0KSkgc3dpdGNoIChhLmNoYXJDb2RlQXQoNSkpIHtcbiAgICAgICAgICBjYXNlIDEwMzpcbiAgICAgICAgICAgIHJldHVybiAnLXdlYmtpdC1ib3gtJyArIGEucmVwbGFjZSgnLWdyb3cnLCAnJykgKyAnLXdlYmtpdC0nICsgYSArICctbXMtJyArIGEucmVwbGFjZSgnZ3JvdycsICdwb3NpdGl2ZScpICsgYTtcblxuICAgICAgICAgIGNhc2UgMTE1OlxuICAgICAgICAgICAgcmV0dXJuICctd2Via2l0LScgKyBhICsgJy1tcy0nICsgYS5yZXBsYWNlKCdzaHJpbmsnLCAnbmVnYXRpdmUnKSArIGE7XG5cbiAgICAgICAgICBjYXNlIDk4OlxuICAgICAgICAgICAgcmV0dXJuICctd2Via2l0LScgKyBhICsgJy1tcy0nICsgYS5yZXBsYWNlKCdiYXNpcycsICdwcmVmZXJyZWQtc2l6ZScpICsgYTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJy13ZWJraXQtJyArIGEgKyAnLW1zLScgKyBhICsgYTtcblxuICAgICAgY2FzZSA5NjQ6XG4gICAgICAgIHJldHVybiAnLXdlYmtpdC0nICsgYSArICctbXMtZmxleC0nICsgYSArIGE7XG5cbiAgICAgIGNhc2UgMTAyMzpcbiAgICAgICAgaWYgKDk5ICE9PSBhLmNoYXJDb2RlQXQoOCkpIGJyZWFrO1xuICAgICAgICBiID0gYS5zdWJzdHJpbmcoYS5pbmRleE9mKCc6JywgMTUpKS5yZXBsYWNlKCdmbGV4LScsICcnKS5yZXBsYWNlKCdzcGFjZS1iZXR3ZWVuJywgJ2p1c3RpZnknKTtcbiAgICAgICAgcmV0dXJuICctd2Via2l0LWJveC1wYWNrJyArIGIgKyAnLXdlYmtpdC0nICsgYSArICctbXMtZmxleC1wYWNrJyArIGIgKyBhO1xuXG4gICAgICBjYXNlIDEwMDU6XG4gICAgICAgIHJldHVybiBrYS50ZXN0KGEpID8gYS5yZXBsYWNlKGFhLCAnOi13ZWJraXQtJykgKyBhLnJlcGxhY2UoYWEsICc6LW1vei0nKSArIGEgOiBhO1xuXG4gICAgICBjYXNlIDFlMzpcbiAgICAgICAgYiA9IGEuc3Vic3RyaW5nKDEzKS50cmltKCk7XG4gICAgICAgIGMgPSBiLmluZGV4T2YoJy0nKSArIDE7XG5cbiAgICAgICAgc3dpdGNoIChiLmNoYXJDb2RlQXQoMCkgKyBiLmNoYXJDb2RlQXQoYykpIHtcbiAgICAgICAgICBjYXNlIDIyNjpcbiAgICAgICAgICAgIGIgPSBhLnJlcGxhY2UoRywgJ3RiJyk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgMjMyOlxuICAgICAgICAgICAgYiA9IGEucmVwbGFjZShHLCAndGItcmwnKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAyMjA6XG4gICAgICAgICAgICBiID0gYS5yZXBsYWNlKEcsICdscicpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJy13ZWJraXQtJyArIGEgKyAnLW1zLScgKyBiICsgYTtcblxuICAgICAgY2FzZSAxMDE3OlxuICAgICAgICBpZiAoLTEgPT09IGEuaW5kZXhPZignc3RpY2t5JywgOSkpIGJyZWFrO1xuXG4gICAgICBjYXNlIDk3NTpcbiAgICAgICAgYyA9IChhID0gZCkubGVuZ3RoIC0gMTA7XG4gICAgICAgIGIgPSAoMzMgPT09IGEuY2hhckNvZGVBdChjKSA/IGEuc3Vic3RyaW5nKDAsIGMpIDogYSkuc3Vic3RyaW5nKGQuaW5kZXhPZignOicsIDcpICsgMSkudHJpbSgpO1xuXG4gICAgICAgIHN3aXRjaCAobSA9IGIuY2hhckNvZGVBdCgwKSArIChiLmNoYXJDb2RlQXQoNykgfCAwKSkge1xuICAgICAgICAgIGNhc2UgMjAzOlxuICAgICAgICAgICAgaWYgKDExMSA+IGIuY2hhckNvZGVBdCg4KSkgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIDExNTpcbiAgICAgICAgICAgIGEgPSBhLnJlcGxhY2UoYiwgJy13ZWJraXQtJyArIGIpICsgJzsnICsgYTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAyMDc6XG4gICAgICAgICAgY2FzZSAxMDI6XG4gICAgICAgICAgICBhID0gYS5yZXBsYWNlKGIsICctd2Via2l0LScgKyAoMTAyIDwgbSA/ICdpbmxpbmUtJyA6ICcnKSArICdib3gnKSArICc7JyArIGEucmVwbGFjZShiLCAnLXdlYmtpdC0nICsgYikgKyAnOycgKyBhLnJlcGxhY2UoYiwgJy1tcy0nICsgYiArICdib3gnKSArICc7JyArIGE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYSArICc7JztcblxuICAgICAgY2FzZSA5Mzg6XG4gICAgICAgIGlmICg0NSA9PT0gYS5jaGFyQ29kZUF0KDUpKSBzd2l0Y2ggKGEuY2hhckNvZGVBdCg2KSkge1xuICAgICAgICAgIGNhc2UgMTA1OlxuICAgICAgICAgICAgcmV0dXJuIGIgPSBhLnJlcGxhY2UoJy1pdGVtcycsICcnKSwgJy13ZWJraXQtJyArIGEgKyAnLXdlYmtpdC1ib3gtJyArIGIgKyAnLW1zLWZsZXgtJyArIGIgKyBhO1xuXG4gICAgICAgICAgY2FzZSAxMTU6XG4gICAgICAgICAgICByZXR1cm4gJy13ZWJraXQtJyArIGEgKyAnLW1zLWZsZXgtaXRlbS0nICsgYS5yZXBsYWNlKGJhLCAnJykgKyBhO1xuXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiAnLXdlYmtpdC0nICsgYSArICctbXMtZmxleC1saW5lLXBhY2snICsgYS5yZXBsYWNlKCdhbGlnbi1jb250ZW50JywgJycpLnJlcGxhY2UoYmEsICcnKSArIGE7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgOTczOlxuICAgICAgY2FzZSA5ODk6XG4gICAgICAgIGlmICg0NSAhPT0gYS5jaGFyQ29kZUF0KDMpIHx8IDEyMiA9PT0gYS5jaGFyQ29kZUF0KDQpKSBicmVhaztcblxuICAgICAgY2FzZSA5MzE6XG4gICAgICBjYXNlIDk1MzpcbiAgICAgICAgaWYgKCEwID09PSBsYS50ZXN0KGQpKSByZXR1cm4gMTE1ID09PSAoYiA9IGQuc3Vic3RyaW5nKGQuaW5kZXhPZignOicpICsgMSkpLmNoYXJDb2RlQXQoMCkgPyBQKGQucmVwbGFjZSgnc3RyZXRjaCcsICdmaWxsLWF2YWlsYWJsZScpLCBjLCBlLCBoKS5yZXBsYWNlKCc6ZmlsbC1hdmFpbGFibGUnLCAnOnN0cmV0Y2gnKSA6IGEucmVwbGFjZShiLCAnLXdlYmtpdC0nICsgYikgKyBhLnJlcGxhY2UoYiwgJy1tb3otJyArIGIucmVwbGFjZSgnZmlsbC0nLCAnJykpICsgYTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgOTYyOlxuICAgICAgICBpZiAoYSA9ICctd2Via2l0LScgKyBhICsgKDEwMiA9PT0gYS5jaGFyQ29kZUF0KDUpID8gJy1tcy0nICsgYSA6ICcnKSArIGEsIDIxMSA9PT0gZSArIGggJiYgMTA1ID09PSBhLmNoYXJDb2RlQXQoMTMpICYmIDAgPCBhLmluZGV4T2YoJ3RyYW5zZm9ybScsIDEwKSkgcmV0dXJuIGEuc3Vic3RyaW5nKDAsIGEuaW5kZXhPZignOycsIDI3KSArIDEpLnJlcGxhY2UobWEsICckMS13ZWJraXQtJDInKSArIGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGE7XG4gIH1cblxuICBmdW5jdGlvbiBMKGQsIGMpIHtcbiAgICB2YXIgZSA9IGQuaW5kZXhPZigxID09PSBjID8gJzonIDogJ3snKSxcbiAgICAgICAgaCA9IGQuc3Vic3RyaW5nKDAsIDMgIT09IGMgPyBlIDogMTApO1xuICAgIGUgPSBkLnN1YnN0cmluZyhlICsgMSwgZC5sZW5ndGggLSAxKTtcbiAgICByZXR1cm4gUigyICE9PSBjID8gaCA6IGgucmVwbGFjZShuYSwgJyQxJyksIGUsIGMpO1xuICB9XG5cbiAgZnVuY3Rpb24gZWEoZCwgYykge1xuICAgIHZhciBlID0gUChjLCBjLmNoYXJDb2RlQXQoMCksIGMuY2hhckNvZGVBdCgxKSwgYy5jaGFyQ29kZUF0KDIpKTtcbiAgICByZXR1cm4gZSAhPT0gYyArICc7JyA/IGUucmVwbGFjZShvYSwgJyBvciAoJDEpJykuc3Vic3RyaW5nKDQpIDogJygnICsgYyArICcpJztcbiAgfVxuXG4gIGZ1bmN0aW9uIEgoZCwgYywgZSwgaCwgYSwgbSwgYiwgdiwgbiwgcSkge1xuICAgIGZvciAodmFyIGcgPSAwLCB4ID0gYywgdzsgZyA8IEE7ICsrZykge1xuICAgICAgc3dpdGNoICh3ID0gU1tnXS5jYWxsKEIsIGQsIHgsIGUsIGgsIGEsIG0sIGIsIHYsIG4sIHEpKSB7XG4gICAgICAgIGNhc2Ugdm9pZCAwOlxuICAgICAgICBjYXNlICExOlxuICAgICAgICBjYXNlICEwOlxuICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB4ID0gdztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoeCAhPT0gYykgcmV0dXJuIHg7XG4gIH1cblxuICBmdW5jdGlvbiBUKGQpIHtcbiAgICBzd2l0Y2ggKGQpIHtcbiAgICAgIGNhc2Ugdm9pZCAwOlxuICAgICAgY2FzZSBudWxsOlxuICAgICAgICBBID0gUy5sZW5ndGggPSAwO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKCdmdW5jdGlvbicgPT09IHR5cGVvZiBkKSBTW0ErK10gPSBkO2Vsc2UgaWYgKCdvYmplY3QnID09PSB0eXBlb2YgZCkgZm9yICh2YXIgYyA9IDAsIGUgPSBkLmxlbmd0aDsgYyA8IGU7ICsrYykge1xuICAgICAgICAgIFQoZFtjXSk7XG4gICAgICAgIH0gZWxzZSBZID0gISFkIHwgMDtcbiAgICB9XG5cbiAgICByZXR1cm4gVDtcbiAgfVxuXG4gIGZ1bmN0aW9uIFUoZCkge1xuICAgIGQgPSBkLnByZWZpeDtcbiAgICB2b2lkIDAgIT09IGQgJiYgKFIgPSBudWxsLCBkID8gJ2Z1bmN0aW9uJyAhPT0gdHlwZW9mIGQgPyB3ID0gMSA6ICh3ID0gMiwgUiA9IGQpIDogdyA9IDApO1xuICAgIHJldHVybiBVO1xuICB9XG5cbiAgZnVuY3Rpb24gQihkLCBjKSB7XG4gICAgdmFyIGUgPSBkO1xuICAgIDMzID4gZS5jaGFyQ29kZUF0KDApICYmIChlID0gZS50cmltKCkpO1xuICAgIFYgPSBlO1xuICAgIGUgPSBbVl07XG5cbiAgICBpZiAoMCA8IEEpIHtcbiAgICAgIHZhciBoID0gSCgtMSwgYywgZSwgZSwgRCwgeiwgMCwgMCwgMCwgMCk7XG4gICAgICB2b2lkIDAgIT09IGggJiYgJ3N0cmluZycgPT09IHR5cGVvZiBoICYmIChjID0gaCk7XG4gICAgfVxuXG4gICAgdmFyIGEgPSBNKE8sIGUsIGMsIDAsIDApO1xuICAgIDAgPCBBICYmIChoID0gSCgtMiwgYSwgZSwgZSwgRCwgeiwgYS5sZW5ndGgsIDAsIDAsIDApLCB2b2lkIDAgIT09IGggJiYgKGEgPSBoKSk7XG4gICAgViA9ICcnO1xuICAgIEUgPSAwO1xuICAgIHogPSBEID0gMTtcbiAgICByZXR1cm4gYTtcbiAgfVxuXG4gIHZhciBjYSA9IC9eXFwwKy9nLFxuICAgICAgTiA9IC9bXFwwXFxyXFxmXS9nLFxuICAgICAgYWEgPSAvOiAqL2csXG4gICAgICBrYSA9IC96b298Z3JhLyxcbiAgICAgIG1hID0gLyhbLDogXSkodHJhbnNmb3JtKS9nLFxuICAgICAgaWEgPSAvLFxccis/L2csXG4gICAgICBGID0gLyhbXFx0XFxyXFxuIF0pKlxcZj8mL2csXG4gICAgICBmYSA9IC9AKGtcXHcrKVxccyooXFxTKilcXHMqLyxcbiAgICAgIFEgPSAvOjoocGxhY2UpL2csXG4gICAgICBoYSA9IC86KHJlYWQtb25seSkvZyxcbiAgICAgIEcgPSAvW3N2aF1cXHcrLVt0YmxyXXsyfS8sXG4gICAgICBkYSA9IC9cXChcXHMqKC4qKVxccypcXCkvZyxcbiAgICAgIG9hID0gLyhbXFxzXFxTXSo/KTsvZyxcbiAgICAgIGJhID0gLy1zZWxmfGZsZXgtL2csXG4gICAgICBuYSA9IC9bXl0qPyg6W3JwXVtlbF1hW1xcdy1dKylbXl0qLyxcbiAgICAgIGxhID0gL3N0cmV0Y2h8OlxccypcXHcrXFwtKD86Y29udGV8YXZhaWwpLyxcbiAgICAgIGphID0gLyhbXi1dKShpbWFnZS1zZXRcXCgpLyxcbiAgICAgIHogPSAxLFxuICAgICAgRCA9IDEsXG4gICAgICBFID0gMCxcbiAgICAgIHcgPSAxLFxuICAgICAgTyA9IFtdLFxuICAgICAgUyA9IFtdLFxuICAgICAgQSA9IDAsXG4gICAgICBSID0gbnVsbCxcbiAgICAgIFkgPSAwLFxuICAgICAgViA9ICcnO1xuICBCLnVzZSA9IFQ7XG4gIEIuc2V0ID0gVTtcbiAgdm9pZCAwICE9PSBXICYmIFUoVyk7XG4gIHJldHVybiBCO1xufVxuXG5leHBvcnQgZGVmYXVsdCBzdHlsaXNfbWluO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///14\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval('var unitlessKeys = {\n  animationIterationCount: 1,\n  borderImageOutset: 1,\n  borderImageSlice: 1,\n  borderImageWidth: 1,\n  boxFlex: 1,\n  boxFlexGroup: 1,\n  boxOrdinalGroup: 1,\n  columnCount: 1,\n  columns: 1,\n  flex: 1,\n  flexGrow: 1,\n  flexPositive: 1,\n  flexShrink: 1,\n  flexNegative: 1,\n  flexOrder: 1,\n  gridRow: 1,\n  gridRowEnd: 1,\n  gridRowSpan: 1,\n  gridRowStart: 1,\n  gridColumn: 1,\n  gridColumnEnd: 1,\n  gridColumnSpan: 1,\n  gridColumnStart: 1,\n  msGridRow: 1,\n  msGridRowSpan: 1,\n  msGridColumn: 1,\n  msGridColumnSpan: 1,\n  fontWeight: 1,\n  lineHeight: 1,\n  opacity: 1,\n  order: 1,\n  orphans: 1,\n  tabSize: 1,\n  widows: 1,\n  zIndex: 1,\n  zoom: 1,\n  WebkitLineClamp: 1,\n  // SVG-related properties\n  fillOpacity: 1,\n  floodOpacity: 1,\n  stopOpacity: 1,\n  strokeDasharray: 1,\n  strokeDashoffset: 1,\n  strokeMiterlimit: 1,\n  strokeOpacity: 1,\n  strokeWidth: 1\n};\n\n/* harmony default export */ __webpack_exports__["a"] = (unitlessKeys);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvQGVtb3Rpb24vdW5pdGxlc3MvZGlzdC91bml0bGVzcy5icm93c2VyLmVzbS5qcz8zMDRlIl0sInNvdXJjZXNDb250ZW50IjpbInZhciB1bml0bGVzc0tleXMgPSB7XG4gIGFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiAxLFxuICBib3JkZXJJbWFnZU91dHNldDogMSxcbiAgYm9yZGVySW1hZ2VTbGljZTogMSxcbiAgYm9yZGVySW1hZ2VXaWR0aDogMSxcbiAgYm94RmxleDogMSxcbiAgYm94RmxleEdyb3VwOiAxLFxuICBib3hPcmRpbmFsR3JvdXA6IDEsXG4gIGNvbHVtbkNvdW50OiAxLFxuICBjb2x1bW5zOiAxLFxuICBmbGV4OiAxLFxuICBmbGV4R3JvdzogMSxcbiAgZmxleFBvc2l0aXZlOiAxLFxuICBmbGV4U2hyaW5rOiAxLFxuICBmbGV4TmVnYXRpdmU6IDEsXG4gIGZsZXhPcmRlcjogMSxcbiAgZ3JpZFJvdzogMSxcbiAgZ3JpZFJvd0VuZDogMSxcbiAgZ3JpZFJvd1NwYW46IDEsXG4gIGdyaWRSb3dTdGFydDogMSxcbiAgZ3JpZENvbHVtbjogMSxcbiAgZ3JpZENvbHVtbkVuZDogMSxcbiAgZ3JpZENvbHVtblNwYW46IDEsXG4gIGdyaWRDb2x1bW5TdGFydDogMSxcbiAgbXNHcmlkUm93OiAxLFxuICBtc0dyaWRSb3dTcGFuOiAxLFxuICBtc0dyaWRDb2x1bW46IDEsXG4gIG1zR3JpZENvbHVtblNwYW46IDEsXG4gIGZvbnRXZWlnaHQ6IDEsXG4gIGxpbmVIZWlnaHQ6IDEsXG4gIG9wYWNpdHk6IDEsXG4gIG9yZGVyOiAxLFxuICBvcnBoYW5zOiAxLFxuICB0YWJTaXplOiAxLFxuICB3aWRvd3M6IDEsXG4gIHpJbmRleDogMSxcbiAgem9vbTogMSxcbiAgV2Via2l0TGluZUNsYW1wOiAxLFxuICAvLyBTVkctcmVsYXRlZCBwcm9wZXJ0aWVzXG4gIGZpbGxPcGFjaXR5OiAxLFxuICBmbG9vZE9wYWNpdHk6IDEsXG4gIHN0b3BPcGFjaXR5OiAxLFxuICBzdHJva2VEYXNoYXJyYXk6IDEsXG4gIHN0cm9rZURhc2hvZmZzZXQ6IDEsXG4gIHN0cm9rZU1pdGVybGltaXQ6IDEsXG4gIHN0cm9rZU9wYWNpdHk6IDEsXG4gIHN0cm9rZVdpZHRoOiAxXG59O1xuXG5leHBvcnQgZGVmYXVsdCB1bml0bGVzc0tleXM7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///15\n')},function(module,exports,__webpack_require__){eval("var rng = __webpack_require__(31);\nvar bytesToUuid = __webpack_require__(32);\n\nfunction v4(options, buf, offset) {\n  var i = buf && offset || 0;\n\n  if (typeof(options) == 'string') {\n    buf = options === 'binary' ? new Array(16) : null;\n    options = null;\n  }\n  options = options || {};\n\n  var rnds = options.random || (options.rng || rng)();\n\n  // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n  rnds[6] = (rnds[6] & 0x0f) | 0x40;\n  rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n  // Copy bytes to buffer, if provided\n  if (buf) {\n    for (var ii = 0; ii < 16; ++ii) {\n      buf[i + ii] = rnds[ii];\n    }\n  }\n\n  return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvdXVpZC92NC5qcz9jNjRlIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBybmcgPSByZXF1aXJlKCcuL2xpYi9ybmcnKTtcbnZhciBieXRlc1RvVXVpZCA9IHJlcXVpcmUoJy4vbGliL2J5dGVzVG9VdWlkJyk7XG5cbmZ1bmN0aW9uIHY0KG9wdGlvbnMsIGJ1Ziwgb2Zmc2V0KSB7XG4gIHZhciBpID0gYnVmICYmIG9mZnNldCB8fCAwO1xuXG4gIGlmICh0eXBlb2Yob3B0aW9ucykgPT0gJ3N0cmluZycpIHtcbiAgICBidWYgPSBvcHRpb25zID09PSAnYmluYXJ5JyA/IG5ldyBBcnJheSgxNikgOiBudWxsO1xuICAgIG9wdGlvbnMgPSBudWxsO1xuICB9XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG4gIHZhciBybmRzID0gb3B0aW9ucy5yYW5kb20gfHwgKG9wdGlvbnMucm5nIHx8IHJuZykoKTtcblxuICAvLyBQZXIgNC40LCBzZXQgYml0cyBmb3IgdmVyc2lvbiBhbmQgYGNsb2NrX3NlcV9oaV9hbmRfcmVzZXJ2ZWRgXG4gIHJuZHNbNl0gPSAocm5kc1s2XSAmIDB4MGYpIHwgMHg0MDtcbiAgcm5kc1s4XSA9IChybmRzWzhdICYgMHgzZikgfCAweDgwO1xuXG4gIC8vIENvcHkgYnl0ZXMgdG8gYnVmZmVyLCBpZiBwcm92aWRlZFxuICBpZiAoYnVmKSB7XG4gICAgZm9yICh2YXIgaWkgPSAwOyBpaSA8IDE2OyArK2lpKSB7XG4gICAgICBidWZbaSArIGlpXSA9IHJuZHNbaWldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBidWYgfHwgYnl0ZXNUb1V1aWQocm5kcyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gdjQ7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///16\n")},function(module,exports){eval('var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function("return this")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === "object") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it\'s\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzP2NkMDAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIGc7XG5cbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXG5nID0gKGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdGhpcztcbn0pKCk7XG5cbnRyeSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxuXHRnID0gZyB8fCBuZXcgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpO1xufSBjYXRjaCAoZSkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIHRoZSB3aW5kb3cgcmVmZXJlbmNlIGlzIGF2YWlsYWJsZVxuXHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIikgZyA9IHdpbmRvdztcbn1cblxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3Ncbi8vIGVhc2llciB0byBoYW5kbGUgdGhpcyBjYXNlLiBpZighZ2xvYmFsKSB7IC4uLn1cblxubW9kdWxlLmV4cG9ydHMgPSBnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///17\n')},function(module,exports){eval('module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, "loaded", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, "id", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzP2NlZDIiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihtb2R1bGUpIHtcblx0aWYgKCFtb2R1bGUud2VicGFja1BvbHlmaWxsKSB7XG5cdFx0bW9kdWxlLmRlcHJlY2F0ZSA9IGZ1bmN0aW9uKCkge307XG5cdFx0bW9kdWxlLnBhdGhzID0gW107XG5cdFx0Ly8gbW9kdWxlLnBhcmVudCA9IHVuZGVmaW5lZCBieSBkZWZhdWx0XG5cdFx0aWYgKCFtb2R1bGUuY2hpbGRyZW4pIG1vZHVsZS5jaGlsZHJlbiA9IFtdO1xuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsIFwibG9hZGVkXCIsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmw7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJpZFwiLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Z2V0OiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIG1vZHVsZS5pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdG1vZHVsZS53ZWJwYWNrUG9seWZpbGwgPSAxO1xuXHR9XG5cdHJldHVybiBtb2R1bGU7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///18\n')},function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcuc2Nzcz9mZmZmIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbiJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///19\n")},function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy90b2FzdC90b2FzdC5zY3NzPzA3ZjYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///20\n")},function(module,exports){eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzP2YyOGMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gc2hpbSBmb3IgdXNpbmcgcHJvY2VzcyBpbiBicm93c2VyXG52YXIgcHJvY2VzcyA9IG1vZHVsZS5leHBvcnRzID0ge307XG5cbi8vIGNhY2hlZCBmcm9tIHdoYXRldmVyIGdsb2JhbCBpcyBwcmVzZW50IHNvIHRoYXQgdGVzdCBydW5uZXJzIHRoYXQgc3R1YiBpdFxuLy8gZG9uJ3QgYnJlYWsgdGhpbmdzLiAgQnV0IHdlIG5lZWQgdG8gd3JhcCBpdCBpbiBhIHRyeSBjYXRjaCBpbiBjYXNlIGl0IGlzXG4vLyB3cmFwcGVkIGluIHN0cmljdCBtb2RlIGNvZGUgd2hpY2ggZG9lc24ndCBkZWZpbmUgYW55IGdsb2JhbHMuICBJdCdzIGluc2lkZSBhXG4vLyBmdW5jdGlvbiBiZWNhdXNlIHRyeS9jYXRjaGVzIGRlb3B0aW1pemUgaW4gY2VydGFpbiBlbmdpbmVzLlxuXG52YXIgY2FjaGVkU2V0VGltZW91dDtcbnZhciBjYWNoZWRDbGVhclRpbWVvdXQ7XG5cbmZ1bmN0aW9uIGRlZmF1bHRTZXRUaW1vdXQoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG5mdW5jdGlvbiBkZWZhdWx0Q2xlYXJUaW1lb3V0ICgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2NsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCcpO1xufVxuKGZ1bmN0aW9uICgpIHtcbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIHNldFRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBpZiAodHlwZW9mIGNsZWFyVGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gZGVmYXVsdENsZWFyVGltZW91dDtcbiAgICB9XG59ICgpKVxuZnVuY3Rpb24gcnVuVGltZW91dChmdW4pIHtcbiAgICBpZiAoY2FjaGVkU2V0VGltZW91dCA9PT0gc2V0VGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgLy8gaWYgc2V0VGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZFNldFRpbWVvdXQgPT09IGRlZmF1bHRTZXRUaW1vdXQgfHwgIWNhY2hlZFNldFRpbWVvdXQpICYmIHNldFRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9IGNhdGNoKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0IHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKG51bGwsIGZ1biwgMCk7XG4gICAgICAgIH0gY2F0Y2goZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvclxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbCh0aGlzLCBmdW4sIDApO1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cbmZ1bmN0aW9uIHJ1bkNsZWFyVGltZW91dChtYXJrZXIpIHtcbiAgICBpZiAoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgLy8gaWYgY2xlYXJUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkQ2xlYXJUaW1lb3V0ID09PSBkZWZhdWx0Q2xlYXJUaW1lb3V0IHx8ICFjYWNoZWRDbGVhclRpbWVvdXQpICYmIGNsZWFyVGltZW91dCkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIHJldHVybiBjbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfSBjYXRjaCAoZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgIHRydXN0IHRoZSBnbG9iYWwgb2JqZWN0IHdoZW4gY2FsbGVkIG5vcm1hbGx5XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwobnVsbCwgbWFya2VyKTtcbiAgICAgICAgfSBjYXRjaCAoZSl7XG4gICAgICAgICAgICAvLyBzYW1lIGFzIGFib3ZlIGJ1dCB3aGVuIGl0J3MgYSB2ZXJzaW9uIG9mIEkuRS4gdGhhdCBtdXN0IGhhdmUgdGhlIGdsb2JhbCBvYmplY3QgZm9yICd0aGlzJywgaG9wZnVsbHkgb3VyIGNvbnRleHQgY29ycmVjdCBvdGhlcndpc2UgaXQgd2lsbCB0aHJvdyBhIGdsb2JhbCBlcnJvci5cbiAgICAgICAgICAgIC8vIFNvbWUgdmVyc2lvbnMgb2YgSS5FLiBoYXZlIGRpZmZlcmVudCBydWxlcyBmb3IgY2xlYXJUaW1lb3V0IHZzIHNldFRpbWVvdXRcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbCh0aGlzLCBtYXJrZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG5cblxufVxudmFyIHF1ZXVlID0gW107XG52YXIgZHJhaW5pbmcgPSBmYWxzZTtcbnZhciBjdXJyZW50UXVldWU7XG52YXIgcXVldWVJbmRleCA9IC0xO1xuXG5mdW5jdGlvbiBjbGVhblVwTmV4dFRpY2soKSB7XG4gICAgaWYgKCFkcmFpbmluZyB8fCAhY3VycmVudFF1ZXVlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBpZiAoY3VycmVudFF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBxdWV1ZSA9IGN1cnJlbnRRdWV1ZS5jb25jYXQocXVldWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICB9XG4gICAgaWYgKHF1ZXVlLmxlbmd0aCkge1xuICAgICAgICBkcmFpblF1ZXVlKCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBkcmFpblF1ZXVlKCkge1xuICAgIGlmIChkcmFpbmluZykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciB0aW1lb3V0ID0gcnVuVGltZW91dChjbGVhblVwTmV4dFRpY2spO1xuICAgIGRyYWluaW5nID0gdHJ1ZTtcblxuICAgIHZhciBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgd2hpbGUobGVuKSB7XG4gICAgICAgIGN1cnJlbnRRdWV1ZSA9IHF1ZXVlO1xuICAgICAgICBxdWV1ZSA9IFtdO1xuICAgICAgICB3aGlsZSAoKytxdWV1ZUluZGV4IDwgbGVuKSB7XG4gICAgICAgICAgICBpZiAoY3VycmVudFF1ZXVlKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFF1ZXVlW3F1ZXVlSW5kZXhdLnJ1bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHF1ZXVlSW5kZXggPSAtMTtcbiAgICAgICAgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIH1cbiAgICBjdXJyZW50UXVldWUgPSBudWxsO1xuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgcnVuQ2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xufVxuXG5wcm9jZXNzLm5leHRUaWNrID0gZnVuY3Rpb24gKGZ1bikge1xuICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGggLSAxKTtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFyZ3NbaSAtIDFdID0gYXJndW1lbnRzW2ldO1xuICAgICAgICB9XG4gICAgfVxuICAgIHF1ZXVlLnB1c2gobmV3IEl0ZW0oZnVuLCBhcmdzKSk7XG4gICAgaWYgKHF1ZXVlLmxlbmd0aCA9PT0gMSAmJiAhZHJhaW5pbmcpIHtcbiAgICAgICAgcnVuVGltZW91dChkcmFpblF1ZXVlKTtcbiAgICB9XG59O1xuXG4vLyB2OCBsaWtlcyBwcmVkaWN0aWJsZSBvYmplY3RzXG5mdW5jdGlvbiBJdGVtKGZ1biwgYXJyYXkpIHtcbiAgICB0aGlzLmZ1biA9IGZ1bjtcbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG59XG5JdGVtLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5mdW4uYXBwbHkobnVsbCwgdGhpcy5hcnJheSk7XG59O1xucHJvY2Vzcy50aXRsZSA9ICdicm93c2VyJztcbnByb2Nlc3MuYnJvd3NlciA9IHRydWU7XG5wcm9jZXNzLmVudiA9IHt9O1xucHJvY2Vzcy5hcmd2ID0gW107XG5wcm9jZXNzLnZlcnNpb24gPSAnJzsgLy8gZW1wdHkgc3RyaW5nIHRvIGF2b2lkIHJlZ2V4cCBpc3N1ZXNcbnByb2Nlc3MudmVyc2lvbnMgPSB7fTtcblxuZnVuY3Rpb24gbm9vcCgpIHt9XG5cbnByb2Nlc3Mub24gPSBub29wO1xucHJvY2Vzcy5hZGRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLm9uY2UgPSBub29wO1xucHJvY2Vzcy5vZmYgPSBub29wO1xucHJvY2Vzcy5yZW1vdmVMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUFsbExpc3RlbmVycyA9IG5vb3A7XG5wcm9jZXNzLmVtaXQgPSBub29wO1xucHJvY2Vzcy5wcmVwZW5kTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5wcmVwZW5kT25jZUxpc3RlbmVyID0gbm9vcDtcblxucHJvY2Vzcy5saXN0ZW5lcnMgPSBmdW5jdGlvbiAobmFtZSkgeyByZXR1cm4gW10gfVxuXG5wcm9jZXNzLmJpbmRpbmcgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5cbnByb2Nlc3MuY3dkID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gJy8nIH07XG5wcm9jZXNzLmNoZGlyID0gZnVuY3Rpb24gKGRpcikge1xuICAgIHRocm93IG5ldyBFcnJvcigncHJvY2Vzcy5jaGRpciBpcyBub3Qgc3VwcG9ydGVkJyk7XG59O1xucHJvY2Vzcy51bWFzayA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gMDsgfTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///21\n")},function(module,exports,__webpack_require__){"use strict";eval('/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?\nSymbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;\nfunction z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvcmVhY3QtaXMvY2pzL3JlYWN0LWlzLnByb2R1Y3Rpb24ubWluLmpzP2E5M2QiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBsaWNlbnNlIFJlYWN0IHYxNi4xMy4xXG4gKiByZWFjdC1pcy5wcm9kdWN0aW9uLm1pbi5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0Jzt2YXIgYj1cImZ1bmN0aW9uXCI9PT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yLGM9Yj9TeW1ib2wuZm9yKFwicmVhY3QuZWxlbWVudFwiKTo2MDEwMyxkPWI/U3ltYm9sLmZvcihcInJlYWN0LnBvcnRhbFwiKTo2MDEwNixlPWI/U3ltYm9sLmZvcihcInJlYWN0LmZyYWdtZW50XCIpOjYwMTA3LGY9Yj9TeW1ib2wuZm9yKFwicmVhY3Quc3RyaWN0X21vZGVcIik6NjAxMDgsZz1iP1N5bWJvbC5mb3IoXCJyZWFjdC5wcm9maWxlclwiKTo2MDExNCxoPWI/U3ltYm9sLmZvcihcInJlYWN0LnByb3ZpZGVyXCIpOjYwMTA5LGs9Yj9TeW1ib2wuZm9yKFwicmVhY3QuY29udGV4dFwiKTo2MDExMCxsPWI/U3ltYm9sLmZvcihcInJlYWN0LmFzeW5jX21vZGVcIik6NjAxMTEsbT1iP1N5bWJvbC5mb3IoXCJyZWFjdC5jb25jdXJyZW50X21vZGVcIik6NjAxMTEsbj1iP1N5bWJvbC5mb3IoXCJyZWFjdC5mb3J3YXJkX3JlZlwiKTo2MDExMixwPWI/U3ltYm9sLmZvcihcInJlYWN0LnN1c3BlbnNlXCIpOjYwMTEzLHE9Yj9cblN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZV9saXN0XCIpOjYwMTIwLHI9Yj9TeW1ib2wuZm9yKFwicmVhY3QubWVtb1wiKTo2MDExNSx0PWI/U3ltYm9sLmZvcihcInJlYWN0LmxhenlcIik6NjAxMTYsdj1iP1N5bWJvbC5mb3IoXCJyZWFjdC5ibG9ja1wiKTo2MDEyMSx3PWI/U3ltYm9sLmZvcihcInJlYWN0LmZ1bmRhbWVudGFsXCIpOjYwMTE3LHg9Yj9TeW1ib2wuZm9yKFwicmVhY3QucmVzcG9uZGVyXCIpOjYwMTE4LHk9Yj9TeW1ib2wuZm9yKFwicmVhY3Quc2NvcGVcIik6NjAxMTk7XG5mdW5jdGlvbiB6KGEpe2lmKFwib2JqZWN0XCI9PT10eXBlb2YgYSYmbnVsbCE9PWEpe3ZhciB1PWEuJCR0eXBlb2Y7c3dpdGNoKHUpe2Nhc2UgYzpzd2l0Y2goYT1hLnR5cGUsYSl7Y2FzZSBsOmNhc2UgbTpjYXNlIGU6Y2FzZSBnOmNhc2UgZjpjYXNlIHA6cmV0dXJuIGE7ZGVmYXVsdDpzd2l0Y2goYT1hJiZhLiQkdHlwZW9mLGEpe2Nhc2UgazpjYXNlIG46Y2FzZSB0OmNhc2UgcjpjYXNlIGg6cmV0dXJuIGE7ZGVmYXVsdDpyZXR1cm4gdX19Y2FzZSBkOnJldHVybiB1fX19ZnVuY3Rpb24gQShhKXtyZXR1cm4geihhKT09PW19ZXhwb3J0cy5Bc3luY01vZGU9bDtleHBvcnRzLkNvbmN1cnJlbnRNb2RlPW07ZXhwb3J0cy5Db250ZXh0Q29uc3VtZXI9aztleHBvcnRzLkNvbnRleHRQcm92aWRlcj1oO2V4cG9ydHMuRWxlbWVudD1jO2V4cG9ydHMuRm9yd2FyZFJlZj1uO2V4cG9ydHMuRnJhZ21lbnQ9ZTtleHBvcnRzLkxhenk9dDtleHBvcnRzLk1lbW89cjtleHBvcnRzLlBvcnRhbD1kO1xuZXhwb3J0cy5Qcm9maWxlcj1nO2V4cG9ydHMuU3RyaWN0TW9kZT1mO2V4cG9ydHMuU3VzcGVuc2U9cDtleHBvcnRzLmlzQXN5bmNNb2RlPWZ1bmN0aW9uKGEpe3JldHVybiBBKGEpfHx6KGEpPT09bH07ZXhwb3J0cy5pc0NvbmN1cnJlbnRNb2RlPUE7ZXhwb3J0cy5pc0NvbnRleHRDb25zdW1lcj1mdW5jdGlvbihhKXtyZXR1cm4geihhKT09PWt9O2V4cG9ydHMuaXNDb250ZXh0UHJvdmlkZXI9ZnVuY3Rpb24oYSl7cmV0dXJuIHooYSk9PT1ofTtleHBvcnRzLmlzRWxlbWVudD1mdW5jdGlvbihhKXtyZXR1cm5cIm9iamVjdFwiPT09dHlwZW9mIGEmJm51bGwhPT1hJiZhLiQkdHlwZW9mPT09Y307ZXhwb3J0cy5pc0ZvcndhcmRSZWY9ZnVuY3Rpb24oYSl7cmV0dXJuIHooYSk9PT1ufTtleHBvcnRzLmlzRnJhZ21lbnQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHooYSk9PT1lfTtleHBvcnRzLmlzTGF6eT1mdW5jdGlvbihhKXtyZXR1cm4geihhKT09PXR9O1xuZXhwb3J0cy5pc01lbW89ZnVuY3Rpb24oYSl7cmV0dXJuIHooYSk9PT1yfTtleHBvcnRzLmlzUG9ydGFsPWZ1bmN0aW9uKGEpe3JldHVybiB6KGEpPT09ZH07ZXhwb3J0cy5pc1Byb2ZpbGVyPWZ1bmN0aW9uKGEpe3JldHVybiB6KGEpPT09Z307ZXhwb3J0cy5pc1N0cmljdE1vZGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHooYSk9PT1mfTtleHBvcnRzLmlzU3VzcGVuc2U9ZnVuY3Rpb24oYSl7cmV0dXJuIHooYSk9PT1wfTtcbmV4cG9ydHMuaXNWYWxpZEVsZW1lbnRUeXBlPWZ1bmN0aW9uKGEpe3JldHVyblwic3RyaW5nXCI9PT10eXBlb2YgYXx8XCJmdW5jdGlvblwiPT09dHlwZW9mIGF8fGE9PT1lfHxhPT09bXx8YT09PWd8fGE9PT1mfHxhPT09cHx8YT09PXF8fFwib2JqZWN0XCI9PT10eXBlb2YgYSYmbnVsbCE9PWEmJihhLiQkdHlwZW9mPT09dHx8YS4kJHR5cGVvZj09PXJ8fGEuJCR0eXBlb2Y9PT1ofHxhLiQkdHlwZW9mPT09a3x8YS4kJHR5cGVvZj09PW58fGEuJCR0eXBlb2Y9PT13fHxhLiQkdHlwZW9mPT09eHx8YS4kJHR5cGVvZj09PXl8fGEuJCR0eXBlb2Y9PT12KX07ZXhwb3J0cy50eXBlT2Y9ejtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///22\n')},function(module){eval('module.exports = JSON.parse("{\\"100\\":\\"Continue\\",\\"101\\":\\"Switching Protocols\\",\\"102\\":\\"Processing\\",\\"103\\":\\"Early Hints\\",\\"200\\":\\"OK\\",\\"201\\":\\"Created\\",\\"202\\":\\"Accepted\\",\\"203\\":\\"Non-Authoritative Information\\",\\"204\\":\\"No Content\\",\\"205\\":\\"Reset Content\\",\\"206\\":\\"Partial Content\\",\\"207\\":\\"Multi-Status\\",\\"208\\":\\"Already Reported\\",\\"226\\":\\"IM Used\\",\\"300\\":\\"Multiple Choices\\",\\"301\\":\\"Moved Permanently\\",\\"302\\":\\"Found\\",\\"303\\":\\"See Other\\",\\"304\\":\\"Not Modified\\",\\"305\\":\\"Use Proxy\\",\\"306\\":\\"(Unused)\\",\\"307\\":\\"Temporary Redirect\\",\\"308\\":\\"Permanent Redirect\\",\\"400\\":\\"Bad Request\\",\\"401\\":\\"Unauthorized\\",\\"402\\":\\"Payment Required\\",\\"403\\":\\"Forbidden\\",\\"404\\":\\"Not Found\\",\\"405\\":\\"Method Not Allowed\\",\\"406\\":\\"Not Acceptable\\",\\"407\\":\\"Proxy Authentication Required\\",\\"408\\":\\"Request Timeout\\",\\"409\\":\\"Conflict\\",\\"410\\":\\"Gone\\",\\"411\\":\\"Length Required\\",\\"412\\":\\"Precondition Failed\\",\\"413\\":\\"Payload Too Large\\",\\"414\\":\\"URI Too Long\\",\\"415\\":\\"Unsupported Media Type\\",\\"416\\":\\"Range Not Satisfiable\\",\\"417\\":\\"Expectation Failed\\",\\"418\\":\\"I\'m a teapot\\",\\"421\\":\\"Misdirected Request\\",\\"422\\":\\"Unprocessable Entity\\",\\"423\\":\\"Locked\\",\\"424\\":\\"Failed Dependency\\",\\"425\\":\\"Unordered Collection\\",\\"426\\":\\"Upgrade Required\\",\\"428\\":\\"Precondition Required\\",\\"429\\":\\"Too Many Requests\\",\\"431\\":\\"Request Header Fields Too Large\\",\\"451\\":\\"Unavailable For Legal Reasons\\",\\"500\\":\\"Internal Server Error\\",\\"501\\":\\"Not Implemented\\",\\"502\\":\\"Bad Gateway\\",\\"503\\":\\"Service Unavailable\\",\\"504\\":\\"Gateway Timeout\\",\\"505\\":\\"HTTP Version Not Supported\\",\\"506\\":\\"Variant Also Negotiates\\",\\"507\\":\\"Insufficient Storage\\",\\"508\\":\\"Loop Detected\\",\\"509\\":\\"Bandwidth Limit Exceeded\\",\\"510\\":\\"Not Extended\\",\\"511\\":\\"Network Authentication Required\\"}");//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMuanMiLCJzb3VyY2VzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///23\n')},function(module,exports,__webpack_require__){eval("\r\n/**\r\n * Expose `Emitter`.\r\n */\r\n\r\nif (true) {\r\n  module.exports = Emitter;\r\n}\r\n\r\n/**\r\n * Initialize a new `Emitter`.\r\n *\r\n * @api public\r\n */\r\n\r\nfunction Emitter(obj) {\r\n  if (obj) return mixin(obj);\r\n};\r\n\r\n/**\r\n * Mixin the emitter properties.\r\n *\r\n * @param {Object} obj\r\n * @return {Object}\r\n * @api private\r\n */\r\n\r\nfunction mixin(obj) {\r\n  for (var key in Emitter.prototype) {\r\n    obj[key] = Emitter.prototype[key];\r\n  }\r\n  return obj;\r\n}\r\n\r\n/**\r\n * Listen on the given `event` with `fn`.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.on =\r\nEmitter.prototype.addEventListener = function(event, fn){\r\n  this._callbacks = this._callbacks || {};\r\n  (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\r\n    .push(fn);\r\n  return this;\r\n};\r\n\r\n/**\r\n * Adds an `event` listener that will be invoked a single\r\n * time then automatically removed.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.once = function(event, fn){\r\n  function on() {\r\n    this.off(event, on);\r\n    fn.apply(this, arguments);\r\n  }\r\n\r\n  on.fn = fn;\r\n  this.on(event, on);\r\n  return this;\r\n};\r\n\r\n/**\r\n * Remove the given callback for `event` or all\r\n * registered callbacks.\r\n *\r\n * @param {String} event\r\n * @param {Function} fn\r\n * @return {Emitter}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.off =\r\nEmitter.prototype.removeListener =\r\nEmitter.prototype.removeAllListeners =\r\nEmitter.prototype.removeEventListener = function(event, fn){\r\n  this._callbacks = this._callbacks || {};\r\n\r\n  // all\r\n  if (0 == arguments.length) {\r\n    this._callbacks = {};\r\n    return this;\r\n  }\r\n\r\n  // specific event\r\n  var callbacks = this._callbacks['$' + event];\r\n  if (!callbacks) return this;\r\n\r\n  // remove all handlers\r\n  if (1 == arguments.length) {\r\n    delete this._callbacks['$' + event];\r\n    return this;\r\n  }\r\n\r\n  // remove specific handler\r\n  var cb;\r\n  for (var i = 0; i < callbacks.length; i++) {\r\n    cb = callbacks[i];\r\n    if (cb === fn || cb.fn === fn) {\r\n      callbacks.splice(i, 1);\r\n      break;\r\n    }\r\n  }\r\n\r\n  // Remove event specific arrays for event types that no\r\n  // one is subscribed for to avoid memory leak.\r\n  if (callbacks.length === 0) {\r\n    delete this._callbacks['$' + event];\r\n  }\r\n\r\n  return this;\r\n};\r\n\r\n/**\r\n * Emit `event` with the given args.\r\n *\r\n * @param {String} event\r\n * @param {Mixed} ...\r\n * @return {Emitter}\r\n */\r\n\r\nEmitter.prototype.emit = function(event){\r\n  this._callbacks = this._callbacks || {};\r\n\r\n  var args = new Array(arguments.length - 1)\r\n    , callbacks = this._callbacks['$' + event];\r\n\r\n  for (var i = 1; i < arguments.length; i++) {\r\n    args[i - 1] = arguments[i];\r\n  }\r\n\r\n  if (callbacks) {\r\n    callbacks = callbacks.slice(0);\r\n    for (var i = 0, len = callbacks.length; i < len; ++i) {\r\n      callbacks[i].apply(this, args);\r\n    }\r\n  }\r\n\r\n  return this;\r\n};\r\n\r\n/**\r\n * Return array of callbacks for `event`.\r\n *\r\n * @param {String} event\r\n * @return {Array}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.listeners = function(event){\r\n  this._callbacks = this._callbacks || {};\r\n  return this._callbacks['$' + event] || [];\r\n};\r\n\r\n/**\r\n * Check if this emitter has `event` handlers.\r\n *\r\n * @param {String} event\r\n * @return {Boolean}\r\n * @api public\r\n */\r\n\r\nEmitter.prototype.hasListeners = function(event){\r\n  return !! this.listeners(event).length;\r\n};\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvY29tcG9uZW50LWVtaXR0ZXIvaW5kZXguanM/NzI5NyJdLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLyoqXHJcbiAqIEV4cG9zZSBgRW1pdHRlcmAuXHJcbiAqL1xyXG5cclxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBFbWl0dGVyO1xyXG59XHJcblxyXG4vKipcclxuICogSW5pdGlhbGl6ZSBhIG5ldyBgRW1pdHRlcmAuXHJcbiAqXHJcbiAqIEBhcGkgcHVibGljXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gRW1pdHRlcihvYmopIHtcclxuICBpZiAob2JqKSByZXR1cm4gbWl4aW4ob2JqKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBNaXhpbiB0aGUgZW1pdHRlciBwcm9wZXJ0aWVzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqXHJcbiAqIEByZXR1cm4ge09iamVjdH1cclxuICogQGFwaSBwcml2YXRlXHJcbiAqL1xyXG5cclxuZnVuY3Rpb24gbWl4aW4ob2JqKSB7XHJcbiAgZm9yICh2YXIga2V5IGluIEVtaXR0ZXIucHJvdG90eXBlKSB7XHJcbiAgICBvYmpba2V5XSA9IEVtaXR0ZXIucHJvdG90eXBlW2tleV07XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBMaXN0ZW4gb24gdGhlIGdpdmVuIGBldmVudGAgd2l0aCBgZm5gLlxyXG4gKlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcclxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cclxuICogQHJldHVybiB7RW1pdHRlcn1cclxuICogQGFwaSBwdWJsaWNcclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5vbiA9XHJcbkVtaXR0ZXIucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbihldmVudCwgZm4pe1xyXG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcclxuICAodGhpcy5fY2FsbGJhY2tzWyckJyArIGV2ZW50XSA9IHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF0gfHwgW10pXHJcbiAgICAucHVzaChmbik7XHJcbiAgcmV0dXJuIHRoaXM7XHJcbn07XHJcblxyXG4vKipcclxuICogQWRkcyBhbiBgZXZlbnRgIGxpc3RlbmVyIHRoYXQgd2lsbCBiZSBpbnZva2VkIGEgc2luZ2xlXHJcbiAqIHRpbWUgdGhlbiBhdXRvbWF0aWNhbGx5IHJlbW92ZWQuXHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxyXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmblxyXG4gKiBAcmV0dXJuIHtFbWl0dGVyfVxyXG4gKiBAYXBpIHB1YmxpY1xyXG4gKi9cclxuXHJcbkVtaXR0ZXIucHJvdG90eXBlLm9uY2UgPSBmdW5jdGlvbihldmVudCwgZm4pe1xyXG4gIGZ1bmN0aW9uIG9uKCkge1xyXG4gICAgdGhpcy5vZmYoZXZlbnQsIG9uKTtcclxuICAgIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XHJcbiAgfVxyXG5cclxuICBvbi5mbiA9IGZuO1xyXG4gIHRoaXMub24oZXZlbnQsIG9uKTtcclxuICByZXR1cm4gdGhpcztcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdpdmVuIGNhbGxiYWNrIGZvciBgZXZlbnRgIG9yIGFsbFxyXG4gKiByZWdpc3RlcmVkIGNhbGxiYWNrcy5cclxuICpcclxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XHJcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuXHJcbiAqIEByZXR1cm4ge0VtaXR0ZXJ9XHJcbiAqIEBhcGkgcHVibGljXHJcbiAqL1xyXG5cclxuRW1pdHRlci5wcm90b3R5cGUub2ZmID1cclxuRW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXIgPVxyXG5FbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMgPVxyXG5FbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyID0gZnVuY3Rpb24oZXZlbnQsIGZuKXtcclxuICB0aGlzLl9jYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3MgfHwge307XHJcblxyXG4gIC8vIGFsbFxyXG4gIGlmICgwID09IGFyZ3VtZW50cy5sZW5ndGgpIHtcclxuICAgIHRoaXMuX2NhbGxiYWNrcyA9IHt9O1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyBzcGVjaWZpYyBldmVudFxyXG4gIHZhciBjYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xyXG4gIGlmICghY2FsbGJhY2tzKSByZXR1cm4gdGhpcztcclxuXHJcbiAgLy8gcmVtb3ZlIGFsbCBoYW5kbGVyc1xyXG4gIGlmICgxID09IGFyZ3VtZW50cy5sZW5ndGgpIHtcclxuICAgIGRlbGV0ZSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvLyByZW1vdmUgc3BlY2lmaWMgaGFuZGxlclxyXG4gIHZhciBjYjtcclxuICBmb3IgKHZhciBpID0gMDsgaSA8IGNhbGxiYWNrcy5sZW5ndGg7IGkrKykge1xyXG4gICAgY2IgPSBjYWxsYmFja3NbaV07XHJcbiAgICBpZiAoY2IgPT09IGZuIHx8IGNiLmZuID09PSBmbikge1xyXG4gICAgICBjYWxsYmFja3Muc3BsaWNlKGksIDEpO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlbW92ZSBldmVudCBzcGVjaWZpYyBhcnJheXMgZm9yIGV2ZW50IHR5cGVzIHRoYXQgbm9cclxuICAvLyBvbmUgaXMgc3Vic2NyaWJlZCBmb3IgdG8gYXZvaWQgbWVtb3J5IGxlYWsuXHJcbiAgaWYgKGNhbGxiYWNrcy5sZW5ndGggPT09IDApIHtcclxuICAgIGRlbGV0ZSB0aGlzLl9jYWxsYmFja3NbJyQnICsgZXZlbnRdO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRoaXM7XHJcbn07XHJcblxyXG4vKipcclxuICogRW1pdCBgZXZlbnRgIHdpdGggdGhlIGdpdmVuIGFyZ3MuXHJcbiAqXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBldmVudFxyXG4gKiBAcGFyYW0ge01peGVkfSAuLi5cclxuICogQHJldHVybiB7RW1pdHRlcn1cclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5lbWl0ID0gZnVuY3Rpb24oZXZlbnQpe1xyXG4gIHRoaXMuX2NhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrcyB8fCB7fTtcclxuXHJcbiAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpXHJcbiAgICAsIGNhbGxiYWNrcyA9IHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF07XHJcblxyXG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcclxuICB9XHJcblxyXG4gIGlmIChjYWxsYmFja3MpIHtcclxuICAgIGNhbGxiYWNrcyA9IGNhbGxiYWNrcy5zbGljZSgwKTtcclxuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBjYWxsYmFja3MubGVuZ3RoOyBpIDwgbGVuOyArK2kpIHtcclxuICAgICAgY2FsbGJhY2tzW2ldLmFwcGx5KHRoaXMsIGFyZ3MpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRoaXM7XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0dXJuIGFycmF5IG9mIGNhbGxiYWNrcyBmb3IgYGV2ZW50YC5cclxuICpcclxuICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50XHJcbiAqIEByZXR1cm4ge0FycmF5fVxyXG4gKiBAYXBpIHB1YmxpY1xyXG4gKi9cclxuXHJcbkVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uKGV2ZW50KXtcclxuICB0aGlzLl9jYWxsYmFja3MgPSB0aGlzLl9jYWxsYmFja3MgfHwge307XHJcbiAgcmV0dXJuIHRoaXMuX2NhbGxiYWNrc1snJCcgKyBldmVudF0gfHwgW107XHJcbn07XHJcblxyXG4vKipcclxuICogQ2hlY2sgaWYgdGhpcyBlbWl0dGVyIGhhcyBgZXZlbnRgIGhhbmRsZXJzLlxyXG4gKlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gZXZlbnRcclxuICogQHJldHVybiB7Qm9vbGVhbn1cclxuICogQGFwaSBwdWJsaWNcclxuICovXHJcblxyXG5FbWl0dGVyLnByb3RvdHlwZS5oYXNMaXN0ZW5lcnMgPSBmdW5jdGlvbihldmVudCl7XHJcbiAgcmV0dXJuICEhIHRoaXMubGlzdGVuZXJzKGV2ZW50KS5sZW5ndGg7XHJcbn07XHJcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///24\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\n/**\n * Module of mixed-in functions shared between node and client code\n */\nvar isObject = __webpack_require__(11);\n\n/**\n * Expose `RequestBase`.\n */\n\nmodule.exports = RequestBase;\n\n/**\n * Initialize a new `RequestBase`.\n *\n * @api public\n */\n\nfunction RequestBase(obj) {\n  if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the prototype properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n  for (var key in RequestBase.prototype) {\n    obj[key] = RequestBase.prototype[key];\n  }\n  return obj;\n}\n\n/**\n * Clear previous timeout.\n *\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.clearTimeout = function _clearTimeout(){\n  clearTimeout(this._timer);\n  clearTimeout(this._responseTimeoutTimer);\n  delete this._timer;\n  delete this._responseTimeoutTimer;\n  return this;\n};\n\n/**\n * Override default response body parser\n *\n * This function will be called to convert incoming data into request.body\n *\n * @param {Function}\n * @api public\n */\n\nRequestBase.prototype.parse = function parse(fn){\n  this._parser = fn;\n  return this;\n};\n\n/**\n * Set format of binary response body.\n * In browser valid formats are 'blob' and 'arraybuffer',\n * which return Blob and ArrayBuffer, respectively.\n *\n * In Node all values result in Buffer.\n *\n * Examples:\n *\n *      req.get('/')\n *        .responseType('blob')\n *        .end(callback);\n *\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.responseType = function(val){\n  this._responseType = val;\n  return this;\n};\n\n/**\n * Override default request body serializer\n *\n * This function will be called to convert data set via .send or .attach into payload to send\n *\n * @param {Function}\n * @api public\n */\n\nRequestBase.prototype.serialize = function serialize(fn){\n  this._serializer = fn;\n  return this;\n};\n\n/**\n * Set timeouts.\n *\n * - response timeout is time between sending request and receiving the first byte of the response. Includes DNS and connection time.\n * - deadline is the time from start of the request to receiving response body in full. If the deadline is too short large files may not load at all on slow connections.\n *\n * Value of 0 or false means no timeout.\n *\n * @param {Number|Object} ms or {response, deadline}\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.timeout = function timeout(options){\n  if (!options || 'object' !== typeof options) {\n    this._timeout = options;\n    this._responseTimeout = 0;\n    return this;\n  }\n\n  for(var option in options) {\n    switch(option) {\n      case 'deadline':\n        this._timeout = options.deadline;\n        break;\n      case 'response':\n        this._responseTimeout = options.response;\n        break;\n      default:\n        console.warn(\"Unknown timeout option\", option);\n    }\n  }\n  return this;\n};\n\n/**\n * Set number of retry attempts on error.\n *\n * Failed requests will be retried 'count' times if timeout or err.code >= 500.\n *\n * @param {Number} count\n * @param {Function} [fn]\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.retry = function retry(count, fn){\n  // Default to 1 if no count passed or true\n  if (arguments.length === 0 || count === true) count = 1;\n  if (count <= 0) count = 0;\n  this._maxRetries = count;\n  this._retries = 0;\n  this._retryCallback = fn;\n  return this;\n};\n\nvar ERROR_CODES = [\n  'ECONNRESET',\n  'ETIMEDOUT',\n  'EADDRINFO',\n  'ESOCKETTIMEDOUT'\n];\n\n/**\n * Determine if a request should be retried.\n * (Borrowed from segmentio/superagent-retry)\n *\n * @param {Error} err\n * @param {Response} [res]\n * @returns {Boolean}\n */\nRequestBase.prototype._shouldRetry = function(err, res) {\n  if (!this._maxRetries || this._retries++ >= this._maxRetries) {\n    return false;\n  }\n  if (this._retryCallback) {\n    try {\n      var override = this._retryCallback(err, res);\n      if (override === true) return true;\n      if (override === false) return false;\n      // undefined falls back to defaults\n    } catch(e) {\n      console.error(e);\n    }\n  }\n  if (res && res.status && res.status >= 500 && res.status != 501) return true;\n  if (err) {\n    if (err.code && ~ERROR_CODES.indexOf(err.code)) return true;\n    // Superagent timeout\n    if (err.timeout && err.code == 'ECONNABORTED') return true;\n    if (err.crossDomain) return true;\n  }\n  return false;\n};\n\n/**\n * Retry request\n *\n * @return {Request} for chaining\n * @api private\n */\n\nRequestBase.prototype._retry = function() {\n\n  this.clearTimeout();\n\n  // node\n  if (this.req) {\n    this.req = null;\n    this.req = this.request();\n  }\n\n  this._aborted = false;\n  this.timedout = false;\n\n  return this._end();\n};\n\n/**\n * Promise support\n *\n * @param {Function} resolve\n * @param {Function} [reject]\n * @return {Request}\n */\n\nRequestBase.prototype.then = function then(resolve, reject) {\n  if (!this._fullfilledPromise) {\n    var self = this;\n    if (this._endCalled) {\n      console.warn(\"Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises\");\n    }\n    this._fullfilledPromise = new Promise(function(innerResolve, innerReject) {\n      self.end(function(err, res) {\n        if (err) innerReject(err);\n        else innerResolve(res);\n      });\n    });\n  }\n  return this._fullfilledPromise.then(resolve, reject);\n};\n\nRequestBase.prototype['catch'] = function(cb) {\n  return this.then(undefined, cb);\n};\n\n/**\n * Allow for extension\n */\n\nRequestBase.prototype.use = function use(fn) {\n  fn(this);\n  return this;\n};\n\nRequestBase.prototype.ok = function(cb) {\n  if ('function' !== typeof cb) throw Error(\"Callback required\");\n  this._okCallback = cb;\n  return this;\n};\n\nRequestBase.prototype._isResponseOK = function(res) {\n  if (!res) {\n    return false;\n  }\n\n  if (this._okCallback) {\n    return this._okCallback(res);\n  }\n\n  return res.status >= 200 && res.status < 300;\n};\n\n/**\n * Get request header `field`.\n * Case-insensitive.\n *\n * @param {String} field\n * @return {String}\n * @api public\n */\n\nRequestBase.prototype.get = function(field){\n  return this._header[field.toLowerCase()];\n};\n\n/**\n * Get case-insensitive header `field` value.\n * This is a deprecated internal API. Use `.get(field)` instead.\n *\n * (getHeader is no longer used internally by the superagent code base)\n *\n * @param {String} field\n * @return {String}\n * @api private\n * @deprecated\n */\n\nRequestBase.prototype.getHeader = RequestBase.prototype.get;\n\n/**\n * Set header `field` to `val`, or multiple fields with one object.\n * Case-insensitive.\n *\n * Examples:\n *\n *      req.get('/')\n *        .set('Accept', 'application/json')\n *        .set('X-API-Key', 'foobar')\n *        .end(callback);\n *\n *      req.get('/')\n *        .set({ Accept: 'application/json', 'X-API-Key': 'foobar' })\n *        .end(callback);\n *\n * @param {String|Object} field\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.set = function(field, val){\n  if (isObject(field)) {\n    for (var key in field) {\n      this.set(key, field[key]);\n    }\n    return this;\n  }\n  this._header[field.toLowerCase()] = val;\n  this.header[field] = val;\n  return this;\n};\n\n/**\n * Remove header `field`.\n * Case-insensitive.\n *\n * Example:\n *\n *      req.get('/')\n *        .unset('User-Agent')\n *        .end(callback);\n *\n * @param {String} field\n */\nRequestBase.prototype.unset = function(field){\n  delete this._header[field.toLowerCase()];\n  delete this.header[field];\n  return this;\n};\n\n/**\n * Write the field `name` and `val`, or multiple fields with one object\n * for \"multipart/form-data\" request bodies.\n *\n * ``` js\n * request.post('/upload')\n *   .field('foo', 'bar')\n *   .end(callback);\n *\n * request.post('/upload')\n *   .field({ foo: 'bar', baz: 'qux' })\n *   .end(callback);\n * ```\n *\n * @param {String|Object} name\n * @param {String|Blob|File|Buffer|fs.ReadStream} val\n * @return {Request} for chaining\n * @api public\n */\nRequestBase.prototype.field = function(name, val) {\n  // name should be either a string or an object.\n  if (null === name || undefined === name) {\n    throw new Error('.field(name, val) name can not be empty');\n  }\n\n  if (this._data) {\n    console.error(\".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()\");\n  }\n\n  if (isObject(name)) {\n    for (var key in name) {\n      this.field(key, name[key]);\n    }\n    return this;\n  }\n\n  if (Array.isArray(val)) {\n    for (var i in val) {\n      this.field(name, val[i]);\n    }\n    return this;\n  }\n\n  // val should be defined now\n  if (null === val || undefined === val) {\n    throw new Error('.field(name, val) val can not be empty');\n  }\n  if ('boolean' === typeof val) {\n    val = '' + val;\n  }\n  this._getFormData().append(name, val);\n  return this;\n};\n\n/**\n * Abort the request, and clear potential timeout.\n *\n * @return {Request}\n * @api public\n */\nRequestBase.prototype.abort = function(){\n  if (this._aborted) {\n    return this;\n  }\n  this._aborted = true;\n  this.xhr && this.xhr.abort(); // browser\n  this.req && this.req.abort(); // node\n  this.clearTimeout();\n  this.emit('abort');\n  return this;\n};\n\nRequestBase.prototype._auth = function(user, pass, options, base64Encoder) {\n  switch (options.type) {\n    case 'basic':\n      this.set('Authorization', 'Basic ' + base64Encoder(user + ':' + pass));\n      break;\n\n    case 'auto':\n      this.username = user;\n      this.password = pass;\n      break;\n\n    case 'bearer': // usage would be .auth(accessToken, { type: 'bearer' })\n      this.set('Authorization', 'Bearer ' + user);\n      break;\n  }\n  return this;\n};\n\n/**\n * Enable transmission of cookies with x-domain requests.\n *\n * Note that for this to work the origin must not be\n * using \"Access-Control-Allow-Origin\" with a wildcard,\n * and also must set \"Access-Control-Allow-Credentials\"\n * to \"true\".\n *\n * @api public\n */\n\nRequestBase.prototype.withCredentials = function(on) {\n  // This is browser-only functionality. Node side is no-op.\n  if (on == undefined) on = true;\n  this._withCredentials = on;\n  return this;\n};\n\n/**\n * Set the max redirects to `n`. Does noting in browser XHR implementation.\n *\n * @param {Number} n\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.redirects = function(n){\n  this._maxRedirects = n;\n  return this;\n};\n\n/**\n * Maximum size of buffered response body, in bytes. Counts uncompressed size.\n * Default 200MB.\n *\n * @param {Number} n\n * @return {Request} for chaining\n */\nRequestBase.prototype.maxResponseSize = function(n){\n  if ('number' !== typeof n) {\n    throw TypeError(\"Invalid argument\");\n  }\n  this._maxResponseSize = n;\n  return this;\n};\n\n/**\n * Convert to a plain javascript object (not JSON string) of scalar properties.\n * Note as this method is designed to return a useful non-this value,\n * it cannot be chained.\n *\n * @return {Object} describing method, url, and data of this request\n * @api public\n */\n\nRequestBase.prototype.toJSON = function() {\n  return {\n    method: this.method,\n    url: this.url,\n    data: this._data,\n    headers: this._header,\n  };\n};\n\n/**\n * Send `data` as the request body, defaulting the `.type()` to \"json\" when\n * an object is given.\n *\n * Examples:\n *\n *       // manual json\n *       request.post('/user')\n *         .type('json')\n *         .send('{\"name\":\"tj\"}')\n *         .end(callback)\n *\n *       // auto json\n *       request.post('/user')\n *         .send({ name: 'tj' })\n *         .end(callback)\n *\n *       // manual x-www-form-urlencoded\n *       request.post('/user')\n *         .type('form')\n *         .send('name=tj')\n *         .end(callback)\n *\n *       // auto x-www-form-urlencoded\n *       request.post('/user')\n *         .type('form')\n *         .send({ name: 'tj' })\n *         .end(callback)\n *\n *       // defaults to x-www-form-urlencoded\n *      request.post('/user')\n *        .send('name=tobi')\n *        .send('species=ferret')\n *        .end(callback)\n *\n * @param {String|Object} data\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.send = function(data){\n  var isObj = isObject(data);\n  var type = this._header['content-type'];\n\n  if (this._formData) {\n    console.error(\".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()\");\n  }\n\n  if (isObj && !this._data) {\n    if (Array.isArray(data)) {\n      this._data = [];\n    } else if (!this._isHost(data)) {\n      this._data = {};\n    }\n  } else if (data && this._data && this._isHost(this._data)) {\n    throw Error(\"Can't merge these send calls\");\n  }\n\n  // merge\n  if (isObj && isObject(this._data)) {\n    for (var key in data) {\n      this._data[key] = data[key];\n    }\n  } else if ('string' == typeof data) {\n    // default to x-www-form-urlencoded\n    if (!type) this.type('form');\n    type = this._header['content-type'];\n    if ('application/x-www-form-urlencoded' == type) {\n      this._data = this._data\n        ? this._data + '&' + data\n        : data;\n    } else {\n      this._data = (this._data || '') + data;\n    }\n  } else {\n    this._data = data;\n  }\n\n  if (!isObj || this._isHost(data)) {\n    return this;\n  }\n\n  // default to json\n  if (!type) this.type('json');\n  return this;\n};\n\n/**\n * Sort `querystring` by the sort function\n *\n *\n * Examples:\n *\n *       // default order\n *       request.get('/user')\n *         .query('name=Nick')\n *         .query('search=Manny')\n *         .sortQuery()\n *         .end(callback)\n *\n *       // customized sort function\n *       request.get('/user')\n *         .query('name=Nick')\n *         .query('search=Manny')\n *         .sortQuery(function(a, b){\n *           return a.length - b.length;\n *         })\n *         .end(callback)\n *\n *\n * @param {Function} sort\n * @return {Request} for chaining\n * @api public\n */\n\nRequestBase.prototype.sortQuery = function(sort) {\n  // _sort default to true but otherwise can be a function or boolean\n  this._sort = typeof sort === 'undefined' ? true : sort;\n  return this;\n};\n\n/**\n * Compose querystring to append to req.url\n *\n * @api private\n */\nRequestBase.prototype._finalizeQueryString = function(){\n  var query = this._query.join('&');\n  if (query) {\n    this.url += (this.url.indexOf('?') >= 0 ? '&' : '?') + query;\n  }\n  this._query.length = 0; // Makes the call idempotent\n\n  if (this._sort) {\n    var index = this.url.indexOf('?');\n    if (index >= 0) {\n      var queryArr = this.url.substring(index + 1).split('&');\n      if ('function' === typeof this._sort) {\n        queryArr.sort(this._sort);\n      } else {\n        queryArr.sort();\n      }\n      this.url = this.url.substring(0, index) + '?' + queryArr.join('&');\n    }\n  }\n};\n\n// For backwards compat only\nRequestBase.prototype._appendQueryString = function() {console.trace(\"Unsupported\");}\n\n/**\n * Invoke callback with timeout error.\n *\n * @api private\n */\n\nRequestBase.prototype._timeoutError = function(reason, timeout, errno){\n  if (this._aborted) {\n    return;\n  }\n  var err = new Error(reason + timeout + 'ms exceeded');\n  err.timeout = timeout;\n  err.code = 'ECONNABORTED';\n  err.errno = errno;\n  this.timedout = true;\n  this.abort();\n  this.callback(err);\n};\n\nRequestBase.prototype._setTimeouts = function() {\n  var self = this;\n\n  // deadline\n  if (this._timeout && !this._timer) {\n    this._timer = setTimeout(function(){\n      self._timeoutError('Timeout of ', self._timeout, 'ETIME');\n    }, this._timeout);\n  }\n  // response timeout\n  if (this._responseTimeout && !this._responseTimeoutTimer) {\n    this._responseTimeoutTimer = setTimeout(function(){\n      self._timeoutError('Response timeout of ', self._responseTimeout, 'ETIMEDOUT');\n    }, this._responseTimeout);\n  }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvc3VwZXJhZ2VudC9saWIvcmVxdWVzdC1iYXNlLmpzPzkwYzkiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIE1vZHVsZSBvZiBtaXhlZC1pbiBmdW5jdGlvbnMgc2hhcmVkIGJldHdlZW4gbm9kZSBhbmQgY2xpZW50IGNvZGVcbiAqL1xudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9pcy1vYmplY3QnKTtcblxuLyoqXG4gKiBFeHBvc2UgYFJlcXVlc3RCYXNlYC5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJlcXVlc3RCYXNlO1xuXG4vKipcbiAqIEluaXRpYWxpemUgYSBuZXcgYFJlcXVlc3RCYXNlYC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIFJlcXVlc3RCYXNlKG9iaikge1xuICBpZiAob2JqKSByZXR1cm4gbWl4aW4ob2JqKTtcbn1cblxuLyoqXG4gKiBNaXhpbiB0aGUgcHJvdG90eXBlIHByb3BlcnRpZXMuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9ialxuICogQHJldHVybiB7T2JqZWN0fVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gbWl4aW4ob2JqKSB7XG4gIGZvciAodmFyIGtleSBpbiBSZXF1ZXN0QmFzZS5wcm90b3R5cGUpIHtcbiAgICBvYmpba2V5XSA9IFJlcXVlc3RCYXNlLnByb3RvdHlwZVtrZXldO1xuICB9XG4gIHJldHVybiBvYmo7XG59XG5cbi8qKlxuICogQ2xlYXIgcHJldmlvdXMgdGltZW91dC5cbiAqXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLmNsZWFyVGltZW91dCA9IGZ1bmN0aW9uIF9jbGVhclRpbWVvdXQoKXtcbiAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVyKTtcbiAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc3BvbnNlVGltZW91dFRpbWVyKTtcbiAgZGVsZXRlIHRoaXMuX3RpbWVyO1xuICBkZWxldGUgdGhpcy5fcmVzcG9uc2VUaW1lb3V0VGltZXI7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBPdmVycmlkZSBkZWZhdWx0IHJlc3BvbnNlIGJvZHkgcGFyc2VyXG4gKlxuICogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCB0byBjb252ZXJ0IGluY29taW5nIGRhdGEgaW50byByZXF1ZXN0LmJvZHlcbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0QmFzZS5wcm90b3R5cGUucGFyc2UgPSBmdW5jdGlvbiBwYXJzZShmbil7XG4gIHRoaXMuX3BhcnNlciA9IGZuO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0IGZvcm1hdCBvZiBiaW5hcnkgcmVzcG9uc2UgYm9keS5cbiAqIEluIGJyb3dzZXIgdmFsaWQgZm9ybWF0cyBhcmUgJ2Jsb2InIGFuZCAnYXJyYXlidWZmZXInLFxuICogd2hpY2ggcmV0dXJuIEJsb2IgYW5kIEFycmF5QnVmZmVyLCByZXNwZWN0aXZlbHkuXG4gKlxuICogSW4gTm9kZSBhbGwgdmFsdWVzIHJlc3VsdCBpbiBCdWZmZXIuXG4gKlxuICogRXhhbXBsZXM6XG4gKlxuICogICAgICByZXEuZ2V0KCcvJylcbiAqICAgICAgICAucmVzcG9uc2VUeXBlKCdibG9iJylcbiAqICAgICAgICAuZW5kKGNhbGxiYWNrKTtcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gdmFsXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLnJlc3BvbnNlVHlwZSA9IGZ1bmN0aW9uKHZhbCl7XG4gIHRoaXMuX3Jlc3BvbnNlVHlwZSA9IHZhbDtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIE92ZXJyaWRlIGRlZmF1bHQgcmVxdWVzdCBib2R5IHNlcmlhbGl6ZXJcbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHRvIGNvbnZlcnQgZGF0YSBzZXQgdmlhIC5zZW5kIG9yIC5hdHRhY2ggaW50byBwYXlsb2FkIHRvIHNlbmRcbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5SZXF1ZXN0QmFzZS5wcm90b3R5cGUuc2VyaWFsaXplID0gZnVuY3Rpb24gc2VyaWFsaXplKGZuKXtcbiAgdGhpcy5fc2VyaWFsaXplciA9IGZuO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0IHRpbWVvdXRzLlxuICpcbiAqIC0gcmVzcG9uc2UgdGltZW91dCBpcyB0aW1lIGJldHdlZW4gc2VuZGluZyByZXF1ZXN0IGFuZCByZWNlaXZpbmcgdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIHJlc3BvbnNlLiBJbmNsdWRlcyBETlMgYW5kIGNvbm5lY3Rpb24gdGltZS5cbiAqIC0gZGVhZGxpbmUgaXMgdGhlIHRpbWUgZnJvbSBzdGFydCBvZiB0aGUgcmVxdWVzdCB0byByZWNlaXZpbmcgcmVzcG9uc2UgYm9keSBpbiBmdWxsLiBJZiB0aGUgZGVhZGxpbmUgaXMgdG9vIHNob3J0IGxhcmdlIGZpbGVzIG1heSBub3QgbG9hZCBhdCBhbGwgb24gc2xvdyBjb25uZWN0aW9ucy5cbiAqXG4gKiBWYWx1ZSBvZiAwIG9yIGZhbHNlIG1lYW5zIG5vIHRpbWVvdXQuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ8T2JqZWN0fSBtcyBvciB7cmVzcG9uc2UsIGRlYWRsaW5lfVxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3RCYXNlLnByb3RvdHlwZS50aW1lb3V0ID0gZnVuY3Rpb24gdGltZW91dChvcHRpb25zKXtcbiAgaWYgKCFvcHRpb25zIHx8ICdvYmplY3QnICE9PSB0eXBlb2Ygb3B0aW9ucykge1xuICAgIHRoaXMuX3RpbWVvdXQgPSBvcHRpb25zO1xuICAgIHRoaXMuX3Jlc3BvbnNlVGltZW91dCA9IDA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBmb3IodmFyIG9wdGlvbiBpbiBvcHRpb25zKSB7XG4gICAgc3dpdGNoKG9wdGlvbikge1xuICAgICAgY2FzZSAnZGVhZGxpbmUnOlxuICAgICAgICB0aGlzLl90aW1lb3V0ID0gb3B0aW9ucy5kZWFkbGluZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdyZXNwb25zZSc6XG4gICAgICAgIHRoaXMuX3Jlc3BvbnNlVGltZW91dCA9IG9wdGlvbnMucmVzcG9uc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc29sZS53YXJuKFwiVW5rbm93biB0aW1lb3V0IG9wdGlvblwiLCBvcHRpb24pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0IG51bWJlciBvZiByZXRyeSBhdHRlbXB0cyBvbiBlcnJvci5cbiAqXG4gKiBGYWlsZWQgcmVxdWVzdHMgd2lsbCBiZSByZXRyaWVkICdjb3VudCcgdGltZXMgaWYgdGltZW91dCBvciBlcnIuY29kZSA+PSA1MDAuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IGNvdW50XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbZm5dXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLnJldHJ5ID0gZnVuY3Rpb24gcmV0cnkoY291bnQsIGZuKXtcbiAgLy8gRGVmYXVsdCB0byAxIGlmIG5vIGNvdW50IHBhc3NlZCBvciB0cnVlXG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwIHx8IGNvdW50ID09PSB0cnVlKSBjb3VudCA9IDE7XG4gIGlmIChjb3VudCA8PSAwKSBjb3VudCA9IDA7XG4gIHRoaXMuX21heFJldHJpZXMgPSBjb3VudDtcbiAgdGhpcy5fcmV0cmllcyA9IDA7XG4gIHRoaXMuX3JldHJ5Q2FsbGJhY2sgPSBmbjtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG52YXIgRVJST1JfQ09ERVMgPSBbXG4gICdFQ09OTlJFU0VUJyxcbiAgJ0VUSU1FRE9VVCcsXG4gICdFQUREUklORk8nLFxuICAnRVNPQ0tFVFRJTUVET1VUJ1xuXTtcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSByZXF1ZXN0IHNob3VsZCBiZSByZXRyaWVkLlxuICogKEJvcnJvd2VkIGZyb20gc2VnbWVudGlvL3N1cGVyYWdlbnQtcmV0cnkpXG4gKlxuICogQHBhcmFtIHtFcnJvcn0gZXJyXG4gKiBAcGFyYW0ge1Jlc3BvbnNlfSBbcmVzXVxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cblJlcXVlc3RCYXNlLnByb3RvdHlwZS5fc2hvdWxkUmV0cnkgPSBmdW5jdGlvbihlcnIsIHJlcykge1xuICBpZiAoIXRoaXMuX21heFJldHJpZXMgfHwgdGhpcy5fcmV0cmllcysrID49IHRoaXMuX21heFJldHJpZXMpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHRoaXMuX3JldHJ5Q2FsbGJhY2spIHtcbiAgICB0cnkge1xuICAgICAgdmFyIG92ZXJyaWRlID0gdGhpcy5fcmV0cnlDYWxsYmFjayhlcnIsIHJlcyk7XG4gICAgICBpZiAob3ZlcnJpZGUgPT09IHRydWUpIHJldHVybiB0cnVlO1xuICAgICAgaWYgKG92ZXJyaWRlID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlO1xuICAgICAgLy8gdW5kZWZpbmVkIGZhbGxzIGJhY2sgdG8gZGVmYXVsdHNcbiAgICB9IGNhdGNoKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgfVxuICB9XG4gIGlmIChyZXMgJiYgcmVzLnN0YXR1cyAmJiByZXMuc3RhdHVzID49IDUwMCAmJiByZXMuc3RhdHVzICE9IDUwMSkgcmV0dXJuIHRydWU7XG4gIGlmIChlcnIpIHtcbiAgICBpZiAoZXJyLmNvZGUgJiYgfkVSUk9SX0NPREVTLmluZGV4T2YoZXJyLmNvZGUpKSByZXR1cm4gdHJ1ZTtcbiAgICAvLyBTdXBlcmFnZW50IHRpbWVvdXRcbiAgICBpZiAoZXJyLnRpbWVvdXQgJiYgZXJyLmNvZGUgPT0gJ0VDT05OQUJPUlRFRCcpIHJldHVybiB0cnVlO1xuICAgIGlmIChlcnIuY3Jvc3NEb21haW4pIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn07XG5cbi8qKlxuICogUmV0cnkgcmVxdWVzdFxuICpcbiAqIEByZXR1cm4ge1JlcXVlc3R9IGZvciBjaGFpbmluZ1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLl9yZXRyeSA9IGZ1bmN0aW9uKCkge1xuXG4gIHRoaXMuY2xlYXJUaW1lb3V0KCk7XG5cbiAgLy8gbm9kZVxuICBpZiAodGhpcy5yZXEpIHtcbiAgICB0aGlzLnJlcSA9IG51bGw7XG4gICAgdGhpcy5yZXEgPSB0aGlzLnJlcXVlc3QoKTtcbiAgfVxuXG4gIHRoaXMuX2Fib3J0ZWQgPSBmYWxzZTtcbiAgdGhpcy50aW1lZG91dCA9IGZhbHNlO1xuXG4gIHJldHVybiB0aGlzLl9lbmQoKTtcbn07XG5cbi8qKlxuICogUHJvbWlzZSBzdXBwb3J0XG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gcmVzb2x2ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gW3JlamVjdF1cbiAqIEByZXR1cm4ge1JlcXVlc3R9XG4gKi9cblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLnRoZW4gPSBmdW5jdGlvbiB0aGVuKHJlc29sdmUsIHJlamVjdCkge1xuICBpZiAoIXRoaXMuX2Z1bGxmaWxsZWRQcm9taXNlKSB7XG4gICAgdmFyIHNlbGYgPSB0aGlzO1xuICAgIGlmICh0aGlzLl9lbmRDYWxsZWQpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IHN1cGVyYWdlbnQgcmVxdWVzdCB3YXMgc2VudCB0d2ljZSwgYmVjYXVzZSBib3RoIC5lbmQoKSBhbmQgLnRoZW4oKSB3ZXJlIGNhbGxlZC4gTmV2ZXIgY2FsbCAuZW5kKCkgaWYgeW91IHVzZSBwcm9taXNlc1wiKTtcbiAgICB9XG4gICAgdGhpcy5fZnVsbGZpbGxlZFByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbihpbm5lclJlc29sdmUsIGlubmVyUmVqZWN0KSB7XG4gICAgICBzZWxmLmVuZChmdW5jdGlvbihlcnIsIHJlcykge1xuICAgICAgICBpZiAoZXJyKSBpbm5lclJlamVjdChlcnIpO1xuICAgICAgICBlbHNlIGlubmVyUmVzb2x2ZShyZXMpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHRoaXMuX2Z1bGxmaWxsZWRQcm9taXNlLnRoZW4ocmVzb2x2ZSwgcmVqZWN0KTtcbn07XG5cblJlcXVlc3RCYXNlLnByb3RvdHlwZVsnY2F0Y2gnXSA9IGZ1bmN0aW9uKGNiKSB7XG4gIHJldHVybiB0aGlzLnRoZW4odW5kZWZpbmVkLCBjYik7XG59O1xuXG4vKipcbiAqIEFsbG93IGZvciBleHRlbnNpb25cbiAqL1xuXG5SZXF1ZXN0QmFzZS5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGZuKSB7XG4gIGZuKHRoaXMpO1xuICByZXR1cm4gdGhpcztcbn07XG5cblJlcXVlc3RCYXNlLnByb3RvdHlwZS5vayA9IGZ1bmN0aW9uKGNiKSB7XG4gIGlmICgnZnVuY3Rpb24nICE9PSB0eXBlb2YgY2IpIHRocm93IEVycm9yKFwiQ2FsbGJhY2sgcmVxdWlyZWRcIik7XG4gIHRoaXMuX29rQ2FsbGJhY2sgPSBjYjtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5SZXF1ZXN0QmFzZS5wcm90b3R5cGUuX2lzUmVzcG9uc2VPSyA9IGZ1bmN0aW9uKHJlcykge1xuICBpZiAoIXJlcykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICh0aGlzLl9va0NhbGxiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMuX29rQ2FsbGJhY2socmVzKTtcbiAgfVxuXG4gIHJldHVybiByZXMuc3RhdHVzID49IDIwMCAmJiByZXMuc3RhdHVzIDwgMzAwO1xufTtcblxuLyoqXG4gKiBHZXQgcmVxdWVzdCBoZWFkZXIgYGZpZWxkYC5cbiAqIENhc2UtaW5zZW5zaXRpdmUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGZpZWxkXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3RCYXNlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbihmaWVsZCl7XG4gIHJldHVybiB0aGlzLl9oZWFkZXJbZmllbGQudG9Mb3dlckNhc2UoKV07XG59O1xuXG4vKipcbiAqIEdldCBjYXNlLWluc2Vuc2l0aXZlIGhlYWRlciBgZmllbGRgIHZhbHVlLlxuICogVGhpcyBpcyBhIGRlcHJlY2F0ZWQgaW50ZXJuYWwgQVBJLiBVc2UgYC5nZXQoZmllbGQpYCBpbnN0ZWFkLlxuICpcbiAqIChnZXRIZWFkZXIgaXMgbm8gbG9uZ2VyIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgc3VwZXJhZ2VudCBjb2RlIGJhc2UpXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGZpZWxkXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKiBAYXBpIHByaXZhdGVcbiAqIEBkZXByZWNhdGVkXG4gKi9cblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLmdldEhlYWRlciA9IFJlcXVlc3RCYXNlLnByb3RvdHlwZS5nZXQ7XG5cbi8qKlxuICogU2V0IGhlYWRlciBgZmllbGRgIHRvIGB2YWxgLCBvciBtdWx0aXBsZSBmaWVsZHMgd2l0aCBvbmUgb2JqZWN0LlxuICogQ2FzZS1pbnNlbnNpdGl2ZS5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICAgIHJlcS5nZXQoJy8nKVxuICogICAgICAgIC5zZXQoJ0FjY2VwdCcsICdhcHBsaWNhdGlvbi9qc29uJylcbiAqICAgICAgICAuc2V0KCdYLUFQSS1LZXknLCAnZm9vYmFyJylcbiAqICAgICAgICAuZW5kKGNhbGxiYWNrKTtcbiAqXG4gKiAgICAgIHJlcS5nZXQoJy8nKVxuICogICAgICAgIC5zZXQoeyBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJywgJ1gtQVBJLUtleSc6ICdmb29iYXInIH0pXG4gKiAgICAgICAgLmVuZChjYWxsYmFjayk7XG4gKlxuICogQHBhcmFtIHtTdHJpbmd8T2JqZWN0fSBmaWVsZFxuICogQHBhcmFtIHtTdHJpbmd9IHZhbFxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3RCYXNlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbihmaWVsZCwgdmFsKXtcbiAgaWYgKGlzT2JqZWN0KGZpZWxkKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBmaWVsZCkge1xuICAgICAgdGhpcy5zZXQoa2V5LCBmaWVsZFtrZXldKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgdGhpcy5faGVhZGVyW2ZpZWxkLnRvTG93ZXJDYXNlKCldID0gdmFsO1xuICB0aGlzLmhlYWRlcltmaWVsZF0gPSB2YWw7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBSZW1vdmUgaGVhZGVyIGBmaWVsZGAuXG4gKiBDYXNlLWluc2Vuc2l0aXZlLlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogICAgICByZXEuZ2V0KCcvJylcbiAqICAgICAgICAudW5zZXQoJ1VzZXItQWdlbnQnKVxuICogICAgICAgIC5lbmQoY2FsbGJhY2spO1xuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBmaWVsZFxuICovXG5SZXF1ZXN0QmFzZS5wcm90b3R5cGUudW5zZXQgPSBmdW5jdGlvbihmaWVsZCl7XG4gIGRlbGV0ZSB0aGlzLl9oZWFkZXJbZmllbGQudG9Mb3dlckNhc2UoKV07XG4gIGRlbGV0ZSB0aGlzLmhlYWRlcltmaWVsZF07XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBXcml0ZSB0aGUgZmllbGQgYG5hbWVgIGFuZCBgdmFsYCwgb3IgbXVsdGlwbGUgZmllbGRzIHdpdGggb25lIG9iamVjdFxuICogZm9yIFwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiIHJlcXVlc3QgYm9kaWVzLlxuICpcbiAqIGBgYCBqc1xuICogcmVxdWVzdC5wb3N0KCcvdXBsb2FkJylcbiAqICAgLmZpZWxkKCdmb28nLCAnYmFyJylcbiAqICAgLmVuZChjYWxsYmFjayk7XG4gKlxuICogcmVxdWVzdC5wb3N0KCcvdXBsb2FkJylcbiAqICAgLmZpZWxkKHsgZm9vOiAnYmFyJywgYmF6OiAncXV4JyB9KVxuICogICAuZW5kKGNhbGxiYWNrKTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfE9iamVjdH0gbmFtZVxuICogQHBhcmFtIHtTdHJpbmd8QmxvYnxGaWxlfEJ1ZmZlcnxmcy5SZWFkU3RyZWFtfSB2YWxcbiAqIEByZXR1cm4ge1JlcXVlc3R9IGZvciBjaGFpbmluZ1xuICogQGFwaSBwdWJsaWNcbiAqL1xuUmVxdWVzdEJhc2UucHJvdG90eXBlLmZpZWxkID0gZnVuY3Rpb24obmFtZSwgdmFsKSB7XG4gIC8vIG5hbWUgc2hvdWxkIGJlIGVpdGhlciBhIHN0cmluZyBvciBhbiBvYmplY3QuXG4gIGlmIChudWxsID09PSBuYW1lIHx8IHVuZGVmaW5lZCA9PT0gbmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignLmZpZWxkKG5hbWUsIHZhbCkgbmFtZSBjYW4gbm90IGJlIGVtcHR5Jyk7XG4gIH1cblxuICBpZiAodGhpcy5fZGF0YSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCIuZmllbGQoKSBjYW4ndCBiZSB1c2VkIGlmIC5zZW5kKCkgaXMgdXNlZC4gUGxlYXNlIHVzZSBvbmx5IC5zZW5kKCkgb3Igb25seSAuZmllbGQoKSAmIC5hdHRhY2goKVwiKTtcbiAgfVxuXG4gIGlmIChpc09iamVjdChuYW1lKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBuYW1lKSB7XG4gICAgICB0aGlzLmZpZWxkKGtleSwgbmFtZVtrZXldKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgZm9yICh2YXIgaSBpbiB2YWwpIHtcbiAgICAgIHRoaXMuZmllbGQobmFtZSwgdmFsW2ldKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyB2YWwgc2hvdWxkIGJlIGRlZmluZWQgbm93XG4gIGlmIChudWxsID09PSB2YWwgfHwgdW5kZWZpbmVkID09PSB2YWwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJy5maWVsZChuYW1lLCB2YWwpIHZhbCBjYW4gbm90IGJlIGVtcHR5Jyk7XG4gIH1cbiAgaWYgKCdib29sZWFuJyA9PT0gdHlwZW9mIHZhbCkge1xuICAgIHZhbCA9ICcnICsgdmFsO1xuICB9XG4gIHRoaXMuX2dldEZvcm1EYXRhKCkuYXBwZW5kKG5hbWUsIHZhbCk7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBBYm9ydCB0aGUgcmVxdWVzdCwgYW5kIGNsZWFyIHBvdGVudGlhbCB0aW1lb3V0LlxuICpcbiAqIEByZXR1cm4ge1JlcXVlc3R9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5SZXF1ZXN0QmFzZS5wcm90b3R5cGUuYWJvcnQgPSBmdW5jdGlvbigpe1xuICBpZiAodGhpcy5fYWJvcnRlZCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIHRoaXMuX2Fib3J0ZWQgPSB0cnVlO1xuICB0aGlzLnhociAmJiB0aGlzLnhoci5hYm9ydCgpOyAvLyBicm93c2VyXG4gIHRoaXMucmVxICYmIHRoaXMucmVxLmFib3J0KCk7IC8vIG5vZGVcbiAgdGhpcy5jbGVhclRpbWVvdXQoKTtcbiAgdGhpcy5lbWl0KCdhYm9ydCcpO1xuICByZXR1cm4gdGhpcztcbn07XG5cblJlcXVlc3RCYXNlLnByb3RvdHlwZS5fYXV0aCA9IGZ1bmN0aW9uKHVzZXIsIHBhc3MsIG9wdGlvbnMsIGJhc2U2NEVuY29kZXIpIHtcbiAgc3dpdGNoIChvcHRpb25zLnR5cGUpIHtcbiAgICBjYXNlICdiYXNpYyc6XG4gICAgICB0aGlzLnNldCgnQXV0aG9yaXphdGlvbicsICdCYXNpYyAnICsgYmFzZTY0RW5jb2Rlcih1c2VyICsgJzonICsgcGFzcykpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdhdXRvJzpcbiAgICAgIHRoaXMudXNlcm5hbWUgPSB1c2VyO1xuICAgICAgdGhpcy5wYXNzd29yZCA9IHBhc3M7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2JlYXJlcic6IC8vIHVzYWdlIHdvdWxkIGJlIC5hdXRoKGFjY2Vzc1Rva2VuLCB7IHR5cGU6ICdiZWFyZXInIH0pXG4gICAgICB0aGlzLnNldCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIHVzZXIpO1xuICAgICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIEVuYWJsZSB0cmFuc21pc3Npb24gb2YgY29va2llcyB3aXRoIHgtZG9tYWluIHJlcXVlc3RzLlxuICpcbiAqIE5vdGUgdGhhdCBmb3IgdGhpcyB0byB3b3JrIHRoZSBvcmlnaW4gbXVzdCBub3QgYmVcbiAqIHVzaW5nIFwiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luXCIgd2l0aCBhIHdpbGRjYXJkLFxuICogYW5kIGFsc28gbXVzdCBzZXQgXCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsc1wiXG4gKiB0byBcInRydWVcIi5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3RCYXNlLnByb3RvdHlwZS53aXRoQ3JlZGVudGlhbHMgPSBmdW5jdGlvbihvbikge1xuICAvLyBUaGlzIGlzIGJyb3dzZXItb25seSBmdW5jdGlvbmFsaXR5LiBOb2RlIHNpZGUgaXMgbm8tb3AuXG4gIGlmIChvbiA9PSB1bmRlZmluZWQpIG9uID0gdHJ1ZTtcbiAgdGhpcy5fd2l0aENyZWRlbnRpYWxzID0gb247XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBTZXQgdGhlIG1heCByZWRpcmVjdHMgdG8gYG5gLiBEb2VzIG5vdGluZyBpbiBicm93c2VyIFhIUiBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gblxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cblJlcXVlc3RCYXNlLnByb3RvdHlwZS5yZWRpcmVjdHMgPSBmdW5jdGlvbihuKXtcbiAgdGhpcy5fbWF4UmVkaXJlY3RzID0gbjtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIE1heGltdW0gc2l6ZSBvZiBidWZmZXJlZCByZXNwb25zZSBib2R5LCBpbiBieXRlcy4gQ291bnRzIHVuY29tcHJlc3NlZCBzaXplLlxuICogRGVmYXVsdCAyMDBNQi5cbiAqXG4gKiBAcGFyYW0ge051bWJlcn0gblxuICogQHJldHVybiB7UmVxdWVzdH0gZm9yIGNoYWluaW5nXG4gKi9cblJlcXVlc3RCYXNlLnByb3RvdHlwZS5tYXhSZXNwb25zZVNpemUgPSBmdW5jdGlvbihuKXtcbiAgaWYgKCdudW1iZXInICE9PSB0eXBlb2Ygbikge1xuICAgIHRocm93IFR5cGVFcnJvcihcIkludmFsaWQgYXJndW1lbnRcIik7XG4gIH1cbiAgdGhpcy5fbWF4UmVzcG9uc2VTaXplID0gbjtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIENvbnZlcnQgdG8gYSBwbGFpbiBqYXZhc2NyaXB0IG9iamVjdCAobm90IEpTT04gc3RyaW5nKSBvZiBzY2FsYXIgcHJvcGVydGllcy5cbiAqIE5vdGUgYXMgdGhpcyBtZXRob2QgaXMgZGVzaWduZWQgdG8gcmV0dXJuIGEgdXNlZnVsIG5vbi10aGlzIHZhbHVlLFxuICogaXQgY2Fubm90IGJlIGNoYWluZWQuXG4gKlxuICogQHJldHVybiB7T2JqZWN0fSBkZXNjcmliaW5nIG1ldGhvZCwgdXJsLCBhbmQgZGF0YSBvZiB0aGlzIHJlcXVlc3RcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLnRvSlNPTiA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4ge1xuICAgIG1ldGhvZDogdGhpcy5tZXRob2QsXG4gICAgdXJsOiB0aGlzLnVybCxcbiAgICBkYXRhOiB0aGlzLl9kYXRhLFxuICAgIGhlYWRlcnM6IHRoaXMuX2hlYWRlcixcbiAgfTtcbn07XG5cbi8qKlxuICogU2VuZCBgZGF0YWAgYXMgdGhlIHJlcXVlc3QgYm9keSwgZGVmYXVsdGluZyB0aGUgYC50eXBlKClgIHRvIFwianNvblwiIHdoZW5cbiAqIGFuIG9iamVjdCBpcyBnaXZlbi5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICAgICAvLyBtYW51YWwganNvblxuICogICAgICAgcmVxdWVzdC5wb3N0KCcvdXNlcicpXG4gKiAgICAgICAgIC50eXBlKCdqc29uJylcbiAqICAgICAgICAgLnNlbmQoJ3tcIm5hbWVcIjpcInRqXCJ9JylcbiAqICAgICAgICAgLmVuZChjYWxsYmFjaylcbiAqXG4gKiAgICAgICAvLyBhdXRvIGpzb25cbiAqICAgICAgIHJlcXVlc3QucG9zdCgnL3VzZXInKVxuICogICAgICAgICAuc2VuZCh7IG5hbWU6ICd0aicgfSlcbiAqICAgICAgICAgLmVuZChjYWxsYmFjaylcbiAqXG4gKiAgICAgICAvLyBtYW51YWwgeC13d3ctZm9ybS11cmxlbmNvZGVkXG4gKiAgICAgICByZXF1ZXN0LnBvc3QoJy91c2VyJylcbiAqICAgICAgICAgLnR5cGUoJ2Zvcm0nKVxuICogICAgICAgICAuc2VuZCgnbmFtZT10aicpXG4gKiAgICAgICAgIC5lbmQoY2FsbGJhY2spXG4gKlxuICogICAgICAgLy8gYXV0byB4LXd3dy1mb3JtLXVybGVuY29kZWRcbiAqICAgICAgIHJlcXVlc3QucG9zdCgnL3VzZXInKVxuICogICAgICAgICAudHlwZSgnZm9ybScpXG4gKiAgICAgICAgIC5zZW5kKHsgbmFtZTogJ3RqJyB9KVxuICogICAgICAgICAuZW5kKGNhbGxiYWNrKVxuICpcbiAqICAgICAgIC8vIGRlZmF1bHRzIHRvIHgtd3d3LWZvcm0tdXJsZW5jb2RlZFxuICogICAgICByZXF1ZXN0LnBvc3QoJy91c2VyJylcbiAqICAgICAgICAuc2VuZCgnbmFtZT10b2JpJylcbiAqICAgICAgICAuc2VuZCgnc3BlY2llcz1mZXJyZXQnKVxuICogICAgICAgIC5lbmQoY2FsbGJhY2spXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8T2JqZWN0fSBkYXRhXG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLnNlbmQgPSBmdW5jdGlvbihkYXRhKXtcbiAgdmFyIGlzT2JqID0gaXNPYmplY3QoZGF0YSk7XG4gIHZhciB0eXBlID0gdGhpcy5faGVhZGVyWydjb250ZW50LXR5cGUnXTtcblxuICBpZiAodGhpcy5fZm9ybURhdGEpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiLnNlbmQoKSBjYW4ndCBiZSB1c2VkIGlmIC5hdHRhY2goKSBvciAuZmllbGQoKSBpcyB1c2VkLiBQbGVhc2UgdXNlIG9ubHkgLnNlbmQoKSBvciBvbmx5IC5maWVsZCgpICYgLmF0dGFjaCgpXCIpO1xuICB9XG5cbiAgaWYgKGlzT2JqICYmICF0aGlzLl9kYXRhKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSBbXTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc0hvc3QoZGF0YSkpIHtcbiAgICAgIHRoaXMuX2RhdGEgPSB7fTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZGF0YSAmJiB0aGlzLl9kYXRhICYmIHRoaXMuX2lzSG9zdCh0aGlzLl9kYXRhKSkge1xuICAgIHRocm93IEVycm9yKFwiQ2FuJ3QgbWVyZ2UgdGhlc2Ugc2VuZCBjYWxsc1wiKTtcbiAgfVxuXG4gIC8vIG1lcmdlXG4gIGlmIChpc09iaiAmJiBpc09iamVjdCh0aGlzLl9kYXRhKSkge1xuICAgIGZvciAodmFyIGtleSBpbiBkYXRhKSB7XG4gICAgICB0aGlzLl9kYXRhW2tleV0gPSBkYXRhW2tleV07XG4gICAgfVxuICB9IGVsc2UgaWYgKCdzdHJpbmcnID09IHR5cGVvZiBkYXRhKSB7XG4gICAgLy8gZGVmYXVsdCB0byB4LXd3dy1mb3JtLXVybGVuY29kZWRcbiAgICBpZiAoIXR5cGUpIHRoaXMudHlwZSgnZm9ybScpO1xuICAgIHR5cGUgPSB0aGlzLl9oZWFkZXJbJ2NvbnRlbnQtdHlwZSddO1xuICAgIGlmICgnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyA9PSB0eXBlKSB7XG4gICAgICB0aGlzLl9kYXRhID0gdGhpcy5fZGF0YVxuICAgICAgICA/IHRoaXMuX2RhdGEgKyAnJicgKyBkYXRhXG4gICAgICAgIDogZGF0YTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZGF0YSA9ICh0aGlzLl9kYXRhIHx8ICcnKSArIGRhdGE7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICB9XG5cbiAgaWYgKCFpc09iaiB8fCB0aGlzLl9pc0hvc3QoZGF0YSkpIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIGRlZmF1bHQgdG8ganNvblxuICBpZiAoIXR5cGUpIHRoaXMudHlwZSgnanNvbicpO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU29ydCBgcXVlcnlzdHJpbmdgIGJ5IHRoZSBzb3J0IGZ1bmN0aW9uXG4gKlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgICAgIC8vIGRlZmF1bHQgb3JkZXJcbiAqICAgICAgIHJlcXVlc3QuZ2V0KCcvdXNlcicpXG4gKiAgICAgICAgIC5xdWVyeSgnbmFtZT1OaWNrJylcbiAqICAgICAgICAgLnF1ZXJ5KCdzZWFyY2g9TWFubnknKVxuICogICAgICAgICAuc29ydFF1ZXJ5KClcbiAqICAgICAgICAgLmVuZChjYWxsYmFjaylcbiAqXG4gKiAgICAgICAvLyBjdXN0b21pemVkIHNvcnQgZnVuY3Rpb25cbiAqICAgICAgIHJlcXVlc3QuZ2V0KCcvdXNlcicpXG4gKiAgICAgICAgIC5xdWVyeSgnbmFtZT1OaWNrJylcbiAqICAgICAgICAgLnF1ZXJ5KCdzZWFyY2g9TWFubnknKVxuICogICAgICAgICAuc29ydFF1ZXJ5KGZ1bmN0aW9uKGEsIGIpe1xuICogICAgICAgICAgIHJldHVybiBhLmxlbmd0aCAtIGIubGVuZ3RoO1xuICogICAgICAgICB9KVxuICogICAgICAgICAuZW5kKGNhbGxiYWNrKVxuICpcbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBzb3J0XG4gKiBAcmV0dXJuIHtSZXF1ZXN0fSBmb3IgY2hhaW5pbmdcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLnNvcnRRdWVyeSA9IGZ1bmN0aW9uKHNvcnQpIHtcbiAgLy8gX3NvcnQgZGVmYXVsdCB0byB0cnVlIGJ1dCBvdGhlcndpc2UgY2FuIGJlIGEgZnVuY3Rpb24gb3IgYm9vbGVhblxuICB0aGlzLl9zb3J0ID0gdHlwZW9mIHNvcnQgPT09ICd1bmRlZmluZWQnID8gdHJ1ZSA6IHNvcnQ7XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBDb21wb3NlIHF1ZXJ5c3RyaW5nIHRvIGFwcGVuZCB0byByZXEudXJsXG4gKlxuICogQGFwaSBwcml2YXRlXG4gKi9cblJlcXVlc3RCYXNlLnByb3RvdHlwZS5fZmluYWxpemVRdWVyeVN0cmluZyA9IGZ1bmN0aW9uKCl7XG4gIHZhciBxdWVyeSA9IHRoaXMuX3F1ZXJ5LmpvaW4oJyYnKTtcbiAgaWYgKHF1ZXJ5KSB7XG4gICAgdGhpcy51cmwgKz0gKHRoaXMudXJsLmluZGV4T2YoJz8nKSA+PSAwID8gJyYnIDogJz8nKSArIHF1ZXJ5O1xuICB9XG4gIHRoaXMuX3F1ZXJ5Lmxlbmd0aCA9IDA7IC8vIE1ha2VzIHRoZSBjYWxsIGlkZW1wb3RlbnRcblxuICBpZiAodGhpcy5fc29ydCkge1xuICAgIHZhciBpbmRleCA9IHRoaXMudXJsLmluZGV4T2YoJz8nKTtcbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdmFyIHF1ZXJ5QXJyID0gdGhpcy51cmwuc3Vic3RyaW5nKGluZGV4ICsgMSkuc3BsaXQoJyYnKTtcbiAgICAgIGlmICgnZnVuY3Rpb24nID09PSB0eXBlb2YgdGhpcy5fc29ydCkge1xuICAgICAgICBxdWVyeUFyci5zb3J0KHRoaXMuX3NvcnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcXVlcnlBcnIuc29ydCgpO1xuICAgICAgfVxuICAgICAgdGhpcy51cmwgPSB0aGlzLnVybC5zdWJzdHJpbmcoMCwgaW5kZXgpICsgJz8nICsgcXVlcnlBcnIuam9pbignJicpO1xuICAgIH1cbiAgfVxufTtcblxuLy8gRm9yIGJhY2t3YXJkcyBjb21wYXQgb25seVxuUmVxdWVzdEJhc2UucHJvdG90eXBlLl9hcHBlbmRRdWVyeVN0cmluZyA9IGZ1bmN0aW9uKCkge2NvbnNvbGUudHJhY2UoXCJVbnN1cHBvcnRlZFwiKTt9XG5cbi8qKlxuICogSW52b2tlIGNhbGxiYWNrIHdpdGggdGltZW91dCBlcnJvci5cbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5SZXF1ZXN0QmFzZS5wcm90b3R5cGUuX3RpbWVvdXRFcnJvciA9IGZ1bmN0aW9uKHJlYXNvbiwgdGltZW91dCwgZXJybm8pe1xuICBpZiAodGhpcy5fYWJvcnRlZCkge1xuICAgIHJldHVybjtcbiAgfVxuICB2YXIgZXJyID0gbmV3IEVycm9yKHJlYXNvbiArIHRpbWVvdXQgKyAnbXMgZXhjZWVkZWQnKTtcbiAgZXJyLnRpbWVvdXQgPSB0aW1lb3V0O1xuICBlcnIuY29kZSA9ICdFQ09OTkFCT1JURUQnO1xuICBlcnIuZXJybm8gPSBlcnJubztcbiAgdGhpcy50aW1lZG91dCA9IHRydWU7XG4gIHRoaXMuYWJvcnQoKTtcbiAgdGhpcy5jYWxsYmFjayhlcnIpO1xufTtcblxuUmVxdWVzdEJhc2UucHJvdG90eXBlLl9zZXRUaW1lb3V0cyA9IGZ1bmN0aW9uKCkge1xuICB2YXIgc2VsZiA9IHRoaXM7XG5cbiAgLy8gZGVhZGxpbmVcbiAgaWYgKHRoaXMuX3RpbWVvdXQgJiYgIXRoaXMuX3RpbWVyKSB7XG4gICAgdGhpcy5fdGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7XG4gICAgICBzZWxmLl90aW1lb3V0RXJyb3IoJ1RpbWVvdXQgb2YgJywgc2VsZi5fdGltZW91dCwgJ0VUSU1FJyk7XG4gICAgfSwgdGhpcy5fdGltZW91dCk7XG4gIH1cbiAgLy8gcmVzcG9uc2UgdGltZW91dFxuICBpZiAodGhpcy5fcmVzcG9uc2VUaW1lb3V0ICYmICF0aGlzLl9yZXNwb25zZVRpbWVvdXRUaW1lcikge1xuICAgIHRoaXMuX3Jlc3BvbnNlVGltZW91dFRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpe1xuICAgICAgc2VsZi5fdGltZW91dEVycm9yKCdSZXNwb25zZSB0aW1lb3V0IG9mICcsIHNlbGYuX3Jlc3BvbnNlVGltZW91dCwgJ0VUSU1FRE9VVCcpO1xuICAgIH0sIHRoaXMuX3Jlc3BvbnNlVGltZW91dCk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///25\n")},function(module,exports,__webpack_require__){"use strict";eval('\n\n/**\n * Module dependencies.\n */\n\nvar utils = __webpack_require__(27);\n\n/**\n * Expose `ResponseBase`.\n */\n\nmodule.exports = ResponseBase;\n\n/**\n * Initialize a new `ResponseBase`.\n *\n * @api public\n */\n\nfunction ResponseBase(obj) {\n  if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the prototype properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n  for (var key in ResponseBase.prototype) {\n    obj[key] = ResponseBase.prototype[key];\n  }\n  return obj;\n}\n\n/**\n * Get case-insensitive `field` value.\n *\n * @param {String} field\n * @return {String}\n * @api public\n */\n\nResponseBase.prototype.get = function(field) {\n  return this.header[field.toLowerCase()];\n};\n\n/**\n * Set header related properties:\n *\n *   - `.type` the content type without params\n *\n * A response of "Content-Type: text/plain; charset=utf-8"\n * will provide you with a `.type` of "text/plain".\n *\n * @param {Object} header\n * @api private\n */\n\nResponseBase.prototype._setHeaderProperties = function(header){\n    // TODO: moar!\n    // TODO: make this a util\n\n    // content-type\n    var ct = header[\'content-type\'] || \'\';\n    this.type = utils.type(ct);\n\n    // params\n    var params = utils.params(ct);\n    for (var key in params) this[key] = params[key];\n\n    this.links = {};\n\n    // links\n    try {\n        if (header.link) {\n            this.links = utils.parseLinks(header.link);\n        }\n    } catch (err) {\n        // ignore\n    }\n};\n\n/**\n * Set flags such as `.ok` based on `status`.\n *\n * For example a 2xx response will give you a `.ok` of __true__\n * whereas 5xx will be __false__ and `.error` will be __true__. The\n * `.clientError` and `.serverError` are also available to be more\n * specific, and `.statusType` is the class of error ranging from 1..5\n * sometimes useful for mapping respond colors etc.\n *\n * "sugar" properties are also defined for common cases. Currently providing:\n *\n *   - .noContent\n *   - .badRequest\n *   - .unauthorized\n *   - .notAcceptable\n *   - .notFound\n *\n * @param {Number} status\n * @api private\n */\n\nResponseBase.prototype._setStatusProperties = function(status){\n    var type = status / 100 | 0;\n\n    // status / class\n    this.status = this.statusCode = status;\n    this.statusType = type;\n\n    // basics\n    this.info = 1 == type;\n    this.ok = 2 == type;\n    this.redirect = 3 == type;\n    this.clientError = 4 == type;\n    this.serverError = 5 == type;\n    this.error = (4 == type || 5 == type)\n        ? this.toError()\n        : false;\n\n    // sugar\n    this.created = 201 == status;\n    this.accepted = 202 == status;\n    this.noContent = 204 == status;\n    this.badRequest = 400 == status;\n    this.unauthorized = 401 == status;\n    this.notAcceptable = 406 == status;\n    this.forbidden = 403 == status;\n    this.notFound = 404 == status;\n    this.unprocessableEntity = 422 == status;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvc3VwZXJhZ2VudC9saWIvcmVzcG9uc2UtYmFzZS5qcz9mZjIxIl0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzLlxuICovXG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKTtcblxuLyoqXG4gKiBFeHBvc2UgYFJlc3BvbnNlQmFzZWAuXG4gKi9cblxubW9kdWxlLmV4cG9ydHMgPSBSZXNwb25zZUJhc2U7XG5cbi8qKlxuICogSW5pdGlhbGl6ZSBhIG5ldyBgUmVzcG9uc2VCYXNlYC5cbiAqXG4gKiBAYXBpIHB1YmxpY1xuICovXG5cbmZ1bmN0aW9uIFJlc3BvbnNlQmFzZShvYmopIHtcbiAgaWYgKG9iaikgcmV0dXJuIG1peGluKG9iaik7XG59XG5cbi8qKlxuICogTWl4aW4gdGhlIHByb3RvdHlwZSBwcm9wZXJ0aWVzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmpcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIG1peGluKG9iaikge1xuICBmb3IgKHZhciBrZXkgaW4gUmVzcG9uc2VCYXNlLnByb3RvdHlwZSkge1xuICAgIG9ialtrZXldID0gUmVzcG9uc2VCYXNlLnByb3RvdHlwZVtrZXldO1xuICB9XG4gIHJldHVybiBvYmo7XG59XG5cbi8qKlxuICogR2V0IGNhc2UtaW5zZW5zaXRpdmUgYGZpZWxkYCB2YWx1ZS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gZmllbGRcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqIEBhcGkgcHVibGljXG4gKi9cblxuUmVzcG9uc2VCYXNlLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbihmaWVsZCkge1xuICByZXR1cm4gdGhpcy5oZWFkZXJbZmllbGQudG9Mb3dlckNhc2UoKV07XG59O1xuXG4vKipcbiAqIFNldCBoZWFkZXIgcmVsYXRlZCBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBgLnR5cGVgIHRoZSBjb250ZW50IHR5cGUgd2l0aG91dCBwYXJhbXNcbiAqXG4gKiBBIHJlc3BvbnNlIG9mIFwiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04XCJcbiAqIHdpbGwgcHJvdmlkZSB5b3Ugd2l0aCBhIGAudHlwZWAgb2YgXCJ0ZXh0L3BsYWluXCIuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGhlYWRlclxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVzcG9uc2VCYXNlLnByb3RvdHlwZS5fc2V0SGVhZGVyUHJvcGVydGllcyA9IGZ1bmN0aW9uKGhlYWRlcil7XG4gICAgLy8gVE9ETzogbW9hciFcbiAgICAvLyBUT0RPOiBtYWtlIHRoaXMgYSB1dGlsXG5cbiAgICAvLyBjb250ZW50LXR5cGVcbiAgICB2YXIgY3QgPSBoZWFkZXJbJ2NvbnRlbnQtdHlwZSddIHx8ICcnO1xuICAgIHRoaXMudHlwZSA9IHV0aWxzLnR5cGUoY3QpO1xuXG4gICAgLy8gcGFyYW1zXG4gICAgdmFyIHBhcmFtcyA9IHV0aWxzLnBhcmFtcyhjdCk7XG4gICAgZm9yICh2YXIga2V5IGluIHBhcmFtcykgdGhpc1trZXldID0gcGFyYW1zW2tleV07XG5cbiAgICB0aGlzLmxpbmtzID0ge307XG5cbiAgICAvLyBsaW5rc1xuICAgIHRyeSB7XG4gICAgICAgIGlmIChoZWFkZXIubGluaykge1xuICAgICAgICAgICAgdGhpcy5saW5rcyA9IHV0aWxzLnBhcnNlTGlua3MoaGVhZGVyLmxpbmspO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIC8vIGlnbm9yZVxuICAgIH1cbn07XG5cbi8qKlxuICogU2V0IGZsYWdzIHN1Y2ggYXMgYC5va2AgYmFzZWQgb24gYHN0YXR1c2AuXG4gKlxuICogRm9yIGV4YW1wbGUgYSAyeHggcmVzcG9uc2Ugd2lsbCBnaXZlIHlvdSBhIGAub2tgIG9mIF9fdHJ1ZV9fXG4gKiB3aGVyZWFzIDV4eCB3aWxsIGJlIF9fZmFsc2VfXyBhbmQgYC5lcnJvcmAgd2lsbCBiZSBfX3RydWVfXy4gVGhlXG4gKiBgLmNsaWVudEVycm9yYCBhbmQgYC5zZXJ2ZXJFcnJvcmAgYXJlIGFsc28gYXZhaWxhYmxlIHRvIGJlIG1vcmVcbiAqIHNwZWNpZmljLCBhbmQgYC5zdGF0dXNUeXBlYCBpcyB0aGUgY2xhc3Mgb2YgZXJyb3IgcmFuZ2luZyBmcm9tIDEuLjVcbiAqIHNvbWV0aW1lcyB1c2VmdWwgZm9yIG1hcHBpbmcgcmVzcG9uZCBjb2xvcnMgZXRjLlxuICpcbiAqIFwic3VnYXJcIiBwcm9wZXJ0aWVzIGFyZSBhbHNvIGRlZmluZWQgZm9yIGNvbW1vbiBjYXNlcy4gQ3VycmVudGx5IHByb3ZpZGluZzpcbiAqXG4gKiAgIC0gLm5vQ29udGVudFxuICogICAtIC5iYWRSZXF1ZXN0XG4gKiAgIC0gLnVuYXV0aG9yaXplZFxuICogICAtIC5ub3RBY2NlcHRhYmxlXG4gKiAgIC0gLm5vdEZvdW5kXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IHN0YXR1c1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuUmVzcG9uc2VCYXNlLnByb3RvdHlwZS5fc2V0U3RhdHVzUHJvcGVydGllcyA9IGZ1bmN0aW9uKHN0YXR1cyl7XG4gICAgdmFyIHR5cGUgPSBzdGF0dXMgLyAxMDAgfCAwO1xuXG4gICAgLy8gc3RhdHVzIC8gY2xhc3NcbiAgICB0aGlzLnN0YXR1cyA9IHRoaXMuc3RhdHVzQ29kZSA9IHN0YXR1cztcbiAgICB0aGlzLnN0YXR1c1R5cGUgPSB0eXBlO1xuXG4gICAgLy8gYmFzaWNzXG4gICAgdGhpcy5pbmZvID0gMSA9PSB0eXBlO1xuICAgIHRoaXMub2sgPSAyID09IHR5cGU7XG4gICAgdGhpcy5yZWRpcmVjdCA9IDMgPT0gdHlwZTtcbiAgICB0aGlzLmNsaWVudEVycm9yID0gNCA9PSB0eXBlO1xuICAgIHRoaXMuc2VydmVyRXJyb3IgPSA1ID09IHR5cGU7XG4gICAgdGhpcy5lcnJvciA9ICg0ID09IHR5cGUgfHwgNSA9PSB0eXBlKVxuICAgICAgICA/IHRoaXMudG9FcnJvcigpXG4gICAgICAgIDogZmFsc2U7XG5cbiAgICAvLyBzdWdhclxuICAgIHRoaXMuY3JlYXRlZCA9IDIwMSA9PSBzdGF0dXM7XG4gICAgdGhpcy5hY2NlcHRlZCA9IDIwMiA9PSBzdGF0dXM7XG4gICAgdGhpcy5ub0NvbnRlbnQgPSAyMDQgPT0gc3RhdHVzO1xuICAgIHRoaXMuYmFkUmVxdWVzdCA9IDQwMCA9PSBzdGF0dXM7XG4gICAgdGhpcy51bmF1dGhvcml6ZWQgPSA0MDEgPT0gc3RhdHVzO1xuICAgIHRoaXMubm90QWNjZXB0YWJsZSA9IDQwNiA9PSBzdGF0dXM7XG4gICAgdGhpcy5mb3JiaWRkZW4gPSA0MDMgPT0gc3RhdHVzO1xuICAgIHRoaXMubm90Rm91bmQgPSA0MDQgPT0gc3RhdHVzO1xuICAgIHRoaXMudW5wcm9jZXNzYWJsZUVudGl0eSA9IDQyMiA9PSBzdGF0dXM7XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///26\n')},function(module,exports,__webpack_require__){"use strict";eval("\n\n/**\n * Return the mime type for the given `str`.\n *\n * @param {String} str\n * @return {String}\n * @api private\n */\n\nexports.type = function(str){\n  return str.split(/ *; */).shift();\n};\n\n/**\n * Return header field parameters.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nexports.params = function(str){\n  return str.split(/ *; */).reduce(function(obj, str){\n    var parts = str.split(/ *= */);\n    var key = parts.shift();\n    var val = parts.shift();\n\n    if (key && val) obj[key] = val;\n    return obj;\n  }, {});\n};\n\n/**\n * Parse Link header fields.\n *\n * @param {String} str\n * @return {Object}\n * @api private\n */\n\nexports.parseLinks = function(str){\n  return str.split(/ *, */).reduce(function(obj, str){\n    var parts = str.split(/ *; */);\n    var url = parts[0].slice(1, -1);\n    var rel = parts[1].split(/ *= */)[1].slice(1, -1);\n    obj[rel] = url;\n    return obj;\n  }, {});\n};\n\n/**\n * Strip content related fields from `header`.\n *\n * @param {Object} header\n * @return {Object} header\n * @api private\n */\n\nexports.cleanHeader = function(header, changesOrigin){\n  delete header['content-type'];\n  delete header['content-length'];\n  delete header['transfer-encoding'];\n  delete header['host'];\n  // secuirty\n  if (changesOrigin) {\n    delete header['authorization'];\n    delete header['cookie'];\n  }\n  return header;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvc3VwZXJhZ2VudC9saWIvdXRpbHMuanM/YTA3OSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogUmV0dXJuIHRoZSBtaW1lIHR5cGUgZm9yIHRoZSBnaXZlbiBgc3RyYC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5leHBvcnRzLnR5cGUgPSBmdW5jdGlvbihzdHIpe1xuICByZXR1cm4gc3RyLnNwbGl0KC8gKjsgKi8pLnNoaWZ0KCk7XG59O1xuXG4vKipcbiAqIFJldHVybiBoZWFkZXIgZmllbGQgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5leHBvcnRzLnBhcmFtcyA9IGZ1bmN0aW9uKHN0cil7XG4gIHJldHVybiBzdHIuc3BsaXQoLyAqOyAqLykucmVkdWNlKGZ1bmN0aW9uKG9iaiwgc3RyKXtcbiAgICB2YXIgcGFydHMgPSBzdHIuc3BsaXQoLyAqPSAqLyk7XG4gICAgdmFyIGtleSA9IHBhcnRzLnNoaWZ0KCk7XG4gICAgdmFyIHZhbCA9IHBhcnRzLnNoaWZ0KCk7XG5cbiAgICBpZiAoa2V5ICYmIHZhbCkgb2JqW2tleV0gPSB2YWw7XG4gICAgcmV0dXJuIG9iajtcbiAgfSwge30pO1xufTtcblxuLyoqXG4gKiBQYXJzZSBMaW5rIGhlYWRlciBmaWVsZHMuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICogQHJldHVybiB7T2JqZWN0fVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZXhwb3J0cy5wYXJzZUxpbmtzID0gZnVuY3Rpb24oc3RyKXtcbiAgcmV0dXJuIHN0ci5zcGxpdCgvICosICovKS5yZWR1Y2UoZnVuY3Rpb24ob2JqLCBzdHIpe1xuICAgIHZhciBwYXJ0cyA9IHN0ci5zcGxpdCgvICo7ICovKTtcbiAgICB2YXIgdXJsID0gcGFydHNbMF0uc2xpY2UoMSwgLTEpO1xuICAgIHZhciByZWwgPSBwYXJ0c1sxXS5zcGxpdCgvICo9ICovKVsxXS5zbGljZSgxLCAtMSk7XG4gICAgb2JqW3JlbF0gPSB1cmw7XG4gICAgcmV0dXJuIG9iajtcbiAgfSwge30pO1xufTtcblxuLyoqXG4gKiBTdHJpcCBjb250ZW50IHJlbGF0ZWQgZmllbGRzIGZyb20gYGhlYWRlcmAuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGhlYWRlclxuICogQHJldHVybiB7T2JqZWN0fSBoZWFkZXJcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmV4cG9ydHMuY2xlYW5IZWFkZXIgPSBmdW5jdGlvbihoZWFkZXIsIGNoYW5nZXNPcmlnaW4pe1xuICBkZWxldGUgaGVhZGVyWydjb250ZW50LXR5cGUnXTtcbiAgZGVsZXRlIGhlYWRlclsnY29udGVudC1sZW5ndGgnXTtcbiAgZGVsZXRlIGhlYWRlclsndHJhbnNmZXItZW5jb2RpbmcnXTtcbiAgZGVsZXRlIGhlYWRlclsnaG9zdCddO1xuICAvLyBzZWN1aXJ0eVxuICBpZiAoY2hhbmdlc09yaWdpbikge1xuICAgIGRlbGV0ZSBoZWFkZXJbJ2F1dGhvcml6YXRpb24nXTtcbiAgICBkZWxldGUgaGVhZGVyWydjb29raWUnXTtcbiAgfVxuICByZXR1cm4gaGVhZGVyO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///27\n")},function(module,exports){eval('function Agent() {\n  this._defaults = [];\n}\n\n["use", "on", "once", "set", "query", "type", "accept", "auth", "withCredentials", "sortQuery", "retry", "ok", "redirects",\n "timeout", "buffer", "serialize", "parse", "ca", "key", "pfx", "cert"].forEach(function(fn) {\n  /** Default setting for all requests from this agent */\n  Agent.prototype[fn] = function(/*varargs*/) {\n    this._defaults.push({fn:fn, arguments:arguments});\n    return this;\n  }\n});\n\nAgent.prototype._setDefaults = function(req) {\n    this._defaults.forEach(function(def) {\n      req[def.fn].apply(req, def.arguments);\n    });\n};\n\nmodule.exports = Agent;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvc3VwZXJhZ2VudC9saWIvYWdlbnQtYmFzZS5qcz85ZDk2Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIEFnZW50KCkge1xuICB0aGlzLl9kZWZhdWx0cyA9IFtdO1xufVxuXG5bXCJ1c2VcIiwgXCJvblwiLCBcIm9uY2VcIiwgXCJzZXRcIiwgXCJxdWVyeVwiLCBcInR5cGVcIiwgXCJhY2NlcHRcIiwgXCJhdXRoXCIsIFwid2l0aENyZWRlbnRpYWxzXCIsIFwic29ydFF1ZXJ5XCIsIFwicmV0cnlcIiwgXCJva1wiLCBcInJlZGlyZWN0c1wiLFxuIFwidGltZW91dFwiLCBcImJ1ZmZlclwiLCBcInNlcmlhbGl6ZVwiLCBcInBhcnNlXCIsIFwiY2FcIiwgXCJrZXlcIiwgXCJwZnhcIiwgXCJjZXJ0XCJdLmZvckVhY2goZnVuY3Rpb24oZm4pIHtcbiAgLyoqIERlZmF1bHQgc2V0dGluZyBmb3IgYWxsIHJlcXVlc3RzIGZyb20gdGhpcyBhZ2VudCAqL1xuICBBZ2VudC5wcm90b3R5cGVbZm5dID0gZnVuY3Rpb24oLyp2YXJhcmdzKi8pIHtcbiAgICB0aGlzLl9kZWZhdWx0cy5wdXNoKHtmbjpmbiwgYXJndW1lbnRzOmFyZ3VtZW50c30pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59KTtcblxuQWdlbnQucHJvdG90eXBlLl9zZXREZWZhdWx0cyA9IGZ1bmN0aW9uKHJlcSkge1xuICAgIHRoaXMuX2RlZmF1bHRzLmZvckVhY2goZnVuY3Rpb24oZGVmKSB7XG4gICAgICByZXFbZGVmLmZuXS5hcHBseShyZXEsIGRlZi5hcmd1bWVudHMpO1xuICAgIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBBZ2VudDtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///28\n')},function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9jaGVja0JveC9jaGVja0JveC5zY3NzPzI1YTIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///29\n")},function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9yYWRpb0J1dHRvbi9yYWRpb0J1dHRvbi5zY3NzPzdhZDEiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///30\n")},function(module,exports){eval("// Unique ID creation requires a high quality random # generator.  In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API.  We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n                      (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n  // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n  var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n  module.exports = function whatwgRNG() {\n    getRandomValues(rnds8);\n    return rnds8;\n  };\n} else {\n  // Math.random()-based (RNG)\n  //\n  // If all else fails, use Math.random().  It's fast, but is of unspecified\n  // quality.\n  var rnds = new Array(16);\n\n  module.exports = function mathRNG() {\n    for (var i = 0, r; i < 16; i++) {\n      if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n      rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n    }\n\n    return rnds;\n  };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvdXVpZC9saWIvcm5nLWJyb3dzZXIuanM/ZTFmNCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBVbmlxdWUgSUQgY3JlYXRpb24gcmVxdWlyZXMgYSBoaWdoIHF1YWxpdHkgcmFuZG9tICMgZ2VuZXJhdG9yLiAgSW4gdGhlXG4vLyBicm93c2VyIHRoaXMgaXMgYSBsaXR0bGUgY29tcGxpY2F0ZWQgZHVlIHRvIHVua25vd24gcXVhbGl0eSBvZiBNYXRoLnJhbmRvbSgpXG4vLyBhbmQgaW5jb25zaXN0ZW50IHN1cHBvcnQgZm9yIHRoZSBgY3J5cHRvYCBBUEkuICBXZSBkbyB0aGUgYmVzdCB3ZSBjYW4gdmlhXG4vLyBmZWF0dXJlLWRldGVjdGlvblxuXG4vLyBnZXRSYW5kb21WYWx1ZXMgbmVlZHMgdG8gYmUgaW52b2tlZCBpbiBhIGNvbnRleHQgd2hlcmUgXCJ0aGlzXCIgaXMgYSBDcnlwdG9cbi8vIGltcGxlbWVudGF0aW9uLiBBbHNvLCBmaW5kIHRoZSBjb21wbGV0ZSBpbXBsZW1lbnRhdGlvbiBvZiBjcnlwdG8gb24gSUUxMS5cbnZhciBnZXRSYW5kb21WYWx1ZXMgPSAodHlwZW9mKGNyeXB0bykgIT0gJ3VuZGVmaW5lZCcgJiYgY3J5cHRvLmdldFJhbmRvbVZhbHVlcyAmJiBjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzLmJpbmQoY3J5cHRvKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAodHlwZW9mKG1zQ3J5cHRvKSAhPSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93Lm1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcyA9PSAnZnVuY3Rpb24nICYmIG1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcy5iaW5kKG1zQ3J5cHRvKSk7XG5cbmlmIChnZXRSYW5kb21WYWx1ZXMpIHtcbiAgLy8gV0hBVFdHIGNyeXB0byBSTkcgLSBodHRwOi8vd2lraS53aGF0d2cub3JnL3dpa2kvQ3J5cHRvXG4gIHZhciBybmRzOCA9IG5ldyBVaW50OEFycmF5KDE2KTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuXG4gIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gd2hhdHdnUk5HKCkge1xuICAgIGdldFJhbmRvbVZhbHVlcyhybmRzOCk7XG4gICAgcmV0dXJuIHJuZHM4O1xuICB9O1xufSBlbHNlIHtcbiAgLy8gTWF0aC5yYW5kb20oKS1iYXNlZCAoUk5HKVxuICAvL1xuICAvLyBJZiBhbGwgZWxzZSBmYWlscywgdXNlIE1hdGgucmFuZG9tKCkuICBJdCdzIGZhc3QsIGJ1dCBpcyBvZiB1bnNwZWNpZmllZFxuICAvLyBxdWFsaXR5LlxuICB2YXIgcm5kcyA9IG5ldyBBcnJheSgxNik7XG5cbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBtYXRoUk5HKCkge1xuICAgIGZvciAodmFyIGkgPSAwLCByOyBpIDwgMTY7IGkrKykge1xuICAgICAgaWYgKChpICYgMHgwMykgPT09IDApIHIgPSBNYXRoLnJhbmRvbSgpICogMHgxMDAwMDAwMDA7XG4gICAgICBybmRzW2ldID0gciA+Pj4gKChpICYgMHgwMykgPDwgMykgJiAweGZmO1xuICAgIH1cblxuICAgIHJldHVybiBybmRzO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///31\n")},function(module,exports){eval("/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n  byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n  var i = offset || 0;\n  var bth = byteToHex;\n  // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n  return ([\n    bth[buf[i++]], bth[buf[i++]],\n    bth[buf[i++]], bth[buf[i++]], '-',\n    bth[buf[i++]], bth[buf[i++]], '-',\n    bth[buf[i++]], bth[buf[i++]], '-',\n    bth[buf[i++]], bth[buf[i++]], '-',\n    bth[buf[i++]], bth[buf[i++]],\n    bth[buf[i++]], bth[buf[i++]],\n    bth[buf[i++]], bth[buf[i++]]\n  ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvdXVpZC9saWIvYnl0ZXNUb1V1aWQuanM/MjM2NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnZlcnQgYXJyYXkgb2YgMTYgYnl0ZSB2YWx1ZXMgdG8gVVVJRCBzdHJpbmcgZm9ybWF0IG9mIHRoZSBmb3JtOlxuICogWFhYWFhYWFgtWFhYWC1YWFhYLVhYWFgtWFhYWFhYWFhYWFhYXG4gKi9cbnZhciBieXRlVG9IZXggPSBbXTtcbmZvciAodmFyIGkgPSAwOyBpIDwgMjU2OyArK2kpIHtcbiAgYnl0ZVRvSGV4W2ldID0gKGkgKyAweDEwMCkudG9TdHJpbmcoMTYpLnN1YnN0cigxKTtcbn1cblxuZnVuY3Rpb24gYnl0ZXNUb1V1aWQoYnVmLCBvZmZzZXQpIHtcbiAgdmFyIGkgPSBvZmZzZXQgfHwgMDtcbiAgdmFyIGJ0aCA9IGJ5dGVUb0hleDtcbiAgLy8gam9pbiB1c2VkIHRvIGZpeCBtZW1vcnkgaXNzdWUgY2F1c2VkIGJ5IGNvbmNhdGVuYXRpb246IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMxNzUjYzRcbiAgcmV0dXJuIChbXG4gICAgYnRoW2J1ZltpKytdXSwgYnRoW2J1ZltpKytdXSxcbiAgICBidGhbYnVmW2krK11dLCBidGhbYnVmW2krK11dLCAnLScsXG4gICAgYnRoW2J1ZltpKytdXSwgYnRoW2J1ZltpKytdXSwgJy0nLFxuICAgIGJ0aFtidWZbaSsrXV0sIGJ0aFtidWZbaSsrXV0sICctJyxcbiAgICBidGhbYnVmW2krK11dLCBidGhbYnVmW2krK11dLCAnLScsXG4gICAgYnRoW2J1ZltpKytdXSwgYnRoW2J1ZltpKytdXSxcbiAgICBidGhbYnVmW2krK11dLCBidGhbYnVmW2krK11dLFxuICAgIGJ0aFtidWZbaSsrXV0sIGJ0aFtidWZbaSsrXV1cbiAgXSkuam9pbignJyk7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gYnl0ZXNUb1V1aWQ7XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///32\n")},function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9hZGRUb0NhcnQvZGVza3RvcC9hZGRUb0NhcnQuc2Nzcz8zYmYyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbiJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///33\n")},function(module,__webpack_exports__,__webpack_require__){"use strict";eval("// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, \"AddToCartDesktop\", function() { return /* reexport */ addToCart_desktop_AddToCart; });\n__webpack_require__.d(__webpack_exports__, \"AddToCartMobile\", function() { return /* reexport */ addToCart_mobile_AddToCart; });\n__webpack_require__.d(__webpack_exports__, \"Modal\", function() { return /* reexport */ modal_modal; });\n__webpack_require__.d(__webpack_exports__, \"Loading\", function() { return /* reexport */ loading_loading; });\n__webpack_require__.d(__webpack_exports__, \"Toast\", function() { return /* reexport */ toast_toast; });\n__webpack_require__.d(__webpack_exports__, \"getToastMessageItem\", function() { return /* reexport */ getToastMessageItem; });\n__webpack_require__.d(__webpack_exports__, \"Currency\", function() { return /* reexport */ currency; });\n__webpack_require__.d(__webpack_exports__, \"CheckBox\", function() { return /* reexport */ checkBox_checkBox; });\n__webpack_require__.d(__webpack_exports__, \"RadioButton\", function() { return /* reexport */ radioButton_radioButton; });\n__webpack_require__.d(__webpack_exports__, \"Button\", function() { return /* reexport */ components_button; });\n__webpack_require__.d(__webpack_exports__, \"Link\", function() { return /* reexport */ components_link; });\n__webpack_require__.d(__webpack_exports__, \"Tag\", function() { return /* reexport */ tag; });\n__webpack_require__.d(__webpack_exports__, \"SparkCoreThemeProvider\", function() { return /* reexport */ components_theme; });\n__webpack_require__.d(__webpack_exports__, \"httpProvider\", function() { return /* reexport */ http_provider_namespaceObject; });\n__webpack_require__.d(__webpack_exports__, \"dateFormatUtility\", function() { return /* reexport */ dateFormat_utility_namespaceObject; });\n__webpack_require__.d(__webpack_exports__, \"deviceUtility\", function() { return /* reexport */ device_utility_namespaceObject; });\n__webpack_require__.d(__webpack_exports__, \"userAgentUtility\", function() { return /* reexport */ userAgent_utility_namespaceObject; });\n__webpack_require__.d(__webpack_exports__, \"runtimeModeUtility\", function() { return /* reexport */ runtimeMode_utility_namespaceObject; });\n__webpack_require__.d(__webpack_exports__, \"cookieUtility\", function() { return /* reexport */ cookie_utility_namespaceObject; });\n__webpack_require__.d(__webpack_exports__, \"urlUtility\", function() { return /* reexport */ url_utility_namespaceObject; });\n__webpack_require__.d(__webpack_exports__, \"currencyUtility\", function() { return /* reexport */ currency_utility_namespaceObject; });\n\n// NAMESPACE OBJECT: ./src/utilities/dateFormat.utility.ts\nvar dateFormat_utility_namespaceObject = {};\n__webpack_require__.r(dateFormat_utility_namespaceObject);\n__webpack_require__.d(dateFormat_utility_namespaceObject, \"dotNetDateParser\", function() { return dotNetDateParser; });\n\n// NAMESPACE OBJECT: ./src/utilities/device.utility.ts\nvar device_utility_namespaceObject = {};\n__webpack_require__.r(device_utility_namespaceObject);\n__webpack_require__.d(device_utility_namespaceObject, \"getBrowsingMode\", function() { return getBrowsingMode; });\n__webpack_require__.d(device_utility_namespaceObject, \"isMobile\", function() { return isMobile; });\n\n// NAMESPACE OBJECT: ./src/utilities/userAgent.utility.ts\nvar userAgent_utility_namespaceObject = {};\n__webpack_require__.r(userAgent_utility_namespaceObject);\n__webpack_require__.d(userAgent_utility_namespaceObject, \"checkIsFirefox\", function() { return checkIsFirefox; });\n__webpack_require__.d(userAgent_utility_namespaceObject, \"checkIsChrome\", function() { return checkIsChrome; });\n__webpack_require__.d(userAgent_utility_namespaceObject, \"checkIsSafari\", function() { return checkIsSafari; });\n__webpack_require__.d(userAgent_utility_namespaceObject, \"checkIsIE\", function() { return checkIsIE; });\n__webpack_require__.d(userAgent_utility_namespaceObject, \"getDeviceOS\", function() { return getDeviceOS; });\n__webpack_require__.d(userAgent_utility_namespaceObject, \"checkIsBot\", function() { return checkIsBot; });\n\n// NAMESPACE OBJECT: ./src/utilities/runtimeMode.utility.ts\nvar runtimeMode_utility_namespaceObject = {};\n__webpack_require__.r(runtimeMode_utility_namespaceObject);\n__webpack_require__.d(runtimeMode_utility_namespaceObject, \"checkIsClientRender\", function() { return checkIsClientRender; });\n__webpack_require__.d(runtimeMode_utility_namespaceObject, \"checkIsServerRender\", function() { return checkIsServerRender; });\n\n// NAMESPACE OBJECT: ./src/utilities/cookie.utility.ts\nvar cookie_utility_namespaceObject = {};\n__webpack_require__.r(cookie_utility_namespaceObject);\n__webpack_require__.d(cookie_utility_namespaceObject, \"addCookie\", function() { return addCookie; });\n__webpack_require__.d(cookie_utility_namespaceObject, \"deleteCookie\", function() { return deleteCookie; });\n__webpack_require__.d(cookie_utility_namespaceObject, \"getCookie\", function() { return getCookie; });\n\n// NAMESPACE OBJECT: ./src/utilities/url.utility.ts\nvar url_utility_namespaceObject = {};\n__webpack_require__.r(url_utility_namespaceObject);\n__webpack_require__.d(url_utility_namespaceObject, \"getQueryString\", function() { return getQueryString; });\n__webpack_require__.d(url_utility_namespaceObject, \"appendParameter\", function() { return appendParameter; });\n__webpack_require__.d(url_utility_namespaceObject, \"removeQueryStringParam\", function() { return removeQueryStringParam; });\n\n// NAMESPACE OBJECT: ./src/utilities/currency.utility.ts\nvar currency_utility_namespaceObject = {};\n__webpack_require__.r(currency_utility_namespaceObject);\n__webpack_require__.d(currency_utility_namespaceObject, \"currencyFormat\", function() { return currency_utility_currencyFormat; });\n\n// NAMESPACE OBJECT: ./src/providers/http.provider.ts\nvar http_provider_namespaceObject = {};\n__webpack_require__.r(http_provider_namespaceObject);\n__webpack_require__.d(http_provider_namespaceObject, \"fetchApi\", function() { return fetchApi; });\n\n// EXTERNAL MODULE: external {\"root\":\"React\",\"amd\":\"react\",\"commonjs\":\"react\",\"commonjs2\":\"react\",\"umd\":\"react\"}\nvar external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_ = __webpack_require__(0);\nvar external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_);\n\n// EXTERNAL MODULE: external {\"root\":\"ReactReduxI18n\",\"amd\":\"react-redux-i18n\",\"commonjs\":\"react-redux-i18n\",\"commonjs2\":\"react-redux-i18n\",\"umd\":\"react-redux-i18n\"}\nvar external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_ = __webpack_require__(3);\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__(4);\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// CONCATENATED MODULE: ./src/utilities/dateFormat.utility.ts\n/**\n * 轉換.net date格式\n */\nconst dotNetDateParser = date => {\n  var minDate = '/Date(-62135596800000)/';\n\n  if (date === minDate) {\n    return null;\n  }\n\n  var newDate = new Date(parseInt(date.replace(\"/Date(\", \"\").replace(\")/\", \"\"), 10));\n  return newDate;\n};\n// CONCATENATED MODULE: ./src/constants/device.constants.ts\nconst BROWSING_MODE = {\n  DESKTOP: 'desktop',\n  MOBILE: 'mobile'\n};\n// CONCATENATED MODULE: ./src/utilities/device.utility.ts\n\n\n/**\n * 取得瀏覽模式\n */\n\nconst getBrowsingMode = () => {\n  if (!runtimeMode_utility_namespaceObject.checkIsClientRender()) {\n    return BROWSING_MODE.DESKTOP;\n  } // 若server有指定顯示的瀏覽模式為desktop(用於手機上點擊「使用電腦版瀏覽」的情境)\n\n\n  if ((document.cookie.match('(^|; )' + \"BrowsingMode\" + '=([^;]*)') || 0)[2] === \"DeskTop\") {\n    return BROWSING_MODE.DESKTOP;\n  } else {\n    if (/android|webOS|iPhone|iPod|iOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || /(tablet|ipad|playbook|silk)|(android(?!.*mobile))/i.test(navigator.userAgent)) {\n      return BROWSING_MODE.MOBILE;\n    } else {\n      return BROWSING_MODE.DESKTOP;\n    }\n  }\n};\n/**\n * 是否為手機模式\n */\n\nconst isMobile = () => getBrowsingMode() === BROWSING_MODE.MOBILE;\n// CONCATENATED MODULE: ./src/utilities/userAgent.utility.ts\nvar Browser;\n\n(function (Browser) {\n  Browser[\"Firefox\"] = \"Firefox\";\n  Browser[\"Chrome\"] = \"Chrome\";\n  Browser[\"Safari\"] = \"Safari\";\n  Browser[\"Trident\"] = \"Trident\";\n  Browser[\"MSIE\"] = \"MSIE\";\n})(Browser || (Browser = {}));\n\nvar DeviceOS;\n\n(function (DeviceOS) {\n  DeviceOS[\"Android\"] = \"Android\";\n  DeviceOS[\"iOS\"] = \"iOS\";\n  DeviceOS[\"Bot\"] = \"Bot\";\n  DeviceOS[\"UnKnown\"] = \"UnKnown\";\n})(DeviceOS || (DeviceOS = {}));\n\nconst checkIsFirefox = userAgent => userAgent.indexOf(Browser.Firefox) !== -1;\nconst checkIsChrome = userAgent => userAgent.indexOf(Browser.Chrome) !== -1;\nconst checkIsSafari = userAgent => userAgent.indexOf(Browser.Chrome) === -1 && userAgent.indexOf(Browser.Safari) !== -1;\nconst checkIsIE = userAgent => userAgent.indexOf(Browser.Trident) > 0 || userAgent.indexOf(Browser.MSIE) > 0;\nconst getDeviceOS = userAgent => {\n  if (/android/i.test(userAgent)) {\n    return DeviceOS.Android;\n  }\n\n  if (/(iPhone|iPad|iPod|iOS)/i.test(userAgent)) {\n    return DeviceOS.iOS;\n  }\n\n  if (/bot|spider|crawl/i.test(userAgent)) {\n    return DeviceOS.Bot;\n  }\n\n  return DeviceOS.UnKnown;\n};\nconst checkIsBot = () => typeof window !== 'undefined' && window.navigator && /bot|spider|crawl/i.test(navigator.userAgent);\n// CONCATENATED MODULE: ./src/utilities/runtimeMode.utility.ts\nconst checkIsClientRender = () => typeof window !== 'undefined';\nconst checkIsServerRender = () => typeof window === 'undefined';\n// CONCATENATED MODULE: ./src/utilities/cookie.utility.ts\nconst addCookie = (name, value, days) => {\n  let expires = '';\n\n  if (days) {\n    const date = new Date();\n    date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n    expires = `; expires=${date.toUTCString()}`;\n  }\n\n  document.cookie = `${name}=${value}${expires}; path=/`;\n};\nconst deleteCookie = name => {\n  const today = new Date();\n  document.cookie = `${name}=;expires=${today.toUTCString()};path=/`;\n};\nconst getCookie = name => {\n  const arr = document.cookie.match(new RegExp(`(^| )${name}=([^;]*)(;|$)`));\n\n  if (arr) {\n    return arr[2];\n  }\n\n  return '';\n};\n// CONCATENATED MODULE: ./src/utilities/url.utility.ts\nconst getQueryString = (name, url) => {\n  try {\n    const match = RegExp(`[?&]${name}=([^&]*)`).exec(url || document.location.search);\n    return match && decodeURIComponent(decodeURIComponent(match[1].replace(/\\+/g, ' ')));\n  } catch (e) {\n    return null;\n  }\n}; // Source code from\n// http://stackoverflow.com/questions/6953944/how-to-add-parameters-to-a-url-that-already-contains-other-parameters-and-maybe\n\nconst appendParameter = (url, key, value, atStart = false) => {\n  const replaceDuplicates = true; // Get url without hash\n\n  let urlhash = '';\n  let urlLength = url.length;\n\n  if (url.indexOf('#') > 0) {\n    urlLength = url.indexOf('#');\n    urlhash = url.substring(url.indexOf('#'), url.length);\n  }\n\n  const sourceUrl = url.substring(0, urlLength); // Get url search part\n\n  const urlParts = sourceUrl.split('?');\n  let newQueryString = ''; // Get new parameter query string\n\n  if (urlParts.length > 1) {\n    const parameters = urlParts[1].split('&');\n\n    for (let i = 0; i < parameters.length; i++) {\n      const parameterParts = parameters[i].split('=');\n\n      if (!(replaceDuplicates && parameterParts[0] === key)) {\n        if (newQueryString === '') {\n          newQueryString = '?';\n        } else {\n          newQueryString += '&';\n        }\n\n        newQueryString += `${parameterParts[0]}=${parameterParts[1] ? parameterParts[1] : ''}`;\n      }\n    }\n  }\n\n  if (newQueryString === '') {\n    newQueryString = '?';\n  } // Append to url\n\n\n  if (atStart) {\n    newQueryString = `?${key}=${value + (newQueryString.length > 1 ? `&${newQueryString.substring(1)}` : '')}`;\n  } else {\n    if (newQueryString !== '' && newQueryString !== '?') {\n      newQueryString += '&';\n    }\n\n    newQueryString += `${key}=${value || ''}`;\n  }\n\n  return urlParts[0] + newQueryString + urlhash;\n};\nconst removeQueryStringParam = (key, sourceURL) => {\n  let alteredURL = sourceURL.split('?')[0];\n  let param;\n  let paramsArr = [];\n  const queryString = sourceURL.indexOf('?') !== -1 ? sourceURL.split('?')[1] : '';\n\n  if (queryString !== '') {\n    paramsArr = queryString.split('&');\n\n    for (let i = paramsArr.length - 1; i >= 0; i -= 1) {\n      param = paramsArr[i].split('=')[0];\n\n      if (param === key) {\n        paramsArr.splice(i, 1);\n      }\n    }\n\n    alteredURL = `${alteredURL}?${paramsArr.join('&')}`;\n  }\n\n  return alteredURL;\n};\n// CONCATENATED MODULE: ./src/utilities/currency.utility.ts\n/**\n * 顯示組好的幣別字串\n * 國別 TW: currencyFormat(1000, 0) --\x3e NT$ 1,000\n * 國別 MY: currencyFormat(1000, 2) --\x3e RM 1,000.00\n */\nconst currency_utility_currencyFormat = (value, decimal) => {\n  const {\n    MWeb\n  } = window['nineyi'] || {};\n  const currency = MWeb && MWeb.DefaultCurrency || 'NT$';\n  const displayValue = decimal > 0 ? value.toFixed(decimal).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,') : new Intl.NumberFormat().format(value);\n  return `${currency} ${displayValue}`;\n};\n// CONCATENATED MODULE: ./src/utilities/index.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// EXTERNAL MODULE: ./src/components/modal/modal.scss\nvar modal = __webpack_require__(10);\n\n// CONCATENATED MODULE: ./src/components/modal/index.tsx\n\n\n\n\n;\n/**\n * 當開啟PopUp鎖住底部scroll處理\n */\n\nconst modal_freezeBody = isFixed => {\n  if (runtimeMode_utility_namespaceObject.checkIsClientRender()) {\n    if (isFixed) {\n      window.document.body.classList.add('freeze');\n    } else {\n      window.document.body.classList.remove('freeze');\n    }\n  }\n};\n/**\n * 彈窗元件 Popup\n * @param props \n */\n\n\nconst modal_Modal = props => {\n  const {\n    isOpen,\n    isShowClose,\n    isMaskOpacity,\n    onCloseModal,\n    onConfirmModal,\n    customStyle,\n    customCssClass,\n    title,\n    children,\n    cancelText,\n    confirmText\n  } = props;\n  Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useEffect\"])(() => {\n    modal_freezeBody(isOpen);\n  }, [isOpen]);\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"div\", {\n    className: classnames_default()('modal', isOpen === true ? 'modal--open' : '')\n  }, isOpen && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"div\", {\n    className: classnames_default()('modal__backdrop', isMaskOpacity ? 'modal__backdrop--opacity' : ''),\n    onClick: onCloseModal\n  }), isOpen && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"div\", {\n    style: customStyle,\n    className: classnames_default()('modal--default', customCssClass || '')\n  }, isShowClose && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"div\", {\n    className: \"modal__header\"\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"a\", {\n    className: \"close\",\n    onClick: onCloseModal\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"i\", {\n    className: \"icon icon-slim-close\"\n  })), title && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"h2\", {\n    className: \"modal__title\"\n  }, title)), !children && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"div\", {\n    className: \"modal__loading black-spinner \"\n  }), children && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"div\", {\n    className: \"modal__body\"\n  }, children), cancelText || confirmText ? /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"div\", {\n    className: \"modal__footer\"\n  }, cancelText && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"button\", {\n    type: \"button\",\n    className: \"cancel-btn\",\n    onClick: onCloseModal\n  }, cancelText), confirmText && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"button\", {\n    type: \"button\",\n    className: \"confirm-btn\",\n    onClick: onConfirmModal\n  }, confirmText)) : null));\n};\n\nmodal_Modal.defaultProps = {\n  isOpen: false,\n  isShowClose: true,\n  isMaskOpacity: true,\n  title: '',\n  confirmText: '',\n  cancelText: ''\n};\n/* harmony default export */ var components_modal = (modal_Modal);\n// EXTERNAL MODULE: ./node_modules/underscore/underscore.js\nvar underscore = __webpack_require__(2);\nvar underscore_default = /*#__PURE__*/__webpack_require__.n(underscore);\n\n// CONCATENATED MODULE: ./src/utilities/globalParameter.utility.ts\n/**\n * 取得使用者目前選擇的語言\n */\nconst getCurrentLocale = () => {\n  const nineyi = window['nineyi'] || {};\n  const mwebCurrentLocale = nineyi.MWeb && nineyi.MWeb.CurrentLocale || '';\n  const currentLocale = mwebCurrentLocale ? mwebCurrentLocale : nineyi.dependencies && nineyi.dependencies.locale || '';\n  return currentLocale;\n};\n// CONCATENATED MODULE: ./src/utilities/path.utility.ts\n\n // 此檔案不對外輸出，僅限 spark-core內使用\n\n // 靜態圖檔路徑\n\nconst CONTENT_IMAGES = '/contents/images';\n/**\n * 設定API Host\n */\n\nconst getApiConfig = () => {\n  const nineyi = window['nineyi'] || {}; // 全站webapi cdn\n\n  const isEnableCdnApi = underscore[\"property\"]('dependencies.apiConfig.isEnableCdnApi'.split('.'))(nineyi);\n\n  const cdnApiHost = underscore[\"property\"]('dependencies.apiConfig.cdnApiHost'.split('.'))(nineyi);\n\n  return {\n    isEnableCdnApi: isEnableCdnApi || false,\n    lang: getCurrentLocale(),\n    apiHost: '',\n    cdnApiHost: cdnApiHost || '/',\n    cdnSourceHost: nineyi.MWeb && nineyi.MWeb.JavsScriptCDN || ''\n  };\n};\n/**\n * 組合MWeb Api Url 方法\n * @param apiPath\n */\n\n\nconst getMwebApiUrl = (apiPath, isSwitchCdn = false) => {\n  const apiConfig = getApiConfig();\n  let apiHost = apiConfig.isEnableCdnApi && isSwitchCdn ? apiConfig.cdnApiHost : apiConfig.apiHost;\n  let apiUrl = `${apiHost}/webapi/${apiPath}`; // 切換語系\n\n  if (apiConfig.lang !== '') {\n    apiUrl = appendParameter(apiUrl, 'lang', apiConfig.lang);\n  }\n\n  return apiUrl;\n};\n/**\n * 取得實體靜態資源路徑\n * @param path\n */\n\nconst getContentImagePath = path => {\n  const nineyi = window['nineyi'] || {};\n\n  if (!nineyi.MWeb) {\n    return CONTENT_IMAGES + path;\n  }\n\n  const cdnDomain = nineyi.MWeb.CssCDNDomain || '';\n  return `${cdnDomain}/V2/Scripts/dist${CONTENT_IMAGES}${path}`;\n};\n// EXTERNAL MODULE: ./src/components/loading/loading.scss\nvar loading = __webpack_require__(19);\n\n// CONCATENATED MODULE: ./src/components/loading/loading.tsx\n\n\n\n\n/**\n * Loading元件\n */\nconst Loading = props => {\n  const {\n    isLoading\n  } = props;\n  return isLoading && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n    className: \"loading\"\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n    className: \"loading__backdrop\"\n  }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n    className: \"loading__content\"\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"figure\", {\n    className: \"loading__image\"\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"img\", {\n    src: getContentImagePath('/ajax-loader.gif'),\n    width: \"20px\",\n    height: \"20px\"\n  })), \"loading\"));\n};\n\n/* harmony default export */ var loading_loading = (Loading);\n// CONCATENATED MODULE: ./src/constants/translation.constants.ts\nconst TRANSLATE_LOCALE_KEY = {\n  FRONTEND: {\n    LIB: {\n      QUANTITY: 'frontend.lib.add_to_cart.quantity',\n      LIMIT_MIN_VALUE_MSG: 'frontend.lib.add_to_cart.limit_min_value_msg',\n      LIMIT_MAX_VALUE_MSG: 'frontend.lib.add_to_cart.limit_max_value_msg',\n      ADD: 'frontend.lib.add_to_cart.add',\n      ADD_CART: 'frontend.lib.add_to_cart.add_cart',\n      CHECK_OUT: 'frontend.lib.add_to_cart.check_out',\n      NOT_YET_OPEN_SALE: 'frontend.lib.add_to_cart.not_yet_open_sale',\n      ONLY_ON_APP: 'frontend.lib.add_to_cart.only_on_app',\n      SHARE_AND_BUY: 'frontend.lib.add_to_cart.share_and_buy',\n      SOLD_OUT_AND_REPLENISHED: 'frontend.lib.add_to_cart.sold_out_and_replenished',\n      OUT_OF_STOCK: 'frontend.lib.add_to_cart.out_of_stock',\n      UPDATE: 'frontend.lib.add_to_cart.update',\n      SELECT_OPTION: 'frontend.lib.add_to_cart.select_option',\n      PLEASE_SELECT_PURCHASE_METHOD: 'frontend.lib.add_to_cart.please_select_purchase_method',\n      PURCHASE_METHOD_POINT: 'frontend.lib.add_to_cart.purchase_method_point',\n      CONFIRM: 'frontend.lib.add_to_cart.confirm',\n      TOAST: {\n        SUBMIT_SUCCESS: 'frontend.lib.toast.submit_success',\n        SUBMIT_ERROR: 'frontend.lib.toast.submit_error',\n        ADD_SUCCESS: 'frontend.lib.toast.add_success',\n        IS_CLOSED: 'frontend.lib.toast.is_closed',\n        LOGIN_SUCCESS: 'frontend.lib.toast.login_success',\n        LOGOUT_SUCCESS: 'frontend.lib.toast.logout_success',\n        NO_START: 'frontend.lib.toast.no_start',\n        NOT_FOUND: 'frontend.lib.toast.not_found',\n        REMOVE_SUCCESS: 'frontend.lib.toast.remove_success',\n        SOLD_OUT: 'frontend.lib.toast.sold_out',\n        UN_LISTING: 'frontend.lib.toast.un_listing'\n      }\n    }\n  }\n};\n// EXTERNAL MODULE: ./src/components/toast/toast.scss\nvar toast = __webpack_require__(20);\n\n// CONCATENATED MODULE: ./src/components/toast/toast.tsx\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n// 建立訊息清單\nconst messageList = [{\n  type: 'success',\n  status: 'AddSuccess',\n  message: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.ADD_SUCCESS\n}, {\n  type: 'success',\n  status: 'RemoveSuccess',\n  message: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.REMOVE_SUCCESS\n}, {\n  type: 'success',\n  status: 'SubmitSuccess',\n  message: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.SUBMIT_SUCCESS\n}, {\n  type: 'warning',\n  status: 'SoldOut',\n  message: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.SOLD_OUT\n}, {\n  type: 'warning',\n  status: 'NoStart',\n  message: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.NO_START\n}, {\n  type: 'warning',\n  status: 'NotFound',\n  message: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.NOT_FOUND\n}, {\n  type: 'warning',\n  status: 'IsClosed',\n  message: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.IS_CLOSED\n}, {\n  type: 'warning',\n  status: 'UnListing',\n  message: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.UN_LISTING\n}, {\n  type: 'warning',\n  status: 'SubmitError',\n  message: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.SUBMIT_ERROR\n}, {\n  type: 'warning',\n  status: 'Error',\n  message: 'server error'\n}];\n/**\n * 取得顯示訊息物件\n * @param status\n */\n\nconst getToastMessageItem = status => Object(underscore[\"find\"])(messageList, item => item.status === status);\n/**\n * Toast元件\n */\n\nclass toast_Toast extends external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"Component\"] {\n  // 成功樣式\n  // 警告樣式\n  constructor(props) {\n    super(props);\n\n    _defineProperty(this, \"successClass\", 'icon icon-check-selected toast__icon--success');\n\n    _defineProperty(this, \"warningClass\", 'icon-editor icon-editor-icon_common_alert_solid toast__icon--warning');\n\n    _defineProperty(this, \"changeIconHandle\", type => {\n      let className = '';\n\n      if (type === 'success') {\n        className = this.successClass;\n      } else if (type === 'warning') {\n        className = this.warningClass;\n      }\n\n      return className;\n    });\n\n    this.state = {\n      isOpen: this.props.isOpen,\n      animationDelay: '0s'\n    };\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (nextProps.isOpen && this.state.isOpen !== nextProps.isOpen) {\n      this.setState({\n        isOpen: true\n      }, () => {\n        const animationDelayTime = nextProps.delay > 1000 ? `${(nextProps.delay - 1000) / 1000}s` : '1s';\n        this.setState({\n          animationDelay: animationDelayTime\n        });\n        setTimeout(() => {\n          this.setState({\n            isOpen: false\n          });\n\n          if (this.props.afterClose) {\n            this.props.afterClose();\n          }\n        }, this.props.delay);\n      });\n    }\n  }\n  /**\n   * 切換顯示Icon處理\n   */\n\n\n  render() {\n    return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: classnames_default()('toast')\n    }, this.state.isOpen && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: classnames_default()('toast--backdrop', {\n        'toast--fade-out': this.props.isOpen\n      }),\n      style: {\n        animationDelay: this.state.animationDelay\n      }\n    }), this.state.isOpen && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: classnames_default()('toast--default', this.props.customCssClass || '', {\n        'toast--fade-out': this.props.isOpen\n      }),\n      style: {\n        animationDelay: this.state.animationDelay\n      }\n    }, this.props.message && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: \"toast--content\"\n    }, this.props.type && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"i\", {\n      className: classnames_default()('toast__icon', this.changeIconHandle(this.props.type))\n    }), this.props.message)));\n  }\n\n}\n\n_defineProperty(toast_Toast, \"defaultProps\", {\n  isOpen: false,\n  customCssClass: '',\n  afterClose: () => {},\n  type: '',\n  message: '',\n  delay: 2500\n});\n\n/* harmony default export */ var toast_toast = (toast_Toast);\n// EXTERNAL MODULE: ./node_modules/accounting/accounting.js\nvar accounting = __webpack_require__(12);\n\n// EXTERNAL MODULE: ./node_modules/styled-components/dist/styled-components.browser.esm.js\nvar styled_components_browser_esm = __webpack_require__(1);\n\n// CONCATENATED MODULE: ./src/components/currency/currency.tsx\n\n\n\n\nconst currency_Wrapper = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"currency__Wrapper\",\n  componentId: \"sc-1iznayr-0\"\n})([\"display:inline-block;text-decoration:\", \";color:\", \";\"], props => props.isThrough ? 'line-through' : 'none', props => props.disableTheme || underscore_default.a.isEmpty(props.theme) ? 'inherit' : props.theme.generalStyle.moneyColor);\n/**\n * 顯示幣別元件\n */\n\nconst Currency = ({\n  isThrough = false,\n  decimal = 0,\n  value = 0,\n  symbol = '$',\n  rate = 1,\n  disableTheme = false,\n  negativeSymbolPrefix = false\n}) => {\n  let currencyFormat = {\n    pos: '%s%v',\n    neg: negativeSymbolPrefix ? '-%s%v' : '%s-%v',\n    zero: '%s%v'\n  };\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](currency_Wrapper, {\n    isThrough: isThrough,\n    disableTheme: disableTheme\n  }, typeof value === 'number' && Object(accounting[\"formatMoney\"])(value * rate, {\n    symbol,\n    precision: decimal,\n    format: currencyFormat\n  }));\n};\n\n/* harmony default export */ var currency = (Currency);\n// CONCATENATED MODULE: ./src/styles/common/mixin/clearFix.ts\nconst clearFix = `\n  &:before, &:after {\n    content: \"\";\n    display: table;\n    clear: both;\n  }\n`;\n/* harmony default export */ var mixin_clearFix = (clearFix);\n// CONCATENATED MODULE: ./src/components/addToCart/product/themeColor.ts\n\nconst textColor = props => {\n  const {\n    theme\n  } = props;\n\n  if (!underscore[\"isEmpty\"](theme)) {\n    return theme.buttonStyle.primaryBtnTextColor;\n  } else {\n    return '#fff';\n  }\n};\nconst themeColor_backgroundColor = props => {\n  const {\n    theme\n  } = props;\n\n  if (!underscore[\"isEmpty\"](theme)) {\n    return theme.buttonStyle.primaryBtnBgColor;\n  } else {\n    return '#ff5353';\n  }\n\n  ;\n};\nconst borderColor = props => {\n  const {\n    theme\n  } = props;\n\n  if (!underscore[\"isEmpty\"](theme)) {\n    return theme.buttonStyle.primaryBtnBgColor;\n  } else {\n    return '#ff5353';\n  }\n\n  ;\n};\nconst moneyColor = props => {\n  const {\n    theme\n  } = props;\n\n  if (!underscore[\"isEmpty\"](theme)) {\n    return theme.generalStyle.moneyColor;\n  } else {\n    return '#ff5353';\n  }\n\n  ;\n};\n// CONCATENATED MODULE: ./src/components/addToCart/product/productPointPayPrice.tsx\n\n\n\n\n\n\nconst InfoPrice = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productPointPayPrice__InfoPrice\",\n  componentId: \"sc-1f3ckh8-0\"\n})([\"font-size:1em;line-height:1.5;color:\", \";\"], moneyColor);\nconst ProductPointPayPrice = props => {\n  const {\n    selectedPurchaseMethod,\n    decimal,\n    symbol,\n    rate\n  } = props;\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](InfoPrice, null, selectedPurchaseMethod.PairsPoints === 0 && selectedPurchaseMethod.PairsPrice > 0 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](currency, {\n    value: selectedPurchaseMethod.PairsPrice,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate,\n    disableTheme: true\n  }), selectedPurchaseMethod.PairsPrice === 0 && selectedPurchaseMethod.PairsPoints > 0 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n    value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.PURCHASE_METHOD_POINT,\n    point: selectedPurchaseMethod.PairsPoints\n  }), selectedPurchaseMethod.PairsPoints > 0 && selectedPurchaseMethod.PairsPrice > 0 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"span\", null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n    value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.PURCHASE_METHOD_POINT,\n    point: selectedPurchaseMethod.PairsPoints\n  }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"span\", null, \"\\uFF0B\"), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](currency, {\n    value: selectedPurchaseMethod.PairsPrice,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate,\n    disableTheme: true\n  })));\n};\n// CONCATENATED MODULE: ./src/components/addToCart/product/productMainInfo.tsx\n\n\n\n\n\n\n\n\n\n\n/**\n * 取得商品圖顯示\n * @param mainImageUrl\n * @param skuId\n */\nconst getMainImageSrc = (mainImageUrl, skuId) => {\n  const skuImageItem = underscore[\"find\"](mainImageUrl, img => {\n    return img.skuId && img.skuId === skuId;\n  });\n\n  return skuImageItem ? skuImageItem.imageSrc : mainImageUrl[0].imageSrc; // 若找不到對應的sku圖片，使用主圖第一張\n};\n/**\n * TODO: 目前設計有預選，所以不用加區間顯示\n * 是否顯示售價區間\n * @param suggestPriceData\n * @param priceData\n */\n\n\nconst isShowRangeSuggestPrice = (suggestPriceData, priceData) => {\n  return suggestPriceData.min > priceData.min || suggestPriceData.max > priceData.max;\n};\n/**\n * 是否顯示建議售價\n * @param suggestPrice\n * @param price\n */\n\n\nconst isShowSuggestPrice = (suggestPrice, price) => {\n  return suggestPrice > price;\n};\n\nconst ProductMainInfoContainer = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productMainInfo__ProductMainInfoContainer\",\n  componentId: \"sc-eudblh-0\"\n})([\"padding:\", \";margin:0;position:relative;\", \";\"], device_utility_namespaceObject.getBrowsingMode() === BROWSING_MODE.MOBILE ? '12px' : '0 20px 20px', mixin_clearFix);\nconst InfoLeft = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productMainInfo__InfoLeft\",\n  componentId: \"sc-eudblh-1\"\n})([\"float:left;\"]);\nconst InfoFigure = styled_components_browser_esm[\"c\" /* default */].figure.withConfig({\n  displayName: \"productMainInfo__InfoFigure\",\n  componentId: \"sc-eudblh-2\"\n})([\"width:120px;height:120px;text-align:center;\"]);\nconst InfoImage = styled_components_browser_esm[\"c\" /* default */].img.withConfig({\n  displayName: \"productMainInfo__InfoImage\",\n  componentId: \"sc-eudblh-3\"\n})([\"max-width:120px;max-height:120px;\"]);\nconst InfoRight = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productMainInfo__InfoRight\",\n  componentId: \"sc-eudblh-4\"\n})([\"box-sizing:border-box;float:right;height:120px;padding:0 16px;position:relative;text-align:left;width:calc(100% - 130px);\"]);\nconst InfoTitle = styled_components_browser_esm[\"c\" /* default */].h3.withConfig({\n  displayName: \"productMainInfo__InfoTitle\",\n  componentId: \"sc-eudblh-5\"\n})([\"-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#000000;display:-webkit-box;font-size:14px;font-weight:normal;height:34px;line-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;\"]);\nconst InfoPriceWrapper = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productMainInfo__InfoPriceWrapper\",\n  componentId: \"sc-eudblh-6\"\n})([\"position:absolute;bottom:0;\"]);\nconst InfoSuggestPrice = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productMainInfo__InfoSuggestPrice\",\n  componentId: \"sc-eudblh-7\"\n})([\"font-size:0.7em;line-height:1.5;color:#aaa;text-decoration:line-through;\"]);\nconst MaxSuggestPrice = styled_components_browser_esm[\"c\" /* default */].span.withConfig({\n  displayName: \"productMainInfo__MaxSuggestPrice\",\n  componentId: \"sc-eudblh-8\"\n})([\"color:\", \";\"], moneyColor);\nconst productMainInfo_InfoPrice = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productMainInfo__InfoPrice\",\n  componentId: \"sc-eudblh-9\"\n})([\"font-size:1em;line-height:1.5;color:\", \";\"], moneyColor);\n/**\n * 商品主要資訊（標題、售價、圖片等等）\n * @param props\n */\n\nconst ProductMainInfo = props => {\n  const {\n    salePageInfo,\n    skuInfoList,\n    skuId,\n    decimal,\n    symbol,\n    rate,\n    selectedPurchaseMethod\n  } = props;\n  const {\n    title,\n    mainImageUrl,\n    maxPrice,\n    maxSuggestPrice,\n    minPrice,\n    minSuggestPrice,\n    hasPointPayOption\n  } = salePageInfo; // 取得SKU不同價資料\n\n  const skuItem = underscore[\"find\"](skuInfoList, item => item.skuId == skuId); // 是否選取SKU\n\n\n  const isSelectSkuId = skuId > 0 ? true : false; // 是否顯示建議售價\n\n  const isShowSuggest = skuItem ? isShowSuggestPrice(skuItem.suggestPrice, skuItem.price) : false; // 是否顯示建議售價範圍\n\n  const isShowRangeSuggest = isShowRangeSuggestPrice({\n    min: minSuggestPrice,\n    max: maxSuggestPrice\n  }, {\n    min: minPrice,\n    max: maxPrice\n  });\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(ProductMainInfoContainer, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(InfoLeft, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(InfoFigure, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(InfoImage, {\n    src: getMainImageSrc(mainImageUrl, skuId)\n  }))), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(InfoRight, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(InfoTitle, null, title), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(InfoPriceWrapper, null, isSelectSkuId ? /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"div\", null, isShowSuggest && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(InfoSuggestPrice, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(currency, {\n    value: skuItem.suggestPrice,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate,\n    isThrough: true,\n    disableTheme: true\n  })), !hasPointPayOption && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(productMainInfo_InfoPrice, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(currency, {\n    value: skuItem.price,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate\n  })), hasPointPayOption && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(ProductPointPayPrice, {\n    selectedPurchaseMethod: selectedPurchaseMethod,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate\n  })) : /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"div\", null, isShowRangeSuggest && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(InfoSuggestPrice, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(currency, {\n    value: minSuggestPrice,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate,\n    isThrough: true,\n    disableTheme: true\n  }), maxSuggestPrice > minSuggestPrice && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"span\", null, \"~\", /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(currency, {\n    value: maxSuggestPrice,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate,\n    isThrough: true,\n    disableTheme: true\n  }))), !hasPointPayOption && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(productMainInfo_InfoPrice, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(currency, {\n    value: minPrice,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate\n  }), maxPrice > minPrice && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(MaxSuggestPrice, null, ' ', \"~\", ' ', /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(currency, {\n    value: maxPrice,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate\n  }))), hasPointPayOption && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(ProductPointPayPrice, {\n    selectedPurchaseMethod: selectedPurchaseMethod,\n    decimal: decimal,\n    symbol: symbol,\n    rate: rate\n  })))));\n};\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\nfunction _assertThisInitialized(self) {\n  if (self === void 0) {\n    throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n  }\n\n  return self;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js\nfunction _setPrototypeOf(o, p) {\n  _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n    o.__proto__ = p;\n    return o;\n  };\n\n  return _setPrototypeOf(o, p);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js\n\nfunction _inheritsLoose(subClass, superClass) {\n  subClass.prototype = Object.create(superClass.prototype);\n  subClass.prototype.constructor = subClass;\n  _setPrototypeOf(subClass, superClass);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js\nfunction _getPrototypeOf(o) {\n  _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n    return o.__proto__ || Object.getPrototypeOf(o);\n  };\n  return _getPrototypeOf(o);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/isNativeFunction.js\nfunction _isNativeFunction(fn) {\n  return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js\nfunction _isNativeReflectConstruct() {\n  if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n  if (Reflect.construct.sham) return false;\n  if (typeof Proxy === \"function\") return true;\n\n  try {\n    Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/construct.js\n\n\nfunction construct_construct(Parent, args, Class) {\n  if (_isNativeReflectConstruct()) {\n    construct_construct = Reflect.construct;\n  } else {\n    construct_construct = function _construct(Parent, args, Class) {\n      var a = [null];\n      a.push.apply(a, args);\n      var Constructor = Function.bind.apply(Parent, a);\n      var instance = new Constructor();\n      if (Class) _setPrototypeOf(instance, Class.prototype);\n      return instance;\n    };\n  }\n\n  return construct_construct.apply(null, arguments);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js\n\n\n\n\nfunction wrapNativeSuper_wrapNativeSuper(Class) {\n  var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n  wrapNativeSuper_wrapNativeSuper = function _wrapNativeSuper(Class) {\n    if (Class === null || !_isNativeFunction(Class)) return Class;\n\n    if (typeof Class !== \"function\") {\n      throw new TypeError(\"Super expression must either be null or a function\");\n    }\n\n    if (typeof _cache !== \"undefined\") {\n      if (_cache.has(Class)) return _cache.get(Class);\n\n      _cache.set(Class, Wrapper);\n    }\n\n    function Wrapper() {\n      return construct_construct(Class, arguments, _getPrototypeOf(this).constructor);\n    }\n\n    Wrapper.prototype = Object.create(Class.prototype, {\n      constructor: {\n        value: Wrapper,\n        enumerable: false,\n        writable: true,\n        configurable: true\n      }\n    });\n    return _setPrototypeOf(Wrapper, Class);\n  };\n\n  return wrapNativeSuper_wrapNativeSuper(Class);\n}\n// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js\nfunction _taggedTemplateLiteralLoose(strings, raw) {\n  if (!raw) {\n    raw = strings.slice(0);\n  }\n\n  strings.raw = raw;\n  return strings;\n}\n// CONCATENATED MODULE: ./node_modules/polished/dist/polished.esm.js\n\n\n\n\n\n\nfunction last() {\n  var _ref;\n\n  return _ref = arguments.length - 1, _ref < 0 || arguments.length <= _ref ? undefined : arguments[_ref];\n}\n\nfunction negation(a) {\n  return -a;\n}\n\nfunction addition(a, b) {\n  return a + b;\n}\n\nfunction subtraction(a, b) {\n  return a - b;\n}\n\nfunction multiplication(a, b) {\n  return a * b;\n}\n\nfunction division(a, b) {\n  return a / b;\n}\n\nfunction factorial(a) {\n  if (a % 1 || !(+a >= 0)) return NaN;\n  if (a > 170) return Infinity;else if (a === 0) return 1;else {\n    return a * factorial(a - 1);\n  }\n}\n\nfunction power(a, b) {\n  return Math.pow(a, b);\n}\n\nfunction sqrt(a) {\n  return Math.sqrt(a);\n}\n\nfunction max() {\n  return Math.max.apply(Math, arguments);\n}\n\nfunction min() {\n  return Math.min.apply(Math, arguments);\n}\n\nfunction comma() {\n  return Array.of.apply(Array, arguments);\n}\n\nvar defaultMathSymbols = {\n  symbols: {\n    '!': {\n      postfix: {\n        symbol: '!',\n        f: factorial,\n        notation: 'postfix',\n        precedence: 6,\n        rightToLeft: 0,\n        argCount: 1\n      },\n      symbol: '!',\n      regSymbol: '!'\n    },\n    '^': {\n      infix: {\n        symbol: '^',\n        f: power,\n        notation: 'infix',\n        precedence: 5,\n        rightToLeft: 1,\n        argCount: 2\n      },\n      symbol: '^',\n      regSymbol: '\\\\^'\n    },\n    '*': {\n      infix: {\n        symbol: '*',\n        f: multiplication,\n        notation: 'infix',\n        precedence: 4,\n        rightToLeft: 0,\n        argCount: 2\n      },\n      symbol: '*',\n      regSymbol: '\\\\*'\n    },\n    '/': {\n      infix: {\n        symbol: '/',\n        f: division,\n        notation: 'infix',\n        precedence: 4,\n        rightToLeft: 0,\n        argCount: 2\n      },\n      symbol: '/',\n      regSymbol: '/'\n    },\n    '+': {\n      infix: {\n        symbol: '+',\n        f: addition,\n        notation: 'infix',\n        precedence: 2,\n        rightToLeft: 0,\n        argCount: 2\n      },\n      prefix: {\n        symbol: '+',\n        f: last,\n        notation: 'prefix',\n        precedence: 3,\n        rightToLeft: 0,\n        argCount: 1\n      },\n      symbol: '+',\n      regSymbol: '\\\\+'\n    },\n    '-': {\n      infix: {\n        symbol: '-',\n        f: subtraction,\n        notation: 'infix',\n        precedence: 2,\n        rightToLeft: 0,\n        argCount: 2\n      },\n      prefix: {\n        symbol: '-',\n        f: negation,\n        notation: 'prefix',\n        precedence: 3,\n        rightToLeft: 0,\n        argCount: 1\n      },\n      symbol: '-',\n      regSymbol: '-'\n    },\n    ',': {\n      infix: {\n        symbol: ',',\n        f: comma,\n        notation: 'infix',\n        precedence: 1,\n        rightToLeft: 0,\n        argCount: 2\n      },\n      symbol: ',',\n      regSymbol: ','\n    },\n    '(': {\n      prefix: {\n        symbol: '(',\n        f: last,\n        notation: 'prefix',\n        precedence: 0,\n        rightToLeft: 0,\n        argCount: 1\n      },\n      symbol: '(',\n      regSymbol: '\\\\('\n    },\n    ')': {\n      postfix: {\n        symbol: ')',\n        f: undefined,\n        notation: 'postfix',\n        precedence: 0,\n        rightToLeft: 0,\n        argCount: 1\n      },\n      symbol: ')',\n      regSymbol: '\\\\)'\n    },\n    min: {\n      func: {\n        symbol: 'min',\n        f: min,\n        notation: 'func',\n        precedence: 0,\n        rightToLeft: 0,\n        argCount: 1\n      },\n      symbol: 'min',\n      regSymbol: 'min\\\\b'\n    },\n    max: {\n      func: {\n        symbol: 'max',\n        f: max,\n        notation: 'func',\n        precedence: 0,\n        rightToLeft: 0,\n        argCount: 1\n      },\n      symbol: 'max',\n      regSymbol: 'max\\\\b'\n    },\n    sqrt: {\n      func: {\n        symbol: 'sqrt',\n        f: sqrt,\n        notation: 'func',\n        precedence: 0,\n        rightToLeft: 0,\n        argCount: 1\n      },\n      symbol: 'sqrt',\n      regSymbol: 'sqrt\\\\b'\n    }\n  }\n};\n\n// based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\nvar ERRORS = {\n  \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n  \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n  \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n  \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n  \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n  \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n  \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n  \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n  \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n  \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n  \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n  \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n  \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n  \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n  \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n  \"16\": \"You must provide a template to this method.\\n\\n\",\n  \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n  \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n  \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n  \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n  \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n  \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n  \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n  \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n  \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n  \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n  \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n  \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n  \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n  \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n  \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n  \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n  \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n  \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n  \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n  \"36\": \"Property must be a string value.\\n\\n\",\n  \"37\": \"Syntax Error at %s.\\n\\n\",\n  \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n  \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n  \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n  \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n  \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n  \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n  \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n  \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n  \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n  \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n  \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n  \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n  \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n  \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n  \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n  \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n  \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n  \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n  \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n  \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n  \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n  \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n  \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n  \"61\": \"Property must be a string value.\\n\\n\",\n  \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n  \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n  \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n  \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n  \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n  \"67\": \"You must provide a template to this method.\\n\\n\",\n  \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n  \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n  \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n  \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n  \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n  \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n  \"74\": \"CSS variable not found.\\n\\n\",\n  \"75\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  var a = args[0];\n  var b = [];\n  var c;\n\n  for (c = 1; c < args.length; c += 1) {\n    b.push(args[c]);\n  }\n\n  b.forEach(function (d) {\n    a = a.replace(/%[a-z]/, d);\n  });\n  return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar polished_esm_PolishedError = /*#__PURE__*/function (_Error) {\n  _inheritsLoose(PolishedError, _Error);\n\n  function PolishedError(code) {\n    var _this;\n\n    if (true) {\n      _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n    } else { var _len2, args, _key2; }\n\n    return _assertThisInitialized(_this);\n  }\n\n  return PolishedError;\n}( /*#__PURE__*/wrapNativeSuper_wrapNativeSuper(Error));\n\nvar unitRegExp = /((?!\\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\\D|$)|ged|darg?|nrut)/g; // Merges additional math functionality into the defaults.\n\nfunction mergeSymbolMaps(additionalSymbols) {\n  var symbolMap = {};\n  symbolMap.symbols = additionalSymbols ? _extends({}, defaultMathSymbols.symbols, additionalSymbols.symbols) : _extends({}, defaultMathSymbols.symbols);\n  return symbolMap;\n}\n\nfunction exec(operators, values) {\n  var _ref;\n\n  var op = operators.pop();\n  values.push(op.f.apply(op, (_ref = []).concat.apply(_ref, values.splice(-op.argCount))));\n  return op.precedence;\n}\n\nfunction calculate(expression, additionalSymbols) {\n  var symbolMap = mergeSymbolMaps(additionalSymbols);\n  var match;\n  var operators = [symbolMap.symbols['('].prefix];\n  var values = [];\n  var pattern = new RegExp( // Pattern for numbers\n  \"\\\\d+(?:\\\\.\\\\d+)?|\" + // ...and patterns for individual operators/function names\n  Object.keys(symbolMap.symbols).map(function (key) {\n    return symbolMap.symbols[key];\n  }) // longer symbols should be listed first\n  // $FlowFixMe\n  .sort(function (a, b) {\n    return b.symbol.length - a.symbol.length;\n  }) // $FlowFixMe\n  .map(function (val) {\n    return val.regSymbol;\n  }).join('|') + \"|(\\\\S)\", 'g');\n  pattern.lastIndex = 0; // Reset regular expression object\n\n  var afterValue = false;\n\n  do {\n    match = pattern.exec(expression);\n\n    var _ref2 = match || [')', undefined],\n        token = _ref2[0],\n        bad = _ref2[1];\n\n    var notNumber = symbolMap.symbols[token];\n    var notNewValue = notNumber && !notNumber.prefix && !notNumber.func;\n    var notAfterValue = !notNumber || !notNumber.postfix && !notNumber.infix; // Check for syntax errors:\n\n    if (bad || (afterValue ? notAfterValue : notNewValue)) {\n      throw new polished_esm_PolishedError(37, match ? match.index : expression.length, expression);\n    }\n\n    if (afterValue) {\n      // We either have an infix or postfix operator (they should be mutually exclusive)\n      var curr = notNumber.postfix || notNumber.infix;\n\n      do {\n        var prev = operators[operators.length - 1];\n        if ((curr.precedence - prev.precedence || prev.rightToLeft) > 0) break; // Apply previous operator, since it has precedence over current one\n      } while (exec(operators, values)); // Exit loop after executing an opening parenthesis or function\n\n\n      afterValue = curr.notation === 'postfix';\n\n      if (curr.symbol !== ')') {\n        operators.push(curr); // Postfix always has precedence over any operator that follows after it\n\n        if (afterValue) exec(operators, values);\n      }\n    } else if (notNumber) {\n      // prefix operator or function\n      operators.push(notNumber.prefix || notNumber.func);\n\n      if (notNumber.func) {\n        // Require an opening parenthesis\n        match = pattern.exec(expression);\n\n        if (!match || match[0] !== '(') {\n          throw new polished_esm_PolishedError(38, match ? match.index : expression.length, expression);\n        }\n      }\n    } else {\n      // number\n      values.push(+token);\n      afterValue = true;\n    }\n  } while (match && operators.length);\n\n  if (operators.length) {\n    throw new polished_esm_PolishedError(39, match ? match.index : expression.length, expression);\n  } else if (match) {\n    throw new polished_esm_PolishedError(40, match ? match.index : expression.length, expression);\n  } else {\n    return values.pop();\n  }\n}\n\nfunction reverseString(str) {\n  return str.split('').reverse().join('');\n}\n/**\n * Helper for doing math with CSS Units. Accepts a formula as a string. All values in the formula must have the same unit (or be unitless). Supports complex formulas utliziing addition, subtraction, multiplication, division, square root, powers, factorial, min, max, as well as parentheses for order of operation.\n *\n *In cases where you need to do calculations with mixed units where one unit is a [relative length unit](https://developer.mozilla.org/en-US/docs/Web/CSS/length#Relative_length_units), you will want to use [CSS Calc](https://developer.mozilla.org/en-US/docs/Web/CSS/calc).\n *\n * *warning* While we've done everything possible to ensure math safely evalutes formulas expressed as strings, you should always use extreme caution when passing `math` user provided values.\n * @example\n * // Styles as object usage\n * const styles = {\n *   fontSize: math('12rem + 8rem'),\n *   fontSize: math('(12px + 2px) * 3'),\n *   fontSize: math('3px^2 + sqrt(4)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   fontSize: ${math('12rem + 8rem')};\n *   fontSize: ${math('(12px + 2px) * 3')};\n *   fontSize: ${math('3px^2 + sqrt(4)')};\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n *   fontSize: '20rem',\n *   fontSize: '42px',\n *   fontSize: '11px',\n * }\n */\n\n\nfunction math(formula, additionalSymbols) {\n  var reversedFormula = reverseString(formula);\n  var formulaMatch = reversedFormula.match(unitRegExp); // Check that all units are the same\n\n  if (formulaMatch && !formulaMatch.every(function (unit) {\n    return unit === formulaMatch[0];\n  })) {\n    throw new polished_esm_PolishedError(41);\n  }\n\n  var cleanFormula = reverseString(reversedFormula.replace(unitRegExp, ''));\n  return \"\" + calculate(cleanFormula, additionalSymbols) + (formulaMatch ? reverseString(formulaMatch[0]) : '');\n}\n\nvar cssVariableRegex = /--[\\S]*/g;\n/**\n * Fetches the value of a passed CSS Variable.\n *\n * Passthrough can be enabled (off by default) for when you are unsure of the input and want non-variable values to be returned instead of an error.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   'background': cssVar('--background-color'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${cssVar('--background-color')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   'background': 'red'\n * }\n */\n\nfunction cssVar(cssVariable, passThrough) {\n  if (!cssVariable || !cssVariable.match(cssVariableRegex)) {\n    if (passThrough) return cssVariable;\n    throw new polished_esm_PolishedError(73);\n  }\n\n  var variableValue;\n  /* eslint-disable */\n\n  /* istanbul ignore next */\n\n  if (typeof document !== 'undefined' && document.documentElement !== null) {\n    variableValue = getComputedStyle(document.documentElement).getPropertyValue(cssVariable);\n  }\n  /* eslint-enable */\n\n\n  if (variableValue) {\n    return variableValue.trim();\n  } else {\n    throw new polished_esm_PolishedError(74);\n  }\n}\n\n// @private\nfunction capitalizeString(string) {\n  return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar positionMap = ['Top', 'Right', 'Bottom', 'Left'];\n\nfunction generateProperty(property, position) {\n  if (!property) return position.toLowerCase();\n  var splitProperty = property.split('-');\n\n  if (splitProperty.length > 1) {\n    splitProperty.splice(1, 0, position);\n    return splitProperty.reduce(function (acc, val) {\n      return \"\" + acc + capitalizeString(val);\n    });\n  }\n\n  var joinedProperty = property.replace(/([a-z])([A-Z])/g, \"$1\" + position + \"$2\");\n  return property === joinedProperty ? \"\" + property + position : joinedProperty;\n}\n\nfunction generateStyles(property, valuesWithDefaults) {\n  var styles = {};\n\n  for (var i = 0; i < valuesWithDefaults.length; i += 1) {\n    if (valuesWithDefaults[i] || valuesWithDefaults[i] === 0) {\n      styles[generateProperty(property, positionMap[i])] = valuesWithDefaults[i];\n    }\n  }\n\n  return styles;\n}\n/**\n * Enables shorthand for direction-based properties. It accepts a property (hyphenated or camelCased) and up to four values that map to top, right, bottom, and left, respectively. You can optionally pass an empty string to get only the directional values as properties. You can also optionally pass a null argument for a directional value to ignore it.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...directionalProperty('padding', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${directionalProperty('padding', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'paddingTop': '12px',\n *   'paddingRight': '24px',\n *   'paddingBottom': '36px',\n *   'paddingLeft': '48px'\n * }\n */\n\n\nfunction directionalProperty(property) {\n  for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    values[_key - 1] = arguments[_key];\n  }\n\n  //  prettier-ignore\n  var firstValue = values[0],\n      _values$ = values[1],\n      secondValue = _values$ === void 0 ? firstValue : _values$,\n      _values$2 = values[2],\n      thirdValue = _values$2 === void 0 ? firstValue : _values$2,\n      _values$3 = values[3],\n      fourthValue = _values$3 === void 0 ? secondValue : _values$3;\n  var valuesWithDefaults = [firstValue, secondValue, thirdValue, fourthValue];\n  return generateStyles(property, valuesWithDefaults);\n}\n\n/**\n * Check if a string ends with something\n * @private\n */\nfunction endsWith(string, suffix) {\n  return string.substr(-suffix.length) === suffix;\n}\n\nvar cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value minus its unit of measure.\n *\n * @deprecated - stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   '--dimension': stripUnit('100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   --dimension: ${stripUnit('100px')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   '--dimension': 100\n * }\n */\n\nfunction stripUnit(value, unitReturn) {\n  if (typeof value !== 'string') return unitReturn ? [value, undefined] : value;\n  var matchedValue = value.match(cssRegex);\n\n  if (unitReturn) {\n    // eslint-disable-next-line no-console\n    console.warn(\"stripUnit's unitReturn functionality has been marked for deprecation in polished 4.0. It's functionality has been been moved to getValueAndUnit.\");\n    if (matchedValue) return [parseFloat(value), matchedValue[2]];\n    return [value, undefined];\n  }\n\n  if (matchedValue) return parseFloat(value);\n  return value;\n}\n\n/**\n * Factory function that creates pixel-to-x converters\n * @private\n */\n\nvar pxtoFactory = function pxtoFactory(to) {\n  return function (pxval, base) {\n    if (base === void 0) {\n      base = '16px';\n    }\n\n    var newPxval = pxval;\n    var newBase = base;\n\n    if (typeof pxval === 'string') {\n      if (!endsWith(pxval, 'px')) {\n        throw new polished_esm_PolishedError(69, to, pxval);\n      }\n\n      newPxval = stripUnit(pxval);\n    }\n\n    if (typeof base === 'string') {\n      if (!endsWith(base, 'px')) {\n        throw new polished_esm_PolishedError(70, to, base);\n      }\n\n      newBase = stripUnit(base);\n    }\n\n    if (typeof newPxval === 'string') {\n      throw new polished_esm_PolishedError(71, pxval, to);\n    }\n\n    if (typeof newBase === 'string') {\n      throw new polished_esm_PolishedError(72, base, to);\n    }\n\n    return \"\" + newPxval / newBase + to;\n  };\n};\n\n/**\n * Convert pixel value to ems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n *   'height': em('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   height: ${em('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   'height': '1em'\n * }\n */\n\nvar em = /*#__PURE__*/pxtoFactory('em');\n\nvar cssRegex$1 = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/;\n/**\n * Returns a given CSS value and its unit as elements of an array.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   '--dimension': getValueAndUnit('100px')[0],\n *   '--unit': getValueAndUnit('100px')[1],\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   --dimension: ${getValueAndUnit('100px')[0]};\n *   --unit: ${getValueAndUnit('100px')[1]};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   '--dimension': 100,\n *   '--unit': 'px',\n * }\n */\n\nfunction getValueAndUnit(value) {\n  if (typeof value !== 'string') return [value, ''];\n  var matchedValue = value.match(cssRegex$1);\n  if (matchedValue) return [parseFloat(value), matchedValue[2]];\n  return [value, undefined];\n}\n\nvar ratioNames = {\n  minorSecond: 1.067,\n  majorSecond: 1.125,\n  minorThird: 1.2,\n  majorThird: 1.25,\n  perfectFourth: 1.333,\n  augFourth: 1.414,\n  perfectFifth: 1.5,\n  minorSixth: 1.6,\n  goldenSection: 1.618,\n  majorSixth: 1.667,\n  minorSeventh: 1.778,\n  majorSeventh: 1.875,\n  octave: 2,\n  majorTenth: 2.5,\n  majorEleventh: 2.667,\n  majorTwelfth: 3,\n  doubleOctave: 4\n};\n\nfunction getRatio(ratioName) {\n  return ratioNames[ratioName];\n}\n/**\n * Establish consistent measurements and spacial relationships throughout your projects by incrementing an em or rem value up or down a defined scale. We provide a list of commonly used scales as pre-defined variables.\n * @example\n * // Styles as object usage\n * const styles = {\n *    // Increment two steps up the default scale\n *   'fontSize': modularScale(2)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *    // Increment two steps up the default scale\n *   fontSize: ${modularScale(2)}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   'fontSize': '1.77689em'\n * }\n */\n\n\nfunction modularScale(steps, base, ratio) {\n  if (base === void 0) {\n    base = '1em';\n  }\n\n  if (ratio === void 0) {\n    ratio = 1.333;\n  }\n\n  if (typeof steps !== 'number') {\n    throw new polished_esm_PolishedError(42);\n  }\n\n  if (typeof ratio === 'string' && !ratioNames[ratio]) {\n    throw new polished_esm_PolishedError(43);\n  }\n\n  var _ref = typeof base === 'string' ? getValueAndUnit(base) : [base, ''],\n      realBase = _ref[0],\n      unit = _ref[1];\n\n  var realRatio = typeof ratio === 'string' ? getRatio(ratio) : ratio;\n\n  if (typeof realBase === 'string') {\n    throw new polished_esm_PolishedError(44, base);\n  }\n\n  return \"\" + realBase * Math.pow(realRatio, steps) + (unit || '');\n}\n\n/**\n * Convert pixel value to rems. The default base value is 16px, but can be changed by passing a\n * second argument to the function.\n * @function\n * @param {string|number} pxval\n * @param {string|number} [base='16px']\n * @example\n * // Styles as object usage\n * const styles = {\n *   'height': rem('16px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   height: ${rem('16px')}\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   'height': '1rem'\n * }\n */\n\nvar rem = /*#__PURE__*/pxtoFactory('rem');\n\n/**\n * Returns a CSS calc formula for linear interpolation of a property between two values. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px').\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   fontSize: between('20px', '100px', '400px', '1000px'),\n *   fontSize: between('20px', '100px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   fontSize: ${between('20px', '100px', '400px', '1000px')};\n *   fontSize: ${between('20px', '100px')}\n * `\n *\n * // CSS as JS Output\n *\n * h1: {\n *   'fontSize': 'calc(-33.33333333333334px + 13.333333333333334vw)',\n *   'fontSize': 'calc(-9.090909090909093px + 9.090909090909092vw)'\n * }\n */\n\nfunction between(fromSize, toSize, minScreen, maxScreen) {\n  if (minScreen === void 0) {\n    minScreen = '320px';\n  }\n\n  if (maxScreen === void 0) {\n    maxScreen = '1200px';\n  }\n\n  var _getValueAndUnit = getValueAndUnit(fromSize),\n      unitlessFromSize = _getValueAndUnit[0],\n      fromSizeUnit = _getValueAndUnit[1];\n\n  var _getValueAndUnit2 = getValueAndUnit(toSize),\n      unitlessToSize = _getValueAndUnit2[0],\n      toSizeUnit = _getValueAndUnit2[1];\n\n  var _getValueAndUnit3 = getValueAndUnit(minScreen),\n      unitlessMinScreen = _getValueAndUnit3[0],\n      minScreenUnit = _getValueAndUnit3[1];\n\n  var _getValueAndUnit4 = getValueAndUnit(maxScreen),\n      unitlessMaxScreen = _getValueAndUnit4[0],\n      maxScreenUnit = _getValueAndUnit4[1];\n\n  if (typeof unitlessMinScreen !== 'number' || typeof unitlessMaxScreen !== 'number' || !minScreenUnit || !maxScreenUnit || minScreenUnit !== maxScreenUnit) {\n    throw new polished_esm_PolishedError(47);\n  }\n\n  if (typeof unitlessFromSize !== 'number' || typeof unitlessToSize !== 'number' || fromSizeUnit !== toSizeUnit) {\n    throw new polished_esm_PolishedError(48);\n  }\n\n  if (fromSizeUnit !== minScreenUnit || toSizeUnit !== maxScreenUnit) {\n    throw new polished_esm_PolishedError(75);\n  }\n\n  var slope = (unitlessFromSize - unitlessToSize) / (unitlessMinScreen - unitlessMaxScreen);\n  var base = unitlessToSize - slope * unitlessMaxScreen;\n  return \"calc(\" + base.toFixed(2) + (fromSizeUnit || '') + \" + \" + (100 * slope).toFixed(2) + \"vw)\";\n}\n\n/**\n * CSS to contain a float (credit to CSSMojo).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *    ...clearFix(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${clearFix()}\n * `\n *\n * // CSS as JS Output\n *\n * '&::after': {\n *   'clear': 'both',\n *   'content': '\"\"',\n *   'display': 'table'\n * }\n */\nfunction polished_esm_clearFix(parent) {\n  var _ref;\n\n  if (parent === void 0) {\n    parent = '&';\n  }\n\n  var pseudoSelector = parent + \"::after\";\n  return _ref = {}, _ref[pseudoSelector] = {\n    clear: 'both',\n    content: '\"\"',\n    display: 'table'\n  }, _ref;\n}\n\n/**\n * CSS to fully cover an area. Can optionally be passed an offset to act as a \"padding\".\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...cover()\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${cover()}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n *   'position': 'absolute',\n *   'top': '0',\n *   'right: '0',\n *   'bottom': '0',\n *   'left: '0'\n * }\n */\nfunction cover(offset) {\n  if (offset === void 0) {\n    offset = 0;\n  }\n\n  return {\n    position: 'absolute',\n    top: offset,\n    right: offset,\n    bottom: offset,\n    left: offset\n  };\n}\n\n/**\n * CSS to represent truncated text with an ellipsis.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...ellipsis('250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${ellipsis('250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n *   'display': 'inline-block',\n *   'maxWidth': '250px',\n *   'overflow': 'hidden',\n *   'textOverflow': 'ellipsis',\n *   'whiteSpace': 'nowrap',\n *   'wordWrap': 'normal'\n * }\n */\nfunction ellipsis(width) {\n  if (width === void 0) {\n    width = '100%';\n  }\n\n  return {\n    display: 'inline-block',\n    maxWidth: width,\n    overflow: 'hidden',\n    textOverflow: 'ellipsis',\n    whiteSpace: 'nowrap',\n    wordWrap: 'normal'\n  };\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * Returns a set of media queries that resizes a property (or set of properties) between a provided fromSize and toSize. Accepts optional minScreen (defaults to '320px') and maxScreen (defaults to '1200px') to constrain the interpolation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...fluidRange(\n *    {\n *        prop: 'padding',\n *        fromSize: '20px',\n *        toSize: '100px',\n *      },\n *      '400px',\n *      '1000px',\n *    )\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${fluidRange(\n *      {\n *        prop: 'padding',\n *        fromSize: '20px',\n *        toSize: '100px',\n *      },\n *      '400px',\n *      '1000px',\n *    )}\n * `\n *\n * // CSS as JS Output\n *\n * div: {\n *   \"@media (min-width: 1000px)\": Object {\n *     \"padding\": \"100px\",\n *   },\n *   \"@media (min-width: 400px)\": Object {\n *     \"padding\": \"calc(-33.33333333333334px + 13.333333333333334vw)\",\n *   },\n *   \"padding\": \"20px\",\n * }\n */\nfunction fluidRange(cssProp, minScreen, maxScreen) {\n  if (minScreen === void 0) {\n    minScreen = '320px';\n  }\n\n  if (maxScreen === void 0) {\n    maxScreen = '1200px';\n  }\n\n  if (!Array.isArray(cssProp) && typeof cssProp !== 'object' || cssProp === null) {\n    throw new polished_esm_PolishedError(49);\n  }\n\n  if (Array.isArray(cssProp)) {\n    var mediaQueries = {};\n    var fallbacks = {};\n\n    for (var _iterator = _createForOfIteratorHelperLoose(cssProp), _step; !(_step = _iterator()).done;) {\n      var _extends2, _extends3;\n\n      var obj = _step.value;\n\n      if (!obj.prop || !obj.fromSize || !obj.toSize) {\n        throw new polished_esm_PolishedError(50);\n      }\n\n      fallbacks[obj.prop] = obj.fromSize;\n      mediaQueries[\"@media (min-width: \" + minScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + minScreen + \")\"], (_extends2 = {}, _extends2[obj.prop] = between(obj.fromSize, obj.toSize, minScreen, maxScreen), _extends2));\n      mediaQueries[\"@media (min-width: \" + maxScreen + \")\"] = _extends({}, mediaQueries[\"@media (min-width: \" + maxScreen + \")\"], (_extends3 = {}, _extends3[obj.prop] = obj.toSize, _extends3));\n    }\n\n    return _extends({}, fallbacks, mediaQueries);\n  } else {\n    var _ref, _ref2, _ref3;\n\n    if (!cssProp.prop || !cssProp.fromSize || !cssProp.toSize) {\n      throw new polished_esm_PolishedError(51);\n    }\n\n    return _ref3 = {}, _ref3[cssProp.prop] = cssProp.fromSize, _ref3[\"@media (min-width: \" + minScreen + \")\"] = (_ref = {}, _ref[cssProp.prop] = between(cssProp.fromSize, cssProp.toSize, minScreen, maxScreen), _ref), _ref3[\"@media (min-width: \" + maxScreen + \")\"] = (_ref2 = {}, _ref2[cssProp.prop] = cssProp.toSize, _ref2), _ref3;\n  }\n}\n\nvar dataURIRegex = /^\\s*data:([a-z]+\\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\\-._~:@/?%\\s]*\\s*$/i;\nvar formatHintMap = {\n  woff: 'woff',\n  woff2: 'woff2',\n  ttf: 'truetype',\n  otf: 'opentype',\n  eot: 'embedded-opentype',\n  svg: 'svg',\n  svgz: 'svg'\n};\n\nfunction generateFormatHint(format, formatHint) {\n  if (!formatHint) return '';\n  return \" format(\\\"\" + formatHintMap[format] + \"\\\")\";\n}\n\nfunction isDataURI(fontFilePath) {\n  return !!fontFilePath.replace(/\\s+/g, ' ').match(dataURIRegex);\n}\n\nfunction generateFileReferences(fontFilePath, fileFormats, formatHint) {\n  if (isDataURI(fontFilePath)) {\n    return \"url(\\\"\" + fontFilePath + \"\\\")\" + generateFormatHint(fileFormats[0], formatHint);\n  }\n\n  var fileFontReferences = fileFormats.map(function (format) {\n    return \"url(\\\"\" + fontFilePath + \".\" + format + \"\\\")\" + generateFormatHint(format, formatHint);\n  });\n  return fileFontReferences.join(', ');\n}\n\nfunction generateLocalReferences(localFonts) {\n  var localFontReferences = localFonts.map(function (font) {\n    return \"local(\\\"\" + font + \"\\\")\";\n  });\n  return localFontReferences.join(', ');\n}\n\nfunction generateSources(fontFilePath, localFonts, fileFormats, formatHint) {\n  var fontReferences = [];\n  if (localFonts) fontReferences.push(generateLocalReferences(localFonts));\n\n  if (fontFilePath) {\n    fontReferences.push(generateFileReferences(fontFilePath, fileFormats, formatHint));\n  }\n\n  return fontReferences.join(', ');\n}\n/**\n * CSS for a @font-face declaration.\n *\n * @example\n * // Styles as object basic usage\n * const styles = {\n *    ...fontFace({\n *      'fontFamily': 'Sans-Pro',\n *      'fontFilePath': 'path/to/file'\n *    })\n * }\n *\n * // styled-components basic usage\n * const GlobalStyle = createGlobalStyle`${\n *   fontFace({\n *     'fontFamily': 'Sans-Pro',\n *     'fontFilePath': 'path/to/file'\n *   }\n * )}`\n *\n * // CSS as JS Output\n *\n * '@font-face': {\n *   'fontFamily': 'Sans-Pro',\n *   'src': 'url(\"path/to/file.eot\"), url(\"path/to/file.woff2\"), url(\"path/to/file.woff\"), url(\"path/to/file.ttf\"), url(\"path/to/file.svg\")',\n * }\n */\n\n\nfunction fontFace(_ref) {\n  var fontFamily = _ref.fontFamily,\n      fontFilePath = _ref.fontFilePath,\n      fontStretch = _ref.fontStretch,\n      fontStyle = _ref.fontStyle,\n      fontVariant = _ref.fontVariant,\n      fontWeight = _ref.fontWeight,\n      _ref$fileFormats = _ref.fileFormats,\n      fileFormats = _ref$fileFormats === void 0 ? ['eot', 'woff2', 'woff', 'ttf', 'svg'] : _ref$fileFormats,\n      _ref$formatHint = _ref.formatHint,\n      formatHint = _ref$formatHint === void 0 ? false : _ref$formatHint,\n      localFonts = _ref.localFonts,\n      unicodeRange = _ref.unicodeRange,\n      fontDisplay = _ref.fontDisplay,\n      fontVariationSettings = _ref.fontVariationSettings,\n      fontFeatureSettings = _ref.fontFeatureSettings;\n  // Error Handling\n  if (!fontFamily) throw new polished_esm_PolishedError(55);\n\n  if (!fontFilePath && !localFonts) {\n    throw new polished_esm_PolishedError(52);\n  }\n\n  if (localFonts && !Array.isArray(localFonts)) {\n    throw new polished_esm_PolishedError(53);\n  }\n\n  if (!Array.isArray(fileFormats)) {\n    throw new polished_esm_PolishedError(54);\n  }\n\n  var fontFaceDeclaration = {\n    '@font-face': {\n      fontFamily: fontFamily,\n      src: generateSources(fontFilePath, localFonts, fileFormats, formatHint),\n      unicodeRange: unicodeRange,\n      fontStretch: fontStretch,\n      fontStyle: fontStyle,\n      fontVariant: fontVariant,\n      fontWeight: fontWeight,\n      fontDisplay: fontDisplay,\n      fontVariationSettings: fontVariationSettings,\n      fontFeatureSettings: fontFeatureSettings\n    }\n  }; // Removes undefined fields for cleaner css object.\n\n  return JSON.parse(JSON.stringify(fontFaceDeclaration));\n}\n\n/**\n * CSS to hide text to show a background image in a SEO-friendly way.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   'backgroundImage': 'url(logo.png)',\n *   ...hideText(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   backgroundImage: url(logo.png);\n *   ${hideText()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n *   'backgroundImage': 'url(logo.png)',\n *   'textIndent': '101%',\n *   'overflow': 'hidden',\n *   'whiteSpace': 'nowrap',\n * }\n */\nfunction hideText() {\n  return {\n    textIndent: '101%',\n    overflow: 'hidden',\n    whiteSpace: 'nowrap'\n  };\n}\n\n/**\n * CSS to hide content visually but remain accessible to screen readers.\n * from [HTML5 Boilerplate](https://github.com/h5bp/html5-boilerplate/blob/9a176f57af1cfe8ec70300da4621fb9b07e5fa31/src/css/main.css#L121)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...hideVisually(),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${hideVisually()};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n *   'border': '0',\n *   'clip': 'rect(0 0 0 0)',\n *   'height': '1px',\n *   'margin': '-1px',\n *   'overflow': 'hidden',\n *   'padding': '0',\n *   'position': 'absolute',\n *   'whiteSpace': 'nowrap',\n *   'width': '1px',\n * }\n */\nfunction hideVisually() {\n  return {\n    border: '0',\n    clip: 'rect(0 0 0 0)',\n    height: '1px',\n    margin: '-1px',\n    overflow: 'hidden',\n    padding: '0',\n    position: 'absolute',\n    whiteSpace: 'nowrap',\n    width: '1px'\n  };\n}\n\n/**\n * Generates a media query to target HiDPI devices.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *  [hiDPI(1.5)]: {\n *    width: 200px;\n *  }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${hiDPI(1.5)} {\n *     width: 200px;\n *   }\n * `\n *\n * // CSS as JS Output\n *\n * '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),\n *  only screen and (min--moz-device-pixel-ratio: 1.5),\n *  only screen and (-o-min-device-pixel-ratio: 1.5/1),\n *  only screen and (min-resolution: 144dpi),\n *  only screen and (min-resolution: 1.5dppx)': {\n *   'width': '200px',\n * }\n */\nfunction hiDPI(ratio) {\n  if (ratio === void 0) {\n    ratio = 1.3;\n  }\n\n  return \"\\n    @media only screen and (-webkit-min-device-pixel-ratio: \" + ratio + \"),\\n    only screen and (min--moz-device-pixel-ratio: \" + ratio + \"),\\n    only screen and (-o-min-device-pixel-ratio: \" + ratio + \"/1),\\n    only screen and (min-resolution: \" + Math.round(ratio * 96) + \"dpi),\\n    only screen and (min-resolution: \" + ratio + \"dppx)\\n  \";\n}\n\nfunction constructGradientValue(literals) {\n  var template = '';\n\n  for (var _len = arguments.length, substitutions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    substitutions[_key - 1] = arguments[_key];\n  }\n\n  for (var i = 0; i < literals.length; i += 1) {\n    template += literals[i];\n\n    if (i === substitutions.length - 1 && substitutions[i]) {\n      var definedValues = substitutions.filter(function (substitute) {\n        return !!substitute;\n      }); // Adds leading coma if properties preceed color-stops\n\n      if (definedValues.length > 1) {\n        template = template.slice(0, -1);\n        template += \", \" + substitutions[i]; // No trailing space if color-stops is the only param provided\n      } else if (definedValues.length === 1) {\n        template += \"\" + substitutions[i];\n      }\n    } else if (substitutions[i]) {\n      template += substitutions[i] + \" \";\n    }\n  }\n\n  return template.trim();\n}\n\nvar _templateObject;\n\n/**\n * CSS for declaring a linear gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...linearGradient({\n        colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n        toDirection: 'to top right',\n        fallback: '#FFF',\n      })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${linearGradient({\n        colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n        toDirection: 'to top right',\n        fallback: '#FFF',\n      })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n *   'backgroundColor': '#FFF',\n *   'backgroundImage': 'linear-gradient(to top right, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction linearGradient(_ref) {\n  var colorStops = _ref.colorStops,\n      fallback = _ref.fallback,\n      _ref$toDirection = _ref.toDirection,\n      toDirection = _ref$toDirection === void 0 ? '' : _ref$toDirection;\n\n  if (!colorStops || colorStops.length < 2) {\n    throw new polished_esm_PolishedError(56);\n  }\n\n  return {\n    backgroundColor: fallback || colorStops[0].replace(/,\\s+/g, ',').split(' ')[0].replace(/,(?=\\S)/g, ', '),\n    backgroundImage: constructGradientValue(_templateObject || (_templateObject = _taggedTemplateLiteralLoose([\"linear-gradient(\", \"\", \")\"])), toDirection, colorStops.join(', ').replace(/,(?=\\S)/g, ', '))\n  };\n}\n\n/**\n * CSS to normalize abnormalities across browsers (normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css)\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *    ...normalize(),\n * }\n *\n * // styled-components usage\n * const GlobalStyle = createGlobalStyle`${normalize()}`\n *\n * // CSS as JS Output\n *\n * html {\n *   lineHeight: 1.15,\n *   textSizeAdjust: 100%,\n * } ...\n */\nfunction normalize() {\n  var _ref;\n\n  return [(_ref = {\n    html: {\n      lineHeight: '1.15',\n      textSizeAdjust: '100%'\n    },\n    body: {\n      margin: '0'\n    },\n    main: {\n      display: 'block'\n    },\n    h1: {\n      fontSize: '2em',\n      margin: '0.67em 0'\n    },\n    hr: {\n      boxSizing: 'content-box',\n      height: '0',\n      overflow: 'visible'\n    },\n    pre: {\n      fontFamily: 'monospace, monospace',\n      fontSize: '1em'\n    },\n    a: {\n      backgroundColor: 'transparent'\n    },\n    'abbr[title]': {\n      borderBottom: 'none',\n      textDecoration: 'underline'\n    }\n  }, _ref[\"b,\\n    strong\"] = {\n    fontWeight: 'bolder'\n  }, _ref[\"code,\\n    kbd,\\n    samp\"] = {\n    fontFamily: 'monospace, monospace',\n    fontSize: '1em'\n  }, _ref.small = {\n    fontSize: '80%'\n  }, _ref[\"sub,\\n    sup\"] = {\n    fontSize: '75%',\n    lineHeight: '0',\n    position: 'relative',\n    verticalAlign: 'baseline'\n  }, _ref.sub = {\n    bottom: '-0.25em'\n  }, _ref.sup = {\n    top: '-0.5em'\n  }, _ref.img = {\n    borderStyle: 'none'\n  }, _ref[\"button,\\n    input,\\n    optgroup,\\n    select,\\n    textarea\"] = {\n    fontFamily: 'inherit',\n    fontSize: '100%',\n    lineHeight: '1.15',\n    margin: '0'\n  }, _ref[\"button,\\n    input\"] = {\n    overflow: 'visible'\n  }, _ref[\"button,\\n    select\"] = {\n    textTransform: 'none'\n  }, _ref[\"button,\\n    html [type=\\\"button\\\"],\\n    [type=\\\"reset\\\"],\\n    [type=\\\"submit\\\"]\"] = {\n    WebkitAppearance: 'button'\n  }, _ref[\"button::-moz-focus-inner,\\n    [type=\\\"button\\\"]::-moz-focus-inner,\\n    [type=\\\"reset\\\"]::-moz-focus-inner,\\n    [type=\\\"submit\\\"]::-moz-focus-inner\"] = {\n    borderStyle: 'none',\n    padding: '0'\n  }, _ref[\"button:-moz-focusring,\\n    [type=\\\"button\\\"]:-moz-focusring,\\n    [type=\\\"reset\\\"]:-moz-focusring,\\n    [type=\\\"submit\\\"]:-moz-focusring\"] = {\n    outline: '1px dotted ButtonText'\n  }, _ref.fieldset = {\n    padding: '0.35em 0.625em 0.75em'\n  }, _ref.legend = {\n    boxSizing: 'border-box',\n    color: 'inherit',\n    display: 'table',\n    maxWidth: '100%',\n    padding: '0',\n    whiteSpace: 'normal'\n  }, _ref.progress = {\n    verticalAlign: 'baseline'\n  }, _ref.textarea = {\n    overflow: 'auto'\n  }, _ref[\"[type=\\\"checkbox\\\"],\\n    [type=\\\"radio\\\"]\"] = {\n    boxSizing: 'border-box',\n    padding: '0'\n  }, _ref[\"[type=\\\"number\\\"]::-webkit-inner-spin-button,\\n    [type=\\\"number\\\"]::-webkit-outer-spin-button\"] = {\n    height: 'auto'\n  }, _ref['[type=\"search\"]'] = {\n    WebkitAppearance: 'textfield',\n    outlineOffset: '-2px'\n  }, _ref['[type=\"search\"]::-webkit-search-decoration'] = {\n    WebkitAppearance: 'none'\n  }, _ref['::-webkit-file-upload-button'] = {\n    WebkitAppearance: 'button',\n    font: 'inherit'\n  }, _ref.details = {\n    display: 'block'\n  }, _ref.summary = {\n    display: 'list-item'\n  }, _ref.template = {\n    display: 'none'\n  }, _ref['[hidden]'] = {\n    display: 'none'\n  }, _ref), {\n    'abbr[title]': {\n      textDecoration: 'underline dotted'\n    }\n  }];\n}\n\nvar _templateObject$1;\n\n/**\n * CSS for declaring a radial gradient, including a fallback background-color. The fallback is either the first color-stop or an explicitly passed fallback color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...radialGradient({\n *     colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n *     extent: 'farthest-corner at 45px 45px',\n *     position: 'center',\n *     shape: 'ellipse',\n *   })\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${radialGradient({\n *     colorStops: ['#00FFFF 0%', 'rgba(0, 0, 255, 0) 50%', '#0000FF 95%'],\n *     extent: 'farthest-corner at 45px 45px',\n *     position: 'center',\n *     shape: 'ellipse',\n *   })}\n *`\n *\n * // CSS as JS Output\n *\n * div: {\n *   'backgroundColor': '#00FFFF',\n *   'backgroundImage': 'radial-gradient(center ellipse farthest-corner at 45px 45px, #00FFFF 0%, rgba(0, 0, 255, 0) 50%, #0000FF 95%)',\n * }\n */\nfunction radialGradient(_ref) {\n  var colorStops = _ref.colorStops,\n      _ref$extent = _ref.extent,\n      extent = _ref$extent === void 0 ? '' : _ref$extent,\n      fallback = _ref.fallback,\n      _ref$position = _ref.position,\n      position = _ref$position === void 0 ? '' : _ref$position,\n      _ref$shape = _ref.shape,\n      shape = _ref$shape === void 0 ? '' : _ref$shape;\n\n  if (!colorStops || colorStops.length < 2) {\n    throw new polished_esm_PolishedError(57);\n  }\n\n  return {\n    backgroundColor: fallback || colorStops[0].split(' ')[0],\n    backgroundImage: constructGradientValue(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteralLoose([\"radial-gradient(\", \"\", \"\", \"\", \")\"])), position, shape, extent, colorStops.join(', '))\n  };\n}\n\n/**\n * A helper to generate a retina background image and non-retina\n * background image. The retina background image will output to a HiDPI media query. The mixin uses\n * a _2x.png filename suffix by default.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *  ...retinaImage('my-img')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${retinaImage('my-img')}\n * `\n *\n * // CSS as JS Output\n * div {\n *   backgroundImage: 'url(my-img.png)',\n *   '@media only screen and (-webkit-min-device-pixel-ratio: 1.3),\n *    only screen and (min--moz-device-pixel-ratio: 1.3),\n *    only screen and (-o-min-device-pixel-ratio: 1.3/1),\n *    only screen and (min-resolution: 144dpi),\n *    only screen and (min-resolution: 1.5dppx)': {\n *     backgroundImage: 'url(my-img_2x.png)',\n *   }\n * }\n */\nfunction retinaImage(filename, backgroundSize, extension, retinaFilename, retinaSuffix) {\n  var _ref;\n\n  if (extension === void 0) {\n    extension = 'png';\n  }\n\n  if (retinaSuffix === void 0) {\n    retinaSuffix = '_2x';\n  }\n\n  if (!filename) {\n    throw new polished_esm_PolishedError(58);\n  } // Replace the dot at the beginning of the passed extension if one exists\n\n\n  var ext = extension.replace(/^\\./, '');\n  var rFilename = retinaFilename ? retinaFilename + \".\" + ext : \"\" + filename + retinaSuffix + \".\" + ext;\n  return _ref = {\n    backgroundImage: \"url(\" + filename + \".\" + ext + \")\"\n  }, _ref[hiDPI()] = _extends({\n    backgroundImage: \"url(\" + rFilename + \")\"\n  }, backgroundSize ? {\n    backgroundSize: backgroundSize\n  } : {}), _ref;\n}\n\n/* eslint-disable key-spacing */\nvar functionsMap = {\n  easeInBack: 'cubic-bezier(0.600, -0.280, 0.735, 0.045)',\n  easeInCirc: 'cubic-bezier(0.600,  0.040, 0.980, 0.335)',\n  easeInCubic: 'cubic-bezier(0.550,  0.055, 0.675, 0.190)',\n  easeInExpo: 'cubic-bezier(0.950,  0.050, 0.795, 0.035)',\n  easeInQuad: 'cubic-bezier(0.550,  0.085, 0.680, 0.530)',\n  easeInQuart: 'cubic-bezier(0.895,  0.030, 0.685, 0.220)',\n  easeInQuint: 'cubic-bezier(0.755,  0.050, 0.855, 0.060)',\n  easeInSine: 'cubic-bezier(0.470,  0.000, 0.745, 0.715)',\n  easeOutBack: 'cubic-bezier(0.175,  0.885, 0.320, 1.275)',\n  easeOutCubic: 'cubic-bezier(0.215,  0.610, 0.355, 1.000)',\n  easeOutCirc: 'cubic-bezier(0.075,  0.820, 0.165, 1.000)',\n  easeOutExpo: 'cubic-bezier(0.190,  1.000, 0.220, 1.000)',\n  easeOutQuad: 'cubic-bezier(0.250,  0.460, 0.450, 0.940)',\n  easeOutQuart: 'cubic-bezier(0.165,  0.840, 0.440, 1.000)',\n  easeOutQuint: 'cubic-bezier(0.230,  1.000, 0.320, 1.000)',\n  easeOutSine: 'cubic-bezier(0.390,  0.575, 0.565, 1.000)',\n  easeInOutBack: 'cubic-bezier(0.680, -0.550, 0.265, 1.550)',\n  easeInOutCirc: 'cubic-bezier(0.785,  0.135, 0.150, 0.860)',\n  easeInOutCubic: 'cubic-bezier(0.645,  0.045, 0.355, 1.000)',\n  easeInOutExpo: 'cubic-bezier(1.000,  0.000, 0.000, 1.000)',\n  easeInOutQuad: 'cubic-bezier(0.455,  0.030, 0.515, 0.955)',\n  easeInOutQuart: 'cubic-bezier(0.770,  0.000, 0.175, 1.000)',\n  easeInOutQuint: 'cubic-bezier(0.860,  0.000, 0.070, 1.000)',\n  easeInOutSine: 'cubic-bezier(0.445,  0.050, 0.550, 0.950)'\n};\n/* eslint-enable key-spacing */\n\nfunction getTimingFunction(functionName) {\n  return functionsMap[functionName];\n}\n/**\n * String to represent common easing functions as demonstrated here: (github.com/jaukia/easie).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   'transitionTimingFunction': timingFunctions('easeInQuad')\n * }\n *\n * // styled-components usage\n *  const div = styled.div`\n *   transitionTimingFunction: ${timingFunctions('easeInQuad')};\n * `\n *\n * // CSS as JS Output\n *\n * 'div': {\n *   'transitionTimingFunction': 'cubic-bezier(0.550,  0.085, 0.680, 0.530)',\n * }\n */\n\n\nfunction timingFunctions(timingFunction) {\n  return getTimingFunction(timingFunction);\n}\n\nvar getBorderWidth = function getBorderWidth(pointingDirection, height, width) {\n  var fullWidth = \"\" + width[0] + (width[1] || '');\n  var halfWidth = \"\" + width[0] / 2 + (width[1] || '');\n  var fullHeight = \"\" + height[0] + (height[1] || '');\n  var halfHeight = \"\" + height[0] / 2 + (height[1] || '');\n\n  switch (pointingDirection) {\n    case 'top':\n      return \"0 \" + halfWidth + \" \" + fullHeight + \" \" + halfWidth;\n\n    case 'topLeft':\n      return fullWidth + \" \" + fullHeight + \" 0 0\";\n\n    case 'left':\n      return halfHeight + \" \" + fullWidth + \" \" + halfHeight + \" 0\";\n\n    case 'bottomLeft':\n      return fullWidth + \" 0 0 \" + fullHeight;\n\n    case 'bottom':\n      return fullHeight + \" \" + halfWidth + \" 0 \" + halfWidth;\n\n    case 'bottomRight':\n      return \"0 0 \" + fullWidth + \" \" + fullHeight;\n\n    case 'right':\n      return halfHeight + \" 0 \" + halfHeight + \" \" + fullWidth;\n\n    case 'topRight':\n    default:\n      return \"0 \" + fullWidth + \" \" + fullHeight + \" 0\";\n  }\n};\n\nvar getBorderColor = function getBorderColor(pointingDirection, foregroundColor) {\n  switch (pointingDirection) {\n    case 'top':\n    case 'bottomRight':\n      return {\n        borderBottomColor: foregroundColor\n      };\n\n    case 'right':\n    case 'bottomLeft':\n      return {\n        borderLeftColor: foregroundColor\n      };\n\n    case 'bottom':\n    case 'topLeft':\n      return {\n        borderTopColor: foregroundColor\n      };\n\n    case 'left':\n    case 'topRight':\n      return {\n        borderRightColor: foregroundColor\n      };\n\n    default:\n      throw new polished_esm_PolishedError(59);\n  }\n};\n/**\n * CSS to represent triangle with any pointing direction with an optional background color.\n *\n * @example\n * // Styles as object usage\n *\n * const styles = {\n *   ...triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })\n * }\n *\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${triangle({ pointingDirection: 'right', width: '100px', height: '100px', foregroundColor: 'red' })}\n *\n *\n * // CSS as JS Output\n *\n * div: {\n *  'borderColor': 'transparent transparent transparent red',\n *  'borderStyle': 'solid',\n *  'borderWidth': '50px 0 50px 100px',\n *  'height': '0',\n *  'width': '0',\n * }\n */\n\n\nfunction triangle(_ref) {\n  var pointingDirection = _ref.pointingDirection,\n      height = _ref.height,\n      width = _ref.width,\n      foregroundColor = _ref.foregroundColor,\n      _ref$backgroundColor = _ref.backgroundColor,\n      backgroundColor = _ref$backgroundColor === void 0 ? 'transparent' : _ref$backgroundColor;\n  var widthAndUnit = getValueAndUnit(width);\n  var heightAndUnit = getValueAndUnit(height);\n\n  if (isNaN(heightAndUnit[0]) || isNaN(widthAndUnit[0])) {\n    throw new polished_esm_PolishedError(60);\n  }\n\n  return _extends({\n    width: '0',\n    height: '0',\n    borderColor: backgroundColor\n  }, getBorderColor(pointingDirection, foregroundColor), {\n    borderStyle: 'solid',\n    borderWidth: getBorderWidth(pointingDirection, heightAndUnit, widthAndUnit)\n  });\n}\n\n/**\n * Provides an easy way to change the `wordWrap` property.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...wordWrap('break-word')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${wordWrap('break-word')}\n * `\n *\n * // CSS as JS Output\n *\n * const styles = {\n *   overflowWrap: 'break-word',\n *   wordWrap: 'break-word',\n *   wordBreak: 'break-all',\n * }\n */\nfunction wordWrap(wrap) {\n  if (wrap === void 0) {\n    wrap = 'break-word';\n  }\n\n  var wordBreak = wrap === 'break-word' ? 'break-all' : wrap;\n  return {\n    overflowWrap: wrap,\n    wordWrap: wrap,\n    wordBreak: wordBreak\n  };\n}\n\nfunction colorToInt(color) {\n  return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n  return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n  if (convert === void 0) {\n    convert = convertToInt;\n  }\n\n  if (saturation === 0) {\n    // achromatic\n    return convert(lightness, lightness, lightness);\n  } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n  var huePrime = (hue % 360 + 360) % 360 / 60;\n  var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n  var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n  var red = 0;\n  var green = 0;\n  var blue = 0;\n\n  if (huePrime >= 0 && huePrime < 1) {\n    red = chroma;\n    green = secondComponent;\n  } else if (huePrime >= 1 && huePrime < 2) {\n    red = secondComponent;\n    green = chroma;\n  } else if (huePrime >= 2 && huePrime < 3) {\n    green = chroma;\n    blue = secondComponent;\n  } else if (huePrime >= 3 && huePrime < 4) {\n    green = secondComponent;\n    blue = chroma;\n  } else if (huePrime >= 4 && huePrime < 5) {\n    red = secondComponent;\n    blue = chroma;\n  } else if (huePrime >= 5 && huePrime < 6) {\n    red = chroma;\n    blue = secondComponent;\n  }\n\n  var lightnessModification = lightness - chroma / 2;\n  var finalRed = red + lightnessModification;\n  var finalGreen = green + lightnessModification;\n  var finalBlue = blue + lightnessModification;\n  return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n  aliceblue: 'f0f8ff',\n  antiquewhite: 'faebd7',\n  aqua: '00ffff',\n  aquamarine: '7fffd4',\n  azure: 'f0ffff',\n  beige: 'f5f5dc',\n  bisque: 'ffe4c4',\n  black: '000',\n  blanchedalmond: 'ffebcd',\n  blue: '0000ff',\n  blueviolet: '8a2be2',\n  brown: 'a52a2a',\n  burlywood: 'deb887',\n  cadetblue: '5f9ea0',\n  chartreuse: '7fff00',\n  chocolate: 'd2691e',\n  coral: 'ff7f50',\n  cornflowerblue: '6495ed',\n  cornsilk: 'fff8dc',\n  crimson: 'dc143c',\n  cyan: '00ffff',\n  darkblue: '00008b',\n  darkcyan: '008b8b',\n  darkgoldenrod: 'b8860b',\n  darkgray: 'a9a9a9',\n  darkgreen: '006400',\n  darkgrey: 'a9a9a9',\n  darkkhaki: 'bdb76b',\n  darkmagenta: '8b008b',\n  darkolivegreen: '556b2f',\n  darkorange: 'ff8c00',\n  darkorchid: '9932cc',\n  darkred: '8b0000',\n  darksalmon: 'e9967a',\n  darkseagreen: '8fbc8f',\n  darkslateblue: '483d8b',\n  darkslategray: '2f4f4f',\n  darkslategrey: '2f4f4f',\n  darkturquoise: '00ced1',\n  darkviolet: '9400d3',\n  deeppink: 'ff1493',\n  deepskyblue: '00bfff',\n  dimgray: '696969',\n  dimgrey: '696969',\n  dodgerblue: '1e90ff',\n  firebrick: 'b22222',\n  floralwhite: 'fffaf0',\n  forestgreen: '228b22',\n  fuchsia: 'ff00ff',\n  gainsboro: 'dcdcdc',\n  ghostwhite: 'f8f8ff',\n  gold: 'ffd700',\n  goldenrod: 'daa520',\n  gray: '808080',\n  green: '008000',\n  greenyellow: 'adff2f',\n  grey: '808080',\n  honeydew: 'f0fff0',\n  hotpink: 'ff69b4',\n  indianred: 'cd5c5c',\n  indigo: '4b0082',\n  ivory: 'fffff0',\n  khaki: 'f0e68c',\n  lavender: 'e6e6fa',\n  lavenderblush: 'fff0f5',\n  lawngreen: '7cfc00',\n  lemonchiffon: 'fffacd',\n  lightblue: 'add8e6',\n  lightcoral: 'f08080',\n  lightcyan: 'e0ffff',\n  lightgoldenrodyellow: 'fafad2',\n  lightgray: 'd3d3d3',\n  lightgreen: '90ee90',\n  lightgrey: 'd3d3d3',\n  lightpink: 'ffb6c1',\n  lightsalmon: 'ffa07a',\n  lightseagreen: '20b2aa',\n  lightskyblue: '87cefa',\n  lightslategray: '789',\n  lightslategrey: '789',\n  lightsteelblue: 'b0c4de',\n  lightyellow: 'ffffe0',\n  lime: '0f0',\n  limegreen: '32cd32',\n  linen: 'faf0e6',\n  magenta: 'f0f',\n  maroon: '800000',\n  mediumaquamarine: '66cdaa',\n  mediumblue: '0000cd',\n  mediumorchid: 'ba55d3',\n  mediumpurple: '9370db',\n  mediumseagreen: '3cb371',\n  mediumslateblue: '7b68ee',\n  mediumspringgreen: '00fa9a',\n  mediumturquoise: '48d1cc',\n  mediumvioletred: 'c71585',\n  midnightblue: '191970',\n  mintcream: 'f5fffa',\n  mistyrose: 'ffe4e1',\n  moccasin: 'ffe4b5',\n  navajowhite: 'ffdead',\n  navy: '000080',\n  oldlace: 'fdf5e6',\n  olive: '808000',\n  olivedrab: '6b8e23',\n  orange: 'ffa500',\n  orangered: 'ff4500',\n  orchid: 'da70d6',\n  palegoldenrod: 'eee8aa',\n  palegreen: '98fb98',\n  paleturquoise: 'afeeee',\n  palevioletred: 'db7093',\n  papayawhip: 'ffefd5',\n  peachpuff: 'ffdab9',\n  peru: 'cd853f',\n  pink: 'ffc0cb',\n  plum: 'dda0dd',\n  powderblue: 'b0e0e6',\n  purple: '800080',\n  rebeccapurple: '639',\n  red: 'f00',\n  rosybrown: 'bc8f8f',\n  royalblue: '4169e1',\n  saddlebrown: '8b4513',\n  salmon: 'fa8072',\n  sandybrown: 'f4a460',\n  seagreen: '2e8b57',\n  seashell: 'fff5ee',\n  sienna: 'a0522d',\n  silver: 'c0c0c0',\n  skyblue: '87ceeb',\n  slateblue: '6a5acd',\n  slategray: '708090',\n  slategrey: '708090',\n  snow: 'fffafa',\n  springgreen: '00ff7f',\n  steelblue: '4682b4',\n  tan: 'd2b48c',\n  teal: '008080',\n  thistle: 'd8bfd8',\n  tomato: 'ff6347',\n  turquoise: '40e0d0',\n  violet: 'ee82ee',\n  wheat: 'f5deb3',\n  white: 'fff',\n  whitesmoke: 'f5f5f5',\n  yellow: 'ff0',\n  yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n  if (typeof color !== 'string') return color;\n  var normalizedColorName = color.toLowerCase();\n  return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsla\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n  if (typeof color !== 'string') {\n    throw new polished_esm_PolishedError(3);\n  }\n\n  var normalizedColor = nameToHex(color);\n\n  if (normalizedColor.match(hexRegex)) {\n    return {\n      red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n      green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n      blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n    };\n  }\n\n  if (normalizedColor.match(hexRgbaRegex)) {\n    var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n    return {\n      red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n      green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n      blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n      alpha: alpha\n    };\n  }\n\n  if (normalizedColor.match(reducedHexRegex)) {\n    return {\n      red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n      green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n      blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n    };\n  }\n\n  if (normalizedColor.match(reducedRgbaHexRegex)) {\n    var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n    return {\n      red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n      green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n      blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n      alpha: _alpha\n    };\n  }\n\n  var rgbMatched = rgbRegex.exec(normalizedColor);\n\n  if (rgbMatched) {\n    return {\n      red: parseInt(\"\" + rgbMatched[1], 10),\n      green: parseInt(\"\" + rgbMatched[2], 10),\n      blue: parseInt(\"\" + rgbMatched[3], 10)\n    };\n  }\n\n  var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n\n  if (rgbaMatched) {\n    return {\n      red: parseInt(\"\" + rgbaMatched[1], 10),\n      green: parseInt(\"\" + rgbaMatched[2], 10),\n      blue: parseInt(\"\" + rgbaMatched[3], 10),\n      alpha: parseFloat(\"\" + rgbaMatched[4])\n    };\n  }\n\n  var hslMatched = hslRegex.exec(normalizedColor);\n\n  if (hslMatched) {\n    var hue = parseInt(\"\" + hslMatched[1], 10);\n    var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n    var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n    var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n    var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n    if (!hslRgbMatched) {\n      throw new polished_esm_PolishedError(4, normalizedColor, rgbColorString);\n    }\n\n    return {\n      red: parseInt(\"\" + hslRgbMatched[1], 10),\n      green: parseInt(\"\" + hslRgbMatched[2], 10),\n      blue: parseInt(\"\" + hslRgbMatched[3], 10)\n    };\n  }\n\n  var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n\n  if (hslaMatched) {\n    var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n    var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n    var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n    var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n    var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n    if (!_hslRgbMatched) {\n      throw new polished_esm_PolishedError(4, normalizedColor, _rgbColorString);\n    }\n\n    return {\n      red: parseInt(\"\" + _hslRgbMatched[1], 10),\n      green: parseInt(\"\" + _hslRgbMatched[2], 10),\n      blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n      alpha: parseFloat(\"\" + hslaMatched[4])\n    };\n  }\n\n  throw new polished_esm_PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n  // make sure rgb are contained in a set of [0, 255]\n  var red = color.red / 255;\n  var green = color.green / 255;\n  var blue = color.blue / 255;\n  var max = Math.max(red, green, blue);\n  var min = Math.min(red, green, blue);\n  var lightness = (max + min) / 2;\n\n  if (max === min) {\n    // achromatic\n    if (color.alpha !== undefined) {\n      return {\n        hue: 0,\n        saturation: 0,\n        lightness: lightness,\n        alpha: color.alpha\n      };\n    } else {\n      return {\n        hue: 0,\n        saturation: 0,\n        lightness: lightness\n      };\n    }\n  }\n\n  var hue;\n  var delta = max - min;\n  var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n  switch (max) {\n    case red:\n      hue = (green - blue) / delta + (green < blue ? 6 : 0);\n      break;\n\n    case green:\n      hue = (blue - red) / delta + 2;\n      break;\n\n    default:\n      // blue case\n      hue = (red - green) / delta + 4;\n      break;\n  }\n\n  hue *= 60;\n\n  if (color.alpha !== undefined) {\n    return {\n      hue: hue,\n      saturation: saturation,\n      lightness: lightness,\n      alpha: color.alpha\n    };\n  }\n\n  return {\n    hue: hue,\n    saturation: saturation,\n    lightness: lightness\n  };\n}\n\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\nfunction parseToHsl(color) {\n  // Note: At a later stage we can optimize this function as right now a hsl\n  // color would be parsed converted to rgb values and converted back to hsl.\n  return rgbToHsl(parseToRgb(color));\n}\n\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\nvar reduceHexValue = function reduceHexValue(value) {\n  if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n    return \"#\" + value[1] + value[3] + value[5];\n  }\n\n  return value;\n};\n\nfunction numberToHex(value) {\n  var hex = value.toString(16);\n  return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n  return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n  return reduceHexValue(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n  return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: hsl(359, 0.75, 0.4),\n *   background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${hsl(359, 0.75, 0.4)};\n *   background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#b3191c\";\n *   background: \"#b3191c\";\n * }\n */\nfunction hsl(value, saturation, lightness) {\n  if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n    return hslToHex(value, saturation, lightness);\n  } else if (typeof value === 'object' && saturation === undefined && lightness === undefined) {\n    return hslToHex(value.hue, value.saturation, value.lightness);\n  }\n\n  throw new polished_esm_PolishedError(1);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: hsla(359, 0.75, 0.4, 0.7),\n *   background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n *   background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${hsla(359, 0.75, 0.4, 0.7)};\n *   background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n *   background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"rgba(179,25,28,0.7)\";\n *   background: \"rgba(179,25,28,0.7)\";\n *   background: \"#b3191c\";\n * }\n */\nfunction hsla(value, saturation, lightness, alpha) {\n  if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n    return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n  } else if (typeof value === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n    return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n  }\n\n  throw new polished_esm_PolishedError(2);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: rgb(255, 205, 100),\n *   background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${rgb(255, 205, 100)};\n *   background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#ffcd64\";\n *   background: \"#ffcd64\";\n * }\n */\nfunction rgb(value, green, blue) {\n  if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n    return reduceHexValue(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n  } else if (typeof value === 'object' && green === undefined && blue === undefined) {\n    return reduceHexValue(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n  }\n\n  throw new polished_esm_PolishedError(6);\n}\n\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: rgba(255, 205, 100, 0.7),\n *   background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n *   background: rgba(255, 205, 100, 1),\n *   background: rgba('#ffffff', 0.4),\n *   background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${rgba(255, 205, 100, 0.7)};\n *   background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n *   background: ${rgba(255, 205, 100, 1)};\n *   background: ${rgba('#ffffff', 0.4)};\n *   background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"rgba(255,205,100,0.7)\";\n *   background: \"rgba(255,205,100,0.7)\";\n *   background: \"#ffcd64\";\n *   background: \"rgba(255,255,255,0.4)\";\n *   background: \"rgba(0,0,0,0.7)\";\n * }\n */\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n  if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n    var rgbValue = parseToRgb(firstValue);\n    return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n  } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n    return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n  } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n    return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n  }\n\n  throw new polished_esm_PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n  return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n  return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n  return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n  return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: toColorString({ red: 255, green: 205, blue: 100 }),\n *   background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n *   background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n *   background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n *   background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n *   background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n *   background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#ffcd64\";\n *   background: \"rgba(255,205,100,0.72)\";\n *   background: \"#00f\";\n *   background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n  if (typeof color !== 'object') throw new polished_esm_PolishedError(8);\n  if (isRgba(color)) return rgba(color);\n  if (isRgb(color)) return rgb(color);\n  if (isHsla(color)) return hsla(color);\n  if (isHsl(color)) return hsl(color);\n  throw new polished_esm_PolishedError(8);\n}\n\n// Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\nfunction curried(f, length, acc) {\n  return function fn() {\n    // eslint-disable-next-line prefer-rest-params\n    var combined = acc.concat(Array.prototype.slice.call(arguments));\n    return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n  };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n  // eslint-disable-line no-redeclare\n  return curried(f, f.length, []);\n}\n\n/**\n * Changes the hue of the color. Hue is a number between 0 to 360. The first\n * argument for adjustHue is the amount of degrees the color is rotated around\n * the color wheel, always producing a positive hue value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: adjustHue(180, '#448'),\n *   background: adjustHue('180', 'rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${adjustHue(180, '#448')};\n *   background: ${adjustHue('180', 'rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#888844\";\n *   background: \"rgba(136,136,68,0.7)\";\n * }\n */\n\nfunction adjustHue(degree, color) {\n  if (color === 'transparent') return color;\n  var hslColor = parseToHsl(color);\n  return toColorString(_extends({}, hslColor, {\n    hue: hslColor.hue + parseFloat(degree)\n  }));\n} // prettier-ignore\n\n\nvar curriedAdjustHue = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(adjustHue);\n\n/**\n * Returns the complement of the provided color. This is identical to adjustHue(180, <color>).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: complement('#448'),\n *   background: complement('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${complement('#448')};\n *   background: ${complement('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#884\";\n *   background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction complement(color) {\n  if (color === 'transparent') return color;\n  var hslColor = parseToHsl(color);\n  return toColorString(_extends({}, hslColor, {\n    hue: (hslColor.hue + 180) % 360\n  }));\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n  return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: darken(0.2, '#FFCD64'),\n *   background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${darken(0.2, '#FFCD64')};\n *   background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#ffbd31\";\n *   background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\nfunction darken(amount, color) {\n  if (color === 'transparent') return color;\n  var hslColor = parseToHsl(color);\n  return toColorString(_extends({}, hslColor, {\n    lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n  }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(darken);\n\n/**\n * Decreases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the desaturate function is the amount by how much the color\n * intensity should be decreased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: desaturate(0.2, '#CCCD64'),\n *   background: desaturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${desaturate(0.2, '#CCCD64')};\n *   background: ${desaturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#b8b979\";\n *   background: \"rgba(184,185,121,0.7)\";\n * }\n */\n\nfunction desaturate(amount, color) {\n  if (color === 'transparent') return color;\n  var hslColor = parseToHsl(color);\n  return toColorString(_extends({}, hslColor, {\n    saturation: guard(0, 1, hslColor.saturation - parseFloat(amount))\n  }));\n} // prettier-ignore\n\n\nvar curriedDesaturate = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(desaturate);\n\n/**\n * Returns a number (float) representing the luminance of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff',\n *   background: getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n *                             'rgba(58, 133, 255, 1)' :\n *                             'rgba(255, 57, 149, 1)',\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${getLuminance('#CCCD64') >= getLuminance('#0000ff') ? '#CCCD64' : '#0000ff'};\n *   background: ${getLuminance('rgba(58, 133, 255, 1)') >= getLuminance('rgba(255, 57, 149, 1)') ?\n *                             'rgba(58, 133, 255, 1)' :\n *                             'rgba(255, 57, 149, 1)'};\n *\n * // CSS in JS Output\n *\n * div {\n *   background: \"#CCCD64\";\n *   background: \"rgba(58, 133, 255, 1)\";\n * }\n */\n\nfunction getLuminance(color) {\n  if (color === 'transparent') return 0;\n  var rgbColor = parseToRgb(color);\n\n  var _Object$keys$map = Object.keys(rgbColor).map(function (key) {\n    var channel = rgbColor[key] / 255;\n    return channel <= 0.03928 ? channel / 12.92 : Math.pow((channel + 0.055) / 1.055, 2.4);\n  }),\n      r = _Object$keys$map[0],\n      g = _Object$keys$map[1],\n      b = _Object$keys$map[2];\n\n  return parseFloat((0.2126 * r + 0.7152 * g + 0.0722 * b).toFixed(3));\n}\n\n/**\n * Returns the contrast ratio between two colors based on\n * [W3's recommended equation for calculating contrast](http://www.w3.org/TR/WCAG20/#contrast-ratiodef).\n *\n * @example\n * const contrastRatio = getContrast('#444', '#fff');\n */\n\nfunction getContrast(color1, color2) {\n  var luminance1 = getLuminance(color1);\n  var luminance2 = getLuminance(color2);\n  return parseFloat((luminance1 > luminance2 ? (luminance1 + 0.05) / (luminance2 + 0.05) : (luminance2 + 0.05) / (luminance1 + 0.05)).toFixed(2));\n}\n\n/**\n * Converts the color to a grayscale, by reducing its saturation to 0.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: grayscale('#CCCD64'),\n *   background: grayscale('rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${grayscale('#CCCD64')};\n *   background: ${grayscale('rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#999\";\n *   background: \"rgba(153,153,153,0.7)\";\n * }\n */\n\nfunction grayscale(color) {\n  if (color === 'transparent') return color;\n  return toColorString(_extends({}, parseToHsl(color), {\n    saturation: 0\n  }));\n}\n\n/**\n * Converts a HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n *   background: hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${hslToColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n *   background: ${hslToColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#00f\";\n *   background: \"rgba(179,25,25,0.72)\";\n * }\n */\nfunction hslToColorString(color) {\n  if (typeof color === 'object' && typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number') {\n    if (color.alpha && typeof color.alpha === 'number') {\n      return hsla({\n        hue: color.hue,\n        saturation: color.saturation,\n        lightness: color.lightness,\n        alpha: color.alpha\n      });\n    }\n\n    return hsl({\n      hue: color.hue,\n      saturation: color.saturation,\n      lightness: color.lightness\n    });\n  }\n\n  throw new polished_esm_PolishedError(45);\n}\n\n/**\n * Inverts the red, green and blue values of a color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: invert('#CCCD64'),\n *   background: invert('rgba(101,100,205,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${invert('#CCCD64')};\n *   background: ${invert('rgba(101,100,205,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#33329b\";\n *   background: \"rgba(154,155,50,0.7)\";\n * }\n */\n\nfunction invert(color) {\n  if (color === 'transparent') return color; // parse color string to rgb\n\n  var value = parseToRgb(color);\n  return toColorString(_extends({}, value, {\n    red: 255 - value.red,\n    green: 255 - value.green,\n    blue: 255 - value.blue\n  }));\n}\n\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: lighten(0.2, '#CCCD64'),\n *   background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${lighten(0.2, '#FFCD64')};\n *   background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#e5e6b1\";\n *   background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n  if (color === 'transparent') return color;\n  var hslColor = parseToHsl(color);\n  return toColorString(_extends({}, hslColor, {\n    lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n  }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(lighten);\n\n/**\n * Determines which contrast guidelines have been met for two colors.\n * Based on the [contrast calculations recommended by W3](https://www.w3.org/WAI/WCAG21/Understanding/contrast-enhanced.html).\n *\n * @example\n * const scores = meetsContrastGuidelines('#444', '#fff');\n */\nfunction meetsContrastGuidelines(color1, color2) {\n  var contrastRatio = getContrast(color1, color2);\n  return {\n    AA: contrastRatio >= 4.5,\n    AALarge: contrastRatio >= 3,\n    AAA: contrastRatio >= 7,\n    AAALarge: contrastRatio >= 4.5\n  };\n}\n\n/**\n * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: mix(0.5, '#f00', '#00f')\n *   background: mix(0.25, '#f00', '#00f')\n *   background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${mix(0.5, '#f00', '#00f')};\n *   background: ${mix(0.25, '#f00', '#00f')};\n *   background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#7f007f\";\n *   background: \"#3f00bf\";\n *   background: \"rgba(63, 0, 191, 0.75)\";\n * }\n */\n\nfunction mix(weight, color, otherColor) {\n  if (color === 'transparent') return otherColor;\n  if (otherColor === 'transparent') return color;\n  if (weight === 0) return otherColor;\n  var parsedColor1 = parseToRgb(color);\n\n  var color1 = _extends({}, parsedColor1, {\n    alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1\n  });\n\n  var parsedColor2 = parseToRgb(otherColor);\n\n  var color2 = _extends({}, parsedColor2, {\n    alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1\n  }); // The formula is copied from the original Sass implementation:\n  // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method\n\n\n  var alphaDelta = color1.alpha - color2.alpha;\n  var x = parseFloat(weight) * 2 - 1;\n  var y = x * alphaDelta === -1 ? x : x + alphaDelta;\n  var z = 1 + x * alphaDelta;\n  var weight1 = (y / z + 1) / 2.0;\n  var weight2 = 1 - weight1;\n  var mixedColor = {\n    red: Math.floor(color1.red * weight1 + color2.red * weight2),\n    green: Math.floor(color1.green * weight1 + color2.green * weight2),\n    blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),\n    alpha: color1.alpha * (parseFloat(weight) / 1.0) + color2.alpha * (1 - parseFloat(weight) / 1.0)\n  };\n  return rgba(mixedColor);\n} // prettier-ignore\n\n\nvar curriedMix = /*#__PURE__*/curry\n/* ::<number | string, string, string, string> */\n(mix);\n\n/**\n * Increases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: opacify(0.1, 'rgba(255, 255, 255, 0.9)');\n *   background: opacify(0.2, 'hsla(0, 0%, 100%, 0.5)'),\n *   background: opacify('0.5', 'rgba(255, 0, 0, 0.2)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${opacify(0.1, 'rgba(255, 255, 255, 0.9)')};\n *   background: ${opacify(0.2, 'hsla(0, 0%, 100%, 0.5)')},\n *   background: ${opacify('0.5', 'rgba(255, 0, 0, 0.2)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#fff\";\n *   background: \"rgba(255,255,255,0.7)\";\n *   background: \"rgba(255,0,0,0.7)\";\n * }\n */\n\nfunction opacify(amount, color) {\n  if (color === 'transparent') return color;\n  var parsedColor = parseToRgb(color);\n  var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n  var colorWithAlpha = _extends({}, parsedColor, {\n    alpha: guard(0, 1, (alpha * 100 + parseFloat(amount) * 100) / 100)\n  });\n\n  return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedOpacify = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(opacify);\n\nvar defaultReturnIfLightColor = '#000';\nvar defaultReturnIfDarkColor = '#fff';\n/**\n * Returns black or white (or optional passed colors) for best\n * contrast depending on the luminosity of the given color.\n * When passing custom return colors, strict mode ensures that the\n * return color always meets or exceeds WCAG level AA or greater. If this test\n * fails, the default return color (black or white) is returned in place of the\n * custom return color. You can optionally turn off strict mode.\n *\n * Follows [W3C specs for readability](https://www.w3.org/TR/WCAG20-TECHS/G18.html).\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   color: readableColor('#000'),\n *   color: readableColor('black', '#001', '#ff8'),\n *   color: readableColor('white', '#001', '#ff8'),\n *   color: readableColor('red', '#333', '#ddd', true)\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   color: ${readableColor('#000')};\n *   color: ${readableColor('black', '#001', '#ff8')};\n *   color: ${readableColor('white', '#001', '#ff8')};\n *   color: ${readableColor('red', '#333', '#ddd', true)};\n * `\n *\n * // CSS in JS Output\n * element {\n *   color: \"#fff\";\n *   color: \"#ff8\";\n *   color: \"#001\";\n *   color: \"#000\";\n * }\n */\n\nfunction readableColor(color, returnIfLightColor, returnIfDarkColor, strict) {\n  if (returnIfLightColor === void 0) {\n    returnIfLightColor = defaultReturnIfLightColor;\n  }\n\n  if (returnIfDarkColor === void 0) {\n    returnIfDarkColor = defaultReturnIfDarkColor;\n  }\n\n  if (strict === void 0) {\n    strict = true;\n  }\n\n  var isColorLight = getLuminance(color) > 0.179;\n  var preferredReturnColor = isColorLight ? returnIfLightColor : returnIfDarkColor;\n\n  if (!strict || getContrast(color, preferredReturnColor) >= 4.5) {\n    return preferredReturnColor;\n  }\n\n  return isColorLight ? defaultReturnIfLightColor : defaultReturnIfDarkColor;\n}\n\n/**\n * Converts a RgbColor or RgbaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb` or `rgba`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: rgbToColorString({ red: 255, green: 205, blue: 100 }),\n *   background: rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${rgbToColorString({ red: 255, green: 205, blue: 100 })};\n *   background: ${rgbToColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#ffcd64\";\n *   background: \"rgba(255,205,100,0.72)\";\n * }\n */\nfunction rgbToColorString(color) {\n  if (typeof color === 'object' && typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number') {\n    if (typeof color.alpha === 'number') {\n      return rgba({\n        red: color.red,\n        green: color.green,\n        blue: color.blue,\n        alpha: color.alpha\n      });\n    }\n\n    return rgb({\n      red: color.red,\n      green: color.green,\n      blue: color.blue\n    });\n  }\n\n  throw new polished_esm_PolishedError(46);\n}\n\n/**\n * Increases the intensity of a color. Its range is between 0 to 1. The first\n * argument of the saturate function is the amount by how much the color\n * intensity should be increased.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: saturate(0.2, '#CCCD64'),\n *   background: saturate('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${saturate(0.2, '#FFCD64')};\n *   background: ${saturate('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#e0e250\";\n *   background: \"rgba(224,226,80,0.7)\";\n * }\n */\n\nfunction saturate(amount, color) {\n  if (color === 'transparent') return color;\n  var hslColor = parseToHsl(color);\n  return toColorString(_extends({}, hslColor, {\n    saturation: guard(0, 1, hslColor.saturation + parseFloat(amount))\n  }));\n} // prettier-ignore\n\n\nvar curriedSaturate = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(saturate);\n\n/**\n * Sets the hue of a color to the provided value. The hue range can be\n * from 0 and 359.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: setHue(42, '#CCCD64'),\n *   background: setHue('244', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${setHue(42, '#CCCD64')};\n *   background: ${setHue('244', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#cdae64\";\n *   background: \"rgba(107,100,205,0.7)\";\n * }\n */\n\nfunction setHue(hue, color) {\n  if (color === 'transparent') return color;\n  return toColorString(_extends({}, parseToHsl(color), {\n    hue: parseFloat(hue)\n  }));\n} // prettier-ignore\n\n\nvar curriedSetHue = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(setHue);\n\n/**\n * Sets the lightness of a color to the provided value. The lightness range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: setLightness(0.2, '#CCCD64'),\n *   background: setLightness('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${setLightness(0.2, '#CCCD64')};\n *   background: ${setLightness('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#4d4d19\";\n *   background: \"rgba(223,224,159,0.7)\";\n * }\n */\n\nfunction setLightness(lightness, color) {\n  if (color === 'transparent') return color;\n  return toColorString(_extends({}, parseToHsl(color), {\n    lightness: parseFloat(lightness)\n  }));\n} // prettier-ignore\n\n\nvar curriedSetLightness = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(setLightness);\n\n/**\n * Sets the saturation of a color to the provided value. The saturation range can be\n * from 0 and 1.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: setSaturation(0.2, '#CCCD64'),\n *   background: setSaturation('0.75', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${setSaturation(0.2, '#CCCD64')};\n *   background: ${setSaturation('0.75', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n * element {\n *   background: \"#adad84\";\n *   background: \"rgba(228,229,76,0.7)\";\n * }\n */\n\nfunction setSaturation(saturation, color) {\n  if (color === 'transparent') return color;\n  return toColorString(_extends({}, parseToHsl(color), {\n    saturation: parseFloat(saturation)\n  }));\n} // prettier-ignore\n\n\nvar curriedSetSaturation = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(setSaturation);\n\n/**\n * Shades a color by mixing it with black. `shade` can produce\n * hue shifts, where as `darken` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: shade(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${shade(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#00003f\";\n * }\n */\n\nfunction shade(percentage, color) {\n  if (color === 'transparent') return color;\n  return curriedMix(parseFloat(percentage), 'rgb(0, 0, 0)', color);\n} // prettier-ignore\n\n\nvar curriedShade = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(shade);\n\n/**\n * Tints a color by mixing it with white. `tint` can produce\n * hue shifts, where as `lighten` manipulates the luminance channel and therefore\n * doesn't produce hue shifts.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: tint(0.25, '#00f')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${tint(0.25, '#00f')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"#bfbfff\";\n * }\n */\n\nfunction tint(percentage, color) {\n  if (color === 'transparent') return color;\n  return curriedMix(parseFloat(percentage), 'rgb(255, 255, 255)', color);\n} // prettier-ignore\n\n\nvar curriedTint = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(tint);\n\n/**\n * Decreases the opacity of a color. Its range for the amount is between 0 to 1.\n *\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   background: transparentize(0.1, '#fff');\n *   background: transparentize(0.2, 'hsl(0, 0%, 100%)'),\n *   background: transparentize('0.5', 'rgba(255, 0, 0, 0.8)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   background: ${transparentize(0.1, '#fff')};\n *   background: ${transparentize(0.2, 'hsl(0, 0%, 100%)')},\n *   background: ${transparentize('0.5', 'rgba(255, 0, 0, 0.8)')},\n * `\n *\n * // CSS in JS Output\n *\n * element {\n *   background: \"rgba(255,255,255,0.9)\";\n *   background: \"rgba(255,255,255,0.8)\";\n *   background: \"rgba(255,0,0,0.3)\";\n * }\n */\n\nfunction transparentize(amount, color) {\n  if (color === 'transparent') return color;\n  var parsedColor = parseToRgb(color);\n  var alpha = typeof parsedColor.alpha === 'number' ? parsedColor.alpha : 1;\n\n  var colorWithAlpha = _extends({}, parsedColor, {\n    alpha: guard(0, 1, +(alpha * 100 - parseFloat(amount) * 100).toFixed(2) / 100)\n  });\n\n  return rgba(colorWithAlpha);\n} // prettier-ignore\n\n\nvar curriedTransparentize = /*#__PURE__*/curry\n/* ::<number | string, string, string> */\n(transparentize);\n\n/**\n * Shorthand for easily setting the animation property. Allows either multiple arrays with animations\n * or a single animation spread over the arguments.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${animation(['rotate', '1s', 'ease-in-out'], ['colorchange', '2s'])}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'animation': 'rotate 1s ease-in-out, colorchange 2s'\n * }\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...animation('rotate', '1s', 'ease-in-out')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${animation('rotate', '1s', 'ease-in-out')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'animation': 'rotate 1s ease-in-out'\n * }\n */\nfunction animation() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  // Allow single or multiple animations passed\n  var multiMode = Array.isArray(args[0]);\n\n  if (!multiMode && args.length > 8) {\n    throw new polished_esm_PolishedError(64);\n  }\n\n  var code = args.map(function (arg) {\n    if (multiMode && !Array.isArray(arg) || !multiMode && Array.isArray(arg)) {\n      throw new polished_esm_PolishedError(65);\n    }\n\n    if (Array.isArray(arg) && arg.length > 8) {\n      throw new polished_esm_PolishedError(66);\n    }\n\n    return Array.isArray(arg) ? arg.join(' ') : arg;\n  }).join(', ');\n  return {\n    animation: code\n  };\n}\n\n/**\n * Shorthand that accepts any number of backgroundImage values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${backgroundImages('url(\"/image/background.jpg\")', 'linear-gradient(red, green)')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'backgroundImage': 'url(\"/image/background.jpg\"), linear-gradient(red, green)'\n * }\n */\nfunction backgroundImages() {\n  for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n    properties[_key] = arguments[_key];\n  }\n\n  return {\n    backgroundImage: properties.join(', ')\n  };\n}\n\n/**\n * Shorthand that accepts any number of background values as parameters for creating a single background statement.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${backgrounds('url(\"/image/background.jpg\")', 'linear-gradient(red, green)', 'center no-repeat')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'background': 'url(\"/image/background.jpg\"), linear-gradient(red, green), center no-repeat'\n * }\n */\nfunction backgrounds() {\n  for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n    properties[_key] = arguments[_key];\n  }\n\n  return {\n    background: properties.join(', ')\n  };\n}\n\nvar sideMap = ['top', 'right', 'bottom', 'left'];\n/**\n * Shorthand for the border property that splits out individual properties for use with tools like Fela and Styletron. A side keyword can optionally be passed to target only one side's border properties.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...border('1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${border('1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'borderColor': 'red',\n *   'borderStyle': 'solid',\n *   'borderWidth': `1px`,\n * }\n *\n * // Styles as object usage\n * const styles = {\n *   ...border('top', '1px', 'solid', 'red')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${border('top', '1px', 'solid', 'red')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'borderTopColor': 'red',\n *   'borderTopStyle': 'solid',\n *   'borderTopWidth': `1px`,\n * }\n */\n\nfunction border(sideKeyword) {\n  for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    values[_key - 1] = arguments[_key];\n  }\n\n  if (typeof sideKeyword === 'string' && sideMap.indexOf(sideKeyword) >= 0) {\n    var _ref;\n\n    return _ref = {}, _ref[\"border\" + capitalizeString(sideKeyword) + \"Width\"] = values[0], _ref[\"border\" + capitalizeString(sideKeyword) + \"Style\"] = values[1], _ref[\"border\" + capitalizeString(sideKeyword) + \"Color\"] = values[2], _ref;\n  } else {\n    values.unshift(sideKeyword);\n    return {\n      borderWidth: values[0],\n      borderStyle: values[1],\n      borderColor: values[2]\n    };\n  }\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...borderColor('red', 'green', 'blue', 'yellow')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${borderColor('red', 'green', 'blue', 'yellow')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'borderTopColor': 'red',\n *   'borderRightColor': 'green',\n *   'borderBottomColor': 'blue',\n *   'borderLeftColor': 'yellow'\n * }\n */\nfunction polished_esm_borderColor() {\n  for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n    values[_key] = arguments[_key];\n  }\n\n  return directionalProperty.apply(void 0, ['borderColor'].concat(values));\n}\n\n/**\n * Shorthand that accepts a value for side and a value for radius and applies the radius value to both corners of the side.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...borderRadius('top', '5px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${borderRadius('top', '5px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'borderTopRightRadius': '5px',\n *   'borderTopLeftRadius': '5px',\n * }\n */\nfunction borderRadius(side, radius) {\n  var uppercaseSide = capitalizeString(side);\n\n  if (!radius && radius !== 0) {\n    throw new polished_esm_PolishedError(62);\n  }\n\n  if (uppercaseSide === 'Top' || uppercaseSide === 'Bottom') {\n    var _ref;\n\n    return _ref = {}, _ref[\"border\" + uppercaseSide + \"RightRadius\"] = radius, _ref[\"border\" + uppercaseSide + \"LeftRadius\"] = radius, _ref;\n  }\n\n  if (uppercaseSide === 'Left' || uppercaseSide === 'Right') {\n    var _ref2;\n\n    return _ref2 = {}, _ref2[\"borderTop\" + uppercaseSide + \"Radius\"] = radius, _ref2[\"borderBottom\" + uppercaseSide + \"Radius\"] = radius, _ref2;\n  }\n\n  throw new polished_esm_PolishedError(63);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...borderStyle('solid', 'dashed', 'dotted', 'double')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${borderStyle('solid', 'dashed', 'dotted', 'double')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'borderTopStyle': 'solid',\n *   'borderRightStyle': 'dashed',\n *   'borderBottomStyle': 'dotted',\n *   'borderLeftStyle': 'double'\n * }\n */\nfunction borderStyle() {\n  for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n    values[_key] = arguments[_key];\n  }\n\n  return directionalProperty.apply(void 0, ['borderStyle'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...borderWidth('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${borderWidth('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'borderTopWidth': '12px',\n *   'borderRightWidth': '24px',\n *   'borderBottomWidth': '36px',\n *   'borderLeftWidth': '48px'\n * }\n */\nfunction borderWidth() {\n  for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n    values[_key] = arguments[_key];\n  }\n\n  return directionalProperty.apply(void 0, ['borderWidth'].concat(values));\n}\n\nfunction generateSelectors(template, state) {\n  var stateSuffix = state ? \":\" + state : '';\n  return template(stateSuffix);\n}\n/**\n * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.\n * @private\n */\n\n\nfunction statefulSelectors(states, template, stateMap) {\n  if (!template) throw new polished_esm_PolishedError(67);\n  if (states.length === 0) return generateSelectors(template, null);\n  var selectors = [];\n\n  for (var i = 0; i < states.length; i += 1) {\n    if (stateMap && stateMap.indexOf(states[i]) < 0) {\n      throw new polished_esm_PolishedError(68);\n    }\n\n    selectors.push(generateSelectors(template, states[i]));\n  }\n\n  selectors = selectors.join(',');\n  return selectors;\n}\n\nvar stateMap = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template(state) {\n  return \"button\" + state + \",\\n  input[type=\\\"button\\\"]\" + state + \",\\n  input[type=\\\"reset\\\"]\" + state + \",\\n  input[type=\\\"submit\\\"]\" + state;\n}\n/**\n * Populates selectors that target all buttons. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n *   [buttons('active')]: {\n *     'border': 'none'\n *   }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   > ${buttons('active')} {\n *     border: none;\n *   }\n * `\n *\n * // CSS in JS Output\n *\n *  'button:active,\n *  'input[type=\"button\"]:active,\n *  'input[type=\\\"reset\\\"]:active,\n *  'input[type=\\\"submit\\\"]:active: {\n *   'border': 'none'\n * }\n */\n\n\nfunction buttons() {\n  for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n    states[_key] = arguments[_key];\n  }\n\n  return statefulSelectors(states, template, stateMap);\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...margin('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${margin('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'marginTop': '12px',\n *   'marginRight': '24px',\n *   'marginBottom': '36px',\n *   'marginLeft': '48px'\n * }\n */\nfunction margin() {\n  for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n    values[_key] = arguments[_key];\n  }\n\n  return directionalProperty.apply(void 0, ['margin'].concat(values));\n}\n\n/**\n * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...padding('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${padding('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'paddingTop': '12px',\n *   'paddingRight': '24px',\n *   'paddingBottom': '36px',\n *   'paddingLeft': '48px'\n * }\n */\nfunction padding() {\n  for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {\n    values[_key] = arguments[_key];\n  }\n\n  return directionalProperty.apply(void 0, ['padding'].concat(values));\n}\n\nvar positionMap$1 = ['absolute', 'fixed', 'relative', 'static', 'sticky'];\n/**\n * Shorthand accepts up to five values, including null to skip a value, and maps them to their respective directions. The first value can optionally be a position keyword.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...position('12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${position('12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'top': '12px',\n *   'right': '24px',\n *   'bottom': '36px',\n *   'left': '48px'\n * }\n *\n * // Styles as object usage\n * const styles = {\n *   ...position('absolute', '12px', '24px', '36px', '48px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${position('absolute', '12px', '24px', '36px', '48px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'position': 'absolute',\n *   'top': '12px',\n *   'right': '24px',\n *   'bottom': '36px',\n *   'left': '48px'\n * }\n */\n\nfunction polished_esm_position(firstValue) {\n  for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n    values[_key - 1] = arguments[_key];\n  }\n\n  if (positionMap$1.indexOf(firstValue) >= 0 && firstValue) {\n    return _extends({}, directionalProperty.apply(void 0, [''].concat(values)), {\n      position: firstValue\n    });\n  } else {\n    return directionalProperty.apply(void 0, ['', firstValue].concat(values));\n  }\n}\n\n/**\n * Shorthand to set the height and width properties in a single statement.\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...size('300px', '250px')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${size('300px', '250px')}\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'height': '300px',\n *   'width': '250px',\n * }\n */\nfunction polished_esm_size(height, width) {\n  if (width === void 0) {\n    width = height;\n  }\n\n  return {\n    height: height,\n    width: width\n  };\n}\n\nvar stateMap$1 = [undefined, null, 'active', 'focus', 'hover'];\n\nfunction template$1(state) {\n  return \"input[type=\\\"color\\\"]\" + state + \",\\n    input[type=\\\"date\\\"]\" + state + \",\\n    input[type=\\\"datetime\\\"]\" + state + \",\\n    input[type=\\\"datetime-local\\\"]\" + state + \",\\n    input[type=\\\"email\\\"]\" + state + \",\\n    input[type=\\\"month\\\"]\" + state + \",\\n    input[type=\\\"number\\\"]\" + state + \",\\n    input[type=\\\"password\\\"]\" + state + \",\\n    input[type=\\\"search\\\"]\" + state + \",\\n    input[type=\\\"tel\\\"]\" + state + \",\\n    input[type=\\\"text\\\"]\" + state + \",\\n    input[type=\\\"time\\\"]\" + state + \",\\n    input[type=\\\"url\\\"]\" + state + \",\\n    input[type=\\\"week\\\"]\" + state + \",\\n    input:not([type])\" + state + \",\\n    textarea\" + state;\n}\n/**\n * Populates selectors that target all text inputs. You can pass optional states to append to the selectors.\n * @example\n * // Styles as object usage\n * const styles = {\n *   [textInputs('active')]: {\n *     'border': 'none'\n *   }\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   > ${textInputs('active')} {\n *     border: none;\n *   }\n * `\n *\n * // CSS in JS Output\n *\n *  'input[type=\"color\"]:active,\n *  input[type=\"date\"]:active,\n *  input[type=\"datetime\"]:active,\n *  input[type=\"datetime-local\"]:active,\n *  input[type=\"email\"]:active,\n *  input[type=\"month\"]:active,\n *  input[type=\"number\"]:active,\n *  input[type=\"password\"]:active,\n *  input[type=\"search\"]:active,\n *  input[type=\"tel\"]:active,\n *  input[type=\"text\"]:active,\n *  input[type=\"time\"]:active,\n *  input[type=\"url\"]:active,\n *  input[type=\"week\"]:active,\n *  input:not([type]):active,\n *  textarea:active': {\n *   'border': 'none'\n * }\n */\n\n\nfunction textInputs() {\n  for (var _len = arguments.length, states = new Array(_len), _key = 0; _key < _len; _key++) {\n    states[_key] = arguments[_key];\n  }\n\n  return statefulSelectors(states, template$1, stateMap$1);\n}\n\n/**\n * Accepts any number of transition values as parameters for creating a single transition statement. You may also pass an array of properties as the first parameter that you would like to apply the same transition values to (second parameter).\n * @example\n * // Styles as object usage\n * const styles = {\n *   ...transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s'),\n *   ...transitions(['color', 'background-color'], '2.0s ease-in 2s')\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n *   ${transitions('opacity 1.0s ease-in 0s', 'width 2.0s ease-in 2s')};\n *   ${transitions(['color', 'background-color'], '2.0s ease-in 2s'),};\n * `\n *\n * // CSS as JS Output\n *\n * div {\n *   'transition': 'opacity 1.0s ease-in 0s, width 2.0s ease-in 2s'\n *   'transition': 'color 2.0s ease-in 2s, background-color 2.0s ease-in 2s',\n * }\n */\n\nfunction transitions() {\n  for (var _len = arguments.length, properties = new Array(_len), _key = 0; _key < _len; _key++) {\n    properties[_key] = arguments[_key];\n  }\n\n  if (Array.isArray(properties[0]) && properties.length === 2) {\n    var value = properties[1];\n\n    if (typeof value !== 'string') {\n      throw new polished_esm_PolishedError(61);\n    }\n\n    var transitionsString = properties[0].map(function (property) {\n      return property + \" \" + value;\n    }).join(', ');\n    return {\n      transition: transitionsString\n    };\n  } else {\n    return {\n      transition: properties.join(', ')\n    };\n  }\n}\n\n\n\n// CONCATENATED MODULE: ./src/components/addToCart/product/productGroupOption.tsx\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { productGroupOption_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction productGroupOption_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n/**\n * 取得SKU ID方法\n * @param skuInfoList\n * @param currentKey\n */\nconst getSkuId = (skuInfoList, currentKey) => {\n  const keys = currentKey.split(';');\n\n  if (keys[1] === '') {\n    currentKey = keys[0];\n  }\n\n  let skuItem = underscore[\"find\"](skuInfoList, item => item.skuKey === currentKey);\n\n  return skuItem && skuItem.skuId || 0;\n};\n/**\n * 是否關聯SKU\n */\n\n\nconst isRelatedSku = (level, skuKeyPart, combinedSkuKey) => {\n  return level === 2 ? combinedSkuKey.split(';')[1] === skuKeyPart : combinedSkuKey.split(';')[0] === skuKeyPart;\n};\n/**\n * 處理sku項目顯示 (銷售中、開啟中)\n */\n\n\nconst getSkuDisplayList = (skuInfoList, skuGroupList, maxSkuLevel, level, selectedSkuKey, selectedSkuKeyLevel2) => {\n  let skuDisplayList;\n\n  if (maxSkuLevel === 1) {\n    // 當SKU只有一階層\n    skuDisplayList = skuGroupList.skuKeyList.map(skuItem => {\n      const matchItem = underscore[\"find\"](skuInfoList, skuInfo => {\n        return skuInfo.skuKey === skuItem.skuKey;\n      });\n\n      return _objectSpread({\n        isShow: matchItem.isShow,\n        isSelling: matchItem.sellingQty > 0\n      }, skuItem);\n    });\n  } else if (maxSkuLevel === 2) {\n    skuDisplayList = skuGroupList.skuKeyList.map(skuItem => {\n      let isShow = false;\n      let isSelling = false;\n\n      if (level === 1 && selectedSkuKeyLevel2 !== '') {\n        const matchedSkuItem = underscore[\"find\"](skuInfoList, skuInfo => {\n          return `${skuItem.skuKey};${selectedSkuKeyLevel2}` === skuInfo.skuKey;\n        });\n\n        isSelling = matchedSkuItem && matchedSkuItem.sellingQty > 0;\n        isShow = matchedSkuItem && matchedSkuItem.isShow;\n      } else if (level === 2 && selectedSkuKey !== '') {\n        const matchedSkuItem = underscore[\"find\"](skuInfoList, skuInfo => {\n          return `${selectedSkuKey};${skuItem.skuKey}` === skuInfo.skuKey;\n        });\n\n        isSelling = matchedSkuItem && matchedSkuItem.sellingQty > 0;\n        isShow = matchedSkuItem && matchedSkuItem.isShow;\n      } else if (selectedSkuKey === '' || selectedSkuKeyLevel2 === '') {\n        let relatedSkuItems = [];\n        relatedSkuItems = underscore[\"filter\"](skuInfoList, skuInfo => {\n          return isRelatedSku(level, skuItem.skuKey, skuInfo.skuKey) === true;\n        });\n\n        const matchedSellingItem = underscore[\"find\"](relatedSkuItems, skuInfo => skuInfo.sellingQty > 0);\n\n        const matchedShowItem = underscore[\"find\"](relatedSkuItems, skuInfo => skuInfo.isShow === true);\n\n        isSelling = matchedSellingItem && matchedSellingItem.sellingQty > 0 || false;\n        isShow = matchedShowItem && matchedShowItem.isShow || false;\n      }\n\n      return _objectSpread({\n        isShow,\n        isSelling\n      }, skuItem);\n    });\n  }\n\n  return skuDisplayList;\n};\n/**\n * 取得關聯選項可售的key值\n * @param optionList\n */\n\n\nconst getSellingSkuKey = optionList => {\n  let skuKey = '';\n\n  for (let i = 0; i < optionList.length; i++) {\n    if (optionList[i].isSelling) {\n      skuKey = optionList[i].skuKey;\n      break;\n    }\n  }\n\n  return skuKey;\n}; // style\n\n\nconst disabledSkuOption = () => {\n  return Object(styled_components_browser_esm[\"b\" /* css */])([\"background:#f0f0f0;cursor:pointer;position:relative;a{text-decoration:line-through;}&:before{animation:fade-in 0.2s ease-out;background-color:#666;border-radius:3px;box-sizing:border-box;color:#fff;content:attr(data-tooltip-content);font-size:0.8em;left:50%;min-width:46px;padding:4px 0;position:absolute;text-align:center;top:100%;transform:translateX(-50%);visibility:hidden;word-break:break-word;z-index:1;}&:after{border-color:transparent transparent #666666 transparent;border-style:solid;border-width:6px;content:'';height:0;left:50%;position:absolute;top:calc(100% - 11px);transform:translateX(-50%);visibility:hidden;width:0;}&:hover{&:before,&:after{visibility:visible;}}\"]);\n};\n\nconst skuOptionActivedStyle = props => {\n  return Object(styled_components_browser_esm[\"b\" /* css */])([\"background-color:\", \";box-shadow:0 0 0 1px \", \";color:\", \";&:hover{background-color:\", \";box-shadow:0 0 0 1px \", \";}\"], themeColor_backgroundColor(props), borderColor(props), textColor(props), curriedDarken(0.1, themeColor_backgroundColor(props)), curriedDarken(0.1, borderColor(props)));\n};\n\nconst skuOptionHoverStyle = props => {\n  return Object(styled_components_browser_esm[\"b\" /* css */])([\"&:hover{box-shadow:0 0 0 1px \", \";}\"], borderColor(props));\n};\n\nconst SkuOptions = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productGroupOption__SkuOptions\",\n  componentId: \"sc-n99ui4-0\"\n})([\"padding-bottom:15px;\"]);\nconst SkuOptionsLevel = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productGroupOption__SkuOptionsLevel\",\n  componentId: \"sc-n99ui4-1\"\n})([\"padding-top:10px;\"]);\nconst SkuOptionsTitle = styled_components_browser_esm[\"c\" /* default */].h6.withConfig({\n  displayName: \"productGroupOption__SkuOptionsTitle\",\n  componentId: \"sc-n99ui4-2\"\n})([\"color:#000000;font-size:0.8em;font-weight:400;line-height:1.5;text-align:left;\"]);\nconst SkuOptionsContainer = styled_components_browser_esm[\"c\" /* default */].ul.withConfig({\n  displayName: \"productGroupOption__SkuOptionsContainer\",\n  componentId: \"sc-n99ui4-3\"\n})([\"padding:2px;&:before,&:after{clear:both;content:'';display:table;}\"]);\nconst SkuOption = styled_components_browser_esm[\"c\" /* default */].li.withConfig({\n  displayName: \"productGroupOption__SkuOption\",\n  componentId: \"sc-n99ui4-4\"\n})([\"background-color:#fff;border-radius:3px;box-shadow:0 0 0 1px #ddd;color:#6b6b6b;display:\", \";float:left;margin:8px 8px 0 0;\", \"\"], props => props.hidden ? 'none' : 'inline-block', props => {\n  // option disabled style\n  if (props.disabled) {\n    return disabledSkuOption();\n  } else if (props.actived) {\n    return skuOptionActivedStyle(props);\n  } else {\n    return skuOptionHoverStyle(props);\n  }\n});\nconst SkuOptionButton = styled_components_browser_esm[\"c\" /* default */].a.withConfig({\n  displayName: \"productGroupOption__SkuOptionButton\",\n  componentId: \"sc-n99ui4-5\"\n})([\"box-sizing:border-box;color:inherit;display:inline-block;font-size:0.8em;line-height:1.2;min-width:46px;padding:5px 16px;text-align:center;word-break:break-all;\"]);\n/**\n * 單階選項清單元件\n * @param props\n */\n\nconst ProductOptions = props => {\n  const {\n    level,\n    optionName,\n    optionList,\n    isSkuStockUpdated,\n    selectedKey,\n    onSelectOption\n  } = props;\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](SkuOptions, null, optionList && optionList.length > 0 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](SkuOptionsLevel, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](SkuOptionsTitle, null, optionName), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](SkuOptionsContainer, null, optionList.map((skuItem, itemIndex) => {\n    return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](SkuOption, {\n      key: itemIndex,\n      \"data-tooltip-content\": isSkuStockUpdated === true ? external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.OUT_OF_STOCK) : external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.UPDATE),\n      actived: skuItem.isSelling === true && skuItem.skuKey === selectedKey,\n      hidden: skuItem.isShow === false,\n      disabled: !skuItem.isSelling\n    }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](SkuOptionButton, {\n      \"data-sku-key\": skuItem.skuKey,\n      \"data-sku-name\": skuItem.skuName,\n      \"data-is-selling\": skuItem.isSelling,\n      \"data-selected-sku-level\": level,\n      onClick: onSelectOption\n    }, skuItem.skuName));\n  }))));\n};\n/**\n * 組合階層選項清單元件\n * @param props\n */\n\nconst ProductGroupOption = props => {\n  const {\n    skuInfoList,\n    skuGroup,\n    maxSkuLevel,\n    updateSelectedSkuId,\n    updateProductStock\n  } = props;\n  const [selectedSkuKey, setSelectedSkuKey] = Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useState\"])('');\n  const [selectedSkuKeyLevel2, setSelectedSkuKeyLevel2] = Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useState\"])('');\n  const [isSkuStockUpdate, setIsSkuStockUpdated] = Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useState\"])(true);\n  const optionList1 = skuGroup.skuGroupLevel1 ? getSkuDisplayList(skuInfoList, skuGroup.skuGroupLevel1, maxSkuLevel, 1, selectedSkuKey, selectedSkuKeyLevel2) : null;\n  const optionList2 = skuGroup.skuGroupLevel2 ? getSkuDisplayList(skuInfoList, skuGroup.skuGroupLevel2, maxSkuLevel, 2, selectedSkuKey, selectedSkuKeyLevel2) : null; // 初始選擇SKU ID\n\n  let selectedSkuId;\n  let currentKey = '';\n  let sellingSkuKey = ''; // 當有二階顯示狀態且點擊選取時，需連動另一階選項處理\n\n  if (!isSkuStockUpdate) {\n    if (maxSkuLevel === 1) {\n      selectedSkuId = getSkuId(skuInfoList, selectedSkuKey);\n    } else {\n      if (selectedSkuKeyLevel2 === '') {\n        sellingSkuKey = getSellingSkuKey(optionList2);\n        currentKey = selectedSkuKey + ';' + sellingSkuKey;\n        setSelectedSkuKeyLevel2(sellingSkuKey);\n      } else if (selectedSkuKey === '') {\n        sellingSkuKey = getSellingSkuKey(optionList1);\n        currentKey = sellingSkuKey + ';' + selectedSkuKeyLevel2;\n        setSelectedSkuKey(sellingSkuKey);\n      } else {\n        currentKey = selectedSkuKey + ';' + selectedSkuKeyLevel2;\n      }\n\n      selectedSkuId = getSkuId(skuInfoList, currentKey);\n    } // console.log('更新ID:', selectedSkuId);\n\n\n    setIsSkuStockUpdated(true); // 更新Sku ID\n\n    updateSelectedSkuId(selectedSkuId);\n  } // 選擇SKU項目事件處理\n\n\n  const onSelectSkuItem = e => {\n    e.preventDefault();\n    e.stopPropagation();\n    const target = e.currentTarget;\n    const skuKey = target.getAttribute('data-sku-key');\n    const isSelling = JSON.parse(target.getAttribute('data-is-selling'));\n    const selectedSkuLevel = parseInt(target.getAttribute('data-selected-sku-level'), 10);\n\n    if (isSelling !== true) {\n      return;\n    } // 防止重複點擊已選取的項目\n\n\n    if (selectedSkuKey === skuKey || selectedSkuKeyLevel2 === skuKey) {\n      return;\n    }\n\n    if (maxSkuLevel === 1) {\n      setSelectedSkuKey(skuKey); // 選取一階的項目\n    } else {\n      // 判斷當前選取的階層，組合當前已選取的key+上一次紀錄選取階層的key\n      if (selectedSkuLevel === 1) {\n        setSelectedSkuKey(skuKey); // 選取一階的項目\n      } else if (selectedSkuLevel === 2) {\n        setSelectedSkuKeyLevel2(skuKey); // 選取二階的項目\n      }\n    } // console.log('選取的skuKey:', skuKey);\n    // 更新庫存開關\n\n\n    setIsSkuStockUpdated(false); // 更新庫存處理\n\n    updateProductStock(skuInfoList);\n  };\n\n  Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useEffect\"])(() => {\n    // 當SKU一階且只有剩一個選項就直接選取\n    if (maxSkuLevel === 1 && optionList1 && optionList1.length <= 1) {\n      const {\n        skuKey\n      } = underscore[\"first\"](optionList1);\n\n      const skuId = getSkuId(skuInfoList, skuKey);\n      setSelectedSkuKey(skuKey);\n      setIsSkuStockUpdated(true);\n      updateSelectedSkuId(skuId);\n    }\n  }, []);\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"Fragment\"], null, optionList1 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](ProductOptions, {\n    level: 1,\n    isSkuStockUpdated: isSkuStockUpdate,\n    optionName: skuGroup.skuGroupLevel1.skuGroupName,\n    optionList: optionList1,\n    selectedKey: selectedSkuKey,\n    onSelectOption: onSelectSkuItem\n  }), optionList2 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](ProductOptions, {\n    level: 2,\n    isSkuStockUpdated: isSkuStockUpdate,\n    optionName: skuGroup.skuGroupLevel2.skuGroupName,\n    optionList: optionList2,\n    selectedKey: selectedSkuKeyLevel2,\n    onSelectOption: onSelectSkuItem\n  }));\n};\n// CONCATENATED MODULE: ./src/components/button/index.tsx\n\n\n\n\n\n\nconst buttonSize = size => {\n  switch (size) {\n    case 'auto':\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"width:100%;height:40px;line-height:40px;\"]);\n\n    case 'normal':\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"width:131px;height:40px;line-height:40px;\"]);\n\n    case 'small':\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"width:60px;max-width:60px;height:28px;line-height:28px;\"]);\n\n    case 'fit':\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"width:fit-content;height:40px;line-height:40px;padding:0px 10px;\"]);\n\n    default:\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"width:60px;max-width:60px;height:28px;line-height:28px;\"]);\n  }\n};\n\nconst baseColor = '#fff';\nconst normalColor = '#bbb';\nconst fontColor = '#666';\n\nconst containedHoverStyle = () => {\n  return Object(styled_components_browser_esm[\"b\" /* css */])([\"&:hover{background-color:\", \";border:1px solid \", \";color:\", \";}\"], props => underscore_default.a.isEmpty(props.theme) ? '#ff2020' : curriedDarken(0.1, props.theme.buttonStyle.primaryBtnBgColor), props => underscore_default.a.isEmpty(props.theme) ? '#ff2020' : props.theme.buttonStyle.primaryBtnBgColor, props => underscore_default.a.isEmpty(props.theme) ? baseColor : props.theme.buttonStyle.primaryBtnTextColor);\n};\n\nconst outlinedHoverStyle = () => {\n  return Object(styled_components_browser_esm[\"b\" /* css */])([\"&:hover{background-color:\", \";border:1px solid \", \";color:\", \";}\"], props => underscore_default.a.isEmpty(props.theme) ? baseColor : curriedDarken(0.1, props.theme.buttonStyle.secondBtnBgColor), props => underscore_default.a.isEmpty(props.theme) ? '#ff2020' : props.theme.buttonStyle.secondBtnBorderColor, props => underscore_default.a.isEmpty(props.theme) ? '#ff5353' : props.theme.buttonStyle.secondBtnTextColor);\n};\n\nconst buttonVariant = variant => {\n  switch (variant) {\n    case 'contained':\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"background-color:\", \";color:\", \";cursor:pointer;border:1px solid \", \";\", \"\"], props => underscore_default.a.isEmpty(props.theme) ? '#ff5353' : props.theme.buttonStyle.primaryBtnBgColor, props => underscore_default.a.isEmpty(props.theme) ? baseColor : props.theme.buttonStyle.primaryBtnTextColor, props => underscore_default.a.isEmpty(props.theme) ? '#ff5353' : props.theme.buttonStyle.primaryBtnBgColor, () => device_utility_namespaceObject.getBrowsingMode() === BROWSING_MODE.DESKTOP ? containedHoverStyle() : '');\n\n    case 'outlined':\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"background-color:\", \";color:\", \";cursor:pointer;border:1px solid \", \";\", \"\"], props => underscore_default.a.isEmpty(props.theme) ? baseColor : props.theme.buttonStyle.secondBtnBgColor, props => underscore_default.a.isEmpty(props.theme) ? '#ff5353' : props.theme.buttonStyle.secondBtnTextColor, props => underscore_default.a.isEmpty(props.theme) ? '#ff5353' : props.theme.buttonStyle.secondBtnBorderColor, () => device_utility_namespaceObject.getBrowsingMode() === BROWSING_MODE.DESKTOP ? outlinedHoverStyle() : '');\n\n    case 'normal':\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"background-color:\", \";color:\", \";cursor:pointer;border:1px solid \", \";&:hover{border:1px solid \", \";}\"], baseColor, fontColor, normalColor, fontColor);\n\n    default:\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"background-color:\", \";color:\", \";cursor:pointer;border:1px solid \", \";\"], baseColor, normalColor, normalColor);\n  }\n};\n\nconst buttonDisable = Object(styled_components_browser_esm[\"b\" /* css */])([\"pointer-events:none;color:#ffffff;border:1px solid #dddddd;background-color:#dddddd;cursor:default;\"]);\nconst Button = styled_components_browser_esm[\"c\" /* default */].button.withConfig({\n  displayName: \"button__Button\",\n  componentId: \"sc-fjm4ds-0\"\n})([\"border-radius:4.5px;font-size:14px;text-align:center;box-sizing:border-box;display:inline-block;\", \"\"], props => {\n  const {\n    variant,\n    disable,\n    size\n  } = props;\n  return Object(styled_components_browser_esm[\"b\" /* css */])([\"\", \"};\", \";\"], disable ? buttonDisable : buttonVariant(variant), buttonSize(size));\n});\nButton.defaultProps = {\n  disable: false,\n  size: 'normal',\n  variant: 'contained'\n};\n/* harmony default export */ var components_button = (Button);\n// CONCATENATED MODULE: ./src/components/addToCart/product/productQty.tsx\n\n\n\n\n\n\n\n\nconst CartButtonContainer = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productQty__CartButtonContainer\",\n  componentId: \"sc-1tryteq-0\"\n})([\"flex:1;margin:auto;text-align:center;\"]);\nconst QtyButtonContainer = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productQty__QtyButtonContainer\",\n  componentId: \"sc-1tryteq-1\"\n})([\"flex:1;text-align:center;\"]);\nconst QtyTopContent = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productQty__QtyTopContent\",\n  componentId: \"sc-1tryteq-2\"\n})([\"display:flex;width:100%;height:40px;text-align:center;line-height:40px;justify-content:center;\"]);\nconst QtyBottomContent = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productQty__QtyBottomContent\",\n  componentId: \"sc-1tryteq-3\"\n})([\"flex:1;\"]);\nconst QtyCounterInput = styled_components_browser_esm[\"c\" /* default */].input.withConfig({\n  displayName: \"productQty__QtyCounterInput\",\n  componentId: \"sc-1tryteq-4\"\n})([\"color:#4a4e5c;font-size:1em;width:85px;text-align:center;&::-webkit-inner-spin-button,::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;}\"]);\nconst QtyLimitText = styled_components_browser_esm[\"c\" /* default */].span.withConfig({\n  displayName: \"productQty__QtyLimitText\",\n  componentId: \"sc-1tryteq-5\"\n})([\"color:#ff5353;font-size:13px;line-height:1.5;\"]);\nconst QtyButton = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productQty__QtyButton\",\n  componentId: \"sc-1tryteq-6\"\n})([\"cursor:pointer;font-size:22px;font-weight:900;width:44px;color:\", \";\", \"\"], themeColor_backgroundColor, props => {\n  return props.isDisable && `\n            color: #999999;\n            &:hover {\n                cursor: not-allowed !important;\n            }\n            `;\n});\nconst CartButton = Object(styled_components_browser_esm[\"c\" /* default */])(components_button).withConfig({\n  displayName: \"productQty__CartButton\",\n  componentId: \"sc-1tryteq-7\"\n})([\"font-size:15px;width:\", \";\"], device_utility_namespaceObject.getBrowsingMode() === BROWSING_MODE.MOBILE ? '190px' : '310px');\n/**\n * 購物車購買數量顯示元件\n */\n\nconst ProductDisplayQty = props => {\n  const {\n    currentValue,\n    maxValue,\n    minValue,\n    onIncreseValue,\n    onDecreseValue,\n    onChangeValue\n  } = props; // 因手機需啟用鍵盤\n\n  const inputType = device_utility_namespaceObject.getBrowsingMode() === BROWSING_MODE.DESKTOP ? 'number' : 'tel';\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(QtyButtonContainer, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(QtyTopContent, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(QtyButton, {\n    isDisable: currentValue <= minValue,\n    onClick: onDecreseValue\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"i\", {\n    className: \"icon icon-slim-minus\",\n    style: {\n      padding: '9px'\n    }\n  })), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(QtyCounterInput, {\n    type: inputType,\n    name: \"qtyInput\",\n    pattern: \"[0-9]*\",\n    min: minValue,\n    max: maxValue,\n    value: currentValue,\n    onChange: onChangeValue\n  }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(QtyButton, {\n    isDisable: maxValue > 0 && currentValue >= maxValue,\n    onClick: onIncreseValue\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"i\", {\n    className: \"icon icon-slim-plus\",\n    style: {\n      padding: '9px'\n    }\n  }))), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(QtyBottomContent, null, maxValue > 0 && currentValue >= maxValue && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(QtyLimitText, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n    value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.LIMIT_MAX_VALUE_MSG,\n    maxValue: maxValue\n  })), currentValue < minValue && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(QtyLimitText, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n    value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.LIMIT_MIN_VALUE_MSG\n  }))));\n};\n\nconst getButton = (mode, status, onButtonHandler) => {\n  switch (status) {\n    case 'SoldOut':\n      return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CartButton, {\n        variant: \"contained\",\n        disabled: true\n      }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n        value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.SOLD_OUT_AND_REPLENISHED\n      }));\n\n    case 'NotStartSell':\n      return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CartButton, {\n        variant: \"contained\",\n        disabled: true\n      }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n        value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.NOT_YET_OPEN_SALE\n      }));\n\n    case 'ShareToBuy':\n      return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CartButton, {\n        variant: \"contained\",\n        onClick: onButtonHandler\n      }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n        value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.SHARE_AND_BUY\n      }));\n\n    case 'AppOnly':\n      return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CartButton, {\n        variant: \"contained\",\n        onClick: onButtonHandler\n      }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n        value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.ONLY_ON_APP\n      }));\n\n    case 'ImmediatelyBuy':\n      return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CartButton, {\n        variant: \"contained\",\n        onClick: onButtonHandler\n      }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n        value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.CHECK_OUT\n      }));\n\n    default:\n      return mode === 'Normal' ?\n      /*#__PURE__*/\n      // 加入購物車\n      external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CartButton, {\n        variant: \"contained\",\n        onClick: onButtonHandler\n      }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n        value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.ADD_CART\n      })) :\n      /*#__PURE__*/\n      // 加入(選購商品)\n      external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CartButton, {\n        variant: \"contained\",\n        onClick: onButtonHandler\n      }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n        value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.ADD\n      }));\n  }\n};\n/**\n * 加入購物車功能按鈕\n */\n\n\nconst ProductCartButton = props => {\n  const {\n    mode,\n    status,\n    currentValue,\n    maxValue,\n    minValue,\n    onClicked\n  } = props;\n\n  const onButtonHandler = e => {\n    e.preventDefault();\n    e.stopPropagation();\n\n    if (!currentValue || maxValue && currentValue > maxValue || currentValue < minValue) {\n      return;\n    }\n\n    onClicked(status);\n  };\n\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CartButtonContainer, null, getButton(mode, status, onButtonHandler));\n};\n// CONCATENATED MODULE: ./src/components/addToCart/product/purchaseMethod.tsx\n\n\n\n\n\n\n\nconst PurchaseMethodContainer = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"purchaseMethod__PurchaseMethodContainer\",\n  componentId: \"sc-1npj25r-0\"\n})([\"padding:10px 0 15px;\"]);\nconst Title = styled_components_browser_esm[\"c\" /* default */].h6.withConfig({\n  displayName: \"purchaseMethod__Title\",\n  componentId: \"sc-1npj25r-1\"\n})([\"color:#4a4e5c;font-size:0.8em;line-height:1.5;\"]);\nconst PointpayOptions = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"purchaseMethod__PointpayOptions\",\n  componentId: \"sc-1npj25r-2\"\n})([\"padding:0 2px;\"]);\n\nconst pointpayOptionActivedStyle = props => {\n  return Object(styled_components_browser_esm[\"b\" /* css */])([\"background-color:\", \";box-shadow:0 0 0 1px \", \";color:\", \";&:hover{background-color:\", \";box-shadow:0 0 0 1px \", \";}\"], themeColor_backgroundColor(props), borderColor(props), textColor(props), curriedDarken(0.1, themeColor_backgroundColor(props)), curriedDarken(0.1, borderColor(props)));\n};\n\nconst pointpayOptionHoverStyle = props => {\n  return Object(styled_components_browser_esm[\"b\" /* css */])([\"&:hover{box-shadow:0 0 0 1px \", \";}\"], borderColor(props));\n};\n\nconst PointpayOption = styled_components_browser_esm[\"c\" /* default */].button.withConfig({\n  displayName: \"purchaseMethod__PointpayOption\",\n  componentId: \"sc-1npj25r-3\"\n})([\"-webkit-tap-highlight-color:rgba(0,0,0,0);background-color:white;border-radius:3px;box-shadow:0 0 0 1px #ddd;box-sizing:border-box;color:#666;cursor:pointer;display:inline-block;font-size:0.8em;line-height:1.2;margin:8px 8px 0 0;min-width:46px;padding:5px 16px;text-align:center;\", \"\"], props => {\n  if (props.actived) {\n    return pointpayOptionActivedStyle(props);\n  } else {\n    return pointpayOptionHoverStyle(props);\n  }\n});\nconst PurchaseMethod = props => {\n  const {\n    purchaseMethodList,\n    selectedPurchaseMethod,\n    onSelectPurchaseMethod,\n    decimal,\n    symbol,\n    rate\n  } = props;\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](PurchaseMethodContainer, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](Title, null, external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.PLEASE_SELECT_PURCHASE_METHOD)), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](PointpayOptions, null, purchaseMethodList.map((item, index) => {\n    return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](PointpayOption, {\n      key: index,\n      onClick: e => onSelectPurchaseMethod(item),\n      actived: item.PointsPayId === selectedPurchaseMethod.PointsPayId\n    }, item.PairsPoints === 0 && item.PairsPrice > 0 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](currency, {\n      value: item.PairsPrice,\n      decimal: decimal,\n      symbol: symbol,\n      rate: rate,\n      disableTheme: true\n    }), item.PairsPrice === 0 && item.PairsPoints > 0 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n      value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.PURCHASE_METHOD_POINT,\n      point: item.PairsPoints\n    }), item.PairsPoints > 0 && item.PairsPrice > 0 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"span\", null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"Translate\"], {\n      value: TRANSLATE_LOCALE_KEY.FRONTEND.LIB.PURCHASE_METHOD_POINT,\n      point: item.PairsPoints\n    }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"span\", null, \"\\uFF0B\"), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](currency, {\n      value: item.PairsPrice,\n      decimal: decimal,\n      symbol: symbol,\n      rate: rate,\n      disableTheme: true\n    })));\n  })));\n};\n// EXTERNAL MODULE: ./node_modules/statuses/index.js\nvar statuses = __webpack_require__(8);\n\n// EXTERNAL MODULE: ./node_modules/superagent/lib/client.js\nvar client = __webpack_require__(5);\n\n// CONCATENATED MODULE: ./src/providers/http.provider.ts\n\n\nasync function fetchApi(requestUrl, option = {\n  method: 'GET'\n}) {\n  const url = requestUrl.split('?')[0] || '';\n  const queryString = requestUrl.split('?')[1] || '';\n  const requestSetting = {\n    GET: client[\"get\"](url).query(queryString),\n    POST: client[\"post\"](url).query(queryString).send(option.body).set('Content-Type', 'application/json'),\n    PUT: client[\"put\"](url).query(queryString).send(option.body).set('Content-Type', 'application/json'),\n    DELETE: client[\"delete\"](url).query(queryString).send(option.body).set('Content-Type', 'application/json'),\n    FORM: client[\"post\"](url).query(queryString).send(option.formData)\n  };\n\n  try {\n    const response = await requestSetting[option.method];\n\n    if (statuses[\"redirect\"][response.status] || statuses[\"retry\"][response.status]) {\n      return Promise.reject(new Error(response.body));\n    }\n\n    return Promise.resolve(response.body);\n  } catch (err) {\n    return Promise.reject(err);\n  }\n}\n// CONCATENATED MODULE: ./src/models/productStock.model.ts\n\n\n\n\n/**\n * 取得庫存資訊\n * @param skuIdList \n * @param skuInfoList \n */\nconst fetchProductStockModel = async (shopId, skuIdList, skuInfoList) => {\n  try {\n    const apiUrl = getMwebApiUrl(`ProductStock/GetSellingQtyListNew?shopId=${shopId}`); // console.log('fetchProductStockModel skuIdList:', skuIdList);\n\n    const fetchParameters = {\n      method: 'POST',\n      body: JSON.stringify({\n        ids: skuIdList.toString()\n      })\n    };\n    const result = await fetchApi(apiUrl, fetchParameters);\n    return Promise.resolve(fetchProductStockMapping(result, skuInfoList));\n  } catch (error) {\n    return Promise.reject(error);\n  }\n};\n/**\n * 更新庫存資訊\n * @param response \n * @param skuInfoList \n */\n\nconst fetchProductStockMapping = (response, skuInfoList) => {\n  const stockInfoList = underscore[\"indexBy\"](response, 'SaleProductSKUId');\n\n  underscore[\"each\"](skuInfoList, item => {\n    item.sellingQty = stockInfoList[item.skuId].SellingQty; // 更新庫存資訊\n  });\n\n  return skuInfoList;\n};\n// CONCATENATED MODULE: ./src/components/addToCart/product/productSku.tsx\nfunction productSku_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\nconst ProductWrapper = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productSku__ProductWrapper\",\n  componentId: \"sc-1x3m6tn-0\"\n})([\"padding:\", \";\"], device_utility_namespaceObject.getBrowsingMode() === BROWSING_MODE.MOBILE ? '8px 12px' : '8px 20px');\nconst ProductSkuContainer = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productSku__ProductSkuContainer\",\n  componentId: \"sc-1x3m6tn-1\"\n})([\"max-height:320px;overflow-y:auto;overflow-x:hidden;padding-bottom:20px;\"]);\nconst ProductQtyContainer = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"productSku__ProductQtyContainer\",\n  componentId: \"sc-1x3m6tn-2\"\n})([\"border-top:1px solid #d4d9de;display:flex;padding:\", \";\"], device_utility_namespaceObject.getBrowsingMode() === BROWSING_MODE.MOBILE ? '12px' : '20px');\n/**\n * 取得選取SKU名稱\n * @param item\n * @returns\n */\n\nconst getSkuLevels = item => {\n  if (!item) {\n    return;\n  }\n\n  const skuKeyList = item.skuKey.split(';');\n  return {\n    level1: skuKeyList.length > 0 ? skuKeyList[0].split(':')[3] : '',\n    level2: skuKeyList.length > 1 ? skuKeyList[1].split(':')[3] : ''\n  };\n};\n/**\n * ProductSku 組合SKU載體\n * @description 分別將三個區塊，依照狀態組合顯示，各自控制元件事件處理\n */\n\n\nclass productSku_ProductSku extends external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"Component\"] {\n  constructor(props) {\n    super(props);\n\n    productSku_defineProperty(this, \"cartButtonHandler\", status => {\n      const {\n        shopId,\n        handleAddToCart,\n        handleAppOnly,\n        handleFacebookShare,\n        skuQtyMode = 'Overwrite'\n      } = this.props;\n      const {\n        id,\n        hasPointPayOption,\n        title,\n        price,\n        suggestPrice\n      } = this.state.salePageInfo;\n\n      switch (status) {\n        // 加入購物車\n        case 'Normal':\n          const currentSkuItem = underscore[\"find\"](this.state.skuInfoList, item => item.skuId === this.state.selectedSkuId); // 封裝API需要的資料格式\n\n\n          const productInfo = {\n            shopId,\n            payload: {\n              salePageId: id,\n              quantity: this.state.currentValue,\n              skuId: this.state.selectedSkuId,\n              OptionalTypeId: hasPointPayOption && this.state.selectedPointPayOptionItem.PairsPoints > 0 ? this.state.selectedPointPayOptionItem.PointsPayId : 0,\n              OptionalTypeDef: hasPointPayOption && this.state.selectedPointPayOptionItem.PairsPoints > 0 ? 'PointsPay' : '',\n              mainImageUrl: this.state.mainImageUrl,\n              sellingQty: currentSkuItem === null || currentSkuItem === void 0 ? void 0 : currentSkuItem.sellingQty,\n              skuLevels: getSkuLevels(currentSkuItem),\n              title,\n              price: currentSkuItem === null || currentSkuItem === void 0 ? void 0 : currentSkuItem.price,\n              suggestPrice: currentSkuItem === null || currentSkuItem === void 0 ? void 0 : currentSkuItem.suggestPrice\n            },\n            isSkuQtyAccumulate: skuQtyMode === 'Accumulate'\n          };\n          handleAddToCart(productInfo);\n          break;\n        // APP獨賣\n\n        case 'AppOnly':\n          handleAppOnly(shopId, id);\n          break;\n        // FB分享後購買\n\n        case 'ShareToBuy':\n          handleFacebookShare(id);\n          break;\n      }\n    });\n\n    productSku_defineProperty(this, \"onChangeValue\", e => {\n      const newValue = isNaN(parseInt(e.target.value, 10)) ? '' : parseInt(e.target.value, 10);\n\n      if (this.state.selectedSkuId > 0) {\n        this.setState({\n          currentValue: newValue >= this.state.maxValue ? this.state.maxValue : newValue\n        });\n      } else {\n        this.setState({\n          currentValue: newValue\n        });\n      }\n    });\n\n    productSku_defineProperty(this, \"onIncreseValue\", () => {\n      // 有選取SKU才執行判斷數量最大值\n      if (this.state.selectedSkuId > 0 && this.state.currentValue >= this.state.maxValue) {\n        return;\n      }\n\n      this.setState(state => ({\n        currentValue: (+state.currentValue || 0) + 1\n      }));\n\n      if (this.props.onAddQuantity) {\n        this.props.onAddQuantity();\n      }\n    });\n\n    productSku_defineProperty(this, \"onDecreseValue\", () => {\n      this.setState(state => {\n        const newValue = +state.currentValue - 1;\n        return {\n          currentValue: newValue >= state.minValue ? newValue : state.minValue\n        };\n      });\n\n      if (this.props.onRemoveQuantity) {\n        this.props.onRemoveQuantity();\n      }\n    });\n\n    productSku_defineProperty(this, \"setMaxValue\", (skuInfoList, selectedSkuId) => {\n      underscore[\"map\"](skuInfoList, skuInfo => {\n        if (skuInfo.skuId === selectedSkuId) {\n          if (skuInfo.sellingQty > 0) {\n            this.setState({\n              maxValue: skuInfo.sellingQty,\n              currentValue: 1,\n              minValue: 1\n            });\n          } else {\n            // 設回初始值\n            this.setState({\n              maxValue: 0,\n              currentValue: 1,\n              minValue: 1\n            });\n          }\n        }\n      });\n    });\n\n    productSku_defineProperty(this, \"updateSelectedSkuId\", selectedSkuId => {\n      this.setState({\n        selectedSkuId\n      });\n      this.setMaxValue(this.state.skuInfoList, selectedSkuId);\n    });\n\n    productSku_defineProperty(this, \"updateProductStock\", skuInfoList => {\n      fetchProductStockModel(this.props.shopId, this.props.salePageInfo.skuIdList, skuInfoList).then(result => {\n        this.setState({\n          skuInfoList: result\n        });\n        this.setMaxValue(result, this.state.selectedSkuId);\n      }).catch(error => console.log('fetchProductStockModel Error:', error));\n    });\n\n    productSku_defineProperty(this, \"selectPurchaseMethod\", pointPayOptionItem => {\n      this.setState(state => underscore[\"extend\"]({}, {\n        selectedPointPayOptionItem: state.selectedPointPayOptionItem\n      }, {\n        selectedPointPayOptionItem: pointPayOptionItem\n      }));\n    });\n\n    const {\n      salePageInfo\n    } = props;\n    this.state = {\n      currentValue: 1,\n      minValue: 1,\n      maxValue: 0,\n      salePageInfo,\n      skuInfoList: null,\n      mainImageUrl: salePageInfo && salePageInfo.mainImageUrl[0].imageSrc,\n      selectedSkuId: 0,\n      selectedPointPayOptionItem: salePageInfo && salePageInfo.pointsPayPairsList.length > 0 ? salePageInfo.pointsPayPairsList[0] : null\n    };\n  }\n  /**\n   * 點擊按鈕事件處理\n   */\n\n\n  /**\n   * 元件初始化\n   */\n  componentDidMount() {\n    const {\n      maxSkuLevel,\n      skuIdList\n    } = this.props.salePageInfo; // 當無SKU選項時，直接設定第一筆SkuId\n\n    if (maxSkuLevel === 0) {\n      this.setState({\n        selectedSkuId: skuIdList[0]\n      }, () => {\n        // 初始ProductGroupOption元件，先取得最新庫存數量\n        this.updateProductStock(this.props.skuInfoList);\n      });\n    } else {\n      this.updateProductStock(this.props.skuInfoList);\n    }\n  }\n\n  render() {\n    const {\n      skuGroupLevel1,\n      skuGroupLevel2,\n      maxSkuLevel,\n      status\n    } = this.state.salePageInfo;\n    const {\n      skuInfoList\n    } = this.state;\n    return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"Fragment\"], null, this.state.salePageInfo && this.state.skuInfoList && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](ProductMainInfo, {\n      salePageInfo: this.state.salePageInfo,\n      skuInfoList: this.state.skuInfoList,\n      selectedPurchaseMethod: this.state.selectedPointPayOptionItem,\n      skuId: this.state.selectedSkuId,\n      decimal: this.props.decimal,\n      symbol: this.props.symbol,\n      rate: this.props.rate\n    }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", null, (maxSkuLevel > 0 || this.state.salePageInfo.hasPointPayOption) && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](ProductWrapper, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](ProductSkuContainer, null, skuInfoList && skuInfoList.length > 0 && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](ProductGroupOption, {\n      skuInfoList: skuInfoList,\n      skuGroup: {\n        skuGroupLevel1,\n        skuGroupLevel2\n      },\n      maxSkuLevel: maxSkuLevel,\n      updateSelectedSkuId: this.updateSelectedSkuId,\n      updateProductStock: this.updateProductStock\n    }), this.props.mode !== 'Choose' && this.state.salePageInfo.hasPointPayOption && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](PurchaseMethod, {\n      purchaseMethodList: this.state.salePageInfo.pointsPayPairsList,\n      selectedPurchaseMethod: this.state.selectedPointPayOptionItem,\n      onSelectPurchaseMethod: this.selectPurchaseMethod,\n      decimal: this.props.decimal,\n      symbol: this.props.symbol,\n      rate: this.props.rate\n    }))), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](ProductQtyContainer, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](ProductDisplayQty, {\n      currentValue: this.state.currentValue,\n      maxValue: this.state.maxValue,\n      minValue: this.state.minValue,\n      onIncreseValue: this.onIncreseValue,\n      onDecreseValue: this.onDecreseValue,\n      onChangeValue: this.onChangeValue\n    }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](ProductCartButton, {\n      mode: this.props.mode,\n      status: status,\n      currentValue: this.state.currentValue,\n      maxValue: this.state.maxValue,\n      minValue: this.state.minValue,\n      onClicked: this.cartButtonHandler\n    }))));\n  }\n\n}\n// CONCATENATED MODULE: ./src/components/addToCart/mobile/slidePushMenu.tsx\n\n\n\nconst Backdrop = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"slidePushMenu__Backdrop\",\n  componentId: \"sc-1usttef-0\"\n})([\"position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;background-color:#000000;\", \"\"], props => {\n  return props.isOpen ? `\n            width: 100%;\n            height: 100%;\n            opacity: .5;\n        ` : `\n            width: 0;\n            height: 0;\n            opacity: 0;\n        `;\n});\nconst BaseContainer = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"slidePushMenu__BaseContainer\",\n  componentId: \"sc-1usttef-1\"\n})([\"position:fixed;z-index:10001;overflow-y:scroll;background:#ffffff;bottom:-75vh;\"]);\nconst BottomContainer = Object(styled_components_browser_esm[\"c\" /* default */])(BaseContainer).withConfig({\n  displayName: \"slidePushMenu__BottomContainer\",\n  componentId: \"sc-1usttef-2\"\n})([\"width:100%;transition:all 0.3s ease;bottom:\", \";box-shadow:0 0 10px #666;\"], props => props.isOpen ? '0' : '-75');\nconst LeftContainer = Object(styled_components_browser_esm[\"c\" /* default */])(BaseContainer).withConfig({\n  displayName: \"slidePushMenu__LeftContainer\",\n  componentId: \"sc-1usttef-3\"\n})([\"top:0;left:\", \";width:80%;height:100%;transition:all 0.3s ease;box-shadow:0 0 10px #666;\"], props => props.isOpen ? '0' : '-80%');\nconst CloseButton = styled_components_browser_esm[\"c\" /* default */].a.withConfig({\n  displayName: \"slidePushMenu__CloseButton\",\n  componentId: \"sc-1usttef-4\"\n})([\"position:absolute;z-index:1;top:19px;right:16px;\"]);\n/**\n * 推半頁元件\n */\n\nconst SlidePushMenu = props => {\n  const {\n    isOpen,\n    isShowClose,\n    openDirection,\n    freezeClassName,\n    onAfterClose\n  } = props;\n  const Container = openDirection !== 'left' ? BottomContainer : LeftContainer;\n  const [isOpenMenu, setIsOpenMenu] = Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useState\"])(isOpen);\n\n  const freezeBody = isFixed => {\n    if (runtimeMode_utility_namespaceObject.checkIsClientRender()) {\n      if (isFixed) {\n        window.document.body.classList.add(freezeClassName);\n      } else {\n        window.document.body.classList.remove(freezeClassName);\n      }\n    }\n  };\n\n  const onCloseMenu = () => {\n    setIsOpenMenu(false);\n    onAfterClose();\n  };\n\n  Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useEffect\"])(() => {\n    setIsOpenMenu(isOpen);\n    freezeBody(isOpen);\n  }, [isOpen]);\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.Fragment, null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(Backdrop, {\n    isOpen: isOpenMenu,\n    onClick: onCloseMenu\n  }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(Container, {\n    id: openDirection === 'left' ? 'spark-slide-push-menu__left-containter' : '',\n    isOpen: isOpenMenu\n  }, isShowClose && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CloseButton, {\n    onClick: onCloseMenu\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"i\", {\n    className: \"icon icon-slim-close\"\n  })), props.children));\n};\n\nSlidePushMenu.defaultProps = {\n  isOpen: false,\n  isShowClose: true,\n  openDirection: 'bottom',\n  freezeClassName: 'freeze--strictly'\n};\n/* harmony default export */ var slidePushMenu = (SlidePushMenu);\n// CONCATENATED MODULE: ./src/models/salePage.model.ts\n\n\n\n\n/**\n * 取得商品狀態\n * @param salePageId \n */\nconst fetchSalePageStatusModel = async salePageId => {\n  try {\n    const apiUrl = getMwebApiUrl(`SalePageStatus/GetSalePageStatus/${salePageId}`);\n    const fetchParameters = {\n      method: 'POST'\n    };\n    const result = await fetchApi(apiUrl, fetchParameters);\n    return Promise.resolve(result);\n  } catch (error) {\n    return Promise.reject(error);\n  }\n};\n/**\n * 取得商品資訊\n * @description 此API較完整商品資訊\n * @param shopId \n * @param salePageId \n */\n\nconst fetchSalePageInfoModel = async (shopId, salePageId) => {\n  try {\n    const apiUrl = getMwebApiUrl(`SalePagev2/GetSalePageV2Info/${shopId}/${salePageId}?hasShow2LevelAllImageList=true`, true);\n    const result = await fetchApi(apiUrl);\n    const {\n      ReturnCode,\n      Data,\n      Message\n    } = result;\n\n    if (ReturnCode === 'API0001') {\n      // 取得商品狀態 API\n      const status = await fetchSalePageStatusModel(salePageId);\n      Data.StatusDef = getSalePageStatus(status, Data.IsAPPOnly, Data.IsShareToBuy);\n      return Promise.resolve(fetchSalePageInfoMapping(Data));\n    } else {\n      return Promise.reject(Message);\n    }\n  } catch (error) {\n    return Promise.reject(error);\n  }\n};\n/**\n * 判斷商品狀態處理\n * @param status \n * @param isAppOnly \n * @param isShareToBuy \n */\n\nconst getSalePageStatus = (status, isAppOnly, isShareToBuy) => {\n  let type = status;\n\n  switch (true) {\n    case isAppOnly && isShareToBuy:\n      // APP獨賣權重比分享後購買高\n      type = 'AppOnly';\n      break;\n\n    case isAppOnly:\n      type = 'AppOnly';\n      break;\n\n    case isShareToBuy:\n      type = 'ShareToBuy';\n      break;\n  }\n\n  return type;\n};\n/**\n * 整理API回應的商品資料處理\n * @param data \n */\n\n\nconst fetchSalePageInfoMapping = data => {\n  const skuList = data.MajorList[0].SKUList;\n  let maxSkuLevel;\n\n  if (skuList && skuList.length > 0) {\n    if (skuList.length === 1) {\n      maxSkuLevel = skuList[0].Title === '-1' ? 0 : 1;\n    } else {\n      maxSkuLevel = 2;\n    }\n  } else {\n    maxSkuLevel = 0;\n  } // 轉換第一階key值清單\n\n\n  const skuKeyListLevel1 = maxSkuLevel > 0 ? underscore[\"map\"](skuList[0].PropertyList, item => {\n    return {\n      skuName: item.Name,\n      skuKey: item.PropertyNameSet\n    };\n  }) : []; // 組合第一階資訊\n\n  const skuGroupLevel1 = {\n    skuGroupName: skuList.length > 0 ? skuList[0].Title : '-1',\n    skuKeyList: skuKeyListLevel1\n  }; // 轉換第二階key值清單，如果沒有二階回傳空陣列\n\n  const skuKeyListLevel2 = maxSkuLevel === 2 ? underscore[\"map\"](skuList[1].PropertyList, item => {\n    return {\n      skuName: item.Name,\n      skuKey: item.PropertyNameSet\n    };\n  }) : []; // 組合第二階資訊\n\n  const skuGroupLevel2 = maxSkuLevel === 2 ? {\n    skuGroupName: skuList[1].Title,\n    skuKeyList: skuKeyListLevel2\n  } : null; // SKU初始資料清單\n\n  const skuInfoList = underscore[\"map\"](data.SKUPropertySetList, item => {\n    return {\n      isShow: item.IsShow,\n      skuKey: item.PropertyNameSet,\n      skuId: item.SaleProductSKUId,\n      sellingQty: item.SellingQty,\n      // 可售庫存數量，已經包含取得「當前庫存」及「一次購買最大數量」的最小值交集，不需要額外的OnceQty欄位判斷\n      price: item.Price,\n      suggestPrice: item.SuggestPrice\n    };\n  }); // SKU商品圖清單\n\n\n  const imageInfoList = underscore[\"map\"](data.ImageList, item => {\n    return {\n      skuId: item.Id,\n      skuName: item.SKUPropertyNameSet,\n      imageSrc: item.PicUrl\n    };\n  }); // 組合元件商品資料格式\n\n\n  const salePageInfo = {\n    maxSkuLevel,\n    skuGroupLevel1,\n    skuGroupLevel2,\n    id: data.Id,\n    status: data.StatusDef,\n    mainImageUrl: imageInfoList,\n    price: data.Price,\n    title: data.Title,\n    skuIdList: data.SaleProductSKUIdList,\n    suggestPrice: data.SuggestPrice,\n    maxPrice: data.MaxPrice,\n    maxSuggestPrice: data.MaxSuggestPrice,\n    minPrice: data.MinPrice,\n    minSuggestPrice: data.MinSuggestPrice,\n    hasPointPayOption: data.PointsPayPairsList && data.PointsPayPairsList.length > 0,\n    pointsPayPairsList: data.PointsPayPairsList\n  };\n  return {\n    salePageInfo,\n    skuInfoList\n  };\n};\n// CONCATENATED MODULE: ./src/models/shoppingCart.model.ts\n\n\n\n/**\n * 商品加入購物車\n * @param params \n */\nconst addShoppingCartModel = async params => {\n  const {\n    shopId,\n    payload,\n    isSkuQtyAccumulate = false\n  } = params;\n  const {\n    salePageId,\n    quantity,\n    skuId,\n    OptionalTypeId,\n    OptionalTypeDef\n  } = payload;\n\n  try {\n    const apiUrl = getMwebApiUrl(`ShoppingCartV4/InsertItem?shopId=${shopId}`);\n    const fetchParameters = {\n      method: 'POST',\n      body: JSON.stringify({\n        shopId,\n        salePageId,\n        qty: quantity,\n        saleProductSKUId: skuId,\n        OptionalTypeId,\n        OptionalTypeDef,\n        IsSkuQtyAccumulate: isSkuQtyAccumulate\n      })\n    };\n    const result = await fetchApi(apiUrl, fetchParameters);\n\n    if (result.ReturnCode === 'API5101') {\n      return Promise.resolve(result.Data);\n    } else {\n      return Promise.reject(result.Message);\n    }\n  } catch (error) {\n    return Promise.reject(error);\n  }\n};\n// CONCATENATED MODULE: ./src/components/addToCart/mobile/addToCart.mobile.tsx\nfunction addToCart_mobile_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * 手機版 - SKU Popup模組\n */\nclass addToCart_mobile_AddToCart extends external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"Component\"] {\n  constructor(props) {\n    super(props);\n\n    addToCart_mobile_defineProperty(this, \"checkAddToCartDirect\", data => {\n      const {\n        salePageInfo,\n        skuInfoList\n      } = data;\n      const {\n        status\n      } = salePageInfo;\n\n      switch (status) {\n        case 'AppOnly':\n        case 'ShareToBuy':\n        case 'Normal':\n          this.setState({\n            isOpenLoad: false,\n            isOpenSku: true,\n            salePageInfo,\n            skuInfoList\n          });\n          break;\n\n        default:\n          this.setState({\n            isOpenLoad: false\n          });\n          this.showMessage(status);\n          break;\n      }\n    });\n\n    addToCart_mobile_defineProperty(this, \"handleAddToCart\", productInfo => {\n      // 檢查是否選取數量\n      if (productInfo.payload.skuId <= 0) {\n        this.setState({\n          isOpenToast: true,\n          toastType: 'warning',\n          toastMessage: external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.SELECT_OPTION)\n        });\n        return;\n      } // 選購模式\n\n\n      if (this.state.mode === 'Choose') {\n        this.setState({\n          productInfo\n        }, () => {\n          this.setState({\n            isOpenToast: false,\n            toastType: '',\n            toastMessage: '',\n            isOpenSku: false,\n            salePageInfo: null,\n            skuInfoList: null,\n            salePageId: 0\n          }, () => {\n            if (this.props.afterSuccess) {\n              // 傳出外部GA使用的參數\n              this.props.afterSuccess(productInfo.payload);\n            }\n          });\n        });\n      } else {\n        // 加入購物車模式\n        this.setState({\n          isOpenSku: false\n        }, () => {\n          this.setState({\n            isOpenLoad: true,\n            productInfo\n          }); // Fetch API 加入購物車\n\n          addShoppingCartModel(productInfo).then(result => {\n            this.setState({\n              isOpenLoad: false\n            }, () => {\n              this.showMessage('AddSuccess');\n            });\n          }).catch(error => {\n            console.log('加入購物車 Error:', error);\n            this.setState({\n              isOpenLoad: false,\n              isOpenDialog: true,\n              dialogMessage: error\n            });\n          });\n        });\n      }\n    });\n\n    addToCart_mobile_defineProperty(this, \"handleAppOnly\", (shopId, salePageId) => {\n      this.setState({\n        isOpenSku: false\n      });\n\n      if (device_utility_namespaceObject.getBrowsingMode() === BROWSING_MODE.MOBILE) {\n        if (this.props.handleRedirectDeepLink) {\n          this.props.handleRedirectDeepLink();\n        } else {\n          window.location.href = '/SalePage/index/' + salePageId;\n        }\n      } else {\n        window.location.href = '/SalePage/ShowQRCode/' + salePageId;\n      }\n    });\n\n    addToCart_mobile_defineProperty(this, \"handleFacebookShare\", salePageId => {\n      if (this.props.facebook) {\n        const link = `${window.location.protocol}//${window.location.host}/SalePage/Index/${salePageId}`;\n        this.props.facebook.ui({\n          method: 'feed',\n          link,\n          display: 'popup'\n        }, response => {\n          this.state.salePageInfo.status = 'Normal';\n          this.setState({\n            salePageInfo: this.state.salePageInfo\n          });\n        });\n      }\n    });\n\n    addToCart_mobile_defineProperty(this, \"onCloseAddToCartHandler\", () => {\n      this.setState({\n        isOpenSku: false,\n        salePageInfo: null,\n        skuInfoList: null,\n        salePageId: 0\n      }, () => {\n        if (this.props.afterClose) {\n          this.props.afterClose();\n        }\n      });\n    });\n\n    addToCart_mobile_defineProperty(this, \"onCloseToastHandler\", () => {\n      // 當未選SKU直接加入購物車彈出警告訊息時，清空Toast狀態\n      if (this.state.toastMessage === external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.SELECT_OPTION)) {\n        this.setState({\n          isOpenToast: false,\n          toastType: '',\n          toastMessage: ''\n        });\n      } else if (this.state.toastMessage === external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.ADD_SUCCESS)) {\n        // 當加入成功後觸發call back事件\n        this.setState({\n          isOpenToast: false,\n          toastType: '',\n          toastMessage: '',\n          isOpenSku: false,\n          salePageInfo: null,\n          skuInfoList: null,\n          salePageId: 0\n        }, () => {\n          if (this.props.afterSuccess) {\n            // 傳出外部GA使用的參數\n            this.props.afterSuccess(this.state.productInfo.payload);\n          }\n        });\n      } else {\n        this.setState({\n          isOpenToast: false,\n          toastType: '',\n          toastMessage: ''\n        }, this.onCloseAddToCartHandler);\n      }\n    });\n\n    addToCart_mobile_defineProperty(this, \"showMessage\", status => {\n      const messageItem = getToastMessageItem(status);\n\n      if (messageItem) {\n        this.setState({\n          isOpenToast: true,\n          toastMessage: external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(messageItem.message),\n          toastType: messageItem.type\n        });\n      }\n    });\n\n    addToCart_mobile_defineProperty(this, \"handleCloseDialog\", () => {\n      this.setState({\n        isOpenDialog: false,\n        dialogMessage: ''\n      }, this.onCloseAddToCartHandler);\n    });\n\n    this.state = {\n      mode: props.mode || 'Normal',\n      salePageId: props.salePageId,\n      isOpenSku: false,\n      isOpenToast: false,\n      isOpenLoad: false,\n      isOpenDialog: false,\n      toastType: '',\n      toastMessage: '',\n      dialogMessage: '',\n      salePageInfo: null,\n      skuInfoList: null,\n      productInfo: null,\n      skuQtyMode: props.skuQtyMode || 'Overwrite'\n    };\n  }\n  /**\n   * 檢查是否開啟 SKU Popup\n   */\n\n\n  // TODO: 之後再調整不要使用componentWillReceiveProps觸發開關\n  componentWillReceiveProps(nextProps) {\n    if (nextProps.salePageId !== this.state.salePageId && !this.state.isOpenSku) {\n      this.setState({\n        isOpenLoad: true\n      }); // 取得API商品資訊\n\n      fetchSalePageInfoModel(this.props.shopId, nextProps.salePageId).then(data => this.checkAddToCartDirect(data)).catch(err => {\n        this.setState({\n          isOpenLoad: false\n        });\n        this.showMessage('Error');\n      });\n    }\n  }\n\n  render() {\n    return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: \"add-to-cart-mobile\"\n    }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](slidePushMenu, {\n      isOpen: this.state.isOpenSku,\n      openDirection: 'bottom',\n      isShowClose: true,\n      onAfterClose: this.onCloseAddToCartHandler,\n      freezeClassName: 'freeze'\n    }, this.state.salePageInfo && this.state.skuInfoList && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](productSku_ProductSku, {\n      mode: this.state.mode,\n      decimal: this.props.decimal,\n      symbol: this.props.symbol,\n      rate: this.props.rate,\n      shopId: this.props.shopId,\n      salePageInfo: this.state.salePageInfo,\n      skuInfoList: this.state.skuInfoList,\n      skuQtyMode: this.state.skuQtyMode,\n      handleAddToCart: this.handleAddToCart,\n      handleAppOnly: this.handleAppOnly,\n      handleFacebookShare: this.handleFacebookShare,\n      onAddQuantity: this.props.onAddQuantity,\n      onRemoveQuantity: this.props.onRemoveQuantity\n    })), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](toast_toast, {\n      isOpen: this.state.isOpenToast,\n      type: this.state.toastType,\n      message: this.state.toastMessage,\n      afterClose: this.onCloseToastHandler\n    }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](loading_loading, {\n      isLoading: this.state.isOpenLoad\n    }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](dialog, {\n      isOpen: this.state.isOpenDialog,\n      isShowClose: false,\n      confirmText: external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.CONFIRM),\n      onConfirmDialog: this.handleCloseDialog\n    }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", null, this.state.dialogMessage)));\n  }\n\n}\n// EXTERNAL MODULE: ./src/components/checkBox/checkBox.scss\nvar checkBox = __webpack_require__(29);\n\n// CONCATENATED MODULE: ./src/components/checkBox/checkBox.tsx\n\n\n\nconst CheckBox = /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"forwardRef\"]((props, ref) => {\n  const {\n    labelText,\n    id,\n    name,\n    isCheck,\n    isDisable,\n    identifier,\n    afterCheck\n  } = props;\n  const [checked, setChecked] = Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useState\"])(isCheck);\n  const [disabled, setDisabled] = Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useState\"])(isDisable);\n\n  const handleClick = (identifier, checked) => {\n    setChecked(!checked);\n\n    if (typeof afterCheck === 'function') {\n      afterCheck(identifier, !checked);\n    }\n  };\n\n  Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useEffect\"])(() => {\n    setChecked(isCheck);\n  }, [isCheck]);\n  Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useEffect\"])(() => {\n    setDisabled(isDisable);\n  }, [isDisable]);\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"label\", {\n    htmlFor: id,\n    className: \"checkbox-container\"\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"input\", {\n    id: id,\n    name: name,\n    type: \"checkbox\",\n    className: \"input-checkbox\",\n    checked: checked,\n    disabled: disabled,\n    onClick: () => {\n      handleClick(identifier, checked);\n    },\n    ref: ref\n  }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"span\", {\n    className: \"check-mark\"\n  }), labelText && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"span\", {\n    className: \"label-text\"\n  }, labelText));\n});\n/* harmony default export */ var checkBox_checkBox = (CheckBox);\n// EXTERNAL MODULE: ./src/components/radioButton/radioButton.scss\nvar radioButton = __webpack_require__(30);\n\n// EXTERNAL MODULE: ./node_modules/uuid/v4.js\nvar v4 = __webpack_require__(16);\nvar v4_default = /*#__PURE__*/__webpack_require__.n(v4);\n\n// CONCATENATED MODULE: ./src/components/radioButton/radioButton.tsx\n\n\n\n\nconst RadioButton = /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"forwardRef\"]((props, ref) => {\n  const id = props.id && 'radioBtnId' + v4_default()();\n  const className = props.className || '';\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n    className: classnames_default()('radio-button', {\n      className: !!className,\n      'radio-button__disable': props.disabled\n    })\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"input\", {\n    type: \"radio\",\n    className: \"radio-button__hidden\",\n    id: id,\n    disabled: props.disabled,\n    checked: props.checked,\n    onChange: props.onChange,\n    value: props.value,\n    name: props.htmlName,\n    ref: ref\n  }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"label\", {\n    className: \"radio-button__entry\",\n    htmlFor: id\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n    className: \"radio-button__circle\"\n  }), props.children));\n});\n/* harmony default export */ var radioButton_radioButton = (RadioButton);\n// CONCATENATED MODULE: ./src/components/link/index.tsx\n\n\nconst Link = styled_components_browser_esm[\"c\" /* default */].a.withConfig({\n  displayName: \"link__Link\",\n  componentId: \"sc-13pj9u1-0\"\n})([\"color:\", \";&:active{color:\", \";}&:hover{color:color:\", \";cursor:pointer;}\"], props => underscore_default.a.isEmpty(props.theme) ? '#428bca' : props.theme.generalStyle.linkColor, props => underscore_default.a.isEmpty(props.theme) ? '#428bca' : props.theme.generalStyle.linkColor, props => underscore_default.a.isEmpty(props.theme) ? '#428bca' : props.theme.generalStyle.linkColor);\n/* harmony default export */ var components_link = (Link);\n// CONCATENATED MODULE: ./src/components/tag/index.tsx\n\n\n\nconst tagVariant = variant => {\n  switch (variant) {\n    case 'emphasis':\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"color:\", \";background-color:\", \";\"], props => underscore_default.a.isEmpty(props.theme) ? '#fff2f2' : props.theme.tagStyle.emphasisTagTextColor, props => underscore_default.a.isEmpty(props.theme) ? '#ff5353' : props.theme.tagStyle.emphasisTagBgColor);\n\n    case 'general':\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"color:\", \";background-color:\", \";\"], props => underscore_default.a.isEmpty(props.theme) ? '#ff5353' : props.theme.tagStyle.generalTagTextColor, props => underscore_default.a.isEmpty(props.theme) ? '#fff2f2' : props.theme.tagStyle.generalTagBgColor);\n\n    default:\n      return Object(styled_components_browser_esm[\"b\" /* css */])([\"color:'#ff5353';background-color:'#fff2f2';\"]);\n  }\n};\n\nconst Tag = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"tag__Tag\",\n  componentId: \"sc-u28i3w-0\"\n})([\"display:inline-block;padding:4px;font-size:12px;border-radius:2px;\", \"    \"], props => {\n  const {\n    variant\n  } = props;\n  return tagVariant(variant);\n});\nTag.defaultProps = {\n  variant: 'general'\n};\n/* harmony default export */ var tag = (Tag);\n// CONCATENATED MODULE: ./src/components/theme/index.tsx\nfunction theme_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction theme_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { theme_ownKeys(Object(source), true).forEach(function (key) { theme_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { theme_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction theme_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\nconst SparkCoreThemeProvider = props => {\n  const {\n    theme\n  } = props;\n\n  const globalTheme = theme_objectSpread(theme_objectSpread({}, theme), {}, {\n    // FIXME 暫解 globalStyleData 缺少 key 造成白頁\n    generalStyle: {\n      linkColor: theme.generalStyle && theme.generalStyle.linkColor || '#428bca',\n      moneyColor: theme.generalStyle && theme.generalStyle.moneyColor || '#ff5353'\n    },\n    tagStyle: {\n      emphasisTagBgColor: theme.tagStyle && theme.tagStyle.emphasisTagBgColor || '#ff5353',\n      emphasisTagTextColor: theme.tagStyle && theme.tagStyle.emphasisTagTextColor || '#ffffff',\n      generalTagBgColor: theme.tagStyle && theme.tagStyle.generalTagBgColor || '#fff2f2',\n      generalTagTextColor: theme.tagStyle && theme.tagStyle.generalTagTextColor || '#ff5353'\n    },\n    buttonStyle: {\n      primaryBtnBgColor: theme.buttonStyle && theme.buttonStyle.primaryBtnBgColor || '#ff5353',\n      primaryBtnTextColor: theme.buttonStyle && theme.buttonStyle.primaryBtnTextColor || '#ffffff',\n      secondBtnVariant: theme.buttonStyle && theme.buttonStyle.secondBtnVariant || 'outline',\n      secondBtnBgColor: theme.buttonStyle && theme.buttonStyle.secondBtnBgColor || '#ffffff',\n      secondBtnTextColor: theme.buttonStyle && theme.buttonStyle.secondBtnTextColor || '#ff5353',\n      secondBtnBorderColor: theme.buttonStyle && theme.buttonStyle.secondBtnBorderColor || '#ff5353'\n    }\n  });\n\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(styled_components_browser_esm[\"a\" /* ThemeProvider */], {\n    theme: globalTheme\n  }, props.children);\n};\n\n/* harmony default export */ var components_theme = (SparkCoreThemeProvider);\n// CONCATENATED MODULE: ./src/styles/model/color.ts\n// 紅色系\nconst primaryRed = '#ff5353'; // 白色系\n\nconst white = '#fff';\nconst whiteThree = '#d8d8d8'; // 黑色系\n\nconst blackTwo = '#000';\nconst blackThree = '#333'; // 灰色系\n\nconst brownishGrey = '#666';\nconst lightGrey = '#dddddd';\nconst warmGrey = '#999';\nconst cloudyGray = '#ddd';\nconst paleGrey = '#f7f8fa';\nconst veryLightPink = '#ccc';\nconst veryLightPinkTwo = '#ececec';\nconst veryLightPinkThree = '#bbb';\nconst silver = '#d4d9de'; // 藍色系\n\nconst windowsBlue = '#428bca';\n// CONCATENATED MODULE: ./src/styles/model/zindex.ts\n// TODO: 待整理modal之外的zindex\nconst componentZindex = {\n  toast: 1070,\n  toastBack: 1060,\n  dialog: 1050,\n  dialogBack: 1040,\n  slidePushMenu: 1000,\n  nsMediaGallery: 200,\n  navTab: 90,\n  nsToolBox: 499,\n  mainVision: 550,\n  smartAppBanner: 500,\n  base: 1\n};\nconst headerZindex = {\n  fullScreen: 700,\n  navMenu: 650,\n  layoutHeader: 500,\n  searchKeywordList: 100\n};\nconst footerZindex = {\n  nsBasket: 300,\n  scrollToTop: 250,\n  layoutFooter: 200,\n  nsBrowsingHistory: 100\n};\n// CONCATENATED MODULE: ./src/styles/common/mixin/animate.ts\n// import { css, Keyframes, FlattenSimpleInterpolation } from 'styled-components';\n\n/**\n * animate 動畫\n * @param {string} name - 動畫名稱。(animation-name)\n * @param {string} time - 執行時間。(animation-duration)\n * @param {string} way - 動畫方式。(animation-timing-function)\n */\nconst animate = (name, time, way) => {\n  return `\n        animation: ${name} ${time} ${way} 0s;\n        animation-fill-mode: forwards;\n    `;\n};\n\n/* harmony default export */ var mixin_animate = (animate);\n// CONCATENATED MODULE: ./src/components/dialog/dialogBackdrop.tsx\n\n\n\n\n\nconst backdropMaskOpacityMode = `${mixin_animate('fadeIn', '0.2s', 'ease-out')}`;\nconst dialogBackdrop_Backdrop = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"dialogBackdrop__Backdrop\",\n  componentId: \"sc-hyswb6-0\"\n})([\"position:fixed;top:0;right:0;bottom:0;left:0;background-color:\", \";z-index:\", \";@keyframes fadeIn{0%{opacity:0;}100%{opacity:0.5;}}\", \"\"], blackTwo, componentZindex.dialogBack, props => props.isMaskOpacity ? backdropMaskOpacityMode : '');\n\nconst DialogBackdrop = props => {\n  const {\n    isMaskOpacity,\n    onCloseDialog\n  } = props;\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialogBackdrop_Backdrop, {\n    isMaskOpacity: isMaskOpacity,\n    onClick: onCloseDialog\n  });\n};\n\n/* harmony default export */ var dialogBackdrop = (DialogBackdrop);\n// CONCATENATED MODULE: ./src/components/dialog/dialogBody.tsx\n\n\n\nconst fixedBodyMode = Object(styled_components_browser_esm[\"b\" /* css */])([\"text-align:left;padding:15px 0;height:200px;max-height:200px;overflow:scroll;\"]);\nconst normalNode = Object(styled_components_browser_esm[\"b\" /* css */])([\"text-align:center;padding:15px;\"]);\nconst dialogBody_Container = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"dialogBody__Container\",\n  componentId: \"sc-195r2qp-0\"\n})([\"line-height:1.5;color:\", \";\", \";\"], blackThree, props => props.isFixedBody ? fixedBodyMode : normalNode);\n\nconst DialogBody = props => {\n  const {\n    isFixedBody,\n    children\n  } = props;\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialogBody_Container, {\n    isFixedBody: isFixedBody\n  }, children);\n};\n\n/* harmony default export */ var dialogBody = (DialogBody);\n// CONCATENATED MODULE: ./src/components/dialog/dialogHeader.tsx\n\n\n\n// TODO: close\nconst dialogHeader_Container = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"dialogHeader__Container\",\n  componentId: \"sc-5gdab3-0\"\n})([\"min-height:15px;padding:15px 15px 0;\"]);\nconst IconWrapper = styled_components_browser_esm[\"c\" /* default */].a.withConfig({\n  displayName: \"dialogHeader__IconWrapper\",\n  componentId: \"sc-5gdab3-1\"\n})([\"position:absolute;right:10px;cursor:pointer;line-height:30px;color:\", \";display:block;background:rgba(255,255,255,0.7);border-radius:50%;width:30px;height:30px;text-align:center;font-size:10px;\"], blackThree);\nconst dialogHeader_Title = styled_components_browser_esm[\"c\" /* default */].h2.withConfig({\n  displayName: \"dialogHeader__Title\",\n  componentId: \"sc-5gdab3-2\"\n})([\"font-size:16px;line-height:1.5;margin:0 25px;text-align:center;font-weight:500;\"]);\n\nconst DialogHeader = props => {\n  const {\n    isShowClose,\n    title,\n    onCloseDialog\n  } = props;\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialogHeader_Container, null, isShowClose && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(IconWrapper, {\n    onClick: onCloseDialog\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(\"i\", {\n    className: \"icon icon-close\"\n  })), title && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialogHeader_Title, null, title));\n};\n\n/* harmony default export */ var dialogHeader = (DialogHeader);\n// CONCATENATED MODULE: ./src/components/dialog/dialogFooter.tsx\n\n\n\nconst dialogFooter_Container = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"dialogFooter__Container\",\n  componentId: \"sc-17q74un-0\"\n})([\"display:flex;padding:10px 15px 15px;width:100%;box-sizing:border-box;\"]);\nconst CancelBtn = Object(styled_components_browser_esm[\"c\" /* default */])(components_button).withConfig({\n  displayName: \"dialogFooter__CancelBtn\",\n  componentId: \"sc-17q74un-1\"\n})([\"font-size:15px;flex:1;margin-right:10px;\"]);\nconst ConfirmBtn = Object(styled_components_browser_esm[\"c\" /* default */])(components_button).withConfig({\n  displayName: \"dialogFooter__ConfirmBtn\",\n  componentId: \"sc-17q74un-2\"\n})([\"font-size:15px;flex:1;margin:0;\"]);\n\nconst DialogFooter = props => {\n  const {\n    cancelText,\n    confirmText,\n    onCloseDialog,\n    onConfirmDialog\n  } = props;\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialogFooter_Container, null, cancelText && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(CancelBtn, {\n    variant: \"normal\",\n    onClick: onCloseDialog\n  }, cancelText), confirmText && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(ConfirmBtn, {\n    variant: \"contained\",\n    onClick: onConfirmDialog\n  }, confirmText));\n};\n\n/* harmony default export */ var dialogFooter = (DialogFooter);\n// CONCATENATED MODULE: ./src/components/dialog/index.tsx\n\n\n\n\n\n\n\n\n\n\n/**\n * @props customStyle ex. { backgroundColor: 'red' }\n * @props customCss ex. \"background-color: red\"\n */\n\nconst dialog_Container = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"dialog__Container\",\n  componentId: \"sc-1s99j3e-0\"\n})([\"position:fixed;top:0;right:0;bottom:0;left:0;margin:0;z-index:\", \";display:\", \";overflow:\", \";\"], componentZindex.dialog, props => props.isOpen ? 'block' : 'none', props => props.isOpen ? 'hidden' : '');\nconst BodyWrapper = styled_components_browser_esm[\"c\" /* default */].div.withConfig({\n  displayName: \"dialog__BodyWrapper\",\n  componentId: \"sc-1s99j3e-1\"\n})([\"position:relative;top:50%;width:290px;margin:0 auto;border-radius:4px;background-color:\", \";box-shadow:0 3px 7px rgba(0,0,0,0.3);z-index:\", \";@keyframes upToCenter{0%{transform:translateY(-100%);}100%{transform:translateY(-50%);}}\", \" \", \";\"], white, componentZindex.dialog, mixin_animate('upToCenter', '0.2s', 'ease-out'), props => props.customCss || '');\n/**\n * 彈跳視窗元件\n */\n\nconst Dialog = props => {\n  const {\n    title,\n    isOpen,\n    isMaskOpacity,\n    isFixedBody,\n    isEnableBackdropClick,\n    onCloseDialog,\n    onConfirmDialog,\n    customStyle,\n    customCss,\n    isShowClose,\n    children,\n    cancelText,\n    confirmText\n  } = props;\n\n  const removeFreezeBody = () => {\n    window.document.body.classList.remove('freeze');\n  };\n  /**\n   * 當開啟PopUp鎖住底部scroll處理\n   */\n\n\n  const freezeBody = isFixed => {\n    if (runtimeMode_utility_namespaceObject.checkIsClientRender()) {\n      if (isFixed) {\n        window.document.body.classList.add('freeze');\n      } else {\n        removeFreezeBody();\n      }\n    }\n  };\n\n  Object(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"useEffect\"])(() => {\n    freezeBody(isOpen);\n    return () => {\n      removeFreezeBody();\n    };\n  }, [isOpen]);\n  return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialog_Container, {\n    isOpen: isOpen\n  }, isOpen && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"Fragment\"], null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialogBackdrop, {\n    isMaskOpacity: isMaskOpacity,\n    onCloseDialog: isEnableBackdropClick ? onCloseDialog : null\n  }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(BodyWrapper, {\n    style: customStyle,\n    customCss: customCss\n  }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialogHeader, {\n    isShowClose: isShowClose,\n    title: title,\n    onCloseDialog: onCloseDialog\n  }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialogBody, {\n    isFixedBody: isFixedBody\n  }, children), cancelText || confirmText ? /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_default.a.createElement(dialogFooter, {\n    confirmText: confirmText,\n    cancelText: cancelText,\n    onCloseDialog: onCloseDialog,\n    onConfirmDialog: onConfirmDialog\n  }) : null)));\n};\n\nDialog.defaultProps = {\n  isOpen: false,\n  isShowClose: true,\n  isMaskOpacity: true,\n  isEnableBackdropClick: true,\n  title: '',\n  confirmText: '',\n  cancelText: ''\n};\n/* harmony default export */ var dialog = (Dialog);\n// CONCATENATED MODULE: ./src/components/index.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// EXTERNAL MODULE: ./src/components/addToCart/desktop/addToCart.scss\nvar addToCart = __webpack_require__(33);\n\n// CONCATENATED MODULE: ./src/components/addToCart/desktop/addToCart.desktop.tsx\nfunction addToCart_desktop_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n// TODO: 待翻 Modal元件 scss\n\n\n/**\n * 桌機版 - 購物車Popup模組\n * @description 主要控制 Modal、Toast、Loading元件，顯示狀態\n */\nclass addToCart_desktop_AddToCart extends external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"Component\"] {\n  constructor(props) {\n    super(props);\n\n    addToCart_desktop_defineProperty(this, \"checkAddToCartDirect\", data => {\n      const {\n        salePageInfo,\n        skuInfoList\n      } = data;\n      const {\n        status\n      } = salePageInfo;\n\n      switch (status) {\n        case 'AppOnly':\n        case 'ShareToBuy':\n        case 'Normal':\n          this.setState({\n            isOpenLoad: false,\n            isOpenSku: true,\n            salePageInfo,\n            skuInfoList\n          });\n          break;\n\n        default:\n          this.setState({\n            isOpenLoad: false\n          });\n          this.showMessage(status);\n          break;\n      }\n    });\n\n    addToCart_desktop_defineProperty(this, \"handleAddToCart\", productInfo => {\n      // 檢查是否選取數量\n      if (productInfo.payload.skuId <= 0) {\n        this.setState({\n          isOpenToast: true,\n          toastType: 'warning',\n          toastMessage: external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.SELECT_OPTION)\n        });\n        return;\n      } // 選購模式\n\n\n      if (this.state.mode === 'Choose') {\n        this.setState({\n          productInfo\n        }, () => {\n          this.setState({\n            isOpenToast: false,\n            toastType: '',\n            toastMessage: '',\n            isOpenSku: false,\n            salePageInfo: null,\n            skuInfoList: null,\n            salePageId: 0\n          }, () => {\n            if (this.props.afterSuccess) {\n              // 傳出外部GA使用的參數\n              this.props.afterSuccess(productInfo.payload);\n            }\n          });\n        });\n      } else {\n        // 加入購物車模式\n        this.setState({\n          isOpenSku: false,\n          productInfo\n        }, () => {\n          this.setState({\n            isOpenLoad: true\n          }); // Fetch API 加入購物車\n\n          addShoppingCartModel(productInfo).then(result => {\n            this.setState({\n              isOpenLoad: false\n            }, () => {\n              this.showMessage('AddSuccess');\n            });\n          }).catch(error => {\n            console.log('加入購物車 Error:', error);\n            this.setState({\n              isOpenLoad: false,\n              isOpenDialog: true,\n              dialogMessage: error\n            });\n          });\n        });\n      }\n    });\n\n    addToCart_desktop_defineProperty(this, \"handleAppOnly\", (shopId, salePageId) => {\n      this.setState({\n        isOpenSku: false\n      });\n\n      if (device_utility_namespaceObject.getBrowsingMode() === BROWSING_MODE.MOBILE) {\n        if (this.props.handleRedirectDeepLink) {\n          this.props.handleRedirectDeepLink();\n        } else {\n          window.location.href = '/SalePage/index/' + salePageId;\n        }\n      } else {\n        window.location.href = '/SalePage/ShowQRCode/' + salePageId;\n      }\n    });\n\n    addToCart_desktop_defineProperty(this, \"handleFacebookShare\", salePageId => {\n      if (this.props.facebook) {\n        const link = `${window.location.protocol}//${window.location.host}/SalePage/Index/${salePageId}`;\n        this.props.facebook.ui({\n          method: 'feed',\n          link,\n          display: 'popup'\n        }, response => {\n          this.state.salePageInfo.status = 'Normal';\n          this.setState({\n            salePageInfo: this.state.salePageInfo\n          });\n        });\n      }\n    });\n\n    addToCart_desktop_defineProperty(this, \"onCloseAddToCartHandler\", () => {\n      this.setState({\n        isOpenSku: false,\n        salePageInfo: null,\n        skuInfoList: null,\n        salePageId: 0\n      }, () => {\n        if (this.props.afterClose) {\n          this.props.afterClose();\n        }\n      });\n    });\n\n    addToCart_desktop_defineProperty(this, \"onCloseToastHandler\", () => {\n      // 當未選SKU直接加入購物車彈出警告訊息時，清空Toast狀態\n      if (this.state.toastMessage === external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.SELECT_OPTION)) {\n        this.setState({\n          isOpenToast: false,\n          toastType: '',\n          toastMessage: ''\n        });\n      } else if (this.state.toastMessage === external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.TOAST.ADD_SUCCESS)) {\n        // 當加入成功後觸發call back事件\n        this.setState({\n          isOpenToast: false,\n          toastType: '',\n          toastMessage: '',\n          isOpenSku: false,\n          salePageInfo: null,\n          skuInfoList: null,\n          salePageId: 0\n        }, () => {\n          if (this.props.afterSuccess) {\n            // 傳出外部GA使用的參數\n            this.props.afterSuccess(this.state.productInfo.payload);\n          }\n        });\n      } else {\n        this.setState({\n          isOpenToast: false,\n          toastType: '',\n          toastMessage: ''\n        }, this.onCloseAddToCartHandler);\n      }\n    });\n\n    addToCart_desktop_defineProperty(this, \"showMessage\", status => {\n      const messageItem = getToastMessageItem(status);\n\n      if (messageItem) {\n        this.setState({\n          isOpenToast: true,\n          toastMessage: external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(messageItem.message),\n          toastType: messageItem.type\n        });\n      }\n    });\n\n    addToCart_desktop_defineProperty(this, \"handleCloseDialog\", () => {\n      this.setState({\n        isOpenDialog: false,\n        dialogMessage: ''\n      }, this.onCloseAddToCartHandler);\n    });\n\n    this.state = {\n      mode: props.mode || 'Normal',\n      // Normal(一般) 或 Choose(選購)\n      salePageId: props.salePageId,\n      isOpenSku: false,\n      isOpenToast: false,\n      isOpenLoad: false,\n      isOpenDialog: false,\n      toastType: '',\n      toastMessage: '',\n      dialogMessage: '',\n      salePageInfo: null,\n      skuInfoList: null,\n      productInfo: null,\n      skuQtyMode: props.skuQtyMode || 'Overwrite'\n    };\n  }\n  /**\n   * 檢查是否開啟 SKU Popup\n   */\n\n\n  // TODO: 之後再調整不要使用componentWillReceiveProps觸發開關\n  componentWillReceiveProps(nextProps) {\n    if (nextProps.salePageId !== this.state.salePageId && !this.state.isOpenSku) {\n      this.setState({\n        isOpenLoad: true\n      }); // 取得API商品資訊\n\n      fetchSalePageInfoModel(this.props.shopId, nextProps.salePageId).then(data => this.checkAddToCartDirect(data)).catch(err => {\n        this.setState({\n          isOpenLoad: false\n        });\n        this.showMessage('Error');\n      });\n    }\n  }\n\n  render() {\n    return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"Fragment\"], null, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](components_modal, {\n      isOpen: this.state.isOpenSku,\n      isShowClose: true,\n      onCloseModal: this.onCloseAddToCartHandler,\n      customCssClass: \"modal--large\"\n    }, this.state.salePageInfo && this.state.skuInfoList && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](productSku_ProductSku, {\n      skuQtyMode: this.state.skuQtyMode,\n      mode: this.state.mode,\n      decimal: this.props.decimal,\n      symbol: this.props.symbol,\n      rate: this.props.rate,\n      shopId: this.props.shopId,\n      salePageInfo: this.state.salePageInfo,\n      skuInfoList: this.state.skuInfoList,\n      handleAddToCart: this.handleAddToCart,\n      handleAppOnly: this.handleAppOnly,\n      handleFacebookShare: this.handleFacebookShare,\n      onAddQuantity: this.props.onAddQuantity,\n      onRemoveQuantity: this.props.onRemoveQuantity\n    })), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](toast_toast, {\n      isOpen: this.state.isOpenToast,\n      type: this.state.toastType,\n      message: this.state.toastMessage,\n      afterClose: this.onCloseToastHandler\n    }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](loading_loading, {\n      isLoading: this.state.isOpenLoad\n    }), /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](dialog, {\n      isOpen: this.state.isOpenDialog,\n      isShowClose: false,\n      confirmText: external_root_ReactReduxI18n_amd_react_redux_i18n_commonjs_react_redux_i18n_commonjs2_react_redux_i18n_umd_react_redux_i18n_[\"I18n\"].t(TRANSLATE_LOCALE_KEY.FRONTEND.LIB.CONFIRM),\n      onConfirmDialog: this.handleCloseDialog\n    }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", null, this.state.dialogMessage)));\n  }\n\n}\n// CONCATENATED MODULE: ./src/components/modal/modal.tsx\nfunction modal_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n;\n;\n/**\n * 彈跳視窗元件\n */\n\nclass modal_modal_Modal extends external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"Component\"] {\n  constructor(...args) {\n    super(...args);\n\n    modal_defineProperty(this, \"slidePushMenuLeftElem\", void 0);\n\n    modal_defineProperty(this, \"browsingMode\", void 0);\n\n    modal_defineProperty(this, \"freezeBody\", isFixed => {\n      if (runtimeMode_utility_namespaceObject.checkIsClientRender()) {\n        if (isFixed) {\n          window.document.body.classList.add('freeze');\n        } else {\n          window.document.body.classList.remove('freeze');\n        }\n      }\n    });\n\n    modal_defineProperty(this, \"freezeAsidePushMenu\", isFixed => {\n      const slidePushMenuLeftElemClassList = this.slidePushMenuLeftElem && this.slidePushMenuLeftElem.classList;\n\n      if (this.browsingMode === BROWSING_MODE.DESKTOP || !slidePushMenuLeftElemClassList || !userAgent_utility_namespaceObject.checkIsSafari(navigator.userAgent)) {\n        return;\n      }\n\n      if (isFixed) {\n        slidePushMenuLeftElemClassList.add('spark-slide-push-menu--freeze');\n      } else {\n        slidePushMenuLeftElemClassList.remove('spark-slide-push-menu--freeze');\n      }\n    });\n  }\n\n  componentDidMount() {\n    const {\n      isOpen\n    } = this.props;\n\n    if (runtimeMode_utility_namespaceObject.checkIsClientRender()) {\n      this.slidePushMenuLeftElem = document.getElementById('spark-slide-push-menu__left-containter');\n      this.browsingMode = device_utility_namespaceObject.getBrowsingMode();\n      this.freezeBody(isOpen);\n    }\n  }\n\n  componentWillReceiveProps(nextProps) {\n    const {\n      isOpen\n    } = this.props;\n\n    if (isOpen !== nextProps.isOpen) {\n      this.freezeBody(nextProps.isOpen);\n      this.freezeAsidePushMenu(nextProps.isOpen);\n    }\n  }\n  /**\n   * 當開啟PopUp鎖住底部scroll處理\n   */\n\n\n  render() {\n    const {\n      title,\n      isOpen,\n      isMaskOpacity,\n      onCloseModal,\n      onConfirmModal,\n      customStyle,\n      customCssClass,\n      isShowClose,\n      children,\n      cancelText,\n      confirmText\n    } = this.props;\n    return /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: classnames_default()('modal', isOpen === true ? 'modal--open' : '')\n    }, isOpen && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: classnames_default()('modal__backdrop', isMaskOpacity ? 'modal__backdrop--opacity' : ''),\n      onClick: onCloseModal\n    }), isOpen && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      style: customStyle,\n      className: classnames_default()('modal--default', customCssClass || '')\n    }, isShowClose && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: \"modal__header\"\n    }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"a\", {\n      className: \"close\",\n      onClick: onCloseModal\n    }, /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"i\", {\n      className: \"icon icon-slim-close\"\n    })), title && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"h2\", {\n      className: \"modal__title\"\n    }, title)), !children && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: \"modal__loading black-spinner \"\n    }), children && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: \"modal__body\"\n    }, children), cancelText || confirmText ? /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"div\", {\n      className: \"modal__footer\"\n    }, cancelText && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"button\", {\n      type: \"button\",\n      className: \"cancel-btn\",\n      onClick: onCloseModal\n    }, cancelText), confirmText && /*#__PURE__*/external_root_React_amd_react_commonjs_react_commonjs2_react_umd_react_[\"createElement\"](\"button\", {\n      type: \"button\",\n      className: \"confirm-btn\",\n      onClick: onConfirmModal\n    }, confirmText)) : null));\n  }\n\n}\n\nmodal_defineProperty(modal_modal_Modal, \"defaultProps\", {\n  isOpen: false,\n  isShowClose: true,\n  isMaskOpacity: true,\n  title: '',\n  confirmText: '',\n  cancelText: ''\n});\n\n/* harmony default export */ var modal_modal = (modal_modal_Modal);\n// CONCATENATED MODULE: ./src/providers/index.ts\n\n\n// CONCATENATED MODULE: ./src/index.ts\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvdXRpbGl0aWVzL2RhdGVGb3JtYXQudXRpbGl0eS50cz8yMTE5Iiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy9jb25zdGFudHMvZGV2aWNlLmNvbnN0YW50cy50cz85MTI1Iiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy91dGlsaXRpZXMvZGV2aWNlLnV0aWxpdHkudHM/NzAxOSIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvdXRpbGl0aWVzL3VzZXJBZ2VudC51dGlsaXR5LnRzPzFmMWMiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL3V0aWxpdGllcy9ydW50aW1lTW9kZS51dGlsaXR5LnRzPzdkYjkiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL3V0aWxpdGllcy9jb29raWUudXRpbGl0eS50cz85MGQwIiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy91dGlsaXRpZXMvdXJsLnV0aWxpdHkudHM/MTdiOSIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvdXRpbGl0aWVzL2N1cnJlbmN5LnV0aWxpdHkudHM/ODAwMiIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvdXRpbGl0aWVzL2luZGV4LnRzPzRhY2UiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvbW9kYWwvaW5kZXgudHN4PzFiYWYiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL3V0aWxpdGllcy9nbG9iYWxQYXJhbWV0ZXIudXRpbGl0eS50cz83NGRmIiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy91dGlsaXRpZXMvcGF0aC51dGlsaXR5LnRzP2VhOTUiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvbG9hZGluZy9sb2FkaW5nLnRzeD84MmNiIiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy9jb25zdGFudHMvdHJhbnNsYXRpb24uY29uc3RhbnRzLnRzP2U5ZDEiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QudHN4PzQwY2QiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvY3VycmVuY3kvY3VycmVuY3kudHN4PzBiMzgiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL3N0eWxlcy9jb21tb24vbWl4aW4vY2xlYXJGaXgudHM/MzJhOSIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9hZGRUb0NhcnQvcHJvZHVjdC90aGVtZUNvbG9yLnRzPzBiM2QiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvYWRkVG9DYXJ0L3Byb2R1Y3QvcHJvZHVjdFBvaW50UGF5UHJpY2UudHN4PzhjYzQiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvYWRkVG9DYXJ0L3Byb2R1Y3QvcHJvZHVjdE1haW5JbmZvLnRzeD8zYTkwIiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzLmpzP2MzMWQiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2Fzc2VydFRoaXNJbml0aWFsaXplZC5qcz8yNTdlIiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9zZXRQcm90b3R5cGVPZi5qcz9iMzgwIiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pbmhlcml0c0xvb3NlLmpzPzc0OGUiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2dldFByb3RvdHlwZU9mLmpzPzdlODQiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2lzTmF0aXZlRnVuY3Rpb24uanM/ZmE5NSIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0LmpzP2Q5NjciLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2NvbnN0cnVjdC5qcz80NDc4Iiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS93cmFwTmF0aXZlU3VwZXIuanM/OTA3MiIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vdGFnZ2VkVGVtcGxhdGVMaXRlcmFsTG9vc2UuanM/MzE0YSIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9ub2RlX21vZHVsZXMvcG9saXNoZWQvZGlzdC9wb2xpc2hlZC5lc20uanM/YjlmYSIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9hZGRUb0NhcnQvcHJvZHVjdC9wcm9kdWN0R3JvdXBPcHRpb24udHN4P2M3ZDMiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvYnV0dG9uL2luZGV4LnRzeD9jZTg0Iiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy9jb21wb25lbnRzL2FkZFRvQ2FydC9wcm9kdWN0L3Byb2R1Y3RRdHkudHN4Pzc3NjMiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvYWRkVG9DYXJ0L3Byb2R1Y3QvcHVyY2hhc2VNZXRob2QudHN4Pzg0YjQiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL3Byb3ZpZGVycy9odHRwLnByb3ZpZGVyLnRzP2E3MGIiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL21vZGVscy9wcm9kdWN0U3RvY2subW9kZWwudHM/ODk1NyIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9hZGRUb0NhcnQvcHJvZHVjdC9wcm9kdWN0U2t1LnRzeD8xNDRhIiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy9jb21wb25lbnRzL2FkZFRvQ2FydC9tb2JpbGUvc2xpZGVQdXNoTWVudS50c3g/NTI5ZSIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvbW9kZWxzL3NhbGVQYWdlLm1vZGVsLnRzP2Y3MWMiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL21vZGVscy9zaG9wcGluZ0NhcnQubW9kZWwudHM/MWI1OCIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9hZGRUb0NhcnQvbW9iaWxlL2FkZFRvQ2FydC5tb2JpbGUudHN4P2E2YTEiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvY2hlY2tCb3gvY2hlY2tCb3gudHN4PzIyMTUiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvcmFkaW9CdXR0b24vcmFkaW9CdXR0b24udHN4P2FkMjgiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvbGluay9pbmRleC50c3g/NzUzZSIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy90YWcvaW5kZXgudHN4Pzk1NzciLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvdGhlbWUvaW5kZXgudHN4P2E4ZTQiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL3N0eWxlcy9tb2RlbC9jb2xvci50cz8wMDg2Iiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy9zdHlsZXMvbW9kZWwvemluZGV4LnRzPzNiYWEiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL3N0eWxlcy9jb21tb24vbWl4aW4vYW5pbWF0ZS50cz8wM2E5Iiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2dCYWNrZHJvcC50c3g/NDdlMyIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nQm9keS50c3g/NWZiYiIsIndlYnBhY2s6Ly9AOTFhcHAvbmluZXlpLmxpYi5zcGFya2NvcmUvLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nSGVhZGVyLnRzeD8wMzNjIiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2dGb290ZXIudHN4PzM5MGMiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvZGlhbG9nL2luZGV4LnRzeD81ODI4Iiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy9jb21wb25lbnRzL2luZGV4LnRzPzM2MTciLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvYWRkVG9DYXJ0L2Rlc2t0b3AvYWRkVG9DYXJ0LmRlc2t0b3AudHN4PzBkZWMiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL2NvbXBvbmVudHMvbW9kYWwvbW9kYWwudHN4PzQ0NWIiLCJ3ZWJwYWNrOi8vQDkxYXBwL25pbmV5aS5saWIuc3Bhcmtjb3JlLy4vc3JjL3Byb3ZpZGVycy9pbmRleC50cz9hZjE4Iiwid2VicGFjazovL0A5MWFwcC9uaW5leWkubGliLnNwYXJrY29yZS8uL3NyYy9pbmRleC50cz9mZmI0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog6L2J5o+bLm5ldCBkYXRl5qC85byPXG4gKi9cbmV4cG9ydCBjb25zdCBkb3ROZXREYXRlUGFyc2VyID0gKGRhdGUpID0+IHtcbiAgICB2YXIgbWluRGF0ZSA9ICcvRGF0ZSgtNjIxMzU1OTY4MDAwMDApLyc7XG4gICAgaWYgKGRhdGUgPT09IG1pbkRhdGUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhciBuZXdEYXRlID0gbmV3IERhdGUocGFyc2VJbnQoZGF0ZS5yZXBsYWNlKFwiL0RhdGUoXCIsIFwiXCIpLnJlcGxhY2UoXCIpL1wiLCBcIlwiKSwgMTApKTtcbiAgICByZXR1cm4gbmV3RGF0ZTtcbn1cbiIsImV4cG9ydCBjb25zdCBCUk9XU0lOR19NT0RFID0ge1xuICAgIERFU0tUT1A6ICdkZXNrdG9wJyxcbiAgICBNT0JJTEU6ICdtb2JpbGUnXG59XG4iLCJpbXBvcnQgeyBCUk9XU0lOR19NT0RFIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RldmljZS5jb25zdGFudHMnO1xuaW1wb3J0IHsgcnVudGltZU1vZGVVdGlsaXR5IH0gZnJvbSAnQHV0aWxpdGllcy9pbmRleCc7XG5cbi8qKlxuICog5Y+W5b6X54CP6Ka95qih5byPXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRCcm93c2luZ01vZGUgPSAoKSA9PiB7XG4gICAgaWYgKCFydW50aW1lTW9kZVV0aWxpdHkuY2hlY2tJc0NsaWVudFJlbmRlcigpKSB7XG4gICAgICAgIHJldHVybiBCUk9XU0lOR19NT0RFLkRFU0tUT1A7XG4gICAgfVxuICAgIC8vIOiLpXNlcnZlcuacieaMh+Wumumhr+ekuueahOeAj+imveaooeW8j+eCumRlc2t0b3Ao55So5pa85omL5qmf5LiK6bue5pOK44CM5L2/55So6Zu76IWm54mI54CP6Ka944CN55qE5oOF5aKDKVxuICAgIGlmICgoZG9jdW1lbnQuY29va2llLm1hdGNoKCcoXnw7ICknICsgXCJCcm93c2luZ01vZGVcIiArICc9KFteO10qKScpIHx8IDApWzJdID09PSBcIkRlc2tUb3BcIikge1xuICAgICAgICByZXR1cm4gQlJPV1NJTkdfTU9ERS5ERVNLVE9QO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICgoL2FuZHJvaWR8d2ViT1N8aVBob25lfGlQb2R8aU9TfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpIHx8XG4gICAgICAgICAgICAoLyh0YWJsZXR8aXBhZHxwbGF5Ym9va3xzaWxrKXwoYW5kcm9pZCg/IS4qbW9iaWxlKSkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKSkge1xuICAgICAgICAgICAgcmV0dXJuIEJST1dTSU5HX01PREUuTU9CSUxFO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIEJST1dTSU5HX01PREUuREVTS1RPUDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiDmmK/lkKbngrrmiYvmqZ/mqKHlvI9cbiAqL1xuZXhwb3J0IGNvbnN0IGlzTW9iaWxlID0gKCkgPT4gZ2V0QnJvd3NpbmdNb2RlKCkgPT09IEJST1dTSU5HX01PREUuTU9CSUxFO1xuIiwiZW51bSBCcm93c2VyIHtcbiAgICBGaXJlZm94ID0gJ0ZpcmVmb3gnLFxuICAgIENocm9tZSA9ICdDaHJvbWUnLFxuICAgIFNhZmFyaSA9ICdTYWZhcmknLFxuICAgIFRyaWRlbnQgPSAnVHJpZGVudCcsXG4gICAgTVNJRSA9ICdNU0lFJyxcbn1cblxuZW51bSBEZXZpY2VPUyB7XG4gICAgQW5kcm9pZCA9ICdBbmRyb2lkJyxcbiAgICBpT1MgPSAnaU9TJyxcbiAgICBCb3QgPSAnQm90JyxcbiAgICBVbktub3duID0gJ1VuS25vd24nLFxufVxuXG5leHBvcnQgY29uc3QgY2hlY2tJc0ZpcmVmb3ggPSAodXNlckFnZW50OiBzdHJpbmcpID0+IHVzZXJBZ2VudC5pbmRleE9mKEJyb3dzZXIuRmlyZWZveCkgIT09IC0xO1xuXG5leHBvcnQgY29uc3QgY2hlY2tJc0Nocm9tZSA9ICh1c2VyQWdlbnQ6IHN0cmluZykgPT4gdXNlckFnZW50LmluZGV4T2YoQnJvd3Nlci5DaHJvbWUpICE9PSAtMTtcblxuZXhwb3J0IGNvbnN0IGNoZWNrSXNTYWZhcmkgPSAodXNlckFnZW50OiBzdHJpbmcpID0+XG4gICAgdXNlckFnZW50LmluZGV4T2YoQnJvd3Nlci5DaHJvbWUpID09PSAtMSAmJiB1c2VyQWdlbnQuaW5kZXhPZihCcm93c2VyLlNhZmFyaSkgIT09IC0xO1xuXG5leHBvcnQgY29uc3QgY2hlY2tJc0lFID0gKHVzZXJBZ2VudDogc3RyaW5nKSA9PlxuICAgIHVzZXJBZ2VudC5pbmRleE9mKEJyb3dzZXIuVHJpZGVudCkgPiAwIHx8IHVzZXJBZ2VudC5pbmRleE9mKEJyb3dzZXIuTVNJRSkgPiAwO1xuXG5leHBvcnQgY29uc3QgZ2V0RGV2aWNlT1MgPSAodXNlckFnZW50OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoL2FuZHJvaWQvaS50ZXN0KHVzZXJBZ2VudCkpIHtcbiAgICAgICAgcmV0dXJuIERldmljZU9TLkFuZHJvaWQ7XG4gICAgfVxuICAgIGlmICgvKGlQaG9uZXxpUGFkfGlQb2R8aU9TKS9pLnRlc3QodXNlckFnZW50KSkge1xuICAgICAgICByZXR1cm4gRGV2aWNlT1MuaU9TO1xuICAgIH1cbiAgICBpZiAoL2JvdHxzcGlkZXJ8Y3Jhd2wvaS50ZXN0KHVzZXJBZ2VudCkpIHtcbiAgICAgICAgcmV0dXJuIERldmljZU9TLkJvdDtcbiAgICB9XG4gICAgcmV0dXJuIERldmljZU9TLlVuS25vd247XG59O1xuXG5leHBvcnQgY29uc3QgY2hlY2tJc0JvdCA9ICgpID0+XG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93Lm5hdmlnYXRvciAmJiAvYm90fHNwaWRlcnxjcmF3bC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4iLCJleHBvcnQgY29uc3QgY2hlY2tJc0NsaWVudFJlbmRlciA9ICgpID0+IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnO1xuXG5leHBvcnQgY29uc3QgY2hlY2tJc1NlcnZlclJlbmRlciA9ICgpID0+IHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnO1xuIiwiZXhwb3J0IGNvbnN0IGFkZENvb2tpZSA9IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGRheXM/OiBudW1iZXIpID0+IHtcbiAgICBsZXQgZXhwaXJlcyA9ICcnO1xuICAgIGlmIChkYXlzKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyBkYXlzICogMjQgKiA2MCAqIDYwICogMTAwMCk7XG4gICAgICAgIGV4cGlyZXMgPSBgOyBleHBpcmVzPSR7ZGF0ZS50b1VUQ1N0cmluZygpfWA7XG4gICAgfVxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke25hbWV9PSR7dmFsdWV9JHtleHBpcmVzfTsgcGF0aD0vYDtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVDb29raWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgIGRvY3VtZW50LmNvb2tpZSA9IGAke25hbWV9PTtleHBpcmVzPSR7dG9kYXkudG9VVENTdHJpbmcoKX07cGF0aD0vYDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb29raWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgYXJyID0gZG9jdW1lbnQuY29va2llLm1hdGNoKG5ldyBSZWdFeHAoYChefCApJHtuYW1lfT0oW147XSopKDt8JClgKSk7XG4gICAgaWYgKGFycikge1xuICAgICAgICByZXR1cm4gYXJyWzJdO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG59O1xuIiwiXG5leHBvcnQgY29uc3QgZ2V0UXVlcnlTdHJpbmcgPSAobmFtZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBtYXRjaCA9IFJlZ0V4cChgWz8mXSR7bmFtZX09KFteJl0qKWApLmV4ZWModXJsIHx8IGRvY3VtZW50LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgICAgIHJldHVybiBtYXRjaCAmJiBkZWNvZGVVUklDb21wb25lbnQoZGVjb2RlVVJJQ29tcG9uZW50KG1hdGNoWzFdLnJlcGxhY2UoL1xcKy9nLCAnICcpKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59O1xuXG4vLyBTb3VyY2UgY29kZSBmcm9tXG4vLyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzY5NTM5NDQvaG93LXRvLWFkZC1wYXJhbWV0ZXJzLXRvLWEtdXJsLXRoYXQtYWxyZWFkeS1jb250YWlucy1vdGhlci1wYXJhbWV0ZXJzLWFuZC1tYXliZVxuZXhwb3J0IGNvbnN0IGFwcGVuZFBhcmFtZXRlciA9ICh1cmw6IHN0cmluZywga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIGF0U3RhcnQgPSBmYWxzZSkgPT4ge1xuICAgIGNvbnN0IHJlcGxhY2VEdXBsaWNhdGVzID0gdHJ1ZTtcblxuICAgIC8vIEdldCB1cmwgd2l0aG91dCBoYXNoXG4gICAgbGV0IHVybGhhc2ggPSAnJztcbiAgICBsZXQgdXJsTGVuZ3RoID0gdXJsLmxlbmd0aDtcbiAgICBpZiAodXJsLmluZGV4T2YoJyMnKSA+IDApIHtcbiAgICAgICAgdXJsTGVuZ3RoID0gdXJsLmluZGV4T2YoJyMnKTtcbiAgICAgICAgdXJsaGFzaCA9IHVybC5zdWJzdHJpbmcodXJsLmluZGV4T2YoJyMnKSwgdXJsLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlVXJsID0gdXJsLnN1YnN0cmluZygwLCB1cmxMZW5ndGgpO1xuXG4gICAgLy8gR2V0IHVybCBzZWFyY2ggcGFydFxuICAgIGNvbnN0IHVybFBhcnRzID0gc291cmNlVXJsLnNwbGl0KCc/Jyk7XG4gICAgbGV0IG5ld1F1ZXJ5U3RyaW5nID0gJyc7XG5cbiAgICAvLyBHZXQgbmV3IHBhcmFtZXRlciBxdWVyeSBzdHJpbmdcbiAgICBpZiAodXJsUGFydHMubGVuZ3RoID4gMSkge1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0gdXJsUGFydHNbMV0uc3BsaXQoJyYnKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbWV0ZXJQYXJ0cyA9IHBhcmFtZXRlcnNbaV0uc3BsaXQoJz0nKTtcbiAgICAgICAgICAgIGlmICghKHJlcGxhY2VEdXBsaWNhdGVzICYmIHBhcmFtZXRlclBhcnRzWzBdID09PSBrZXkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKG5ld1F1ZXJ5U3RyaW5nID09PSAnJykge1xuICAgICAgICAgICAgICAgICAgICBuZXdRdWVyeVN0cmluZyA9ICc/JztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuZXdRdWVyeVN0cmluZyArPSAnJic7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5ld1F1ZXJ5U3RyaW5nICs9IGAke3BhcmFtZXRlclBhcnRzWzBdfT0ke3BhcmFtZXRlclBhcnRzWzFdID8gcGFyYW1ldGVyUGFydHNbMV0gOiAnJ31gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChuZXdRdWVyeVN0cmluZyA9PT0gJycpIHtcbiAgICAgICAgbmV3UXVlcnlTdHJpbmcgPSAnPyc7XG4gICAgfVxuXG4gICAgLy8gQXBwZW5kIHRvIHVybFxuICAgIGlmIChhdFN0YXJ0KSB7XG4gICAgICAgIG5ld1F1ZXJ5U3RyaW5nID0gYD8ke2tleX09JHt2YWx1ZSArIChuZXdRdWVyeVN0cmluZy5sZW5ndGggPiAxID8gYCYke25ld1F1ZXJ5U3RyaW5nLnN1YnN0cmluZygxKX1gIDogJycpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKG5ld1F1ZXJ5U3RyaW5nICE9PSAnJyAmJiBuZXdRdWVyeVN0cmluZyAhPT0gJz8nKSB7XG4gICAgICAgICAgICBuZXdRdWVyeVN0cmluZyArPSAnJic7XG4gICAgICAgIH1cbiAgICAgICAgbmV3UXVlcnlTdHJpbmcgKz0gYCR7a2V5fT0ke3ZhbHVlIHx8ICcnfWA7XG4gICAgfVxuICAgIHJldHVybiB1cmxQYXJ0c1swXSArIG5ld1F1ZXJ5U3RyaW5nICsgdXJsaGFzaDtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVRdWVyeVN0cmluZ1BhcmFtID0gKGtleTogc3RyaW5nLCBzb3VyY2VVUkw6IHN0cmluZykgPT4ge1xuICAgIGxldCBhbHRlcmVkVVJMID0gc291cmNlVVJMLnNwbGl0KCc/JylbMF07XG4gICAgbGV0IHBhcmFtOiBzdHJpbmc7XG4gICAgbGV0IHBhcmFtc0Fycjogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBxdWVyeVN0cmluZyA9IHNvdXJjZVVSTC5pbmRleE9mKCc/JykgIT09IC0xID8gc291cmNlVVJMLnNwbGl0KCc/JylbMV0gOiAnJztcbiAgICBpZiAocXVlcnlTdHJpbmcgIT09ICcnKSB7XG4gICAgICAgIHBhcmFtc0FyciA9IHF1ZXJ5U3RyaW5nLnNwbGl0KCcmJyk7XG4gICAgICAgIGZvciAobGV0IGkgPSBwYXJhbXNBcnIubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDEpIHtcbiAgICAgICAgICAgIHBhcmFtID0gcGFyYW1zQXJyW2ldLnNwbGl0KCc9JylbMF07XG4gICAgICAgICAgICBpZiAocGFyYW0gPT09IGtleSkge1xuICAgICAgICAgICAgICAgIHBhcmFtc0Fyci5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYWx0ZXJlZFVSTCA9IGAke2FsdGVyZWRVUkx9PyR7cGFyYW1zQXJyLmpvaW4oJyYnKX1gO1xuICAgIH1cbiAgICByZXR1cm4gYWx0ZXJlZFVSTDtcbn07XG4iLCIvKipcbiAqIOmhr+ekuue1hOWlveeahOW5o+WIpeWtl+S4slxuICog5ZyL5YilIFRXOiBjdXJyZW5jeUZvcm1hdCgxMDAwLCAwKSAtLT4gTlQkIDEsMDAwXG4gKiDlnIvliKUgTVk6IGN1cnJlbmN5Rm9ybWF0KDEwMDAsIDIpIC0tPiBSTSAxLDAwMC4wMFxuICovXG5leHBvcnQgY29uc3QgY3VycmVuY3lGb3JtYXQgPSAodmFsdWU6IG51bWJlciwgZGVjaW1hbDogbnVtYmVyKTogc3RyaW5nID0+IHtcbiAgICBjb25zdCB7IE1XZWIgfSA9IHdpbmRvd1snbmluZXlpJ10gfHwge307XG4gICAgY29uc3QgY3VycmVuY3kgPSBNV2ViICYmIE1XZWIuRGVmYXVsdEN1cnJlbmN5IHx8ICdOVCQnO1xuICAgIGNvbnN0IGRpc3BsYXlWYWx1ZTogc3RyaW5nID1cbiAgICAgICAgZGVjaW1hbCA+IDBcbiAgICAgICAgICAgID8gdmFsdWUudG9GaXhlZChkZWNpbWFsKS5yZXBsYWNlKC9cXGQoPz0oXFxkezN9KStcXC4pL2csICckJiwnKVxuICAgICAgICAgICAgOiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5mb3JtYXQodmFsdWUpO1xuXG4gICAgcmV0dXJuIGAke2N1cnJlbmN5fSAke2Rpc3BsYXlWYWx1ZX1gO1xufVxuIiwiaW1wb3J0ICogYXMgZGF0ZUZvcm1hdFV0aWxpdHkgZnJvbSAnLi9kYXRlRm9ybWF0LnV0aWxpdHknO1xuaW1wb3J0ICogYXMgZGV2aWNlVXRpbGl0eSBmcm9tICcuL2RldmljZS51dGlsaXR5JztcbmltcG9ydCAqIGFzIHVzZXJBZ2VudFV0aWxpdHkgZnJvbSAnLi91c2VyQWdlbnQudXRpbGl0eSc7XG5pbXBvcnQgKiBhcyBydW50aW1lTW9kZVV0aWxpdHkgZnJvbSAnLi9ydW50aW1lTW9kZS51dGlsaXR5JztcbmltcG9ydCAqIGFzIGNvb2tpZVV0aWxpdHkgZnJvbSAnLi9jb29raWUudXRpbGl0eSc7XG5pbXBvcnQgKiBhcyB1cmxVdGlsaXR5IGZyb20gJy4vdXJsLnV0aWxpdHknO1xuaW1wb3J0ICogYXMgY3VycmVuY3lVdGlsaXR5IGZyb20gJy4vY3VycmVuY3kudXRpbGl0eSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZGF0ZUZvcm1hdC51dGlsaXR5JztcbmV4cG9ydCAqIGZyb20gJy4vZGV2aWNlLnV0aWxpdHknO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyQWdlbnQudXRpbGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWVNb2RlLnV0aWxpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9jb29raWUudXRpbGl0eSc7XG5leHBvcnQgKiBmcm9tICcuL3VybC51dGlsaXR5JztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3kudXRpbGl0eSc7XG5cbmV4cG9ydCB7XG4gICAgZGF0ZUZvcm1hdFV0aWxpdHksXG4gICAgZGV2aWNlVXRpbGl0eSxcbiAgICB1c2VyQWdlbnRVdGlsaXR5LFxuICAgIHJ1bnRpbWVNb2RlVXRpbGl0eSxcbiAgICBjb29raWVVdGlsaXR5LFxuICAgIHVybFV0aWxpdHksXG4gICAgY3VycmVuY3lVdGlsaXR5LFxufTtcbiIsImltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBydW50aW1lTW9kZVV0aWxpdHkgfSBmcm9tICdAdXRpbGl0aWVzL2luZGV4JztcblxuaW1wb3J0ICcuL21vZGFsLnNjc3MnO1xuXG5pbnRlcmZhY2UgSVByb3BzIHtcbiAgICBpc09wZW46IGJvb2xlYW47XG4gICAgaXNTaG93Q2xvc2U6IGJvb2xlYW47XG4gICAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgICBpc01hc2tPcGFjaXR5PzogYm9vbGVhbjtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBjb25maXJtVGV4dD86IHN0cmluZztcbiAgICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xuICAgIGN1c3RvbVN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgICBjdXN0b21Dc3NDbGFzcz86IHN0cmluZztcbiAgICBvbkNsb3NlTW9kYWw/OiAoKSA9PiBhbnk7XG4gICAgb25Db25maXJtTW9kYWw/OiAoKSA9PiBhbnk7XG4gICAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG4vKipcbiAqIOeVtumWi+WVn1BvcFVw6Y6W5L2P5bqV6YOoc2Nyb2xs6JmV55CGXG4gKi9cbmNvbnN0IGZyZWV6ZUJvZHkgPSAoaXNGaXhlZDogYm9vbGVhbikgPT4ge1xuICAgIGlmIChydW50aW1lTW9kZVV0aWxpdHkuY2hlY2tJc0NsaWVudFJlbmRlcigpKSB7XG4gICAgICAgIGlmIChpc0ZpeGVkKSB7XG4gICAgICAgICAgICB3aW5kb3cuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCdmcmVlemUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2ZyZWV6ZScpO1xuICAgICAgICB9XG4gICAgfVxufTtcbi8qKlxuICog5b2I56qX5YWD5Lu2IFBvcHVwXG4gKiBAcGFyYW0gcHJvcHMgXG4gKi9cbmNvbnN0IE1vZGFsOkZDPElQcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBcbiAgICAgICAgaXNPcGVuLFxuICAgICAgICBpc1Nob3dDbG9zZSxcbiAgICAgICAgaXNNYXNrT3BhY2l0eSxcbiAgICAgICAgb25DbG9zZU1vZGFsLCBcbiAgICAgICAgb25Db25maXJtTW9kYWwsXG4gICAgICAgIGN1c3RvbVN0eWxlLCBcbiAgICAgICAgY3VzdG9tQ3NzQ2xhc3MsXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgY2FuY2VsVGV4dCxcbiAgICAgICAgY29uZmlybVRleHRcbiAgICB9ID0gcHJvcHM7XG4gICAgXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgZnJlZXplQm9keShpc09wZW4pO1xuICAgIH0sIFtpc09wZW5dKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdtb2RhbCcsIGlzT3BlbiA9PT0gdHJ1ZSA/ICdtb2RhbC0tb3BlbicgOiAnJyl9PlxuICAgICAgICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ21vZGFsX19iYWNrZHJvcCcsIGlzTWFza09wYWNpdHkgPyAnbW9kYWxfX2JhY2tkcm9wLS1vcGFjaXR5JyA6ICcnKX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25DbG9zZU1vZGFsfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17Y3VzdG9tU3R5bGV9IGNsYXNzTmFtZT17Y2xhc3NOYW1lcygnbW9kYWwtLWRlZmF1bHQnLCBjdXN0b21Dc3NDbGFzcyB8fCAnJyl9PlxuICAgICAgICAgICAgICAgICAgICB7aXNTaG93Q2xvc2UgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbF9faGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwiY2xvc2VcIiBvbkNsaWNrPXtvbkNsb3NlTW9kYWx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uIGljb24tc2xpbS1jbG9zZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aXRsZSAmJiA8aDIgY2xhc3NOYW1lPVwibW9kYWxfX3RpdGxlXCI+e3RpdGxlfTwvaDI+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHshY2hpbGRyZW4gJiYgPGRpdiBjbGFzc05hbWU9XCJtb2RhbF9fbG9hZGluZyBibGFjay1zcGlubmVyIFwiIC8+fVxuICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW4gJiYgPGRpdiBjbGFzc05hbWU9XCJtb2RhbF9fYm9keVwiPntjaGlsZHJlbn08L2Rpdj59XG4gICAgICAgICAgICAgICAgICAgIHsvKiDlpoLmnpzmspLmnInluLZidXR0b27mloflrZfvvIzliYfkuI3poa/npLpmb290ZXLljYDloYogKi99XG4gICAgICAgICAgICAgICAgICAgIHtjYW5jZWxUZXh0IHx8IGNvbmZpcm1UZXh0ID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbF9fZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2NhbmNlbFRleHQgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJjYW5jZWwtYnRuXCIgb25DbGljaz17b25DbG9zZU1vZGFsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYW5jZWxUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb25maXJtVGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImNvbmZpcm0tYnRuXCIgb25DbGljaz17b25Db25maXJtTW9kYWx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NvbmZpcm1UZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbk1vZGFsLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBpc09wZW46IGZhbHNlLFxuICAgIGlzU2hvd0Nsb3NlOiB0cnVlLFxuICAgIGlzTWFza09wYWNpdHk6IHRydWUsXG4gICAgdGl0bGU6ICcnLFxuICAgIGNvbmZpcm1UZXh0OiAnJyxcbiAgICBjYW5jZWxUZXh0OiAnJ1xufVxuXG5leHBvcnQgZGVmYXVsdCBNb2RhbDtcbiIsIi8qKlxuICog5Y+W5b6X5L2/55So6ICF55uu5YmN6YG45pOH55qE6Kqe6KiAXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDdXJyZW50TG9jYWxlID0gKCkgPT4ge1xuICAgIGNvbnN0IG5pbmV5aSA9IHdpbmRvd1snbmluZXlpJ10gfHwge307XG4gICAgY29uc3QgbXdlYkN1cnJlbnRMb2NhbGUgPSBuaW5leWkuTVdlYiAmJiBuaW5leWkuTVdlYi5DdXJyZW50TG9jYWxlIHx8ICcnO1xuICAgIGNvbnN0IGN1cnJlbnRMb2NhbGUgPSBtd2ViQ3VycmVudExvY2FsZSA/IG13ZWJDdXJyZW50TG9jYWxlIDogbmluZXlpLmRlcGVuZGVuY2llcyAmJiBuaW5leWkuZGVwZW5kZW5jaWVzLmxvY2FsZSB8fCAnJztcbiAgICByZXR1cm4gY3VycmVudExvY2FsZTtcbn0iLCJpbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0ICogYXMgdXJsVXRpbGl0eSBmcm9tICcuL3VybC51dGlsaXR5JztcblxuLy8g5q2k5qqU5qGI5LiN5bCN5aSW6Ly45Ye677yM5YOF6ZmQIHNwYXJrLWNvcmXlhafkvb/nlKhcbmltcG9ydCB7IGdldEN1cnJlbnRMb2NhbGUgfSBmcm9tICcuL2dsb2JhbFBhcmFtZXRlci51dGlsaXR5JztcblxuLy8g6Z2c5oWL5ZyW5qqU6Lev5b6RXG5jb25zdCBDT05URU5UX0lNQUdFUyA9ICcvY29udGVudHMvaW1hZ2VzJztcblxuLyoqXG4gKiDoqK3lrppBUEkgSG9zdFxuICovXG5jb25zdCBnZXRBcGlDb25maWcgPSAoKSA9PiB7XG4gICAgY29uc3QgbmluZXlpID0gd2luZG93WyduaW5leWknXSB8fCB7fTtcblxuICAgIC8vIOWFqOermXdlYmFwaSBjZG5cbiAgICBjb25zdCBpc0VuYWJsZUNkbkFwaSA9IF8ucHJvcGVydHkoJ2RlcGVuZGVuY2llcy5hcGlDb25maWcuaXNFbmFibGVDZG5BcGknLnNwbGl0KCcuJykpKG5pbmV5aSk7XG4gICAgY29uc3QgY2RuQXBpSG9zdCA9IF8ucHJvcGVydHkoJ2RlcGVuZGVuY2llcy5hcGlDb25maWcuY2RuQXBpSG9zdCcuc3BsaXQoJy4nKSkobmluZXlpKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIGlzRW5hYmxlQ2RuQXBpOiBpc0VuYWJsZUNkbkFwaSB8fCBmYWxzZSxcbiAgICAgICAgbGFuZzogZ2V0Q3VycmVudExvY2FsZSgpLFxuICAgICAgICBhcGlIb3N0OiAnJyxcbiAgICAgICAgY2RuQXBpSG9zdDogY2RuQXBpSG9zdCB8fCAnLycsXG4gICAgICAgIGNkblNvdXJjZUhvc3Q6IChuaW5leWkuTVdlYiAmJiBuaW5leWkuTVdlYi5KYXZzU2NyaXB0Q0ROKSB8fCAnJyxcbiAgICB9O1xufTtcblxuLyoqXG4gKiDntYTlkIhNV2ViIEFwaSBVcmwg5pa55rOVXG4gKiBAcGFyYW0gYXBpUGF0aFxuICovXG5leHBvcnQgY29uc3QgZ2V0TXdlYkFwaVVybCA9IChhcGlQYXRoOiBzdHJpbmcsIGlzU3dpdGNoQ2RuOiBib29sZWFuID0gZmFsc2UpID0+IHtcbiAgICBjb25zdCBhcGlDb25maWcgPSBnZXRBcGlDb25maWcoKTtcbiAgICBsZXQgYXBpSG9zdCA9IGFwaUNvbmZpZy5pc0VuYWJsZUNkbkFwaSAmJiBpc1N3aXRjaENkbiA/IGFwaUNvbmZpZy5jZG5BcGlIb3N0IDogYXBpQ29uZmlnLmFwaUhvc3Q7XG4gICAgbGV0IGFwaVVybCA9IGAke2FwaUhvc3R9L3dlYmFwaS8ke2FwaVBhdGh9YDtcblxuICAgIC8vIOWIh+aPm+iqnuezu1xuICAgIGlmIChhcGlDb25maWcubGFuZyAhPT0gJycpIHtcbiAgICAgICAgYXBpVXJsID0gdXJsVXRpbGl0eS5hcHBlbmRQYXJhbWV0ZXIoYXBpVXJsLCAnbGFuZycsIGFwaUNvbmZpZy5sYW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXBpVXJsO1xufTtcblxuLyoqXG4gKiDlj5blvpflr6bpq5TpnZzmhYvos4fmupDot6/lvpFcbiAqIEBwYXJhbSBwYXRoXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb250ZW50SW1hZ2VQYXRoID0gKHBhdGg6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5pbmV5aSA9IHdpbmRvd1snbmluZXlpJ10gfHwge307XG5cbiAgICBpZiAoIW5pbmV5aS5NV2ViKSB7XG4gICAgICAgIHJldHVybiBDT05URU5UX0lNQUdFUyArIHBhdGg7XG4gICAgfVxuXG4gICAgY29uc3QgY2RuRG9tYWluID0gbmluZXlpLk1XZWIuQ3NzQ0RORG9tYWluIHx8ICcnO1xuICAgIHJldHVybiBgJHtjZG5Eb21haW59L1YyL1NjcmlwdHMvZGlzdCR7Q09OVEVOVF9JTUFHRVN9JHtwYXRofWA7XG59O1xuIiwiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZ2V0Q29udGVudEltYWdlUGF0aCB9IGZyb20gJ0B1dGlsaXRpZXMvcGF0aC51dGlsaXR5JztcblxuaW1wb3J0ICcuL2xvYWRpbmcuc2Nzcyc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gICAgaXNMb2FkaW5nOiBib29sZWFuO1xufVxuXG4vKipcbiAqIExvYWRpbmflhYPku7ZcbiAqL1xuY29uc3QgTG9hZGluZzogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBpc0xvYWRpbmcgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIGlzTG9hZGluZyAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxvYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxvYWRpbmdfX2JhY2tkcm9wXCIgLz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxvYWRpbmdfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZSBjbGFzc05hbWU9XCJsb2FkaW5nX19pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e2dldENvbnRlbnRJbWFnZVBhdGgoJy9hamF4LWxvYWRlci5naWYnKX0gd2lkdGg9XCIyMHB4XCIgaGVpZ2h0PVwiMjBweFwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMb2FkaW5nO1xuIiwiZXhwb3J0IGNvbnN0IFRSQU5TTEFURV9MT0NBTEVfS0VZID0ge1xuICAgIEZST05URU5EOiB7XG4gICAgICAgIExJQjoge1xuICAgICAgICAgICAgUVVBTlRJVFk6ICdmcm9udGVuZC5saWIuYWRkX3RvX2NhcnQucXVhbnRpdHknLFxuICAgICAgICAgICAgTElNSVRfTUlOX1ZBTFVFX01TRzogJ2Zyb250ZW5kLmxpYi5hZGRfdG9fY2FydC5saW1pdF9taW5fdmFsdWVfbXNnJyxcbiAgICAgICAgICAgIExJTUlUX01BWF9WQUxVRV9NU0c6ICdmcm9udGVuZC5saWIuYWRkX3RvX2NhcnQubGltaXRfbWF4X3ZhbHVlX21zZycsXG4gICAgICAgICAgICBBREQ6ICdmcm9udGVuZC5saWIuYWRkX3RvX2NhcnQuYWRkJyxcbiAgICAgICAgICAgIEFERF9DQVJUOiAnZnJvbnRlbmQubGliLmFkZF90b19jYXJ0LmFkZF9jYXJ0JyxcbiAgICAgICAgICAgIENIRUNLX09VVDogJ2Zyb250ZW5kLmxpYi5hZGRfdG9fY2FydC5jaGVja19vdXQnLFxuICAgICAgICAgICAgTk9UX1lFVF9PUEVOX1NBTEU6ICdmcm9udGVuZC5saWIuYWRkX3RvX2NhcnQubm90X3lldF9vcGVuX3NhbGUnLFxuICAgICAgICAgICAgT05MWV9PTl9BUFA6ICdmcm9udGVuZC5saWIuYWRkX3RvX2NhcnQub25seV9vbl9hcHAnLFxuICAgICAgICAgICAgU0hBUkVfQU5EX0JVWTogJ2Zyb250ZW5kLmxpYi5hZGRfdG9fY2FydC5zaGFyZV9hbmRfYnV5JyxcbiAgICAgICAgICAgIFNPTERfT1VUX0FORF9SRVBMRU5JU0hFRDogJ2Zyb250ZW5kLmxpYi5hZGRfdG9fY2FydC5zb2xkX291dF9hbmRfcmVwbGVuaXNoZWQnLFxuICAgICAgICAgICAgT1VUX09GX1NUT0NLOiAnZnJvbnRlbmQubGliLmFkZF90b19jYXJ0Lm91dF9vZl9zdG9jaycsXG4gICAgICAgICAgICBVUERBVEU6ICdmcm9udGVuZC5saWIuYWRkX3RvX2NhcnQudXBkYXRlJyxcbiAgICAgICAgICAgIFNFTEVDVF9PUFRJT046ICdmcm9udGVuZC5saWIuYWRkX3RvX2NhcnQuc2VsZWN0X29wdGlvbicsXG4gICAgICAgICAgICBQTEVBU0VfU0VMRUNUX1BVUkNIQVNFX01FVEhPRDogJ2Zyb250ZW5kLmxpYi5hZGRfdG9fY2FydC5wbGVhc2Vfc2VsZWN0X3B1cmNoYXNlX21ldGhvZCcsXG4gICAgICAgICAgICBQVVJDSEFTRV9NRVRIT0RfUE9JTlQ6ICdmcm9udGVuZC5saWIuYWRkX3RvX2NhcnQucHVyY2hhc2VfbWV0aG9kX3BvaW50JyxcbiAgICAgICAgICAgIENPTkZJUk06ICdmcm9udGVuZC5saWIuYWRkX3RvX2NhcnQuY29uZmlybScsXG4gICAgICAgICAgICBUT0FTVDoge1xuICAgICAgICAgICAgICAgIFNVQk1JVF9TVUNDRVNTOiAnZnJvbnRlbmQubGliLnRvYXN0LnN1Ym1pdF9zdWNjZXNzJyxcbiAgICAgICAgICAgICAgICBTVUJNSVRfRVJST1I6ICdmcm9udGVuZC5saWIudG9hc3Quc3VibWl0X2Vycm9yJyxcbiAgICAgICAgICAgICAgICBBRERfU1VDQ0VTUzogJ2Zyb250ZW5kLmxpYi50b2FzdC5hZGRfc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgSVNfQ0xPU0VEOiAnZnJvbnRlbmQubGliLnRvYXN0LmlzX2Nsb3NlZCcsXG4gICAgICAgICAgICAgICAgTE9HSU5fU1VDQ0VTUzogJ2Zyb250ZW5kLmxpYi50b2FzdC5sb2dpbl9zdWNjZXNzJyxcbiAgICAgICAgICAgICAgICBMT0dPVVRfU1VDQ0VTUzogJ2Zyb250ZW5kLmxpYi50b2FzdC5sb2dvdXRfc3VjY2VzcycsXG4gICAgICAgICAgICAgICAgTk9fU1RBUlQ6ICdmcm9udGVuZC5saWIudG9hc3Qubm9fc3RhcnQnLFxuICAgICAgICAgICAgICAgIE5PVF9GT1VORDogJ2Zyb250ZW5kLmxpYi50b2FzdC5ub3RfZm91bmQnLFxuICAgICAgICAgICAgICAgIFJFTU9WRV9TVUNDRVNTOiAnZnJvbnRlbmQubGliLnRvYXN0LnJlbW92ZV9zdWNjZXNzJyxcbiAgICAgICAgICAgICAgICBTT0xEX09VVDogJ2Zyb250ZW5kLmxpYi50b2FzdC5zb2xkX291dCcsXG4gICAgICAgICAgICAgICAgVU5fTElTVElORzogJ2Zyb250ZW5kLmxpYi50b2FzdC51bl9saXN0aW5nJyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn07XG4iLCJpbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGZpbmQgfSBmcm9tICd1bmRlcnNjb3JlJztcbmltcG9ydCB7IFRSQU5TTEFURV9MT0NBTEVfS0VZIH0gZnJvbSAnQGNvbnN0YW50cy90cmFuc2xhdGlvbi5jb25zdGFudHMnO1xuaW1wb3J0IHsgSTE4biB9IGZyb20gJ3JlYWN0LXJlZHV4LWkxOG4nO1xuXG5pbXBvcnQgJy4vdG9hc3Quc2Nzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3RQcm9wcyB7XG4gICAgaXNPcGVuPzogYm9vbGVhbjtcbiAgICBjdXN0b21Dc3NDbGFzcz86IHN0cmluZztcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIHN0YXR1cz86IHN0cmluZztcbiAgICBtZXNzYWdlPzogc3RyaW5nO1xuICAgIGFmdGVyQ2xvc2U/OiAoKSA9PiBhbnk7XG4gICAgZGVsYXk/OiBudW1iZXI7XG59XG5cbi8vIOW7uueri+ioiuaBr+a4heWWrlxuY29uc3QgbWVzc2FnZUxpc3QgPSBbXG4gICAge1xuICAgICAgICB0eXBlOiAnc3VjY2VzcycsXG4gICAgICAgIHN0YXR1czogJ0FkZFN1Y2Nlc3MnLFxuICAgICAgICBtZXNzYWdlOiBUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuVE9BU1QuQUREX1NVQ0NFU1NcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICBzdGF0dXM6ICdSZW1vdmVTdWNjZXNzJyxcbiAgICAgICAgbWVzc2FnZTogVFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlRPQVNULlJFTU9WRV9TVUNDRVNTXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgc3RhdHVzOiAnU3VibWl0U3VjY2VzcycsXG4gICAgICAgIG1lc3NhZ2U6IFRSQU5TTEFURV9MT0NBTEVfS0VZLkZST05URU5ELkxJQi5UT0FTVC5TVUJNSVRfU1VDQ0VTU1xuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiAnd2FybmluZycsXG4gICAgICAgIHN0YXR1czogJ1NvbGRPdXQnLFxuICAgICAgICBtZXNzYWdlOiBUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuVE9BU1QuU09MRF9PVVRcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgICBzdGF0dXM6ICdOb1N0YXJ0JyxcbiAgICAgICAgbWVzc2FnZTogVFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlRPQVNULk5PX1NUQVJUXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6ICd3YXJuaW5nJyxcbiAgICAgICAgc3RhdHVzOiAnTm90Rm91bmQnLFxuICAgICAgICBtZXNzYWdlOiBUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuVE9BU1QuTk9UX0ZPVU5EXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6ICd3YXJuaW5nJyxcbiAgICAgICAgc3RhdHVzOiAnSXNDbG9zZWQnLFxuICAgICAgICBtZXNzYWdlOiBUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuVE9BU1QuSVNfQ0xPU0VEXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6ICd3YXJuaW5nJyxcbiAgICAgICAgc3RhdHVzOiAnVW5MaXN0aW5nJyxcbiAgICAgICAgbWVzc2FnZTogVFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlRPQVNULlVOX0xJU1RJTkdcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgICBzdGF0dXM6ICdTdWJtaXRFcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6IFRSQU5TTEFURV9MT0NBTEVfS0VZLkZST05URU5ELkxJQi5UT0FTVC5TVUJNSVRfRVJST1JcbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogJ3dhcm5pbmcnLFxuICAgICAgICBzdGF0dXM6ICdFcnJvcicsXG4gICAgICAgIG1lc3NhZ2U6ICdzZXJ2ZXIgZXJyb3InLFxuICAgIH1cbl07XG5cbi8qKlxuICog5Y+W5b6X6aGv56S66KiK5oGv54mp5Lu2XG4gKiBAcGFyYW0gc3RhdHVzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRUb2FzdE1lc3NhZ2VJdGVtID0gKHN0YXR1czogc3RyaW5nKSA9PiBmaW5kKG1lc3NhZ2VMaXN0LCBpdGVtID0+IGl0ZW0uc3RhdHVzID09PSBzdGF0dXMpO1xuXG5cbi8qKlxuICogVG9hc3TlhYPku7ZcbiAqL1xuY2xhc3MgVG9hc3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8VG9hc3RQcm9wcywgYW55PiB7XG4gICAgcHJvdGVjdGVkIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICAgIGlzT3BlbjogZmFsc2UsXG4gICAgICAgIGN1c3RvbUNzc0NsYXNzOiAnJyxcbiAgICAgICAgYWZ0ZXJDbG9zZTogKCkgPT4ge30sXG4gICAgICAgIHR5cGU6ICcnLFxuICAgICAgICBtZXNzYWdlOiAnJyxcbiAgICAgICAgZGVsYXk6IDI1MDBcbiAgICB9O1xuICAgIC8vIOaIkOWKn+aoo+W8j1xuICAgIHByaXZhdGUgc3VjY2Vzc0NsYXNzOiBzdHJpbmcgPSAnaWNvbiBpY29uLWNoZWNrLXNlbGVjdGVkIHRvYXN0X19pY29uLS1zdWNjZXNzJztcbiAgICAvLyDorablkYrmqKPlvI9cbiAgICBwcml2YXRlIHdhcm5pbmdDbGFzczogc3RyaW5nID0gJ2ljb24tZWRpdG9yIGljb24tZWRpdG9yLWljb25fY29tbW9uX2FsZXJ0X3NvbGlkIHRvYXN0X19pY29uLS13YXJuaW5nJztcblxuICAgIGNvbnN0cnVjdG9yKHByb3BzOiBUb2FzdFByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHsgaXNPcGVuOiB0aGlzLnByb3BzLmlzT3BlbiwgYW5pbWF0aW9uRGVsYXk6ICcwcycgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHM6IFRvYXN0UHJvcHMpIHtcbiAgICAgICAgaWYgKG5leHRQcm9wcy5pc09wZW4gJiYgdGhpcy5zdGF0ZS5pc09wZW4gIT09IG5leHRQcm9wcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW46IHRydWUgfSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFuaW1hdGlvbkRlbGF5VGltZSA9IG5leHRQcm9wcy5kZWxheSA+IDEwMDAgPyBgJHsobmV4dFByb3BzLmRlbGF5IC0gMTAwMCkgLyAxMDAwfXNgIDogJzFzJztcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgYW5pbWF0aW9uRGVsYXk6IGFuaW1hdGlvbkRlbGF5VGltZSB9KTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbjogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLmFmdGVyQ2xvc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuYWZ0ZXJDbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgdGhpcy5wcm9wcy5kZWxheSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiDliIfmj5vpoa/npLpJY29u6JmV55CGXG4gICAgICovXG4gICAgcHVibGljIGNoYW5nZUljb25IYW5kbGUgPSAodHlwZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGxldCBjbGFzc05hbWUgPSAnJztcbiAgICAgICAgaWYgKHR5cGUgPT09ICdzdWNjZXNzJykge1xuICAgICAgICAgICAgY2xhc3NOYW1lID0gdGhpcy5zdWNjZXNzQ2xhc3M7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3dhcm5pbmcnKSB7XG4gICAgICAgICAgICBjbGFzc05hbWUgPSB0aGlzLndhcm5pbmdDbGFzcztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2xhc3NOYW1lO1xuICAgIH07XG5cbiAgICBwdWJsaWMgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3RvYXN0Jyl9PlxuICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLmlzT3BlbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcygndG9hc3QtLWJhY2tkcm9wJywgeyAndG9hc3QtLWZhZGUtb3V0JzogdGhpcy5wcm9wcy5pc09wZW4gfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBhbmltYXRpb25EZWxheTogdGhpcy5zdGF0ZS5hbmltYXRpb25EZWxheSB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuaXNPcGVuICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd0b2FzdC0tZGVmYXVsdCcsIHRoaXMucHJvcHMuY3VzdG9tQ3NzQ2xhc3MgfHwgJycsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9hc3QtLWZhZGUtb3V0JzogdGhpcy5wcm9wcy5pc09wZW5cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgYW5pbWF0aW9uRGVsYXk6IHRoaXMuc3RhdGUuYW5pbWF0aW9uRGVsYXkgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5wcm9wcy5tZXNzYWdlICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvYXN0LS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0aGlzLnByb3BzLnR5cGUgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd0b2FzdF9faWNvbicsIHRoaXMuY2hhbmdlSWNvbkhhbmRsZSh0aGlzLnByb3BzLnR5cGUpKX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMubWVzc2FnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRvYXN0O1xuIiwiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZm9ybWF0TW9uZXkgfSBmcm9tICdhY2NvdW50aW5nJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IF8gZnJvbSAndW5kZXJzY29yZSc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gICAgaXNUaHJvdWdoPzogYm9vbGVhbjtcbiAgICBkZWNpbWFsOiBudW1iZXI7XG4gICAgdmFsdWU6IG51bWJlcjtcbiAgICBzeW1ib2w6IHN0cmluZztcbiAgICByYXRlOiBudW1iZXI7XG4gICAgZGlzYWJsZVRoZW1lPzogYm9vbGVhbjtcbiAgICBuZWdhdGl2ZVN5bWJvbFByZWZpeD86IGJvb2xlYW47XG59XG5cbmNvbnN0IFdyYXBwZXIgPSBzdHlsZWQuZGl2PHsgaXNUaHJvdWdoOiBib29sZWFuOyBkaXNhYmxlVGhlbWU6IGJvb2xlYW47IH0+YFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246ICR7cHJvcHMgPT4gKHByb3BzLmlzVGhyb3VnaCA/ICdsaW5lLXRocm91Z2gnIDogJ25vbmUnICl9O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlVGhlbWUgfHwgXy5pc0VtcHR5KHByb3BzLnRoZW1lKSA/ICdpbmhlcml0JyA6IHByb3BzLnRoZW1lLmdlbmVyYWxTdHlsZS5tb25leUNvbG9yKX07XG5gO1xuXG4vKipcbiAqIOmhr+ekuuW5o+WIpeWFg+S7tlxuICovXG5jb25zdCBDdXJyZW5jeTogUmVhY3QuRkM8UHJvcHM+ID0gKHsgaXNUaHJvdWdoID0gZmFsc2UsIGRlY2ltYWwgPSAwLCB2YWx1ZSA9IDAsIHN5bWJvbCA9ICckJywgcmF0ZSA9IDEsIGRpc2FibGVUaGVtZSA9IGZhbHNlLCBuZWdhdGl2ZVN5bWJvbFByZWZpeCA9IGZhbHNlIH0pID0+IHtcbiAgICBsZXQgY3VycmVuY3lGb3JtYXQgPSB7XG4gICAgICAgIHBvczogJyVzJXYnLFxuICAgICAgICBuZWc6IG5lZ2F0aXZlU3ltYm9sUHJlZml4ID8gJy0lcyV2JyA6ICclcy0ldicsXG4gICAgICAgIHplcm86ICclcyV2J1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8V3JhcHBlciBpc1Rocm91Z2g9e2lzVGhyb3VnaH0gZGlzYWJsZVRoZW1lPXtkaXNhYmxlVGhlbWV9PlxuICAgICAgICAgICAge3R5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiZcbiAgICAgICAgICAgICAgICBmb3JtYXRNb25leSh2YWx1ZSAqIHJhdGUsIHsgc3ltYm9sLCBwcmVjaXNpb246IGRlY2ltYWwsIGZvcm1hdDogY3VycmVuY3lGb3JtYXQgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9XcmFwcGVyPlxuICAgIClcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEN1cnJlbmN5O1xuIiwiY29uc3QgY2xlYXJGaXggPSBgXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBjbGVhckZpeDtcbiIsImltcG9ydCAqIGFzIF8gZnJvbSAndW5kZXJzY29yZSc7XG5cbmV4cG9ydCBjb25zdCB0ZXh0Q29sb3IgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHRoZW1lIH0gPSBwcm9wcztcbiAgICBpZighXy5pc0VtcHR5KHRoZW1lKSkge1xuICAgICAgICByZXR1cm4gdGhlbWUuYnV0dG9uU3R5bGUucHJpbWFyeUJ0blRleHRDb2xvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gJyNmZmYnO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBiYWNrZ3JvdW5kQ29sb3IgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHRoZW1lIH0gPSBwcm9wcztcbiAgICBpZighXy5pc0VtcHR5KHRoZW1lKSkge1xuICAgICAgICByZXR1cm4gdGhlbWUuYnV0dG9uU3R5bGUucHJpbWFyeUJ0bkJnQ29sb3I7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICcjZmY1MzUzJztcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgYm9yZGVyQ29sb3IgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHRoZW1lIH0gPSBwcm9wcztcbiAgICBpZighXy5pc0VtcHR5KHRoZW1lKSkge1xuICAgICAgICByZXR1cm4gdGhlbWUuYnV0dG9uU3R5bGUucHJpbWFyeUJ0bkJnQ29sb3I7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICcjZmY1MzUzJztcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgbW9uZXlDb2xvciA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgdGhlbWUgfSA9IHByb3BzO1xuICAgIGlmKCFfLmlzRW1wdHkodGhlbWUpKSB7XG4gICAgICAgIHJldHVybiB0aGVtZS5nZW5lcmFsU3R5bGUubW9uZXlDb2xvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gJyNmZjUzNTMnO1xuICAgIH07XG59XG4iLCJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICd1bmRlcnNjb3JlJztcbmltcG9ydCB7IEN1cnJlbmN5IH0gZnJvbSAnQGNvbXBvbmVudHMvaW5kZXgnO1xuaW1wb3J0IHsgTVdlYkFwaSB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MvbXdlYkFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGUgfSBmcm9tICdyZWFjdC1yZWR1eC1pMThuJztcbmltcG9ydCB7IFRSQU5TTEFURV9MT0NBTEVfS0VZIH0gZnJvbSAnQGNvbnN0YW50cy90cmFuc2xhdGlvbi5jb25zdGFudHMnO1xuaW1wb3J0IHsgbW9uZXlDb2xvciB9IGZyb20gJy4vdGhlbWVDb2xvcic7XG5cbmludGVyZmFjZSBQcm9kdWN0UG9pbnRQYXlQcmljZVByb3BzIHtcbiAgICBzZWxlY3RlZFB1cmNoYXNlTWV0aG9kOiBNV2ViQXBpLldlYlN0b3JlLkZyb250ZW5kLkJFLlNhbGVQYWdlVjIuUG9pbnRzUGF5UGFpcnNFbnRpdHk7XG4gICAgZGVjaW1hbDogbnVtYmVyO1xuICAgIHN5bWJvbDogc3RyaW5nO1xuICAgIHJhdGU6IG51bWJlcjtcbn1cblxuY29uc3QgSW5mb1ByaWNlID0gc3R5bGVkLmRpdmBcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAke21vbmV5Q29sb3J9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFByb2R1Y3RQb2ludFBheVByaWNlOiBGQzxQcm9kdWN0UG9pbnRQYXlQcmljZVByb3BzPiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIHNlbGVjdGVkUHVyY2hhc2VNZXRob2QsXG4gICAgICAgIGRlY2ltYWwsXG4gICAgICAgIHN5bWJvbCxcbiAgICAgICAgcmF0ZVxuICAgIH0gPSBwcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxJbmZvUHJpY2U+XG4gICAgICAgICAgICB7Lyog57SU6YeRICovfVxuICAgICAgICAgICAge3NlbGVjdGVkUHVyY2hhc2VNZXRob2QuUGFpcnNQb2ludHMgPT09IDAgJiYgc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZC5QYWlyc1ByaWNlID4gMCAmJiBcbiAgICAgICAgICAgICAgICA8Q3VycmVuY3lcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3NlbGVjdGVkUHVyY2hhc2VNZXRob2QuUGFpcnNQcmljZX1cbiAgICAgICAgICAgICAgICAgICAgZGVjaW1hbD17ZGVjaW1hbH1cbiAgICAgICAgICAgICAgICAgICAgc3ltYm9sPXtzeW1ib2x9XG4gICAgICAgICAgICAgICAgICAgIHJhdGU9e3JhdGV9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVUaGVtZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB7Lyog57SU6bueICovfVxuICAgICAgICAgICAge3NlbGVjdGVkUHVyY2hhc2VNZXRob2QuUGFpcnNQcmljZSA9PT0gMCAmJiBzZWxlY3RlZFB1cmNoYXNlTWV0aG9kLlBhaXJzUG9pbnRzID4gMCAmJlxuICAgICAgICAgICAgICAgIDxUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e1RSQU5TTEFURV9MT0NBTEVfS0VZLkZST05URU5ELkxJQi5QVVJDSEFTRV9NRVRIT0RfUE9JTlR9XG4gICAgICAgICAgICAgICAgICAgIHBvaW50PXtzZWxlY3RlZFB1cmNoYXNlTWV0aG9kLlBhaXJzUG9pbnRzfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHsvKiDpu57liqDph5EgKi99XG4gICAgICAgICAgICB7c2VsZWN0ZWRQdXJjaGFzZU1ldGhvZC5QYWlyc1BvaW50cyA+IDAgJiYgc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZC5QYWlyc1ByaWNlID4gMCAmJlxuICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICA8VHJhbnNsYXRlIFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e1RSQU5TTEFURV9MT0NBTEVfS0VZLkZST05URU5ELkxJQi5QVVJDSEFTRV9NRVRIT0RfUE9JTlR9XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludD17c2VsZWN0ZWRQdXJjaGFzZU1ldGhvZC5QYWlyc1BvaW50c31cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+77yLPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8Q3VycmVuY3lcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZFB1cmNoYXNlTWV0aG9kLlBhaXJzUHJpY2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsPXtkZWNpbWFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sPXtzeW1ib2x9XG4gICAgICAgICAgICAgICAgICAgICAgICByYXRlPXtyYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVRoZW1lPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9JbmZvUHJpY2U+XG4gICAgKVxufVxuIiwiaW1wb3J0IFJlYWN0LCB7IEZDIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgXyBmcm9tICd1bmRlcnNjb3JlJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsZWFyRml4IGZyb20gJ0BzdHlsZXMvY29tbW9uL21peGluL2NsZWFyRml4JztcbmltcG9ydCB7IEN1cnJlbmN5IH0gZnJvbSAnQGNvbXBvbmVudHMvaW5kZXgnO1xuaW1wb3J0IHsgZGV2aWNlVXRpbGl0eSB9IGZyb20gJ0B1dGlsaXRpZXMvaW5kZXgnO1xuaW1wb3J0IHsgQlJPV1NJTkdfTU9ERSB9IGZyb20gJ0Bjb25zdGFudHMvZGV2aWNlLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBTYWxlUGFnZUluZm9FbnRpdHksIFByb2R1Y3RTa3VJbmZvRW50aXR5LCBQcm9kdWN0SW1hZ2VJbmZvRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NhbGVQYWdlLm1vZGVsJztcbmltcG9ydCB7IE1XZWJBcGkgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzL213ZWJBcGknO1xuaW1wb3J0IHsgUHJvZHVjdFBvaW50UGF5UHJpY2UgfSBmcm9tICdAY29tcG9uZW50cy9hZGRUb0NhcnQvcHJvZHVjdC9wcm9kdWN0UG9pbnRQYXlQcmljZSc7XG5pbXBvcnQgeyBtb25leUNvbG9yIH0gZnJvbSAnLi90aGVtZUNvbG9yJztcblxuaW50ZXJmYWNlIE1haW5JbmZvUHJvcHMge1xuICAgIHNhbGVQYWdlSW5mbzogU2FsZVBhZ2VJbmZvRW50aXR5O1xuICAgIHNrdUluZm9MaXN0OiBQcm9kdWN0U2t1SW5mb0VudGl0eVtdO1xuICAgIHNrdUlkOiBudW1iZXI7XG4gICAgZGVjaW1hbDogbnVtYmVyO1xuICAgIHN5bWJvbDogc3RyaW5nO1xuICAgIHJhdGU6IG51bWJlcjtcbiAgICBzZWxlY3RlZFB1cmNoYXNlTWV0aG9kOiBNV2ViQXBpLldlYlN0b3JlLkZyb250ZW5kLkJFLlNhbGVQYWdlVjIuUG9pbnRzUGF5UGFpcnNFbnRpdHk7XG59XG5pbnRlcmZhY2UgUmFuZ2VEYXRhUHJvcHMge1xuICAgIG1pbjogbnVtYmVyO1xuICAgIG1heDogbnVtYmVyO1xufVxuLyoqXG4gKiDlj5blvpfllYblk4HlnJbpoa/npLpcbiAqIEBwYXJhbSBtYWluSW1hZ2VVcmxcbiAqIEBwYXJhbSBza3VJZFxuICovXG5jb25zdCBnZXRNYWluSW1hZ2VTcmMgPSAobWFpbkltYWdlVXJsOiBQcm9kdWN0SW1hZ2VJbmZvRW50aXR5W10sIHNrdUlkOiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHNrdUltYWdlSXRlbSA9IF8uZmluZChtYWluSW1hZ2VVcmwsIChpbWcpID0+IHtcbiAgICAgICAgcmV0dXJuIGltZy5za3VJZCAmJiBpbWcuc2t1SWQgPT09IHNrdUlkO1xuICAgIH0pO1xuICAgIHJldHVybiBza3VJbWFnZUl0ZW0gPyBza3VJbWFnZUl0ZW0uaW1hZ2VTcmMgOiBtYWluSW1hZ2VVcmxbMF0uaW1hZ2VTcmM7IC8vIOiLpeaJvuS4jeWIsOWwjeaHieeahHNrdeWclueJh++8jOS9v+eUqOS4u+WcluesrOS4gOW8tVxufTtcbi8qKlxuICogVE9ETzog55uu5YmN6Kit6KiI5pyJ6aCQ6YG477yM5omA5Lul5LiN55So5Yqg5Y2A6ZaT6aGv56S6XG4gKiDmmK/lkKbpoa/npLrllK7lg7nljYDplpNcbiAqIEBwYXJhbSBzdWdnZXN0UHJpY2VEYXRhXG4gKiBAcGFyYW0gcHJpY2VEYXRhXG4gKi9cbmNvbnN0IGlzU2hvd1JhbmdlU3VnZ2VzdFByaWNlID0gKHN1Z2dlc3RQcmljZURhdGE6IFJhbmdlRGF0YVByb3BzLCBwcmljZURhdGE6IFJhbmdlRGF0YVByb3BzKTogYm9vbGVhbiA9PiB7XG4gICAgcmV0dXJuIHN1Z2dlc3RQcmljZURhdGEubWluID4gcHJpY2VEYXRhLm1pbiB8fCBzdWdnZXN0UHJpY2VEYXRhLm1heCA+IHByaWNlRGF0YS5tYXg7XG59O1xuLyoqXG4gKiDmmK/lkKbpoa/npLrlu7rorbDllK7lg7lcbiAqIEBwYXJhbSBzdWdnZXN0UHJpY2VcbiAqIEBwYXJhbSBwcmljZVxuICovXG5jb25zdCBpc1Nob3dTdWdnZXN0UHJpY2UgPSAoc3VnZ2VzdFByaWNlOiBudW1iZXIsIHByaWNlOiBudW1iZXIpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gc3VnZ2VzdFByaWNlID4gcHJpY2U7XG59O1xuXG5jb25zdCBQcm9kdWN0TWFpbkluZm9Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAgIHBhZGRpbmc6ICR7ZGV2aWNlVXRpbGl0eS5nZXRCcm93c2luZ01vZGUoKSA9PT0gQlJPV1NJTkdfTU9ERS5NT0JJTEUgPyAnMTJweCcgOiAnMCAyMHB4IDIwcHgnfTtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICR7Y2xlYXJGaXh9O1xuYDtcblxuY29uc3QgSW5mb0xlZnQgPSBzdHlsZWQuZGl2YFxuICAgIGZsb2F0OiBsZWZ0O1xuYDtcblxuY29uc3QgSW5mb0ZpZ3VyZSA9IHN0eWxlZC5maWd1cmVgXG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuYDtcblxuY29uc3QgSW5mb0ltYWdlID0gc3R5bGVkLmltZ2BcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuYDtcblxuY29uc3QgSW5mb1JpZ2h0ID0gc3R5bGVkLmRpdmBcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTMwcHgpO1xuYDtcblxuY29uc3QgSW5mb1RpdGxlID0gc3R5bGVkLmgzYFxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGhlaWdodDogMzRweDtcbiAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuYDtcblxuY29uc3QgSW5mb1ByaWNlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbmA7XG5cbmNvbnN0IEluZm9TdWdnZXN0UHJpY2UgPSBzdHlsZWQuZGl2YFxuICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogI2FhYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbmA7XG5cbmNvbnN0IE1heFN1Z2dlc3RQcmljZSA9IHN0eWxlZC5zcGFuYFxuICAgIGNvbG9yOiAke21vbmV5Q29sb3J9O1xuYDtcblxuY29uc3QgSW5mb1ByaWNlID0gc3R5bGVkLmRpdmBcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAke21vbmV5Q29sb3J9O1xuYDtcblxuLyoqXG4gKiDllYblk4HkuLvopoHos4foqIrvvIjmqJnpoYzjgIHllK7lg7njgIHlnJbniYfnrYnnrYnvvIlcbiAqIEBwYXJhbSBwcm9wc1xuICovXG5leHBvcnQgY29uc3QgUHJvZHVjdE1haW5JbmZvOiBGQzxNYWluSW5mb1Byb3BzPiA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgc2FsZVBhZ2VJbmZvLCBza3VJbmZvTGlzdCwgc2t1SWQsIGRlY2ltYWwsIHN5bWJvbCwgcmF0ZSwgc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZCB9ID0gcHJvcHM7XG4gICAgY29uc3QgeyB0aXRsZSwgbWFpbkltYWdlVXJsLCBtYXhQcmljZSwgbWF4U3VnZ2VzdFByaWNlLCBtaW5QcmljZSwgbWluU3VnZ2VzdFByaWNlLCBoYXNQb2ludFBheU9wdGlvbiB9ID1cbiAgICAgICAgc2FsZVBhZ2VJbmZvO1xuICAgIC8vIOWPluW+l1NLVeS4jeWQjOWDueizh+aWmVxuICAgIGNvbnN0IHNrdUl0ZW0gPSBfLmZpbmQoc2t1SW5mb0xpc3QsIChpdGVtKSA9PiBpdGVtLnNrdUlkID09IHNrdUlkKTtcbiAgICAvLyDmmK/lkKbpgbjlj5ZTS1VcbiAgICBjb25zdCBpc1NlbGVjdFNrdUlkID0gc2t1SWQgPiAwID8gdHJ1ZSA6IGZhbHNlO1xuICAgIC8vIOaYr+WQpumhr+ekuuW7uuitsOWUruWDuVxuICAgIGNvbnN0IGlzU2hvd1N1Z2dlc3QgPSBza3VJdGVtID8gaXNTaG93U3VnZ2VzdFByaWNlKHNrdUl0ZW0uc3VnZ2VzdFByaWNlLCBza3VJdGVtLnByaWNlKSA6IGZhbHNlO1xuICAgIC8vIOaYr+WQpumhr+ekuuW7uuitsOWUruWDueevhOWcjVxuICAgIGNvbnN0IGlzU2hvd1JhbmdlU3VnZ2VzdCA9IGlzU2hvd1JhbmdlU3VnZ2VzdFByaWNlKFxuICAgICAgICB7IG1pbjogbWluU3VnZ2VzdFByaWNlLCBtYXg6IG1heFN1Z2dlc3RQcmljZSB9LFxuICAgICAgICB7IG1pbjogbWluUHJpY2UsIG1heDogbWF4UHJpY2UgfVxuICAgICk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPFByb2R1Y3RNYWluSW5mb0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxJbmZvTGVmdD5cbiAgICAgICAgICAgICAgICA8SW5mb0ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgPEluZm9JbWFnZSBzcmM9e2dldE1haW5JbWFnZVNyYyhtYWluSW1hZ2VVcmwsIHNrdUlkKX0gLz5cbiAgICAgICAgICAgICAgICA8L0luZm9GaWd1cmU+XG4gICAgICAgICAgICA8L0luZm9MZWZ0PlxuICAgICAgICAgICAgPEluZm9SaWdodD5cbiAgICAgICAgICAgICAgICA8SW5mb1RpdGxlPnt0aXRsZX08L0luZm9UaXRsZT5cbiAgICAgICAgICAgICAgICA8SW5mb1ByaWNlV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgey8qIOWIpOaWt+aYr+WQpumBuOWPlnNrdSAqL31cbiAgICAgICAgICAgICAgICAgICAge2lzU2VsZWN0U2t1SWQgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc1Nob3dTdWdnZXN0ICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEluZm9TdWdnZXN0UHJpY2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q3VycmVuY3lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2t1SXRlbS5zdWdnZXN0UHJpY2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbD17ZGVjaW1hbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2w9e3N5bWJvbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXRlPXtyYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVGhyb3VnaD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlVGhlbWU9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0luZm9TdWdnZXN0UHJpY2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc1BvaW50UGF5T3B0aW9uICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEluZm9QcmljZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDdXJyZW5jeSB2YWx1ZT17c2t1SXRlbS5wcmljZX0gZGVjaW1hbD17ZGVjaW1hbH0gc3ltYm9sPXtzeW1ib2x9IHJhdGU9e3JhdGV9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5mb1ByaWNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1BvaW50UGF5T3B0aW9uICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2R1Y3RQb2ludFBheVByaWNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFB1cmNoYXNlTWV0aG9kPXtzZWxlY3RlZFB1cmNoYXNlTWV0aG9kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbD17ZGVjaW1hbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbD17c3ltYm9sfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF0ZT17cmF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpc1Nob3dSYW5nZVN1Z2dlc3QgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5mb1N1Z2dlc3RQcmljZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDdXJyZW5jeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXttaW5TdWdnZXN0UHJpY2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbD17ZGVjaW1hbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2w9e3N5bWJvbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXRlPXtyYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVGhyb3VnaD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlVGhlbWU9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge21heFN1Z2dlc3RQcmljZSA+IG1pblN1Z2dlc3RQcmljZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEN1cnJlbmN5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17bWF4U3VnZ2VzdFByaWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbD17ZGVjaW1hbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbD17c3ltYm9sfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF0ZT17cmF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVGhyb3VnaD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVUaGVtZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0luZm9TdWdnZXN0UHJpY2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWhhc1BvaW50UGF5T3B0aW9uICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEluZm9QcmljZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDdXJyZW5jeSB2YWx1ZT17bWluUHJpY2V9IGRlY2ltYWw9e2RlY2ltYWx9IHN5bWJvbD17c3ltYm9sfSByYXRlPXtyYXRlfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge21heFByaWNlID4gbWluUHJpY2UgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxNYXhTdWdnZXN0UHJpY2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q3VycmVuY3kgdmFsdWU9e21heFByaWNlfSBkZWNpbWFsPXtkZWNpbWFsfSBzeW1ib2w9e3N5bWJvbH0gcmF0ZT17cmF0ZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01heFN1Z2dlc3RQcmljZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5mb1ByaWNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2hhc1BvaW50UGF5T3B0aW9uICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2R1Y3RQb2ludFBheVByaWNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFB1cmNoYXNlTWV0aG9kPXtzZWxlY3RlZFB1cmNoYXNlTWV0aG9kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbD17ZGVjaW1hbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbD17c3ltYm9sfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF0ZT17cmF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9JbmZvUHJpY2VXcmFwcGVyPlxuICAgICAgICAgICAgPC9JbmZvUmlnaHQ+XG4gICAgICAgIDwvUHJvZHVjdE1haW5JbmZvQ29udGFpbmVyPlxuICAgICk7XG59O1xuIiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2V4dGVuZHMoKSB7XG4gIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcblxuICByZXR1cm4gX2V4dGVuZHMuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn0iLCJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKHNlbGYpIHtcbiAgaWYgKHNlbGYgPT09IHZvaWQgMCkge1xuICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtcbiAgfVxuXG4gIHJldHVybiBzZWxmO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9zZXRQcm90b3R5cGVPZihvLCBwKSB7XG4gIF9zZXRQcm90b3R5cGVPZiA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fCBmdW5jdGlvbiBfc2V0UHJvdG90eXBlT2YobywgcCkge1xuICAgIG8uX19wcm90b19fID0gcDtcbiAgICByZXR1cm4gbztcbiAgfTtcblxuICByZXR1cm4gX3NldFByb3RvdHlwZU9mKG8sIHApO1xufSIsImltcG9ydCBzZXRQcm90b3R5cGVPZiBmcm9tIFwiLi9zZXRQcm90b3R5cGVPZi5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2luaGVyaXRzTG9vc2Uoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHtcbiAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzLnByb3RvdHlwZSk7XG4gIHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzO1xuICBzZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcyk7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHtcbiAgX2dldFByb3RvdHlwZU9mID0gT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gX2dldFByb3RvdHlwZU9mKG8pIHtcbiAgICByZXR1cm4gby5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKG8pO1xuICB9O1xuICByZXR1cm4gX2dldFByb3RvdHlwZU9mKG8pO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF9pc05hdGl2ZUZ1bmN0aW9uKGZuKSB7XG4gIHJldHVybiBGdW5jdGlvbi50b1N0cmluZy5jYWxsKGZuKS5pbmRleE9mKFwiW25hdGl2ZSBjb2RlXVwiKSAhPT0gLTE7XG59IiwiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCgpIHtcbiAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcInVuZGVmaW5lZFwiIHx8ICFSZWZsZWN0LmNvbnN0cnVjdCkgcmV0dXJuIGZhbHNlO1xuICBpZiAoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSkgcmV0dXJuIGZhbHNlO1xuICBpZiAodHlwZW9mIFByb3h5ID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0cnVlO1xuXG4gIHRyeSB7XG4gICAgQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sIFtdLCBmdW5jdGlvbiAoKSB7fSkpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59IiwiaW1wb3J0IHNldFByb3RvdHlwZU9mIGZyb20gXCIuL3NldFByb3RvdHlwZU9mLmpzXCI7XG5pbXBvcnQgaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IGZyb20gXCIuL2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdC5qc1wiO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gX2NvbnN0cnVjdChQYXJlbnQsIGFyZ3MsIENsYXNzKSB7XG4gIGlmIChpc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QoKSkge1xuICAgIF9jb25zdHJ1Y3QgPSBSZWZsZWN0LmNvbnN0cnVjdDtcbiAgfSBlbHNlIHtcbiAgICBfY29uc3RydWN0ID0gZnVuY3Rpb24gX2NvbnN0cnVjdChQYXJlbnQsIGFyZ3MsIENsYXNzKSB7XG4gICAgICB2YXIgYSA9IFtudWxsXTtcbiAgICAgIGEucHVzaC5hcHBseShhLCBhcmdzKTtcbiAgICAgIHZhciBDb25zdHJ1Y3RvciA9IEZ1bmN0aW9uLmJpbmQuYXBwbHkoUGFyZW50LCBhKTtcbiAgICAgIHZhciBpbnN0YW5jZSA9IG5ldyBDb25zdHJ1Y3RvcigpO1xuICAgICAgaWYgKENsYXNzKSBzZXRQcm90b3R5cGVPZihpbnN0YW5jZSwgQ2xhc3MucHJvdG90eXBlKTtcbiAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIF9jb25zdHJ1Y3QuYXBwbHkobnVsbCwgYXJndW1lbnRzKTtcbn0iLCJpbXBvcnQgZ2V0UHJvdG90eXBlT2YgZnJvbSBcIi4vZ2V0UHJvdG90eXBlT2YuanNcIjtcbmltcG9ydCBzZXRQcm90b3R5cGVPZiBmcm9tIFwiLi9zZXRQcm90b3R5cGVPZi5qc1wiO1xuaW1wb3J0IGlzTmF0aXZlRnVuY3Rpb24gZnJvbSBcIi4vaXNOYXRpdmVGdW5jdGlvbi5qc1wiO1xuaW1wb3J0IGNvbnN0cnVjdCBmcm9tIFwiLi9jb25zdHJ1Y3QuanNcIjtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF93cmFwTmF0aXZlU3VwZXIoQ2xhc3MpIHtcbiAgdmFyIF9jYWNoZSA9IHR5cGVvZiBNYXAgPT09IFwiZnVuY3Rpb25cIiA/IG5ldyBNYXAoKSA6IHVuZGVmaW5lZDtcblxuICBfd3JhcE5hdGl2ZVN1cGVyID0gZnVuY3Rpb24gX3dyYXBOYXRpdmVTdXBlcihDbGFzcykge1xuICAgIGlmIChDbGFzcyA9PT0gbnVsbCB8fCAhaXNOYXRpdmVGdW5jdGlvbihDbGFzcykpIHJldHVybiBDbGFzcztcblxuICAgIGlmICh0eXBlb2YgQ2xhc3MgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uXCIpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgX2NhY2hlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBpZiAoX2NhY2hlLmhhcyhDbGFzcykpIHJldHVybiBfY2FjaGUuZ2V0KENsYXNzKTtcblxuICAgICAgX2NhY2hlLnNldChDbGFzcywgV3JhcHBlcik7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gV3JhcHBlcigpIHtcbiAgICAgIHJldHVybiBjb25zdHJ1Y3QoQ2xhc3MsIGFyZ3VtZW50cywgZ2V0UHJvdG90eXBlT2YodGhpcykuY29uc3RydWN0b3IpO1xuICAgIH1cblxuICAgIFdyYXBwZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShDbGFzcy5wcm90b3R5cGUsIHtcbiAgICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICAgIHZhbHVlOiBXcmFwcGVyLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBzZXRQcm90b3R5cGVPZihXcmFwcGVyLCBDbGFzcyk7XG4gIH07XG5cbiAgcmV0dXJuIF93cmFwTmF0aXZlU3VwZXIoQ2xhc3MpO1xufSIsImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIF90YWdnZWRUZW1wbGF0ZUxpdGVyYWxMb29zZShzdHJpbmdzLCByYXcpIHtcbiAgaWYgKCFyYXcpIHtcbiAgICByYXcgPSBzdHJpbmdzLnNsaWNlKDApO1xuICB9XG5cbiAgc3RyaW5ncy5yYXcgPSByYXc7XG4gIHJldHVybiBzdHJpbmdzO1xufSIsImltcG9ydCBfZXh0ZW5kcyBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9leHRlbmRzJztcbmltcG9ydCBfYXNzZXJ0VGhpc0luaXRpYWxpemVkIGZyb20gJ0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2Fzc2VydFRoaXNJbml0aWFsaXplZCc7XG5pbXBvcnQgX2luaGVyaXRzTG9vc2UgZnJvbSAnQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vaW5oZXJpdHNMb29zZSc7XG5pbXBvcnQgX3dyYXBOYXRpdmVTdXBlciBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS93cmFwTmF0aXZlU3VwZXInO1xuaW1wb3J0IF90YWdnZWRUZW1wbGF0ZUxpdGVyYWxMb29zZSBmcm9tICdAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS90YWdnZWRUZW1wbGF0ZUxpdGVyYWxMb29zZSc7XG5cbmZ1bmN0aW9uIGxhc3QoKSB7XG4gIHZhciBfcmVmO1xuXG4gIHJldHVybiBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCAtIDEsIF9yZWYgPCAwIHx8IGFyZ3VtZW50cy5sZW5ndGggPD0gX3JlZiA/IHVuZGVmaW5lZCA6IGFyZ3VtZW50c1tfcmVmXTtcbn1cblxuZnVuY3Rpb24gbmVnYXRpb24oYSkge1xuICByZXR1cm4gLWE7XG59XG5cbmZ1bmN0aW9uIGFkZGl0aW9uKGEsIGIpIHtcbiAgcmV0dXJuIGEgKyBiO1xufVxuXG5mdW5jdGlvbiBzdWJ0cmFjdGlvbihhLCBiKSB7XG4gIHJldHVybiBhIC0gYjtcbn1cblxuZnVuY3Rpb24gbXVsdGlwbGljYXRpb24oYSwgYikge1xuICByZXR1cm4gYSAqIGI7XG59XG5cbmZ1bmN0aW9uIGRpdmlzaW9uKGEsIGIpIHtcbiAgcmV0dXJuIGEgLyBiO1xufVxuXG5mdW5jdGlvbiBmYWN0b3JpYWwoYSkge1xuICBpZiAoYSAlIDEgfHwgISgrYSA+PSAwKSkgcmV0dXJuIE5hTjtcbiAgaWYgKGEgPiAxNzApIHJldHVybiBJbmZpbml0eTtlbHNlIGlmIChhID09PSAwKSByZXR1cm4gMTtlbHNlIHtcbiAgICByZXR1cm4gYSAqIGZhY3RvcmlhbChhIC0gMSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG93ZXIoYSwgYikge1xuICByZXR1cm4gTWF0aC5wb3coYSwgYik7XG59XG5cbmZ1bmN0aW9uIHNxcnQoYSkge1xuICByZXR1cm4gTWF0aC5zcXJ0KGEpO1xufVxuXG5mdW5jdGlvbiBtYXgoKSB7XG4gIHJldHVybiBNYXRoLm1heC5hcHBseShNYXRoLCBhcmd1bWVudHMpO1xufVxuXG5mdW5jdGlvbiBtaW4oKSB7XG4gIHJldHVybiBNYXRoLm1pbi5hcHBseShNYXRoLCBhcmd1bWVudHMpO1xufVxuXG5mdW5jdGlvbiBjb21tYSgpIHtcbiAgcmV0dXJuIEFycmF5Lm9mLmFwcGx5KEFycmF5LCBhcmd1bWVudHMpO1xufVxuXG52YXIgZGVmYXVsdE1hdGhTeW1ib2xzID0ge1xuICBzeW1ib2xzOiB7XG4gICAgJyEnOiB7XG4gICAgICBwb3N0Zml4OiB7XG4gICAgICAgIHN5bWJvbDogJyEnLFxuICAgICAgICBmOiBmYWN0b3JpYWwsXG4gICAgICAgIG5vdGF0aW9uOiAncG9zdGZpeCcsXG4gICAgICAgIHByZWNlZGVuY2U6IDYsXG4gICAgICAgIHJpZ2h0VG9MZWZ0OiAwLFxuICAgICAgICBhcmdDb3VudDogMVxuICAgICAgfSxcbiAgICAgIHN5bWJvbDogJyEnLFxuICAgICAgcmVnU3ltYm9sOiAnISdcbiAgICB9LFxuICAgICdeJzoge1xuICAgICAgaW5maXg6IHtcbiAgICAgICAgc3ltYm9sOiAnXicsXG4gICAgICAgIGY6IHBvd2VyLFxuICAgICAgICBub3RhdGlvbjogJ2luZml4JyxcbiAgICAgICAgcHJlY2VkZW5jZTogNSxcbiAgICAgICAgcmlnaHRUb0xlZnQ6IDEsXG4gICAgICAgIGFyZ0NvdW50OiAyXG4gICAgICB9LFxuICAgICAgc3ltYm9sOiAnXicsXG4gICAgICByZWdTeW1ib2w6ICdcXFxcXidcbiAgICB9LFxuICAgICcqJzoge1xuICAgICAgaW5maXg6IHtcbiAgICAgICAgc3ltYm9sOiAnKicsXG4gICAgICAgIGY6IG11bHRpcGxpY2F0aW9uLFxuICAgICAgICBub3RhdGlvbjogJ2luZml4JyxcbiAgICAgICAgcHJlY2VkZW5jZTogNCxcbiAgICAgICAgcmlnaHRUb0xlZnQ6IDAsXG4gICAgICAgIGFyZ0NvdW50OiAyXG4gICAgICB9LFxuICAgICAgc3ltYm9sOiAnKicsXG4gICAgICByZWdTeW1ib2w6ICdcXFxcKidcbiAgICB9LFxuICAgICcvJzoge1xuICAgICAgaW5maXg6IHtcbiAgICAgICAgc3ltYm9sOiAnLycsXG4gICAgICAgIGY6IGRpdmlzaW9uLFxuICAgICAgICBub3RhdGlvbjogJ2luZml4JyxcbiAgICAgICAgcHJlY2VkZW5jZTogNCxcbiAgICAgICAgcmlnaHRUb0xlZnQ6IDAsXG4gICAgICAgIGFyZ0NvdW50OiAyXG4gICAgICB9LFxuICAgICAgc3ltYm9sOiAnLycsXG4gICAgICByZWdTeW1ib2w6ICcvJ1xuICAgIH0sXG4gICAgJysnOiB7XG4gICAgICBpbmZpeDoge1xuICAgICAgICBzeW1ib2w6ICcrJyxcbiAgICAgICAgZjogYWRkaXRpb24sXG4gICAgICAgIG5vdGF0aW9uOiAnaW5maXgnLFxuICAgICAgICBwcmVjZWRlbmNlOiAyLFxuICAgICAgICByaWdodFRvTGVmdDogMCxcbiAgICAgICAgYXJnQ291bnQ6IDJcbiAgICAgIH0sXG4gICAgICBwcmVmaXg6IHtcbiAgICAgICAgc3ltYm9sOiAnKycsXG4gICAgICAgIGY6IGxhc3QsXG4gICAgICAgIG5vdGF0aW9uOiAncHJlZml4JyxcbiAgICAgICAgcHJlY2VkZW5jZTogMyxcbiAgICAgICAgcmlnaHRUb0xlZnQ6IDAsXG4gICAgICAgIGFyZ0NvdW50OiAxXG4gICAgICB9LFxuICAgICAgc3ltYm9sOiAnKycsXG4gICAgICByZWdTeW1ib2w6ICdcXFxcKydcbiAgICB9LFxuICAgICctJzoge1xuICAgICAgaW5maXg6IHtcbiAgICAgICAgc3ltYm9sOiAnLScsXG4gICAgICAgIGY6IHN1YnRyYWN0aW9uLFxuICAgICAgICBub3RhdGlvbjogJ2luZml4JyxcbiAgICAgICAgcHJlY2VkZW5jZTogMixcbiAgICAgICAgcmlnaHRUb0xlZnQ6IDAsXG4gICAgICAgIGFyZ0NvdW50OiAyXG4gICAgICB9LFxuICAgICAgcHJlZml4OiB7XG4gICAgICAgIHN5bWJvbDogJy0nLFxuICAgICAgICBmOiBuZWdhdGlvbixcbiAgICAgICAgbm90YXRpb246ICdwcmVmaXgnLFxuICAgICAgICBwcmVjZWRlbmNlOiAzLFxuICAgICAgICByaWdodFRvTGVmdDogMCxcbiAgICAgICAgYXJnQ291bnQ6IDFcbiAgICAgIH0sXG4gICAgICBzeW1ib2w6ICctJyxcbiAgICAgIHJlZ1N5bWJvbDogJy0nXG4gICAgfSxcbiAgICAnLCc6IHtcbiAgICAgIGluZml4OiB7XG4gICAgICAgIHN5bWJvbDogJywnLFxuICAgICAgICBmOiBjb21tYSxcbiAgICAgICAgbm90YXRpb246ICdpbmZpeCcsXG4gICAgICAgIHByZWNlZGVuY2U6IDEsXG4gICAgICAgIHJpZ2h0VG9MZWZ0OiAwLFxuICAgICAgICBhcmdDb3VudDogMlxuICAgICAgfSxcbiAgICAgIHN5bWJvbDogJywnLFxuICAgICAgcmVnU3ltYm9sOiAnLCdcbiAgICB9LFxuICAgICcoJzoge1xuICAgICAgcHJlZml4OiB7XG4gICAgICAgIHN5bWJvbDogJygnLFxuICAgICAgICBmOiBsYXN0LFxuICAgICAgICBub3RhdGlvbjogJ3ByZWZpeCcsXG4gICAgICAgIHByZWNlZGVuY2U6IDAsXG4gICAgICAgIHJpZ2h0VG9MZWZ0OiAwLFxuICAgICAgICBhcmdDb3VudDogMVxuICAgICAgfSxcbiAgICAgIHN5bWJvbDogJygnLFxuICAgICAgcmVnU3ltYm9sOiAnXFxcXCgnXG4gICAgfSxcbiAgICAnKSc6IHtcbiAgICAgIHBvc3RmaXg6IHtcbiAgICAgICAgc3ltYm9sOiAnKScsXG4gICAgICAgIGY6IHVuZGVmaW5lZCxcbiAgICAgICAgbm90YXRpb246ICdwb3N0Zml4JyxcbiAgICAgICAgcHJlY2VkZW5jZTogMCxcbiAgICAgICAgcmlnaHRUb0xlZnQ6IDAsXG4gICAgICAgIGFyZ0NvdW50OiAxXG4gICAgICB9LFxuICAgICAgc3ltYm9sOiAnKScsXG4gICAgICByZWdTeW1ib2w6ICdcXFxcKSdcbiAgICB9LFxuICAgIG1pbjoge1xuICAgICAgZnVuYzoge1xuICAgICAgICBzeW1ib2w6ICdtaW4nLFxuICAgICAgICBmOiBtaW4sXG4gICAgICAgIG5vdGF0aW9uOiAnZnVuYycsXG4gICAgICAgIHByZWNlZGVuY2U6IDAsXG4gICAgICAgIHJpZ2h0VG9MZWZ0OiAwLFxuICAgICAgICBhcmdDb3VudDogMVxuICAgICAgfSxcbiAgICAgIHN5bWJvbDogJ21pbicsXG4gICAgICByZWdTeW1ib2w6ICdtaW5cXFxcYidcbiAgICB9LFxuICAgIG1heDoge1xuICAgICAgZnVuYzoge1xuICAgICAgICBzeW1ib2w6ICdtYXgnLFxuICAgICAgICBmOiBtYXgsXG4gICAgICAgIG5vdGF0aW9uOiAnZnVuYycsXG4gICAgICAgIHByZWNlZGVuY2U6IDAsXG4gICAgICAgIHJpZ2h0VG9MZWZ0OiAwLFxuICAgICAgICBhcmdDb3VudDogMVxuICAgICAgfSxcbiAgICAgIHN5bWJvbDogJ21heCcsXG4gICAgICByZWdTeW1ib2w6ICdtYXhcXFxcYidcbiAgICB9LFxuICAgIHNxcnQ6IHtcbiAgICAgIGZ1bmM6IHtcbiAgICAgICAgc3ltYm9sOiAnc3FydCcsXG4gICAgICAgIGY6IHNxcnQsXG4gICAgICAgIG5vdGF0aW9uOiAnZnVuYycsXG4gICAgICAgIHByZWNlZGVuY2U6IDAsXG4gICAgICAgIHJpZ2h0VG9MZWZ0OiAwLFxuICAgICAgICBhcmdDb3VudDogMVxuICAgICAgfSxcbiAgICAgIHN5bWJvbDogJ3NxcnQnLFxuICAgICAgcmVnU3ltYm9sOiAnc3FydFxcXFxiJ1xuICAgIH1cbiAgfVxufTtcblxuLy8gYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3N0eWxlZC1jb21wb25lbnRzL3N0eWxlZC1jb21wb25lbnRzL2Jsb2IvZmNmNmYzODA0YzU3YTE0ZGQ3OTg0ZGZhYjdiYzA2ZWUyZWRjYTA0NC9zcmMvdXRpbHMvZXJyb3IuanNcblxuLyoqXG4gKiBQYXJzZSBlcnJvcnMubWQgYW5kIHR1cm4gaXQgaW50byBhIHNpbXBsZSBoYXNoIG9mIGNvZGU6IG1lc3NhZ2VcbiAqIEBwcml2YXRlXG4gKi9cbnZhciBFUlJPUlMgPSB7XG4gIFwiMVwiOiBcIlBhc3NlZCBpbnZhbGlkIGFyZ3VtZW50cyB0byBoc2wsIHBsZWFzZSBwYXNzIG11bHRpcGxlIG51bWJlcnMgZS5nLiBoc2woMzYwLCAwLjc1LCAwLjQpIG9yIGFuIG9iamVjdCBlLmcuIHJnYih7IGh1ZTogMjU1LCBzYXR1cmF0aW9uOiAwLjQsIGxpZ2h0bmVzczogMC43NSB9KS5cXG5cXG5cIixcbiAgXCIyXCI6IFwiUGFzc2VkIGludmFsaWQgYXJndW1lbnRzIHRvIGhzbGEsIHBsZWFzZSBwYXNzIG11bHRpcGxlIG51bWJlcnMgZS5nLiBoc2xhKDM2MCwgMC43NSwgMC40LCAwLjcpIG9yIGFuIG9iamVjdCBlLmcuIHJnYih7IGh1ZTogMjU1LCBzYXR1cmF0aW9uOiAwLjQsIGxpZ2h0bmVzczogMC43NSwgYWxwaGE6IDAuNyB9KS5cXG5cXG5cIixcbiAgXCIzXCI6IFwiUGFzc2VkIGFuIGluY29ycmVjdCBhcmd1bWVudCB0byBhIGNvbG9yIGZ1bmN0aW9uLCBwbGVhc2UgcGFzcyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIGNvbG9yLlxcblxcblwiLFxuICBcIjRcIjogXCJDb3VsZG4ndCBnZW5lcmF0ZSB2YWxpZCByZ2Igc3RyaW5nIGZyb20gJXMsIGl0IHJldHVybmVkICVzLlxcblxcblwiLFxuICBcIjVcIjogXCJDb3VsZG4ndCBwYXJzZSB0aGUgY29sb3Igc3RyaW5nLiBQbGVhc2UgcHJvdmlkZSB0aGUgY29sb3IgYXMgYSBzdHJpbmcgaW4gaGV4LCByZ2IsIHJnYmEsIGhzbCBvciBoc2xhIG5vdGF0aW9uLlxcblxcblwiLFxuICBcIjZcIjogXCJQYXNzZWQgaW52YWxpZCBhcmd1bWVudHMgdG8gcmdiLCBwbGVhc2UgcGFzcyBtdWx0aXBsZSBudW1iZXJzIGUuZy4gcmdiKDI1NSwgMjA1LCAxMDApIG9yIGFuIG9iamVjdCBlLmcuIHJnYih7IHJlZDogMjU1LCBncmVlbjogMjA1LCBibHVlOiAxMDAgfSkuXFxuXFxuXCIsXG4gIFwiN1wiOiBcIlBhc3NlZCBpbnZhbGlkIGFyZ3VtZW50cyB0byByZ2JhLCBwbGVhc2UgcGFzcyBtdWx0aXBsZSBudW1iZXJzIGUuZy4gcmdiKDI1NSwgMjA1LCAxMDAsIDAuNzUpIG9yIGFuIG9iamVjdCBlLmcuIHJnYih7IHJlZDogMjU1LCBncmVlbjogMjA1LCBibHVlOiAxMDAsIGFscGhhOiAwLjc1IH0pLlxcblxcblwiLFxuICBcIjhcIjogXCJQYXNzZWQgaW52YWxpZCBhcmd1bWVudCB0byB0b0NvbG9yU3RyaW5nLCBwbGVhc2UgcGFzcyBhIFJnYkNvbG9yLCBSZ2JhQ29sb3IsIEhzbENvbG9yIG9yIEhzbGFDb2xvciBvYmplY3QuXFxuXFxuXCIsXG4gIFwiOVwiOiBcIlBsZWFzZSBwcm92aWRlIGEgbnVtYmVyIG9mIHN0ZXBzIHRvIHRoZSBtb2R1bGFyU2NhbGUgaGVscGVyLlxcblxcblwiLFxuICBcIjEwXCI6IFwiUGxlYXNlIHBhc3MgYSBudW1iZXIgb3Igb25lIG9mIHRoZSBwcmVkZWZpbmVkIHNjYWxlcyB0byB0aGUgbW9kdWxhclNjYWxlIGhlbHBlciBhcyB0aGUgcmF0aW8uXFxuXFxuXCIsXG4gIFwiMTFcIjogXCJJbnZhbGlkIHZhbHVlIHBhc3NlZCBhcyBiYXNlIHRvIG1vZHVsYXJTY2FsZSwgZXhwZWN0ZWQgbnVtYmVyIG9yIGVtIHN0cmluZyBidXQgZ290IFxcXCIlc1xcXCJcXG5cXG5cIixcbiAgXCIxMlwiOiBcIkV4cGVjdGVkIGEgc3RyaW5nIGVuZGluZyBpbiBcXFwicHhcXFwiIG9yIGEgbnVtYmVyIHBhc3NlZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gJXMoKSwgZ290IFxcXCIlc1xcXCIgaW5zdGVhZC5cXG5cXG5cIixcbiAgXCIxM1wiOiBcIkV4cGVjdGVkIGEgc3RyaW5nIGVuZGluZyBpbiBcXFwicHhcXFwiIG9yIGEgbnVtYmVyIHBhc3NlZCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvICVzKCksIGdvdCBcXFwiJXNcXFwiIGluc3RlYWQuXFxuXFxuXCIsXG4gIFwiMTRcIjogXCJQYXNzZWQgaW52YWxpZCBwaXhlbCB2YWx1ZSAoXFxcIiVzXFxcIikgdG8gJXMoKSwgcGxlYXNlIHBhc3MgYSB2YWx1ZSBsaWtlIFxcXCIxMnB4XFxcIiBvciAxMi5cXG5cXG5cIixcbiAgXCIxNVwiOiBcIlBhc3NlZCBpbnZhbGlkIGJhc2UgdmFsdWUgKFxcXCIlc1xcXCIpIHRvICVzKCksIHBsZWFzZSBwYXNzIGEgdmFsdWUgbGlrZSBcXFwiMTJweFxcXCIgb3IgMTIuXFxuXFxuXCIsXG4gIFwiMTZcIjogXCJZb3UgbXVzdCBwcm92aWRlIGEgdGVtcGxhdGUgdG8gdGhpcyBtZXRob2QuXFxuXFxuXCIsXG4gIFwiMTdcIjogXCJZb3UgcGFzc2VkIGFuIHVuc3VwcG9ydGVkIHNlbGVjdG9yIHN0YXRlIHRvIHRoaXMgbWV0aG9kLlxcblxcblwiLFxuICBcIjE4XCI6IFwibWluU2NyZWVuIGFuZCBtYXhTY3JlZW4gbXVzdCBiZSBwcm92aWRlZCBhcyBzdHJpbmdpZmllZCBudW1iZXJzIHdpdGggdGhlIHNhbWUgdW5pdHMuXFxuXFxuXCIsXG4gIFwiMTlcIjogXCJmcm9tU2l6ZSBhbmQgdG9TaXplIG11c3QgYmUgcHJvdmlkZWQgYXMgc3RyaW5naWZpZWQgbnVtYmVycyB3aXRoIHRoZSBzYW1lIHVuaXRzLlxcblxcblwiLFxuICBcIjIwXCI6IFwiZXhwZWN0cyBlaXRoZXIgYW4gYXJyYXkgb2Ygb2JqZWN0cyBvciBhIHNpbmdsZSBvYmplY3Qgd2l0aCB0aGUgcHJvcGVydGllcyBwcm9wLCBmcm9tU2l6ZSwgYW5kIHRvU2l6ZS5cXG5cXG5cIixcbiAgXCIyMVwiOiBcImV4cGVjdHMgdGhlIG9iamVjdHMgaW4gdGhlIGZpcnN0IGFyZ3VtZW50IGFycmF5IHRvIGhhdmUgdGhlIHByb3BlcnRpZXMgYHByb3BgLCBgZnJvbVNpemVgLCBhbmQgYHRvU2l6ZWAuXFxuXFxuXCIsXG4gIFwiMjJcIjogXCJleHBlY3RzIHRoZSBmaXJzdCBhcmd1bWVudCBvYmplY3QgdG8gaGF2ZSB0aGUgcHJvcGVydGllcyBgcHJvcGAsIGBmcm9tU2l6ZWAsIGFuZCBgdG9TaXplYC5cXG5cXG5cIixcbiAgXCIyM1wiOiBcImZvbnRGYWNlIGV4cGVjdHMgYSBuYW1lIG9mIGEgZm9udC1mYW1pbHkuXFxuXFxuXCIsXG4gIFwiMjRcIjogXCJmb250RmFjZSBleHBlY3RzIGVpdGhlciB0aGUgcGF0aCB0byB0aGUgZm9udCBmaWxlKHMpIG9yIGEgbmFtZSBvZiBhIGxvY2FsIGNvcHkuXFxuXFxuXCIsXG4gIFwiMjVcIjogXCJmb250RmFjZSBleHBlY3RzIGxvY2FsRm9udHMgdG8gYmUgYW4gYXJyYXkuXFxuXFxuXCIsXG4gIFwiMjZcIjogXCJmb250RmFjZSBleHBlY3RzIGZpbGVGb3JtYXRzIHRvIGJlIGFuIGFycmF5LlxcblxcblwiLFxuICBcIjI3XCI6IFwicmFkaWFsR3JhZGllbnQgcmVxdXJpZXMgYXQgbGVhc3QgMiBjb2xvci1zdG9wcyB0byBwcm9wZXJseSByZW5kZXIuXFxuXFxuXCIsXG4gIFwiMjhcIjogXCJQbGVhc2Ugc3VwcGx5IGEgZmlsZW5hbWUgdG8gcmV0aW5hSW1hZ2UoKSBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXFxuXFxuXCIsXG4gIFwiMjlcIjogXCJQYXNzZWQgaW52YWxpZCBhcmd1bWVudCB0byB0cmlhbmdsZSwgcGxlYXNlIHBhc3MgY29ycmVjdCBwb2ludGluZ0RpcmVjdGlvbiBlLmcuICdyaWdodCcuXFxuXFxuXCIsXG4gIFwiMzBcIjogXCJQYXNzZWQgYW4gaW52YWxpZCB2YWx1ZSB0byBgaGVpZ2h0YCBvciBgd2lkdGhgLiBQbGVhc2UgcHJvdmlkZSBhIHBpeGVsIGJhc2VkIHVuaXQuXFxuXFxuXCIsXG4gIFwiMzFcIjogXCJUaGUgYW5pbWF0aW9uIHNob3J0aGFuZCBvbmx5IHRha2VzIDggYXJndW1lbnRzLiBTZWUgdGhlIHNwZWNpZmljYXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb246IGh0dHA6Ly9tZG4uaW8vYW5pbWF0aW9uXFxuXFxuXCIsXG4gIFwiMzJcIjogXCJUbyBwYXNzIG11bHRpcGxlIGFuaW1hdGlvbnMgcGxlYXNlIHN1cHBseSB0aGVtIGluIGFycmF5cywgZS5nLiBhbmltYXRpb24oWydyb3RhdGUnLCAnMnMnXSwgWydtb3ZlJywgJzFzJ10pXFxuVG8gcGFzcyBhIHNpbmdsZSBhbmltYXRpb24gcGxlYXNlIHN1cHBseSB0aGVtIGluIHNpbXBsZSB2YWx1ZXMsIGUuZy4gYW5pbWF0aW9uKCdyb3RhdGUnLCAnMnMnKVxcblxcblwiLFxuICBcIjMzXCI6IFwiVGhlIGFuaW1hdGlvbiBzaG9ydGhhbmQgYXJyYXlzIGNhbiBvbmx5IGhhdmUgOCBlbGVtZW50cy4gU2VlIHRoZSBzcGVjaWZpY2F0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uOiBodHRwOi8vbWRuLmlvL2FuaW1hdGlvblxcblxcblwiLFxuICBcIjM0XCI6IFwiYm9yZGVyUmFkaXVzIGV4cGVjdHMgYSByYWRpdXMgdmFsdWUgYXMgYSBzdHJpbmcgb3IgbnVtYmVyIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQuXFxuXFxuXCIsXG4gIFwiMzVcIjogXCJib3JkZXJSYWRpdXMgZXhwZWN0cyBvbmUgb2YgXFxcInRvcFxcXCIsIFxcXCJib3R0b21cXFwiLCBcXFwibGVmdFxcXCIgb3IgXFxcInJpZ2h0XFxcIiBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXFxuXFxuXCIsXG4gIFwiMzZcIjogXCJQcm9wZXJ0eSBtdXN0IGJlIGEgc3RyaW5nIHZhbHVlLlxcblxcblwiLFxuICBcIjM3XCI6IFwiU3ludGF4IEVycm9yIGF0ICVzLlxcblxcblwiLFxuICBcIjM4XCI6IFwiRm9ybXVsYSBjb250YWlucyBhIGZ1bmN0aW9uIHRoYXQgbmVlZHMgcGFyZW50aGVzZXMgYXQgJXMuXFxuXFxuXCIsXG4gIFwiMzlcIjogXCJGb3JtdWxhIGlzIG1pc3NpbmcgY2xvc2luZyBwYXJlbnRoZXNpcyBhdCAlcy5cXG5cXG5cIixcbiAgXCI0MFwiOiBcIkZvcm11bGEgaGFzIHRvbyBtYW55IGNsb3NpbmcgcGFyZW50aGVzZXMgYXQgJXMuXFxuXFxuXCIsXG4gIFwiNDFcIjogXCJBbGwgdmFsdWVzIGluIGEgZm9ybXVsYSBtdXN0IGhhdmUgdGhlIHNhbWUgdW5pdCBvciBiZSB1bml0bGVzcy5cXG5cXG5cIixcbiAgXCI0MlwiOiBcIlBsZWFzZSBwcm92aWRlIGEgbnVtYmVyIG9mIHN0ZXBzIHRvIHRoZSBtb2R1bGFyU2NhbGUgaGVscGVyLlxcblxcblwiLFxuICBcIjQzXCI6IFwiUGxlYXNlIHBhc3MgYSBudW1iZXIgb3Igb25lIG9mIHRoZSBwcmVkZWZpbmVkIHNjYWxlcyB0byB0aGUgbW9kdWxhclNjYWxlIGhlbHBlciBhcyB0aGUgcmF0aW8uXFxuXFxuXCIsXG4gIFwiNDRcIjogXCJJbnZhbGlkIHZhbHVlIHBhc3NlZCBhcyBiYXNlIHRvIG1vZHVsYXJTY2FsZSwgZXhwZWN0ZWQgbnVtYmVyIG9yIGVtL3JlbSBzdHJpbmcgYnV0IGdvdCAlcy5cXG5cXG5cIixcbiAgXCI0NVwiOiBcIlBhc3NlZCBpbnZhbGlkIGFyZ3VtZW50IHRvIGhzbFRvQ29sb3JTdHJpbmcsIHBsZWFzZSBwYXNzIGEgSHNsQ29sb3Igb3IgSHNsYUNvbG9yIG9iamVjdC5cXG5cXG5cIixcbiAgXCI0NlwiOiBcIlBhc3NlZCBpbnZhbGlkIGFyZ3VtZW50IHRvIHJnYlRvQ29sb3JTdHJpbmcsIHBsZWFzZSBwYXNzIGEgUmdiQ29sb3Igb3IgUmdiYUNvbG9yIG9iamVjdC5cXG5cXG5cIixcbiAgXCI0N1wiOiBcIm1pblNjcmVlbiBhbmQgbWF4U2NyZWVuIG11c3QgYmUgcHJvdmlkZWQgYXMgc3RyaW5naWZpZWQgbnVtYmVycyB3aXRoIHRoZSBzYW1lIHVuaXRzLlxcblxcblwiLFxuICBcIjQ4XCI6IFwiZnJvbVNpemUgYW5kIHRvU2l6ZSBtdXN0IGJlIHByb3ZpZGVkIGFzIHN0cmluZ2lmaWVkIG51bWJlcnMgd2l0aCB0aGUgc2FtZSB1bml0cy5cXG5cXG5cIixcbiAgXCI0OVwiOiBcIkV4cGVjdHMgZWl0aGVyIGFuIGFycmF5IG9mIG9iamVjdHMgb3IgYSBzaW5nbGUgb2JqZWN0IHdpdGggdGhlIHByb3BlcnRpZXMgcHJvcCwgZnJvbVNpemUsIGFuZCB0b1NpemUuXFxuXFxuXCIsXG4gIFwiNTBcIjogXCJFeHBlY3RzIHRoZSBvYmplY3RzIGluIHRoZSBmaXJzdCBhcmd1bWVudCBhcnJheSB0byBoYXZlIHRoZSBwcm9wZXJ0aWVzIHByb3AsIGZyb21TaXplLCBhbmQgdG9TaXplLlxcblxcblwiLFxuICBcIjUxXCI6IFwiRXhwZWN0cyB0aGUgZmlyc3QgYXJndW1lbnQgb2JqZWN0IHRvIGhhdmUgdGhlIHByb3BlcnRpZXMgcHJvcCwgZnJvbVNpemUsIGFuZCB0b1NpemUuXFxuXFxuXCIsXG4gIFwiNTJcIjogXCJmb250RmFjZSBleHBlY3RzIGVpdGhlciB0aGUgcGF0aCB0byB0aGUgZm9udCBmaWxlKHMpIG9yIGEgbmFtZSBvZiBhIGxvY2FsIGNvcHkuXFxuXFxuXCIsXG4gIFwiNTNcIjogXCJmb250RmFjZSBleHBlY3RzIGxvY2FsRm9udHMgdG8gYmUgYW4gYXJyYXkuXFxuXFxuXCIsXG4gIFwiNTRcIjogXCJmb250RmFjZSBleHBlY3RzIGZpbGVGb3JtYXRzIHRvIGJlIGFuIGFycmF5LlxcblxcblwiLFxuICBcIjU1XCI6IFwiZm9udEZhY2UgZXhwZWN0cyBhIG5hbWUgb2YgYSBmb250LWZhbWlseS5cXG5cXG5cIixcbiAgXCI1NlwiOiBcImxpbmVhckdyYWRpZW50IHJlcXVyaWVzIGF0IGxlYXN0IDIgY29sb3Itc3RvcHMgdG8gcHJvcGVybHkgcmVuZGVyLlxcblxcblwiLFxuICBcIjU3XCI6IFwicmFkaWFsR3JhZGllbnQgcmVxdXJpZXMgYXQgbGVhc3QgMiBjb2xvci1zdG9wcyB0byBwcm9wZXJseSByZW5kZXIuXFxuXFxuXCIsXG4gIFwiNThcIjogXCJQbGVhc2Ugc3VwcGx5IGEgZmlsZW5hbWUgdG8gcmV0aW5hSW1hZ2UoKSBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXFxuXFxuXCIsXG4gIFwiNTlcIjogXCJQYXNzZWQgaW52YWxpZCBhcmd1bWVudCB0byB0cmlhbmdsZSwgcGxlYXNlIHBhc3MgY29ycmVjdCBwb2ludGluZ0RpcmVjdGlvbiBlLmcuICdyaWdodCcuXFxuXFxuXCIsXG4gIFwiNjBcIjogXCJQYXNzZWQgYW4gaW52YWxpZCB2YWx1ZSB0byBgaGVpZ2h0YCBvciBgd2lkdGhgLiBQbGVhc2UgcHJvdmlkZSBhIHBpeGVsIGJhc2VkIHVuaXQuXFxuXFxuXCIsXG4gIFwiNjFcIjogXCJQcm9wZXJ0eSBtdXN0IGJlIGEgc3RyaW5nIHZhbHVlLlxcblxcblwiLFxuICBcIjYyXCI6IFwiYm9yZGVyUmFkaXVzIGV4cGVjdHMgYSByYWRpdXMgdmFsdWUgYXMgYSBzdHJpbmcgb3IgbnVtYmVyIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQuXFxuXFxuXCIsXG4gIFwiNjNcIjogXCJib3JkZXJSYWRpdXMgZXhwZWN0cyBvbmUgb2YgXFxcInRvcFxcXCIsIFxcXCJib3R0b21cXFwiLCBcXFwibGVmdFxcXCIgb3IgXFxcInJpZ2h0XFxcIiBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXFxuXFxuXCIsXG4gIFwiNjRcIjogXCJUaGUgYW5pbWF0aW9uIHNob3J0aGFuZCBvbmx5IHRha2VzIDggYXJndW1lbnRzLiBTZWUgdGhlIHNwZWNpZmljYXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb246IGh0dHA6Ly9tZG4uaW8vYW5pbWF0aW9uLlxcblxcblwiLFxuICBcIjY1XCI6IFwiVG8gcGFzcyBtdWx0aXBsZSBhbmltYXRpb25zIHBsZWFzZSBzdXBwbHkgdGhlbSBpbiBhcnJheXMsIGUuZy4gYW5pbWF0aW9uKFsncm90YXRlJywgJzJzJ10sIFsnbW92ZScsICcxcyddKVxcXFxuVG8gcGFzcyBhIHNpbmdsZSBhbmltYXRpb24gcGxlYXNlIHN1cHBseSB0aGVtIGluIHNpbXBsZSB2YWx1ZXMsIGUuZy4gYW5pbWF0aW9uKCdyb3RhdGUnLCAnMnMnKS5cXG5cXG5cIixcbiAgXCI2NlwiOiBcIlRoZSBhbmltYXRpb24gc2hvcnRoYW5kIGFycmF5cyBjYW4gb25seSBoYXZlIDggZWxlbWVudHMuIFNlZSB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbjogaHR0cDovL21kbi5pby9hbmltYXRpb24uXFxuXFxuXCIsXG4gIFwiNjdcIjogXCJZb3UgbXVzdCBwcm92aWRlIGEgdGVtcGxhdGUgdG8gdGhpcyBtZXRob2QuXFxuXFxuXCIsXG4gIFwiNjhcIjogXCJZb3UgcGFzc2VkIGFuIHVuc3VwcG9ydGVkIHNlbGVjdG9yIHN0YXRlIHRvIHRoaXMgbWV0aG9kLlxcblxcblwiLFxuICBcIjY5XCI6IFwiRXhwZWN0ZWQgYSBzdHJpbmcgZW5kaW5nIGluIFxcXCJweFxcXCIgb3IgYSBudW1iZXIgcGFzc2VkIGFzIHRoZSBmaXJzdCBhcmd1bWVudCB0byAlcygpLCBnb3QgJXMgaW5zdGVhZC5cXG5cXG5cIixcbiAgXCI3MFwiOiBcIkV4cGVjdGVkIGEgc3RyaW5nIGVuZGluZyBpbiBcXFwicHhcXFwiIG9yIGEgbnVtYmVyIHBhc3NlZCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvICVzKCksIGdvdCAlcyBpbnN0ZWFkLlxcblxcblwiLFxuICBcIjcxXCI6IFwiUGFzc2VkIGludmFsaWQgcGl4ZWwgdmFsdWUgJXMgdG8gJXMoKSwgcGxlYXNlIHBhc3MgYSB2YWx1ZSBsaWtlIFxcXCIxMnB4XFxcIiBvciAxMi5cXG5cXG5cIixcbiAgXCI3MlwiOiBcIlBhc3NlZCBpbnZhbGlkIGJhc2UgdmFsdWUgJXMgdG8gJXMoKSwgcGxlYXNlIHBhc3MgYSB2YWx1ZSBsaWtlIFxcXCIxMnB4XFxcIiBvciAxMi5cXG5cXG5cIixcbiAgXCI3M1wiOiBcIlBsZWFzZSBwcm92aWRlIGEgdmFsaWQgQ1NTIHZhcmlhYmxlLlxcblxcblwiLFxuICBcIjc0XCI6IFwiQ1NTIHZhcmlhYmxlIG5vdCBmb3VuZC5cXG5cXG5cIixcbiAgXCI3NVwiOiBcImZyb21TaXplIGFuZCB0b1NpemUgbXVzdCBiZSBwcm92aWRlZCBhcyBzdHJpbmdpZmllZCBudW1iZXJzIHdpdGggdGhlIHNhbWUgdW5pdHMgYXMgbWluU2NyZWVuIGFuZCBtYXhTY3JlZW4uXFxuXCJcbn07XG4vKipcbiAqIHN1cGVyIGJhc2ljIHZlcnNpb24gb2Ygc3ByaW50ZlxuICogQHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBmb3JtYXQoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICB2YXIgYSA9IGFyZ3NbMF07XG4gIHZhciBiID0gW107XG4gIHZhciBjO1xuXG4gIGZvciAoYyA9IDE7IGMgPCBhcmdzLmxlbmd0aDsgYyArPSAxKSB7XG4gICAgYi5wdXNoKGFyZ3NbY10pO1xuICB9XG5cbiAgYi5mb3JFYWNoKGZ1bmN0aW9uIChkKSB7XG4gICAgYSA9IGEucmVwbGFjZSgvJVthLXpdLywgZCk7XG4gIH0pO1xuICByZXR1cm4gYTtcbn1cbi8qKlxuICogQ3JlYXRlIGFuIGVycm9yIGZpbGUgb3V0IG9mIGVycm9ycy5tZCBmb3IgZGV2ZWxvcG1lbnQgYW5kIGEgc2ltcGxlIHdlYiBsaW5rIHRvIHRoZSBmdWxsIGVycm9yc1xuICogaW4gcHJvZHVjdGlvbiBtb2RlLlxuICogQHByaXZhdGVcbiAqL1xuXG5cbnZhciBQb2xpc2hlZEVycm9yID0gLyojX19QVVJFX18qL2Z1bmN0aW9uIChfRXJyb3IpIHtcbiAgX2luaGVyaXRzTG9vc2UoUG9saXNoZWRFcnJvciwgX0Vycm9yKTtcblxuICBmdW5jdGlvbiBQb2xpc2hlZEVycm9yKGNvZGUpIHtcbiAgICB2YXIgX3RoaXM7XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgX3RoaXMgPSBfRXJyb3IuY2FsbCh0aGlzLCBcIkFuIGVycm9yIG9jY3VycmVkLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3N0eWxlZC1jb21wb25lbnRzL3BvbGlzaGVkL2Jsb2IvbWFpbi9zcmMvaW50ZXJuYWxIZWxwZXJzL2Vycm9ycy5tZCNcIiArIGNvZGUgKyBcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cIikgfHwgdGhpcztcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yID4gMSA/IF9sZW4yIC0gMSA6IDApLCBfa2V5MiA9IDE7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICAgICAgYXJnc1tfa2V5MiAtIDFdID0gYXJndW1lbnRzW19rZXkyXTtcbiAgICAgIH1cblxuICAgICAgX3RoaXMgPSBfRXJyb3IuY2FsbCh0aGlzLCBmb3JtYXQuYXBwbHkodm9pZCAwLCBbRVJST1JTW2NvZGVdXS5jb25jYXQoYXJncykpKSB8fCB0aGlzO1xuICAgIH1cblxuICAgIHJldHVybiBfYXNzZXJ0VGhpc0luaXRpYWxpemVkKF90aGlzKTtcbiAgfVxuXG4gIHJldHVybiBQb2xpc2hlZEVycm9yO1xufSggLyojX19QVVJFX18qL193cmFwTmF0aXZlU3VwZXIoRXJyb3IpKTtcblxudmFyIHVuaXRSZWdFeHAgPSAvKCg/IVxcdylhfG5hfGhjfG1jfGRnfG1lW3JdP3x4ZXxuaSg/IVthLXpBLVpdKXxtbXxjcHx0cHx4cHxxKD8hcyl8aHZ8eGFtdnxuaW12fHd2fHNtfHMoPyFcXER8JCl8Z2VkfGRhcmc/fG5ydXQpL2c7IC8vIE1lcmdlcyBhZGRpdGlvbmFsIG1hdGggZnVuY3Rpb25hbGl0eSBpbnRvIHRoZSBkZWZhdWx0cy5cblxuZnVuY3Rpb24gbWVyZ2VTeW1ib2xNYXBzKGFkZGl0aW9uYWxTeW1ib2xzKSB7XG4gIHZhciBzeW1ib2xNYXAgPSB7fTtcbiAgc3ltYm9sTWFwLnN5bWJvbHMgPSBhZGRpdGlvbmFsU3ltYm9scyA/IF9leHRlbmRzKHt9LCBkZWZhdWx0TWF0aFN5bWJvbHMuc3ltYm9scywgYWRkaXRpb25hbFN5bWJvbHMuc3ltYm9scykgOiBfZXh0ZW5kcyh7fSwgZGVmYXVsdE1hdGhTeW1ib2xzLnN5bWJvbHMpO1xuICByZXR1cm4gc3ltYm9sTWFwO1xufVxuXG5mdW5jdGlvbiBleGVjKG9wZXJhdG9ycywgdmFsdWVzKSB7XG4gIHZhciBfcmVmO1xuXG4gIHZhciBvcCA9IG9wZXJhdG9ycy5wb3AoKTtcbiAgdmFsdWVzLnB1c2gob3AuZi5hcHBseShvcCwgKF9yZWYgPSBbXSkuY29uY2F0LmFwcGx5KF9yZWYsIHZhbHVlcy5zcGxpY2UoLW9wLmFyZ0NvdW50KSkpKTtcbiAgcmV0dXJuIG9wLnByZWNlZGVuY2U7XG59XG5cbmZ1bmN0aW9uIGNhbGN1bGF0ZShleHByZXNzaW9uLCBhZGRpdGlvbmFsU3ltYm9scykge1xuICB2YXIgc3ltYm9sTWFwID0gbWVyZ2VTeW1ib2xNYXBzKGFkZGl0aW9uYWxTeW1ib2xzKTtcbiAgdmFyIG1hdGNoO1xuICB2YXIgb3BlcmF0b3JzID0gW3N5bWJvbE1hcC5zeW1ib2xzWycoJ10ucHJlZml4XTtcbiAgdmFyIHZhbHVlcyA9IFtdO1xuICB2YXIgcGF0dGVybiA9IG5ldyBSZWdFeHAoIC8vIFBhdHRlcm4gZm9yIG51bWJlcnNcbiAgXCJcXFxcZCsoPzpcXFxcLlxcXFxkKyk/fFwiICsgLy8gLi4uYW5kIHBhdHRlcm5zIGZvciBpbmRpdmlkdWFsIG9wZXJhdG9ycy9mdW5jdGlvbiBuYW1lc1xuICBPYmplY3Qua2V5cyhzeW1ib2xNYXAuc3ltYm9scykubWFwKGZ1bmN0aW9uIChrZXkpIHtcbiAgICByZXR1cm4gc3ltYm9sTWFwLnN5bWJvbHNba2V5XTtcbiAgfSkgLy8gbG9uZ2VyIHN5bWJvbHMgc2hvdWxkIGJlIGxpc3RlZCBmaXJzdFxuICAvLyAkRmxvd0ZpeE1lXG4gIC5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgcmV0dXJuIGIuc3ltYm9sLmxlbmd0aCAtIGEuc3ltYm9sLmxlbmd0aDtcbiAgfSkgLy8gJEZsb3dGaXhNZVxuICAubWFwKGZ1bmN0aW9uICh2YWwpIHtcbiAgICByZXR1cm4gdmFsLnJlZ1N5bWJvbDtcbiAgfSkuam9pbignfCcpICsgXCJ8KFxcXFxTKVwiLCAnZycpO1xuICBwYXR0ZXJuLmxhc3RJbmRleCA9IDA7IC8vIFJlc2V0IHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3RcblxuICB2YXIgYWZ0ZXJWYWx1ZSA9IGZhbHNlO1xuXG4gIGRvIHtcbiAgICBtYXRjaCA9IHBhdHRlcm4uZXhlYyhleHByZXNzaW9uKTtcblxuICAgIHZhciBfcmVmMiA9IG1hdGNoIHx8IFsnKScsIHVuZGVmaW5lZF0sXG4gICAgICAgIHRva2VuID0gX3JlZjJbMF0sXG4gICAgICAgIGJhZCA9IF9yZWYyWzFdO1xuXG4gICAgdmFyIG5vdE51bWJlciA9IHN5bWJvbE1hcC5zeW1ib2xzW3Rva2VuXTtcbiAgICB2YXIgbm90TmV3VmFsdWUgPSBub3ROdW1iZXIgJiYgIW5vdE51bWJlci5wcmVmaXggJiYgIW5vdE51bWJlci5mdW5jO1xuICAgIHZhciBub3RBZnRlclZhbHVlID0gIW5vdE51bWJlciB8fCAhbm90TnVtYmVyLnBvc3RmaXggJiYgIW5vdE51bWJlci5pbmZpeDsgLy8gQ2hlY2sgZm9yIHN5bnRheCBlcnJvcnM6XG5cbiAgICBpZiAoYmFkIHx8IChhZnRlclZhbHVlID8gbm90QWZ0ZXJWYWx1ZSA6IG5vdE5ld1ZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoMzcsIG1hdGNoID8gbWF0Y2guaW5kZXggOiBleHByZXNzaW9uLmxlbmd0aCwgZXhwcmVzc2lvbik7XG4gICAgfVxuXG4gICAgaWYgKGFmdGVyVmFsdWUpIHtcbiAgICAgIC8vIFdlIGVpdGhlciBoYXZlIGFuIGluZml4IG9yIHBvc3RmaXggb3BlcmF0b3IgKHRoZXkgc2hvdWxkIGJlIG11dHVhbGx5IGV4Y2x1c2l2ZSlcbiAgICAgIHZhciBjdXJyID0gbm90TnVtYmVyLnBvc3RmaXggfHwgbm90TnVtYmVyLmluZml4O1xuXG4gICAgICBkbyB7XG4gICAgICAgIHZhciBwcmV2ID0gb3BlcmF0b3JzW29wZXJhdG9ycy5sZW5ndGggLSAxXTtcbiAgICAgICAgaWYgKChjdXJyLnByZWNlZGVuY2UgLSBwcmV2LnByZWNlZGVuY2UgfHwgcHJldi5yaWdodFRvTGVmdCkgPiAwKSBicmVhazsgLy8gQXBwbHkgcHJldmlvdXMgb3BlcmF0b3IsIHNpbmNlIGl0IGhhcyBwcmVjZWRlbmNlIG92ZXIgY3VycmVudCBvbmVcbiAgICAgIH0gd2hpbGUgKGV4ZWMob3BlcmF0b3JzLCB2YWx1ZXMpKTsgLy8gRXhpdCBsb29wIGFmdGVyIGV4ZWN1dGluZyBhbiBvcGVuaW5nIHBhcmVudGhlc2lzIG9yIGZ1bmN0aW9uXG5cblxuICAgICAgYWZ0ZXJWYWx1ZSA9IGN1cnIubm90YXRpb24gPT09ICdwb3N0Zml4JztcblxuICAgICAgaWYgKGN1cnIuc3ltYm9sICE9PSAnKScpIHtcbiAgICAgICAgb3BlcmF0b3JzLnB1c2goY3Vycik7IC8vIFBvc3RmaXggYWx3YXlzIGhhcyBwcmVjZWRlbmNlIG92ZXIgYW55IG9wZXJhdG9yIHRoYXQgZm9sbG93cyBhZnRlciBpdFxuXG4gICAgICAgIGlmIChhZnRlclZhbHVlKSBleGVjKG9wZXJhdG9ycywgdmFsdWVzKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vdE51bWJlcikge1xuICAgICAgLy8gcHJlZml4IG9wZXJhdG9yIG9yIGZ1bmN0aW9uXG4gICAgICBvcGVyYXRvcnMucHVzaChub3ROdW1iZXIucHJlZml4IHx8IG5vdE51bWJlci5mdW5jKTtcblxuICAgICAgaWYgKG5vdE51bWJlci5mdW5jKSB7XG4gICAgICAgIC8vIFJlcXVpcmUgYW4gb3BlbmluZyBwYXJlbnRoZXNpc1xuICAgICAgICBtYXRjaCA9IHBhdHRlcm4uZXhlYyhleHByZXNzaW9uKTtcblxuICAgICAgICBpZiAoIW1hdGNoIHx8IG1hdGNoWzBdICE9PSAnKCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcigzOCwgbWF0Y2ggPyBtYXRjaC5pbmRleCA6IGV4cHJlc3Npb24ubGVuZ3RoLCBleHByZXNzaW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBudW1iZXJcbiAgICAgIHZhbHVlcy5wdXNoKCt0b2tlbik7XG4gICAgICBhZnRlclZhbHVlID0gdHJ1ZTtcbiAgICB9XG4gIH0gd2hpbGUgKG1hdGNoICYmIG9wZXJhdG9ycy5sZW5ndGgpO1xuXG4gIGlmIChvcGVyYXRvcnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoMzksIG1hdGNoID8gbWF0Y2guaW5kZXggOiBleHByZXNzaW9uLmxlbmd0aCwgZXhwcmVzc2lvbik7XG4gIH0gZWxzZSBpZiAobWF0Y2gpIHtcbiAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig0MCwgbWF0Y2ggPyBtYXRjaC5pbmRleCA6IGV4cHJlc3Npb24ubGVuZ3RoLCBleHByZXNzaW9uKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdmFsdWVzLnBvcCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJldmVyc2VTdHJpbmcoc3RyKSB7XG4gIHJldHVybiBzdHIuc3BsaXQoJycpLnJldmVyc2UoKS5qb2luKCcnKTtcbn1cbi8qKlxuICogSGVscGVyIGZvciBkb2luZyBtYXRoIHdpdGggQ1NTIFVuaXRzLiBBY2NlcHRzIGEgZm9ybXVsYSBhcyBhIHN0cmluZy4gQWxsIHZhbHVlcyBpbiB0aGUgZm9ybXVsYSBtdXN0IGhhdmUgdGhlIHNhbWUgdW5pdCAob3IgYmUgdW5pdGxlc3MpLiBTdXBwb3J0cyBjb21wbGV4IGZvcm11bGFzIHV0bGl6aWluZyBhZGRpdGlvbiwgc3VidHJhY3Rpb24sIG11bHRpcGxpY2F0aW9uLCBkaXZpc2lvbiwgc3F1YXJlIHJvb3QsIHBvd2VycywgZmFjdG9yaWFsLCBtaW4sIG1heCwgYXMgd2VsbCBhcyBwYXJlbnRoZXNlcyBmb3Igb3JkZXIgb2Ygb3BlcmF0aW9uLlxuICpcbiAqSW4gY2FzZXMgd2hlcmUgeW91IG5lZWQgdG8gZG8gY2FsY3VsYXRpb25zIHdpdGggbWl4ZWQgdW5pdHMgd2hlcmUgb25lIHVuaXQgaXMgYSBbcmVsYXRpdmUgbGVuZ3RoIHVuaXRdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9sZW5ndGgjUmVsYXRpdmVfbGVuZ3RoX3VuaXRzKSwgeW91IHdpbGwgd2FudCB0byB1c2UgW0NTUyBDYWxjXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvY2FsYykuXG4gKlxuICogKndhcm5pbmcqIFdoaWxlIHdlJ3ZlIGRvbmUgZXZlcnl0aGluZyBwb3NzaWJsZSB0byBlbnN1cmUgbWF0aCBzYWZlbHkgZXZhbHV0ZXMgZm9ybXVsYXMgZXhwcmVzc2VkIGFzIHN0cmluZ3MsIHlvdSBzaG91bGQgYWx3YXlzIHVzZSBleHRyZW1lIGNhdXRpb24gd2hlbiBwYXNzaW5nIGBtYXRoYCB1c2VyIHByb3ZpZGVkIHZhbHVlcy5cbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGZvbnRTaXplOiBtYXRoKCcxMnJlbSArIDhyZW0nKSxcbiAqICAgZm9udFNpemU6IG1hdGgoJygxMnB4ICsgMnB4KSAqIDMnKSxcbiAqICAgZm9udFNpemU6IG1hdGgoJzNweF4yICsgc3FydCg0KScpLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBmb250U2l6ZTogJHttYXRoKCcxMnJlbSArIDhyZW0nKX07XG4gKiAgIGZvbnRTaXplOiAke21hdGgoJygxMnB4ICsgMnB4KSAqIDMnKX07XG4gKiAgIGZvbnRTaXplOiAke21hdGgoJzNweF4yICsgc3FydCg0KScpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgYXMgSlMgT3V0cHV0XG4gKlxuICogZGl2OiB7XG4gKiAgIGZvbnRTaXplOiAnMjByZW0nLFxuICogICBmb250U2l6ZTogJzQycHgnLFxuICogICBmb250U2l6ZTogJzExcHgnLFxuICogfVxuICovXG5cblxuZnVuY3Rpb24gbWF0aChmb3JtdWxhLCBhZGRpdGlvbmFsU3ltYm9scykge1xuICB2YXIgcmV2ZXJzZWRGb3JtdWxhID0gcmV2ZXJzZVN0cmluZyhmb3JtdWxhKTtcbiAgdmFyIGZvcm11bGFNYXRjaCA9IHJldmVyc2VkRm9ybXVsYS5tYXRjaCh1bml0UmVnRXhwKTsgLy8gQ2hlY2sgdGhhdCBhbGwgdW5pdHMgYXJlIHRoZSBzYW1lXG5cbiAgaWYgKGZvcm11bGFNYXRjaCAmJiAhZm9ybXVsYU1hdGNoLmV2ZXJ5KGZ1bmN0aW9uICh1bml0KSB7XG4gICAgcmV0dXJuIHVuaXQgPT09IGZvcm11bGFNYXRjaFswXTtcbiAgfSkpIHtcbiAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig0MSk7XG4gIH1cblxuICB2YXIgY2xlYW5Gb3JtdWxhID0gcmV2ZXJzZVN0cmluZyhyZXZlcnNlZEZvcm11bGEucmVwbGFjZSh1bml0UmVnRXhwLCAnJykpO1xuICByZXR1cm4gXCJcIiArIGNhbGN1bGF0ZShjbGVhbkZvcm11bGEsIGFkZGl0aW9uYWxTeW1ib2xzKSArIChmb3JtdWxhTWF0Y2ggPyByZXZlcnNlU3RyaW5nKGZvcm11bGFNYXRjaFswXSkgOiAnJyk7XG59XG5cbnZhciBjc3NWYXJpYWJsZVJlZ2V4ID0gLy0tW1xcU10qL2c7XG4vKipcbiAqIEZldGNoZXMgdGhlIHZhbHVlIG9mIGEgcGFzc2VkIENTUyBWYXJpYWJsZS5cbiAqXG4gKiBQYXNzdGhyb3VnaCBjYW4gYmUgZW5hYmxlZCAob2ZmIGJ5IGRlZmF1bHQpIGZvciB3aGVuIHlvdSBhcmUgdW5zdXJlIG9mIHRoZSBpbnB1dCBhbmQgd2FudCBub24tdmFyaWFibGUgdmFsdWVzIHRvIGJlIHJldHVybmVkIGluc3RlYWQgb2YgYW4gZXJyb3IuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgJ2JhY2tncm91bmQnOiBjc3NWYXIoJy0tYmFja2dyb3VuZC1jb2xvcicpLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke2Nzc1ZhcignLS1iYWNrZ3JvdW5kLWNvbG9yJyl9O1xuICogYFxuICpcbiAqIC8vIENTUyBpbiBKUyBPdXRwdXRcbiAqXG4gKiBlbGVtZW50IHtcbiAqICAgJ2JhY2tncm91bmQnOiAncmVkJ1xuICogfVxuICovXG5cbmZ1bmN0aW9uIGNzc1Zhcihjc3NWYXJpYWJsZSwgcGFzc1Rocm91Z2gpIHtcbiAgaWYgKCFjc3NWYXJpYWJsZSB8fCAhY3NzVmFyaWFibGUubWF0Y2goY3NzVmFyaWFibGVSZWdleCkpIHtcbiAgICBpZiAocGFzc1Rocm91Z2gpIHJldHVybiBjc3NWYXJpYWJsZTtcbiAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig3Myk7XG4gIH1cblxuICB2YXIgdmFyaWFibGVWYWx1ZTtcbiAgLyogZXNsaW50LWRpc2FibGUgKi9cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG4gIGlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAhPT0gbnVsbCkge1xuICAgIHZhcmlhYmxlVmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShjc3NWYXJpYWJsZSk7XG4gIH1cbiAgLyogZXNsaW50LWVuYWJsZSAqL1xuXG5cbiAgaWYgKHZhcmlhYmxlVmFsdWUpIHtcbiAgICByZXR1cm4gdmFyaWFibGVWYWx1ZS50cmltKCk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNzQpO1xuICB9XG59XG5cbi8vIEBwcml2YXRlXG5mdW5jdGlvbiBjYXBpdGFsaXplU3RyaW5nKHN0cmluZykge1xuICByZXR1cm4gc3RyaW5nLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc3RyaW5nLnNsaWNlKDEpO1xufVxuXG52YXIgcG9zaXRpb25NYXAgPSBbJ1RvcCcsICdSaWdodCcsICdCb3R0b20nLCAnTGVmdCddO1xuXG5mdW5jdGlvbiBnZW5lcmF0ZVByb3BlcnR5KHByb3BlcnR5LCBwb3NpdGlvbikge1xuICBpZiAoIXByb3BlcnR5KSByZXR1cm4gcG9zaXRpb24udG9Mb3dlckNhc2UoKTtcbiAgdmFyIHNwbGl0UHJvcGVydHkgPSBwcm9wZXJ0eS5zcGxpdCgnLScpO1xuXG4gIGlmIChzcGxpdFByb3BlcnR5Lmxlbmd0aCA+IDEpIHtcbiAgICBzcGxpdFByb3BlcnR5LnNwbGljZSgxLCAwLCBwb3NpdGlvbik7XG4gICAgcmV0dXJuIHNwbGl0UHJvcGVydHkucmVkdWNlKGZ1bmN0aW9uIChhY2MsIHZhbCkge1xuICAgICAgcmV0dXJuIFwiXCIgKyBhY2MgKyBjYXBpdGFsaXplU3RyaW5nKHZhbCk7XG4gICAgfSk7XG4gIH1cblxuICB2YXIgam9pbmVkUHJvcGVydHkgPSBwcm9wZXJ0eS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCBcIiQxXCIgKyBwb3NpdGlvbiArIFwiJDJcIik7XG4gIHJldHVybiBwcm9wZXJ0eSA9PT0gam9pbmVkUHJvcGVydHkgPyBcIlwiICsgcHJvcGVydHkgKyBwb3NpdGlvbiA6IGpvaW5lZFByb3BlcnR5O1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVN0eWxlcyhwcm9wZXJ0eSwgdmFsdWVzV2l0aERlZmF1bHRzKSB7XG4gIHZhciBzdHlsZXMgPSB7fTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlc1dpdGhEZWZhdWx0cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGlmICh2YWx1ZXNXaXRoRGVmYXVsdHNbaV0gfHwgdmFsdWVzV2l0aERlZmF1bHRzW2ldID09PSAwKSB7XG4gICAgICBzdHlsZXNbZ2VuZXJhdGVQcm9wZXJ0eShwcm9wZXJ0eSwgcG9zaXRpb25NYXBbaV0pXSA9IHZhbHVlc1dpdGhEZWZhdWx0c1tpXTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3R5bGVzO1xufVxuLyoqXG4gKiBFbmFibGVzIHNob3J0aGFuZCBmb3IgZGlyZWN0aW9uLWJhc2VkIHByb3BlcnRpZXMuIEl0IGFjY2VwdHMgYSBwcm9wZXJ0eSAoaHlwaGVuYXRlZCBvciBjYW1lbENhc2VkKSBhbmQgdXAgdG8gZm91ciB2YWx1ZXMgdGhhdCBtYXAgdG8gdG9wLCByaWdodCwgYm90dG9tLCBhbmQgbGVmdCwgcmVzcGVjdGl2ZWx5LiBZb3UgY2FuIG9wdGlvbmFsbHkgcGFzcyBhbiBlbXB0eSBzdHJpbmcgdG8gZ2V0IG9ubHkgdGhlIGRpcmVjdGlvbmFsIHZhbHVlcyBhcyBwcm9wZXJ0aWVzLiBZb3UgY2FuIGFsc28gb3B0aW9uYWxseSBwYXNzIGEgbnVsbCBhcmd1bWVudCBmb3IgYSBkaXJlY3Rpb25hbCB2YWx1ZSB0byBpZ25vcmUgaXQuXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5kaXJlY3Rpb25hbFByb3BlcnR5KCdwYWRkaW5nJywgJzEycHgnLCAnMjRweCcsICczNnB4JywgJzQ4cHgnKVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAke2RpcmVjdGlvbmFsUHJvcGVydHkoJ3BhZGRpbmcnLCAnMTJweCcsICcyNHB4JywgJzM2cHgnLCAnNDhweCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXYge1xuICogICAncGFkZGluZ1RvcCc6ICcxMnB4JyxcbiAqICAgJ3BhZGRpbmdSaWdodCc6ICcyNHB4JyxcbiAqICAgJ3BhZGRpbmdCb3R0b20nOiAnMzZweCcsXG4gKiAgICdwYWRkaW5nTGVmdCc6ICc0OHB4J1xuICogfVxuICovXG5cblxuZnVuY3Rpb24gZGlyZWN0aW9uYWxQcm9wZXJ0eShwcm9wZXJ0eSkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgdmFsdWVzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICB2YWx1ZXNbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgLy8gIHByZXR0aWVyLWlnbm9yZVxuICB2YXIgZmlyc3RWYWx1ZSA9IHZhbHVlc1swXSxcbiAgICAgIF92YWx1ZXMkID0gdmFsdWVzWzFdLFxuICAgICAgc2Vjb25kVmFsdWUgPSBfdmFsdWVzJCA9PT0gdm9pZCAwID8gZmlyc3RWYWx1ZSA6IF92YWx1ZXMkLFxuICAgICAgX3ZhbHVlcyQyID0gdmFsdWVzWzJdLFxuICAgICAgdGhpcmRWYWx1ZSA9IF92YWx1ZXMkMiA9PT0gdm9pZCAwID8gZmlyc3RWYWx1ZSA6IF92YWx1ZXMkMixcbiAgICAgIF92YWx1ZXMkMyA9IHZhbHVlc1szXSxcbiAgICAgIGZvdXJ0aFZhbHVlID0gX3ZhbHVlcyQzID09PSB2b2lkIDAgPyBzZWNvbmRWYWx1ZSA6IF92YWx1ZXMkMztcbiAgdmFyIHZhbHVlc1dpdGhEZWZhdWx0cyA9IFtmaXJzdFZhbHVlLCBzZWNvbmRWYWx1ZSwgdGhpcmRWYWx1ZSwgZm91cnRoVmFsdWVdO1xuICByZXR1cm4gZ2VuZXJhdGVTdHlsZXMocHJvcGVydHksIHZhbHVlc1dpdGhEZWZhdWx0cyk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzdHJpbmcgZW5kcyB3aXRoIHNvbWV0aGluZ1xuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gZW5kc1dpdGgoc3RyaW5nLCBzdWZmaXgpIHtcbiAgcmV0dXJuIHN0cmluZy5zdWJzdHIoLXN1ZmZpeC5sZW5ndGgpID09PSBzdWZmaXg7XG59XG5cbnZhciBjc3NSZWdleCA9IC9eKFsrLV0/KD86XFxkK3xcXGQqXFwuXFxkKykpKFthLXpdKnwlKSQvO1xuLyoqXG4gKiBSZXR1cm5zIGEgZ2l2ZW4gQ1NTIHZhbHVlIG1pbnVzIGl0cyB1bml0IG9mIG1lYXN1cmUuXG4gKlxuICogQGRlcHJlY2F0ZWQgLSBzdHJpcFVuaXQncyB1bml0UmV0dXJuIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gbWFya2VkIGZvciBkZXByZWNhdGlvbiBpbiBwb2xpc2hlZCA0LjAuIEl0J3MgZnVuY3Rpb25hbGl0eSBoYXMgYmVlbiBiZWVuIG1vdmVkIHRvIGdldFZhbHVlQW5kVW5pdC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAnLS1kaW1lbnNpb24nOiBzdHJpcFVuaXQoJzEwMHB4JylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgLS1kaW1lbnNpb246ICR7c3RyaXBVbml0KCcxMDBweCcpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgICctLWRpbWVuc2lvbic6IDEwMFxuICogfVxuICovXG5cbmZ1bmN0aW9uIHN0cmlwVW5pdCh2YWx1ZSwgdW5pdFJldHVybikge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykgcmV0dXJuIHVuaXRSZXR1cm4gPyBbdmFsdWUsIHVuZGVmaW5lZF0gOiB2YWx1ZTtcbiAgdmFyIG1hdGNoZWRWYWx1ZSA9IHZhbHVlLm1hdGNoKGNzc1JlZ2V4KTtcblxuICBpZiAodW5pdFJldHVybikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS53YXJuKFwic3RyaXBVbml0J3MgdW5pdFJldHVybiBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIG1hcmtlZCBmb3IgZGVwcmVjYXRpb24gaW4gcG9saXNoZWQgNC4wLiBJdCdzIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gYmVlbiBtb3ZlZCB0byBnZXRWYWx1ZUFuZFVuaXQuXCIpO1xuICAgIGlmIChtYXRjaGVkVmFsdWUpIHJldHVybiBbcGFyc2VGbG9hdCh2YWx1ZSksIG1hdGNoZWRWYWx1ZVsyXV07XG4gICAgcmV0dXJuIFt2YWx1ZSwgdW5kZWZpbmVkXTtcbiAgfVxuXG4gIGlmIChtYXRjaGVkVmFsdWUpIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgcmV0dXJuIHZhbHVlO1xufVxuXG4vKipcbiAqIEZhY3RvcnkgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIHBpeGVsLXRvLXggY29udmVydGVyc1xuICogQHByaXZhdGVcbiAqL1xuXG52YXIgcHh0b0ZhY3RvcnkgPSBmdW5jdGlvbiBweHRvRmFjdG9yeSh0bykge1xuICByZXR1cm4gZnVuY3Rpb24gKHB4dmFsLCBiYXNlKSB7XG4gICAgaWYgKGJhc2UgPT09IHZvaWQgMCkge1xuICAgICAgYmFzZSA9ICcxNnB4JztcbiAgICB9XG5cbiAgICB2YXIgbmV3UHh2YWwgPSBweHZhbDtcbiAgICB2YXIgbmV3QmFzZSA9IGJhc2U7XG5cbiAgICBpZiAodHlwZW9mIHB4dmFsID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKCFlbmRzV2l0aChweHZhbCwgJ3B4JykpIHtcbiAgICAgICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNjksIHRvLCBweHZhbCk7XG4gICAgICB9XG5cbiAgICAgIG5ld1B4dmFsID0gc3RyaXBVbml0KHB4dmFsKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGJhc2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoIWVuZHNXaXRoKGJhc2UsICdweCcpKSB7XG4gICAgICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDcwLCB0bywgYmFzZSk7XG4gICAgICB9XG5cbiAgICAgIG5ld0Jhc2UgPSBzdHJpcFVuaXQoYmFzZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBuZXdQeHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDcxLCBweHZhbCwgdG8pO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3QmFzZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDcyLCBiYXNlLCB0byk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFwiXCIgKyBuZXdQeHZhbCAvIG5ld0Jhc2UgKyB0bztcbiAgfTtcbn07XG5cbi8qKlxuICogQ29udmVydCBwaXhlbCB2YWx1ZSB0byBlbXMuIFRoZSBkZWZhdWx0IGJhc2UgdmFsdWUgaXMgMTZweCwgYnV0IGNhbiBiZSBjaGFuZ2VkIGJ5IHBhc3NpbmcgYVxuICogc2Vjb25kIGFyZ3VtZW50IHRvIHRoZSBmdW5jdGlvbi5cbiAqIEBmdW5jdGlvblxuICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSBweHZhbFxuICogQHBhcmFtIHtzdHJpbmd8bnVtYmVyfSBbYmFzZT0nMTZweCddXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAnaGVpZ2h0JzogZW0oJzE2cHgnKVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBoZWlnaHQ6ICR7ZW0oJzE2cHgnKX1cbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgICdoZWlnaHQnOiAnMWVtJ1xuICogfVxuICovXG5cbnZhciBlbSA9IC8qI19fUFVSRV9fKi9weHRvRmFjdG9yeSgnZW0nKTtcblxudmFyIGNzc1JlZ2V4JDEgPSAvXihbKy1dPyg/OlxcZCt8XFxkKlxcLlxcZCspKShbYS16XSp8JSkkLztcbi8qKlxuICogUmV0dXJucyBhIGdpdmVuIENTUyB2YWx1ZSBhbmQgaXRzIHVuaXQgYXMgZWxlbWVudHMgb2YgYW4gYXJyYXkuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgJy0tZGltZW5zaW9uJzogZ2V0VmFsdWVBbmRVbml0KCcxMDBweCcpWzBdLFxuICogICAnLS11bml0JzogZ2V0VmFsdWVBbmRVbml0KCcxMDBweCcpWzFdLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAtLWRpbWVuc2lvbjogJHtnZXRWYWx1ZUFuZFVuaXQoJzEwMHB4JylbMF19O1xuICogICAtLXVuaXQ6ICR7Z2V0VmFsdWVBbmRVbml0KCcxMDBweCcpWzFdfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgICctLWRpbWVuc2lvbic6IDEwMCxcbiAqICAgJy0tdW5pdCc6ICdweCcsXG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gZ2V0VmFsdWVBbmRVbml0KHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSByZXR1cm4gW3ZhbHVlLCAnJ107XG4gIHZhciBtYXRjaGVkVmFsdWUgPSB2YWx1ZS5tYXRjaChjc3NSZWdleCQxKTtcbiAgaWYgKG1hdGNoZWRWYWx1ZSkgcmV0dXJuIFtwYXJzZUZsb2F0KHZhbHVlKSwgbWF0Y2hlZFZhbHVlWzJdXTtcbiAgcmV0dXJuIFt2YWx1ZSwgdW5kZWZpbmVkXTtcbn1cblxudmFyIHJhdGlvTmFtZXMgPSB7XG4gIG1pbm9yU2Vjb25kOiAxLjA2NyxcbiAgbWFqb3JTZWNvbmQ6IDEuMTI1LFxuICBtaW5vclRoaXJkOiAxLjIsXG4gIG1ham9yVGhpcmQ6IDEuMjUsXG4gIHBlcmZlY3RGb3VydGg6IDEuMzMzLFxuICBhdWdGb3VydGg6IDEuNDE0LFxuICBwZXJmZWN0RmlmdGg6IDEuNSxcbiAgbWlub3JTaXh0aDogMS42LFxuICBnb2xkZW5TZWN0aW9uOiAxLjYxOCxcbiAgbWFqb3JTaXh0aDogMS42NjcsXG4gIG1pbm9yU2V2ZW50aDogMS43NzgsXG4gIG1ham9yU2V2ZW50aDogMS44NzUsXG4gIG9jdGF2ZTogMixcbiAgbWFqb3JUZW50aDogMi41LFxuICBtYWpvckVsZXZlbnRoOiAyLjY2NyxcbiAgbWFqb3JUd2VsZnRoOiAzLFxuICBkb3VibGVPY3RhdmU6IDRcbn07XG5cbmZ1bmN0aW9uIGdldFJhdGlvKHJhdGlvTmFtZSkge1xuICByZXR1cm4gcmF0aW9OYW1lc1tyYXRpb05hbWVdO1xufVxuLyoqXG4gKiBFc3RhYmxpc2ggY29uc2lzdGVudCBtZWFzdXJlbWVudHMgYW5kIHNwYWNpYWwgcmVsYXRpb25zaGlwcyB0aHJvdWdob3V0IHlvdXIgcHJvamVjdHMgYnkgaW5jcmVtZW50aW5nIGFuIGVtIG9yIHJlbSB2YWx1ZSB1cCBvciBkb3duIGEgZGVmaW5lZCBzY2FsZS4gV2UgcHJvdmlkZSBhIGxpc3Qgb2YgY29tbW9ubHkgdXNlZCBzY2FsZXMgYXMgcHJlLWRlZmluZWQgdmFyaWFibGVzLlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgIC8vIEluY3JlbWVudCB0d28gc3RlcHMgdXAgdGhlIGRlZmF1bHQgc2NhbGVcbiAqICAgJ2ZvbnRTaXplJzogbW9kdWxhclNjYWxlKDIpXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgICAvLyBJbmNyZW1lbnQgdHdvIHN0ZXBzIHVwIHRoZSBkZWZhdWx0IHNjYWxlXG4gKiAgIGZvbnRTaXplOiAke21vZHVsYXJTY2FsZSgyKX1cbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgICdmb250U2l6ZSc6ICcxLjc3Njg5ZW0nXG4gKiB9XG4gKi9cblxuXG5mdW5jdGlvbiBtb2R1bGFyU2NhbGUoc3RlcHMsIGJhc2UsIHJhdGlvKSB7XG4gIGlmIChiYXNlID09PSB2b2lkIDApIHtcbiAgICBiYXNlID0gJzFlbSc7XG4gIH1cblxuICBpZiAocmF0aW8gPT09IHZvaWQgMCkge1xuICAgIHJhdGlvID0gMS4zMzM7XG4gIH1cblxuICBpZiAodHlwZW9mIHN0ZXBzICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDQyKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgcmF0aW8gPT09ICdzdHJpbmcnICYmICFyYXRpb05hbWVzW3JhdGlvXSkge1xuICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDQzKTtcbiAgfVxuXG4gIHZhciBfcmVmID0gdHlwZW9mIGJhc2UgPT09ICdzdHJpbmcnID8gZ2V0VmFsdWVBbmRVbml0KGJhc2UpIDogW2Jhc2UsICcnXSxcbiAgICAgIHJlYWxCYXNlID0gX3JlZlswXSxcbiAgICAgIHVuaXQgPSBfcmVmWzFdO1xuXG4gIHZhciByZWFsUmF0aW8gPSB0eXBlb2YgcmF0aW8gPT09ICdzdHJpbmcnID8gZ2V0UmF0aW8ocmF0aW8pIDogcmF0aW87XG5cbiAgaWYgKHR5cGVvZiByZWFsQmFzZSA9PT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig0NCwgYmFzZSk7XG4gIH1cblxuICByZXR1cm4gXCJcIiArIHJlYWxCYXNlICogTWF0aC5wb3cocmVhbFJhdGlvLCBzdGVwcykgKyAodW5pdCB8fCAnJyk7XG59XG5cbi8qKlxuICogQ29udmVydCBwaXhlbCB2YWx1ZSB0byByZW1zLiBUaGUgZGVmYXVsdCBiYXNlIHZhbHVlIGlzIDE2cHgsIGJ1dCBjYW4gYmUgY2hhbmdlZCBieSBwYXNzaW5nIGFcbiAqIHNlY29uZCBhcmd1bWVudCB0byB0aGUgZnVuY3Rpb24uXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gcHh2YWxcbiAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gW2Jhc2U9JzE2cHgnXVxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgJ2hlaWdodCc6IHJlbSgnMTZweCcpXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGhlaWdodDogJHtyZW0oJzE2cHgnKX1cbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgICdoZWlnaHQnOiAnMXJlbSdcbiAqIH1cbiAqL1xuXG52YXIgcmVtID0gLyojX19QVVJFX18qL3B4dG9GYWN0b3J5KCdyZW0nKTtcblxuLyoqXG4gKiBSZXR1cm5zIGEgQ1NTIGNhbGMgZm9ybXVsYSBmb3IgbGluZWFyIGludGVycG9sYXRpb24gb2YgYSBwcm9wZXJ0eSBiZXR3ZWVuIHR3byB2YWx1ZXMuIEFjY2VwdHMgb3B0aW9uYWwgbWluU2NyZWVuIChkZWZhdWx0cyB0byAnMzIwcHgnKSBhbmQgbWF4U2NyZWVuIChkZWZhdWx0cyB0byAnMTIwMHB4JykuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgZm9udFNpemU6IGJldHdlZW4oJzIwcHgnLCAnMTAwcHgnLCAnNDAwcHgnLCAnMTAwMHB4JyksXG4gKiAgIGZvbnRTaXplOiBiZXR3ZWVuKCcyMHB4JywgJzEwMHB4JylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgZm9udFNpemU6ICR7YmV0d2VlbignMjBweCcsICcxMDBweCcsICc0MDBweCcsICcxMDAwcHgnKX07XG4gKiAgIGZvbnRTaXplOiAke2JldHdlZW4oJzIwcHgnLCAnMTAwcHgnKX1cbiAqIGBcbiAqXG4gKiAvLyBDU1MgYXMgSlMgT3V0cHV0XG4gKlxuICogaDE6IHtcbiAqICAgJ2ZvbnRTaXplJzogJ2NhbGMoLTMzLjMzMzMzMzMzMzMzMzM0cHggKyAxMy4zMzMzMzMzMzMzMzMzMzR2dyknLFxuICogICAnZm9udFNpemUnOiAnY2FsYygtOS4wOTA5MDkwOTA5MDkwOTNweCArIDkuMDkwOTA5MDkwOTA5MDkydncpJ1xuICogfVxuICovXG5cbmZ1bmN0aW9uIGJldHdlZW4oZnJvbVNpemUsIHRvU2l6ZSwgbWluU2NyZWVuLCBtYXhTY3JlZW4pIHtcbiAgaWYgKG1pblNjcmVlbiA9PT0gdm9pZCAwKSB7XG4gICAgbWluU2NyZWVuID0gJzMyMHB4JztcbiAgfVxuXG4gIGlmIChtYXhTY3JlZW4gPT09IHZvaWQgMCkge1xuICAgIG1heFNjcmVlbiA9ICcxMjAwcHgnO1xuICB9XG5cbiAgdmFyIF9nZXRWYWx1ZUFuZFVuaXQgPSBnZXRWYWx1ZUFuZFVuaXQoZnJvbVNpemUpLFxuICAgICAgdW5pdGxlc3NGcm9tU2l6ZSA9IF9nZXRWYWx1ZUFuZFVuaXRbMF0sXG4gICAgICBmcm9tU2l6ZVVuaXQgPSBfZ2V0VmFsdWVBbmRVbml0WzFdO1xuXG4gIHZhciBfZ2V0VmFsdWVBbmRVbml0MiA9IGdldFZhbHVlQW5kVW5pdCh0b1NpemUpLFxuICAgICAgdW5pdGxlc3NUb1NpemUgPSBfZ2V0VmFsdWVBbmRVbml0MlswXSxcbiAgICAgIHRvU2l6ZVVuaXQgPSBfZ2V0VmFsdWVBbmRVbml0MlsxXTtcblxuICB2YXIgX2dldFZhbHVlQW5kVW5pdDMgPSBnZXRWYWx1ZUFuZFVuaXQobWluU2NyZWVuKSxcbiAgICAgIHVuaXRsZXNzTWluU2NyZWVuID0gX2dldFZhbHVlQW5kVW5pdDNbMF0sXG4gICAgICBtaW5TY3JlZW5Vbml0ID0gX2dldFZhbHVlQW5kVW5pdDNbMV07XG5cbiAgdmFyIF9nZXRWYWx1ZUFuZFVuaXQ0ID0gZ2V0VmFsdWVBbmRVbml0KG1heFNjcmVlbiksXG4gICAgICB1bml0bGVzc01heFNjcmVlbiA9IF9nZXRWYWx1ZUFuZFVuaXQ0WzBdLFxuICAgICAgbWF4U2NyZWVuVW5pdCA9IF9nZXRWYWx1ZUFuZFVuaXQ0WzFdO1xuXG4gIGlmICh0eXBlb2YgdW5pdGxlc3NNaW5TY3JlZW4gIT09ICdudW1iZXInIHx8IHR5cGVvZiB1bml0bGVzc01heFNjcmVlbiAhPT0gJ251bWJlcicgfHwgIW1pblNjcmVlblVuaXQgfHwgIW1heFNjcmVlblVuaXQgfHwgbWluU2NyZWVuVW5pdCAhPT0gbWF4U2NyZWVuVW5pdCkge1xuICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDQ3KTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdW5pdGxlc3NGcm9tU2l6ZSAhPT0gJ251bWJlcicgfHwgdHlwZW9mIHVuaXRsZXNzVG9TaXplICE9PSAnbnVtYmVyJyB8fCBmcm9tU2l6ZVVuaXQgIT09IHRvU2l6ZVVuaXQpIHtcbiAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig0OCk7XG4gIH1cblxuICBpZiAoZnJvbVNpemVVbml0ICE9PSBtaW5TY3JlZW5Vbml0IHx8IHRvU2l6ZVVuaXQgIT09IG1heFNjcmVlblVuaXQpIHtcbiAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig3NSk7XG4gIH1cblxuICB2YXIgc2xvcGUgPSAodW5pdGxlc3NGcm9tU2l6ZSAtIHVuaXRsZXNzVG9TaXplKSAvICh1bml0bGVzc01pblNjcmVlbiAtIHVuaXRsZXNzTWF4U2NyZWVuKTtcbiAgdmFyIGJhc2UgPSB1bml0bGVzc1RvU2l6ZSAtIHNsb3BlICogdW5pdGxlc3NNYXhTY3JlZW47XG4gIHJldHVybiBcImNhbGMoXCIgKyBiYXNlLnRvRml4ZWQoMikgKyAoZnJvbVNpemVVbml0IHx8ICcnKSArIFwiICsgXCIgKyAoMTAwICogc2xvcGUpLnRvRml4ZWQoMikgKyBcInZ3KVwiO1xufVxuXG4vKipcbiAqIENTUyB0byBjb250YWluIGEgZmxvYXQgKGNyZWRpdCB0byBDU1NNb2pvKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAgLi4uY2xlYXJGaXgoKSxcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtjbGVhckZpeCgpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiAnJjo6YWZ0ZXInOiB7XG4gKiAgICdjbGVhcic6ICdib3RoJyxcbiAqICAgJ2NvbnRlbnQnOiAnXCJcIicsXG4gKiAgICdkaXNwbGF5JzogJ3RhYmxlJ1xuICogfVxuICovXG5mdW5jdGlvbiBjbGVhckZpeChwYXJlbnQpIHtcbiAgdmFyIF9yZWY7XG5cbiAgaWYgKHBhcmVudCA9PT0gdm9pZCAwKSB7XG4gICAgcGFyZW50ID0gJyYnO1xuICB9XG5cbiAgdmFyIHBzZXVkb1NlbGVjdG9yID0gcGFyZW50ICsgXCI6OmFmdGVyXCI7XG4gIHJldHVybiBfcmVmID0ge30sIF9yZWZbcHNldWRvU2VsZWN0b3JdID0ge1xuICAgIGNsZWFyOiAnYm90aCcsXG4gICAgY29udGVudDogJ1wiXCInLFxuICAgIGRpc3BsYXk6ICd0YWJsZSdcbiAgfSwgX3JlZjtcbn1cblxuLyoqXG4gKiBDU1MgdG8gZnVsbHkgY292ZXIgYW4gYXJlYS4gQ2FuIG9wdGlvbmFsbHkgYmUgcGFzc2VkIGFuIG9mZnNldCB0byBhY3QgYXMgYSBcInBhZGRpbmdcIi5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5jb3ZlcigpXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgICR7Y292ZXIoKX1cbiAqIGBcbiAqXG4gKiAvLyBDU1MgYXMgSlMgT3V0cHV0XG4gKlxuICogZGl2OiB7XG4gKiAgICdwb3NpdGlvbic6ICdhYnNvbHV0ZScsXG4gKiAgICd0b3AnOiAnMCcsXG4gKiAgICdyaWdodDogJzAnLFxuICogICAnYm90dG9tJzogJzAnLFxuICogICAnbGVmdDogJzAnXG4gKiB9XG4gKi9cbmZ1bmN0aW9uIGNvdmVyKG9mZnNldCkge1xuICBpZiAob2Zmc2V0ID09PSB2b2lkIDApIHtcbiAgICBvZmZzZXQgPSAwO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0b3A6IG9mZnNldCxcbiAgICByaWdodDogb2Zmc2V0LFxuICAgIGJvdHRvbTogb2Zmc2V0LFxuICAgIGxlZnQ6IG9mZnNldFxuICB9O1xufVxuXG4vKipcbiAqIENTUyB0byByZXByZXNlbnQgdHJ1bmNhdGVkIHRleHQgd2l0aCBhbiBlbGxpcHNpcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5lbGxpcHNpcygnMjUwcHgnKVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAke2VsbGlwc2lzKCcyNTBweCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXY6IHtcbiAqICAgJ2Rpc3BsYXknOiAnaW5saW5lLWJsb2NrJyxcbiAqICAgJ21heFdpZHRoJzogJzI1MHB4JyxcbiAqICAgJ292ZXJmbG93JzogJ2hpZGRlbicsXG4gKiAgICd0ZXh0T3ZlcmZsb3cnOiAnZWxsaXBzaXMnLFxuICogICAnd2hpdGVTcGFjZSc6ICdub3dyYXAnLFxuICogICAnd29yZFdyYXAnOiAnbm9ybWFsJ1xuICogfVxuICovXG5mdW5jdGlvbiBlbGxpcHNpcyh3aWR0aCkge1xuICBpZiAod2lkdGggPT09IHZvaWQgMCkge1xuICAgIHdpZHRoID0gJzEwMCUnO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICBtYXhXaWR0aDogd2lkdGgsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHRleHRPdmVyZmxvdzogJ2VsbGlwc2lzJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbiAgICB3b3JkV3JhcDogJ25vcm1hbCdcbiAgfTtcbn1cblxuZnVuY3Rpb24gX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXJMb29zZShvLCBhbGxvd0FycmF5TGlrZSkgeyB2YXIgaXQgPSB0eXBlb2YgU3ltYm9sICE9PSBcInVuZGVmaW5lZFwiICYmIG9bU3ltYm9sLml0ZXJhdG9yXSB8fCBvW1wiQEBpdGVyYXRvclwiXTsgaWYgKGl0KSByZXR1cm4gKGl0ID0gaXQuY2FsbChvKSkubmV4dC5iaW5kKGl0KTsgaWYgKEFycmF5LmlzQXJyYXkobykgfHwgKGl0ID0gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8pKSB8fCBhbGxvd0FycmF5TGlrZSAmJiBvICYmIHR5cGVvZiBvLmxlbmd0aCA9PT0gXCJudW1iZXJcIikgeyBpZiAoaXQpIG8gPSBpdDsgdmFyIGkgPSAwOyByZXR1cm4gZnVuY3Rpb24gKCkgeyBpZiAoaSA+PSBvLmxlbmd0aCkgcmV0dXJuIHsgZG9uZTogdHJ1ZSB9OyByZXR1cm4geyBkb25lOiBmYWxzZSwgdmFsdWU6IG9baSsrXSB9OyB9OyB9IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTsgfVxuXG5mdW5jdGlvbiBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkobywgbWluTGVuKSB7IGlmICghbykgcmV0dXJuOyBpZiAodHlwZW9mIG8gPT09IFwic3RyaW5nXCIpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB2YXIgbiA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvKS5zbGljZSg4LCAtMSk7IGlmIChuID09PSBcIk9iamVjdFwiICYmIG8uY29uc3RydWN0b3IpIG4gPSBvLmNvbnN0cnVjdG9yLm5hbWU7IGlmIChuID09PSBcIk1hcFwiIHx8IG4gPT09IFwiU2V0XCIpIHJldHVybiBBcnJheS5mcm9tKG8pOyBpZiAobiA9PT0gXCJBcmd1bWVudHNcIiB8fCAvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKSkgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7IH1cblxuZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHsgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7IGZvciAodmFyIGkgPSAwLCBhcnIyID0gbmV3IEFycmF5KGxlbik7IGkgPCBsZW47IGkrKykgeyBhcnIyW2ldID0gYXJyW2ldOyB9IHJldHVybiBhcnIyOyB9XG5cbi8qKlxuICogUmV0dXJucyBhIHNldCBvZiBtZWRpYSBxdWVyaWVzIHRoYXQgcmVzaXplcyBhIHByb3BlcnR5IChvciBzZXQgb2YgcHJvcGVydGllcykgYmV0d2VlbiBhIHByb3ZpZGVkIGZyb21TaXplIGFuZCB0b1NpemUuIEFjY2VwdHMgb3B0aW9uYWwgbWluU2NyZWVuIChkZWZhdWx0cyB0byAnMzIwcHgnKSBhbmQgbWF4U2NyZWVuIChkZWZhdWx0cyB0byAnMTIwMHB4JykgdG8gY29uc3RyYWluIHRoZSBpbnRlcnBvbGF0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIC4uLmZsdWlkUmFuZ2UoXG4gKiAgICB7XG4gKiAgICAgICAgcHJvcDogJ3BhZGRpbmcnLFxuICogICAgICAgIGZyb21TaXplOiAnMjBweCcsXG4gKiAgICAgICAgdG9TaXplOiAnMTAwcHgnLFxuICogICAgICB9LFxuICogICAgICAnNDAwcHgnLFxuICogICAgICAnMTAwMHB4JyxcbiAqICAgIClcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtmbHVpZFJhbmdlKFxuICogICAgICB7XG4gKiAgICAgICAgcHJvcDogJ3BhZGRpbmcnLFxuICogICAgICAgIGZyb21TaXplOiAnMjBweCcsXG4gKiAgICAgICAgdG9TaXplOiAnMTAwcHgnLFxuICogICAgICB9LFxuICogICAgICAnNDAwcHgnLFxuICogICAgICAnMTAwMHB4JyxcbiAqICAgICl9XG4gKiBgXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqIGRpdjoge1xuICogICBcIkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpXCI6IE9iamVjdCB7XG4gKiAgICAgXCJwYWRkaW5nXCI6IFwiMTAwcHhcIixcbiAqICAgfSxcbiAqICAgXCJAbWVkaWEgKG1pbi13aWR0aDogNDAwcHgpXCI6IE9iamVjdCB7XG4gKiAgICAgXCJwYWRkaW5nXCI6IFwiY2FsYygtMzMuMzMzMzMzMzMzMzMzMzRweCArIDEzLjMzMzMzMzMzMzMzMzMzNHZ3KVwiLFxuICogICB9LFxuICogICBcInBhZGRpbmdcIjogXCIyMHB4XCIsXG4gKiB9XG4gKi9cbmZ1bmN0aW9uIGZsdWlkUmFuZ2UoY3NzUHJvcCwgbWluU2NyZWVuLCBtYXhTY3JlZW4pIHtcbiAgaWYgKG1pblNjcmVlbiA9PT0gdm9pZCAwKSB7XG4gICAgbWluU2NyZWVuID0gJzMyMHB4JztcbiAgfVxuXG4gIGlmIChtYXhTY3JlZW4gPT09IHZvaWQgMCkge1xuICAgIG1heFNjcmVlbiA9ICcxMjAwcHgnO1xuICB9XG5cbiAgaWYgKCFBcnJheS5pc0FycmF5KGNzc1Byb3ApICYmIHR5cGVvZiBjc3NQcm9wICE9PSAnb2JqZWN0JyB8fCBjc3NQcm9wID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNDkpO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoY3NzUHJvcCkpIHtcbiAgICB2YXIgbWVkaWFRdWVyaWVzID0ge307XG4gICAgdmFyIGZhbGxiYWNrcyA9IHt9O1xuXG4gICAgZm9yICh2YXIgX2l0ZXJhdG9yID0gX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXJMb29zZShjc3NQcm9wKSwgX3N0ZXA7ICEoX3N0ZXAgPSBfaXRlcmF0b3IoKSkuZG9uZTspIHtcbiAgICAgIHZhciBfZXh0ZW5kczIsIF9leHRlbmRzMztcblxuICAgICAgdmFyIG9iaiA9IF9zdGVwLnZhbHVlO1xuXG4gICAgICBpZiAoIW9iai5wcm9wIHx8ICFvYmouZnJvbVNpemUgfHwgIW9iai50b1NpemUpIHtcbiAgICAgICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNTApO1xuICAgICAgfVxuXG4gICAgICBmYWxsYmFja3Nbb2JqLnByb3BdID0gb2JqLmZyb21TaXplO1xuICAgICAgbWVkaWFRdWVyaWVzW1wiQG1lZGlhIChtaW4td2lkdGg6IFwiICsgbWluU2NyZWVuICsgXCIpXCJdID0gX2V4dGVuZHMoe30sIG1lZGlhUXVlcmllc1tcIkBtZWRpYSAobWluLXdpZHRoOiBcIiArIG1pblNjcmVlbiArIFwiKVwiXSwgKF9leHRlbmRzMiA9IHt9LCBfZXh0ZW5kczJbb2JqLnByb3BdID0gYmV0d2VlbihvYmouZnJvbVNpemUsIG9iai50b1NpemUsIG1pblNjcmVlbiwgbWF4U2NyZWVuKSwgX2V4dGVuZHMyKSk7XG4gICAgICBtZWRpYVF1ZXJpZXNbXCJAbWVkaWEgKG1pbi13aWR0aDogXCIgKyBtYXhTY3JlZW4gKyBcIilcIl0gPSBfZXh0ZW5kcyh7fSwgbWVkaWFRdWVyaWVzW1wiQG1lZGlhIChtaW4td2lkdGg6IFwiICsgbWF4U2NyZWVuICsgXCIpXCJdLCAoX2V4dGVuZHMzID0ge30sIF9leHRlbmRzM1tvYmoucHJvcF0gPSBvYmoudG9TaXplLCBfZXh0ZW5kczMpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gX2V4dGVuZHMoe30sIGZhbGxiYWNrcywgbWVkaWFRdWVyaWVzKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgX3JlZiwgX3JlZjIsIF9yZWYzO1xuXG4gICAgaWYgKCFjc3NQcm9wLnByb3AgfHwgIWNzc1Byb3AuZnJvbVNpemUgfHwgIWNzc1Byb3AudG9TaXplKSB7XG4gICAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig1MSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIF9yZWYzID0ge30sIF9yZWYzW2Nzc1Byb3AucHJvcF0gPSBjc3NQcm9wLmZyb21TaXplLCBfcmVmM1tcIkBtZWRpYSAobWluLXdpZHRoOiBcIiArIG1pblNjcmVlbiArIFwiKVwiXSA9IChfcmVmID0ge30sIF9yZWZbY3NzUHJvcC5wcm9wXSA9IGJldHdlZW4oY3NzUHJvcC5mcm9tU2l6ZSwgY3NzUHJvcC50b1NpemUsIG1pblNjcmVlbiwgbWF4U2NyZWVuKSwgX3JlZiksIF9yZWYzW1wiQG1lZGlhIChtaW4td2lkdGg6IFwiICsgbWF4U2NyZWVuICsgXCIpXCJdID0gKF9yZWYyID0ge30sIF9yZWYyW2Nzc1Byb3AucHJvcF0gPSBjc3NQcm9wLnRvU2l6ZSwgX3JlZjIpLCBfcmVmMztcbiAgfVxufVxuXG52YXIgZGF0YVVSSVJlZ2V4ID0gL15cXHMqZGF0YTooW2Etel0rXFwvW2Etei1dKyg7W2Etei1dKz1bYS16LV0rKT8pPyg7Y2hhcnNldD1bYS16MC05LV0rKT8oO2Jhc2U2NCk/LFthLXowLTkhJCYnLCgpKissOz1cXC0uX346QC8/JVxcc10qXFxzKiQvaTtcbnZhciBmb3JtYXRIaW50TWFwID0ge1xuICB3b2ZmOiAnd29mZicsXG4gIHdvZmYyOiAnd29mZjInLFxuICB0dGY6ICd0cnVldHlwZScsXG4gIG90ZjogJ29wZW50eXBlJyxcbiAgZW90OiAnZW1iZWRkZWQtb3BlbnR5cGUnLFxuICBzdmc6ICdzdmcnLFxuICBzdmd6OiAnc3ZnJ1xufTtcblxuZnVuY3Rpb24gZ2VuZXJhdGVGb3JtYXRIaW50KGZvcm1hdCwgZm9ybWF0SGludCkge1xuICBpZiAoIWZvcm1hdEhpbnQpIHJldHVybiAnJztcbiAgcmV0dXJuIFwiIGZvcm1hdChcXFwiXCIgKyBmb3JtYXRIaW50TWFwW2Zvcm1hdF0gKyBcIlxcXCIpXCI7XG59XG5cbmZ1bmN0aW9uIGlzRGF0YVVSSShmb250RmlsZVBhdGgpIHtcbiAgcmV0dXJuICEhZm9udEZpbGVQYXRoLnJlcGxhY2UoL1xccysvZywgJyAnKS5tYXRjaChkYXRhVVJJUmVnZXgpO1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZUZpbGVSZWZlcmVuY2VzKGZvbnRGaWxlUGF0aCwgZmlsZUZvcm1hdHMsIGZvcm1hdEhpbnQpIHtcbiAgaWYgKGlzRGF0YVVSSShmb250RmlsZVBhdGgpKSB7XG4gICAgcmV0dXJuIFwidXJsKFxcXCJcIiArIGZvbnRGaWxlUGF0aCArIFwiXFxcIilcIiArIGdlbmVyYXRlRm9ybWF0SGludChmaWxlRm9ybWF0c1swXSwgZm9ybWF0SGludCk7XG4gIH1cblxuICB2YXIgZmlsZUZvbnRSZWZlcmVuY2VzID0gZmlsZUZvcm1hdHMubWFwKGZ1bmN0aW9uIChmb3JtYXQpIHtcbiAgICByZXR1cm4gXCJ1cmwoXFxcIlwiICsgZm9udEZpbGVQYXRoICsgXCIuXCIgKyBmb3JtYXQgKyBcIlxcXCIpXCIgKyBnZW5lcmF0ZUZvcm1hdEhpbnQoZm9ybWF0LCBmb3JtYXRIaW50KTtcbiAgfSk7XG4gIHJldHVybiBmaWxlRm9udFJlZmVyZW5jZXMuam9pbignLCAnKTtcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVMb2NhbFJlZmVyZW5jZXMobG9jYWxGb250cykge1xuICB2YXIgbG9jYWxGb250UmVmZXJlbmNlcyA9IGxvY2FsRm9udHMubWFwKGZ1bmN0aW9uIChmb250KSB7XG4gICAgcmV0dXJuIFwibG9jYWwoXFxcIlwiICsgZm9udCArIFwiXFxcIilcIjtcbiAgfSk7XG4gIHJldHVybiBsb2NhbEZvbnRSZWZlcmVuY2VzLmpvaW4oJywgJyk7XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlU291cmNlcyhmb250RmlsZVBhdGgsIGxvY2FsRm9udHMsIGZpbGVGb3JtYXRzLCBmb3JtYXRIaW50KSB7XG4gIHZhciBmb250UmVmZXJlbmNlcyA9IFtdO1xuICBpZiAobG9jYWxGb250cykgZm9udFJlZmVyZW5jZXMucHVzaChnZW5lcmF0ZUxvY2FsUmVmZXJlbmNlcyhsb2NhbEZvbnRzKSk7XG5cbiAgaWYgKGZvbnRGaWxlUGF0aCkge1xuICAgIGZvbnRSZWZlcmVuY2VzLnB1c2goZ2VuZXJhdGVGaWxlUmVmZXJlbmNlcyhmb250RmlsZVBhdGgsIGZpbGVGb3JtYXRzLCBmb3JtYXRIaW50KSk7XG4gIH1cblxuICByZXR1cm4gZm9udFJlZmVyZW5jZXMuam9pbignLCAnKTtcbn1cbi8qKlxuICogQ1NTIGZvciBhIEBmb250LWZhY2UgZGVjbGFyYXRpb24uXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgYmFzaWMgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgIC4uLmZvbnRGYWNlKHtcbiAqICAgICAgJ2ZvbnRGYW1pbHknOiAnU2Fucy1Qcm8nLFxuICogICAgICAnZm9udEZpbGVQYXRoJzogJ3BhdGgvdG8vZmlsZSdcbiAqICAgIH0pXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgYmFzaWMgdXNhZ2VcbiAqIGNvbnN0IEdsb2JhbFN0eWxlID0gY3JlYXRlR2xvYmFsU3R5bGVgJHtcbiAqICAgZm9udEZhY2Uoe1xuICogICAgICdmb250RmFtaWx5JzogJ1NhbnMtUHJvJyxcbiAqICAgICAnZm9udEZpbGVQYXRoJzogJ3BhdGgvdG8vZmlsZSdcbiAqICAgfVxuICogKX1gXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqICdAZm9udC1mYWNlJzoge1xuICogICAnZm9udEZhbWlseSc6ICdTYW5zLVBybycsXG4gKiAgICdzcmMnOiAndXJsKFwicGF0aC90by9maWxlLmVvdFwiKSwgdXJsKFwicGF0aC90by9maWxlLndvZmYyXCIpLCB1cmwoXCJwYXRoL3RvL2ZpbGUud29mZlwiKSwgdXJsKFwicGF0aC90by9maWxlLnR0ZlwiKSwgdXJsKFwicGF0aC90by9maWxlLnN2Z1wiKScsXG4gKiB9XG4gKi9cblxuXG5mdW5jdGlvbiBmb250RmFjZShfcmVmKSB7XG4gIHZhciBmb250RmFtaWx5ID0gX3JlZi5mb250RmFtaWx5LFxuICAgICAgZm9udEZpbGVQYXRoID0gX3JlZi5mb250RmlsZVBhdGgsXG4gICAgICBmb250U3RyZXRjaCA9IF9yZWYuZm9udFN0cmV0Y2gsXG4gICAgICBmb250U3R5bGUgPSBfcmVmLmZvbnRTdHlsZSxcbiAgICAgIGZvbnRWYXJpYW50ID0gX3JlZi5mb250VmFyaWFudCxcbiAgICAgIGZvbnRXZWlnaHQgPSBfcmVmLmZvbnRXZWlnaHQsXG4gICAgICBfcmVmJGZpbGVGb3JtYXRzID0gX3JlZi5maWxlRm9ybWF0cyxcbiAgICAgIGZpbGVGb3JtYXRzID0gX3JlZiRmaWxlRm9ybWF0cyA9PT0gdm9pZCAwID8gWydlb3QnLCAnd29mZjInLCAnd29mZicsICd0dGYnLCAnc3ZnJ10gOiBfcmVmJGZpbGVGb3JtYXRzLFxuICAgICAgX3JlZiRmb3JtYXRIaW50ID0gX3JlZi5mb3JtYXRIaW50LFxuICAgICAgZm9ybWF0SGludCA9IF9yZWYkZm9ybWF0SGludCA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmJGZvcm1hdEhpbnQsXG4gICAgICBsb2NhbEZvbnRzID0gX3JlZi5sb2NhbEZvbnRzLFxuICAgICAgdW5pY29kZVJhbmdlID0gX3JlZi51bmljb2RlUmFuZ2UsXG4gICAgICBmb250RGlzcGxheSA9IF9yZWYuZm9udERpc3BsYXksXG4gICAgICBmb250VmFyaWF0aW9uU2V0dGluZ3MgPSBfcmVmLmZvbnRWYXJpYXRpb25TZXR0aW5ncyxcbiAgICAgIGZvbnRGZWF0dXJlU2V0dGluZ3MgPSBfcmVmLmZvbnRGZWF0dXJlU2V0dGluZ3M7XG4gIC8vIEVycm9yIEhhbmRsaW5nXG4gIGlmICghZm9udEZhbWlseSkgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNTUpO1xuXG4gIGlmICghZm9udEZpbGVQYXRoICYmICFsb2NhbEZvbnRzKSB7XG4gICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNTIpO1xuICB9XG5cbiAgaWYgKGxvY2FsRm9udHMgJiYgIUFycmF5LmlzQXJyYXkobG9jYWxGb250cykpIHtcbiAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig1Myk7XG4gIH1cblxuICBpZiAoIUFycmF5LmlzQXJyYXkoZmlsZUZvcm1hdHMpKSB7XG4gICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNTQpO1xuICB9XG5cbiAgdmFyIGZvbnRGYWNlRGVjbGFyYXRpb24gPSB7XG4gICAgJ0Bmb250LWZhY2UnOiB7XG4gICAgICBmb250RmFtaWx5OiBmb250RmFtaWx5LFxuICAgICAgc3JjOiBnZW5lcmF0ZVNvdXJjZXMoZm9udEZpbGVQYXRoLCBsb2NhbEZvbnRzLCBmaWxlRm9ybWF0cywgZm9ybWF0SGludCksXG4gICAgICB1bmljb2RlUmFuZ2U6IHVuaWNvZGVSYW5nZSxcbiAgICAgIGZvbnRTdHJldGNoOiBmb250U3RyZXRjaCxcbiAgICAgIGZvbnRTdHlsZTogZm9udFN0eWxlLFxuICAgICAgZm9udFZhcmlhbnQ6IGZvbnRWYXJpYW50LFxuICAgICAgZm9udFdlaWdodDogZm9udFdlaWdodCxcbiAgICAgIGZvbnREaXNwbGF5OiBmb250RGlzcGxheSxcbiAgICAgIGZvbnRWYXJpYXRpb25TZXR0aW5nczogZm9udFZhcmlhdGlvblNldHRpbmdzLFxuICAgICAgZm9udEZlYXR1cmVTZXR0aW5nczogZm9udEZlYXR1cmVTZXR0aW5nc1xuICAgIH1cbiAgfTsgLy8gUmVtb3ZlcyB1bmRlZmluZWQgZmllbGRzIGZvciBjbGVhbmVyIGNzcyBvYmplY3QuXG5cbiAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZm9udEZhY2VEZWNsYXJhdGlvbikpO1xufVxuXG4vKipcbiAqIENTUyB0byBoaWRlIHRleHQgdG8gc2hvdyBhIGJhY2tncm91bmQgaW1hZ2UgaW4gYSBTRU8tZnJpZW5kbHkgd2F5LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgICdiYWNrZ3JvdW5kSW1hZ2UnOiAndXJsKGxvZ28ucG5nKScsXG4gKiAgIC4uLmhpZGVUZXh0KCksXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmRJbWFnZTogdXJsKGxvZ28ucG5nKTtcbiAqICAgJHtoaWRlVGV4dCgpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgYXMgSlMgT3V0cHV0XG4gKlxuICogJ2Rpdic6IHtcbiAqICAgJ2JhY2tncm91bmRJbWFnZSc6ICd1cmwobG9nby5wbmcpJyxcbiAqICAgJ3RleHRJbmRlbnQnOiAnMTAxJScsXG4gKiAgICdvdmVyZmxvdyc6ICdoaWRkZW4nLFxuICogICAnd2hpdGVTcGFjZSc6ICdub3dyYXAnLFxuICogfVxuICovXG5mdW5jdGlvbiBoaWRlVGV4dCgpIHtcbiAgcmV0dXJuIHtcbiAgICB0ZXh0SW5kZW50OiAnMTAxJScsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnXG4gIH07XG59XG5cbi8qKlxuICogQ1NTIHRvIGhpZGUgY29udGVudCB2aXN1YWxseSBidXQgcmVtYWluIGFjY2Vzc2libGUgdG8gc2NyZWVuIHJlYWRlcnMuXG4gKiBmcm9tIFtIVE1MNSBCb2lsZXJwbGF0ZV0oaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi85YTE3NmY1N2FmMWNmZThlYzcwMzAwZGE0NjIxZmI5YjA3ZTVmYTMxL3NyYy9jc3MvbWFpbi5jc3MjTDEyMSlcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5oaWRlVmlzdWFsbHkoKSxcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtoaWRlVmlzdWFsbHkoKX07XG4gKiBgXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqICdkaXYnOiB7XG4gKiAgICdib3JkZXInOiAnMCcsXG4gKiAgICdjbGlwJzogJ3JlY3QoMCAwIDAgMCknLFxuICogICAnaGVpZ2h0JzogJzFweCcsXG4gKiAgICdtYXJnaW4nOiAnLTFweCcsXG4gKiAgICdvdmVyZmxvdyc6ICdoaWRkZW4nLFxuICogICAncGFkZGluZyc6ICcwJyxcbiAqICAgJ3Bvc2l0aW9uJzogJ2Fic29sdXRlJyxcbiAqICAgJ3doaXRlU3BhY2UnOiAnbm93cmFwJyxcbiAqICAgJ3dpZHRoJzogJzFweCcsXG4gKiB9XG4gKi9cbmZ1bmN0aW9uIGhpZGVWaXN1YWxseSgpIHtcbiAgcmV0dXJuIHtcbiAgICBib3JkZXI6ICcwJyxcbiAgICBjbGlwOiAncmVjdCgwIDAgMCAwKScsXG4gICAgaGVpZ2h0OiAnMXB4JyxcbiAgICBtYXJnaW46ICctMXB4JyxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcGFkZGluZzogJzAnLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIHdpZHRoOiAnMXB4J1xuICB9O1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHRvIHRhcmdldCBIaURQSSBkZXZpY2VzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgW2hpRFBJKDEuNSldOiB7XG4gKiAgICB3aWR0aDogMjAwcHg7XG4gKiAgfVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAke2hpRFBJKDEuNSl9IHtcbiAqICAgICB3aWR0aDogMjAwcHg7XG4gKiAgIH1cbiAqIGBcbiAqXG4gKiAvLyBDU1MgYXMgSlMgT3V0cHV0XG4gKlxuICogJ0BtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcbiAqICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcbiAqICBvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNS8xKSxcbiAqICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxNDRkcGkpLFxuICogIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpJzoge1xuICogICAnd2lkdGgnOiAnMjAwcHgnLFxuICogfVxuICovXG5mdW5jdGlvbiBoaURQSShyYXRpbykge1xuICBpZiAocmF0aW8gPT09IHZvaWQgMCkge1xuICAgIHJhdGlvID0gMS4zO1xuICB9XG5cbiAgcmV0dXJuIFwiXFxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogXCIgKyByYXRpbyArIFwiKSxcXG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IFwiICsgcmF0aW8gKyBcIiksXFxuICAgIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogXCIgKyByYXRpbyArIFwiLzEpLFxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiBcIiArIE1hdGgucm91bmQocmF0aW8gKiA5NikgKyBcImRwaSksXFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IFwiICsgcmF0aW8gKyBcImRwcHgpXFxuICBcIjtcbn1cblxuZnVuY3Rpb24gY29uc3RydWN0R3JhZGllbnRWYWx1ZShsaXRlcmFscykge1xuICB2YXIgdGVtcGxhdGUgPSAnJztcblxuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgc3Vic3RpdHV0aW9ucyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgc3Vic3RpdHV0aW9uc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpdGVyYWxzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgdGVtcGxhdGUgKz0gbGl0ZXJhbHNbaV07XG5cbiAgICBpZiAoaSA9PT0gc3Vic3RpdHV0aW9ucy5sZW5ndGggLSAxICYmIHN1YnN0aXR1dGlvbnNbaV0pIHtcbiAgICAgIHZhciBkZWZpbmVkVmFsdWVzID0gc3Vic3RpdHV0aW9ucy5maWx0ZXIoZnVuY3Rpb24gKHN1YnN0aXR1dGUpIHtcbiAgICAgICAgcmV0dXJuICEhc3Vic3RpdHV0ZTtcbiAgICAgIH0pOyAvLyBBZGRzIGxlYWRpbmcgY29tYSBpZiBwcm9wZXJ0aWVzIHByZWNlZWQgY29sb3Itc3RvcHNcblxuICAgICAgaWYgKGRlZmluZWRWYWx1ZXMubGVuZ3RoID4gMSkge1xuICAgICAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlLnNsaWNlKDAsIC0xKTtcbiAgICAgICAgdGVtcGxhdGUgKz0gXCIsIFwiICsgc3Vic3RpdHV0aW9uc1tpXTsgLy8gTm8gdHJhaWxpbmcgc3BhY2UgaWYgY29sb3Itc3RvcHMgaXMgdGhlIG9ubHkgcGFyYW0gcHJvdmlkZWRcbiAgICAgIH0gZWxzZSBpZiAoZGVmaW5lZFZhbHVlcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgdGVtcGxhdGUgKz0gXCJcIiArIHN1YnN0aXR1dGlvbnNbaV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChzdWJzdGl0dXRpb25zW2ldKSB7XG4gICAgICB0ZW1wbGF0ZSArPSBzdWJzdGl0dXRpb25zW2ldICsgXCIgXCI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRlbXBsYXRlLnRyaW0oKTtcbn1cblxudmFyIF90ZW1wbGF0ZU9iamVjdDtcblxuLyoqXG4gKiBDU1MgZm9yIGRlY2xhcmluZyBhIGxpbmVhciBncmFkaWVudCwgaW5jbHVkaW5nIGEgZmFsbGJhY2sgYmFja2dyb3VuZC1jb2xvci4gVGhlIGZhbGxiYWNrIGlzIGVpdGhlciB0aGUgZmlyc3QgY29sb3Itc3RvcCBvciBhbiBleHBsaWNpdGx5IHBhc3NlZCBmYWxsYmFjayBjb2xvci5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5saW5lYXJHcmFkaWVudCh7XG4gICAgICAgIGNvbG9yU3RvcHM6IFsnIzAwRkZGRiAwJScsICdyZ2JhKDAsIDAsIDI1NSwgMCkgNTAlJywgJyMwMDAwRkYgOTUlJ10sXG4gICAgICAgIHRvRGlyZWN0aW9uOiAndG8gdG9wIHJpZ2h0JyxcbiAgICAgICAgZmFsbGJhY2s6ICcjRkZGJyxcbiAgICAgIH0pXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgICR7bGluZWFyR3JhZGllbnQoe1xuICAgICAgICBjb2xvclN0b3BzOiBbJyMwMEZGRkYgMCUnLCAncmdiYSgwLCAwLCAyNTUsIDApIDUwJScsICcjMDAwMEZGIDk1JSddLFxuICAgICAgICB0b0RpcmVjdGlvbjogJ3RvIHRvcCByaWdodCcsXG4gICAgICAgIGZhbGxiYWNrOiAnI0ZGRicsXG4gICAgICB9KX1cbiAqYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXY6IHtcbiAqICAgJ2JhY2tncm91bmRDb2xvcic6ICcjRkZGJyxcbiAqICAgJ2JhY2tncm91bmRJbWFnZSc6ICdsaW5lYXItZ3JhZGllbnQodG8gdG9wIHJpZ2h0LCAjMDBGRkZGIDAlLCByZ2JhKDAsIDAsIDI1NSwgMCkgNTAlLCAjMDAwMEZGIDk1JSknLFxuICogfVxuICovXG5mdW5jdGlvbiBsaW5lYXJHcmFkaWVudChfcmVmKSB7XG4gIHZhciBjb2xvclN0b3BzID0gX3JlZi5jb2xvclN0b3BzLFxuICAgICAgZmFsbGJhY2sgPSBfcmVmLmZhbGxiYWNrLFxuICAgICAgX3JlZiR0b0RpcmVjdGlvbiA9IF9yZWYudG9EaXJlY3Rpb24sXG4gICAgICB0b0RpcmVjdGlvbiA9IF9yZWYkdG9EaXJlY3Rpb24gPT09IHZvaWQgMCA/ICcnIDogX3JlZiR0b0RpcmVjdGlvbjtcblxuICBpZiAoIWNvbG9yU3RvcHMgfHwgY29sb3JTdG9wcy5sZW5ndGggPCAyKSB7XG4gICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNTYpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IGZhbGxiYWNrIHx8IGNvbG9yU3RvcHNbMF0ucmVwbGFjZSgvLFxccysvZywgJywnKS5zcGxpdCgnICcpWzBdLnJlcGxhY2UoLywoPz1cXFMpL2csICcsICcpLFxuICAgIGJhY2tncm91bmRJbWFnZTogY29uc3RydWN0R3JhZGllbnRWYWx1ZShfdGVtcGxhdGVPYmplY3QgfHwgKF90ZW1wbGF0ZU9iamVjdCA9IF90YWdnZWRUZW1wbGF0ZUxpdGVyYWxMb29zZShbXCJsaW5lYXItZ3JhZGllbnQoXCIsIFwiXCIsIFwiKVwiXSkpLCB0b0RpcmVjdGlvbiwgY29sb3JTdG9wcy5qb2luKCcsICcpLnJlcGxhY2UoLywoPz1cXFMpL2csICcsICcpKVxuICB9O1xufVxuXG4vKipcbiAqIENTUyB0byBub3JtYWxpemUgYWJub3JtYWxpdGllcyBhY3Jvc3MgYnJvd3NlcnMgKG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcylcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAgLi4ubm9ybWFsaXplKCksXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IEdsb2JhbFN0eWxlID0gY3JlYXRlR2xvYmFsU3R5bGVgJHtub3JtYWxpemUoKX1gXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqIGh0bWwge1xuICogICBsaW5lSGVpZ2h0OiAxLjE1LFxuICogICB0ZXh0U2l6ZUFkanVzdDogMTAwJSxcbiAqIH0gLi4uXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZSgpIHtcbiAgdmFyIF9yZWY7XG5cbiAgcmV0dXJuIFsoX3JlZiA9IHtcbiAgICBodG1sOiB7XG4gICAgICBsaW5lSGVpZ2h0OiAnMS4xNScsXG4gICAgICB0ZXh0U2l6ZUFkanVzdDogJzEwMCUnXG4gICAgfSxcbiAgICBib2R5OiB7XG4gICAgICBtYXJnaW46ICcwJ1xuICAgIH0sXG4gICAgbWFpbjoge1xuICAgICAgZGlzcGxheTogJ2Jsb2NrJ1xuICAgIH0sXG4gICAgaDE6IHtcbiAgICAgIGZvbnRTaXplOiAnMmVtJyxcbiAgICAgIG1hcmdpbjogJzAuNjdlbSAwJ1xuICAgIH0sXG4gICAgaHI6IHtcbiAgICAgIGJveFNpemluZzogJ2NvbnRlbnQtYm94JyxcbiAgICAgIGhlaWdodDogJzAnLFxuICAgICAgb3ZlcmZsb3c6ICd2aXNpYmxlJ1xuICAgIH0sXG4gICAgcHJlOiB7XG4gICAgICBmb250RmFtaWx5OiAnbW9ub3NwYWNlLCBtb25vc3BhY2UnLFxuICAgICAgZm9udFNpemU6ICcxZW0nXG4gICAgfSxcbiAgICBhOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCdcbiAgICB9LFxuICAgICdhYmJyW3RpdGxlXSc6IHtcbiAgICAgIGJvcmRlckJvdHRvbTogJ25vbmUnLFxuICAgICAgdGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnXG4gICAgfVxuICB9LCBfcmVmW1wiYixcXG4gICAgc3Ryb25nXCJdID0ge1xuICAgIGZvbnRXZWlnaHQ6ICdib2xkZXInXG4gIH0sIF9yZWZbXCJjb2RlLFxcbiAgICBrYmQsXFxuICAgIHNhbXBcIl0gPSB7XG4gICAgZm9udEZhbWlseTogJ21vbm9zcGFjZSwgbW9ub3NwYWNlJyxcbiAgICBmb250U2l6ZTogJzFlbSdcbiAgfSwgX3JlZi5zbWFsbCA9IHtcbiAgICBmb250U2l6ZTogJzgwJSdcbiAgfSwgX3JlZltcInN1YixcXG4gICAgc3VwXCJdID0ge1xuICAgIGZvbnRTaXplOiAnNzUlJyxcbiAgICBsaW5lSGVpZ2h0OiAnMCcsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgdmVydGljYWxBbGlnbjogJ2Jhc2VsaW5lJ1xuICB9LCBfcmVmLnN1YiA9IHtcbiAgICBib3R0b206ICctMC4yNWVtJ1xuICB9LCBfcmVmLnN1cCA9IHtcbiAgICB0b3A6ICctMC41ZW0nXG4gIH0sIF9yZWYuaW1nID0ge1xuICAgIGJvcmRlclN0eWxlOiAnbm9uZSdcbiAgfSwgX3JlZltcImJ1dHRvbixcXG4gICAgaW5wdXQsXFxuICAgIG9wdGdyb3VwLFxcbiAgICBzZWxlY3QsXFxuICAgIHRleHRhcmVhXCJdID0ge1xuICAgIGZvbnRGYW1pbHk6ICdpbmhlcml0JyxcbiAgICBmb250U2l6ZTogJzEwMCUnLFxuICAgIGxpbmVIZWlnaHQ6ICcxLjE1JyxcbiAgICBtYXJnaW46ICcwJ1xuICB9LCBfcmVmW1wiYnV0dG9uLFxcbiAgICBpbnB1dFwiXSA9IHtcbiAgICBvdmVyZmxvdzogJ3Zpc2libGUnXG4gIH0sIF9yZWZbXCJidXR0b24sXFxuICAgIHNlbGVjdFwiXSA9IHtcbiAgICB0ZXh0VHJhbnNmb3JtOiAnbm9uZSdcbiAgfSwgX3JlZltcImJ1dHRvbixcXG4gICAgaHRtbCBbdHlwZT1cXFwiYnV0dG9uXFxcIl0sXFxuICAgIFt0eXBlPVxcXCJyZXNldFxcXCJdLFxcbiAgICBbdHlwZT1cXFwic3VibWl0XFxcIl1cIl0gPSB7XG4gICAgV2Via2l0QXBwZWFyYW5jZTogJ2J1dHRvbidcbiAgfSwgX3JlZltcImJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcXG4gICAgW3R5cGU9XFxcImJ1dHRvblxcXCJdOjotbW96LWZvY3VzLWlubmVyLFxcbiAgICBbdHlwZT1cXFwicmVzZXRcXFwiXTo6LW1vei1mb2N1cy1pbm5lcixcXG4gICAgW3R5cGU9XFxcInN1Ym1pdFxcXCJdOjotbW96LWZvY3VzLWlubmVyXCJdID0ge1xuICAgIGJvcmRlclN0eWxlOiAnbm9uZScsXG4gICAgcGFkZGluZzogJzAnXG4gIH0sIF9yZWZbXCJidXR0b246LW1vei1mb2N1c3JpbmcsXFxuICAgIFt0eXBlPVxcXCJidXR0b25cXFwiXTotbW96LWZvY3VzcmluZyxcXG4gICAgW3R5cGU9XFxcInJlc2V0XFxcIl06LW1vei1mb2N1c3JpbmcsXFxuICAgIFt0eXBlPVxcXCJzdWJtaXRcXFwiXTotbW96LWZvY3VzcmluZ1wiXSA9IHtcbiAgICBvdXRsaW5lOiAnMXB4IGRvdHRlZCBCdXR0b25UZXh0J1xuICB9LCBfcmVmLmZpZWxkc2V0ID0ge1xuICAgIHBhZGRpbmc6ICcwLjM1ZW0gMC42MjVlbSAwLjc1ZW0nXG4gIH0sIF9yZWYubGVnZW5kID0ge1xuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIGNvbG9yOiAnaW5oZXJpdCcsXG4gICAgZGlzcGxheTogJ3RhYmxlJyxcbiAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgIHBhZGRpbmc6ICcwJyxcbiAgICB3aGl0ZVNwYWNlOiAnbm9ybWFsJ1xuICB9LCBfcmVmLnByb2dyZXNzID0ge1xuICAgIHZlcnRpY2FsQWxpZ246ICdiYXNlbGluZSdcbiAgfSwgX3JlZi50ZXh0YXJlYSA9IHtcbiAgICBvdmVyZmxvdzogJ2F1dG8nXG4gIH0sIF9yZWZbXCJbdHlwZT1cXFwiY2hlY2tib3hcXFwiXSxcXG4gICAgW3R5cGU9XFxcInJhZGlvXFxcIl1cIl0gPSB7XG4gICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgcGFkZGluZzogJzAnXG4gIH0sIF9yZWZbXCJbdHlwZT1cXFwibnVtYmVyXFxcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXFxuICAgIFt0eXBlPVxcXCJudW1iZXJcXFwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvblwiXSA9IHtcbiAgICBoZWlnaHQ6ICdhdXRvJ1xuICB9LCBfcmVmWydbdHlwZT1cInNlYXJjaFwiXSddID0ge1xuICAgIFdlYmtpdEFwcGVhcmFuY2U6ICd0ZXh0ZmllbGQnLFxuICAgIG91dGxpbmVPZmZzZXQ6ICctMnB4J1xuICB9LCBfcmVmWydbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiddID0ge1xuICAgIFdlYmtpdEFwcGVhcmFuY2U6ICdub25lJ1xuICB9LCBfcmVmWyc6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uJ10gPSB7XG4gICAgV2Via2l0QXBwZWFyYW5jZTogJ2J1dHRvbicsXG4gICAgZm9udDogJ2luaGVyaXQnXG4gIH0sIF9yZWYuZGV0YWlscyA9IHtcbiAgICBkaXNwbGF5OiAnYmxvY2snXG4gIH0sIF9yZWYuc3VtbWFyeSA9IHtcbiAgICBkaXNwbGF5OiAnbGlzdC1pdGVtJ1xuICB9LCBfcmVmLnRlbXBsYXRlID0ge1xuICAgIGRpc3BsYXk6ICdub25lJ1xuICB9LCBfcmVmWydbaGlkZGVuXSddID0ge1xuICAgIGRpc3BsYXk6ICdub25lJ1xuICB9LCBfcmVmKSwge1xuICAgICdhYmJyW3RpdGxlXSc6IHtcbiAgICAgIHRleHREZWNvcmF0aW9uOiAndW5kZXJsaW5lIGRvdHRlZCdcbiAgICB9XG4gIH1dO1xufVxuXG52YXIgX3RlbXBsYXRlT2JqZWN0JDE7XG5cbi8qKlxuICogQ1NTIGZvciBkZWNsYXJpbmcgYSByYWRpYWwgZ3JhZGllbnQsIGluY2x1ZGluZyBhIGZhbGxiYWNrIGJhY2tncm91bmQtY29sb3IuIFRoZSBmYWxsYmFjayBpcyBlaXRoZXIgdGhlIGZpcnN0IGNvbG9yLXN0b3Agb3IgYW4gZXhwbGljaXRseSBwYXNzZWQgZmFsbGJhY2sgY29sb3IuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgLi4ucmFkaWFsR3JhZGllbnQoe1xuICogICAgIGNvbG9yU3RvcHM6IFsnIzAwRkZGRiAwJScsICdyZ2JhKDAsIDAsIDI1NSwgMCkgNTAlJywgJyMwMDAwRkYgOTUlJ10sXG4gKiAgICAgZXh0ZW50OiAnZmFydGhlc3QtY29ybmVyIGF0IDQ1cHggNDVweCcsXG4gKiAgICAgcG9zaXRpb246ICdjZW50ZXInLFxuICogICAgIHNoYXBlOiAnZWxsaXBzZScsXG4gKiAgIH0pXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgICR7cmFkaWFsR3JhZGllbnQoe1xuICogICAgIGNvbG9yU3RvcHM6IFsnIzAwRkZGRiAwJScsICdyZ2JhKDAsIDAsIDI1NSwgMCkgNTAlJywgJyMwMDAwRkYgOTUlJ10sXG4gKiAgICAgZXh0ZW50OiAnZmFydGhlc3QtY29ybmVyIGF0IDQ1cHggNDVweCcsXG4gKiAgICAgcG9zaXRpb246ICdjZW50ZXInLFxuICogICAgIHNoYXBlOiAnZWxsaXBzZScsXG4gKiAgIH0pfVxuICpgXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqIGRpdjoge1xuICogICAnYmFja2dyb3VuZENvbG9yJzogJyMwMEZGRkYnLFxuICogICAnYmFja2dyb3VuZEltYWdlJzogJ3JhZGlhbC1ncmFkaWVudChjZW50ZXIgZWxsaXBzZSBmYXJ0aGVzdC1jb3JuZXIgYXQgNDVweCA0NXB4LCAjMDBGRkZGIDAlLCByZ2JhKDAsIDAsIDI1NSwgMCkgNTAlLCAjMDAwMEZGIDk1JSknLFxuICogfVxuICovXG5mdW5jdGlvbiByYWRpYWxHcmFkaWVudChfcmVmKSB7XG4gIHZhciBjb2xvclN0b3BzID0gX3JlZi5jb2xvclN0b3BzLFxuICAgICAgX3JlZiRleHRlbnQgPSBfcmVmLmV4dGVudCxcbiAgICAgIGV4dGVudCA9IF9yZWYkZXh0ZW50ID09PSB2b2lkIDAgPyAnJyA6IF9yZWYkZXh0ZW50LFxuICAgICAgZmFsbGJhY2sgPSBfcmVmLmZhbGxiYWNrLFxuICAgICAgX3JlZiRwb3NpdGlvbiA9IF9yZWYucG9zaXRpb24sXG4gICAgICBwb3NpdGlvbiA9IF9yZWYkcG9zaXRpb24gPT09IHZvaWQgMCA/ICcnIDogX3JlZiRwb3NpdGlvbixcbiAgICAgIF9yZWYkc2hhcGUgPSBfcmVmLnNoYXBlLFxuICAgICAgc2hhcGUgPSBfcmVmJHNoYXBlID09PSB2b2lkIDAgPyAnJyA6IF9yZWYkc2hhcGU7XG5cbiAgaWYgKCFjb2xvclN0b3BzIHx8IGNvbG9yU3RvcHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDU3KTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiBmYWxsYmFjayB8fCBjb2xvclN0b3BzWzBdLnNwbGl0KCcgJylbMF0sXG4gICAgYmFja2dyb3VuZEltYWdlOiBjb25zdHJ1Y3RHcmFkaWVudFZhbHVlKF90ZW1wbGF0ZU9iamVjdCQxIHx8IChfdGVtcGxhdGVPYmplY3QkMSA9IF90YWdnZWRUZW1wbGF0ZUxpdGVyYWxMb29zZShbXCJyYWRpYWwtZ3JhZGllbnQoXCIsIFwiXCIsIFwiXCIsIFwiXCIsIFwiKVwiXSkpLCBwb3NpdGlvbiwgc2hhcGUsIGV4dGVudCwgY29sb3JTdG9wcy5qb2luKCcsICcpKVxuICB9O1xufVxuXG4vKipcbiAqIEEgaGVscGVyIHRvIGdlbmVyYXRlIGEgcmV0aW5hIGJhY2tncm91bmQgaW1hZ2UgYW5kIG5vbi1yZXRpbmFcbiAqIGJhY2tncm91bmQgaW1hZ2UuIFRoZSByZXRpbmEgYmFja2dyb3VuZCBpbWFnZSB3aWxsIG91dHB1dCB0byBhIEhpRFBJIG1lZGlhIHF1ZXJ5LiBUaGUgbWl4aW4gdXNlc1xuICogYSBfMngucG5nIGZpbGVuYW1lIHN1ZmZpeCBieSBkZWZhdWx0LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgLi4ucmV0aW5hSW1hZ2UoJ215LWltZycpXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgICR7cmV0aW5hSW1hZ2UoJ215LWltZycpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqIGRpdiB7XG4gKiAgIGJhY2tncm91bmRJbWFnZTogJ3VybChteS1pbWcucG5nKScsXG4gKiAgICdAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gKiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAqICAgIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zLzEpLFxuICogICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSxcbiAqICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpJzoge1xuICogICAgIGJhY2tncm91bmRJbWFnZTogJ3VybChteS1pbWdfMngucG5nKScsXG4gKiAgIH1cbiAqIH1cbiAqL1xuZnVuY3Rpb24gcmV0aW5hSW1hZ2UoZmlsZW5hbWUsIGJhY2tncm91bmRTaXplLCBleHRlbnNpb24sIHJldGluYUZpbGVuYW1lLCByZXRpbmFTdWZmaXgpIHtcbiAgdmFyIF9yZWY7XG5cbiAgaWYgKGV4dGVuc2lvbiA9PT0gdm9pZCAwKSB7XG4gICAgZXh0ZW5zaW9uID0gJ3BuZyc7XG4gIH1cblxuICBpZiAocmV0aW5hU3VmZml4ID09PSB2b2lkIDApIHtcbiAgICByZXRpbmFTdWZmaXggPSAnXzJ4JztcbiAgfVxuXG4gIGlmICghZmlsZW5hbWUpIHtcbiAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig1OCk7XG4gIH0gLy8gUmVwbGFjZSB0aGUgZG90IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhc3NlZCBleHRlbnNpb24gaWYgb25lIGV4aXN0c1xuXG5cbiAgdmFyIGV4dCA9IGV4dGVuc2lvbi5yZXBsYWNlKC9eXFwuLywgJycpO1xuICB2YXIgckZpbGVuYW1lID0gcmV0aW5hRmlsZW5hbWUgPyByZXRpbmFGaWxlbmFtZSArIFwiLlwiICsgZXh0IDogXCJcIiArIGZpbGVuYW1lICsgcmV0aW5hU3VmZml4ICsgXCIuXCIgKyBleHQ7XG4gIHJldHVybiBfcmVmID0ge1xuICAgIGJhY2tncm91bmRJbWFnZTogXCJ1cmwoXCIgKyBmaWxlbmFtZSArIFwiLlwiICsgZXh0ICsgXCIpXCJcbiAgfSwgX3JlZltoaURQSSgpXSA9IF9leHRlbmRzKHtcbiAgICBiYWNrZ3JvdW5kSW1hZ2U6IFwidXJsKFwiICsgckZpbGVuYW1lICsgXCIpXCJcbiAgfSwgYmFja2dyb3VuZFNpemUgPyB7XG4gICAgYmFja2dyb3VuZFNpemU6IGJhY2tncm91bmRTaXplXG4gIH0gOiB7fSksIF9yZWY7XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIGtleS1zcGFjaW5nICovXG52YXIgZnVuY3Rpb25zTWFwID0ge1xuICBlYXNlSW5CYWNrOiAnY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSknLFxuICBlYXNlSW5DaXJjOiAnY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSknLFxuICBlYXNlSW5DdWJpYzogJ2N1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApJyxcbiAgZWFzZUluRXhwbzogJ2N1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpJyxcbiAgZWFzZUluUXVhZDogJ2N1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApJyxcbiAgZWFzZUluUXVhcnQ6ICdjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKScsXG4gIGVhc2VJblF1aW50OiAnY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCknLFxuICBlYXNlSW5TaW5lOiAnY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSknLFxuICBlYXNlT3V0QmFjazogJ2N1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpJyxcbiAgZWFzZU91dEN1YmljOiAnY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCknLFxuICBlYXNlT3V0Q2lyYzogJ2N1YmljLWJlemllcigwLjA3NSwgIDAuODIwLCAwLjE2NSwgMS4wMDApJyxcbiAgZWFzZU91dEV4cG86ICdjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKScsXG4gIGVhc2VPdXRRdWFkOiAnY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCknLFxuICBlYXNlT3V0UXVhcnQ6ICdjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKScsXG4gIGVhc2VPdXRRdWludDogJ2N1YmljLWJlemllcigwLjIzMCwgIDEuMDAwLCAwLjMyMCwgMS4wMDApJyxcbiAgZWFzZU91dFNpbmU6ICdjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKScsXG4gIGVhc2VJbk91dEJhY2s6ICdjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKScsXG4gIGVhc2VJbk91dENpcmM6ICdjdWJpYy1iZXppZXIoMC43ODUsICAwLjEzNSwgMC4xNTAsIDAuODYwKScsXG4gIGVhc2VJbk91dEN1YmljOiAnY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCknLFxuICBlYXNlSW5PdXRFeHBvOiAnY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCknLFxuICBlYXNlSW5PdXRRdWFkOiAnY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSknLFxuICBlYXNlSW5PdXRRdWFydDogJ2N1YmljLWJlemllcigwLjc3MCwgIDAuMDAwLCAwLjE3NSwgMS4wMDApJyxcbiAgZWFzZUluT3V0UXVpbnQ6ICdjdWJpYy1iZXppZXIoMC44NjAsICAwLjAwMCwgMC4wNzAsIDEuMDAwKScsXG4gIGVhc2VJbk91dFNpbmU6ICdjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKSdcbn07XG4vKiBlc2xpbnQtZW5hYmxlIGtleS1zcGFjaW5nICovXG5cbmZ1bmN0aW9uIGdldFRpbWluZ0Z1bmN0aW9uKGZ1bmN0aW9uTmFtZSkge1xuICByZXR1cm4gZnVuY3Rpb25zTWFwW2Z1bmN0aW9uTmFtZV07XG59XG4vKipcbiAqIFN0cmluZyB0byByZXByZXNlbnQgY29tbW9uIGVhc2luZyBmdW5jdGlvbnMgYXMgZGVtb25zdHJhdGVkIGhlcmU6IChnaXRodWIuY29tL2phdWtpYS9lYXNpZSkuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgJ3RyYW5zaXRpb25UaW1pbmdGdW5jdGlvbic6IHRpbWluZ0Z1bmN0aW9ucygnZWFzZUluUXVhZCcpXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqICBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICB0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246ICR7dGltaW5nRnVuY3Rpb25zKCdlYXNlSW5RdWFkJyl9O1xuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiAnZGl2Jzoge1xuICogICAndHJhbnNpdGlvblRpbWluZ0Z1bmN0aW9uJzogJ2N1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApJyxcbiAqIH1cbiAqL1xuXG5cbmZ1bmN0aW9uIHRpbWluZ0Z1bmN0aW9ucyh0aW1pbmdGdW5jdGlvbikge1xuICByZXR1cm4gZ2V0VGltaW5nRnVuY3Rpb24odGltaW5nRnVuY3Rpb24pO1xufVxuXG52YXIgZ2V0Qm9yZGVyV2lkdGggPSBmdW5jdGlvbiBnZXRCb3JkZXJXaWR0aChwb2ludGluZ0RpcmVjdGlvbiwgaGVpZ2h0LCB3aWR0aCkge1xuICB2YXIgZnVsbFdpZHRoID0gXCJcIiArIHdpZHRoWzBdICsgKHdpZHRoWzFdIHx8ICcnKTtcbiAgdmFyIGhhbGZXaWR0aCA9IFwiXCIgKyB3aWR0aFswXSAvIDIgKyAod2lkdGhbMV0gfHwgJycpO1xuICB2YXIgZnVsbEhlaWdodCA9IFwiXCIgKyBoZWlnaHRbMF0gKyAoaGVpZ2h0WzFdIHx8ICcnKTtcbiAgdmFyIGhhbGZIZWlnaHQgPSBcIlwiICsgaGVpZ2h0WzBdIC8gMiArIChoZWlnaHRbMV0gfHwgJycpO1xuXG4gIHN3aXRjaCAocG9pbnRpbmdEaXJlY3Rpb24pIHtcbiAgICBjYXNlICd0b3AnOlxuICAgICAgcmV0dXJuIFwiMCBcIiArIGhhbGZXaWR0aCArIFwiIFwiICsgZnVsbEhlaWdodCArIFwiIFwiICsgaGFsZldpZHRoO1xuXG4gICAgY2FzZSAndG9wTGVmdCc6XG4gICAgICByZXR1cm4gZnVsbFdpZHRoICsgXCIgXCIgKyBmdWxsSGVpZ2h0ICsgXCIgMCAwXCI7XG5cbiAgICBjYXNlICdsZWZ0JzpcbiAgICAgIHJldHVybiBoYWxmSGVpZ2h0ICsgXCIgXCIgKyBmdWxsV2lkdGggKyBcIiBcIiArIGhhbGZIZWlnaHQgKyBcIiAwXCI7XG5cbiAgICBjYXNlICdib3R0b21MZWZ0JzpcbiAgICAgIHJldHVybiBmdWxsV2lkdGggKyBcIiAwIDAgXCIgKyBmdWxsSGVpZ2h0O1xuXG4gICAgY2FzZSAnYm90dG9tJzpcbiAgICAgIHJldHVybiBmdWxsSGVpZ2h0ICsgXCIgXCIgKyBoYWxmV2lkdGggKyBcIiAwIFwiICsgaGFsZldpZHRoO1xuXG4gICAgY2FzZSAnYm90dG9tUmlnaHQnOlxuICAgICAgcmV0dXJuIFwiMCAwIFwiICsgZnVsbFdpZHRoICsgXCIgXCIgKyBmdWxsSGVpZ2h0O1xuXG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgcmV0dXJuIGhhbGZIZWlnaHQgKyBcIiAwIFwiICsgaGFsZkhlaWdodCArIFwiIFwiICsgZnVsbFdpZHRoO1xuXG4gICAgY2FzZSAndG9wUmlnaHQnOlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gXCIwIFwiICsgZnVsbFdpZHRoICsgXCIgXCIgKyBmdWxsSGVpZ2h0ICsgXCIgMFwiO1xuICB9XG59O1xuXG52YXIgZ2V0Qm9yZGVyQ29sb3IgPSBmdW5jdGlvbiBnZXRCb3JkZXJDb2xvcihwb2ludGluZ0RpcmVjdGlvbiwgZm9yZWdyb3VuZENvbG9yKSB7XG4gIHN3aXRjaCAocG9pbnRpbmdEaXJlY3Rpb24pIHtcbiAgICBjYXNlICd0b3AnOlxuICAgIGNhc2UgJ2JvdHRvbVJpZ2h0JzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJvcmRlckJvdHRvbUNvbG9yOiBmb3JlZ3JvdW5kQ29sb3JcbiAgICAgIH07XG5cbiAgICBjYXNlICdyaWdodCc6XG4gICAgY2FzZSAnYm90dG9tTGVmdCc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBib3JkZXJMZWZ0Q29sb3I6IGZvcmVncm91bmRDb2xvclxuICAgICAgfTtcblxuICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgY2FzZSAndG9wTGVmdCc6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBib3JkZXJUb3BDb2xvcjogZm9yZWdyb3VuZENvbG9yXG4gICAgICB9O1xuXG4gICAgY2FzZSAnbGVmdCc6XG4gICAgY2FzZSAndG9wUmlnaHQnOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYm9yZGVyUmlnaHRDb2xvcjogZm9yZWdyb3VuZENvbG9yXG4gICAgICB9O1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDU5KTtcbiAgfVxufTtcbi8qKlxuICogQ1NTIHRvIHJlcHJlc2VudCB0cmlhbmdsZSB3aXRoIGFueSBwb2ludGluZyBkaXJlY3Rpb24gd2l0aCBhbiBvcHRpb25hbCBiYWNrZ3JvdW5kIGNvbG9yLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKlxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi50cmlhbmdsZSh7IHBvaW50aW5nRGlyZWN0aW9uOiAncmlnaHQnLCB3aWR0aDogJzEwMHB4JywgaGVpZ2h0OiAnMTAwcHgnLCBmb3JlZ3JvdW5kQ29sb3I6ICdyZWQnIH0pXG4gKiB9XG4gKlxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAke3RyaWFuZ2xlKHsgcG9pbnRpbmdEaXJlY3Rpb246ICdyaWdodCcsIHdpZHRoOiAnMTAwcHgnLCBoZWlnaHQ6ICcxMDBweCcsIGZvcmVncm91bmRDb2xvcjogJ3JlZCcgfSl9XG4gKlxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXY6IHtcbiAqICAnYm9yZGVyQ29sb3InOiAndHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgcmVkJyxcbiAqICAnYm9yZGVyU3R5bGUnOiAnc29saWQnLFxuICogICdib3JkZXJXaWR0aCc6ICc1MHB4IDAgNTBweCAxMDBweCcsXG4gKiAgJ2hlaWdodCc6ICcwJyxcbiAqICAnd2lkdGgnOiAnMCcsXG4gKiB9XG4gKi9cblxuXG5mdW5jdGlvbiB0cmlhbmdsZShfcmVmKSB7XG4gIHZhciBwb2ludGluZ0RpcmVjdGlvbiA9IF9yZWYucG9pbnRpbmdEaXJlY3Rpb24sXG4gICAgICBoZWlnaHQgPSBfcmVmLmhlaWdodCxcbiAgICAgIHdpZHRoID0gX3JlZi53aWR0aCxcbiAgICAgIGZvcmVncm91bmRDb2xvciA9IF9yZWYuZm9yZWdyb3VuZENvbG9yLFxuICAgICAgX3JlZiRiYWNrZ3JvdW5kQ29sb3IgPSBfcmVmLmJhY2tncm91bmRDb2xvcixcbiAgICAgIGJhY2tncm91bmRDb2xvciA9IF9yZWYkYmFja2dyb3VuZENvbG9yID09PSB2b2lkIDAgPyAndHJhbnNwYXJlbnQnIDogX3JlZiRiYWNrZ3JvdW5kQ29sb3I7XG4gIHZhciB3aWR0aEFuZFVuaXQgPSBnZXRWYWx1ZUFuZFVuaXQod2lkdGgpO1xuICB2YXIgaGVpZ2h0QW5kVW5pdCA9IGdldFZhbHVlQW5kVW5pdChoZWlnaHQpO1xuXG4gIGlmIChpc05hTihoZWlnaHRBbmRVbml0WzBdKSB8fCBpc05hTih3aWR0aEFuZFVuaXRbMF0pKSB7XG4gICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNjApO1xuICB9XG5cbiAgcmV0dXJuIF9leHRlbmRzKHtcbiAgICB3aWR0aDogJzAnLFxuICAgIGhlaWdodDogJzAnLFxuICAgIGJvcmRlckNvbG9yOiBiYWNrZ3JvdW5kQ29sb3JcbiAgfSwgZ2V0Qm9yZGVyQ29sb3IocG9pbnRpbmdEaXJlY3Rpb24sIGZvcmVncm91bmRDb2xvciksIHtcbiAgICBib3JkZXJTdHlsZTogJ3NvbGlkJyxcbiAgICBib3JkZXJXaWR0aDogZ2V0Qm9yZGVyV2lkdGgocG9pbnRpbmdEaXJlY3Rpb24sIGhlaWdodEFuZFVuaXQsIHdpZHRoQW5kVW5pdClcbiAgfSk7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZFdyYXBgIHByb3BlcnR5LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIC4uLndvcmRXcmFwKCdicmVhay13b3JkJylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHt3b3JkV3JhcCgnYnJlYWstd29yZCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIG92ZXJmbG93V3JhcDogJ2JyZWFrLXdvcmQnLFxuICogICB3b3JkV3JhcDogJ2JyZWFrLXdvcmQnLFxuICogICB3b3JkQnJlYWs6ICdicmVhay1hbGwnLFxuICogfVxuICovXG5mdW5jdGlvbiB3b3JkV3JhcCh3cmFwKSB7XG4gIGlmICh3cmFwID09PSB2b2lkIDApIHtcbiAgICB3cmFwID0gJ2JyZWFrLXdvcmQnO1xuICB9XG5cbiAgdmFyIHdvcmRCcmVhayA9IHdyYXAgPT09ICdicmVhay13b3JkJyA/ICdicmVhay1hbGwnIDogd3JhcDtcbiAgcmV0dXJuIHtcbiAgICBvdmVyZmxvd1dyYXA6IHdyYXAsXG4gICAgd29yZFdyYXA6IHdyYXAsXG4gICAgd29yZEJyZWFrOiB3b3JkQnJlYWtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY29sb3JUb0ludChjb2xvcikge1xuICByZXR1cm4gTWF0aC5yb3VuZChjb2xvciAqIDI1NSk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb0ludChyZWQsIGdyZWVuLCBibHVlKSB7XG4gIHJldHVybiBjb2xvclRvSW50KHJlZCkgKyBcIixcIiArIGNvbG9yVG9JbnQoZ3JlZW4pICsgXCIsXCIgKyBjb2xvclRvSW50KGJsdWUpO1xufVxuXG5mdW5jdGlvbiBoc2xUb1JnYihodWUsIHNhdHVyYXRpb24sIGxpZ2h0bmVzcywgY29udmVydCkge1xuICBpZiAoY29udmVydCA9PT0gdm9pZCAwKSB7XG4gICAgY29udmVydCA9IGNvbnZlcnRUb0ludDtcbiAgfVxuXG4gIGlmIChzYXR1cmF0aW9uID09PSAwKSB7XG4gICAgLy8gYWNocm9tYXRpY1xuICAgIHJldHVybiBjb252ZXJ0KGxpZ2h0bmVzcywgbGlnaHRuZXNzLCBsaWdodG5lc3MpO1xuICB9IC8vIGZvcm11bGFlIGZyb20gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSFNMX2FuZF9IU1ZcblxuXG4gIHZhciBodWVQcmltZSA9IChodWUgJSAzNjAgKyAzNjApICUgMzYwIC8gNjA7XG4gIHZhciBjaHJvbWEgPSAoMSAtIE1hdGguYWJzKDIgKiBsaWdodG5lc3MgLSAxKSkgKiBzYXR1cmF0aW9uO1xuICB2YXIgc2Vjb25kQ29tcG9uZW50ID0gY2hyb21hICogKDEgLSBNYXRoLmFicyhodWVQcmltZSAlIDIgLSAxKSk7XG4gIHZhciByZWQgPSAwO1xuICB2YXIgZ3JlZW4gPSAwO1xuICB2YXIgYmx1ZSA9IDA7XG5cbiAgaWYgKGh1ZVByaW1lID49IDAgJiYgaHVlUHJpbWUgPCAxKSB7XG4gICAgcmVkID0gY2hyb21hO1xuICAgIGdyZWVuID0gc2Vjb25kQ29tcG9uZW50O1xuICB9IGVsc2UgaWYgKGh1ZVByaW1lID49IDEgJiYgaHVlUHJpbWUgPCAyKSB7XG4gICAgcmVkID0gc2Vjb25kQ29tcG9uZW50O1xuICAgIGdyZWVuID0gY2hyb21hO1xuICB9IGVsc2UgaWYgKGh1ZVByaW1lID49IDIgJiYgaHVlUHJpbWUgPCAzKSB7XG4gICAgZ3JlZW4gPSBjaHJvbWE7XG4gICAgYmx1ZSA9IHNlY29uZENvbXBvbmVudDtcbiAgfSBlbHNlIGlmIChodWVQcmltZSA+PSAzICYmIGh1ZVByaW1lIDwgNCkge1xuICAgIGdyZWVuID0gc2Vjb25kQ29tcG9uZW50O1xuICAgIGJsdWUgPSBjaHJvbWE7XG4gIH0gZWxzZSBpZiAoaHVlUHJpbWUgPj0gNCAmJiBodWVQcmltZSA8IDUpIHtcbiAgICByZWQgPSBzZWNvbmRDb21wb25lbnQ7XG4gICAgYmx1ZSA9IGNocm9tYTtcbiAgfSBlbHNlIGlmIChodWVQcmltZSA+PSA1ICYmIGh1ZVByaW1lIDwgNikge1xuICAgIHJlZCA9IGNocm9tYTtcbiAgICBibHVlID0gc2Vjb25kQ29tcG9uZW50O1xuICB9XG5cbiAgdmFyIGxpZ2h0bmVzc01vZGlmaWNhdGlvbiA9IGxpZ2h0bmVzcyAtIGNocm9tYSAvIDI7XG4gIHZhciBmaW5hbFJlZCA9IHJlZCArIGxpZ2h0bmVzc01vZGlmaWNhdGlvbjtcbiAgdmFyIGZpbmFsR3JlZW4gPSBncmVlbiArIGxpZ2h0bmVzc01vZGlmaWNhdGlvbjtcbiAgdmFyIGZpbmFsQmx1ZSA9IGJsdWUgKyBsaWdodG5lc3NNb2RpZmljYXRpb247XG4gIHJldHVybiBjb252ZXJ0KGZpbmFsUmVkLCBmaW5hbEdyZWVuLCBmaW5hbEJsdWUpO1xufVxuXG52YXIgbmFtZWRDb2xvck1hcCA9IHtcbiAgYWxpY2VibHVlOiAnZjBmOGZmJyxcbiAgYW50aXF1ZXdoaXRlOiAnZmFlYmQ3JyxcbiAgYXF1YTogJzAwZmZmZicsXG4gIGFxdWFtYXJpbmU6ICc3ZmZmZDQnLFxuICBhenVyZTogJ2YwZmZmZicsXG4gIGJlaWdlOiAnZjVmNWRjJyxcbiAgYmlzcXVlOiAnZmZlNGM0JyxcbiAgYmxhY2s6ICcwMDAnLFxuICBibGFuY2hlZGFsbW9uZDogJ2ZmZWJjZCcsXG4gIGJsdWU6ICcwMDAwZmYnLFxuICBibHVldmlvbGV0OiAnOGEyYmUyJyxcbiAgYnJvd246ICdhNTJhMmEnLFxuICBidXJseXdvb2Q6ICdkZWI4ODcnLFxuICBjYWRldGJsdWU6ICc1ZjllYTAnLFxuICBjaGFydHJldXNlOiAnN2ZmZjAwJyxcbiAgY2hvY29sYXRlOiAnZDI2OTFlJyxcbiAgY29yYWw6ICdmZjdmNTAnLFxuICBjb3JuZmxvd2VyYmx1ZTogJzY0OTVlZCcsXG4gIGNvcm5zaWxrOiAnZmZmOGRjJyxcbiAgY3JpbXNvbjogJ2RjMTQzYycsXG4gIGN5YW46ICcwMGZmZmYnLFxuICBkYXJrYmx1ZTogJzAwMDA4YicsXG4gIGRhcmtjeWFuOiAnMDA4YjhiJyxcbiAgZGFya2dvbGRlbnJvZDogJ2I4ODYwYicsXG4gIGRhcmtncmF5OiAnYTlhOWE5JyxcbiAgZGFya2dyZWVuOiAnMDA2NDAwJyxcbiAgZGFya2dyZXk6ICdhOWE5YTknLFxuICBkYXJra2hha2k6ICdiZGI3NmInLFxuICBkYXJrbWFnZW50YTogJzhiMDA4YicsXG4gIGRhcmtvbGl2ZWdyZWVuOiAnNTU2YjJmJyxcbiAgZGFya29yYW5nZTogJ2ZmOGMwMCcsXG4gIGRhcmtvcmNoaWQ6ICc5OTMyY2MnLFxuICBkYXJrcmVkOiAnOGIwMDAwJyxcbiAgZGFya3NhbG1vbjogJ2U5OTY3YScsXG4gIGRhcmtzZWFncmVlbjogJzhmYmM4ZicsXG4gIGRhcmtzbGF0ZWJsdWU6ICc0ODNkOGInLFxuICBkYXJrc2xhdGVncmF5OiAnMmY0ZjRmJyxcbiAgZGFya3NsYXRlZ3JleTogJzJmNGY0ZicsXG4gIGRhcmt0dXJxdW9pc2U6ICcwMGNlZDEnLFxuICBkYXJrdmlvbGV0OiAnOTQwMGQzJyxcbiAgZGVlcHBpbms6ICdmZjE0OTMnLFxuICBkZWVwc2t5Ymx1ZTogJzAwYmZmZicsXG4gIGRpbWdyYXk6ICc2OTY5NjknLFxuICBkaW1ncmV5OiAnNjk2OTY5JyxcbiAgZG9kZ2VyYmx1ZTogJzFlOTBmZicsXG4gIGZpcmVicmljazogJ2IyMjIyMicsXG4gIGZsb3JhbHdoaXRlOiAnZmZmYWYwJyxcbiAgZm9yZXN0Z3JlZW46ICcyMjhiMjInLFxuICBmdWNoc2lhOiAnZmYwMGZmJyxcbiAgZ2FpbnNib3JvOiAnZGNkY2RjJyxcbiAgZ2hvc3R3aGl0ZTogJ2Y4ZjhmZicsXG4gIGdvbGQ6ICdmZmQ3MDAnLFxuICBnb2xkZW5yb2Q6ICdkYWE1MjAnLFxuICBncmF5OiAnODA4MDgwJyxcbiAgZ3JlZW46ICcwMDgwMDAnLFxuICBncmVlbnllbGxvdzogJ2FkZmYyZicsXG4gIGdyZXk6ICc4MDgwODAnLFxuICBob25leWRldzogJ2YwZmZmMCcsXG4gIGhvdHBpbms6ICdmZjY5YjQnLFxuICBpbmRpYW5yZWQ6ICdjZDVjNWMnLFxuICBpbmRpZ286ICc0YjAwODInLFxuICBpdm9yeTogJ2ZmZmZmMCcsXG4gIGtoYWtpOiAnZjBlNjhjJyxcbiAgbGF2ZW5kZXI6ICdlNmU2ZmEnLFxuICBsYXZlbmRlcmJsdXNoOiAnZmZmMGY1JyxcbiAgbGF3bmdyZWVuOiAnN2NmYzAwJyxcbiAgbGVtb25jaGlmZm9uOiAnZmZmYWNkJyxcbiAgbGlnaHRibHVlOiAnYWRkOGU2JyxcbiAgbGlnaHRjb3JhbDogJ2YwODA4MCcsXG4gIGxpZ2h0Y3lhbjogJ2UwZmZmZicsXG4gIGxpZ2h0Z29sZGVucm9keWVsbG93OiAnZmFmYWQyJyxcbiAgbGlnaHRncmF5OiAnZDNkM2QzJyxcbiAgbGlnaHRncmVlbjogJzkwZWU5MCcsXG4gIGxpZ2h0Z3JleTogJ2QzZDNkMycsXG4gIGxpZ2h0cGluazogJ2ZmYjZjMScsXG4gIGxpZ2h0c2FsbW9uOiAnZmZhMDdhJyxcbiAgbGlnaHRzZWFncmVlbjogJzIwYjJhYScsXG4gIGxpZ2h0c2t5Ymx1ZTogJzg3Y2VmYScsXG4gIGxpZ2h0c2xhdGVncmF5OiAnNzg5JyxcbiAgbGlnaHRzbGF0ZWdyZXk6ICc3ODknLFxuICBsaWdodHN0ZWVsYmx1ZTogJ2IwYzRkZScsXG4gIGxpZ2h0eWVsbG93OiAnZmZmZmUwJyxcbiAgbGltZTogJzBmMCcsXG4gIGxpbWVncmVlbjogJzMyY2QzMicsXG4gIGxpbmVuOiAnZmFmMGU2JyxcbiAgbWFnZW50YTogJ2YwZicsXG4gIG1hcm9vbjogJzgwMDAwMCcsXG4gIG1lZGl1bWFxdWFtYXJpbmU6ICc2NmNkYWEnLFxuICBtZWRpdW1ibHVlOiAnMDAwMGNkJyxcbiAgbWVkaXVtb3JjaGlkOiAnYmE1NWQzJyxcbiAgbWVkaXVtcHVycGxlOiAnOTM3MGRiJyxcbiAgbWVkaXVtc2VhZ3JlZW46ICczY2IzNzEnLFxuICBtZWRpdW1zbGF0ZWJsdWU6ICc3YjY4ZWUnLFxuICBtZWRpdW1zcHJpbmdncmVlbjogJzAwZmE5YScsXG4gIG1lZGl1bXR1cnF1b2lzZTogJzQ4ZDFjYycsXG4gIG1lZGl1bXZpb2xldHJlZDogJ2M3MTU4NScsXG4gIG1pZG5pZ2h0Ymx1ZTogJzE5MTk3MCcsXG4gIG1pbnRjcmVhbTogJ2Y1ZmZmYScsXG4gIG1pc3R5cm9zZTogJ2ZmZTRlMScsXG4gIG1vY2Nhc2luOiAnZmZlNGI1JyxcbiAgbmF2YWpvd2hpdGU6ICdmZmRlYWQnLFxuICBuYXZ5OiAnMDAwMDgwJyxcbiAgb2xkbGFjZTogJ2ZkZjVlNicsXG4gIG9saXZlOiAnODA4MDAwJyxcbiAgb2xpdmVkcmFiOiAnNmI4ZTIzJyxcbiAgb3JhbmdlOiAnZmZhNTAwJyxcbiAgb3JhbmdlcmVkOiAnZmY0NTAwJyxcbiAgb3JjaGlkOiAnZGE3MGQ2JyxcbiAgcGFsZWdvbGRlbnJvZDogJ2VlZThhYScsXG4gIHBhbGVncmVlbjogJzk4ZmI5OCcsXG4gIHBhbGV0dXJxdW9pc2U6ICdhZmVlZWUnLFxuICBwYWxldmlvbGV0cmVkOiAnZGI3MDkzJyxcbiAgcGFwYXlhd2hpcDogJ2ZmZWZkNScsXG4gIHBlYWNocHVmZjogJ2ZmZGFiOScsXG4gIHBlcnU6ICdjZDg1M2YnLFxuICBwaW5rOiAnZmZjMGNiJyxcbiAgcGx1bTogJ2RkYTBkZCcsXG4gIHBvd2RlcmJsdWU6ICdiMGUwZTYnLFxuICBwdXJwbGU6ICc4MDAwODAnLFxuICByZWJlY2NhcHVycGxlOiAnNjM5JyxcbiAgcmVkOiAnZjAwJyxcbiAgcm9zeWJyb3duOiAnYmM4ZjhmJyxcbiAgcm95YWxibHVlOiAnNDE2OWUxJyxcbiAgc2FkZGxlYnJvd246ICc4YjQ1MTMnLFxuICBzYWxtb246ICdmYTgwNzInLFxuICBzYW5keWJyb3duOiAnZjRhNDYwJyxcbiAgc2VhZ3JlZW46ICcyZThiNTcnLFxuICBzZWFzaGVsbDogJ2ZmZjVlZScsXG4gIHNpZW5uYTogJ2EwNTIyZCcsXG4gIHNpbHZlcjogJ2MwYzBjMCcsXG4gIHNreWJsdWU6ICc4N2NlZWInLFxuICBzbGF0ZWJsdWU6ICc2YTVhY2QnLFxuICBzbGF0ZWdyYXk6ICc3MDgwOTAnLFxuICBzbGF0ZWdyZXk6ICc3MDgwOTAnLFxuICBzbm93OiAnZmZmYWZhJyxcbiAgc3ByaW5nZ3JlZW46ICcwMGZmN2YnLFxuICBzdGVlbGJsdWU6ICc0NjgyYjQnLFxuICB0YW46ICdkMmI0OGMnLFxuICB0ZWFsOiAnMDA4MDgwJyxcbiAgdGhpc3RsZTogJ2Q4YmZkOCcsXG4gIHRvbWF0bzogJ2ZmNjM0NycsXG4gIHR1cnF1b2lzZTogJzQwZTBkMCcsXG4gIHZpb2xldDogJ2VlODJlZScsXG4gIHdoZWF0OiAnZjVkZWIzJyxcbiAgd2hpdGU6ICdmZmYnLFxuICB3aGl0ZXNtb2tlOiAnZjVmNWY1JyxcbiAgeWVsbG93OiAnZmYwJyxcbiAgeWVsbG93Z3JlZW46ICc5YWNkMzInXG59O1xuLyoqXG4gKiBDaGVja3MgaWYgYSBzdHJpbmcgaXMgYSBDU1MgbmFtZWQgY29sb3IgYW5kIHJldHVybnMgaXRzIGVxdWl2YWxlbnQgaGV4IHZhbHVlLCBvdGhlcndpc2UgcmV0dXJucyB0aGUgb3JpZ2luYWwgY29sb3IuXG4gKiBAcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIG5hbWVUb0hleChjb2xvcikge1xuICBpZiAodHlwZW9mIGNvbG9yICE9PSAnc3RyaW5nJykgcmV0dXJuIGNvbG9yO1xuICB2YXIgbm9ybWFsaXplZENvbG9yTmFtZSA9IGNvbG9yLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiBuYW1lZENvbG9yTWFwW25vcm1hbGl6ZWRDb2xvck5hbWVdID8gXCIjXCIgKyBuYW1lZENvbG9yTWFwW25vcm1hbGl6ZWRDb2xvck5hbWVdIDogY29sb3I7XG59XG5cbnZhciBoZXhSZWdleCA9IC9eI1thLWZBLUYwLTldezZ9JC87XG52YXIgaGV4UmdiYVJlZ2V4ID0gL14jW2EtZkEtRjAtOV17OH0kLztcbnZhciByZWR1Y2VkSGV4UmVnZXggPSAvXiNbYS1mQS1GMC05XXszfSQvO1xudmFyIHJlZHVjZWRSZ2JhSGV4UmVnZXggPSAvXiNbYS1mQS1GMC05XXs0fSQvO1xudmFyIHJnYlJlZ2V4ID0gL15yZ2JcXChcXHMqKFxcZHsxLDN9KVxccyosXFxzKihcXGR7MSwzfSlcXHMqLFxccyooXFxkezEsM30pXFxzKlxcKSQvaTtcbnZhciByZ2JhUmVnZXggPSAvXnJnYmFcXChcXHMqKFxcZHsxLDN9KVxccyosXFxzKihcXGR7MSwzfSlcXHMqLFxccyooXFxkezEsM30pXFxzKixcXHMqKFstK10/WzAtOV0qWy5dP1swLTldKylcXHMqXFwpJC9pO1xudmFyIGhzbFJlZ2V4ID0gL15oc2xcXChcXHMqKFxcZHswLDN9Wy5dP1swLTldKylcXHMqLFxccyooXFxkezEsM31bLl0/WzAtOV0/KSVcXHMqLFxccyooXFxkezEsM31bLl0/WzAtOV0/KSVcXHMqXFwpJC9pO1xudmFyIGhzbGFSZWdleCA9IC9eaHNsYVxcKFxccyooXFxkezAsM31bLl0/WzAtOV0rKVxccyosXFxzKihcXGR7MSwzfVsuXT9bMC05XT8pJVxccyosXFxzKihcXGR7MSwzfVsuXT9bMC05XT8pJVxccyosXFxzKihbLStdP1swLTldKlsuXT9bMC05XSspXFxzKlxcKSQvaTtcbi8qKlxuICogUmV0dXJucyBhbiBSZ2JDb2xvciBvciBSZ2JhQ29sb3Igb2JqZWN0LiBUaGlzIHV0aWxpdHkgZnVuY3Rpb24gaXMgb25seSB1c2VmdWxcbiAqIGlmIHdhbnQgdG8gZXh0cmFjdCBhIGNvbG9yIGNvbXBvbmVudC4gV2l0aCB0aGUgY29sb3IgdXRpbCBgdG9Db2xvclN0cmluZ2AgeW91XG4gKiBjYW4gY29udmVydCBhIFJnYkNvbG9yIG9yIFJnYmFDb2xvciBvYmplY3QgYmFjayB0byBhIHN0cmluZy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQXNzaWducyBgeyByZWQ6IDI1NSwgZ3JlZW46IDAsIGJsdWU6IDAgfWAgdG8gY29sb3IxXG4gKiBjb25zdCBjb2xvcjEgPSBwYXJzZVRvUmdiKCdyZ2IoMjU1LCAwLCAwKScpO1xuICogLy8gQXNzaWducyBgeyByZWQ6IDkyLCBncmVlbjogMTAyLCBibHVlOiAxMTIsIGFscGhhOiAwLjc1IH1gIHRvIGNvbG9yMlxuICogY29uc3QgY29sb3IyID0gcGFyc2VUb1JnYignaHNsYSgyMTAsIDEwJSwgNDAlLCAwLjc1KScpO1xuICovXG5cbmZ1bmN0aW9uIHBhcnNlVG9SZ2IoY29sb3IpIHtcbiAgaWYgKHR5cGVvZiBjb2xvciAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcigzKTtcbiAgfVxuXG4gIHZhciBub3JtYWxpemVkQ29sb3IgPSBuYW1lVG9IZXgoY29sb3IpO1xuXG4gIGlmIChub3JtYWxpemVkQ29sb3IubWF0Y2goaGV4UmVnZXgpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlZDogcGFyc2VJbnQoXCJcIiArIG5vcm1hbGl6ZWRDb2xvclsxXSArIG5vcm1hbGl6ZWRDb2xvclsyXSwgMTYpLFxuICAgICAgZ3JlZW46IHBhcnNlSW50KFwiXCIgKyBub3JtYWxpemVkQ29sb3JbM10gKyBub3JtYWxpemVkQ29sb3JbNF0sIDE2KSxcbiAgICAgIGJsdWU6IHBhcnNlSW50KFwiXCIgKyBub3JtYWxpemVkQ29sb3JbNV0gKyBub3JtYWxpemVkQ29sb3JbNl0sIDE2KVxuICAgIH07XG4gIH1cblxuICBpZiAobm9ybWFsaXplZENvbG9yLm1hdGNoKGhleFJnYmFSZWdleCkpIHtcbiAgICB2YXIgYWxwaGEgPSBwYXJzZUZsb2F0KChwYXJzZUludChcIlwiICsgbm9ybWFsaXplZENvbG9yWzddICsgbm9ybWFsaXplZENvbG9yWzhdLCAxNikgLyAyNTUpLnRvRml4ZWQoMikpO1xuICAgIHJldHVybiB7XG4gICAgICByZWQ6IHBhcnNlSW50KFwiXCIgKyBub3JtYWxpemVkQ29sb3JbMV0gKyBub3JtYWxpemVkQ29sb3JbMl0sIDE2KSxcbiAgICAgIGdyZWVuOiBwYXJzZUludChcIlwiICsgbm9ybWFsaXplZENvbG9yWzNdICsgbm9ybWFsaXplZENvbG9yWzRdLCAxNiksXG4gICAgICBibHVlOiBwYXJzZUludChcIlwiICsgbm9ybWFsaXplZENvbG9yWzVdICsgbm9ybWFsaXplZENvbG9yWzZdLCAxNiksXG4gICAgICBhbHBoYTogYWxwaGFcbiAgICB9O1xuICB9XG5cbiAgaWYgKG5vcm1hbGl6ZWRDb2xvci5tYXRjaChyZWR1Y2VkSGV4UmVnZXgpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlZDogcGFyc2VJbnQoXCJcIiArIG5vcm1hbGl6ZWRDb2xvclsxXSArIG5vcm1hbGl6ZWRDb2xvclsxXSwgMTYpLFxuICAgICAgZ3JlZW46IHBhcnNlSW50KFwiXCIgKyBub3JtYWxpemVkQ29sb3JbMl0gKyBub3JtYWxpemVkQ29sb3JbMl0sIDE2KSxcbiAgICAgIGJsdWU6IHBhcnNlSW50KFwiXCIgKyBub3JtYWxpemVkQ29sb3JbM10gKyBub3JtYWxpemVkQ29sb3JbM10sIDE2KVxuICAgIH07XG4gIH1cblxuICBpZiAobm9ybWFsaXplZENvbG9yLm1hdGNoKHJlZHVjZWRSZ2JhSGV4UmVnZXgpKSB7XG4gICAgdmFyIF9hbHBoYSA9IHBhcnNlRmxvYXQoKHBhcnNlSW50KFwiXCIgKyBub3JtYWxpemVkQ29sb3JbNF0gKyBub3JtYWxpemVkQ29sb3JbNF0sIDE2KSAvIDI1NSkudG9GaXhlZCgyKSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcmVkOiBwYXJzZUludChcIlwiICsgbm9ybWFsaXplZENvbG9yWzFdICsgbm9ybWFsaXplZENvbG9yWzFdLCAxNiksXG4gICAgICBncmVlbjogcGFyc2VJbnQoXCJcIiArIG5vcm1hbGl6ZWRDb2xvclsyXSArIG5vcm1hbGl6ZWRDb2xvclsyXSwgMTYpLFxuICAgICAgYmx1ZTogcGFyc2VJbnQoXCJcIiArIG5vcm1hbGl6ZWRDb2xvclszXSArIG5vcm1hbGl6ZWRDb2xvclszXSwgMTYpLFxuICAgICAgYWxwaGE6IF9hbHBoYVxuICAgIH07XG4gIH1cblxuICB2YXIgcmdiTWF0Y2hlZCA9IHJnYlJlZ2V4LmV4ZWMobm9ybWFsaXplZENvbG9yKTtcblxuICBpZiAocmdiTWF0Y2hlZCkge1xuICAgIHJldHVybiB7XG4gICAgICByZWQ6IHBhcnNlSW50KFwiXCIgKyByZ2JNYXRjaGVkWzFdLCAxMCksXG4gICAgICBncmVlbjogcGFyc2VJbnQoXCJcIiArIHJnYk1hdGNoZWRbMl0sIDEwKSxcbiAgICAgIGJsdWU6IHBhcnNlSW50KFwiXCIgKyByZ2JNYXRjaGVkWzNdLCAxMClcbiAgICB9O1xuICB9XG5cbiAgdmFyIHJnYmFNYXRjaGVkID0gcmdiYVJlZ2V4LmV4ZWMobm9ybWFsaXplZENvbG9yLnN1YnN0cmluZygwLCA1MCkpO1xuXG4gIGlmIChyZ2JhTWF0Y2hlZCkge1xuICAgIHJldHVybiB7XG4gICAgICByZWQ6IHBhcnNlSW50KFwiXCIgKyByZ2JhTWF0Y2hlZFsxXSwgMTApLFxuICAgICAgZ3JlZW46IHBhcnNlSW50KFwiXCIgKyByZ2JhTWF0Y2hlZFsyXSwgMTApLFxuICAgICAgYmx1ZTogcGFyc2VJbnQoXCJcIiArIHJnYmFNYXRjaGVkWzNdLCAxMCksXG4gICAgICBhbHBoYTogcGFyc2VGbG9hdChcIlwiICsgcmdiYU1hdGNoZWRbNF0pXG4gICAgfTtcbiAgfVxuXG4gIHZhciBoc2xNYXRjaGVkID0gaHNsUmVnZXguZXhlYyhub3JtYWxpemVkQ29sb3IpO1xuXG4gIGlmIChoc2xNYXRjaGVkKSB7XG4gICAgdmFyIGh1ZSA9IHBhcnNlSW50KFwiXCIgKyBoc2xNYXRjaGVkWzFdLCAxMCk7XG4gICAgdmFyIHNhdHVyYXRpb24gPSBwYXJzZUludChcIlwiICsgaHNsTWF0Y2hlZFsyXSwgMTApIC8gMTAwO1xuICAgIHZhciBsaWdodG5lc3MgPSBwYXJzZUludChcIlwiICsgaHNsTWF0Y2hlZFszXSwgMTApIC8gMTAwO1xuICAgIHZhciByZ2JDb2xvclN0cmluZyA9IFwicmdiKFwiICsgaHNsVG9SZ2IoaHVlLCBzYXR1cmF0aW9uLCBsaWdodG5lc3MpICsgXCIpXCI7XG4gICAgdmFyIGhzbFJnYk1hdGNoZWQgPSByZ2JSZWdleC5leGVjKHJnYkNvbG9yU3RyaW5nKTtcblxuICAgIGlmICghaHNsUmdiTWF0Y2hlZCkge1xuICAgICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNCwgbm9ybWFsaXplZENvbG9yLCByZ2JDb2xvclN0cmluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJlZDogcGFyc2VJbnQoXCJcIiArIGhzbFJnYk1hdGNoZWRbMV0sIDEwKSxcbiAgICAgIGdyZWVuOiBwYXJzZUludChcIlwiICsgaHNsUmdiTWF0Y2hlZFsyXSwgMTApLFxuICAgICAgYmx1ZTogcGFyc2VJbnQoXCJcIiArIGhzbFJnYk1hdGNoZWRbM10sIDEwKVxuICAgIH07XG4gIH1cblxuICB2YXIgaHNsYU1hdGNoZWQgPSBoc2xhUmVnZXguZXhlYyhub3JtYWxpemVkQ29sb3Iuc3Vic3RyaW5nKDAsIDUwKSk7XG5cbiAgaWYgKGhzbGFNYXRjaGVkKSB7XG4gICAgdmFyIF9odWUgPSBwYXJzZUludChcIlwiICsgaHNsYU1hdGNoZWRbMV0sIDEwKTtcblxuICAgIHZhciBfc2F0dXJhdGlvbiA9IHBhcnNlSW50KFwiXCIgKyBoc2xhTWF0Y2hlZFsyXSwgMTApIC8gMTAwO1xuXG4gICAgdmFyIF9saWdodG5lc3MgPSBwYXJzZUludChcIlwiICsgaHNsYU1hdGNoZWRbM10sIDEwKSAvIDEwMDtcblxuICAgIHZhciBfcmdiQ29sb3JTdHJpbmcgPSBcInJnYihcIiArIGhzbFRvUmdiKF9odWUsIF9zYXR1cmF0aW9uLCBfbGlnaHRuZXNzKSArIFwiKVwiO1xuXG4gICAgdmFyIF9oc2xSZ2JNYXRjaGVkID0gcmdiUmVnZXguZXhlYyhfcmdiQ29sb3JTdHJpbmcpO1xuXG4gICAgaWYgKCFfaHNsUmdiTWF0Y2hlZCkge1xuICAgICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNCwgbm9ybWFsaXplZENvbG9yLCBfcmdiQ29sb3JTdHJpbmcpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICByZWQ6IHBhcnNlSW50KFwiXCIgKyBfaHNsUmdiTWF0Y2hlZFsxXSwgMTApLFxuICAgICAgZ3JlZW46IHBhcnNlSW50KFwiXCIgKyBfaHNsUmdiTWF0Y2hlZFsyXSwgMTApLFxuICAgICAgYmx1ZTogcGFyc2VJbnQoXCJcIiArIF9oc2xSZ2JNYXRjaGVkWzNdLCAxMCksXG4gICAgICBhbHBoYTogcGFyc2VGbG9hdChcIlwiICsgaHNsYU1hdGNoZWRbNF0pXG4gICAgfTtcbiAgfVxuXG4gIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDUpO1xufVxuXG5mdW5jdGlvbiByZ2JUb0hzbChjb2xvcikge1xuICAvLyBtYWtlIHN1cmUgcmdiIGFyZSBjb250YWluZWQgaW4gYSBzZXQgb2YgWzAsIDI1NV1cbiAgdmFyIHJlZCA9IGNvbG9yLnJlZCAvIDI1NTtcbiAgdmFyIGdyZWVuID0gY29sb3IuZ3JlZW4gLyAyNTU7XG4gIHZhciBibHVlID0gY29sb3IuYmx1ZSAvIDI1NTtcbiAgdmFyIG1heCA9IE1hdGgubWF4KHJlZCwgZ3JlZW4sIGJsdWUpO1xuICB2YXIgbWluID0gTWF0aC5taW4ocmVkLCBncmVlbiwgYmx1ZSk7XG4gIHZhciBsaWdodG5lc3MgPSAobWF4ICsgbWluKSAvIDI7XG5cbiAgaWYgKG1heCA9PT0gbWluKSB7XG4gICAgLy8gYWNocm9tYXRpY1xuICAgIGlmIChjb2xvci5hbHBoYSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBodWU6IDAsXG4gICAgICAgIHNhdHVyYXRpb246IDAsXG4gICAgICAgIGxpZ2h0bmVzczogbGlnaHRuZXNzLFxuICAgICAgICBhbHBoYTogY29sb3IuYWxwaGFcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGh1ZTogMCxcbiAgICAgICAgc2F0dXJhdGlvbjogMCxcbiAgICAgICAgbGlnaHRuZXNzOiBsaWdodG5lc3NcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgdmFyIGh1ZTtcbiAgdmFyIGRlbHRhID0gbWF4IC0gbWluO1xuICB2YXIgc2F0dXJhdGlvbiA9IGxpZ2h0bmVzcyA+IDAuNSA/IGRlbHRhIC8gKDIgLSBtYXggLSBtaW4pIDogZGVsdGEgLyAobWF4ICsgbWluKTtcblxuICBzd2l0Y2ggKG1heCkge1xuICAgIGNhc2UgcmVkOlxuICAgICAgaHVlID0gKGdyZWVuIC0gYmx1ZSkgLyBkZWx0YSArIChncmVlbiA8IGJsdWUgPyA2IDogMCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgZ3JlZW46XG4gICAgICBodWUgPSAoYmx1ZSAtIHJlZCkgLyBkZWx0YSArIDI7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICAvLyBibHVlIGNhc2VcbiAgICAgIGh1ZSA9IChyZWQgLSBncmVlbikgLyBkZWx0YSArIDQ7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIGh1ZSAqPSA2MDtcblxuICBpZiAoY29sb3IuYWxwaGEgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7XG4gICAgICBodWU6IGh1ZSxcbiAgICAgIHNhdHVyYXRpb246IHNhdHVyYXRpb24sXG4gICAgICBsaWdodG5lc3M6IGxpZ2h0bmVzcyxcbiAgICAgIGFscGhhOiBjb2xvci5hbHBoYVxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGh1ZTogaHVlLFxuICAgIHNhdHVyYXRpb246IHNhdHVyYXRpb24sXG4gICAgbGlnaHRuZXNzOiBsaWdodG5lc3NcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIEhzbENvbG9yIG9yIEhzbGFDb2xvciBvYmplY3QuIFRoaXMgdXRpbGl0eSBmdW5jdGlvbiBpcyBvbmx5IHVzZWZ1bFxuICogaWYgd2FudCB0byBleHRyYWN0IGEgY29sb3IgY29tcG9uZW50LiBXaXRoIHRoZSBjb2xvciB1dGlsIGB0b0NvbG9yU3RyaW5nYCB5b3VcbiAqIGNhbiBjb252ZXJ0IGEgSHNsQ29sb3Igb3IgSHNsYUNvbG9yIG9iamVjdCBiYWNrIHRvIGEgc3RyaW5nLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBc3NpZ25zIGB7IGh1ZTogMCwgc2F0dXJhdGlvbjogMSwgbGlnaHRuZXNzOiAwLjUgfWAgdG8gY29sb3IxXG4gKiBjb25zdCBjb2xvcjEgPSBwYXJzZVRvSHNsKCdyZ2IoMjU1LCAwLCAwKScpO1xuICogLy8gQXNzaWducyBgeyBodWU6IDEyOCwgc2F0dXJhdGlvbjogMSwgbGlnaHRuZXNzOiAwLjUsIGFscGhhOiAwLjc1IH1gIHRvIGNvbG9yMlxuICogY29uc3QgY29sb3IyID0gcGFyc2VUb0hzbCgnaHNsYSgxMjgsIDEwMCUsIDUwJSwgMC43NSknKTtcbiAqL1xuZnVuY3Rpb24gcGFyc2VUb0hzbChjb2xvcikge1xuICAvLyBOb3RlOiBBdCBhIGxhdGVyIHN0YWdlIHdlIGNhbiBvcHRpbWl6ZSB0aGlzIGZ1bmN0aW9uIGFzIHJpZ2h0IG5vdyBhIGhzbFxuICAvLyBjb2xvciB3b3VsZCBiZSBwYXJzZWQgY29udmVydGVkIHRvIHJnYiB2YWx1ZXMgYW5kIGNvbnZlcnRlZCBiYWNrIHRvIGhzbC5cbiAgcmV0dXJuIHJnYlRvSHNsKHBhcnNlVG9SZ2IoY29sb3IpKTtcbn1cblxuLyoqXG4gKiBSZWR1Y2VzIGhleCB2YWx1ZXMgaWYgcG9zc2libGUgZS5nLiAjZmY4ODY2IHRvICNmODZcbiAqIEBwcml2YXRlXG4gKi9cbnZhciByZWR1Y2VIZXhWYWx1ZSA9IGZ1bmN0aW9uIHJlZHVjZUhleFZhbHVlKHZhbHVlKSB7XG4gIGlmICh2YWx1ZS5sZW5ndGggPT09IDcgJiYgdmFsdWVbMV0gPT09IHZhbHVlWzJdICYmIHZhbHVlWzNdID09PSB2YWx1ZVs0XSAmJiB2YWx1ZVs1XSA9PT0gdmFsdWVbNl0pIHtcbiAgICByZXR1cm4gXCIjXCIgKyB2YWx1ZVsxXSArIHZhbHVlWzNdICsgdmFsdWVbNV07XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59O1xuXG5mdW5jdGlvbiBudW1iZXJUb0hleCh2YWx1ZSkge1xuICB2YXIgaGV4ID0gdmFsdWUudG9TdHJpbmcoMTYpO1xuICByZXR1cm4gaGV4Lmxlbmd0aCA9PT0gMSA/IFwiMFwiICsgaGV4IDogaGV4O1xufVxuXG5mdW5jdGlvbiBjb2xvclRvSGV4KGNvbG9yKSB7XG4gIHJldHVybiBudW1iZXJUb0hleChNYXRoLnJvdW5kKGNvbG9yICogMjU1KSk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUb0hleChyZWQsIGdyZWVuLCBibHVlKSB7XG4gIHJldHVybiByZWR1Y2VIZXhWYWx1ZShcIiNcIiArIGNvbG9yVG9IZXgocmVkKSArIGNvbG9yVG9IZXgoZ3JlZW4pICsgY29sb3JUb0hleChibHVlKSk7XG59XG5cbmZ1bmN0aW9uIGhzbFRvSGV4KGh1ZSwgc2F0dXJhdGlvbiwgbGlnaHRuZXNzKSB7XG4gIHJldHVybiBoc2xUb1JnYihodWUsIHNhdHVyYXRpb24sIGxpZ2h0bmVzcywgY29udmVydFRvSGV4KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc3RyaW5nIHZhbHVlIGZvciB0aGUgY29sb3IuIFRoZSByZXR1cm5lZCByZXN1bHQgaXMgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIGhleCBub3RhdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiBoc2woMzU5LCAwLjc1LCAwLjQpLFxuICogICBiYWNrZ3JvdW5kOiBoc2woeyBodWU6IDM2MCwgc2F0dXJhdGlvbjogMC43NSwgbGlnaHRuZXNzOiAwLjQgfSksXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmQ6ICR7aHNsKDM1OSwgMC43NSwgMC40KX07XG4gKiAgIGJhY2tncm91bmQ6ICR7aHNsKHsgaHVlOiAzNjAsIHNhdHVyYXRpb246IDAuNzUsIGxpZ2h0bmVzczogMC40IH0pfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgIGJhY2tncm91bmQ6IFwiI2IzMTkxY1wiO1xuICogICBiYWNrZ3JvdW5kOiBcIiNiMzE5MWNcIjtcbiAqIH1cbiAqL1xuZnVuY3Rpb24gaHNsKHZhbHVlLCBzYXR1cmF0aW9uLCBsaWdodG5lc3MpIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHNhdHVyYXRpb24gPT09ICdudW1iZXInICYmIHR5cGVvZiBsaWdodG5lc3MgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIGhzbFRvSGV4KHZhbHVlLCBzYXR1cmF0aW9uLCBsaWdodG5lc3MpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgc2F0dXJhdGlvbiA9PT0gdW5kZWZpbmVkICYmIGxpZ2h0bmVzcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGhzbFRvSGV4KHZhbHVlLmh1ZSwgdmFsdWUuc2F0dXJhdGlvbiwgdmFsdWUubGlnaHRuZXNzKTtcbiAgfVxuXG4gIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDEpO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBzdHJpbmcgdmFsdWUgZm9yIHRoZSBjb2xvci4gVGhlIHJldHVybmVkIHJlc3VsdCBpcyB0aGUgc21hbGxlc3QgcG9zc2libGUgcmdiYSBvciBoZXggbm90YXRpb24uXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgYmFja2dyb3VuZDogaHNsYSgzNTksIDAuNzUsIDAuNCwgMC43KSxcbiAqICAgYmFja2dyb3VuZDogaHNsYSh7IGh1ZTogMzYwLCBzYXR1cmF0aW9uOiAwLjc1LCBsaWdodG5lc3M6IDAuNCwgYWxwaGE6IDAsNyB9KSxcbiAqICAgYmFja2dyb3VuZDogaHNsYSgzNTksIDAuNzUsIDAuNCwgMSksXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmQ6ICR7aHNsYSgzNTksIDAuNzUsIDAuNCwgMC43KX07XG4gKiAgIGJhY2tncm91bmQ6ICR7aHNsYSh7IGh1ZTogMzYwLCBzYXR1cmF0aW9uOiAwLjc1LCBsaWdodG5lc3M6IDAuNCwgYWxwaGE6IDAsNyB9KX07XG4gKiAgIGJhY2tncm91bmQ6ICR7aHNsYSgzNTksIDAuNzUsIDAuNCwgMSl9O1xuICogYFxuICpcbiAqIC8vIENTUyBpbiBKUyBPdXRwdXRcbiAqXG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDE3OSwyNSwyOCwwLjcpXCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgxNzksMjUsMjgsMC43KVwiO1xuICogICBiYWNrZ3JvdW5kOiBcIiNiMzE5MWNcIjtcbiAqIH1cbiAqL1xuZnVuY3Rpb24gaHNsYSh2YWx1ZSwgc2F0dXJhdGlvbiwgbGlnaHRuZXNzLCBhbHBoYSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB0eXBlb2Ygc2F0dXJhdGlvbiA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGxpZ2h0bmVzcyA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGFscGhhID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiBhbHBoYSA+PSAxID8gaHNsVG9IZXgodmFsdWUsIHNhdHVyYXRpb24sIGxpZ2h0bmVzcykgOiBcInJnYmEoXCIgKyBoc2xUb1JnYih2YWx1ZSwgc2F0dXJhdGlvbiwgbGlnaHRuZXNzKSArIFwiLFwiICsgYWxwaGEgKyBcIilcIjtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHNhdHVyYXRpb24gPT09IHVuZGVmaW5lZCAmJiBsaWdodG5lc3MgPT09IHVuZGVmaW5lZCAmJiBhbHBoYSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHZhbHVlLmFscGhhID49IDEgPyBoc2xUb0hleCh2YWx1ZS5odWUsIHZhbHVlLnNhdHVyYXRpb24sIHZhbHVlLmxpZ2h0bmVzcykgOiBcInJnYmEoXCIgKyBoc2xUb1JnYih2YWx1ZS5odWUsIHZhbHVlLnNhdHVyYXRpb24sIHZhbHVlLmxpZ2h0bmVzcykgKyBcIixcIiArIHZhbHVlLmFscGhhICsgXCIpXCI7XG4gIH1cblxuICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcigyKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc3RyaW5nIHZhbHVlIGZvciB0aGUgY29sb3IuIFRoZSByZXR1cm5lZCByZXN1bHQgaXMgdGhlIHNtYWxsZXN0IHBvc3NpYmxlIGhleCBub3RhdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyMDUsIDEwMCksXG4gKiAgIGJhY2tncm91bmQ6IHJnYih7IHJlZDogMjU1LCBncmVlbjogMjA1LCBibHVlOiAxMDAgfSksXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmQ6ICR7cmdiKDI1NSwgMjA1LCAxMDApfTtcbiAqICAgYmFja2dyb3VuZDogJHtyZ2IoeyByZWQ6IDI1NSwgZ3JlZW46IDIwNSwgYmx1ZTogMTAwIH0pfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgIGJhY2tncm91bmQ6IFwiI2ZmY2Q2NFwiO1xuICogICBiYWNrZ3JvdW5kOiBcIiNmZmNkNjRcIjtcbiAqIH1cbiAqL1xuZnVuY3Rpb24gcmdiKHZhbHVlLCBncmVlbiwgYmx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgZ3JlZW4gPT09ICdudW1iZXInICYmIHR5cGVvZiBibHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiByZWR1Y2VIZXhWYWx1ZShcIiNcIiArIG51bWJlclRvSGV4KHZhbHVlKSArIG51bWJlclRvSGV4KGdyZWVuKSArIG51bWJlclRvSGV4KGJsdWUpKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIGdyZWVuID09PSB1bmRlZmluZWQgJiYgYmx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHJlZHVjZUhleFZhbHVlKFwiI1wiICsgbnVtYmVyVG9IZXgodmFsdWUucmVkKSArIG51bWJlclRvSGV4KHZhbHVlLmdyZWVuKSArIG51bWJlclRvSGV4KHZhbHVlLmJsdWUpKTtcbiAgfVxuXG4gIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDYpO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBzdHJpbmcgdmFsdWUgZm9yIHRoZSBjb2xvci4gVGhlIHJldHVybmVkIHJlc3VsdCBpcyB0aGUgc21hbGxlc3QgcG9zc2libGUgcmdiYSBvciBoZXggbm90YXRpb24uXG4gKlxuICogQ2FuIGFsc28gYmUgdXNlZCB0byBmYWRlIGEgY29sb3IgYnkgcGFzc2luZyBhIGhleCB2YWx1ZSBvciBuYW1lZCBDU1MgY29sb3IgYWxvbmcgd2l0aCBhbiBhbHBoYSB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjA1LCAxMDAsIDAuNyksXG4gKiAgIGJhY2tncm91bmQ6IHJnYmEoeyByZWQ6IDI1NSwgZ3JlZW46IDIwNSwgYmx1ZTogMTAwLCBhbHBoYTogMC43IH0pLFxuICogICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjA1LCAxMDAsIDEpLFxuICogICBiYWNrZ3JvdW5kOiByZ2JhKCcjZmZmZmZmJywgMC40KSxcbiAqICAgYmFja2dyb3VuZDogcmdiYSgnYmxhY2snLCAwLjcpLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke3JnYmEoMjU1LCAyMDUsIDEwMCwgMC43KX07XG4gKiAgIGJhY2tncm91bmQ6ICR7cmdiYSh7IHJlZDogMjU1LCBncmVlbjogMjA1LCBibHVlOiAxMDAsIGFscGhhOiAwLjcgfSl9O1xuICogICBiYWNrZ3JvdW5kOiAke3JnYmEoMjU1LCAyMDUsIDEwMCwgMSl9O1xuICogICBiYWNrZ3JvdW5kOiAke3JnYmEoJyNmZmZmZmYnLCAwLjQpfTtcbiAqICAgYmFja2dyb3VuZDogJHtyZ2JhKCdibGFjaycsIDAuNyl9O1xuICogYFxuICpcbiAqIC8vIENTUyBpbiBKUyBPdXRwdXRcbiAqXG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDI1NSwyMDUsMTAwLDAuNylcIjtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDI1NSwyMDUsMTAwLDAuNylcIjtcbiAqICAgYmFja2dyb3VuZDogXCIjZmZjZDY0XCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgyNTUsMjU1LDI1NSwwLjQpXCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgwLDAsMCwwLjcpXCI7XG4gKiB9XG4gKi9cbmZ1bmN0aW9uIHJnYmEoZmlyc3RWYWx1ZSwgc2Vjb25kVmFsdWUsIHRoaXJkVmFsdWUsIGZvdXJ0aFZhbHVlKSB7XG4gIGlmICh0eXBlb2YgZmlyc3RWYWx1ZSA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIHNlY29uZFZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHZhciByZ2JWYWx1ZSA9IHBhcnNlVG9SZ2IoZmlyc3RWYWx1ZSk7XG4gICAgcmV0dXJuIFwicmdiYShcIiArIHJnYlZhbHVlLnJlZCArIFwiLFwiICsgcmdiVmFsdWUuZ3JlZW4gKyBcIixcIiArIHJnYlZhbHVlLmJsdWUgKyBcIixcIiArIHNlY29uZFZhbHVlICsgXCIpXCI7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGZpcnN0VmFsdWUgPT09ICdudW1iZXInICYmIHR5cGVvZiBzZWNvbmRWYWx1ZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHRoaXJkVmFsdWUgPT09ICdudW1iZXInICYmIHR5cGVvZiBmb3VydGhWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gZm91cnRoVmFsdWUgPj0gMSA/IHJnYihmaXJzdFZhbHVlLCBzZWNvbmRWYWx1ZSwgdGhpcmRWYWx1ZSkgOiBcInJnYmEoXCIgKyBmaXJzdFZhbHVlICsgXCIsXCIgKyBzZWNvbmRWYWx1ZSArIFwiLFwiICsgdGhpcmRWYWx1ZSArIFwiLFwiICsgZm91cnRoVmFsdWUgKyBcIilcIjtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZmlyc3RWYWx1ZSA9PT0gJ29iamVjdCcgJiYgc2Vjb25kVmFsdWUgPT09IHVuZGVmaW5lZCAmJiB0aGlyZFZhbHVlID09PSB1bmRlZmluZWQgJiYgZm91cnRoVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBmaXJzdFZhbHVlLmFscGhhID49IDEgPyByZ2IoZmlyc3RWYWx1ZS5yZWQsIGZpcnN0VmFsdWUuZ3JlZW4sIGZpcnN0VmFsdWUuYmx1ZSkgOiBcInJnYmEoXCIgKyBmaXJzdFZhbHVlLnJlZCArIFwiLFwiICsgZmlyc3RWYWx1ZS5ncmVlbiArIFwiLFwiICsgZmlyc3RWYWx1ZS5ibHVlICsgXCIsXCIgKyBmaXJzdFZhbHVlLmFscGhhICsgXCIpXCI7XG4gIH1cblxuICB0aHJvdyBuZXcgUG9saXNoZWRFcnJvcig3KTtcbn1cblxudmFyIGlzUmdiID0gZnVuY3Rpb24gaXNSZ2IoY29sb3IpIHtcbiAgcmV0dXJuIHR5cGVvZiBjb2xvci5yZWQgPT09ICdudW1iZXInICYmIHR5cGVvZiBjb2xvci5ncmVlbiA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGNvbG9yLmJsdWUgPT09ICdudW1iZXInICYmICh0eXBlb2YgY29sb3IuYWxwaGEgIT09ICdudW1iZXInIHx8IHR5cGVvZiBjb2xvci5hbHBoYSA9PT0gJ3VuZGVmaW5lZCcpO1xufTtcblxudmFyIGlzUmdiYSA9IGZ1bmN0aW9uIGlzUmdiYShjb2xvcikge1xuICByZXR1cm4gdHlwZW9mIGNvbG9yLnJlZCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGNvbG9yLmdyZWVuID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgY29sb3IuYmx1ZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGNvbG9yLmFscGhhID09PSAnbnVtYmVyJztcbn07XG5cbnZhciBpc0hzbCA9IGZ1bmN0aW9uIGlzSHNsKGNvbG9yKSB7XG4gIHJldHVybiB0eXBlb2YgY29sb3IuaHVlID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgY29sb3Iuc2F0dXJhdGlvbiA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGNvbG9yLmxpZ2h0bmVzcyA9PT0gJ251bWJlcicgJiYgKHR5cGVvZiBjb2xvci5hbHBoYSAhPT0gJ251bWJlcicgfHwgdHlwZW9mIGNvbG9yLmFscGhhID09PSAndW5kZWZpbmVkJyk7XG59O1xuXG52YXIgaXNIc2xhID0gZnVuY3Rpb24gaXNIc2xhKGNvbG9yKSB7XG4gIHJldHVybiB0eXBlb2YgY29sb3IuaHVlID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgY29sb3Iuc2F0dXJhdGlvbiA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGNvbG9yLmxpZ2h0bmVzcyA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGNvbG9yLmFscGhhID09PSAnbnVtYmVyJztcbn07XG4vKipcbiAqIENvbnZlcnRzIGEgUmdiQ29sb3IsIFJnYmFDb2xvciwgSHNsQ29sb3Igb3IgSHNsYUNvbG9yIG9iamVjdCB0byBhIGNvbG9yIHN0cmluZy5cbiAqIFRoaXMgdXRpbCBpcyB1c2VmdWwgaW4gY2FzZSB5b3Ugb25seSBrbm93IG9uIHJ1bnRpbWUgd2hpY2ggY29sb3Igb2JqZWN0IGlzXG4gKiB1c2VkLiBPdGhlcndpc2Ugd2UgcmVjb21tZW5kIHRvIHJlbHkgb24gYHJnYmAsIGByZ2JhYCwgYGhzbGAgb3IgYGhzbGFgLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGJhY2tncm91bmQ6IHRvQ29sb3JTdHJpbmcoeyByZWQ6IDI1NSwgZ3JlZW46IDIwNSwgYmx1ZTogMTAwIH0pLFxuICogICBiYWNrZ3JvdW5kOiB0b0NvbG9yU3RyaW5nKHsgcmVkOiAyNTUsIGdyZWVuOiAyMDUsIGJsdWU6IDEwMCwgYWxwaGE6IDAuNzIgfSksXG4gKiAgIGJhY2tncm91bmQ6IHRvQ29sb3JTdHJpbmcoeyBodWU6IDI0MCwgc2F0dXJhdGlvbjogMSwgbGlnaHRuZXNzOiAwLjUgfSksXG4gKiAgIGJhY2tncm91bmQ6IHRvQ29sb3JTdHJpbmcoeyBodWU6IDM2MCwgc2F0dXJhdGlvbjogMC43NSwgbGlnaHRuZXNzOiAwLjQsIGFscGhhOiAwLjcyIH0pLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke3RvQ29sb3JTdHJpbmcoeyByZWQ6IDI1NSwgZ3JlZW46IDIwNSwgYmx1ZTogMTAwIH0pfTtcbiAqICAgYmFja2dyb3VuZDogJHt0b0NvbG9yU3RyaW5nKHsgcmVkOiAyNTUsIGdyZWVuOiAyMDUsIGJsdWU6IDEwMCwgYWxwaGE6IDAuNzIgfSl9O1xuICogICBiYWNrZ3JvdW5kOiAke3RvQ29sb3JTdHJpbmcoeyBodWU6IDI0MCwgc2F0dXJhdGlvbjogMSwgbGlnaHRuZXNzOiAwLjUgfSl9O1xuICogICBiYWNrZ3JvdW5kOiAke3RvQ29sb3JTdHJpbmcoeyBodWU6IDM2MCwgc2F0dXJhdGlvbjogMC43NSwgbGlnaHRuZXNzOiAwLjQsIGFscGhhOiAwLjcyIH0pfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCIjZmZjZDY0XCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgyNTUsMjA1LDEwMCwwLjcyKVwiO1xuICogICBiYWNrZ3JvdW5kOiBcIiMwMGZcIjtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDE3OSwyNSwyNSwwLjcyKVwiO1xuICogfVxuICovXG5cblxuZnVuY3Rpb24gdG9Db2xvclN0cmluZyhjb2xvcikge1xuICBpZiAodHlwZW9mIGNvbG9yICE9PSAnb2JqZWN0JykgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoOCk7XG4gIGlmIChpc1JnYmEoY29sb3IpKSByZXR1cm4gcmdiYShjb2xvcik7XG4gIGlmIChpc1JnYihjb2xvcikpIHJldHVybiByZ2IoY29sb3IpO1xuICBpZiAoaXNIc2xhKGNvbG9yKSkgcmV0dXJuIGhzbGEoY29sb3IpO1xuICBpZiAoaXNIc2woY29sb3IpKSByZXR1cm4gaHNsKGNvbG9yKTtcbiAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoOCk7XG59XG5cbi8vIFR5cGUgZGVmaW5pdGlvbnMgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZ2NhbnRpL2Zsb3ctc3RhdGljLWxhbmQvYmxvYi9tYXN0ZXIvc3JjL0Z1bi5qc1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZWRlY2xhcmVcbmZ1bmN0aW9uIGN1cnJpZWQoZiwgbGVuZ3RoLCBhY2MpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGZuKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItcmVzdC1wYXJhbXNcbiAgICB2YXIgY29tYmluZWQgPSBhY2MuY29uY2F0KEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpO1xuICAgIHJldHVybiBjb21iaW5lZC5sZW5ndGggPj0gbGVuZ3RoID8gZi5hcHBseSh0aGlzLCBjb21iaW5lZCkgOiBjdXJyaWVkKGYsIGxlbmd0aCwgY29tYmluZWQpO1xuICB9O1xufSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVkZWNsYXJlXG5cblxuZnVuY3Rpb24gY3VycnkoZikge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXJlZGVjbGFyZVxuICByZXR1cm4gY3VycmllZChmLCBmLmxlbmd0aCwgW10pO1xufVxuXG4vKipcbiAqIENoYW5nZXMgdGhlIGh1ZSBvZiB0aGUgY29sb3IuIEh1ZSBpcyBhIG51bWJlciBiZXR3ZWVuIDAgdG8gMzYwLiBUaGUgZmlyc3RcbiAqIGFyZ3VtZW50IGZvciBhZGp1c3RIdWUgaXMgdGhlIGFtb3VudCBvZiBkZWdyZWVzIHRoZSBjb2xvciBpcyByb3RhdGVkIGFyb3VuZFxuICogdGhlIGNvbG9yIHdoZWVsLCBhbHdheXMgcHJvZHVjaW5nIGEgcG9zaXRpdmUgaHVlIHZhbHVlLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGJhY2tncm91bmQ6IGFkanVzdEh1ZSgxODAsICcjNDQ4JyksXG4gKiAgIGJhY2tncm91bmQ6IGFkanVzdEh1ZSgnMTgwJywgJ3JnYmEoMTAxLDEwMCwyMDUsMC43KScpLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke2FkanVzdEh1ZSgxODAsICcjNDQ4Jyl9O1xuICogICBiYWNrZ3JvdW5kOiAke2FkanVzdEh1ZSgnMTgwJywgJ3JnYmEoMTAxLDEwMCwyMDUsMC43KScpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCIjODg4ODQ0XCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgxMzYsMTM2LDY4LDAuNylcIjtcbiAqIH1cbiAqL1xuXG5mdW5jdGlvbiBhZGp1c3RIdWUoZGVncmVlLCBjb2xvcikge1xuICBpZiAoY29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHJldHVybiBjb2xvcjtcbiAgdmFyIGhzbENvbG9yID0gcGFyc2VUb0hzbChjb2xvcik7XG4gIHJldHVybiB0b0NvbG9yU3RyaW5nKF9leHRlbmRzKHt9LCBoc2xDb2xvciwge1xuICAgIGh1ZTogaHNsQ29sb3IuaHVlICsgcGFyc2VGbG9hdChkZWdyZWUpXG4gIH0pKTtcbn0gLy8gcHJldHRpZXItaWdub3JlXG5cblxudmFyIGN1cnJpZWRBZGp1c3RIdWUgPSAvKiNfX1BVUkVfXyovY3Vycnlcbi8qIDo6PG51bWJlciB8IHN0cmluZywgc3RyaW5nLCBzdHJpbmc+ICovXG4oYWRqdXN0SHVlKTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjb21wbGVtZW50IG9mIHRoZSBwcm92aWRlZCBjb2xvci4gVGhpcyBpcyBpZGVudGljYWwgdG8gYWRqdXN0SHVlKDE4MCwgPGNvbG9yPikuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgYmFja2dyb3VuZDogY29tcGxlbWVudCgnIzQ0OCcpLFxuICogICBiYWNrZ3JvdW5kOiBjb21wbGVtZW50KCdyZ2JhKDIwNCwyMDUsMTAwLDAuNyknKSxcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgYmFja2dyb3VuZDogJHtjb21wbGVtZW50KCcjNDQ4Jyl9O1xuICogICBiYWNrZ3JvdW5kOiAke2NvbXBsZW1lbnQoJ3JnYmEoMjA0LDIwNSwxMDAsMC43KScpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCIjODg0XCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgxNTMsMTUzLDE1MywwLjcpXCI7XG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gY29tcGxlbWVudChjb2xvcikge1xuICBpZiAoY29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHJldHVybiBjb2xvcjtcbiAgdmFyIGhzbENvbG9yID0gcGFyc2VUb0hzbChjb2xvcik7XG4gIHJldHVybiB0b0NvbG9yU3RyaW5nKF9leHRlbmRzKHt9LCBoc2xDb2xvciwge1xuICAgIGh1ZTogKGhzbENvbG9yLmh1ZSArIDE4MCkgJSAzNjBcbiAgfSkpO1xufVxuXG5mdW5jdGlvbiBndWFyZChsb3dlckJvdW5kYXJ5LCB1cHBlckJvdW5kYXJ5LCB2YWx1ZSkge1xuICByZXR1cm4gTWF0aC5tYXgobG93ZXJCb3VuZGFyeSwgTWF0aC5taW4odXBwZXJCb3VuZGFyeSwgdmFsdWUpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc3RyaW5nIHZhbHVlIGZvciB0aGUgZGFya2VuZWQgY29sb3IuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgYmFja2dyb3VuZDogZGFya2VuKDAuMiwgJyNGRkNENjQnKSxcbiAqICAgYmFja2dyb3VuZDogZGFya2VuKCcwLjInLCAncmdiYSgyNTUsMjA1LDEwMCwwLjcpJyksXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmQ6ICR7ZGFya2VuKDAuMiwgJyNGRkNENjQnKX07XG4gKiAgIGJhY2tncm91bmQ6ICR7ZGFya2VuKCcwLjInLCAncmdiYSgyNTUsMjA1LDEwMCwwLjcpJyl9O1xuICogYFxuICpcbiAqIC8vIENTUyBpbiBKUyBPdXRwdXRcbiAqXG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCIjZmZiZDMxXCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgyNTUsMTg5LDQ5LDAuNylcIjtcbiAqIH1cbiAqL1xuXG5mdW5jdGlvbiBkYXJrZW4oYW1vdW50LCBjb2xvcikge1xuICBpZiAoY29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHJldHVybiBjb2xvcjtcbiAgdmFyIGhzbENvbG9yID0gcGFyc2VUb0hzbChjb2xvcik7XG4gIHJldHVybiB0b0NvbG9yU3RyaW5nKF9leHRlbmRzKHt9LCBoc2xDb2xvciwge1xuICAgIGxpZ2h0bmVzczogZ3VhcmQoMCwgMSwgaHNsQ29sb3IubGlnaHRuZXNzIC0gcGFyc2VGbG9hdChhbW91bnQpKVxuICB9KSk7XG59IC8vIHByZXR0aWVyLWlnbm9yZVxuXG5cbnZhciBjdXJyaWVkRGFya2VuID0gLyojX19QVVJFX18qL2N1cnJ5XG4vKiA6OjxudW1iZXIgfCBzdHJpbmcsIHN0cmluZywgc3RyaW5nPiAqL1xuKGRhcmtlbik7XG5cbi8qKlxuICogRGVjcmVhc2VzIHRoZSBpbnRlbnNpdHkgb2YgYSBjb2xvci4gSXRzIHJhbmdlIGlzIGJldHdlZW4gMCB0byAxLiBUaGUgZmlyc3RcbiAqIGFyZ3VtZW50IG9mIHRoZSBkZXNhdHVyYXRlIGZ1bmN0aW9uIGlzIHRoZSBhbW91bnQgYnkgaG93IG11Y2ggdGhlIGNvbG9yXG4gKiBpbnRlbnNpdHkgc2hvdWxkIGJlIGRlY3JlYXNlZC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiBkZXNhdHVyYXRlKDAuMiwgJyNDQ0NENjQnKSxcbiAqICAgYmFja2dyb3VuZDogZGVzYXR1cmF0ZSgnMC4yJywgJ3JnYmEoMjA0LDIwNSwxMDAsMC43KScpLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke2Rlc2F0dXJhdGUoMC4yLCAnI0NDQ0Q2NCcpfTtcbiAqICAgYmFja2dyb3VuZDogJHtkZXNhdHVyYXRlKCcwLjInLCAncmdiYSgyMDQsMjA1LDEwMCwwLjcpJyl9O1xuICogYFxuICpcbiAqIC8vIENTUyBpbiBKUyBPdXRwdXRcbiAqIGVsZW1lbnQge1xuICogICBiYWNrZ3JvdW5kOiBcIiNiOGI5NzlcIjtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDE4NCwxODUsMTIxLDAuNylcIjtcbiAqIH1cbiAqL1xuXG5mdW5jdGlvbiBkZXNhdHVyYXRlKGFtb3VudCwgY29sb3IpIHtcbiAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSByZXR1cm4gY29sb3I7XG4gIHZhciBoc2xDb2xvciA9IHBhcnNlVG9Ic2woY29sb3IpO1xuICByZXR1cm4gdG9Db2xvclN0cmluZyhfZXh0ZW5kcyh7fSwgaHNsQ29sb3IsIHtcbiAgICBzYXR1cmF0aW9uOiBndWFyZCgwLCAxLCBoc2xDb2xvci5zYXR1cmF0aW9uIC0gcGFyc2VGbG9hdChhbW91bnQpKVxuICB9KSk7XG59IC8vIHByZXR0aWVyLWlnbm9yZVxuXG5cbnZhciBjdXJyaWVkRGVzYXR1cmF0ZSA9IC8qI19fUFVSRV9fKi9jdXJyeVxuLyogOjo8bnVtYmVyIHwgc3RyaW5nLCBzdHJpbmcsIHN0cmluZz4gKi9cbihkZXNhdHVyYXRlKTtcblxuLyoqXG4gKiBSZXR1cm5zIGEgbnVtYmVyIChmbG9hdCkgcmVwcmVzZW50aW5nIHRoZSBsdW1pbmFuY2Ugb2YgYSBjb2xvci5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiBnZXRMdW1pbmFuY2UoJyNDQ0NENjQnKSA+PSBnZXRMdW1pbmFuY2UoJyMwMDAwZmYnKSA/ICcjQ0NDRDY0JyA6ICcjMDAwMGZmJyxcbiAqICAgYmFja2dyb3VuZDogZ2V0THVtaW5hbmNlKCdyZ2JhKDU4LCAxMzMsIDI1NSwgMSknKSA+PSBnZXRMdW1pbmFuY2UoJ3JnYmEoMjU1LCA1NywgMTQ5LCAxKScpID9cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmdiYSg1OCwgMTMzLCAyNTUsIDEpJyA6XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYmEoMjU1LCA1NywgMTQ5LCAxKScsXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmQ6ICR7Z2V0THVtaW5hbmNlKCcjQ0NDRDY0JykgPj0gZ2V0THVtaW5hbmNlKCcjMDAwMGZmJykgPyAnI0NDQ0Q2NCcgOiAnIzAwMDBmZid9O1xuICogICBiYWNrZ3JvdW5kOiAke2dldEx1bWluYW5jZSgncmdiYSg1OCwgMTMzLCAyNTUsIDEpJykgPj0gZ2V0THVtaW5hbmNlKCdyZ2JhKDI1NSwgNTcsIDE0OSwgMSknKSA/XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYmEoNTgsIDEzMywgMjU1LCAxKScgOlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZ2JhKDI1NSwgNTcsIDE0OSwgMSknfTtcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZGl2IHtcbiAqICAgYmFja2dyb3VuZDogXCIjQ0NDRDY0XCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSg1OCwgMTMzLCAyNTUsIDEpXCI7XG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gZ2V0THVtaW5hbmNlKGNvbG9yKSB7XG4gIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50JykgcmV0dXJuIDA7XG4gIHZhciByZ2JDb2xvciA9IHBhcnNlVG9SZ2IoY29sb3IpO1xuXG4gIHZhciBfT2JqZWN0JGtleXMkbWFwID0gT2JqZWN0LmtleXMocmdiQ29sb3IpLm1hcChmdW5jdGlvbiAoa2V5KSB7XG4gICAgdmFyIGNoYW5uZWwgPSByZ2JDb2xvcltrZXldIC8gMjU1O1xuICAgIHJldHVybiBjaGFubmVsIDw9IDAuMDM5MjggPyBjaGFubmVsIC8gMTIuOTIgOiBNYXRoLnBvdygoY2hhbm5lbCArIDAuMDU1KSAvIDEuMDU1LCAyLjQpO1xuICB9KSxcbiAgICAgIHIgPSBfT2JqZWN0JGtleXMkbWFwWzBdLFxuICAgICAgZyA9IF9PYmplY3Qka2V5cyRtYXBbMV0sXG4gICAgICBiID0gX09iamVjdCRrZXlzJG1hcFsyXTtcblxuICByZXR1cm4gcGFyc2VGbG9hdCgoMC4yMTI2ICogciArIDAuNzE1MiAqIGcgKyAwLjA3MjIgKiBiKS50b0ZpeGVkKDMpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBjb250cmFzdCByYXRpbyBiZXR3ZWVuIHR3byBjb2xvcnMgYmFzZWQgb25cbiAqIFtXMydzIHJlY29tbWVuZGVkIGVxdWF0aW9uIGZvciBjYWxjdWxhdGluZyBjb250cmFzdF0oaHR0cDovL3d3dy53My5vcmcvVFIvV0NBRzIwLyNjb250cmFzdC1yYXRpb2RlZikuXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IGNvbnRyYXN0UmF0aW8gPSBnZXRDb250cmFzdCgnIzQ0NCcsICcjZmZmJyk7XG4gKi9cblxuZnVuY3Rpb24gZ2V0Q29udHJhc3QoY29sb3IxLCBjb2xvcjIpIHtcbiAgdmFyIGx1bWluYW5jZTEgPSBnZXRMdW1pbmFuY2UoY29sb3IxKTtcbiAgdmFyIGx1bWluYW5jZTIgPSBnZXRMdW1pbmFuY2UoY29sb3IyKTtcbiAgcmV0dXJuIHBhcnNlRmxvYXQoKGx1bWluYW5jZTEgPiBsdW1pbmFuY2UyID8gKGx1bWluYW5jZTEgKyAwLjA1KSAvIChsdW1pbmFuY2UyICsgMC4wNSkgOiAobHVtaW5hbmNlMiArIDAuMDUpIC8gKGx1bWluYW5jZTEgKyAwLjA1KSkudG9GaXhlZCgyKSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgdGhlIGNvbG9yIHRvIGEgZ3JheXNjYWxlLCBieSByZWR1Y2luZyBpdHMgc2F0dXJhdGlvbiB0byAwLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGJhY2tncm91bmQ6IGdyYXlzY2FsZSgnI0NDQ0Q2NCcpLFxuICogICBiYWNrZ3JvdW5kOiBncmF5c2NhbGUoJ3JnYmEoMjA0LDIwNSwxMDAsMC43KScpLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke2dyYXlzY2FsZSgnI0NDQ0Q2NCcpfTtcbiAqICAgYmFja2dyb3VuZDogJHtncmF5c2NhbGUoJ3JnYmEoMjA0LDIwNSwxMDAsMC43KScpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCIjOTk5XCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgxNTMsMTUzLDE1MywwLjcpXCI7XG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gZ3JheXNjYWxlKGNvbG9yKSB7XG4gIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50JykgcmV0dXJuIGNvbG9yO1xuICByZXR1cm4gdG9Db2xvclN0cmluZyhfZXh0ZW5kcyh7fSwgcGFyc2VUb0hzbChjb2xvciksIHtcbiAgICBzYXR1cmF0aW9uOiAwXG4gIH0pKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIEhzbENvbG9yIG9yIEhzbGFDb2xvciBvYmplY3QgdG8gYSBjb2xvciBzdHJpbmcuXG4gKiBUaGlzIHV0aWwgaXMgdXNlZnVsIGluIGNhc2UgeW91IG9ubHkga25vdyBvbiBydW50aW1lIHdoaWNoIGNvbG9yIG9iamVjdCBpc1xuICogdXNlZC4gT3RoZXJ3aXNlIHdlIHJlY29tbWVuZCB0byByZWx5IG9uIGBoc2xgIG9yIGBoc2xhYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiBoc2xUb0NvbG9yU3RyaW5nKHsgaHVlOiAyNDAsIHNhdHVyYXRpb246IDEsIGxpZ2h0bmVzczogMC41IH0pLFxuICogICBiYWNrZ3JvdW5kOiBoc2xUb0NvbG9yU3RyaW5nKHsgaHVlOiAzNjAsIHNhdHVyYXRpb246IDAuNzUsIGxpZ2h0bmVzczogMC40LCBhbHBoYTogMC43MiB9KSxcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgYmFja2dyb3VuZDogJHtoc2xUb0NvbG9yU3RyaW5nKHsgaHVlOiAyNDAsIHNhdHVyYXRpb246IDEsIGxpZ2h0bmVzczogMC41IH0pfTtcbiAqICAgYmFja2dyb3VuZDogJHtoc2xUb0NvbG9yU3RyaW5nKHsgaHVlOiAzNjAsIHNhdHVyYXRpb246IDAuNzUsIGxpZ2h0bmVzczogMC40LCBhbHBoYTogMC43MiB9KX07XG4gKiBgXG4gKlxuICogLy8gQ1NTIGluIEpTIE91dHB1dFxuICogZWxlbWVudCB7XG4gKiAgIGJhY2tncm91bmQ6IFwiIzAwZlwiO1xuICogICBiYWNrZ3JvdW5kOiBcInJnYmEoMTc5LDI1LDI1LDAuNzIpXCI7XG4gKiB9XG4gKi9cbmZ1bmN0aW9uIGhzbFRvQ29sb3JTdHJpbmcoY29sb3IpIHtcbiAgaWYgKHR5cGVvZiBjb2xvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIGNvbG9yLmh1ZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGNvbG9yLnNhdHVyYXRpb24gPT09ICdudW1iZXInICYmIHR5cGVvZiBjb2xvci5saWdodG5lc3MgPT09ICdudW1iZXInKSB7XG4gICAgaWYgKGNvbG9yLmFscGhhICYmIHR5cGVvZiBjb2xvci5hbHBoYSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBoc2xhKHtcbiAgICAgICAgaHVlOiBjb2xvci5odWUsXG4gICAgICAgIHNhdHVyYXRpb246IGNvbG9yLnNhdHVyYXRpb24sXG4gICAgICAgIGxpZ2h0bmVzczogY29sb3IubGlnaHRuZXNzLFxuICAgICAgICBhbHBoYTogY29sb3IuYWxwaGFcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBoc2woe1xuICAgICAgaHVlOiBjb2xvci5odWUsXG4gICAgICBzYXR1cmF0aW9uOiBjb2xvci5zYXR1cmF0aW9uLFxuICAgICAgbGlnaHRuZXNzOiBjb2xvci5saWdodG5lc3NcbiAgICB9KTtcbiAgfVxuXG4gIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDQ1KTtcbn1cblxuLyoqXG4gKiBJbnZlcnRzIHRoZSByZWQsIGdyZWVuIGFuZCBibHVlIHZhbHVlcyBvZiBhIGNvbG9yLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGJhY2tncm91bmQ6IGludmVydCgnI0NDQ0Q2NCcpLFxuICogICBiYWNrZ3JvdW5kOiBpbnZlcnQoJ3JnYmEoMTAxLDEwMCwyMDUsMC43KScpLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke2ludmVydCgnI0NDQ0Q2NCcpfTtcbiAqICAgYmFja2dyb3VuZDogJHtpbnZlcnQoJ3JnYmEoMTAxLDEwMCwyMDUsMC43KScpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgIGJhY2tncm91bmQ6IFwiIzMzMzI5YlwiO1xuICogICBiYWNrZ3JvdW5kOiBcInJnYmEoMTU0LDE1NSw1MCwwLjcpXCI7XG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gaW52ZXJ0KGNvbG9yKSB7XG4gIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50JykgcmV0dXJuIGNvbG9yOyAvLyBwYXJzZSBjb2xvciBzdHJpbmcgdG8gcmdiXG5cbiAgdmFyIHZhbHVlID0gcGFyc2VUb1JnYihjb2xvcik7XG4gIHJldHVybiB0b0NvbG9yU3RyaW5nKF9leHRlbmRzKHt9LCB2YWx1ZSwge1xuICAgIHJlZDogMjU1IC0gdmFsdWUucmVkLFxuICAgIGdyZWVuOiAyNTUgLSB2YWx1ZS5ncmVlbixcbiAgICBibHVlOiAyNTUgLSB2YWx1ZS5ibHVlXG4gIH0pKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc3RyaW5nIHZhbHVlIGZvciB0aGUgbGlnaHRlbmVkIGNvbG9yLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oMC4yLCAnI0NDQ0Q2NCcpLFxuICogICBiYWNrZ3JvdW5kOiBsaWdodGVuKCcwLjInLCAncmdiYSgyMDQsMjA1LDEwMCwwLjcpJyksXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmQ6ICR7bGlnaHRlbigwLjIsICcjRkZDRDY0Jyl9O1xuICogICBiYWNrZ3JvdW5kOiAke2xpZ2h0ZW4oJzAuMicsICdyZ2JhKDIwNCwyMDUsMTAwLDAuNyknKX07XG4gKiBgXG4gKlxuICogLy8gQ1NTIGluIEpTIE91dHB1dFxuICpcbiAqIGVsZW1lbnQge1xuICogICBiYWNrZ3JvdW5kOiBcIiNlNWU2YjFcIjtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDIyOSwyMzAsMTc3LDAuNylcIjtcbiAqIH1cbiAqL1xuXG5mdW5jdGlvbiBsaWdodGVuKGFtb3VudCwgY29sb3IpIHtcbiAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSByZXR1cm4gY29sb3I7XG4gIHZhciBoc2xDb2xvciA9IHBhcnNlVG9Ic2woY29sb3IpO1xuICByZXR1cm4gdG9Db2xvclN0cmluZyhfZXh0ZW5kcyh7fSwgaHNsQ29sb3IsIHtcbiAgICBsaWdodG5lc3M6IGd1YXJkKDAsIDEsIGhzbENvbG9yLmxpZ2h0bmVzcyArIHBhcnNlRmxvYXQoYW1vdW50KSlcbiAgfSkpO1xufSAvLyBwcmV0dGllci1pZ25vcmVcblxuXG52YXIgY3VycmllZExpZ2h0ZW4gPSAvKiNfX1BVUkVfXyovY3Vycnlcbi8qIDo6PG51bWJlciB8IHN0cmluZywgc3RyaW5nLCBzdHJpbmc+ICovXG4obGlnaHRlbik7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGljaCBjb250cmFzdCBndWlkZWxpbmVzIGhhdmUgYmVlbiBtZXQgZm9yIHR3byBjb2xvcnMuXG4gKiBCYXNlZCBvbiB0aGUgW2NvbnRyYXN0IGNhbGN1bGF0aW9ucyByZWNvbW1lbmRlZCBieSBXM10oaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjEvVW5kZXJzdGFuZGluZy9jb250cmFzdC1lbmhhbmNlZC5odG1sKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3Qgc2NvcmVzID0gbWVldHNDb250cmFzdEd1aWRlbGluZXMoJyM0NDQnLCAnI2ZmZicpO1xuICovXG5mdW5jdGlvbiBtZWV0c0NvbnRyYXN0R3VpZGVsaW5lcyhjb2xvcjEsIGNvbG9yMikge1xuICB2YXIgY29udHJhc3RSYXRpbyA9IGdldENvbnRyYXN0KGNvbG9yMSwgY29sb3IyKTtcbiAgcmV0dXJuIHtcbiAgICBBQTogY29udHJhc3RSYXRpbyA+PSA0LjUsXG4gICAgQUFMYXJnZTogY29udHJhc3RSYXRpbyA+PSAzLFxuICAgIEFBQTogY29udHJhc3RSYXRpbyA+PSA3LFxuICAgIEFBQUxhcmdlOiBjb250cmFzdFJhdGlvID49IDQuNVxuICB9O1xufVxuXG4vKipcbiAqIE1peGVzIHRoZSB0d28gcHJvdmlkZWQgY29sb3JzIHRvZ2V0aGVyIGJ5IGNhbGN1bGF0aW5nIHRoZSBhdmVyYWdlIG9mIGVhY2ggb2YgdGhlIFJHQiBjb21wb25lbnRzIHdlaWdodGVkIHRvIHRoZSBmaXJzdCBjb2xvciBieSB0aGUgcHJvdmlkZWQgd2VpZ2h0LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGJhY2tncm91bmQ6IG1peCgwLjUsICcjZjAwJywgJyMwMGYnKVxuICogICBiYWNrZ3JvdW5kOiBtaXgoMC4yNSwgJyNmMDAnLCAnIzAwZicpXG4gKiAgIGJhY2tncm91bmQ6IG1peCgnMC41JywgJ3JnYmEoMjU1LCAwLCAwLCAwLjUpJywgJyMwMGYnKVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke21peCgwLjUsICcjZjAwJywgJyMwMGYnKX07XG4gKiAgIGJhY2tncm91bmQ6ICR7bWl4KDAuMjUsICcjZjAwJywgJyMwMGYnKX07XG4gKiAgIGJhY2tncm91bmQ6ICR7bWl4KCcwLjUnLCAncmdiYSgyNTUsIDAsIDAsIDAuNSknLCAnIzAwZicpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgIGJhY2tncm91bmQ6IFwiIzdmMDA3ZlwiO1xuICogICBiYWNrZ3JvdW5kOiBcIiMzZjAwYmZcIjtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDYzLCAwLCAxOTEsIDAuNzUpXCI7XG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gbWl4KHdlaWdodCwgY29sb3IsIG90aGVyQ29sb3IpIHtcbiAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSByZXR1cm4gb3RoZXJDb2xvcjtcbiAgaWYgKG90aGVyQ29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHJldHVybiBjb2xvcjtcbiAgaWYgKHdlaWdodCA9PT0gMCkgcmV0dXJuIG90aGVyQ29sb3I7XG4gIHZhciBwYXJzZWRDb2xvcjEgPSBwYXJzZVRvUmdiKGNvbG9yKTtcblxuICB2YXIgY29sb3IxID0gX2V4dGVuZHMoe30sIHBhcnNlZENvbG9yMSwge1xuICAgIGFscGhhOiB0eXBlb2YgcGFyc2VkQ29sb3IxLmFscGhhID09PSAnbnVtYmVyJyA/IHBhcnNlZENvbG9yMS5hbHBoYSA6IDFcbiAgfSk7XG5cbiAgdmFyIHBhcnNlZENvbG9yMiA9IHBhcnNlVG9SZ2Iob3RoZXJDb2xvcik7XG5cbiAgdmFyIGNvbG9yMiA9IF9leHRlbmRzKHt9LCBwYXJzZWRDb2xvcjIsIHtcbiAgICBhbHBoYTogdHlwZW9mIHBhcnNlZENvbG9yMi5hbHBoYSA9PT0gJ251bWJlcicgPyBwYXJzZWRDb2xvcjIuYWxwaGEgOiAxXG4gIH0pOyAvLyBUaGUgZm9ybXVsYSBpcyBjb3BpZWQgZnJvbSB0aGUgb3JpZ2luYWwgU2FzcyBpbXBsZW1lbnRhdGlvbjpcbiAgLy8gaHR0cDovL3Nhc3MtbGFuZy5jb20vZG9jdW1lbnRhdGlvbi9TYXNzL1NjcmlwdC9GdW5jdGlvbnMuaHRtbCNtaXgtaW5zdGFuY2VfbWV0aG9kXG5cblxuICB2YXIgYWxwaGFEZWx0YSA9IGNvbG9yMS5hbHBoYSAtIGNvbG9yMi5hbHBoYTtcbiAgdmFyIHggPSBwYXJzZUZsb2F0KHdlaWdodCkgKiAyIC0gMTtcbiAgdmFyIHkgPSB4ICogYWxwaGFEZWx0YSA9PT0gLTEgPyB4IDogeCArIGFscGhhRGVsdGE7XG4gIHZhciB6ID0gMSArIHggKiBhbHBoYURlbHRhO1xuICB2YXIgd2VpZ2h0MSA9ICh5IC8geiArIDEpIC8gMi4wO1xuICB2YXIgd2VpZ2h0MiA9IDEgLSB3ZWlnaHQxO1xuICB2YXIgbWl4ZWRDb2xvciA9IHtcbiAgICByZWQ6IE1hdGguZmxvb3IoY29sb3IxLnJlZCAqIHdlaWdodDEgKyBjb2xvcjIucmVkICogd2VpZ2h0MiksXG4gICAgZ3JlZW46IE1hdGguZmxvb3IoY29sb3IxLmdyZWVuICogd2VpZ2h0MSArIGNvbG9yMi5ncmVlbiAqIHdlaWdodDIpLFxuICAgIGJsdWU6IE1hdGguZmxvb3IoY29sb3IxLmJsdWUgKiB3ZWlnaHQxICsgY29sb3IyLmJsdWUgKiB3ZWlnaHQyKSxcbiAgICBhbHBoYTogY29sb3IxLmFscGhhICogKHBhcnNlRmxvYXQod2VpZ2h0KSAvIDEuMCkgKyBjb2xvcjIuYWxwaGEgKiAoMSAtIHBhcnNlRmxvYXQod2VpZ2h0KSAvIDEuMClcbiAgfTtcbiAgcmV0dXJuIHJnYmEobWl4ZWRDb2xvcik7XG59IC8vIHByZXR0aWVyLWlnbm9yZVxuXG5cbnZhciBjdXJyaWVkTWl4ID0gLyojX19QVVJFX18qL2N1cnJ5XG4vKiA6OjxudW1iZXIgfCBzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmc+ICovXG4obWl4KTtcblxuLyoqXG4gKiBJbmNyZWFzZXMgdGhlIG9wYWNpdHkgb2YgYSBjb2xvci4gSXRzIHJhbmdlIGZvciB0aGUgYW1vdW50IGlzIGJldHdlZW4gMCB0byAxLlxuICpcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiBvcGFjaWZ5KDAuMSwgJ3JnYmEoMjU1LCAyNTUsIDI1NSwgMC45KScpO1xuICogICBiYWNrZ3JvdW5kOiBvcGFjaWZ5KDAuMiwgJ2hzbGEoMCwgMCUsIDEwMCUsIDAuNSknKSxcbiAqICAgYmFja2dyb3VuZDogb3BhY2lmeSgnMC41JywgJ3JnYmEoMjU1LCAwLCAwLCAwLjIpJyksXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmQ6ICR7b3BhY2lmeSgwLjEsICdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSknKX07XG4gKiAgIGJhY2tncm91bmQ6ICR7b3BhY2lmeSgwLjIsICdoc2xhKDAsIDAlLCAxMDAlLCAwLjUpJyl9LFxuICogICBiYWNrZ3JvdW5kOiAke29wYWNpZnkoJzAuNScsICdyZ2JhKDI1NSwgMCwgMCwgMC4yKScpfSxcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgIGJhY2tncm91bmQ6IFwiI2ZmZlwiO1xuICogICBiYWNrZ3JvdW5kOiBcInJnYmEoMjU1LDI1NSwyNTUsMC43KVwiO1xuICogICBiYWNrZ3JvdW5kOiBcInJnYmEoMjU1LDAsMCwwLjcpXCI7XG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gb3BhY2lmeShhbW91bnQsIGNvbG9yKSB7XG4gIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50JykgcmV0dXJuIGNvbG9yO1xuICB2YXIgcGFyc2VkQ29sb3IgPSBwYXJzZVRvUmdiKGNvbG9yKTtcbiAgdmFyIGFscGhhID0gdHlwZW9mIHBhcnNlZENvbG9yLmFscGhhID09PSAnbnVtYmVyJyA/IHBhcnNlZENvbG9yLmFscGhhIDogMTtcblxuICB2YXIgY29sb3JXaXRoQWxwaGEgPSBfZXh0ZW5kcyh7fSwgcGFyc2VkQ29sb3IsIHtcbiAgICBhbHBoYTogZ3VhcmQoMCwgMSwgKGFscGhhICogMTAwICsgcGFyc2VGbG9hdChhbW91bnQpICogMTAwKSAvIDEwMClcbiAgfSk7XG5cbiAgcmV0dXJuIHJnYmEoY29sb3JXaXRoQWxwaGEpO1xufSAvLyBwcmV0dGllci1pZ25vcmVcblxuXG52YXIgY3VycmllZE9wYWNpZnkgPSAvKiNfX1BVUkVfXyovY3Vycnlcbi8qIDo6PG51bWJlciB8IHN0cmluZywgc3RyaW5nLCBzdHJpbmc+ICovXG4ob3BhY2lmeSk7XG5cbnZhciBkZWZhdWx0UmV0dXJuSWZMaWdodENvbG9yID0gJyMwMDAnO1xudmFyIGRlZmF1bHRSZXR1cm5JZkRhcmtDb2xvciA9ICcjZmZmJztcbi8qKlxuICogUmV0dXJucyBibGFjayBvciB3aGl0ZSAob3Igb3B0aW9uYWwgcGFzc2VkIGNvbG9ycykgZm9yIGJlc3RcbiAqIGNvbnRyYXN0IGRlcGVuZGluZyBvbiB0aGUgbHVtaW5vc2l0eSBvZiB0aGUgZ2l2ZW4gY29sb3IuXG4gKiBXaGVuIHBhc3NpbmcgY3VzdG9tIHJldHVybiBjb2xvcnMsIHN0cmljdCBtb2RlIGVuc3VyZXMgdGhhdCB0aGVcbiAqIHJldHVybiBjb2xvciBhbHdheXMgbWVldHMgb3IgZXhjZWVkcyBXQ0FHIGxldmVsIEFBIG9yIGdyZWF0ZXIuIElmIHRoaXMgdGVzdFxuICogZmFpbHMsIHRoZSBkZWZhdWx0IHJldHVybiBjb2xvciAoYmxhY2sgb3Igd2hpdGUpIGlzIHJldHVybmVkIGluIHBsYWNlIG9mIHRoZVxuICogY3VzdG9tIHJldHVybiBjb2xvci4gWW91IGNhbiBvcHRpb25hbGx5IHR1cm4gb2ZmIHN0cmljdCBtb2RlLlxuICpcbiAqIEZvbGxvd3MgW1czQyBzcGVjcyBmb3IgcmVhZGFiaWxpdHldKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE4Lmh0bWwpLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGNvbG9yOiByZWFkYWJsZUNvbG9yKCcjMDAwJyksXG4gKiAgIGNvbG9yOiByZWFkYWJsZUNvbG9yKCdibGFjaycsICcjMDAxJywgJyNmZjgnKSxcbiAqICAgY29sb3I6IHJlYWRhYmxlQ29sb3IoJ3doaXRlJywgJyMwMDEnLCAnI2ZmOCcpLFxuICogICBjb2xvcjogcmVhZGFibGVDb2xvcigncmVkJywgJyMzMzMnLCAnI2RkZCcsIHRydWUpXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGNvbG9yOiAke3JlYWRhYmxlQ29sb3IoJyMwMDAnKX07XG4gKiAgIGNvbG9yOiAke3JlYWRhYmxlQ29sb3IoJ2JsYWNrJywgJyMwMDEnLCAnI2ZmOCcpfTtcbiAqICAgY29sb3I6ICR7cmVhZGFibGVDb2xvcignd2hpdGUnLCAnIzAwMScsICcjZmY4Jyl9O1xuICogICBjb2xvcjogJHtyZWFkYWJsZUNvbG9yKCdyZWQnLCAnIzMzMycsICcjZGRkJywgdHJ1ZSl9O1xuICogYFxuICpcbiAqIC8vIENTUyBpbiBKUyBPdXRwdXRcbiAqIGVsZW1lbnQge1xuICogICBjb2xvcjogXCIjZmZmXCI7XG4gKiAgIGNvbG9yOiBcIiNmZjhcIjtcbiAqICAgY29sb3I6IFwiIzAwMVwiO1xuICogICBjb2xvcjogXCIjMDAwXCI7XG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gcmVhZGFibGVDb2xvcihjb2xvciwgcmV0dXJuSWZMaWdodENvbG9yLCByZXR1cm5JZkRhcmtDb2xvciwgc3RyaWN0KSB7XG4gIGlmIChyZXR1cm5JZkxpZ2h0Q29sb3IgPT09IHZvaWQgMCkge1xuICAgIHJldHVybklmTGlnaHRDb2xvciA9IGRlZmF1bHRSZXR1cm5JZkxpZ2h0Q29sb3I7XG4gIH1cblxuICBpZiAocmV0dXJuSWZEYXJrQ29sb3IgPT09IHZvaWQgMCkge1xuICAgIHJldHVybklmRGFya0NvbG9yID0gZGVmYXVsdFJldHVybklmRGFya0NvbG9yO1xuICB9XG5cbiAgaWYgKHN0cmljdCA9PT0gdm9pZCAwKSB7XG4gICAgc3RyaWN0ID0gdHJ1ZTtcbiAgfVxuXG4gIHZhciBpc0NvbG9yTGlnaHQgPSBnZXRMdW1pbmFuY2UoY29sb3IpID4gMC4xNzk7XG4gIHZhciBwcmVmZXJyZWRSZXR1cm5Db2xvciA9IGlzQ29sb3JMaWdodCA/IHJldHVybklmTGlnaHRDb2xvciA6IHJldHVybklmRGFya0NvbG9yO1xuXG4gIGlmICghc3RyaWN0IHx8IGdldENvbnRyYXN0KGNvbG9yLCBwcmVmZXJyZWRSZXR1cm5Db2xvcikgPj0gNC41KSB7XG4gICAgcmV0dXJuIHByZWZlcnJlZFJldHVybkNvbG9yO1xuICB9XG5cbiAgcmV0dXJuIGlzQ29sb3JMaWdodCA/IGRlZmF1bHRSZXR1cm5JZkxpZ2h0Q29sb3IgOiBkZWZhdWx0UmV0dXJuSWZEYXJrQ29sb3I7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBSZ2JDb2xvciBvciBSZ2JhQ29sb3Igb2JqZWN0IHRvIGEgY29sb3Igc3RyaW5nLlxuICogVGhpcyB1dGlsIGlzIHVzZWZ1bCBpbiBjYXNlIHlvdSBvbmx5IGtub3cgb24gcnVudGltZSB3aGljaCBjb2xvciBvYmplY3QgaXNcbiAqIHVzZWQuIE90aGVyd2lzZSB3ZSByZWNvbW1lbmQgdG8gcmVseSBvbiBgcmdiYCBvciBgcmdiYWAuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgYmFja2dyb3VuZDogcmdiVG9Db2xvclN0cmluZyh7IHJlZDogMjU1LCBncmVlbjogMjA1LCBibHVlOiAxMDAgfSksXG4gKiAgIGJhY2tncm91bmQ6IHJnYlRvQ29sb3JTdHJpbmcoeyByZWQ6IDI1NSwgZ3JlZW46IDIwNSwgYmx1ZTogMTAwLCBhbHBoYTogMC43MiB9KSxcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgYmFja2dyb3VuZDogJHtyZ2JUb0NvbG9yU3RyaW5nKHsgcmVkOiAyNTUsIGdyZWVuOiAyMDUsIGJsdWU6IDEwMCB9KX07XG4gKiAgIGJhY2tncm91bmQ6ICR7cmdiVG9Db2xvclN0cmluZyh7IHJlZDogMjU1LCBncmVlbjogMjA1LCBibHVlOiAxMDAsIGFscGhhOiAwLjcyIH0pfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCIjZmZjZDY0XCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgyNTUsMjA1LDEwMCwwLjcyKVwiO1xuICogfVxuICovXG5mdW5jdGlvbiByZ2JUb0NvbG9yU3RyaW5nKGNvbG9yKSB7XG4gIGlmICh0eXBlb2YgY29sb3IgPT09ICdvYmplY3QnICYmIHR5cGVvZiBjb2xvci5yZWQgPT09ICdudW1iZXInICYmIHR5cGVvZiBjb2xvci5ncmVlbiA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGNvbG9yLmJsdWUgPT09ICdudW1iZXInKSB7XG4gICAgaWYgKHR5cGVvZiBjb2xvci5hbHBoYSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiByZ2JhKHtcbiAgICAgICAgcmVkOiBjb2xvci5yZWQsXG4gICAgICAgIGdyZWVuOiBjb2xvci5ncmVlbixcbiAgICAgICAgYmx1ZTogY29sb3IuYmx1ZSxcbiAgICAgICAgYWxwaGE6IGNvbG9yLmFscGhhXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmdiKHtcbiAgICAgIHJlZDogY29sb3IucmVkLFxuICAgICAgZ3JlZW46IGNvbG9yLmdyZWVuLFxuICAgICAgYmx1ZTogY29sb3IuYmx1ZVxuICAgIH0pO1xuICB9XG5cbiAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNDYpO1xufVxuXG4vKipcbiAqIEluY3JlYXNlcyB0aGUgaW50ZW5zaXR5IG9mIGEgY29sb3IuIEl0cyByYW5nZSBpcyBiZXR3ZWVuIDAgdG8gMS4gVGhlIGZpcnN0XG4gKiBhcmd1bWVudCBvZiB0aGUgc2F0dXJhdGUgZnVuY3Rpb24gaXMgdGhlIGFtb3VudCBieSBob3cgbXVjaCB0aGUgY29sb3JcbiAqIGludGVuc2l0eSBzaG91bGQgYmUgaW5jcmVhc2VkLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGJhY2tncm91bmQ6IHNhdHVyYXRlKDAuMiwgJyNDQ0NENjQnKSxcbiAqICAgYmFja2dyb3VuZDogc2F0dXJhdGUoJzAuMicsICdyZ2JhKDIwNCwyMDUsMTAwLDAuNyknKSxcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgYmFja2dyb3VuZDogJHtzYXR1cmF0ZSgwLjIsICcjRkZDRDY0Jyl9O1xuICogICBiYWNrZ3JvdW5kOiAke3NhdHVyYXRlKCcwLjInLCAncmdiYSgyMDQsMjA1LDEwMCwwLjcpJyl9O1xuICogYFxuICpcbiAqIC8vIENTUyBpbiBKUyBPdXRwdXRcbiAqXG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCIjZTBlMjUwXCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgyMjQsMjI2LDgwLDAuNylcIjtcbiAqIH1cbiAqL1xuXG5mdW5jdGlvbiBzYXR1cmF0ZShhbW91bnQsIGNvbG9yKSB7XG4gIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50JykgcmV0dXJuIGNvbG9yO1xuICB2YXIgaHNsQ29sb3IgPSBwYXJzZVRvSHNsKGNvbG9yKTtcbiAgcmV0dXJuIHRvQ29sb3JTdHJpbmcoX2V4dGVuZHMoe30sIGhzbENvbG9yLCB7XG4gICAgc2F0dXJhdGlvbjogZ3VhcmQoMCwgMSwgaHNsQ29sb3Iuc2F0dXJhdGlvbiArIHBhcnNlRmxvYXQoYW1vdW50KSlcbiAgfSkpO1xufSAvLyBwcmV0dGllci1pZ25vcmVcblxuXG52YXIgY3VycmllZFNhdHVyYXRlID0gLyojX19QVVJFX18qL2N1cnJ5XG4vKiA6OjxudW1iZXIgfCBzdHJpbmcsIHN0cmluZywgc3RyaW5nPiAqL1xuKHNhdHVyYXRlKTtcblxuLyoqXG4gKiBTZXRzIHRoZSBodWUgb2YgYSBjb2xvciB0byB0aGUgcHJvdmlkZWQgdmFsdWUuIFRoZSBodWUgcmFuZ2UgY2FuIGJlXG4gKiBmcm9tIDAgYW5kIDM1OS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiBzZXRIdWUoNDIsICcjQ0NDRDY0JyksXG4gKiAgIGJhY2tncm91bmQ6IHNldEh1ZSgnMjQ0JywgJ3JnYmEoMjA0LDIwNSwxMDAsMC43KScpLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke3NldEh1ZSg0MiwgJyNDQ0NENjQnKX07XG4gKiAgIGJhY2tncm91bmQ6ICR7c2V0SHVlKCcyNDQnLCAncmdiYSgyMDQsMjA1LDEwMCwwLjcpJyl9O1xuICogYFxuICpcbiAqIC8vIENTUyBpbiBKUyBPdXRwdXRcbiAqIGVsZW1lbnQge1xuICogICBiYWNrZ3JvdW5kOiBcIiNjZGFlNjRcIjtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDEwNywxMDAsMjA1LDAuNylcIjtcbiAqIH1cbiAqL1xuXG5mdW5jdGlvbiBzZXRIdWUoaHVlLCBjb2xvcikge1xuICBpZiAoY29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHJldHVybiBjb2xvcjtcbiAgcmV0dXJuIHRvQ29sb3JTdHJpbmcoX2V4dGVuZHMoe30sIHBhcnNlVG9Ic2woY29sb3IpLCB7XG4gICAgaHVlOiBwYXJzZUZsb2F0KGh1ZSlcbiAgfSkpO1xufSAvLyBwcmV0dGllci1pZ25vcmVcblxuXG52YXIgY3VycmllZFNldEh1ZSA9IC8qI19fUFVSRV9fKi9jdXJyeVxuLyogOjo8bnVtYmVyIHwgc3RyaW5nLCBzdHJpbmcsIHN0cmluZz4gKi9cbihzZXRIdWUpO1xuXG4vKipcbiAqIFNldHMgdGhlIGxpZ2h0bmVzcyBvZiBhIGNvbG9yIHRvIHRoZSBwcm92aWRlZCB2YWx1ZS4gVGhlIGxpZ2h0bmVzcyByYW5nZSBjYW4gYmVcbiAqIGZyb20gMCBhbmQgMS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiBzZXRMaWdodG5lc3MoMC4yLCAnI0NDQ0Q2NCcpLFxuICogICBiYWNrZ3JvdW5kOiBzZXRMaWdodG5lc3MoJzAuNzUnLCAncmdiYSgyMDQsMjA1LDEwMCwwLjcpJyksXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmQ6ICR7c2V0TGlnaHRuZXNzKDAuMiwgJyNDQ0NENjQnKX07XG4gKiAgIGJhY2tncm91bmQ6ICR7c2V0TGlnaHRuZXNzKCcwLjc1JywgJ3JnYmEoMjA0LDIwNSwxMDAsMC43KScpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCIjNGQ0ZDE5XCI7XG4gKiAgIGJhY2tncm91bmQ6IFwicmdiYSgyMjMsMjI0LDE1OSwwLjcpXCI7XG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gc2V0TGlnaHRuZXNzKGxpZ2h0bmVzcywgY29sb3IpIHtcbiAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSByZXR1cm4gY29sb3I7XG4gIHJldHVybiB0b0NvbG9yU3RyaW5nKF9leHRlbmRzKHt9LCBwYXJzZVRvSHNsKGNvbG9yKSwge1xuICAgIGxpZ2h0bmVzczogcGFyc2VGbG9hdChsaWdodG5lc3MpXG4gIH0pKTtcbn0gLy8gcHJldHRpZXItaWdub3JlXG5cblxudmFyIGN1cnJpZWRTZXRMaWdodG5lc3MgPSAvKiNfX1BVUkVfXyovY3Vycnlcbi8qIDo6PG51bWJlciB8IHN0cmluZywgc3RyaW5nLCBzdHJpbmc+ICovXG4oc2V0TGlnaHRuZXNzKTtcblxuLyoqXG4gKiBTZXRzIHRoZSBzYXR1cmF0aW9uIG9mIGEgY29sb3IgdG8gdGhlIHByb3ZpZGVkIHZhbHVlLiBUaGUgc2F0dXJhdGlvbiByYW5nZSBjYW4gYmVcbiAqIGZyb20gMCBhbmQgMS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiBzZXRTYXR1cmF0aW9uKDAuMiwgJyNDQ0NENjQnKSxcbiAqICAgYmFja2dyb3VuZDogc2V0U2F0dXJhdGlvbignMC43NScsICdyZ2JhKDIwNCwyMDUsMTAwLDAuNyknKSxcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgYmFja2dyb3VuZDogJHtzZXRTYXR1cmF0aW9uKDAuMiwgJyNDQ0NENjQnKX07XG4gKiAgIGJhY2tncm91bmQ6ICR7c2V0U2F0dXJhdGlvbignMC43NScsICdyZ2JhKDIwNCwyMDUsMTAwLDAuNyknKX07XG4gKiBgXG4gKlxuICogLy8gQ1NTIGluIEpTIE91dHB1dFxuICogZWxlbWVudCB7XG4gKiAgIGJhY2tncm91bmQ6IFwiI2FkYWQ4NFwiO1xuICogICBiYWNrZ3JvdW5kOiBcInJnYmEoMjI4LDIyOSw3NiwwLjcpXCI7XG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gc2V0U2F0dXJhdGlvbihzYXR1cmF0aW9uLCBjb2xvcikge1xuICBpZiAoY29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHJldHVybiBjb2xvcjtcbiAgcmV0dXJuIHRvQ29sb3JTdHJpbmcoX2V4dGVuZHMoe30sIHBhcnNlVG9Ic2woY29sb3IpLCB7XG4gICAgc2F0dXJhdGlvbjogcGFyc2VGbG9hdChzYXR1cmF0aW9uKVxuICB9KSk7XG59IC8vIHByZXR0aWVyLWlnbm9yZVxuXG5cbnZhciBjdXJyaWVkU2V0U2F0dXJhdGlvbiA9IC8qI19fUFVSRV9fKi9jdXJyeVxuLyogOjo8bnVtYmVyIHwgc3RyaW5nLCBzdHJpbmcsIHN0cmluZz4gKi9cbihzZXRTYXR1cmF0aW9uKTtcblxuLyoqXG4gKiBTaGFkZXMgYSBjb2xvciBieSBtaXhpbmcgaXQgd2l0aCBibGFjay4gYHNoYWRlYCBjYW4gcHJvZHVjZVxuICogaHVlIHNoaWZ0cywgd2hlcmUgYXMgYGRhcmtlbmAgbWFuaXB1bGF0ZXMgdGhlIGx1bWluYW5jZSBjaGFubmVsIGFuZCB0aGVyZWZvcmVcbiAqIGRvZXNuJ3QgcHJvZHVjZSBodWUgc2hpZnRzLlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIGJhY2tncm91bmQ6IHNoYWRlKDAuMjUsICcjMDBmJylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgYmFja2dyb3VuZDogJHtzaGFkZSgwLjI1LCAnIzAwZicpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgIGJhY2tncm91bmQ6IFwiIzAwMDAzZlwiO1xuICogfVxuICovXG5cbmZ1bmN0aW9uIHNoYWRlKHBlcmNlbnRhZ2UsIGNvbG9yKSB7XG4gIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50JykgcmV0dXJuIGNvbG9yO1xuICByZXR1cm4gY3VycmllZE1peChwYXJzZUZsb2F0KHBlcmNlbnRhZ2UpLCAncmdiKDAsIDAsIDApJywgY29sb3IpO1xufSAvLyBwcmV0dGllci1pZ25vcmVcblxuXG52YXIgY3VycmllZFNoYWRlID0gLyojX19QVVJFX18qL2N1cnJ5XG4vKiA6OjxudW1iZXIgfCBzdHJpbmcsIHN0cmluZywgc3RyaW5nPiAqL1xuKHNoYWRlKTtcblxuLyoqXG4gKiBUaW50cyBhIGNvbG9yIGJ5IG1peGluZyBpdCB3aXRoIHdoaXRlLiBgdGludGAgY2FuIHByb2R1Y2VcbiAqIGh1ZSBzaGlmdHMsIHdoZXJlIGFzIGBsaWdodGVuYCBtYW5pcHVsYXRlcyB0aGUgbHVtaW5hbmNlIGNoYW5uZWwgYW5kIHRoZXJlZm9yZVxuICogZG9lc24ndCBwcm9kdWNlIGh1ZSBzaGlmdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgYmFja2dyb3VuZDogdGludCgwLjI1LCAnIzAwZicpXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgIGJhY2tncm91bmQ6ICR7dGludCgwLjI1LCAnIzAwZicpfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgaW4gSlMgT3V0cHV0XG4gKlxuICogZWxlbWVudCB7XG4gKiAgIGJhY2tncm91bmQ6IFwiI2JmYmZmZlwiO1xuICogfVxuICovXG5cbmZ1bmN0aW9uIHRpbnQocGVyY2VudGFnZSwgY29sb3IpIHtcbiAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSByZXR1cm4gY29sb3I7XG4gIHJldHVybiBjdXJyaWVkTWl4KHBhcnNlRmxvYXQocGVyY2VudGFnZSksICdyZ2IoMjU1LCAyNTUsIDI1NSknLCBjb2xvcik7XG59IC8vIHByZXR0aWVyLWlnbm9yZVxuXG5cbnZhciBjdXJyaWVkVGludCA9IC8qI19fUFVSRV9fKi9jdXJyeVxuLyogOjo8bnVtYmVyIHwgc3RyaW5nLCBzdHJpbmcsIHN0cmluZz4gKi9cbih0aW50KTtcblxuLyoqXG4gKiBEZWNyZWFzZXMgdGhlIG9wYWNpdHkgb2YgYSBjb2xvci4gSXRzIHJhbmdlIGZvciB0aGUgYW1vdW50IGlzIGJldHdlZW4gMCB0byAxLlxuICpcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgwLjEsICcjZmZmJyk7XG4gKiAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKDAuMiwgJ2hzbCgwLCAwJSwgMTAwJSknKSxcbiAqICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJzAuNScsICdyZ2JhKDI1NSwgMCwgMCwgMC44KScpLFxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICBiYWNrZ3JvdW5kOiAke3RyYW5zcGFyZW50aXplKDAuMSwgJyNmZmYnKX07XG4gKiAgIGJhY2tncm91bmQ6ICR7dHJhbnNwYXJlbnRpemUoMC4yLCAnaHNsKDAsIDAlLCAxMDAlKScpfSxcbiAqICAgYmFja2dyb3VuZDogJHt0cmFuc3BhcmVudGl6ZSgnMC41JywgJ3JnYmEoMjU1LCAwLCAwLCAwLjgpJyl9LFxuICogYFxuICpcbiAqIC8vIENTUyBpbiBKUyBPdXRwdXRcbiAqXG4gKiBlbGVtZW50IHtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDI1NSwyNTUsMjU1LDAuOSlcIjtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDI1NSwyNTUsMjU1LDAuOClcIjtcbiAqICAgYmFja2dyb3VuZDogXCJyZ2JhKDI1NSwwLDAsMC4zKVwiO1xuICogfVxuICovXG5cbmZ1bmN0aW9uIHRyYW5zcGFyZW50aXplKGFtb3VudCwgY29sb3IpIHtcbiAgaWYgKGNvbG9yID09PSAndHJhbnNwYXJlbnQnKSByZXR1cm4gY29sb3I7XG4gIHZhciBwYXJzZWRDb2xvciA9IHBhcnNlVG9SZ2IoY29sb3IpO1xuICB2YXIgYWxwaGEgPSB0eXBlb2YgcGFyc2VkQ29sb3IuYWxwaGEgPT09ICdudW1iZXInID8gcGFyc2VkQ29sb3IuYWxwaGEgOiAxO1xuXG4gIHZhciBjb2xvcldpdGhBbHBoYSA9IF9leHRlbmRzKHt9LCBwYXJzZWRDb2xvciwge1xuICAgIGFscGhhOiBndWFyZCgwLCAxLCArKGFscGhhICogMTAwIC0gcGFyc2VGbG9hdChhbW91bnQpICogMTAwKS50b0ZpeGVkKDIpIC8gMTAwKVxuICB9KTtcblxuICByZXR1cm4gcmdiYShjb2xvcldpdGhBbHBoYSk7XG59IC8vIHByZXR0aWVyLWlnbm9yZVxuXG5cbnZhciBjdXJyaWVkVHJhbnNwYXJlbnRpemUgPSAvKiNfX1BVUkVfXyovY3Vycnlcbi8qIDo6PG51bWJlciB8IHN0cmluZywgc3RyaW5nLCBzdHJpbmc+ICovXG4odHJhbnNwYXJlbnRpemUpO1xuXG4vKipcbiAqIFNob3J0aGFuZCBmb3IgZWFzaWx5IHNldHRpbmcgdGhlIGFuaW1hdGlvbiBwcm9wZXJ0eS4gQWxsb3dzIGVpdGhlciBtdWx0aXBsZSBhcnJheXMgd2l0aCBhbmltYXRpb25zXG4gKiBvciBhIHNpbmdsZSBhbmltYXRpb24gc3ByZWFkIG92ZXIgdGhlIGFyZ3VtZW50cy5cbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIC4uLmFuaW1hdGlvbihbJ3JvdGF0ZScsICcxcycsICdlYXNlLWluLW91dCddLCBbJ2NvbG9yY2hhbmdlJywgJzJzJ10pXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgICR7YW5pbWF0aW9uKFsncm90YXRlJywgJzFzJywgJ2Vhc2UtaW4tb3V0J10sIFsnY29sb3JjaGFuZ2UnLCAnMnMnXSl9XG4gKiBgXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqIGRpdiB7XG4gKiAgICdhbmltYXRpb24nOiAncm90YXRlIDFzIGVhc2UtaW4tb3V0LCBjb2xvcmNoYW5nZSAycydcbiAqIH1cbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIC4uLmFuaW1hdGlvbigncm90YXRlJywgJzFzJywgJ2Vhc2UtaW4tb3V0JylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHthbmltYXRpb24oJ3JvdGF0ZScsICcxcycsICdlYXNlLWluLW91dCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXYge1xuICogICAnYW5pbWF0aW9uJzogJ3JvdGF0ZSAxcyBlYXNlLWluLW91dCdcbiAqIH1cbiAqL1xuZnVuY3Rpb24gYW5pbWF0aW9uKCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgLy8gQWxsb3cgc2luZ2xlIG9yIG11bHRpcGxlIGFuaW1hdGlvbnMgcGFzc2VkXG4gIHZhciBtdWx0aU1vZGUgPSBBcnJheS5pc0FycmF5KGFyZ3NbMF0pO1xuXG4gIGlmICghbXVsdGlNb2RlICYmIGFyZ3MubGVuZ3RoID4gOCkge1xuICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDY0KTtcbiAgfVxuXG4gIHZhciBjb2RlID0gYXJncy5tYXAoZnVuY3Rpb24gKGFyZykge1xuICAgIGlmIChtdWx0aU1vZGUgJiYgIUFycmF5LmlzQXJyYXkoYXJnKSB8fCAhbXVsdGlNb2RlICYmIEFycmF5LmlzQXJyYXkoYXJnKSkge1xuICAgICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNjUpO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGFyZykgJiYgYXJnLmxlbmd0aCA+IDgpIHtcbiAgICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDY2KTtcbiAgICB9XG5cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShhcmcpID8gYXJnLmpvaW4oJyAnKSA6IGFyZztcbiAgfSkuam9pbignLCAnKTtcbiAgcmV0dXJuIHtcbiAgICBhbmltYXRpb246IGNvZGVcbiAgfTtcbn1cblxuLyoqXG4gKiBTaG9ydGhhbmQgdGhhdCBhY2NlcHRzIGFueSBudW1iZXIgb2YgYmFja2dyb3VuZEltYWdlIHZhbHVlcyBhcyBwYXJhbWV0ZXJzIGZvciBjcmVhdGluZyBhIHNpbmdsZSBiYWNrZ3JvdW5kIHN0YXRlbWVudC5cbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIC4uLmJhY2tncm91bmRJbWFnZXMoJ3VybChcIi9pbWFnZS9iYWNrZ3JvdW5kLmpwZ1wiKScsICdsaW5lYXItZ3JhZGllbnQocmVkLCBncmVlbiknKVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAke2JhY2tncm91bmRJbWFnZXMoJ3VybChcIi9pbWFnZS9iYWNrZ3JvdW5kLmpwZ1wiKScsICdsaW5lYXItZ3JhZGllbnQocmVkLCBncmVlbiknKX1cbiAqIGBcbiAqXG4gKiAvLyBDU1MgYXMgSlMgT3V0cHV0XG4gKlxuICogZGl2IHtcbiAqICAgJ2JhY2tncm91bmRJbWFnZSc6ICd1cmwoXCIvaW1hZ2UvYmFja2dyb3VuZC5qcGdcIiksIGxpbmVhci1ncmFkaWVudChyZWQsIGdyZWVuKSdcbiAqIH1cbiAqL1xuZnVuY3Rpb24gYmFja2dyb3VuZEltYWdlcygpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHByb3BlcnRpZXMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgcHJvcGVydGllc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYmFja2dyb3VuZEltYWdlOiBwcm9wZXJ0aWVzLmpvaW4oJywgJylcbiAgfTtcbn1cblxuLyoqXG4gKiBTaG9ydGhhbmQgdGhhdCBhY2NlcHRzIGFueSBudW1iZXIgb2YgYmFja2dyb3VuZCB2YWx1ZXMgYXMgcGFyYW1ldGVycyBmb3IgY3JlYXRpbmcgYSBzaW5nbGUgYmFja2dyb3VuZCBzdGF0ZW1lbnQuXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5iYWNrZ3JvdW5kcygndXJsKFwiL2ltYWdlL2JhY2tncm91bmQuanBnXCIpJywgJ2xpbmVhci1ncmFkaWVudChyZWQsIGdyZWVuKScsICdjZW50ZXIgbm8tcmVwZWF0JylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtiYWNrZ3JvdW5kcygndXJsKFwiL2ltYWdlL2JhY2tncm91bmQuanBnXCIpJywgJ2xpbmVhci1ncmFkaWVudChyZWQsIGdyZWVuKScsICdjZW50ZXIgbm8tcmVwZWF0Jyl9XG4gKiBgXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqIGRpdiB7XG4gKiAgICdiYWNrZ3JvdW5kJzogJ3VybChcIi9pbWFnZS9iYWNrZ3JvdW5kLmpwZ1wiKSwgbGluZWFyLWdyYWRpZW50KHJlZCwgZ3JlZW4pLCBjZW50ZXIgbm8tcmVwZWF0J1xuICogfVxuICovXG5mdW5jdGlvbiBiYWNrZ3JvdW5kcygpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHByb3BlcnRpZXMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgcHJvcGVydGllc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYmFja2dyb3VuZDogcHJvcGVydGllcy5qb2luKCcsICcpXG4gIH07XG59XG5cbnZhciBzaWRlTWFwID0gWyd0b3AnLCAncmlnaHQnLCAnYm90dG9tJywgJ2xlZnQnXTtcbi8qKlxuICogU2hvcnRoYW5kIGZvciB0aGUgYm9yZGVyIHByb3BlcnR5IHRoYXQgc3BsaXRzIG91dCBpbmRpdmlkdWFsIHByb3BlcnRpZXMgZm9yIHVzZSB3aXRoIHRvb2xzIGxpa2UgRmVsYSBhbmQgU3R5bGV0cm9uLiBBIHNpZGUga2V5d29yZCBjYW4gb3B0aW9uYWxseSBiZSBwYXNzZWQgdG8gdGFyZ2V0IG9ubHkgb25lIHNpZGUncyBib3JkZXIgcHJvcGVydGllcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5ib3JkZXIoJzFweCcsICdzb2xpZCcsICdyZWQnKVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAke2JvcmRlcignMXB4JywgJ3NvbGlkJywgJ3JlZCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXYge1xuICogICAnYm9yZGVyQ29sb3InOiAncmVkJyxcbiAqICAgJ2JvcmRlclN0eWxlJzogJ3NvbGlkJyxcbiAqICAgJ2JvcmRlcldpZHRoJzogYDFweGAsXG4gKiB9XG4gKlxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5ib3JkZXIoJ3RvcCcsICcxcHgnLCAnc29saWQnLCAncmVkJylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtib3JkZXIoJ3RvcCcsICcxcHgnLCAnc29saWQnLCAncmVkJyl9XG4gKiBgXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqIGRpdiB7XG4gKiAgICdib3JkZXJUb3BDb2xvcic6ICdyZWQnLFxuICogICAnYm9yZGVyVG9wU3R5bGUnOiAnc29saWQnLFxuICogICAnYm9yZGVyVG9wV2lkdGgnOiBgMXB4YCxcbiAqIH1cbiAqL1xuXG5mdW5jdGlvbiBib3JkZXIoc2lkZUtleXdvcmQpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHZhbHVlcyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgdmFsdWVzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIGlmICh0eXBlb2Ygc2lkZUtleXdvcmQgPT09ICdzdHJpbmcnICYmIHNpZGVNYXAuaW5kZXhPZihzaWRlS2V5d29yZCkgPj0gMCkge1xuICAgIHZhciBfcmVmO1xuXG4gICAgcmV0dXJuIF9yZWYgPSB7fSwgX3JlZltcImJvcmRlclwiICsgY2FwaXRhbGl6ZVN0cmluZyhzaWRlS2V5d29yZCkgKyBcIldpZHRoXCJdID0gdmFsdWVzWzBdLCBfcmVmW1wiYm9yZGVyXCIgKyBjYXBpdGFsaXplU3RyaW5nKHNpZGVLZXl3b3JkKSArIFwiU3R5bGVcIl0gPSB2YWx1ZXNbMV0sIF9yZWZbXCJib3JkZXJcIiArIGNhcGl0YWxpemVTdHJpbmcoc2lkZUtleXdvcmQpICsgXCJDb2xvclwiXSA9IHZhbHVlc1syXSwgX3JlZjtcbiAgfSBlbHNlIHtcbiAgICB2YWx1ZXMudW5zaGlmdChzaWRlS2V5d29yZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJvcmRlcldpZHRoOiB2YWx1ZXNbMF0sXG4gICAgICBib3JkZXJTdHlsZTogdmFsdWVzWzFdLFxuICAgICAgYm9yZGVyQ29sb3I6IHZhbHVlc1syXVxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBTaG9ydGhhbmQgdGhhdCBhY2NlcHRzIHVwIHRvIGZvdXIgdmFsdWVzLCBpbmNsdWRpbmcgbnVsbCB0byBza2lwIGEgdmFsdWUsIGFuZCBtYXBzIHRoZW0gdG8gdGhlaXIgcmVzcGVjdGl2ZSBkaXJlY3Rpb25zLlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgLi4uYm9yZGVyQ29sb3IoJ3JlZCcsICdncmVlbicsICdibHVlJywgJ3llbGxvdycpXG4gKiB9XG4gKlxuICogLy8gc3R5bGVkLWNvbXBvbmVudHMgdXNhZ2VcbiAqIGNvbnN0IGRpdiA9IHN0eWxlZC5kaXZgXG4gKiAgICR7Ym9yZGVyQ29sb3IoJ3JlZCcsICdncmVlbicsICdibHVlJywgJ3llbGxvdycpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXYge1xuICogICAnYm9yZGVyVG9wQ29sb3InOiAncmVkJyxcbiAqICAgJ2JvcmRlclJpZ2h0Q29sb3InOiAnZ3JlZW4nLFxuICogICAnYm9yZGVyQm90dG9tQ29sb3InOiAnYmx1ZScsXG4gKiAgICdib3JkZXJMZWZ0Q29sb3InOiAneWVsbG93J1xuICogfVxuICovXG5mdW5jdGlvbiBib3JkZXJDb2xvcigpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHZhbHVlcyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICB2YWx1ZXNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gZGlyZWN0aW9uYWxQcm9wZXJ0eS5hcHBseSh2b2lkIDAsIFsnYm9yZGVyQ29sb3InXS5jb25jYXQodmFsdWVzKSk7XG59XG5cbi8qKlxuICogU2hvcnRoYW5kIHRoYXQgYWNjZXB0cyBhIHZhbHVlIGZvciBzaWRlIGFuZCBhIHZhbHVlIGZvciByYWRpdXMgYW5kIGFwcGxpZXMgdGhlIHJhZGl1cyB2YWx1ZSB0byBib3RoIGNvcm5lcnMgb2YgdGhlIHNpZGUuXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5ib3JkZXJSYWRpdXMoJ3RvcCcsICc1cHgnKVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAke2JvcmRlclJhZGl1cygndG9wJywgJzVweCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXYge1xuICogICAnYm9yZGVyVG9wUmlnaHRSYWRpdXMnOiAnNXB4JyxcbiAqICAgJ2JvcmRlclRvcExlZnRSYWRpdXMnOiAnNXB4JyxcbiAqIH1cbiAqL1xuZnVuY3Rpb24gYm9yZGVyUmFkaXVzKHNpZGUsIHJhZGl1cykge1xuICB2YXIgdXBwZXJjYXNlU2lkZSA9IGNhcGl0YWxpemVTdHJpbmcoc2lkZSk7XG5cbiAgaWYgKCFyYWRpdXMgJiYgcmFkaXVzICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNjIpO1xuICB9XG5cbiAgaWYgKHVwcGVyY2FzZVNpZGUgPT09ICdUb3AnIHx8IHVwcGVyY2FzZVNpZGUgPT09ICdCb3R0b20nKSB7XG4gICAgdmFyIF9yZWY7XG5cbiAgICByZXR1cm4gX3JlZiA9IHt9LCBfcmVmW1wiYm9yZGVyXCIgKyB1cHBlcmNhc2VTaWRlICsgXCJSaWdodFJhZGl1c1wiXSA9IHJhZGl1cywgX3JlZltcImJvcmRlclwiICsgdXBwZXJjYXNlU2lkZSArIFwiTGVmdFJhZGl1c1wiXSA9IHJhZGl1cywgX3JlZjtcbiAgfVxuXG4gIGlmICh1cHBlcmNhc2VTaWRlID09PSAnTGVmdCcgfHwgdXBwZXJjYXNlU2lkZSA9PT0gJ1JpZ2h0Jykge1xuICAgIHZhciBfcmVmMjtcblxuICAgIHJldHVybiBfcmVmMiA9IHt9LCBfcmVmMltcImJvcmRlclRvcFwiICsgdXBwZXJjYXNlU2lkZSArIFwiUmFkaXVzXCJdID0gcmFkaXVzLCBfcmVmMltcImJvcmRlckJvdHRvbVwiICsgdXBwZXJjYXNlU2lkZSArIFwiUmFkaXVzXCJdID0gcmFkaXVzLCBfcmVmMjtcbiAgfVxuXG4gIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDYzKTtcbn1cblxuLyoqXG4gKiBTaG9ydGhhbmQgdGhhdCBhY2NlcHRzIHVwIHRvIGZvdXIgdmFsdWVzLCBpbmNsdWRpbmcgbnVsbCB0byBza2lwIGEgdmFsdWUsIGFuZCBtYXBzIHRoZW0gdG8gdGhlaXIgcmVzcGVjdGl2ZSBkaXJlY3Rpb25zLlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgLi4uYm9yZGVyU3R5bGUoJ3NvbGlkJywgJ2Rhc2hlZCcsICdkb3R0ZWQnLCAnZG91YmxlJylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtib3JkZXJTdHlsZSgnc29saWQnLCAnZGFzaGVkJywgJ2RvdHRlZCcsICdkb3VibGUnKX1cbiAqIGBcbiAqXG4gKiAvLyBDU1MgYXMgSlMgT3V0cHV0XG4gKlxuICogZGl2IHtcbiAqICAgJ2JvcmRlclRvcFN0eWxlJzogJ3NvbGlkJyxcbiAqICAgJ2JvcmRlclJpZ2h0U3R5bGUnOiAnZGFzaGVkJyxcbiAqICAgJ2JvcmRlckJvdHRvbVN0eWxlJzogJ2RvdHRlZCcsXG4gKiAgICdib3JkZXJMZWZ0U3R5bGUnOiAnZG91YmxlJ1xuICogfVxuICovXG5mdW5jdGlvbiBib3JkZXJTdHlsZSgpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHZhbHVlcyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICB2YWx1ZXNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gZGlyZWN0aW9uYWxQcm9wZXJ0eS5hcHBseSh2b2lkIDAsIFsnYm9yZGVyU3R5bGUnXS5jb25jYXQodmFsdWVzKSk7XG59XG5cbi8qKlxuICogU2hvcnRoYW5kIHRoYXQgYWNjZXB0cyB1cCB0byBmb3VyIHZhbHVlcywgaW5jbHVkaW5nIG51bGwgdG8gc2tpcCBhIHZhbHVlLCBhbmQgbWFwcyB0aGVtIHRvIHRoZWlyIHJlc3BlY3RpdmUgZGlyZWN0aW9ucy5cbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIC4uLmJvcmRlcldpZHRoKCcxMnB4JywgJzI0cHgnLCAnMzZweCcsICc0OHB4JylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtib3JkZXJXaWR0aCgnMTJweCcsICcyNHB4JywgJzM2cHgnLCAnNDhweCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXYge1xuICogICAnYm9yZGVyVG9wV2lkdGgnOiAnMTJweCcsXG4gKiAgICdib3JkZXJSaWdodFdpZHRoJzogJzI0cHgnLFxuICogICAnYm9yZGVyQm90dG9tV2lkdGgnOiAnMzZweCcsXG4gKiAgICdib3JkZXJMZWZ0V2lkdGgnOiAnNDhweCdcbiAqIH1cbiAqL1xuZnVuY3Rpb24gYm9yZGVyV2lkdGgoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCB2YWx1ZXMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgdmFsdWVzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuIGRpcmVjdGlvbmFsUHJvcGVydHkuYXBwbHkodm9pZCAwLCBbJ2JvcmRlcldpZHRoJ10uY29uY2F0KHZhbHVlcykpO1xufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVNlbGVjdG9ycyh0ZW1wbGF0ZSwgc3RhdGUpIHtcbiAgdmFyIHN0YXRlU3VmZml4ID0gc3RhdGUgPyBcIjpcIiArIHN0YXRlIDogJyc7XG4gIHJldHVybiB0ZW1wbGF0ZShzdGF0ZVN1ZmZpeCk7XG59XG4vKipcbiAqIEZ1bmN0aW9uIGhlbHBlciB0aGF0IGFkZHMgYW4gYXJyYXkgb2Ygc3RhdGVzIHRvIGEgdGVtcGxhdGUgb2Ygc2VsZWN0b3JzLiBVc2VkIGluIHRleHRJbnB1dHMgYW5kIGJ1dHRvbnMuXG4gKiBAcHJpdmF0ZVxuICovXG5cblxuZnVuY3Rpb24gc3RhdGVmdWxTZWxlY3RvcnMoc3RhdGVzLCB0ZW1wbGF0ZSwgc3RhdGVNYXApIHtcbiAgaWYgKCF0ZW1wbGF0ZSkgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNjcpO1xuICBpZiAoc3RhdGVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGdlbmVyYXRlU2VsZWN0b3JzKHRlbXBsYXRlLCBudWxsKTtcbiAgdmFyIHNlbGVjdG9ycyA9IFtdO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdGVzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgaWYgKHN0YXRlTWFwICYmIHN0YXRlTWFwLmluZGV4T2Yoc3RhdGVzW2ldKSA8IDApIHtcbiAgICAgIHRocm93IG5ldyBQb2xpc2hlZEVycm9yKDY4KTtcbiAgICB9XG5cbiAgICBzZWxlY3RvcnMucHVzaChnZW5lcmF0ZVNlbGVjdG9ycyh0ZW1wbGF0ZSwgc3RhdGVzW2ldKSk7XG4gIH1cblxuICBzZWxlY3RvcnMgPSBzZWxlY3RvcnMuam9pbignLCcpO1xuICByZXR1cm4gc2VsZWN0b3JzO1xufVxuXG52YXIgc3RhdGVNYXAgPSBbdW5kZWZpbmVkLCBudWxsLCAnYWN0aXZlJywgJ2ZvY3VzJywgJ2hvdmVyJ107XG5cbmZ1bmN0aW9uIHRlbXBsYXRlKHN0YXRlKSB7XG4gIHJldHVybiBcImJ1dHRvblwiICsgc3RhdGUgKyBcIixcXG4gIGlucHV0W3R5cGU9XFxcImJ1dHRvblxcXCJdXCIgKyBzdGF0ZSArIFwiLFxcbiAgaW5wdXRbdHlwZT1cXFwicmVzZXRcXFwiXVwiICsgc3RhdGUgKyBcIixcXG4gIGlucHV0W3R5cGU9XFxcInN1Ym1pdFxcXCJdXCIgKyBzdGF0ZTtcbn1cbi8qKlxuICogUG9wdWxhdGVzIHNlbGVjdG9ycyB0aGF0IHRhcmdldCBhbGwgYnV0dG9ucy4gWW91IGNhbiBwYXNzIG9wdGlvbmFsIHN0YXRlcyB0byBhcHBlbmQgdG8gdGhlIHNlbGVjdG9ycy5cbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIFtidXR0b25zKCdhY3RpdmUnKV06IHtcbiAqICAgICAnYm9yZGVyJzogJ25vbmUnXG4gKiAgIH1cbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgPiAke2J1dHRvbnMoJ2FjdGl2ZScpfSB7XG4gKiAgICAgYm9yZGVyOiBub25lO1xuICogICB9XG4gKiBgXG4gKlxuICogLy8gQ1NTIGluIEpTIE91dHB1dFxuICpcbiAqICAnYnV0dG9uOmFjdGl2ZSxcbiAqICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXG4gKiAgJ2lucHV0W3R5cGU9XFxcInJlc2V0XFxcIl06YWN0aXZlLFxuICogICdpbnB1dFt0eXBlPVxcXCJzdWJtaXRcXFwiXTphY3RpdmU6IHtcbiAqICAgJ2JvcmRlcic6ICdub25lJ1xuICogfVxuICovXG5cblxuZnVuY3Rpb24gYnV0dG9ucygpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHN0YXRlcyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBzdGF0ZXNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gc3RhdGVmdWxTZWxlY3RvcnMoc3RhdGVzLCB0ZW1wbGF0ZSwgc3RhdGVNYXApO1xufVxuXG4vKipcbiAqIFNob3J0aGFuZCB0aGF0IGFjY2VwdHMgdXAgdG8gZm91ciB2YWx1ZXMsIGluY2x1ZGluZyBudWxsIHRvIHNraXAgYSB2YWx1ZSwgYW5kIG1hcHMgdGhlbSB0byB0aGVpciByZXNwZWN0aXZlIGRpcmVjdGlvbnMuXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5tYXJnaW4oJzEycHgnLCAnMjRweCcsICczNnB4JywgJzQ4cHgnKVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAke21hcmdpbignMTJweCcsICcyNHB4JywgJzM2cHgnLCAnNDhweCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXYge1xuICogICAnbWFyZ2luVG9wJzogJzEycHgnLFxuICogICAnbWFyZ2luUmlnaHQnOiAnMjRweCcsXG4gKiAgICdtYXJnaW5Cb3R0b20nOiAnMzZweCcsXG4gKiAgICdtYXJnaW5MZWZ0JzogJzQ4cHgnXG4gKiB9XG4gKi9cbmZ1bmN0aW9uIG1hcmdpbigpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHZhbHVlcyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICB2YWx1ZXNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gZGlyZWN0aW9uYWxQcm9wZXJ0eS5hcHBseSh2b2lkIDAsIFsnbWFyZ2luJ10uY29uY2F0KHZhbHVlcykpO1xufVxuXG4vKipcbiAqIFNob3J0aGFuZCB0aGF0IGFjY2VwdHMgdXAgdG8gZm91ciB2YWx1ZXMsIGluY2x1ZGluZyBudWxsIHRvIHNraXAgYSB2YWx1ZSwgYW5kIG1hcHMgdGhlbSB0byB0aGVpciByZXNwZWN0aXZlIGRpcmVjdGlvbnMuXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi5wYWRkaW5nKCcxMnB4JywgJzI0cHgnLCAnMzZweCcsICc0OHB4JylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtwYWRkaW5nKCcxMnB4JywgJzI0cHgnLCAnMzZweCcsICc0OHB4Jyl9XG4gKiBgXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqIGRpdiB7XG4gKiAgICdwYWRkaW5nVG9wJzogJzEycHgnLFxuICogICAncGFkZGluZ1JpZ2h0JzogJzI0cHgnLFxuICogICAncGFkZGluZ0JvdHRvbSc6ICczNnB4JyxcbiAqICAgJ3BhZGRpbmdMZWZ0JzogJzQ4cHgnXG4gKiB9XG4gKi9cbmZ1bmN0aW9uIHBhZGRpbmcoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCB2YWx1ZXMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgdmFsdWVzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuIGRpcmVjdGlvbmFsUHJvcGVydHkuYXBwbHkodm9pZCAwLCBbJ3BhZGRpbmcnXS5jb25jYXQodmFsdWVzKSk7XG59XG5cbnZhciBwb3NpdGlvbk1hcCQxID0gWydhYnNvbHV0ZScsICdmaXhlZCcsICdyZWxhdGl2ZScsICdzdGF0aWMnLCAnc3RpY2t5J107XG4vKipcbiAqIFNob3J0aGFuZCBhY2NlcHRzIHVwIHRvIGZpdmUgdmFsdWVzLCBpbmNsdWRpbmcgbnVsbCB0byBza2lwIGEgdmFsdWUsIGFuZCBtYXBzIHRoZW0gdG8gdGhlaXIgcmVzcGVjdGl2ZSBkaXJlY3Rpb25zLiBUaGUgZmlyc3QgdmFsdWUgY2FuIG9wdGlvbmFsbHkgYmUgYSBwb3NpdGlvbiBrZXl3b3JkLlxuICogQGV4YW1wbGVcbiAqIC8vIFN0eWxlcyBhcyBvYmplY3QgdXNhZ2VcbiAqIGNvbnN0IHN0eWxlcyA9IHtcbiAqICAgLi4ucG9zaXRpb24oJzEycHgnLCAnMjRweCcsICczNnB4JywgJzQ4cHgnKVxuICogfVxuICpcbiAqIC8vIHN0eWxlZC1jb21wb25lbnRzIHVzYWdlXG4gKiBjb25zdCBkaXYgPSBzdHlsZWQuZGl2YFxuICogICAke3Bvc2l0aW9uKCcxMnB4JywgJzI0cHgnLCAnMzZweCcsICc0OHB4Jyl9XG4gKiBgXG4gKlxuICogLy8gQ1NTIGFzIEpTIE91dHB1dFxuICpcbiAqIGRpdiB7XG4gKiAgICd0b3AnOiAnMTJweCcsXG4gKiAgICdyaWdodCc6ICcyNHB4JyxcbiAqICAgJ2JvdHRvbSc6ICczNnB4JyxcbiAqICAgJ2xlZnQnOiAnNDhweCdcbiAqIH1cbiAqXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIC4uLnBvc2l0aW9uKCdhYnNvbHV0ZScsICcxMnB4JywgJzI0cHgnLCAnMzZweCcsICc0OHB4JylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtwb3NpdGlvbignYWJzb2x1dGUnLCAnMTJweCcsICcyNHB4JywgJzM2cHgnLCAnNDhweCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXYge1xuICogICAncG9zaXRpb24nOiAnYWJzb2x1dGUnLFxuICogICAndG9wJzogJzEycHgnLFxuICogICAncmlnaHQnOiAnMjRweCcsXG4gKiAgICdib3R0b20nOiAnMzZweCcsXG4gKiAgICdsZWZ0JzogJzQ4cHgnXG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gcG9zaXRpb24oZmlyc3RWYWx1ZSkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgdmFsdWVzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICB2YWx1ZXNbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgaWYgKHBvc2l0aW9uTWFwJDEuaW5kZXhPZihmaXJzdFZhbHVlKSA+PSAwICYmIGZpcnN0VmFsdWUpIHtcbiAgICByZXR1cm4gX2V4dGVuZHMoe30sIGRpcmVjdGlvbmFsUHJvcGVydHkuYXBwbHkodm9pZCAwLCBbJyddLmNvbmNhdCh2YWx1ZXMpKSwge1xuICAgICAgcG9zaXRpb246IGZpcnN0VmFsdWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZGlyZWN0aW9uYWxQcm9wZXJ0eS5hcHBseSh2b2lkIDAsIFsnJywgZmlyc3RWYWx1ZV0uY29uY2F0KHZhbHVlcykpO1xuICB9XG59XG5cbi8qKlxuICogU2hvcnRoYW5kIHRvIHNldCB0aGUgaGVpZ2h0IGFuZCB3aWR0aCBwcm9wZXJ0aWVzIGluIGEgc2luZ2xlIHN0YXRlbWVudC5cbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIC4uLnNpemUoJzMwMHB4JywgJzI1MHB4JylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHtzaXplKCczMDBweCcsICcyNTBweCcpfVxuICogYFxuICpcbiAqIC8vIENTUyBhcyBKUyBPdXRwdXRcbiAqXG4gKiBkaXYge1xuICogICAnaGVpZ2h0JzogJzMwMHB4JyxcbiAqICAgJ3dpZHRoJzogJzI1MHB4JyxcbiAqIH1cbiAqL1xuZnVuY3Rpb24gc2l6ZShoZWlnaHQsIHdpZHRoKSB7XG4gIGlmICh3aWR0aCA9PT0gdm9pZCAwKSB7XG4gICAgd2lkdGggPSBoZWlnaHQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhlaWdodDogaGVpZ2h0LFxuICAgIHdpZHRoOiB3aWR0aFxuICB9O1xufVxuXG52YXIgc3RhdGVNYXAkMSA9IFt1bmRlZmluZWQsIG51bGwsICdhY3RpdmUnLCAnZm9jdXMnLCAnaG92ZXInXTtcblxuZnVuY3Rpb24gdGVtcGxhdGUkMShzdGF0ZSkge1xuICByZXR1cm4gXCJpbnB1dFt0eXBlPVxcXCJjb2xvclxcXCJdXCIgKyBzdGF0ZSArIFwiLFxcbiAgICBpbnB1dFt0eXBlPVxcXCJkYXRlXFxcIl1cIiArIHN0YXRlICsgXCIsXFxuICAgIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lXFxcIl1cIiArIHN0YXRlICsgXCIsXFxuICAgIGlucHV0W3R5cGU9XFxcImRhdGV0aW1lLWxvY2FsXFxcIl1cIiArIHN0YXRlICsgXCIsXFxuICAgIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1cIiArIHN0YXRlICsgXCIsXFxuICAgIGlucHV0W3R5cGU9XFxcIm1vbnRoXFxcIl1cIiArIHN0YXRlICsgXCIsXFxuICAgIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdXCIgKyBzdGF0ZSArIFwiLFxcbiAgICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdXCIgKyBzdGF0ZSArIFwiLFxcbiAgICBpbnB1dFt0eXBlPVxcXCJzZWFyY2hcXFwiXVwiICsgc3RhdGUgKyBcIixcXG4gICAgaW5wdXRbdHlwZT1cXFwidGVsXFxcIl1cIiArIHN0YXRlICsgXCIsXFxuICAgIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVwiICsgc3RhdGUgKyBcIixcXG4gICAgaW5wdXRbdHlwZT1cXFwidGltZVxcXCJdXCIgKyBzdGF0ZSArIFwiLFxcbiAgICBpbnB1dFt0eXBlPVxcXCJ1cmxcXFwiXVwiICsgc3RhdGUgKyBcIixcXG4gICAgaW5wdXRbdHlwZT1cXFwid2Vla1xcXCJdXCIgKyBzdGF0ZSArIFwiLFxcbiAgICBpbnB1dDpub3QoW3R5cGVdKVwiICsgc3RhdGUgKyBcIixcXG4gICAgdGV4dGFyZWFcIiArIHN0YXRlO1xufVxuLyoqXG4gKiBQb3B1bGF0ZXMgc2VsZWN0b3JzIHRoYXQgdGFyZ2V0IGFsbCB0ZXh0IGlucHV0cy4gWW91IGNhbiBwYXNzIG9wdGlvbmFsIHN0YXRlcyB0byBhcHBlbmQgdG8gdGhlIHNlbGVjdG9ycy5cbiAqIEBleGFtcGxlXG4gKiAvLyBTdHlsZXMgYXMgb2JqZWN0IHVzYWdlXG4gKiBjb25zdCBzdHlsZXMgPSB7XG4gKiAgIFt0ZXh0SW5wdXRzKCdhY3RpdmUnKV06IHtcbiAqICAgICAnYm9yZGVyJzogJ25vbmUnXG4gKiAgIH1cbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgPiAke3RleHRJbnB1dHMoJ2FjdGl2ZScpfSB7XG4gKiAgICAgYm9yZGVyOiBub25lO1xuICogICB9XG4gKiBgXG4gKlxuICogLy8gQ1NTIGluIEpTIE91dHB1dFxuICpcbiAqICAnaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbiAqICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTphY3RpdmUsXG4gKiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmFjdGl2ZSxcbiAqICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuICogIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXG4gKiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmFjdGl2ZSxcbiAqICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbiAqICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06YWN0aXZlLFxuICogIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06YWN0aXZlLFxuICogIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuICogIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmFjdGl2ZSxcbiAqICBpbnB1dFt0eXBlPVwidGltZVwiXTphY3RpdmUsXG4gKiAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4gKiAgaW5wdXRbdHlwZT1cIndlZWtcIl06YWN0aXZlLFxuICogIGlucHV0Om5vdChbdHlwZV0pOmFjdGl2ZSxcbiAqICB0ZXh0YXJlYTphY3RpdmUnOiB7XG4gKiAgICdib3JkZXInOiAnbm9uZSdcbiAqIH1cbiAqL1xuXG5cbmZ1bmN0aW9uIHRleHRJbnB1dHMoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzdGF0ZXMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgc3RhdGVzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlZnVsU2VsZWN0b3JzKHN0YXRlcywgdGVtcGxhdGUkMSwgc3RhdGVNYXAkMSk7XG59XG5cbi8qKlxuICogQWNjZXB0cyBhbnkgbnVtYmVyIG9mIHRyYW5zaXRpb24gdmFsdWVzIGFzIHBhcmFtZXRlcnMgZm9yIGNyZWF0aW5nIGEgc2luZ2xlIHRyYW5zaXRpb24gc3RhdGVtZW50LiBZb3UgbWF5IGFsc28gcGFzcyBhbiBhcnJheSBvZiBwcm9wZXJ0aWVzIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIgdGhhdCB5b3Ugd291bGQgbGlrZSB0byBhcHBseSB0aGUgc2FtZSB0cmFuc2l0aW9uIHZhbHVlcyB0byAoc2Vjb25kIHBhcmFtZXRlcikuXG4gKiBAZXhhbXBsZVxuICogLy8gU3R5bGVzIGFzIG9iamVjdCB1c2FnZVxuICogY29uc3Qgc3R5bGVzID0ge1xuICogICAuLi50cmFuc2l0aW9ucygnb3BhY2l0eSAxLjBzIGVhc2UtaW4gMHMnLCAnd2lkdGggMi4wcyBlYXNlLWluIDJzJyksXG4gKiAgIC4uLnRyYW5zaXRpb25zKFsnY29sb3InLCAnYmFja2dyb3VuZC1jb2xvciddLCAnMi4wcyBlYXNlLWluIDJzJylcbiAqIH1cbiAqXG4gKiAvLyBzdHlsZWQtY29tcG9uZW50cyB1c2FnZVxuICogY29uc3QgZGl2ID0gc3R5bGVkLmRpdmBcbiAqICAgJHt0cmFuc2l0aW9ucygnb3BhY2l0eSAxLjBzIGVhc2UtaW4gMHMnLCAnd2lkdGggMi4wcyBlYXNlLWluIDJzJyl9O1xuICogICAke3RyYW5zaXRpb25zKFsnY29sb3InLCAnYmFja2dyb3VuZC1jb2xvciddLCAnMi4wcyBlYXNlLWluIDJzJyksfTtcbiAqIGBcbiAqXG4gKiAvLyBDU1MgYXMgSlMgT3V0cHV0XG4gKlxuICogZGl2IHtcbiAqICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAxLjBzIGVhc2UtaW4gMHMsIHdpZHRoIDIuMHMgZWFzZS1pbiAycydcbiAqICAgJ3RyYW5zaXRpb24nOiAnY29sb3IgMi4wcyBlYXNlLWluIDJzLCBiYWNrZ3JvdW5kLWNvbG9yIDIuMHMgZWFzZS1pbiAycycsXG4gKiB9XG4gKi9cblxuZnVuY3Rpb24gdHJhbnNpdGlvbnMoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBwcm9wZXJ0aWVzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIHByb3BlcnRpZXNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzWzBdKSAmJiBwcm9wZXJ0aWVzLmxlbmd0aCA9PT0gMikge1xuICAgIHZhciB2YWx1ZSA9IHByb3BlcnRpZXNbMV07XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFBvbGlzaGVkRXJyb3IoNjEpO1xuICAgIH1cblxuICAgIHZhciB0cmFuc2l0aW9uc1N0cmluZyA9IHByb3BlcnRpZXNbMF0ubWFwKGZ1bmN0aW9uIChwcm9wZXJ0eSkge1xuICAgICAgcmV0dXJuIHByb3BlcnR5ICsgXCIgXCIgKyB2YWx1ZTtcbiAgICB9KS5qb2luKCcsICcpO1xuICAgIHJldHVybiB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2l0aW9uc1N0cmluZ1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRyYW5zaXRpb246IHByb3BlcnRpZXMuam9pbignLCAnKVxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IHsgY3VycmllZEFkanVzdEh1ZSBhcyBhZGp1c3RIdWUsIGFuaW1hdGlvbiwgYmFja2dyb3VuZEltYWdlcywgYmFja2dyb3VuZHMsIGJldHdlZW4sIGJvcmRlciwgYm9yZGVyQ29sb3IsIGJvcmRlclJhZGl1cywgYm9yZGVyU3R5bGUsIGJvcmRlcldpZHRoLCBidXR0b25zLCBjbGVhckZpeCwgY29tcGxlbWVudCwgY292ZXIsIGNzc1ZhciwgY3VycmllZERhcmtlbiBhcyBkYXJrZW4sIGN1cnJpZWREZXNhdHVyYXRlIGFzIGRlc2F0dXJhdGUsIGRpcmVjdGlvbmFsUHJvcGVydHksIGVsbGlwc2lzLCBlbSwgZmx1aWRSYW5nZSwgZm9udEZhY2UsIGdldENvbnRyYXN0LCBnZXRMdW1pbmFuY2UsIGdldFZhbHVlQW5kVW5pdCwgZ3JheXNjYWxlLCBoaURQSSwgaGlkZVRleHQsIGhpZGVWaXN1YWxseSwgaHNsLCBoc2xUb0NvbG9yU3RyaW5nLCBoc2xhLCBpbnZlcnQsIGN1cnJpZWRMaWdodGVuIGFzIGxpZ2h0ZW4sIGxpbmVhckdyYWRpZW50LCBtYXJnaW4sIG1hdGgsIG1lZXRzQ29udHJhc3RHdWlkZWxpbmVzLCBjdXJyaWVkTWl4IGFzIG1peCwgbW9kdWxhclNjYWxlLCBub3JtYWxpemUsIGN1cnJpZWRPcGFjaWZ5IGFzIG9wYWNpZnksIHBhZGRpbmcsIHBhcnNlVG9Ic2wsIHBhcnNlVG9SZ2IsIHBvc2l0aW9uLCByYWRpYWxHcmFkaWVudCwgcmVhZGFibGVDb2xvciwgcmVtLCByZXRpbmFJbWFnZSwgcmdiLCByZ2JUb0NvbG9yU3RyaW5nLCByZ2JhLCBjdXJyaWVkU2F0dXJhdGUgYXMgc2F0dXJhdGUsIGN1cnJpZWRTZXRIdWUgYXMgc2V0SHVlLCBjdXJyaWVkU2V0TGlnaHRuZXNzIGFzIHNldExpZ2h0bmVzcywgY3VycmllZFNldFNhdHVyYXRpb24gYXMgc2V0U2F0dXJhdGlvbiwgY3VycmllZFNoYWRlIGFzIHNoYWRlLCBzaXplLCBzdHJpcFVuaXQsIHRleHRJbnB1dHMsIHRpbWluZ0Z1bmN0aW9ucywgY3VycmllZFRpbnQgYXMgdGludCwgdG9Db2xvclN0cmluZywgdHJhbnNpdGlvbnMsIGN1cnJpZWRUcmFuc3BhcmVudGl6ZSBhcyB0cmFuc3BhcmVudGl6ZSwgdHJpYW5nbGUsIHdvcmRXcmFwIH07XG4iLCJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEkxOG4gfSBmcm9tICdyZWFjdC1yZWR1eC1pMThuJztcbmltcG9ydCAqIGFzIF8gZnJvbSAndW5kZXJzY29yZSc7XG5pbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7IGRhcmtlbiB9IGZyb20gJ3BvbGlzaGVkJztcbmltcG9ydCB7IHRleHRDb2xvciwgYmFja2dyb3VuZENvbG9yLCBib3JkZXJDb2xvciB9IGZyb20gJy4vdGhlbWVDb2xvcic7XG5pbXBvcnQgeyBUUkFOU0xBVEVfTE9DQUxFX0tFWSB9IGZyb20gJ0Bjb25zdGFudHMvdHJhbnNsYXRpb24uY29uc3RhbnRzJztcbmltcG9ydCB7IFByb2R1Y3RTa3VJbmZvRW50aXR5LCBQcm9kdWN0U2t1R3JvdXBFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2FsZVBhZ2UubW9kZWwnO1xuXG5pbnRlcmZhY2UgT3B0aW9uUHJvcHMge1xuICAgIGlzU2t1U3RvY2tVcGRhdGVkOiBib29sZWFuO1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgb3B0aW9uTmFtZTogc3RyaW5nO1xuICAgIG9wdGlvbkxpc3Q6IGFueTtcbiAgICBzZWxlY3RlZEtleTogc3RyaW5nO1xuICAgIG9uU2VsZWN0T3B0aW9uOiAoZSkgPT4gdm9pZDtcbn1cbmludGVyZmFjZSBTa3VHcm91cFByb3BzIHtcbiAgICBza3VHcm91cExldmVsMTogUHJvZHVjdFNrdUdyb3VwRW50aXR5O1xuICAgIHNrdUdyb3VwTGV2ZWwyOiBQcm9kdWN0U2t1R3JvdXBFbnRpdHk7XG59XG5pbnRlcmZhY2UgR3JvdXBPcHRpb25Qcm9wcyB7XG4gICAgbWF4U2t1TGV2ZWw6IG51bWJlcjtcbiAgICBza3VJbmZvTGlzdDogUHJvZHVjdFNrdUluZm9FbnRpdHlbXTtcbiAgICBza3VHcm91cDogU2t1R3JvdXBQcm9wcztcbiAgICB1cGRhdGVTZWxlY3RlZFNrdUlkPzogKGlkKSA9PiB2b2lkO1xuICAgIHVwZGF0ZVByb2R1Y3RTdG9jaz86IChza3VJbmZvTGlzdCkgPT4gdm9pZDtcbn1cblxuaW50ZXJmYWNlIElTa3VPcHRpb24ge1xuICAgIGFjdGl2ZWQ/OiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBoaWRkZW4/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIOWPluW+l1NLVSBJROaWueazlVxuICogQHBhcmFtIHNrdUluZm9MaXN0XG4gKiBAcGFyYW0gY3VycmVudEtleVxuICovXG5jb25zdCBnZXRTa3VJZCA9IChza3VJbmZvTGlzdDogUHJvZHVjdFNrdUluZm9FbnRpdHlbXSwgY3VycmVudEtleTogc3RyaW5nKTogbnVtYmVyID0+IHtcbiAgICBjb25zdCBrZXlzID0gY3VycmVudEtleS5zcGxpdCgnOycpO1xuICAgIGlmIChrZXlzWzFdID09PSAnJykge1xuICAgICAgICBjdXJyZW50S2V5ID0ga2V5c1swXTtcbiAgICB9XG4gICAgbGV0IHNrdUl0ZW0gPSBfLmZpbmQoc2t1SW5mb0xpc3QsIChpdGVtKSA9PiBpdGVtLnNrdUtleSA9PT0gY3VycmVudEtleSk7XG4gICAgcmV0dXJuIChza3VJdGVtICYmIHNrdUl0ZW0uc2t1SWQpIHx8IDA7XG59O1xuLyoqXG4gKiDmmK/lkKbpl5zoga9TS1VcbiAqL1xuY29uc3QgaXNSZWxhdGVkU2t1ID0gKGxldmVsOiBudW1iZXIsIHNrdUtleVBhcnQ6IHN0cmluZywgY29tYmluZWRTa3VLZXk6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBsZXZlbCA9PT0gMiA/IGNvbWJpbmVkU2t1S2V5LnNwbGl0KCc7JylbMV0gPT09IHNrdUtleVBhcnQgOiBjb21iaW5lZFNrdUtleS5zcGxpdCgnOycpWzBdID09PSBza3VLZXlQYXJ0O1xufTtcbi8qKlxuICog6JmV55CGc2t16aCF55uu6aGv56S6ICjpirfllK7kuK3jgIHplovllZ/kuK0pXG4gKi9cbmNvbnN0IGdldFNrdURpc3BsYXlMaXN0ID0gKFxuICAgIHNrdUluZm9MaXN0OiBQcm9kdWN0U2t1SW5mb0VudGl0eVtdLFxuICAgIHNrdUdyb3VwTGlzdDogUHJvZHVjdFNrdUdyb3VwRW50aXR5LFxuICAgIG1heFNrdUxldmVsOiBudW1iZXIsXG4gICAgbGV2ZWw6IG51bWJlcixcbiAgICBzZWxlY3RlZFNrdUtleTogc3RyaW5nLFxuICAgIHNlbGVjdGVkU2t1S2V5TGV2ZWwyOiBzdHJpbmdcbikgPT4ge1xuICAgIGxldCBza3VEaXNwbGF5TGlzdDtcbiAgICBpZiAobWF4U2t1TGV2ZWwgPT09IDEpIHtcbiAgICAgICAgLy8g55W2U0tV5Y+q5pyJ5LiA6ZqO5bGkXG4gICAgICAgIHNrdURpc3BsYXlMaXN0ID0gc2t1R3JvdXBMaXN0LnNrdUtleUxpc3QubWFwKChza3VJdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaEl0ZW0gPSBfLmZpbmQoc2t1SW5mb0xpc3QsIChza3VJbmZvOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2t1SW5mby5za3VLZXkgPT09IHNrdUl0ZW0uc2t1S2V5O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4geyBpc1Nob3c6IG1hdGNoSXRlbS5pc1Nob3csIGlzU2VsbGluZzogbWF0Y2hJdGVtLnNlbGxpbmdRdHkgPiAwLCAuLi5za3VJdGVtIH07XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAobWF4U2t1TGV2ZWwgPT09IDIpIHtcbiAgICAgICAgc2t1RGlzcGxheUxpc3QgPSBza3VHcm91cExpc3Quc2t1S2V5TGlzdC5tYXAoKHNrdUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGxldCBpc1Nob3cgPSBmYWxzZTtcbiAgICAgICAgICAgIGxldCBpc1NlbGxpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChsZXZlbCA9PT0gMSAmJiBzZWxlY3RlZFNrdUtleUxldmVsMiAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGVkU2t1SXRlbSA9IF8uZmluZChza3VJbmZvTGlzdCwgKHNrdUluZm8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3NrdUl0ZW0uc2t1S2V5fTske3NlbGVjdGVkU2t1S2V5TGV2ZWwyfWAgPT09IHNrdUluZm8uc2t1S2V5O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlzU2VsbGluZyA9IG1hdGNoZWRTa3VJdGVtICYmIG1hdGNoZWRTa3VJdGVtLnNlbGxpbmdRdHkgPiAwO1xuICAgICAgICAgICAgICAgIGlzU2hvdyA9IG1hdGNoZWRTa3VJdGVtICYmIG1hdGNoZWRTa3VJdGVtLmlzU2hvdztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobGV2ZWwgPT09IDIgJiYgc2VsZWN0ZWRTa3VLZXkgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlZFNrdUl0ZW0gPSBfLmZpbmQoc2t1SW5mb0xpc3QsIChza3VJbmZvKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtzZWxlY3RlZFNrdUtleX07JHtza3VJdGVtLnNrdUtleX1gID09PSBza3VJbmZvLnNrdUtleTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpc1NlbGxpbmcgPSBtYXRjaGVkU2t1SXRlbSAmJiBtYXRjaGVkU2t1SXRlbS5zZWxsaW5nUXR5ID4gMDtcbiAgICAgICAgICAgICAgICBpc1Nob3cgPSBtYXRjaGVkU2t1SXRlbSAmJiBtYXRjaGVkU2t1SXRlbS5pc1Nob3c7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkU2t1S2V5ID09PSAnJyB8fCBzZWxlY3RlZFNrdUtleUxldmVsMiA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBsZXQgcmVsYXRlZFNrdUl0ZW1zID0gW107XG4gICAgICAgICAgICAgICAgcmVsYXRlZFNrdUl0ZW1zID0gXy5maWx0ZXIoc2t1SW5mb0xpc3QsIChza3VJbmZvKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpc1JlbGF0ZWRTa3UobGV2ZWwsIHNrdUl0ZW0uc2t1S2V5LCBza3VJbmZvLnNrdUtleSkgPT09IHRydWU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hlZFNlbGxpbmdJdGVtID0gXy5maW5kKHJlbGF0ZWRTa3VJdGVtcywgKHNrdUluZm8pID0+IHNrdUluZm8uc2VsbGluZ1F0eSA+IDApO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRTaG93SXRlbSA9IF8uZmluZChyZWxhdGVkU2t1SXRlbXMsIChza3VJbmZvKSA9PiBza3VJbmZvLmlzU2hvdyA9PT0gdHJ1ZSk7XG5cbiAgICAgICAgICAgICAgICBpc1NlbGxpbmcgPSAobWF0Y2hlZFNlbGxpbmdJdGVtICYmIG1hdGNoZWRTZWxsaW5nSXRlbS5zZWxsaW5nUXR5ID4gMCkgfHwgZmFsc2U7XG4gICAgICAgICAgICAgICAgaXNTaG93ID0gKG1hdGNoZWRTaG93SXRlbSAmJiBtYXRjaGVkU2hvd0l0ZW0uaXNTaG93KSB8fCBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7IGlzU2hvdywgaXNTZWxsaW5nLCAuLi5za3VJdGVtIH07XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc2t1RGlzcGxheUxpc3Q7XG59O1xuLyoqXG4gKiDlj5blvpfpl5zoga/pgbjpoIXlj6/llK7nmoRrZXnlgLxcbiAqIEBwYXJhbSBvcHRpb25MaXN0XG4gKi9cbmNvbnN0IGdldFNlbGxpbmdTa3VLZXkgPSAob3B0aW9uTGlzdCkgPT4ge1xuICAgIGxldCBza3VLZXkgPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbkxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKG9wdGlvbkxpc3RbaV0uaXNTZWxsaW5nKSB7XG4gICAgICAgICAgICBza3VLZXkgPSBvcHRpb25MaXN0W2ldLnNrdUtleTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBza3VLZXk7XG59O1xuXG4vLyBzdHlsZVxuY29uc3QgZGlzYWJsZWRTa3VPcHRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIGNzc2BcbiAgICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgIH1cbiAgICAgICAgLyogdG9vbHRpcCBzdHlsZSAqL1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBhbmltYXRpb246IGZhZGUtaW4gMC4ycyBlYXNlLW91dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcC1jb250ZW50KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQ2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgIC8qIHRvb2x0aXAg5bCP566t6aCtICovXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjNjY2NjY2IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDExcHgpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBgO1xufTtcblxuY29uc3Qgc2t1T3B0aW9uQWN0aXZlZFN0eWxlID0gKHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIGNzc2BcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtiYWNrZ3JvdW5kQ29sb3IocHJvcHMpfTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICR7Ym9yZGVyQ29sb3IocHJvcHMpfTtcbiAgICAgICAgY29sb3I6ICR7dGV4dENvbG9yKHByb3BzKX07XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkYXJrZW4oMC4xLCBiYWNrZ3JvdW5kQ29sb3IocHJvcHMpKX07XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJHtkYXJrZW4oMC4xLCBib3JkZXJDb2xvcihwcm9wcykpfTtcbiAgICAgICAgfVxuICAgIGA7XG59O1xuXG5jb25zdCBza3VPcHRpb25Ib3ZlclN0eWxlID0gKHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIGNzc2BcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJHtib3JkZXJDb2xvcihwcm9wcyl9O1xuICAgICAgICB9XG4gICAgYDtcbn07XG5cbmV4cG9ydCBjb25zdCBTa3VPcHRpb25zID0gc3R5bGVkLmRpdmBcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTa3VPcHRpb25zTGV2ZWwgPSBzdHlsZWQuZGl2YFxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNrdU9wdGlvbnNUaXRsZSA9IHN0eWxlZC5oNmBcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuYDtcblxuZXhwb3J0IGNvbnN0IFNrdU9wdGlvbnNDb250YWluZXIgPSBzdHlsZWQudWxgXG4gICAgcGFkZGluZzogMnB4O1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTa3VPcHRpb24gPSBzdHlsZWQubGk8SVNrdU9wdGlvbj5gXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkZGQ7XG4gICAgY29sb3I6ICM2YjZiNmI7XG4gICAgZGlzcGxheTogJHsocHJvcHMpID0+IChwcm9wcy5oaWRkZW4gPyAnbm9uZScgOiAnaW5saW5lLWJsb2NrJyl9O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogOHB4IDhweCAwIDA7XG5cbiAgICAkeyhwcm9wcykgPT4ge1xuICAgICAgICAvLyBvcHRpb24gZGlzYWJsZWQgc3R5bGVcbiAgICAgICAgaWYgKHByb3BzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZGlzYWJsZWRTa3VPcHRpb24oKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5hY3RpdmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gc2t1T3B0aW9uQWN0aXZlZFN0eWxlKHByb3BzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBza3VPcHRpb25Ib3ZlclN0eWxlKHByb3BzKTtcbiAgICAgICAgfVxuICAgIH19XG5gO1xuXG5leHBvcnQgY29uc3QgU2t1T3B0aW9uQnV0dG9uID0gc3R5bGVkLmFgXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1pbi13aWR0aDogNDZweDtcbiAgICBwYWRkaW5nOiA1cHggMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuYDtcblxuLyoqXG4gKiDllq7pmo7pgbjpoIXmuIXllq7lhYPku7ZcbiAqIEBwYXJhbSBwcm9wc1xuICovXG5leHBvcnQgY29uc3QgUHJvZHVjdE9wdGlvbnM6IEZDPE9wdGlvblByb3BzPiA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgbGV2ZWwsIG9wdGlvbk5hbWUsIG9wdGlvbkxpc3QsIGlzU2t1U3RvY2tVcGRhdGVkLCBzZWxlY3RlZEtleSwgb25TZWxlY3RPcHRpb24gfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICAgIDxTa3VPcHRpb25zPlxuICAgICAgICAgICAge29wdGlvbkxpc3QgJiYgb3B0aW9uTGlzdC5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICA8U2t1T3B0aW9uc0xldmVsPlxuICAgICAgICAgICAgICAgICAgICA8U2t1T3B0aW9uc1RpdGxlPntvcHRpb25OYW1lfTwvU2t1T3B0aW9uc1RpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8U2t1T3B0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtvcHRpb25MaXN0Lm1hcCgoc2t1SXRlbSwgaXRlbUluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNrdU9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpdGVtSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRvb2x0aXAtY29udGVudD17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTa3VTdG9ja1VwZGF0ZWQgPT09IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBJMThuLnQoVFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLk9VVF9PRl9TVE9DSylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBJMThuLnQoVFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlVQREFURSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZWQ9e3NrdUl0ZW0uaXNTZWxsaW5nID09PSB0cnVlICYmIHNrdUl0ZW0uc2t1S2V5ID09PSBzZWxlY3RlZEtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGRlbj17c2t1SXRlbS5pc1Nob3cgPT09IGZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFza3VJdGVtLmlzU2VsbGluZ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNrdU9wdGlvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtc2t1LWtleT17c2t1SXRlbS5za3VLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1za3UtbmFtZT17c2t1SXRlbS5za3VOYW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaXMtc2VsbGluZz17c2t1SXRlbS5pc1NlbGxpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1zZWxlY3RlZC1za3UtbGV2ZWw9e2xldmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uU2VsZWN0T3B0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtza3VJdGVtLnNrdU5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1NrdU9wdGlvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Ta3VPcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA8L1NrdU9wdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9Ta3VPcHRpb25zTGV2ZWw+XG4gICAgICAgICAgICApfVxuICAgICAgICA8L1NrdU9wdGlvbnM+XG4gICAgKTtcbn07XG4vKipcbiAqIOe1hOWQiOmajuWxpOmBuOmghea4heWWruWFg+S7tlxuICogQHBhcmFtIHByb3BzXG4gKi9cbmV4cG9ydCBjb25zdCBQcm9kdWN0R3JvdXBPcHRpb246IEZDPEdyb3VwT3B0aW9uUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBza3VJbmZvTGlzdCwgc2t1R3JvdXAsIG1heFNrdUxldmVsLCB1cGRhdGVTZWxlY3RlZFNrdUlkLCB1cGRhdGVQcm9kdWN0U3RvY2sgfSA9IHByb3BzO1xuICAgIGNvbnN0IFtzZWxlY3RlZFNrdUtleSwgc2V0U2VsZWN0ZWRTa3VLZXldID0gdXNlU3RhdGUoJycpO1xuICAgIGNvbnN0IFtzZWxlY3RlZFNrdUtleUxldmVsMiwgc2V0U2VsZWN0ZWRTa3VLZXlMZXZlbDJdID0gdXNlU3RhdGUoJycpO1xuICAgIGNvbnN0IFtpc1NrdVN0b2NrVXBkYXRlLCBzZXRJc1NrdVN0b2NrVXBkYXRlZF0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBvcHRpb25MaXN0MSA9IHNrdUdyb3VwLnNrdUdyb3VwTGV2ZWwxXG4gICAgICAgID8gZ2V0U2t1RGlzcGxheUxpc3Qoc2t1SW5mb0xpc3QsIHNrdUdyb3VwLnNrdUdyb3VwTGV2ZWwxLCBtYXhTa3VMZXZlbCwgMSwgc2VsZWN0ZWRTa3VLZXksIHNlbGVjdGVkU2t1S2V5TGV2ZWwyKVxuICAgICAgICA6IG51bGw7XG4gICAgY29uc3Qgb3B0aW9uTGlzdDIgPSBza3VHcm91cC5za3VHcm91cExldmVsMlxuICAgICAgICA/IGdldFNrdURpc3BsYXlMaXN0KHNrdUluZm9MaXN0LCBza3VHcm91cC5za3VHcm91cExldmVsMiwgbWF4U2t1TGV2ZWwsIDIsIHNlbGVjdGVkU2t1S2V5LCBzZWxlY3RlZFNrdUtleUxldmVsMilcbiAgICAgICAgOiBudWxsO1xuICAgIC8vIOWIneWni+mBuOaTh1NLVSBJRFxuICAgIGxldCBzZWxlY3RlZFNrdUlkO1xuICAgIGxldCBjdXJyZW50S2V5ID0gJyc7XG4gICAgbGV0IHNlbGxpbmdTa3VLZXkgPSAnJztcblxuICAgIC8vIOeVtuacieS6jOmajumhr+ekuueLgOaFi+S4lOm7nuaTiumBuOWPluaZgu+8jOmcgOmAo+WLleWPpuS4gOmajumBuOmgheiZleeQhlxuICAgIGlmICghaXNTa3VTdG9ja1VwZGF0ZSkge1xuICAgICAgICBpZiAobWF4U2t1TGV2ZWwgPT09IDEpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkU2t1SWQgPSBnZXRTa3VJZChza3VJbmZvTGlzdCwgc2VsZWN0ZWRTa3VLZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkU2t1S2V5TGV2ZWwyID09PSAnJykge1xuICAgICAgICAgICAgICAgIHNlbGxpbmdTa3VLZXkgPSBnZXRTZWxsaW5nU2t1S2V5KG9wdGlvbkxpc3QyKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50S2V5ID0gc2VsZWN0ZWRTa3VLZXkgKyAnOycgKyBzZWxsaW5nU2t1S2V5O1xuICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkU2t1S2V5TGV2ZWwyKHNlbGxpbmdTa3VLZXkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZFNrdUtleSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBzZWxsaW5nU2t1S2V5ID0gZ2V0U2VsbGluZ1NrdUtleShvcHRpb25MaXN0MSk7XG4gICAgICAgICAgICAgICAgY3VycmVudEtleSA9IHNlbGxpbmdTa3VLZXkgKyAnOycgKyBzZWxlY3RlZFNrdUtleUxldmVsMjtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZFNrdUtleShzZWxsaW5nU2t1S2V5KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEtleSA9IHNlbGVjdGVkU2t1S2V5ICsgJzsnICsgc2VsZWN0ZWRTa3VLZXlMZXZlbDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWxlY3RlZFNrdUlkID0gZ2V0U2t1SWQoc2t1SW5mb0xpc3QsIGN1cnJlbnRLZXkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCfmm7TmlrBJRDonLCBzZWxlY3RlZFNrdUlkKTtcbiAgICAgICAgc2V0SXNTa3VTdG9ja1VwZGF0ZWQodHJ1ZSk7XG4gICAgICAgIC8vIOabtOaWsFNrdSBJRFxuICAgICAgICB1cGRhdGVTZWxlY3RlZFNrdUlkKHNlbGVjdGVkU2t1SWQpO1xuICAgIH1cbiAgICAvLyDpgbjmk4dTS1XpoIXnm67kuovku7bomZXnkIZcbiAgICBjb25zdCBvblNlbGVjdFNrdUl0ZW0gPSAoZTogUmVhY3QuU3ludGhldGljRXZlbnQ8RWxlbWVudD4pID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBlLmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IHNrdUtleTogc3RyaW5nID0gdGFyZ2V0LmdldEF0dHJpYnV0ZSgnZGF0YS1za3Uta2V5Jyk7XG4gICAgICAgIGNvbnN0IGlzU2VsbGluZzogYm9vbGVhbiA9IEpTT04ucGFyc2UodGFyZ2V0LmdldEF0dHJpYnV0ZSgnZGF0YS1pcy1zZWxsaW5nJykpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZFNrdUxldmVsOiBudW1iZXIgPSBwYXJzZUludCh0YXJnZXQuZ2V0QXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkLXNrdS1sZXZlbCcpLCAxMCk7XG5cbiAgICAgICAgaWYgKGlzU2VsbGluZyAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIOmYsuatoumHjeikh+m7nuaTiuW3sumBuOWPlueahOmgheebrlxuICAgICAgICBpZiAoc2VsZWN0ZWRTa3VLZXkgPT09IHNrdUtleSB8fCBzZWxlY3RlZFNrdUtleUxldmVsMiA9PT0gc2t1S2V5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1heFNrdUxldmVsID09PSAxKSB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFNrdUtleShza3VLZXkpOyAvLyDpgbjlj5bkuIDpmo7nmoTpoIXnm65cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIOWIpOaWt+eVtuWJjemBuOWPlueahOmajuWxpO+8jOe1hOWQiOeVtuWJjeW3sumBuOWPlueahGtleSvkuIrkuIDmrKHntIDpjITpgbjlj5bpmo7lsaTnmoRrZXlcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFNrdUxldmVsID09PSAxKSB7XG4gICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRTa3VLZXkoc2t1S2V5KTsgLy8g6YG45Y+W5LiA6ZqO55qE6aCF55uuXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkU2t1TGV2ZWwgPT09IDIpIHtcbiAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZFNrdUtleUxldmVsMihza3VLZXkpOyAvLyDpgbjlj5bkuozpmo7nmoTpoIXnm65cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zb2xlLmxvZygn6YG45Y+W55qEc2t1S2V5OicsIHNrdUtleSk7XG4gICAgICAgIC8vIOabtOaWsOW6q+WtmOmWi+mXnFxuICAgICAgICBzZXRJc1NrdVN0b2NrVXBkYXRlZChmYWxzZSk7XG4gICAgICAgIC8vIOabtOaWsOW6q+WtmOiZleeQhlxuICAgICAgICB1cGRhdGVQcm9kdWN0U3RvY2soc2t1SW5mb0xpc3QpO1xuICAgIH07XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyDnlbZTS1XkuIDpmo7kuJTlj6rmnInliankuIDlgIvpgbjpoIXlsLHnm7TmjqXpgbjlj5ZcbiAgICAgICAgaWYgKG1heFNrdUxldmVsID09PSAxICYmIG9wdGlvbkxpc3QxICYmIG9wdGlvbkxpc3QxLmxlbmd0aCA8PSAxKSB7XG4gICAgICAgICAgICBjb25zdCB7IHNrdUtleSB9ID0gXy5maXJzdChvcHRpb25MaXN0MSk7XG4gICAgICAgICAgICBjb25zdCBza3VJZCA9IGdldFNrdUlkKHNrdUluZm9MaXN0LCBza3VLZXkpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRTa3VLZXkoc2t1S2V5KTtcbiAgICAgICAgICAgIHNldElzU2t1U3RvY2tVcGRhdGVkKHRydWUpO1xuICAgICAgICAgICAgdXBkYXRlU2VsZWN0ZWRTa3VJZChza3VJZCk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICB7b3B0aW9uTGlzdDEgJiYgKFxuICAgICAgICAgICAgICAgIDxQcm9kdWN0T3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICBsZXZlbD17MX1cbiAgICAgICAgICAgICAgICAgICAgaXNTa3VTdG9ja1VwZGF0ZWQ9e2lzU2t1U3RvY2tVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbk5hbWU9e3NrdUdyb3VwLnNrdUdyb3VwTGV2ZWwxLnNrdUdyb3VwTmFtZX1cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uTGlzdD17b3B0aW9uTGlzdDF9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkS2V5PXtzZWxlY3RlZFNrdUtleX1cbiAgICAgICAgICAgICAgICAgICAgb25TZWxlY3RPcHRpb249e29uU2VsZWN0U2t1SXRlbX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtvcHRpb25MaXN0MiAmJiAoXG4gICAgICAgICAgICAgICAgPFByb2R1Y3RPcHRpb25zXG4gICAgICAgICAgICAgICAgICAgIGxldmVsPXsyfVxuICAgICAgICAgICAgICAgICAgICBpc1NrdVN0b2NrVXBkYXRlZD17aXNTa3VTdG9ja1VwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uTmFtZT17c2t1R3JvdXAuc2t1R3JvdXBMZXZlbDIuc2t1R3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25MaXN0PXtvcHRpb25MaXN0Mn1cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRLZXk9e3NlbGVjdGVkU2t1S2V5TGV2ZWwyfVxuICAgICAgICAgICAgICAgICAgICBvblNlbGVjdE9wdGlvbj17b25TZWxlY3RTa3VJdGVtfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBkYXJrZW4gfSBmcm9tICdwb2xpc2hlZCc7XG5pbXBvcnQgXyBmcm9tICd1bmRlcnNjb3JlJztcbmltcG9ydCB7IGRldmljZVV0aWxpdHkgfSBmcm9tICdAdXRpbGl0aWVzL2luZGV4JztcbmltcG9ydCB7IEJST1dTSU5HX01PREUgfSBmcm9tICdAY29uc3RhbnRzL2RldmljZS5jb25zdGFudHMnO1xuXG50eXBlIFNpemUgPSAnYXV0bycgfCAnbm9ybWFsJyB8ICdzbWFsbCcgfCAnZml0JztcbnR5cGUgVmFyaWFudCA9ICdjb250YWluZWQnIHwgJ291dGxpbmVkJyB8ICdub3JtYWwnO1xuXG5pbnRlcmZhY2UgSUJ1dHRvblByb3BzIHtcbiAgICB2YXJpYW50PzogVmFyaWFudDtcbiAgICBkaXNhYmxlPzogYm9vbGVhbjtcbiAgICBzaXplPzogU2l6ZTtcbn1cblxuY29uc3QgYnV0dG9uU2l6ZSA9IChzaXplOiBTaXplKSA9PiB7XG4gICAgc3dpdGNoIChzaXplKSB7XG4gICAgICAgIGNhc2UgJ2F1dG8nOlxuICAgICAgICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBgO1xuICAgICAgICBjYXNlICdub3JtYWwnOlxuICAgICAgICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgICAgICAgICB3aWR0aDogMTMxcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYDtcbiAgICAgICAgY2FzZSAnc21hbGwnOlxuICAgICAgICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgYDtcbiAgICAgICAgY2FzZSAnZml0JzpcbiAgICAgICAgICAgIHJldHVybiBjc3NgXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggMTBweDtcbiAgICAgICAgICAgIGA7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gY3NzYFxuICAgICAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBgO1xuICAgIH1cbn07XG5cbmNvbnN0IGJhc2VDb2xvciA9ICcjZmZmJztcbmNvbnN0IG5vcm1hbENvbG9yID0gJyNiYmInO1xuY29uc3QgZm9udENvbG9yID0gJyM2NjYnO1xuXG5jb25zdCBjb250YWluZWRIb3ZlclN0eWxlID0gKCkgPT4ge1xuICAgIHJldHVybiBjc3NgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+XG4gICAgICAgICAgICAgICAgXy5pc0VtcHR5KHByb3BzLnRoZW1lKSA/ICcjZmYyMDIwJyA6IGRhcmtlbigwLjEsIHByb3BzLnRoZW1lLmJ1dHRvblN0eWxlLnByaW1hcnlCdG5CZ0NvbG9yKX07XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZFxuICAgICAgICAgICAgICAgICR7KHByb3BzKSA9PiAoXy5pc0VtcHR5KHByb3BzLnRoZW1lKSA/ICcjZmYyMDIwJyA6IHByb3BzLnRoZW1lLmJ1dHRvblN0eWxlLnByaW1hcnlCdG5CZ0NvbG9yKX07XG4gICAgICAgICAgICBjb2xvcjogJHsocHJvcHMpID0+IChfLmlzRW1wdHkocHJvcHMudGhlbWUpID8gYmFzZUNvbG9yIDogcHJvcHMudGhlbWUuYnV0dG9uU3R5bGUucHJpbWFyeUJ0blRleHRDb2xvcil9O1xuICAgICAgICB9XG4gICAgYDtcbn07XG5cbmNvbnN0IG91dGxpbmVkSG92ZXJTdHlsZSA9ICgpID0+IHtcbiAgICByZXR1cm4gY3NzYFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PlxuICAgICAgICAgICAgICAgIF8uaXNFbXB0eShwcm9wcy50aGVtZSkgPyBiYXNlQ29sb3IgOiBkYXJrZW4oMC4xLCBwcm9wcy50aGVtZS5idXR0b25TdHlsZS5zZWNvbmRCdG5CZ0NvbG9yKX07XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZFxuICAgICAgICAgICAgICAgICR7KHByb3BzKSA9PiAoXy5pc0VtcHR5KHByb3BzLnRoZW1lKSA/ICcjZmYyMDIwJyA6IHByb3BzLnRoZW1lLmJ1dHRvblN0eWxlLnNlY29uZEJ0bkJvcmRlckNvbG9yKX07XG4gICAgICAgICAgICBjb2xvcjogJHsocHJvcHMpID0+IChfLmlzRW1wdHkocHJvcHMudGhlbWUpID8gJyNmZjUzNTMnIDogcHJvcHMudGhlbWUuYnV0dG9uU3R5bGUuc2Vjb25kQnRuVGV4dENvbG9yKX07XG4gICAgICAgIH1cbiAgICBgO1xufTtcblxuY29uc3QgYnV0dG9uVmFyaWFudCA9ICh2YXJpYW50OiBWYXJpYW50KSA9PiB7XG4gICAgc3dpdGNoICh2YXJpYW50KSB7XG4gICAgICAgIGNhc2UgJ2NvbnRhaW5lZCc6XG4gICAgICAgICAgICByZXR1cm4gY3NzYFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PlxuICAgICAgICAgICAgICAgICAgICBfLmlzRW1wdHkocHJvcHMudGhlbWUpID8gJyNmZjUzNTMnIDogcHJvcHMudGhlbWUuYnV0dG9uU3R5bGUucHJpbWFyeUJ0bkJnQ29sb3J9O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gKF8uaXNFbXB0eShwcm9wcy50aGVtZSkgPyBiYXNlQ29sb3IgOiBwcm9wcy50aGVtZS5idXR0b25TdHlsZS5wcmltYXJ5QnRuVGV4dENvbG9yKX07XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgICAgICAgICAgICAgICAgICR7KHByb3BzKSA9PiAoXy5pc0VtcHR5KHByb3BzLnRoZW1lKSA/ICcjZmY1MzUzJyA6IHByb3BzLnRoZW1lLmJ1dHRvblN0eWxlLnByaW1hcnlCdG5CZ0NvbG9yKX07XG4gICAgICAgICAgICAgICAgJHsoKSA9PiAoZGV2aWNlVXRpbGl0eS5nZXRCcm93c2luZ01vZGUoKSA9PT0gQlJPV1NJTkdfTU9ERS5ERVNLVE9QID8gY29udGFpbmVkSG92ZXJTdHlsZSgpIDogJycpfVxuICAgICAgICAgICAgYDtcblxuICAgICAgICBjYXNlICdvdXRsaW5lZCc6XG4gICAgICAgICAgICByZXR1cm4gY3NzYFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PlxuICAgICAgICAgICAgICAgICAgICBfLmlzRW1wdHkocHJvcHMudGhlbWUpID8gYmFzZUNvbG9yIDogcHJvcHMudGhlbWUuYnV0dG9uU3R5bGUuc2Vjb25kQnRuQmdDb2xvcn07XG4gICAgICAgICAgICAgICAgY29sb3I6ICR7KHByb3BzKSA9PiAoXy5pc0VtcHR5KHByb3BzLnRoZW1lKSA/ICcjZmY1MzUzJyA6IHByb3BzLnRoZW1lLmJ1dHRvblN0eWxlLnNlY29uZEJ0blRleHRDb2xvcil9O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZFxuICAgICAgICAgICAgICAgICAgICAkeyhwcm9wcykgPT4gKF8uaXNFbXB0eShwcm9wcy50aGVtZSkgPyAnI2ZmNTM1MycgOiBwcm9wcy50aGVtZS5idXR0b25TdHlsZS5zZWNvbmRCdG5Cb3JkZXJDb2xvcil9O1xuICAgICAgICAgICAgICAgICR7KCkgPT4gKGRldmljZVV0aWxpdHkuZ2V0QnJvd3NpbmdNb2RlKCkgPT09IEJST1dTSU5HX01PREUuREVTS1RPUCA/IG91dGxpbmVkSG92ZXJTdHlsZSgpIDogJycpfVxuICAgICAgICAgICAgYDtcbiAgICAgICAgY2FzZSAnbm9ybWFsJzpcbiAgICAgICAgICAgIHJldHVybiBjc3NgXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtiYXNlQ29sb3J9O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAke2ZvbnRDb2xvcn07XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7bm9ybWFsQ29sb3J9O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2ZvbnRDb2xvcn07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgYDtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBjc3NgXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtiYXNlQ29sb3J9O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAke25vcm1hbENvbG9yfTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtub3JtYWxDb2xvcn07XG4gICAgICAgICAgICBgO1xuICAgIH1cbn07XG5cbmNvbnN0IGJ1dHRvbkRpc2FibGUgPSBjc3NgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRkO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbmA7XG5cbmNvbnN0IEJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gICAgYm9yZGVyLXJhZGl1czogNC41cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICR7KHByb3BzOiBJQnV0dG9uUHJvcHMpID0+IHtcbiAgICAgICAgY29uc3QgeyB2YXJpYW50LCBkaXNhYmxlLCBzaXplIH0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgICAgICR7ZGlzYWJsZSA/IGJ1dHRvbkRpc2FibGUgOiBidXR0b25WYXJpYW50KHZhcmlhbnQpfX07XG4gICAgICAgICAgICAke2J1dHRvblNpemUoc2l6ZSl9O1xuICAgICAgICBgO1xuICAgIH19XG5gO1xuXG5CdXR0b24uZGVmYXVsdFByb3BzID0ge1xuICAgIGRpc2FibGU6IGZhbHNlLFxuICAgIHNpemU6ICdub3JtYWwnLFxuICAgIHZhcmlhbnQ6ICdjb250YWluZWQnLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQnV0dG9uO1xuIiwiaW1wb3J0IFJlYWN0LCB7IEZDIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVHJhbnNsYXRlIH0gZnJvbSAncmVhY3QtcmVkdXgtaTE4bic7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCUk9XU0lOR19NT0RFIH0gZnJvbSAnQGNvbnN0YW50cy9kZXZpY2UuY29uc3RhbnRzJztcbmltcG9ydCB7IFRSQU5TTEFURV9MT0NBTEVfS0VZIH0gZnJvbSAnQGNvbnN0YW50cy90cmFuc2xhdGlvbi5jb25zdGFudHMnO1xuaW1wb3J0IHsgZGV2aWNlVXRpbGl0eSB9IGZyb20gJ0B1dGlsaXRpZXMvaW5kZXgnO1xuaW1wb3J0IEJ1dHRvbiBmcm9tICdAY29tcG9uZW50cy9idXR0b24vaW5kZXgnO1xuaW1wb3J0IHsgTW9kZUVudW0gfSBmcm9tICdAY29tcG9uZW50cy9hZGRUb0NhcnQvZW51bSc7XG5pbXBvcnQgeyBiYWNrZ3JvdW5kQ29sb3IgfSBmcm9tICcuL3RoZW1lQ29sb3InO1xuXG5pbnRlcmZhY2UgVmFsdWVQcm9wcyB7XG4gICAgY3VycmVudFZhbHVlOiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWF4VmFsdWU6IG51bWJlcjtcbiAgICBtaW5WYWx1ZTogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgRGlzcGxheVF0eVByb3BzIGV4dGVuZHMgVmFsdWVQcm9wcyB7XG4gICAgb25JbmNyZXNlVmFsdWU6ICgpID0+IHZvaWQ7XG4gICAgb25EZWNyZXNlVmFsdWU6ICgpID0+IHZvaWQ7XG4gICAgb25DaGFuZ2VWYWx1ZTogKGUpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBDYXJ0QnV0dG9uUHJvcHMgZXh0ZW5kcyBWYWx1ZVByb3BzIHtcbiAgICBtb2RlOiBrZXlvZiB0eXBlb2YgTW9kZUVudW07XG4gICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgb25DbGlja2VkOiAoc3RhdHVzKSA9PiB2b2lkO1xufVxuXG5jb25zdCBDYXJ0QnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgICBmbGV4OiAxO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5gO1xuXG5jb25zdCBRdHlCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAgIGZsZXg6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuYDtcblxuY29uc3QgUXR5VG9wQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuY29uc3QgUXR5Qm90dG9tQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gICAgZmxleDogMTtcbmA7XG5cbmNvbnN0IFF0eUNvdW50ZXJJbnB1dCA9IHN0eWxlZC5pbnB1dGBcbiAgICBjb2xvcjogIzRhNGU1YztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB3aWR0aDogODVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICA6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbmA7XG5cbmNvbnN0IFF0eUxpbWl0VGV4dCA9IHN0eWxlZC5zcGFuYFxuICAgIGNvbG9yOiAjZmY1MzUzO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuYDtcblxuY29uc3QgUXR5QnV0dG9uID0gc3R5bGVkLmRpdjx7IGlzRGlzYWJsZTogYm9vbGVhbiB9PmBcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgY29sb3I6ICR7YmFja2dyb3VuZENvbG9yfTtcbiAgICAkeyhwcm9wcykgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgcHJvcHMuaXNEaXNhYmxlICYmXG4gICAgICAgICAgICBgXG4gICAgICAgICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGBcbiAgICAgICAgKTtcbiAgICB9fVxuYDtcblxuY29uc3QgQ2FydEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB3aWR0aDogJHtkZXZpY2VVdGlsaXR5LmdldEJyb3dzaW5nTW9kZSgpID09PSBCUk9XU0lOR19NT0RFLk1PQklMRSA/ICcxOTBweCcgOiAnMzEwcHgnfTtcbmA7XG5cbi8qKlxuICog6LO854mp6LuK6LO86LK35pW46YeP6aGv56S65YWD5Lu2XG4gKi9cbmV4cG9ydCBjb25zdCBQcm9kdWN0RGlzcGxheVF0eTogRkM8RGlzcGxheVF0eVByb3BzPiA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudFZhbHVlLCBtYXhWYWx1ZSwgbWluVmFsdWUsIG9uSW5jcmVzZVZhbHVlLCBvbkRlY3Jlc2VWYWx1ZSwgb25DaGFuZ2VWYWx1ZSB9ID0gcHJvcHM7XG4gICAgLy8g5Zug5omL5qmf6ZyA5ZWf55So6Y2155ukXG4gICAgY29uc3QgaW5wdXRUeXBlID0gZGV2aWNlVXRpbGl0eS5nZXRCcm93c2luZ01vZGUoKSA9PT0gQlJPV1NJTkdfTU9ERS5ERVNLVE9QID8gJ251bWJlcicgOiAndGVsJztcbiAgICByZXR1cm4gKFxuICAgICAgICA8UXR5QnV0dG9uQ29udGFpbmVyPlxuICAgICAgICAgICAgPFF0eVRvcENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPFF0eUJ1dHRvbiBpc0Rpc2FibGU9e2N1cnJlbnRWYWx1ZSA8PSBtaW5WYWx1ZX0gb25DbGljaz17b25EZWNyZXNlVmFsdWV9PlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uIGljb24tc2xpbS1taW51c1wiIHN0eWxlPXt7IHBhZGRpbmc6ICc5cHgnIH19IC8+XG4gICAgICAgICAgICAgICAgPC9RdHlCdXR0b24+XG4gICAgICAgICAgICAgICAgPFF0eUNvdW50ZXJJbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPXtpbnB1dFR5cGV9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJxdHlJbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICAgICAgICAgICBtaW49e21pblZhbHVlfVxuICAgICAgICAgICAgICAgICAgICBtYXg9e21heFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Y3VycmVudFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VWYWx1ZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxRdHlCdXR0b24gaXNEaXNhYmxlPXttYXhWYWx1ZSA+IDAgJiYgY3VycmVudFZhbHVlID49IG1heFZhbHVlfSBvbkNsaWNrPXtvbkluY3Jlc2VWYWx1ZX0+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzTmFtZT1cImljb24gaWNvbi1zbGltLXBsdXNcIiBzdHlsZT17eyBwYWRkaW5nOiAnOXB4JyB9fSAvPlxuICAgICAgICAgICAgICAgIDwvUXR5QnV0dG9uPlxuICAgICAgICAgICAgPC9RdHlUb3BDb250ZW50PlxuICAgICAgICAgICAgPFF0eUJvdHRvbUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAge21heFZhbHVlID4gMCAmJiBjdXJyZW50VmFsdWUgPj0gbWF4VmFsdWUgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8UXR5TGltaXRUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFRyYW5zbGF0ZSB2YWx1ZT17VFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLkxJTUlUX01BWF9WQUxVRV9NU0d9IG1heFZhbHVlPXttYXhWYWx1ZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9RdHlMaW1pdFRleHQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7Y3VycmVudFZhbHVlIDwgbWluVmFsdWUgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8UXR5TGltaXRUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFRyYW5zbGF0ZSB2YWx1ZT17VFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLkxJTUlUX01JTl9WQUxVRV9NU0d9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvUXR5TGltaXRUZXh0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1F0eUJvdHRvbUNvbnRlbnQ+XG4gICAgICAgIDwvUXR5QnV0dG9uQ29udGFpbmVyPlxuICAgICk7XG59O1xuXG5jb25zdCBnZXRCdXR0b24gPSAobW9kZTogc3RyaW5nLCBzdGF0dXM6IHN0cmluZywgb25CdXR0b25IYW5kbGVyKSA9PiB7XG4gICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgY2FzZSAnU29sZE91dCc6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxDYXJ0QnV0dG9uIHZhcmlhbnQ9XCJjb250YWluZWRcIiBkaXNhYmxlZD5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zbGF0ZSB2YWx1ZT17VFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlNPTERfT1VUX0FORF9SRVBMRU5JU0hFRH0gLz5cbiAgICAgICAgICAgICAgICA8L0NhcnRCdXR0b24+XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdOb3RTdGFydFNlbGwnOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Q2FydEJ1dHRvbiB2YXJpYW50PVwiY29udGFpbmVkXCIgZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAgICAgIDxUcmFuc2xhdGUgdmFsdWU9e1RSQU5TTEFURV9MT0NBTEVfS0VZLkZST05URU5ELkxJQi5OT1RfWUVUX09QRU5fU0FMRX0gLz5cbiAgICAgICAgICAgICAgICA8L0NhcnRCdXR0b24+XG4gICAgICAgICAgICApO1xuICAgICAgICBjYXNlICdTaGFyZVRvQnV5JzpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPENhcnRCdXR0b24gdmFyaWFudD1cImNvbnRhaW5lZFwiIG9uQ2xpY2s9e29uQnV0dG9uSGFuZGxlcn0+XG4gICAgICAgICAgICAgICAgICAgIDxUcmFuc2xhdGUgdmFsdWU9e1RSQU5TTEFURV9MT0NBTEVfS0VZLkZST05URU5ELkxJQi5TSEFSRV9BTkRfQlVZfSAvPlxuICAgICAgICAgICAgICAgIDwvQ2FydEJ1dHRvbj5cbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ0FwcE9ubHknOlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Q2FydEJ1dHRvbiB2YXJpYW50PVwiY29udGFpbmVkXCIgb25DbGljaz17b25CdXR0b25IYW5kbGVyfT5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zbGF0ZSB2YWx1ZT17VFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLk9OTFlfT05fQVBQfSAvPlxuICAgICAgICAgICAgICAgIDwvQ2FydEJ1dHRvbj5cbiAgICAgICAgICAgICk7XG4gICAgICAgIGNhc2UgJ0ltbWVkaWF0ZWx5QnV5JzpcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPENhcnRCdXR0b24gdmFyaWFudD1cImNvbnRhaW5lZFwiIG9uQ2xpY2s9e29uQnV0dG9uSGFuZGxlcn0+XG4gICAgICAgICAgICAgICAgICAgIDxUcmFuc2xhdGUgdmFsdWU9e1RSQU5TTEFURV9MT0NBTEVfS0VZLkZST05URU5ELkxJQi5DSEVDS19PVVR9IC8+XG4gICAgICAgICAgICAgICAgPC9DYXJ0QnV0dG9uPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBtb2RlID09PSAnTm9ybWFsJyA/IChcbiAgICAgICAgICAgICAgICAvLyDliqDlhaXos7znianou4pcbiAgICAgICAgICAgICAgICA8Q2FydEJ1dHRvbiB2YXJpYW50PVwiY29udGFpbmVkXCIgb25DbGljaz17b25CdXR0b25IYW5kbGVyfT5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zbGF0ZSB2YWx1ZT17VFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLkFERF9DQVJUfSAvPlxuICAgICAgICAgICAgICAgIDwvQ2FydEJ1dHRvbj5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgLy8g5Yqg5YWlKOmBuOizvOWVhuWTgSlcbiAgICAgICAgICAgICAgICA8Q2FydEJ1dHRvbiB2YXJpYW50PVwiY29udGFpbmVkXCIgb25DbGljaz17b25CdXR0b25IYW5kbGVyfT5cbiAgICAgICAgICAgICAgICAgICAgPFRyYW5zbGF0ZSB2YWx1ZT17VFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLkFERH0gLz5cbiAgICAgICAgICAgICAgICA8L0NhcnRCdXR0b24+XG4gICAgICAgICAgICApO1xuICAgIH1cbn07XG5cbi8qKlxuICog5Yqg5YWl6LO854mp6LuK5Yqf6IO95oyJ6YiVXG4gKi9cbmV4cG9ydCBjb25zdCBQcm9kdWN0Q2FydEJ1dHRvbjogRkM8Q2FydEJ1dHRvblByb3BzPiA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgbW9kZSwgc3RhdHVzLCBjdXJyZW50VmFsdWUsIG1heFZhbHVlLCBtaW5WYWx1ZSwgb25DbGlja2VkIH0gPSBwcm9wcztcbiAgICBjb25zdCBvbkJ1dHRvbkhhbmRsZXIgPSAoZTogUmVhY3QuU3ludGhldGljRXZlbnQ8RWxlbWVudD4pID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAoIWN1cnJlbnRWYWx1ZSB8fCAobWF4VmFsdWUgJiYgY3VycmVudFZhbHVlID4gbWF4VmFsdWUpIHx8IGN1cnJlbnRWYWx1ZSA8IG1pblZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgb25DbGlja2VkKHN0YXR1cyk7XG4gICAgfTtcbiAgICByZXR1cm4gPENhcnRCdXR0b25Db250YWluZXI+e2dldEJ1dHRvbihtb2RlLCBzdGF0dXMsIG9uQnV0dG9uSGFuZGxlcil9PC9DYXJ0QnV0dG9uQ29udGFpbmVyPjtcbn07XG4iLCJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgZGFya2VuIH0gZnJvbSAncG9saXNoZWQnO1xuaW1wb3J0IHsgQ3VycmVuY3kgfSBmcm9tICdAY29tcG9uZW50cy9pbmRleCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0IHsgTVdlYkFwaSB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MvbXdlYkFwaSc7XG5pbXBvcnQgeyBJMThuLCBUcmFuc2xhdGUgfSBmcm9tICdyZWFjdC1yZWR1eC1pMThuJztcbmltcG9ydCB7IFRSQU5TTEFURV9MT0NBTEVfS0VZIH0gZnJvbSAnQGNvbnN0YW50cy90cmFuc2xhdGlvbi5jb25zdGFudHMnO1xuaW1wb3J0IHsgdGV4dENvbG9yLCBiYWNrZ3JvdW5kQ29sb3IsIGJvcmRlckNvbG9yIH0gZnJvbSAnLi90aGVtZUNvbG9yJztcblxuaW50ZXJmYWNlIFB1cmNoYXNlTWV0aG9kUHJvcHMge1xuICAgIHB1cmNoYXNlTWV0aG9kTGlzdDogTVdlYkFwaS5XZWJTdG9yZS5Gcm9udGVuZC5CRS5TYWxlUGFnZVYyLlBvaW50c1BheVBhaXJzRW50aXR5W107XG4gICAgc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZDogTVdlYkFwaS5XZWJTdG9yZS5Gcm9udGVuZC5CRS5TYWxlUGFnZVYyLlBvaW50c1BheVBhaXJzRW50aXR5O1xuICAgIG9uU2VsZWN0UHVyY2hhc2VNZXRob2Q6IChwb2ludFBheU9wdGlvbkl0ZW0pID0+IHZvaWQ7XG4gICAgZGVjaW1hbDogbnVtYmVyO1xuICAgIHN5bWJvbDogc3RyaW5nO1xuICAgIHJhdGU6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIElQb2ludHBheU9wdGlvbiB7XG4gICAgYWN0aXZlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IFB1cmNoYXNlTWV0aG9kQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTVweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBUaXRsZSA9IHN0eWxlZC5oNmBcbiAgICBjb2xvcjogIzRhNGU1YztcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5gO1xuXG5leHBvcnQgY29uc3QgUG9pbnRwYXlPcHRpb25zID0gc3R5bGVkLmRpdmBcbiAgICBwYWRkaW5nOiAwIDJweDtcbmA7XG5cbmNvbnN0IHBvaW50cGF5T3B0aW9uQWN0aXZlZFN0eWxlID0gKHByb3BzKSA9PiB7XG4gICAgcmV0dXJuIGNzc2BcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtiYWNrZ3JvdW5kQ29sb3IocHJvcHMpfTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICR7Ym9yZGVyQ29sb3IocHJvcHMpfTtcbiAgICAgICAgY29sb3I6ICR7dGV4dENvbG9yKHByb3BzKX07XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkYXJrZW4oMC4xLCBiYWNrZ3JvdW5kQ29sb3IocHJvcHMpKX07XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJHtkYXJrZW4oMC4xLCBib3JkZXJDb2xvcihwcm9wcykpfTtcbiAgICAgICAgfVxuICAgIGA7XG59O1xuXG5jb25zdCBwb2ludHBheU9wdGlvbkhvdmVyU3R5bGUgPSAocHJvcHMpID0+IHtcbiAgICByZXR1cm4gY3NzYFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAke2JvcmRlckNvbG9yKHByb3BzKX07XG4gICAgICAgIH1cbiAgICBgO1xufTtcblxuZXhwb3J0IGNvbnN0IFBvaW50cGF5T3B0aW9uID0gc3R5bGVkLmJ1dHRvbjxJUG9pbnRwYXlPcHRpb24+YFxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkZGQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDhweCA4cHggMCAwO1xuICAgIG1pbi13aWR0aDogNDZweDtcbiAgICBwYWRkaW5nOiA1cHggMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAkeyhwcm9wcykgPT4ge1xuICAgICAgICBpZiAocHJvcHMuYWN0aXZlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHBvaW50cGF5T3B0aW9uQWN0aXZlZFN0eWxlKHByb3BzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBwb2ludHBheU9wdGlvbkhvdmVyU3R5bGUocHJvcHMpO1xuICAgICAgICB9XG4gICAgfX1cbmA7XG5cbmV4cG9ydCBjb25zdCBQdXJjaGFzZU1ldGhvZDogRkM8UHVyY2hhc2VNZXRob2RQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHB1cmNoYXNlTWV0aG9kTGlzdCwgc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZCwgb25TZWxlY3RQdXJjaGFzZU1ldGhvZCwgZGVjaW1hbCwgc3ltYm9sLCByYXRlIH0gPSBwcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgICA8UHVyY2hhc2VNZXRob2RDb250YWluZXI+XG4gICAgICAgICAgICA8VGl0bGU+e0kxOG4udChUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuUExFQVNFX1NFTEVDVF9QVVJDSEFTRV9NRVRIT0QpfTwvVGl0bGU+XG4gICAgICAgICAgICA8UG9pbnRwYXlPcHRpb25zPlxuICAgICAgICAgICAgICAgIHtwdXJjaGFzZU1ldGhvZExpc3QubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFBvaW50cGF5T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gb25TZWxlY3RQdXJjaGFzZU1ldGhvZChpdGVtKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVkPXtpdGVtLlBvaW50c1BheUlkID09PSBzZWxlY3RlZFB1cmNoYXNlTWV0aG9kLlBvaW50c1BheUlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDntJTph5EgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0uUGFpcnNQb2ludHMgPT09IDAgJiYgaXRlbS5QYWlyc1ByaWNlID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDdXJyZW5jeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2l0ZW0uUGFpcnNQcmljZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWw9e2RlY2ltYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2w9e3N5bWJvbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhdGU9e3JhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlVGhlbWU9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDntJTpu54gKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0uUGFpcnNQcmljZSA9PT0gMCAmJiBpdGVtLlBhaXJzUG9pbnRzID4gMCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuUFVSQ0hBU0VfTUVUSE9EX1BPSU5UfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnQ9e2l0ZW0uUGFpcnNQb2ludHN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDpu57liqDph5EgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2l0ZW0uUGFpcnNQb2ludHMgPiAwICYmIGl0ZW0uUGFpcnNQcmljZSA+IDAgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUcmFuc2xhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17VFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlBVUkNIQVNFX01FVEhPRF9QT0lOVH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludD17aXRlbS5QYWlyc1BvaW50c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj7vvIs8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q3VycmVuY3lcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17aXRlbS5QYWlyc1ByaWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWw9e2RlY2ltYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sPXtzeW1ib2x9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF0ZT17cmF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlVGhlbWU9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvUG9pbnRwYXlPcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8L1BvaW50cGF5T3B0aW9ucz5cbiAgICAgICAgPC9QdXJjaGFzZU1ldGhvZENvbnRhaW5lcj5cbiAgICApO1xufTtcbiIsImltcG9ydCB7IHJlZGlyZWN0LCByZXRyeSB9IGZyb20gJ3N0YXR1c2VzJztcbmltcG9ydCAqIGFzIHJlcXVlc3QgZnJvbSAnc3VwZXJhZ2VudCc7XG5cbmludGVyZmFjZSBmZXRjaE9wdGlvbkVudGl0eSB7XG4gICAgbWV0aG9kOiBzdHJpbmc7XG4gICAgaGVhZGVycz86IGFueTtcbiAgICBmb3JtRGF0YT86IGFueTtcbiAgICBib2R5PzogYW55O1xuICAgIHRyYWNlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaEFwaTxUPihyZXF1ZXN0VXJsOiBzdHJpbmcsIG9wdGlvbjogZmV0Y2hPcHRpb25FbnRpdHkgPSB7IG1ldGhvZDogJ0dFVCcgfSk6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IHVybCA9IHJlcXVlc3RVcmwuc3BsaXQoJz8nKVswXSB8fCAnJztcbiAgICBjb25zdCBxdWVyeVN0cmluZyA9IHJlcXVlc3RVcmwuc3BsaXQoJz8nKVsxXSB8fCAnJztcbiAgICBjb25zdCByZXF1ZXN0U2V0dGluZyA9IHtcbiAgICAgICAgR0VUOiByZXF1ZXN0LmdldCh1cmwpLnF1ZXJ5KHF1ZXJ5U3RyaW5nKSxcbiAgICAgICAgUE9TVDogcmVxdWVzdFxuICAgICAgICAgICAgLnBvc3QodXJsKVxuICAgICAgICAgICAgLnF1ZXJ5KHF1ZXJ5U3RyaW5nKVxuICAgICAgICAgICAgLnNlbmQob3B0aW9uLmJvZHkpXG4gICAgICAgICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpLFxuICAgICAgICBQVVQ6IHJlcXVlc3RcbiAgICAgICAgICAgIC5wdXQodXJsKVxuICAgICAgICAgICAgLnF1ZXJ5KHF1ZXJ5U3RyaW5nKVxuICAgICAgICAgICAgLnNlbmQob3B0aW9uLmJvZHkpXG4gICAgICAgICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpLFxuICAgICAgICBERUxFVEU6IHJlcXVlc3RcbiAgICAgICAgICAgIC5kZWxldGUodXJsKVxuICAgICAgICAgICAgLnF1ZXJ5KHF1ZXJ5U3RyaW5nKVxuICAgICAgICAgICAgLnNlbmQob3B0aW9uLmJvZHkpXG4gICAgICAgICAgICAuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpLFxuICAgICAgICBGT1JNOiByZXF1ZXN0XG4gICAgICAgICAgICAucG9zdCh1cmwpXG4gICAgICAgICAgICAucXVlcnkocXVlcnlTdHJpbmcpXG4gICAgICAgICAgICAuc2VuZChvcHRpb24uZm9ybURhdGEpLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RTZXR0aW5nW29wdGlvbi5tZXRob2RdO1xuICAgICAgICBpZiAocmVkaXJlY3RbcmVzcG9uc2Uuc3RhdHVzXSB8fCByZXRyeVtyZXNwb25zZS5zdGF0dXNdKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKHJlc3BvbnNlLmJvZHkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHJlc3BvbnNlLmJvZHkpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyKTtcbiAgICB9XG59XG4iLCJpbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0IHsgZmV0Y2hBcGkgfSBmcm9tICcuLi9wcm92aWRlcnMvaHR0cC5wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRNd2ViQXBpVXJsIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3BhdGgudXRpbGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0U2t1SW5mb0VudGl0eSB9IGZyb20gJy4vc2FsZVBhZ2UubW9kZWwnO1xuZXhwb3J0IGludGVyZmFjZSBBcGlSZXN1bHQ8VD4ge1xuICAgIFJldHVybkNvZGU6IHN0cmluZztcbiAgICBEYXRhOiBUO1xuICAgIE1lc3NhZ2U6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFN0b2NrRW50aXR5IHtcbiAgICBHb29kc1NLVUlkOiBudW1iZXI7XG4gICAgU2FsZVByb2R1Y3RTS1VJZDogbnVtYmVyO1xuICAgIFNlbGxpbmdRdHk6IG51bWJlcjtcbn1cbi8qKlxuICog5Y+W5b6X5bqr5a2Y6LOH6KiKXG4gKiBAcGFyYW0gc2t1SWRMaXN0IFxuICogQHBhcmFtIHNrdUluZm9MaXN0IFxuICovXG5leHBvcnQgY29uc3QgZmV0Y2hQcm9kdWN0U3RvY2tNb2RlbCA9IGFzeW5jIChcbiAgICBzaG9wSWQ6IG51bWJlcixcbiAgICBza3VJZExpc3Q6IG51bWJlcltdLFxuICAgIHNrdUluZm9MaXN0OiBQcm9kdWN0U2t1SW5mb0VudGl0eVtdXG4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBhcGlVcmwgPSBnZXRNd2ViQXBpVXJsKGBQcm9kdWN0U3RvY2svR2V0U2VsbGluZ1F0eUxpc3ROZXc/c2hvcElkPSR7c2hvcElkfWApO1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnZmV0Y2hQcm9kdWN0U3RvY2tNb2RlbCBza3VJZExpc3Q6Jywgc2t1SWRMaXN0KTtcbiAgICAgICAgY29uc3QgZmV0Y2hQYXJhbWV0ZXJzID0ge1xuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGlkczogc2t1SWRMaXN0LnRvU3RyaW5nKCkgfSlcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmV0Y2hBcGk8UHJvZHVjdFN0b2NrRW50aXR5W10+KGFwaVVybCwgZmV0Y2hQYXJhbWV0ZXJzKTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShmZXRjaFByb2R1Y3RTdG9ja01hcHBpbmcocmVzdWx0LCBza3VJbmZvTGlzdCkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgfVxufTtcbi8qKlxuICog5pu05paw5bqr5a2Y6LOH6KiKXG4gKiBAcGFyYW0gcmVzcG9uc2UgXG4gKiBAcGFyYW0gc2t1SW5mb0xpc3QgXG4gKi9cbmNvbnN0IGZldGNoUHJvZHVjdFN0b2NrTWFwcGluZyA9IChcbiAgICByZXNwb25zZTogUHJvZHVjdFN0b2NrRW50aXR5W10sXG4gICAgc2t1SW5mb0xpc3Q6IFByb2R1Y3RTa3VJbmZvRW50aXR5W11cbik6IFByb2R1Y3RTa3VJbmZvRW50aXR5W10gPT4ge1xuICAgIGNvbnN0IHN0b2NrSW5mb0xpc3QgPSBfLmluZGV4QnkocmVzcG9uc2UsICdTYWxlUHJvZHVjdFNLVUlkJyk7XG4gICAgXy5lYWNoKHNrdUluZm9MaXN0LCBpdGVtID0+IHtcbiAgICAgICAgaXRlbS5zZWxsaW5nUXR5ID0gc3RvY2tJbmZvTGlzdFtpdGVtLnNrdUlkXS5TZWxsaW5nUXR5OyAvLyDmm7TmlrDluqvlrZjos4foqIpcbiAgICB9KTtcbiAgICByZXR1cm4gc2t1SW5mb0xpc3Q7XG59XG4iLCJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBQcm9kdWN0TWFpbkluZm8gfSBmcm9tICdAY29tcG9uZW50cy9hZGRUb0NhcnQvcHJvZHVjdC9wcm9kdWN0TWFpbkluZm8nO1xuaW1wb3J0IHsgUHJvZHVjdEdyb3VwT3B0aW9uIH0gZnJvbSAnQGNvbXBvbmVudHMvYWRkVG9DYXJ0L3Byb2R1Y3QvcHJvZHVjdEdyb3VwT3B0aW9uJztcbmltcG9ydCB7IFByb2R1Y3REaXNwbGF5UXR5LCBQcm9kdWN0Q2FydEJ1dHRvbiB9IGZyb20gJ0Bjb21wb25lbnRzL2FkZFRvQ2FydC9wcm9kdWN0L3Byb2R1Y3RRdHknO1xuaW1wb3J0IHsgUHVyY2hhc2VNZXRob2QgfSBmcm9tICdAY29tcG9uZW50cy9hZGRUb0NhcnQvcHJvZHVjdC9wdXJjaGFzZU1ldGhvZCc7XG5pbXBvcnQgeyBkZXZpY2VVdGlsaXR5IH0gZnJvbSAnQHV0aWxpdGllcy9pbmRleCc7XG5pbXBvcnQgeyBCUk9XU0lOR19NT0RFIH0gZnJvbSAnQGNvbnN0YW50cy9kZXZpY2UuY29uc3RhbnRzJztcbmltcG9ydCB7IFNhbGVQYWdlSW5mb0VudGl0eSwgUHJvZHVjdFNrdUluZm9FbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2FsZVBhZ2UubW9kZWwnO1xuaW1wb3J0IHsgZmV0Y2hQcm9kdWN0U3RvY2tNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9kdWN0U3RvY2subW9kZWwnO1xuaW1wb3J0IHsgUHJvZHVjdEluZm9FbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2hvcHBpbmdDYXJ0Lm1vZGVsJztcbmltcG9ydCB7IE1vZGVFbnVtIH0gZnJvbSAnQGNvbXBvbmVudHMvYWRkVG9DYXJ0L2VudW0nO1xuaW1wb3J0IHsgTVdlYkFwaSB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MvbXdlYkFwaSc7XG5cbmV4cG9ydCB0eXBlIFNrdVF0eU1vZGUgPSAnQWNjdW11bGF0ZScgfCAnT3ZlcndyaXRlJztcblxuaW50ZXJmYWNlIFByb2R1Y3RTa3VQcm9wcyB7XG4gICAgbW9kZToga2V5b2YgdHlwZW9mIE1vZGVFbnVtO1xuICAgIGRlY2ltYWw6IG51bWJlcjtcbiAgICBzeW1ib2w6IHN0cmluZztcbiAgICByYXRlOiBudW1iZXI7XG4gICAgc2hvcElkOiBudW1iZXI7XG4gICAgc2FsZVBhZ2VJbmZvOiBTYWxlUGFnZUluZm9FbnRpdHk7XG4gICAgc2t1SW5mb0xpc3Q6IFByb2R1Y3RTa3VJbmZvRW50aXR5W107XG4gICAgc2t1UXR5TW9kZT86IFNrdVF0eU1vZGU7XG4gICAgaGFuZGxlQWRkVG9DYXJ0PzogKHByb2R1Y3RJbmZvKSA9PiB2b2lkO1xuICAgIGhhbmRsZUFwcE9ubHk/OiAoc2hvcElkLCBzYWxlUGFnZUlkKSA9PiB2b2lkO1xuICAgIGhhbmRsZUZhY2Vib29rU2hhcmU/OiAoc2FsZVBhZ2VJZCkgPT4gdm9pZDtcbiAgICBvbkFkZFF1YW50aXR5PzogKCkgPT4gdm9pZDtcbiAgICBvblJlbW92ZVF1YW50aXR5PzogKCkgPT4gdm9pZDtcbn1cbmludGVyZmFjZSBTdGF0ZSB7XG4gICAgY3VycmVudFZhbHVlOiBudW1iZXIgfCBzdHJpbmc7XG4gICAgbWluVmFsdWU6IG51bWJlcjtcbiAgICBtYXhWYWx1ZTogbnVtYmVyO1xuICAgIHNhbGVQYWdlSW5mbzogU2FsZVBhZ2VJbmZvRW50aXR5O1xuICAgIHNrdUluZm9MaXN0OiBQcm9kdWN0U2t1SW5mb0VudGl0eVtdO1xuICAgIG1haW5JbWFnZVVybDogc3RyaW5nO1xuICAgIHNlbGVjdGVkU2t1SWQ/OiBudW1iZXI7XG4gICAgc2VsZWN0ZWRQb2ludFBheU9wdGlvbkl0ZW06IE1XZWJBcGkuV2ViU3RvcmUuRnJvbnRlbmQuQkUuU2FsZVBhZ2VWMi5Qb2ludHNQYXlQYWlyc0VudGl0eTtcbn1cblxuY29uc3QgUHJvZHVjdFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAgIHBhZGRpbmc6ICR7ZGV2aWNlVXRpbGl0eS5nZXRCcm93c2luZ01vZGUoKSA9PT0gQlJPV1NJTkdfTU9ERS5NT0JJTEUgPyAnOHB4IDEycHgnIDogJzhweCAyMHB4J307XG5gO1xuXG5jb25zdCBQcm9kdWN0U2t1Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgICBtYXgtaGVpZ2h0OiAzMjBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbmA7XG5cbmNvbnN0IFByb2R1Y3RRdHlDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDRkOWRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogJHtkZXZpY2VVdGlsaXR5LmdldEJyb3dzaW5nTW9kZSgpID09PSBCUk9XU0lOR19NT0RFLk1PQklMRSA/ICcxMnB4JyA6ICcyMHB4J307XG5gO1xuXG4vKipcbiAqIOWPluW+l+mBuOWPllNLVeWQjeeosVxuICogQHBhcmFtIGl0ZW1cbiAqIEByZXR1cm5zXG4gKi9cbmNvbnN0IGdldFNrdUxldmVscyA9IChpdGVtKSA9PiB7XG4gICAgaWYgKCFpdGVtKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc2t1S2V5TGlzdCA9IGl0ZW0uc2t1S2V5LnNwbGl0KCc7Jyk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGV2ZWwxOiBza3VLZXlMaXN0Lmxlbmd0aCA+IDAgPyBza3VLZXlMaXN0WzBdLnNwbGl0KCc6JylbM10gOiAnJyxcbiAgICAgICAgbGV2ZWwyOiBza3VLZXlMaXN0Lmxlbmd0aCA+IDEgPyBza3VLZXlMaXN0WzFdLnNwbGl0KCc6JylbM10gOiAnJyxcbiAgICB9O1xufTtcblxuLyoqXG4gKiBQcm9kdWN0U2t1IOe1hOWQiFNLVei8iemrlFxuICogQGRlc2NyaXB0aW9uIOWIhuWIpeWwh+S4ieWAi+WNgOWhiu+8jOS+neeFp+eLgOaFi+e1hOWQiOmhr+ekuu+8jOWQhOiHquaOp+WItuWFg+S7tuS6i+S7tuiZleeQhlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQcm9kdWN0U2t1IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFByb2R1Y3RTa3VQcm9wcywgU3RhdGU+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wczogUHJvZHVjdFNrdVByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgY29uc3QgeyBzYWxlUGFnZUluZm8gfSA9IHByb3BzO1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgY3VycmVudFZhbHVlOiAxLFxuICAgICAgICAgICAgbWluVmFsdWU6IDEsXG4gICAgICAgICAgICBtYXhWYWx1ZTogMCxcbiAgICAgICAgICAgIHNhbGVQYWdlSW5mbyxcbiAgICAgICAgICAgIHNrdUluZm9MaXN0OiBudWxsLFxuICAgICAgICAgICAgbWFpbkltYWdlVXJsOiBzYWxlUGFnZUluZm8gJiYgc2FsZVBhZ2VJbmZvLm1haW5JbWFnZVVybFswXS5pbWFnZVNyYyxcbiAgICAgICAgICAgIHNlbGVjdGVkU2t1SWQ6IDAsXG4gICAgICAgICAgICBzZWxlY3RlZFBvaW50UGF5T3B0aW9uSXRlbTpcbiAgICAgICAgICAgICAgICBzYWxlUGFnZUluZm8gJiYgc2FsZVBhZ2VJbmZvLnBvaW50c1BheVBhaXJzTGlzdC5sZW5ndGggPiAwID8gc2FsZVBhZ2VJbmZvLnBvaW50c1BheVBhaXJzTGlzdFswXSA6IG51bGwsXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOm7nuaTiuaMiemIleS6i+S7tuiZleeQhlxuICAgICAqL1xuICAgIGNhcnRCdXR0b25IYW5kbGVyID0gKHN0YXR1cykgPT4ge1xuICAgICAgICBjb25zdCB7IHNob3BJZCwgaGFuZGxlQWRkVG9DYXJ0LCBoYW5kbGVBcHBPbmx5LCBoYW5kbGVGYWNlYm9va1NoYXJlLCBza3VRdHlNb2RlID0gJ092ZXJ3cml0ZScgfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGNvbnN0IHsgaWQsIGhhc1BvaW50UGF5T3B0aW9uLCB0aXRsZSwgcHJpY2UsIHN1Z2dlc3RQcmljZSB9ID0gdGhpcy5zdGF0ZS5zYWxlUGFnZUluZm87XG5cbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgIC8vIOWKoOWFpeizvOeJqei7ilxuICAgICAgICAgICAgY2FzZSAnTm9ybWFsJzpcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50U2t1SXRlbSA9IF8uZmluZChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5za3VJbmZvTGlzdCxcbiAgICAgICAgICAgICAgICAgICAgKGl0ZW0pID0+IGl0ZW0uc2t1SWQgPT09IHRoaXMuc3RhdGUuc2VsZWN0ZWRTa3VJZFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgLy8g5bCB6KOdQVBJ6ZyA6KaB55qE6LOH5paZ5qC85byPXG4gICAgICAgICAgICAgICAgY29uc3QgcHJvZHVjdEluZm86IFByb2R1Y3RJbmZvRW50aXR5ID0ge1xuICAgICAgICAgICAgICAgICAgICBzaG9wSWQsXG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNhbGVQYWdlSWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IHRoaXMuc3RhdGUuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2t1SWQ6IHRoaXMuc3RhdGUuc2VsZWN0ZWRTa3VJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbmFsVHlwZUlkOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc1BvaW50UGF5T3B0aW9uICYmIHRoaXMuc3RhdGUuc2VsZWN0ZWRQb2ludFBheU9wdGlvbkl0ZW0uUGFpcnNQb2ludHMgPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5zdGF0ZS5zZWxlY3RlZFBvaW50UGF5T3B0aW9uSXRlbS5Qb2ludHNQYXlJZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbFR5cGVEZWY6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzUG9pbnRQYXlPcHRpb24gJiYgdGhpcy5zdGF0ZS5zZWxlY3RlZFBvaW50UGF5T3B0aW9uSXRlbS5QYWlyc1BvaW50cyA+IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnUG9pbnRzUGF5J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFpbkltYWdlVXJsOiB0aGlzLnN0YXRlLm1haW5JbWFnZVVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGxpbmdRdHk6IGN1cnJlbnRTa3VJdGVtPy5zZWxsaW5nUXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2t1TGV2ZWxzOiBnZXRTa3VMZXZlbHMoY3VycmVudFNrdUl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmljZTogY3VycmVudFNrdUl0ZW0/LnByaWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3VnZ2VzdFByaWNlOiBjdXJyZW50U2t1SXRlbT8uc3VnZ2VzdFByaWNlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBpc1NrdVF0eUFjY3VtdWxhdGU6IHNrdVF0eU1vZGUgPT09ICdBY2N1bXVsYXRlJyxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGhhbmRsZUFkZFRvQ2FydChwcm9kdWN0SW5mbyk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAvLyBBUFDnjajos6NcbiAgICAgICAgICAgIGNhc2UgJ0FwcE9ubHknOlxuICAgICAgICAgICAgICAgIGhhbmRsZUFwcE9ubHkoc2hvcElkLCBpZCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAvLyBGQuWIhuS6q+W+jOizvOiyt1xuICAgICAgICAgICAgY2FzZSAnU2hhcmVUb0J1eSc6XG4gICAgICAgICAgICAgICAgaGFuZGxlRmFjZWJvb2tTaGFyZShpZCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIOaUueiuiuaVuOmHj+iZleeQhlxuICAgICAqL1xuICAgIG9uQ2hhbmdlVmFsdWUgPSAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBpc05hTihwYXJzZUludChlLnRhcmdldC52YWx1ZSwgMTApKSA/ICcnIDogcGFyc2VJbnQoZS50YXJnZXQudmFsdWUsIDEwKTtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuc2VsZWN0ZWRTa3VJZCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBjdXJyZW50VmFsdWU6IG5ld1ZhbHVlID49IHRoaXMuc3RhdGUubWF4VmFsdWUgPyB0aGlzLnN0YXRlLm1heFZhbHVlIDogbmV3VmFsdWUgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgY3VycmVudFZhbHVlOiBuZXdWYWx1ZSB9KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLyoqXG4gICAgICog5aKe5Yqg5pW46YePXG4gICAgICovXG4gICAgb25JbmNyZXNlVmFsdWUgPSAoKSA9PiB7XG4gICAgICAgIC8vIOaciemBuOWPllNLVeaJjeWft+ihjOWIpOaWt+aVuOmHj+acgOWkp+WAvFxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5zZWxlY3RlZFNrdUlkID4gMCAmJiB0aGlzLnN0YXRlLmN1cnJlbnRWYWx1ZSA+PSB0aGlzLnN0YXRlLm1heFZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTdGF0ZSgoc3RhdGUpID0+ICh7IGN1cnJlbnRWYWx1ZTogKCtzdGF0ZS5jdXJyZW50VmFsdWUgfHwgMCkgKyAxIH0pKTtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25BZGRRdWFudGl0eSkge1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkFkZFF1YW50aXR5KCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIOa4m+WwkeaVuOmHj1xuICAgICAqL1xuICAgIG9uRGVjcmVzZVZhbHVlID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSArc3RhdGUuY3VycmVudFZhbHVlIC0gMTtcbiAgICAgICAgICAgIHJldHVybiB7IGN1cnJlbnRWYWx1ZTogbmV3VmFsdWUgPj0gc3RhdGUubWluVmFsdWUgPyBuZXdWYWx1ZSA6IHN0YXRlLm1pblZhbHVlIH07XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vblJlbW92ZVF1YW50aXR5KSB7XG4gICAgICAgICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlUXVhbnRpdHkoKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLyoqXG4gICAgICog6Kit5a6a5pyA5aSn5pW46YePXG4gICAgICovXG4gICAgc2V0TWF4VmFsdWUgPSAoc2t1SW5mb0xpc3Q6IFByb2R1Y3RTa3VJbmZvRW50aXR5W10sIHNlbGVjdGVkU2t1SWQ6IG51bWJlcikgPT4ge1xuICAgICAgICBfLm1hcChza3VJbmZvTGlzdCwgKHNrdUluZm8pID0+IHtcbiAgICAgICAgICAgIGlmIChza3VJbmZvLnNrdUlkID09PSBzZWxlY3RlZFNrdUlkKSB7XG4gICAgICAgICAgICAgICAgaWYgKHNrdUluZm8uc2VsbGluZ1F0eSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IG1heFZhbHVlOiBza3VJbmZvLnNlbGxpbmdRdHksIGN1cnJlbnRWYWx1ZTogMSwgbWluVmFsdWU6IDEgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8g6Kit5Zue5Yid5aeL5YC8XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBtYXhWYWx1ZTogMCwgY3VycmVudFZhbHVlOiAxLCBtaW5WYWx1ZTogMSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgLyoqXG4gICAgICog5pu05paw6YG45pOH55qEU0tVIElEXG4gICAgICovXG4gICAgdXBkYXRlU2VsZWN0ZWRTa3VJZCA9IChzZWxlY3RlZFNrdUlkOiBudW1iZXIpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNlbGVjdGVkU2t1SWQgfSk7XG4gICAgICAgIHRoaXMuc2V0TWF4VmFsdWUodGhpcy5zdGF0ZS5za3VJbmZvTGlzdCwgc2VsZWN0ZWRTa3VJZCk7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiDmm7TmlrDluqvlrZjmlbjph4/omZXnkIZcbiAgICAgKi9cbiAgICB1cGRhdGVQcm9kdWN0U3RvY2sgPSAoc2t1SW5mb0xpc3Q6IFByb2R1Y3RTa3VJbmZvRW50aXR5W10pID0+IHtcbiAgICAgICAgZmV0Y2hQcm9kdWN0U3RvY2tNb2RlbCh0aGlzLnByb3BzLnNob3BJZCwgdGhpcy5wcm9wcy5zYWxlUGFnZUluZm8uc2t1SWRMaXN0LCBza3VJbmZvTGlzdClcbiAgICAgICAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc2t1SW5mb0xpc3Q6IHJlc3VsdCB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldE1heFZhbHVlKHJlc3VsdCwgdGhpcy5zdGF0ZS5zZWxlY3RlZFNrdUlkKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiBjb25zb2xlLmxvZygnZmV0Y2hQcm9kdWN0U3RvY2tNb2RlbCBFcnJvcjonLCBlcnJvcikpO1xuICAgIH07XG4gICAgLyoqXG4gICAgICog6YG45pOH6LO86LK35pa55byPXG4gICAgICovXG4gICAgc2VsZWN0UHVyY2hhc2VNZXRob2QgPSAocG9pbnRQYXlPcHRpb25JdGVtKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoKHN0YXRlKSA9PlxuICAgICAgICAgICAgXy5leHRlbmQoXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAgeyBzZWxlY3RlZFBvaW50UGF5T3B0aW9uSXRlbTogc3RhdGUuc2VsZWN0ZWRQb2ludFBheU9wdGlvbkl0ZW0gfSxcbiAgICAgICAgICAgICAgICB7IHNlbGVjdGVkUG9pbnRQYXlPcHRpb25JdGVtOiBwb2ludFBheU9wdGlvbkl0ZW0gfVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH07XG4gICAgLyoqXG4gICAgICog5YWD5Lu25Yid5aeL5YyWXG4gICAgICovXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIGNvbnN0IHsgbWF4U2t1TGV2ZWwsIHNrdUlkTGlzdCB9ID0gdGhpcy5wcm9wcy5zYWxlUGFnZUluZm87XG4gICAgICAgIC8vIOeVtueEoVNLVemBuOmgheaZgu+8jOebtOaOpeioreWumuesrOS4gOethlNrdUlkXG4gICAgICAgIGlmIChtYXhTa3VMZXZlbCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNlbGVjdGVkU2t1SWQ6IHNrdUlkTGlzdFswXSB9LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8g5Yid5aeLUHJvZHVjdEdyb3VwT3B0aW9u5YWD5Lu277yM5YWI5Y+W5b6X5pyA5paw5bqr5a2Y5pW46YePXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVQcm9kdWN0U3RvY2sodGhpcy5wcm9wcy5za3VJbmZvTGlzdCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlUHJvZHVjdFN0b2NrKHRoaXMucHJvcHMuc2t1SW5mb0xpc3QpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IHNrdUdyb3VwTGV2ZWwxLCBza3VHcm91cExldmVsMiwgbWF4U2t1TGV2ZWwsIHN0YXR1cyB9ID0gdGhpcy5zdGF0ZS5zYWxlUGFnZUluZm87XG4gICAgICAgIGNvbnN0IHsgc2t1SW5mb0xpc3QgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgey8qIOWVhuWTgeizh+ioiiAqL31cbiAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5zYWxlUGFnZUluZm8gJiYgdGhpcy5zdGF0ZS5za3VJbmZvTGlzdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxQcm9kdWN0TWFpbkluZm9cbiAgICAgICAgICAgICAgICAgICAgICAgIHNhbGVQYWdlSW5mbz17dGhpcy5zdGF0ZS5zYWxlUGFnZUluZm99XG4gICAgICAgICAgICAgICAgICAgICAgICBza3VJbmZvTGlzdD17dGhpcy5zdGF0ZS5za3VJbmZvTGlzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUHVyY2hhc2VNZXRob2Q9e3RoaXMuc3RhdGUuc2VsZWN0ZWRQb2ludFBheU9wdGlvbkl0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgICBza3VJZD17dGhpcy5zdGF0ZS5zZWxlY3RlZFNrdUlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbD17dGhpcy5wcm9wcy5kZWNpbWFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sPXt0aGlzLnByb3BzLnN5bWJvbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJhdGU9e3RoaXMucHJvcHMucmF0ZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIHsvKiDllYblk4HpgbjpoIXmuIXllq4gKi99XG4gICAgICAgICAgICAgICAgICAgIHsobWF4U2t1TGV2ZWwgPiAwIHx8IHRoaXMuc3RhdGUuc2FsZVBhZ2VJbmZvLmhhc1BvaW50UGF5T3B0aW9uKSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8UHJvZHVjdFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFByb2R1Y3RTa3VDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtza3VJbmZvTGlzdCAmJiBza3VJbmZvTGlzdC5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9kdWN0R3JvdXBPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza3VJbmZvTGlzdD17c2t1SW5mb0xpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2t1R3JvdXA9e3sgc2t1R3JvdXBMZXZlbDEsIHNrdUdyb3VwTGV2ZWwyIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4U2t1TGV2ZWw9e21heFNrdUxldmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNlbGVjdGVkU2t1SWQ9e3RoaXMudXBkYXRlU2VsZWN0ZWRTa3VJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVQcm9kdWN0U3RvY2s9e3RoaXMudXBkYXRlUHJvZHVjdFN0b2NrfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3RoaXMucHJvcHMubW9kZSAhPT0gJ0Nob29zZScgJiYgdGhpcy5zdGF0ZS5zYWxlUGFnZUluZm8uaGFzUG9pbnRQYXlPcHRpb24gJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFB1cmNoYXNlTWV0aG9kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVyY2hhc2VNZXRob2RMaXN0PXt0aGlzLnN0YXRlLnNhbGVQYWdlSW5mby5wb2ludHNQYXlQYWlyc0xpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRQdXJjaGFzZU1ldGhvZD17dGhpcy5zdGF0ZS5zZWxlY3RlZFBvaW50UGF5T3B0aW9uSXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdFB1cmNoYXNlTWV0aG9kPXt0aGlzLnNlbGVjdFB1cmNoYXNlTWV0aG9kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWw9e3RoaXMucHJvcHMuZGVjaW1hbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2w9e3RoaXMucHJvcHMuc3ltYm9sfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhdGU9e3RoaXMucHJvcHMucmF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9kdWN0U2t1Q29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Qcm9kdWN0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPFByb2R1Y3RRdHlDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Lyog5ZWG5ZOB5pW46YeP6aGv56S6ICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgPFByb2R1Y3REaXNwbGF5UXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFZhbHVlPXt0aGlzLnN0YXRlLmN1cnJlbnRWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhWYWx1ZT17dGhpcy5zdGF0ZS5tYXhWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW5WYWx1ZT17dGhpcy5zdGF0ZS5taW5WYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkluY3Jlc2VWYWx1ZT17dGhpcy5vbkluY3Jlc2VWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkRlY3Jlc2VWYWx1ZT17dGhpcy5vbkRlY3Jlc2VWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZVZhbHVlPXt0aGlzLm9uQ2hhbmdlVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgey8qIOaMiemIleeLgOaFi+mhr+ekuiAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9kdWN0Q2FydEJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9e3RoaXMucHJvcHMubW9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9e3N0YXR1c31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50VmFsdWU9e3RoaXMuc3RhdGUuY3VycmVudFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFZhbHVlPXt0aGlzLnN0YXRlLm1heFZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pblZhbHVlPXt0aGlzLnN0YXRlLm1pblZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2tlZD17dGhpcy5jYXJ0QnV0dG9uSGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvUHJvZHVjdFF0eUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBydW50aW1lTW9kZVV0aWxpdHkgfSBmcm9tICdAdXRpbGl0aWVzL2luZGV4JztcblxuaW50ZXJmYWNlIElTbGlkZVB1c2hNZW51UHJvcHMge1xuICAgIGlzT3BlbjogYm9vbGVhbjtcbiAgICBpc1Nob3dDbG9zZTogYm9vbGVhbjtcbiAgICBvcGVuRGlyZWN0aW9uOiBzdHJpbmc7XG4gICAgZnJlZXplQ2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgb25BZnRlckNsb3NlOiAoKSA9PiB2b2lkO1xufVxuXG5jb25zdCBCYWNrZHJvcCA9IHN0eWxlZC5kaXY8eyBpc09wZW46IGJvb2xlYW4gfT5gXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG5cbiAgICAkeyhwcm9wcykgPT4ge1xuICAgICAgICByZXR1cm4gcHJvcHMuaXNPcGVuXG4gICAgICAgICAgICA/IGBcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIGBcbiAgICAgICAgICAgIDogYFxuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBgO1xuICAgIH19XG5gO1xuXG5jb25zdCBCYXNlQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTAwMDE7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm90dG9tOiAtNzV2aDtcbmA7XG5cbmNvbnN0IEJvdHRvbUNvbnRhaW5lciA9IHN0eWxlZChCYXNlQ29udGFpbmVyKTx7IGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIGJvdHRvbTogJHsocHJvcHMpID0+IChwcm9wcy5pc09wZW4gPyAnMCcgOiAnLTc1Jyl9O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4ICM2NjY7XG5gO1xuXG5jb25zdCBMZWZ0Q29udGFpbmVyID0gc3R5bGVkKEJhc2VDb250YWluZXIpPHsgaXNPcGVuOiBib29sZWFuIH0+YFxuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAkeyhwcm9wcykgPT4gKHByb3BzLmlzT3BlbiA/ICcwJyA6ICctODAlJyl9O1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggIzY2NjtcbmA7XG5cbmNvbnN0IENsb3NlQnV0dG9uID0gc3R5bGVkLmFgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAxOXB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuYDtcblxuLyoqXG4gKiDmjqjljYrpoIHlhYPku7ZcbiAqL1xuY29uc3QgU2xpZGVQdXNoTWVudTogRkM8SVNsaWRlUHVzaE1lbnVQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGlzT3BlbiwgaXNTaG93Q2xvc2UsIG9wZW5EaXJlY3Rpb24sIGZyZWV6ZUNsYXNzTmFtZSwgb25BZnRlckNsb3NlIH0gPSBwcm9wcztcbiAgICBjb25zdCBDb250YWluZXIgPSBvcGVuRGlyZWN0aW9uICE9PSAnbGVmdCcgPyBCb3R0b21Db250YWluZXIgOiBMZWZ0Q29udGFpbmVyO1xuICAgIGNvbnN0IFtpc09wZW5NZW51LCBzZXRJc09wZW5NZW51XSA9IHVzZVN0YXRlKGlzT3Blbik7XG4gICAgY29uc3QgZnJlZXplQm9keSA9IChpc0ZpeGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmIChydW50aW1lTW9kZVV0aWxpdHkuY2hlY2tJc0NsaWVudFJlbmRlcigpKSB7XG4gICAgICAgICAgICBpZiAoaXNGaXhlZCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoZnJlZXplQ2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgd2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZShmcmVlemVDbGFzc05hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IG9uQ2xvc2VNZW51ID0gKCkgPT4ge1xuICAgICAgICBzZXRJc09wZW5NZW51KGZhbHNlKTtcbiAgICAgICAgb25BZnRlckNsb3NlKCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHNldElzT3Blbk1lbnUoaXNPcGVuKTtcbiAgICAgICAgZnJlZXplQm9keShpc09wZW4pO1xuICAgIH0sIFtpc09wZW5dKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgIDxCYWNrZHJvcCBpc09wZW49e2lzT3Blbk1lbnV9IG9uQ2xpY2s9e29uQ2xvc2VNZW51fSAvPlxuICAgICAgICAgICAgPENvbnRhaW5lclxuICAgICAgICAgICAgICAgIGlkPXtvcGVuRGlyZWN0aW9uID09PSAnbGVmdCcgPyAnc3Bhcmstc2xpZGUtcHVzaC1tZW51X19sZWZ0LWNvbnRhaW50ZXInIDogJyd9XG4gICAgICAgICAgICAgICAgaXNPcGVuPXtpc09wZW5NZW51fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpc1Nob3dDbG9zZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxDbG9zZUJ1dHRvbiBvbkNsaWNrPXtvbkNsb3NlTWVudX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uIGljb24tc2xpbS1jbG9zZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvQ2xvc2VCdXR0b24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApO1xufTtcblxuU2xpZGVQdXNoTWVudS5kZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNPcGVuOiBmYWxzZSxcbiAgICBpc1Nob3dDbG9zZTogdHJ1ZSxcbiAgICBvcGVuRGlyZWN0aW9uOiAnYm90dG9tJyxcbiAgICBmcmVlemVDbGFzc05hbWU6ICdmcmVlemUtLXN0cmljdGx5Jyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNsaWRlUHVzaE1lbnU7XG4iLCJpbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0IHsgZmV0Y2hBcGkgfSBmcm9tICcuLi9wcm92aWRlcnMvaHR0cC5wcm92aWRlcic7XG5pbXBvcnQgeyBnZXRNd2ViQXBpVXJsIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3BhdGgudXRpbGl0eSc7XG5pbXBvcnQgeyBNV2ViQXBpIH0gZnJvbSAnLi4vdHlwaW5ncy9td2ViQXBpJztcblxuZXhwb3J0IGludGVyZmFjZSBBcGlSZXN1bHQ8VD4ge1xuICAgIFJldHVybkNvZGU6IHN0cmluZztcbiAgICBEYXRhOiBUO1xuICAgIE1lc3NhZ2U6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU2FsZVBhZ2VJbmZvRW50aXR5IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIHN0YXR1czogc3RyaW5nO1xuICAgIHByaWNlOiBudW1iZXI7XG4gICAgc3VnZ2VzdFByaWNlPzogbnVtYmVyO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgbWFpbkltYWdlVXJsOiBQcm9kdWN0SW1hZ2VJbmZvRW50aXR5W107XG4gICAgc2t1SWRMaXN0OiBudW1iZXJbXTtcbiAgICBza3VHcm91cExldmVsMT86IFByb2R1Y3RTa3VHcm91cEVudGl0eTtcbiAgICBza3VHcm91cExldmVsMj86IFByb2R1Y3RTa3VHcm91cEVudGl0eTtcbiAgICBtYXhTa3VMZXZlbDogbnVtYmVyO1xuICAgIG1heFByaWNlOiBudW1iZXI7XG4gICAgbWF4U3VnZ2VzdFByaWNlOiBudW1iZXI7XG4gICAgbWluUHJpY2U6IG51bWJlcjtcbiAgICBtaW5TdWdnZXN0UHJpY2U6IG51bWJlcjtcbiAgICBoYXNQb2ludFBheU9wdGlvbjogYm9vbGVhbjtcbiAgICBwb2ludHNQYXlQYWlyc0xpc3Q6IE1XZWJBcGkuV2ViU3RvcmUuRnJvbnRlbmQuQkUuU2FsZVBhZ2VWMi5Qb2ludHNQYXlQYWlyc0VudGl0eVtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0SW1hZ2VJbmZvRW50aXR5IHtcbiAgICBza3VOYW1lOiBzdHJpbmc7XG4gICAgaW1hZ2VTcmM6IHN0cmluZztcbiAgICBza3VJZDogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0U2t1S2V5RW50aXR5IHtcbiAgICBza3VOYW1lOiBzdHJpbmc7XG4gICAgc2t1S2V5OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RTa3VHcm91cEVudGl0eSB7XG4gICAgc2t1R3JvdXBOYW1lOiBzdHJpbmc7XG4gICAgc2t1S2V5TGlzdDogUHJvZHVjdFNrdUtleUVudGl0eVtdO1xufVxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0U2t1SW5mb0VudGl0eSB7XG4gICAgaXNTaG93OiBib29sZWFuO1xuICAgIHNrdUtleTogc3RyaW5nO1xuICAgIHNrdUlkOiBudW1iZXI7XG4gICAgc2VsbGluZ1F0eTogbnVtYmVyO1xuICAgIHByaWNlOiBudW1iZXI7XG4gICAgc3VnZ2VzdFByaWNlOiBudW1iZXI7XG59XG4vKipcbiAqIOWPluW+l+WVhuWTgeeLgOaFi1xuICogQHBhcmFtIHNhbGVQYWdlSWQgXG4gKi9cbmV4cG9ydCBjb25zdCBmZXRjaFNhbGVQYWdlU3RhdHVzTW9kZWwgPSBhc3luYyAoc2FsZVBhZ2VJZDogbnVtYmVyKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgYXBpVXJsID0gZ2V0TXdlYkFwaVVybChgU2FsZVBhZ2VTdGF0dXMvR2V0U2FsZVBhZ2VTdGF0dXMvJHtzYWxlUGFnZUlkfWApO1xuICAgICAgICBjb25zdCBmZXRjaFBhcmFtZXRlcnMgPSB7XG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJ1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmZXRjaEFwaTxzdHJpbmc+KGFwaVVybCwgZmV0Y2hQYXJhbWV0ZXJzKTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgfVxufTtcblxuLyoqXG4gKiDlj5blvpfllYblk4Hos4foqIpcbiAqIEBkZXNjcmlwdGlvbiDmraRBUEnovIPlrozmlbTllYblk4Hos4foqIpcbiAqIEBwYXJhbSBzaG9wSWQgXG4gKiBAcGFyYW0gc2FsZVBhZ2VJZCBcbiAqL1xuZXhwb3J0IGNvbnN0IGZldGNoU2FsZVBhZ2VJbmZvTW9kZWwgPSBhc3luYyAoc2hvcElkOiBudW1iZXIsIHNhbGVQYWdlSWQ6IG51bWJlcikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGFwaVVybCA9IGdldE13ZWJBcGlVcmwoYFNhbGVQYWdldjIvR2V0U2FsZVBhZ2VWMkluZm8vJHtzaG9wSWR9LyR7c2FsZVBhZ2VJZH0/aGFzU2hvdzJMZXZlbEFsbEltYWdlTGlzdD10cnVlYCx0cnVlKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmV0Y2hBcGk8QXBpUmVzdWx0PE1XZWJBcGkuV2ViU3RvcmUuRnJvbnRlbmQuQkUuU2FsZVBhZ2VWMi5TYWxlUGFnZVYyRW50aXR5Pj4oYXBpVXJsKTtcbiAgICAgICAgY29uc3QgeyBSZXR1cm5Db2RlLCBEYXRhLCBNZXNzYWdlfSA9IHJlc3VsdDtcbiAgICAgICAgaWYoUmV0dXJuQ29kZSA9PT0gJ0FQSTAwMDEnKSB7XG4gICAgICAgICAgICAvLyDlj5blvpfllYblk4Hni4DmhYsgQVBJXG4gICAgICAgICAgICBjb25zdCBzdGF0dXMgPSBhd2FpdCBmZXRjaFNhbGVQYWdlU3RhdHVzTW9kZWwoc2FsZVBhZ2VJZCk7XG4gICAgICAgICAgICBEYXRhLlN0YXR1c0RlZiA9IGdldFNhbGVQYWdlU3RhdHVzKHN0YXR1cywgRGF0YS5Jc0FQUE9ubHksIERhdGEuSXNTaGFyZVRvQnV5KTtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmV0Y2hTYWxlUGFnZUluZm9NYXBwaW5nKERhdGEpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChNZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgfVxufTtcblxuLyoqXG4gKiDliKTmlrfllYblk4Hni4DmhYvomZXnkIZcbiAqIEBwYXJhbSBzdGF0dXMgXG4gKiBAcGFyYW0gaXNBcHBPbmx5IFxuICogQHBhcmFtIGlzU2hhcmVUb0J1eSBcbiAqL1xuY29uc3QgZ2V0U2FsZVBhZ2VTdGF0dXMgPSAoc3RhdHVzOiBzdHJpbmcsIGlzQXBwT25seTogYm9vbGVhbiwgaXNTaGFyZVRvQnV5OiBib29sZWFuKSA9PiB7XG4gICAgbGV0IHR5cGUgPSBzdGF0dXM7XG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgIGNhc2UgaXNBcHBPbmx5ICYmIGlzU2hhcmVUb0J1eTpcbiAgICAgICAgICAgIC8vIEFQUOeNqOizo+asiumHjeavlOWIhuS6q+W+jOizvOiyt+mrmFxuICAgICAgICAgICAgdHlwZSA9ICdBcHBPbmx5JztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIGlzQXBwT25seTpcbiAgICAgICAgICAgIHR5cGUgPSAnQXBwT25seSc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBpc1NoYXJlVG9CdXk6XG4gICAgICAgICAgICB0eXBlID0gJ1NoYXJlVG9CdXknO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiB0eXBlO1xufTtcblxuLyoqXG4gKiDmlbTnkIZBUEnlm57mh4nnmoTllYblk4Hos4fmlpnomZXnkIZcbiAqIEBwYXJhbSBkYXRhIFxuICovXG5jb25zdCBmZXRjaFNhbGVQYWdlSW5mb01hcHBpbmcgPSAoZGF0YTogTVdlYkFwaS5XZWJTdG9yZS5Gcm9udGVuZC5CRS5TYWxlUGFnZVYyLlNhbGVQYWdlVjJFbnRpdHkpID0+IHtcbiAgICBjb25zdCBza3VMaXN0ID0gZGF0YS5NYWpvckxpc3RbMF0uU0tVTGlzdDtcbiAgICBsZXQgbWF4U2t1TGV2ZWw7XG5cbiAgICBpZiAoc2t1TGlzdCAmJiBza3VMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgaWYgKHNrdUxpc3QubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBtYXhTa3VMZXZlbCA9IHNrdUxpc3RbMF0uVGl0bGUgPT09ICctMScgPyAwIDogMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1heFNrdUxldmVsID0gMjtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIG1heFNrdUxldmVsID0gMDtcbiAgICB9XG5cbiAgICAvLyDovYnmj5vnrKzkuIDpmo5rZXnlgLzmuIXllq5cbiAgICBjb25zdCBza3VLZXlMaXN0TGV2ZWwxOiBQcm9kdWN0U2t1S2V5RW50aXR5W10gPSBtYXhTa3VMZXZlbCA+IDAgPyBfLm1hcChza3VMaXN0WzBdLlByb3BlcnR5TGlzdCwgaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBza3VOYW1lOiBpdGVtLk5hbWUsXG4gICAgICAgICAgICBza3VLZXk6IGl0ZW0uUHJvcGVydHlOYW1lU2V0LFxuICAgICAgICB9O1xuICAgIH0pIDogW107XG4gICAgLy8g57WE5ZCI56ys5LiA6ZqO6LOH6KiKXG4gICAgY29uc3Qgc2t1R3JvdXBMZXZlbDE6IFByb2R1Y3RTa3VHcm91cEVudGl0eSA9IHtcbiAgICAgICAgc2t1R3JvdXBOYW1lOiBza3VMaXN0Lmxlbmd0aCA+IDAgPyBza3VMaXN0WzBdLlRpdGxlIDogJy0xJyxcbiAgICAgICAgc2t1S2V5TGlzdDogc2t1S2V5TGlzdExldmVsMSxcbiAgICB9O1xuICAgIC8vIOi9ieaPm+esrOS6jOmajmtleeWAvOa4heWWru+8jOWmguaenOaykuacieS6jOmajuWbnuWCs+epuumZo+WIl1xuICAgIGNvbnN0IHNrdUtleUxpc3RMZXZlbDI6IFByb2R1Y3RTa3VLZXlFbnRpdHlbXSA9XG4gICAgICAgIG1heFNrdUxldmVsID09PSAyXG4gICAgICAgICAgICA/IF8ubWFwKHNrdUxpc3RbMV0uUHJvcGVydHlMaXN0LCBpdGVtID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgc2t1TmFtZTogaXRlbS5OYW1lLFxuICAgICAgICAgICAgICAgICAgICAgIHNrdUtleTogaXRlbS5Qcm9wZXJ0eU5hbWVTZXQsXG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgOiBbXTtcbiAgICAvLyDntYTlkIjnrKzkuozpmo7os4foqIpcbiAgICBjb25zdCBza3VHcm91cExldmVsMjogUHJvZHVjdFNrdUdyb3VwRW50aXR5ID1cbiAgICAgICAgbWF4U2t1TGV2ZWwgPT09IDJcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgc2t1R3JvdXBOYW1lOiBza3VMaXN0WzFdLlRpdGxlLFxuICAgICAgICAgICAgICAgICAgc2t1S2V5TGlzdDogc2t1S2V5TGlzdExldmVsMixcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIC8vIFNLVeWIneWni+izh+aWmea4heWWrlxuICAgIGNvbnN0IHNrdUluZm9MaXN0OiBQcm9kdWN0U2t1SW5mb0VudGl0eVtdID0gXy5tYXAoZGF0YS5TS1VQcm9wZXJ0eVNldExpc3QsIGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaXNTaG93OiBpdGVtLklzU2hvdyxcbiAgICAgICAgICAgIHNrdUtleTogaXRlbS5Qcm9wZXJ0eU5hbWVTZXQsXG4gICAgICAgICAgICBza3VJZDogaXRlbS5TYWxlUHJvZHVjdFNLVUlkLFxuICAgICAgICAgICAgc2VsbGluZ1F0eTogaXRlbS5TZWxsaW5nUXR5LCAvLyDlj6/llK7luqvlrZjmlbjph4/vvIzlt7LntpPljIXlkKvlj5blvpfjgIznlbbliY3luqvlrZjjgI3lj4rjgIzkuIDmrKHos7zosrfmnIDlpKfmlbjph4/jgI3nmoTmnIDlsI/lgLzkuqTpm4bvvIzkuI3pnIDopoHpoY3lpJbnmoRPbmNlUXR55qyE5L2N5Yik5pa3XG4gICAgICAgICAgICBwcmljZTogaXRlbS5QcmljZSxcbiAgICAgICAgICAgIHN1Z2dlc3RQcmljZTogaXRlbS5TdWdnZXN0UHJpY2VcbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICAvLyBTS1XllYblk4HlnJbmuIXllq5cbiAgICBjb25zdCBpbWFnZUluZm9MaXN0OiBQcm9kdWN0SW1hZ2VJbmZvRW50aXR5W10gPSBfLm1hcChkYXRhLkltYWdlTGlzdCwgaXRlbSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBza3VJZDogaXRlbS5JZCxcbiAgICAgICAgICAgIHNrdU5hbWU6IGl0ZW0uU0tVUHJvcGVydHlOYW1lU2V0LFxuICAgICAgICAgICAgaW1hZ2VTcmM6IGl0ZW0uUGljVXJsLFxuICAgICAgICB9O1xuICAgIH0pO1xuICAgIC8vIOe1hOWQiOWFg+S7tuWVhuWTgeizh+aWmeagvOW8j1xuICAgIGNvbnN0IHNhbGVQYWdlSW5mbzogU2FsZVBhZ2VJbmZvRW50aXR5ID0ge1xuICAgICAgICBtYXhTa3VMZXZlbCxcbiAgICAgICAgc2t1R3JvdXBMZXZlbDEsXG4gICAgICAgIHNrdUdyb3VwTGV2ZWwyLFxuICAgICAgICBpZDogZGF0YS5JZCxcbiAgICAgICAgc3RhdHVzOiBkYXRhLlN0YXR1c0RlZixcbiAgICAgICAgbWFpbkltYWdlVXJsOiBpbWFnZUluZm9MaXN0LFxuICAgICAgICBwcmljZTogZGF0YS5QcmljZSxcbiAgICAgICAgdGl0bGU6IGRhdGEuVGl0bGUsXG4gICAgICAgIHNrdUlkTGlzdDogZGF0YS5TYWxlUHJvZHVjdFNLVUlkTGlzdCxcbiAgICAgICAgc3VnZ2VzdFByaWNlOiBkYXRhLlN1Z2dlc3RQcmljZSxcbiAgICAgICAgbWF4UHJpY2U6IGRhdGEuTWF4UHJpY2UsXG4gICAgICAgIG1heFN1Z2dlc3RQcmljZTogZGF0YS5NYXhTdWdnZXN0UHJpY2UsXG4gICAgICAgIG1pblByaWNlOiBkYXRhLk1pblByaWNlLFxuICAgICAgICBtaW5TdWdnZXN0UHJpY2U6IGRhdGEuTWluU3VnZ2VzdFByaWNlLFxuICAgICAgICBoYXNQb2ludFBheU9wdGlvbjogZGF0YS5Qb2ludHNQYXlQYWlyc0xpc3QgJiYgZGF0YS5Qb2ludHNQYXlQYWlyc0xpc3QubGVuZ3RoID4gMCxcbiAgICAgICAgcG9pbnRzUGF5UGFpcnNMaXN0OiBkYXRhLlBvaW50c1BheVBhaXJzTGlzdFxuICAgIH07XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2FsZVBhZ2VJbmZvLFxuICAgICAgICBza3VJbmZvTGlzdCxcbiAgICB9O1xufVxuIiwiaW1wb3J0ICogYXMgXyBmcm9tICd1bmRlcnNjb3JlJztcbmltcG9ydCB7IGZldGNoQXBpIH0gZnJvbSAnLi4vcHJvdmlkZXJzL2h0dHAucHJvdmlkZXInO1xuaW1wb3J0IHsgZ2V0TXdlYkFwaVVybCB9IGZyb20gJy4uL3V0aWxpdGllcy9wYXRoLnV0aWxpdHknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwaVJlc3VsdDxUPiB7XG4gICAgUmV0dXJuQ29kZTogc3RyaW5nO1xuICAgIERhdGE6IFQ7XG4gICAgTWVzc2FnZTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFNrdUxldmVsRW50aXR5IHtcbiAgICBsZXZlbDE6IHN0cmluZztcbiAgICBsZXZlbDI6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZHVjdFBheWxvYWRFbnRpdHkge1xuICAgIHNhbGVQYWdlSWQ6IG51bWJlcjtcbiAgICBxdWFudGl0eTogbnVtYmVyIHwgc3RyaW5nO1xuICAgIHNrdUlkOiBudW1iZXI7XG4gICAgT3B0aW9uYWxUeXBlSWQ6IG51bWJlcjtcbiAgICBPcHRpb25hbFR5cGVEZWY6IHN0cmluZztcbiAgICBtYWluSW1hZ2VVcmw6IHN0cmluZztcbiAgICBzZWxsaW5nUXR5OiBhbnk7XG4gICAgc2t1TGV2ZWxzOiBTa3VMZXZlbEVudGl0eTtcbiAgICBwcmljZTogbnVtYmVyO1xuICAgIHN1Z2dlc3RQcmljZTogbnVtYmVyO1xuICAgIHRpdGxlOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RJbmZvRW50aXR5IHtcbiAgICBpc1NrdVF0eUFjY3VtdWxhdGU6IGJvb2xlYW47XG4gICAgc2hvcElkOiBudW1iZXI7XG4gICAgcGF5bG9hZDogUHJvZHVjdFBheWxvYWRFbnRpdHk7XG59XG4vKipcbiAqIOWVhuWTgeWKoOWFpeizvOeJqei7ilxuICogQHBhcmFtIHBhcmFtcyBcbiAqL1xuZXhwb3J0IGNvbnN0IGFkZFNob3BwaW5nQ2FydE1vZGVsID0gYXN5bmMgKHBhcmFtczogUHJvZHVjdEluZm9FbnRpdHkpID0+IHtcbiAgICBjb25zdCB7IHNob3BJZCwgcGF5bG9hZCwgaXNTa3VRdHlBY2N1bXVsYXRlID0gZmFsc2UgfSA9IHBhcmFtcztcbiAgICBjb25zdCB7IHNhbGVQYWdlSWQsIHF1YW50aXR5LCBza3VJZCwgT3B0aW9uYWxUeXBlSWQsIE9wdGlvbmFsVHlwZURlZiB9ID0gcGF5bG9hZDtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBhcGlVcmwgPSBnZXRNd2ViQXBpVXJsKGBTaG9wcGluZ0NhcnRWNC9JbnNlcnRJdGVtP3Nob3BJZD0ke3Nob3BJZH1gKTtcbiAgICAgICAgY29uc3QgZmV0Y2hQYXJhbWV0ZXJzID0ge1xuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgc2hvcElkLFxuICAgICAgICAgICAgICAgIHNhbGVQYWdlSWQsXG4gICAgICAgICAgICAgICAgcXR5OiBxdWFudGl0eSxcbiAgICAgICAgICAgICAgICBzYWxlUHJvZHVjdFNLVUlkOiBza3VJZCxcbiAgICAgICAgICAgICAgICBPcHRpb25hbFR5cGVJZCxcbiAgICAgICAgICAgICAgICBPcHRpb25hbFR5cGVEZWYsXG4gICAgICAgICAgICAgICAgSXNTa3VRdHlBY2N1bXVsYXRlOiBpc1NrdVF0eUFjY3VtdWxhdGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZmV0Y2hBcGk8QXBpUmVzdWx0PHN0cmluZz4+KGFwaVVybCwgZmV0Y2hQYXJhbWV0ZXJzKTtcbiAgICAgICAgaWYgKHJlc3VsdC5SZXR1cm5Db2RlID09PSAnQVBJNTEwMScpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0LkRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KHJlc3VsdC5NZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gICAgfVxufTtcbiIsImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEkxOG4gfSBmcm9tICdyZWFjdC1yZWR1eC1pMThuJztcbmltcG9ydCB7IFRvYXN0LCBMb2FkaW5nLCBnZXRUb2FzdE1lc3NhZ2VJdGVtLCBEaWFsb2cgfSBmcm9tICdAY29tcG9uZW50cy9pbmRleCc7XG5pbXBvcnQgeyBUUkFOU0xBVEVfTE9DQUxFX0tFWSB9IGZyb20gJ0Bjb25zdGFudHMvdHJhbnNsYXRpb24uY29uc3RhbnRzJztcbmltcG9ydCB7IEJST1dTSU5HX01PREUgfSBmcm9tICdAY29uc3RhbnRzL2RldmljZS5jb25zdGFudHMnO1xuaW1wb3J0IHsgZGV2aWNlVXRpbGl0eSB9IGZyb20gJ0B1dGlsaXRpZXMvaW5kZXgnO1xuaW1wb3J0IFByb2R1Y3RTa3UsIHsgU2t1UXR5TW9kZSB9IGZyb20gJ0Bjb21wb25lbnRzL2FkZFRvQ2FydC9wcm9kdWN0L3Byb2R1Y3RTa3UnO1xuaW1wb3J0IFNsaWRlUHVzaE1lbnUgZnJvbSAnLi9zbGlkZVB1c2hNZW51JztcbmltcG9ydCB7IGZldGNoU2FsZVBhZ2VJbmZvTW9kZWwsIFNhbGVQYWdlSW5mb0VudGl0eSwgUHJvZHVjdFNrdUluZm9FbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2FsZVBhZ2UubW9kZWwnO1xuaW1wb3J0IHsgYWRkU2hvcHBpbmdDYXJ0TW9kZWwsIFByb2R1Y3RJbmZvRW50aXR5LCBQcm9kdWN0UGF5bG9hZEVudGl0eSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9zaG9wcGluZ0NhcnQubW9kZWwnO1xuaW1wb3J0IHsgTW9kZUVudW0gfSBmcm9tICdAY29tcG9uZW50cy9hZGRUb0NhcnQvZW51bSc7XG5cbmludGVyZmFjZSBBZGRUb0NhcnRQcm9wcyB7XG4gICAgbW9kZT86IGtleW9mIHR5cGVvZiBNb2RlRW51bTtcbiAgICBkZWNpbWFsOiBudW1iZXI7XG4gICAgc3ltYm9sOiBzdHJpbmc7XG4gICAgcmF0ZTogbnVtYmVyO1xuICAgIHNob3BJZDogbnVtYmVyO1xuICAgIHNhbGVQYWdlSWQ6IG51bWJlcjtcbiAgICBmYWNlYm9vaz86IGFueTtcbiAgICBza3VRdHlNb2RlPzogU2t1UXR5TW9kZTtcbiAgICBhZnRlclN1Y2Nlc3M/OiAocGF5bG9hZDogUHJvZHVjdFBheWxvYWRFbnRpdHkpID0+IHZvaWQ7XG4gICAgYWZ0ZXJDbG9zZT86ICgpID0+IHZvaWQ7XG4gICAgaGFuZGxlUmVkaXJlY3REZWVwTGluaz86ICgpID0+IHZvaWQ7XG4gICAgb25BZGRRdWFudGl0eT86ICgpID0+IHZvaWQ7XG4gICAgb25SZW1vdmVRdWFudGl0eT86ICgpID0+IHZvaWQ7XG59XG5pbnRlcmZhY2UgU3RhdGVzIHtcbiAgICBtb2RlOiBrZXlvZiB0eXBlb2YgTW9kZUVudW07XG4gICAgc2FsZVBhZ2VJZDogbnVtYmVyO1xuICAgIGlzT3BlblNrdTogYm9vbGVhbjtcbiAgICBpc09wZW5Ub2FzdDogYm9vbGVhbjtcbiAgICBpc09wZW5Mb2FkOiBib29sZWFuO1xuICAgIGlzT3BlbkRpYWxvZzogYm9vbGVhbjtcbiAgICB0b2FzdFR5cGU6IHN0cmluZztcbiAgICB0b2FzdE1lc3NhZ2U6IHN0cmluZztcbiAgICBkaWFsb2dNZXNzYWdlOiBzdHJpbmc7XG4gICAgc2FsZVBhZ2VJbmZvOiBTYWxlUGFnZUluZm9FbnRpdHk7XG4gICAgc2t1SW5mb0xpc3Q6IFByb2R1Y3RTa3VJbmZvRW50aXR5W107XG4gICAgcHJvZHVjdEluZm86IFByb2R1Y3RJbmZvRW50aXR5O1xuICAgIHNrdVF0eU1vZGU6IFNrdVF0eU1vZGU7XG59XG4vKipcbiAqIOaJi+apn+eJiCAtIFNLVSBQb3B1cOaooee1hFxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBZGRUb0NhcnQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8QWRkVG9DYXJ0UHJvcHMsIFN0YXRlcz4ge1xuICAgIGNvbnN0cnVjdG9yKHByb3BzOiBBZGRUb0NhcnRQcm9wcykge1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBtb2RlOiBwcm9wcy5tb2RlIHx8ICdOb3JtYWwnLFxuICAgICAgICAgICAgc2FsZVBhZ2VJZDogcHJvcHMuc2FsZVBhZ2VJZCxcbiAgICAgICAgICAgIGlzT3BlblNrdTogZmFsc2UsXG4gICAgICAgICAgICBpc09wZW5Ub2FzdDogZmFsc2UsXG4gICAgICAgICAgICBpc09wZW5Mb2FkOiBmYWxzZSxcbiAgICAgICAgICAgIGlzT3BlbkRpYWxvZzogZmFsc2UsXG4gICAgICAgICAgICB0b2FzdFR5cGU6ICcnLFxuICAgICAgICAgICAgdG9hc3RNZXNzYWdlOiAnJyxcbiAgICAgICAgICAgIGRpYWxvZ01lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgc2FsZVBhZ2VJbmZvOiBudWxsLFxuICAgICAgICAgICAgc2t1SW5mb0xpc3Q6IG51bGwsXG4gICAgICAgICAgICBwcm9kdWN0SW5mbzogbnVsbCxcbiAgICAgICAgICAgIHNrdVF0eU1vZGU6IHByb3BzLnNrdVF0eU1vZGUgfHwgJ092ZXJ3cml0ZScsXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOaqouafpeaYr+WQpumWi+WVnyBTS1UgUG9wdXBcbiAgICAgKi9cbiAgICBjaGVja0FkZFRvQ2FydERpcmVjdCA9IChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2FsZVBhZ2VJbmZvLCBza3VJbmZvTGlzdCB9ID0gZGF0YTtcbiAgICAgICAgY29uc3QgeyBzdGF0dXMgfSA9IHNhbGVQYWdlSW5mbztcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgJ0FwcE9ubHknOlxuICAgICAgICAgICAgY2FzZSAnU2hhcmVUb0J1eSc6XG4gICAgICAgICAgICBjYXNlICdOb3JtYWwnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW5Mb2FkOiBmYWxzZSwgaXNPcGVuU2t1OiB0cnVlLCBzYWxlUGFnZUluZm8sIHNrdUluZm9MaXN0IH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuTG9hZDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TWVzc2FnZShzdGF0dXMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiDliqDlhaXos7znianou4romZXnkIZcbiAgICAgKi9cbiAgICBoYW5kbGVBZGRUb0NhcnQgPSAocHJvZHVjdEluZm86IFByb2R1Y3RJbmZvRW50aXR5KSA9PiB7XG4gICAgICAgIC8vIOaqouafpeaYr+WQpumBuOWPluaVuOmHj1xuICAgICAgICBpZiAocHJvZHVjdEluZm8ucGF5bG9hZC5za3VJZCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBpc09wZW5Ub2FzdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0b2FzdFR5cGU6ICd3YXJuaW5nJyxcbiAgICAgICAgICAgICAgICB0b2FzdE1lc3NhZ2U6IEkxOG4udChUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuU0VMRUNUX09QVElPTiksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyDpgbjos7zmqKHlvI9cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUubW9kZSA9PT0gJ0Nob29zZScpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBwcm9kdWN0SW5mbyB9LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNPcGVuVG9hc3Q6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9hc3RUeXBlOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0TWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW5Ta3U6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2FsZVBhZ2VJbmZvOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2t1SW5mb0xpc3Q6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBzYWxlUGFnZUlkOiAwLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5hZnRlclN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlgrPlh7rlpJbpg6hHQeS9v+eUqOeahOWPg+aVuFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuYWZ0ZXJTdWNjZXNzKHByb2R1Y3RJbmZvLnBheWxvYWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8g5Yqg5YWl6LO854mp6LuK5qih5byPXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuU2t1OiBmYWxzZSB9LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbkxvYWQ6IHRydWUsIHByb2R1Y3RJbmZvIH0pO1xuICAgICAgICAgICAgICAgIC8vIEZldGNoIEFQSSDliqDlhaXos7znianou4pcbiAgICAgICAgICAgICAgICBhZGRTaG9wcGluZ0NhcnRNb2RlbChwcm9kdWN0SW5mbylcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbkxvYWQ6IGZhbHNlIH0sICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlKCdBZGRTdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WKoOWFpeizvOeJqei7iiBFcnJvcjonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc09wZW5Mb2FkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc09wZW5EaWFsb2c6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlhbG9nTWVzc2FnZTogZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLyoqXG4gICAgICogQVBQ542o6LOj77yM6L2J5bCOUVItQ29kZeS4i+i8iemggeiZleeQhlxuICAgICAqL1xuICAgIGhhbmRsZUFwcE9ubHkgPSAoc2hvcElkOiBudW1iZXIsIHNhbGVQYWdlSWQ6IG51bWJlcikgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuU2t1OiBmYWxzZSB9KTtcbiAgICAgICAgaWYgKGRldmljZVV0aWxpdHkuZ2V0QnJvd3NpbmdNb2RlKCkgPT09IEJST1dTSU5HX01PREUuTU9CSUxFKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5oYW5kbGVSZWRpcmVjdERlZXBMaW5rKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVSZWRpcmVjdERlZXBMaW5rKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9TYWxlUGFnZS9pbmRleC8nICsgc2FsZVBhZ2VJZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9TYWxlUGFnZS9TaG93UVJDb2RlLycgKyBzYWxlUGFnZUlkO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBGQuWIhuS6q+W+jOizvOiyt1xuICAgICAqL1xuICAgIGhhbmRsZUZhY2Vib29rU2hhcmUgPSAoc2FsZVBhZ2VJZDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLmZhY2Vib29rKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5rID0gYCR7d2luZG93LmxvY2F0aW9uLnByb3RvY29sfS8vJHt3aW5kb3cubG9jYXRpb24uaG9zdH0vU2FsZVBhZ2UvSW5kZXgvJHtzYWxlUGFnZUlkfWA7XG4gICAgICAgICAgICB0aGlzLnByb3BzLmZhY2Vib29rLnVpKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnZmVlZCcsXG4gICAgICAgICAgICAgICAgICAgIGxpbmssXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdwb3B1cCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5zYWxlUGFnZUluZm8uc3RhdHVzID0gJ05vcm1hbCc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzYWxlUGFnZUluZm86IHRoaXMuc3RhdGUuc2FsZVBhZ2VJbmZvIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIOmXnOmWieizvOeJqei7iuS6i+S7tuiZleeQhuWPiumChOWOn3NhbGVQYWdlSWTliJ3lp4vlgLxcbiAgICAgKi9cbiAgICBvbkNsb3NlQWRkVG9DYXJ0SGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlblNrdTogZmFsc2UsIHNhbGVQYWdlSW5mbzogbnVsbCwgc2t1SW5mb0xpc3Q6IG51bGwsIHNhbGVQYWdlSWQ6IDAgfSwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuYWZ0ZXJDbG9zZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuYWZ0ZXJDbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIOmXnOmWiVRvYXN05LqL5Lu26JmV55CG77yM5YaN5Z+36KGM57WQ5p2f6LO854mp6LuK5LqL5Lu2XG4gICAgICovXG4gICAgb25DbG9zZVRvYXN0SGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgLy8g55W25pyq6YG4U0tV55u05o6l5Yqg5YWl6LO854mp6LuK5b2I5Ye66K2m5ZGK6KiK5oGv5pmC77yM5riF56m6VG9hc3Tni4DmhYtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUudG9hc3RNZXNzYWdlID09PSBJMThuLnQoVFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlNFTEVDVF9PUFRJT04pKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuVG9hc3Q6IGZhbHNlLCB0b2FzdFR5cGU6ICcnLCB0b2FzdE1lc3NhZ2U6ICcnIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdGUudG9hc3RNZXNzYWdlID09PSBJMThuLnQoVFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlRPQVNULkFERF9TVUNDRVNTKSkge1xuICAgICAgICAgICAgLy8g55W25Yqg5YWl5oiQ5Yqf5b6M6Ke455m8Y2FsbCBiYWNr5LqL5Lu2XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaXNPcGVuVG9hc3Q6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB0b2FzdFR5cGU6ICcnLFxuICAgICAgICAgICAgICAgICAgICB0b2FzdE1lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgICAgICAgICBpc09wZW5Ta3U6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzYWxlUGFnZUluZm86IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHNrdUluZm9MaXN0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBzYWxlUGFnZUlkOiAwLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5hZnRlclN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWCs+WHuuWklumDqEdB5L2/55So55qE5Y+D5pW4XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmFmdGVyU3VjY2Vzcyh0aGlzLnN0YXRlLnByb2R1Y3RJbmZvLnBheWxvYWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW5Ub2FzdDogZmFsc2UsIHRvYXN0VHlwZTogJycsIHRvYXN0TWVzc2FnZTogJycgfSwgdGhpcy5vbkNsb3NlQWRkVG9DYXJ0SGFuZGxlcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIOmhr+ekuuWVhuWTgeeLgOaFi+ioiuaBr1xuICAgICAqL1xuICAgIHNob3dNZXNzYWdlID0gKHN0YXR1cykgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlSXRlbSA9IGdldFRvYXN0TWVzc2FnZUl0ZW0oc3RhdHVzKTtcbiAgICAgICAgaWYgKG1lc3NhZ2VJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBpc09wZW5Ub2FzdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0b2FzdE1lc3NhZ2U6IEkxOG4udChtZXNzYWdlSXRlbS5tZXNzYWdlKSxcbiAgICAgICAgICAgICAgICB0b2FzdFR5cGU6IG1lc3NhZ2VJdGVtLnR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBoYW5kbGVDbG9zZURpYWxvZyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpc09wZW5EaWFsb2c6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpYWxvZ01lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMub25DbG9zZUFkZFRvQ2FydEhhbmRsZXJcbiAgICAgICAgKTtcbiAgICB9O1xuXG4gICAgLy8gVE9ETzog5LmL5b6M5YaN6Kq/5pW05LiN6KaB5L2/55SoY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc+inuOeZvOmWi+mXnFxuICAgIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzOiBBZGRUb0NhcnRQcm9wcykge1xuICAgICAgICBpZiAobmV4dFByb3BzLnNhbGVQYWdlSWQgIT09IHRoaXMuc3RhdGUuc2FsZVBhZ2VJZCAmJiAhdGhpcy5zdGF0ZS5pc09wZW5Ta3UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW5Mb2FkOiB0cnVlIH0pO1xuICAgICAgICAgICAgLy8g5Y+W5b6XQVBJ5ZWG5ZOB6LOH6KiKXG4gICAgICAgICAgICBmZXRjaFNhbGVQYWdlSW5mb01vZGVsKHRoaXMucHJvcHMuc2hvcElkLCBuZXh0UHJvcHMuc2FsZVBhZ2VJZClcbiAgICAgICAgICAgICAgICAudGhlbigoZGF0YSkgPT4gdGhpcy5jaGVja0FkZFRvQ2FydERpcmVjdChkYXRhKSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuTG9hZDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd01lc3NhZ2UoJ0Vycm9yJyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFkZC10by1jYXJ0LW1vYmlsZVwiPlxuICAgICAgICAgICAgICAgIHsvKiBQb3BVcCBTS1UgKi99XG4gICAgICAgICAgICAgICAgPFNsaWRlUHVzaE1lbnVcbiAgICAgICAgICAgICAgICAgICAgaXNPcGVuPXt0aGlzLnN0YXRlLmlzT3BlblNrdX1cbiAgICAgICAgICAgICAgICAgICAgb3BlbkRpcmVjdGlvbj17J2JvdHRvbSd9XG4gICAgICAgICAgICAgICAgICAgIGlzU2hvd0Nsb3NlPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBvbkFmdGVyQ2xvc2U9e3RoaXMub25DbG9zZUFkZFRvQ2FydEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgIGZyZWV6ZUNsYXNzTmFtZT17J2ZyZWV6ZSd9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5zYWxlUGFnZUluZm8gJiYgdGhpcy5zdGF0ZS5za3VJbmZvTGlzdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8UHJvZHVjdFNrdVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9e3RoaXMuc3RhdGUubW9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsPXt0aGlzLnByb3BzLmRlY2ltYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sPXt0aGlzLnByb3BzLnN5bWJvbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXRlPXt0aGlzLnByb3BzLnJhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvcElkPXt0aGlzLnByb3BzLnNob3BJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWxlUGFnZUluZm89e3RoaXMuc3RhdGUuc2FsZVBhZ2VJbmZvfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNrdUluZm9MaXN0PXt0aGlzLnN0YXRlLnNrdUluZm9MaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNrdVF0eU1vZGU9e3RoaXMuc3RhdGUuc2t1UXR5TW9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVBZGRUb0NhcnQ9e3RoaXMuaGFuZGxlQWRkVG9DYXJ0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUFwcE9ubHk9e3RoaXMuaGFuZGxlQXBwT25seX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVGYWNlYm9va1NoYXJlPXt0aGlzLmhhbmRsZUZhY2Vib29rU2hhcmV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25BZGRRdWFudGl0eT17dGhpcy5wcm9wcy5vbkFkZFF1YW50aXR5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uUmVtb3ZlUXVhbnRpdHk9e3RoaXMucHJvcHMub25SZW1vdmVRdWFudGl0eX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TbGlkZVB1c2hNZW51PlxuICAgICAgICAgICAgICAgIHsvKiDlvYjot7PoqIrmga8gKi99XG4gICAgICAgICAgICAgICAgPFRvYXN0XG4gICAgICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW5Ub2FzdH1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT17dGhpcy5zdGF0ZS50b2FzdFR5cGV9XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9e3RoaXMuc3RhdGUudG9hc3RNZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICBhZnRlckNsb3NlPXt0aGlzLm9uQ2xvc2VUb2FzdEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7Lyog562J5b6F5Zue5oeJ5pWI5p6cICovfVxuICAgICAgICAgICAgICAgIDxMb2FkaW5nIGlzTG9hZGluZz17dGhpcy5zdGF0ZS5pc09wZW5Mb2FkfSAvPlxuICAgICAgICAgICAgICAgIHsvKiDpjK/oqqREaWFsb2cqL31cbiAgICAgICAgICAgICAgICA8RGlhbG9nXG4gICAgICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW5EaWFsb2d9XG4gICAgICAgICAgICAgICAgICAgIGlzU2hvd0Nsb3NlPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgY29uZmlybVRleHQ9e0kxOG4udChUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuQ09ORklSTSl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ29uZmlybURpYWxvZz17dGhpcy5oYW5kbGVDbG9zZURpYWxvZ31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3RoaXMuc3RhdGUuZGlhbG9nTWVzc2FnZX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0RpYWxvZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH1cbn1cbiIsImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZDLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICcuL2NoZWNrQm94LnNjc3MnO1xuXG5pbnRlcmZhY2UgQ2hlY2tCb3hQcm9wcyB7XG4gICAgbGFiZWxUZXh0Pzogc3RyaW5nO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGlzQ2hlY2s/OiBib29sZWFuO1xuICAgIGlzRGlzYWJsZT86IGJvb2xlYW47XG4gICAgaWRlbnRpZmllcjogc3RyaW5nO1xuICAgIGFmdGVyQ2hlY2s/OiAoaWRlbnRpZmllciwgY2hlY2tlZCkgPT4gdm9pZDtcbiAgICByZWY/OiBhbnk7XG59XG5cbmNvbnN0IENoZWNrQm94OiBGQzxDaGVja0JveFByb3BzPiA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWY6IGFueSkgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWxUZXh0LCBpZCwgbmFtZSwgaXNDaGVjaywgaXNEaXNhYmxlLCBpZGVudGlmaWVyLCBhZnRlckNoZWNrIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IFtjaGVja2VkLCBzZXRDaGVja2VkXSA9IHVzZVN0YXRlKGlzQ2hlY2spO1xuICAgIGNvbnN0IFtkaXNhYmxlZCwgc2V0RGlzYWJsZWRdID0gdXNlU3RhdGUoaXNEaXNhYmxlKTtcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKGlkZW50aWZpZXI6IHN0cmluZywgY2hlY2tlZDogYm9vbGVhbikgPT4ge1xuICAgICAgICBzZXRDaGVja2VkKCFjaGVja2VkKTtcblxuICAgICAgICBpZiAodHlwZW9mIGFmdGVyQ2hlY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGFmdGVyQ2hlY2soaWRlbnRpZmllciwgIWNoZWNrZWQpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHNldENoZWNrZWQoaXNDaGVjayk7XG4gICAgfSwgW2lzQ2hlY2tdKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHNldERpc2FibGVkKGlzRGlzYWJsZSk7XG4gICAgfSwgW2lzRGlzYWJsZV0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBodG1sRm9yPXtpZH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImNoZWNrYm94LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbnB1dC1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGljayhpZGVudGlmaWVyLCBjaGVja2VkKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHJlZj17cmVmfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImNoZWNrLW1hcmtcIi8+XG4gICAgICAgICAgICB7bGFiZWxUZXh0ICYmIDxzcGFuIGNsYXNzTmFtZT1cImxhYmVsLXRleHRcIj57bGFiZWxUZXh0fTwvc3Bhbj59XG4gICAgICAgIDwvbGFiZWw+XG4gICAgKTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBDaGVja0JveDtcbiIsImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0ICcuL3JhZGlvQnV0dG9uLnNjc3MnO1xuaW1wb3J0IHV1aWQgZnJvbSAndXVpZC92NCc7XG5cbmludGVyZmFjZSBJUHJvcHMge1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBjaGVja2VkPzogYm9vbGVhbjtcbiAgICBvbkNoYW5nZT86ICgpID0+IGFueTtcbiAgICB2YWx1ZT86IGFueTtcbiAgICBodG1sTmFtZT86IHN0cmluZztcbiAgICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgcmVmPzogYW55O1xufVxuXG5jb25zdCBSYWRpb0J1dHRvbiA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzOiBJUHJvcHMsIHJlZjphbnkpID0+IHtcbiAgICBjb25zdCBpZCA9IHByb3BzLmlkICYmICdyYWRpb0J0bklkJyArIHV1aWQoKTtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBwcm9wcy5jbGFzc05hbWUgfHwgJyc7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcygncmFkaW8tYnV0dG9uJywge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiAhIWNsYXNzTmFtZSxcbiAgICAgICAgICAgICdyYWRpby1idXR0b25fX2Rpc2FibGUnOiBwcm9wcy5kaXNhYmxlZFxuICAgICAgICB9KX0+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyYWRpby1idXR0b25fX2hpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtwcm9wcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICBjaGVja2VkPXtwcm9wcy5jaGVja2VkfVxuICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtwcm9wcy5vbkNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICB2YWx1ZT17cHJvcHMudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgbmFtZT17cHJvcHMuaHRtbE5hbWV9XG4gICAgICAgICAgICAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cInJhZGlvLWJ1dHRvbl9fZW50cnlcIiBodG1sRm9yPXtpZH0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyYWRpby1idXR0b25fX2NpcmNsZVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgICAgICAgIDwvbGFiZWw+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBSYWRpb0J1dHRvbjtcbiIsImltcG9ydCBSZWFjdCwgeyBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IF8gZnJvbSAndW5kZXJzY29yZSc7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gICAgaHJlZjogc3RyaW5nO1xuICAgIHRhcmdldD86IHN0cmluZztcbn1cblxuY29uc3QgTGluayA9IHN0eWxlZC5hYFxuICAgIGNvbG9yOiAke3Byb3BzID0+IChfLmlzRW1wdHkocHJvcHMudGhlbWUpID8gJyM0MjhiY2EnIDogcHJvcHMudGhlbWUuZ2VuZXJhbFN0eWxlLmxpbmtDb2xvcil9O1xuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICR7cHJvcHMgPT4gKF8uaXNFbXB0eShwcm9wcy50aGVtZSkgPyAnIzQyOGJjYScgOiBwcm9wcy50aGVtZS5nZW5lcmFsU3R5bGUubGlua0NvbG9yKX07XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogY29sb3I6ICR7cHJvcHMgPT4gKF8uaXNFbXB0eShwcm9wcy50aGVtZSkgPyAnIzQyOGJjYScgOiBwcm9wcy50aGVtZS5nZW5lcmFsU3R5bGUubGlua0NvbG9yKX07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBMaW5rO1xuIiwiaW1wb3J0IFJlYWN0LCB7IEZDIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgXyBmcm9tICd1bmRlcnNjb3JlJztcblxudHlwZSBWYXJpYW50ID0gJ2VtcGhhc2lzJyB8ICdnZW5lcmFsJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgICB2YXJpYW50PzogVmFyaWFudDtcbn1cblxuY29uc3QgdGFnVmFyaWFudCA9ICh2YXJpYW50OiBWYXJpYW50KSA9PiB7XG4gICAgc3dpdGNoICh2YXJpYW50KSB7XG4gICAgICAgIGNhc2UgJ2VtcGhhc2lzJzpcbiAgICAgICAgICAgIHJldHVybiBjc3NgXG4gICAgICAgICAgICAgICAgY29sb3I6ICR7cHJvcHMgPT4gKF8uaXNFbXB0eShwcm9wcy50aGVtZSkgPyAnI2ZmZjJmMicgOiBwcm9wcy50aGVtZS50YWdTdHlsZS5lbXBoYXNpc1RhZ1RleHRDb2xvcil9O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gKF8uaXNFbXB0eShwcm9wcy50aGVtZSkgPyAnI2ZmNTM1MycgOiBwcm9wcy50aGVtZS50YWdTdHlsZS5lbXBoYXNpc1RhZ0JnQ29sb3IpfTtcbiAgICAgICAgICAgIGA7XG4gICAgICAgIGNhc2UgJ2dlbmVyYWwnOlxuICAgICAgICAgICAgcmV0dXJuIGNzc2BcbiAgICAgICAgICAgICAgICBjb2xvcjogJHtwcm9wcyA9PiAoXy5pc0VtcHR5KHByb3BzLnRoZW1lKSA/ICcjZmY1MzUzJyA6IHByb3BzLnRoZW1lLnRhZ1N0eWxlLmdlbmVyYWxUYWdUZXh0Q29sb3IpfTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IChfLmlzRW1wdHkocHJvcHMudGhlbWUpID8gJyNmZmYyZjInIDogcHJvcHMudGhlbWUudGFnU3R5bGUuZ2VuZXJhbFRhZ0JnQ29sb3IpfTtcbiAgICAgICAgICAgIGA7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gY3NzIGBcbiAgICAgICAgICAgICAgICBjb2xvcjogJyNmZjUzNTMnO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICcjZmZmMmYyJztcbiAgICAgICAgICAgIGA7XG4gICAgfVxufTtcblxuY29uc3QgVGFnID0gc3R5bGVkLmRpdmBcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgXG4gICAgJHsocHJvcHM6IFByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdmFyaWFudCB9ID0gcHJvcHM7XG4gICAgICAgIHJldHVybiB0YWdWYXJpYW50KHZhcmlhbnQpO1xuICAgIH19ICAgIFxuYDtcblxuVGFnLmRlZmF1bHRQcm9wcyA9IHtcbiAgICB2YXJpYW50OiAnZ2VuZXJhbCcsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBUYWc7XG4iLCJpbXBvcnQgeyBUaGVtZVByb3ZpZGVyfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmNvbnN0IFNwYXJrQ29yZVRoZW1lUHJvdmlkZXIgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCB7IHRoZW1lIH0gPSBwcm9wcztcbiAgICBjb25zdCBnbG9iYWxUaGVtZSA9IHtcbiAgICAgICAgLi4udGhlbWUsXG4gICAgICAgIC8vIEZJWE1FIOaaq+inoyBnbG9iYWxTdHlsZURhdGEg57y65bCRIGtleSDpgKDmiJDnmb3poIFcbiAgICAgICAgZ2VuZXJhbFN0eWxlOiB7XG4gICAgICAgICAgICBsaW5rQ29sb3I6ICh0aGVtZS5nZW5lcmFsU3R5bGUgJiYgdGhlbWUuZ2VuZXJhbFN0eWxlLmxpbmtDb2xvcikgfHwgJyM0MjhiY2EnLFxuICAgICAgICAgICAgbW9uZXlDb2xvcjogKHRoZW1lLmdlbmVyYWxTdHlsZSAmJiB0aGVtZS5nZW5lcmFsU3R5bGUubW9uZXlDb2xvcikgfHwgJyNmZjUzNTMnLFxuICAgICAgICB9LFxuICAgICAgICB0YWdTdHlsZToge1xuICAgICAgICAgICAgZW1waGFzaXNUYWdCZ0NvbG9yOiAodGhlbWUudGFnU3R5bGUgJiYgdGhlbWUudGFnU3R5bGUuZW1waGFzaXNUYWdCZ0NvbG9yKSB8fCAnI2ZmNTM1MycsXG4gICAgICAgICAgICBlbXBoYXNpc1RhZ1RleHRDb2xvcjogKHRoZW1lLnRhZ1N0eWxlICYmIHRoZW1lLnRhZ1N0eWxlLmVtcGhhc2lzVGFnVGV4dENvbG9yKSB8fCAnI2ZmZmZmZicsXG4gICAgICAgICAgICBnZW5lcmFsVGFnQmdDb2xvcjogKHRoZW1lLnRhZ1N0eWxlICYmIHRoZW1lLnRhZ1N0eWxlLmdlbmVyYWxUYWdCZ0NvbG9yKSB8fCAnI2ZmZjJmMicsXG4gICAgICAgICAgICBnZW5lcmFsVGFnVGV4dENvbG9yOiAodGhlbWUudGFnU3R5bGUgJiYgdGhlbWUudGFnU3R5bGUuZ2VuZXJhbFRhZ1RleHRDb2xvcikgfHwgJyNmZjUzNTMnLFxuICAgICAgICB9LFxuICAgICAgICBidXR0b25TdHlsZToge1xuICAgICAgICAgICAgcHJpbWFyeUJ0bkJnQ29sb3I6ICh0aGVtZS5idXR0b25TdHlsZSAmJiB0aGVtZS5idXR0b25TdHlsZS5wcmltYXJ5QnRuQmdDb2xvcikgfHwgJyNmZjUzNTMnLFxuICAgICAgICAgICAgcHJpbWFyeUJ0blRleHRDb2xvcjogKHRoZW1lLmJ1dHRvblN0eWxlICYmIHRoZW1lLmJ1dHRvblN0eWxlLnByaW1hcnlCdG5UZXh0Q29sb3IpIHx8ICcjZmZmZmZmJyxcbiAgICAgICAgICAgIHNlY29uZEJ0blZhcmlhbnQ6ICh0aGVtZS5idXR0b25TdHlsZSAmJiB0aGVtZS5idXR0b25TdHlsZS5zZWNvbmRCdG5WYXJpYW50KSB8fCAnb3V0bGluZScsXG4gICAgICAgICAgICBzZWNvbmRCdG5CZ0NvbG9yOiAodGhlbWUuYnV0dG9uU3R5bGUgJiYgdGhlbWUuYnV0dG9uU3R5bGUuc2Vjb25kQnRuQmdDb2xvcikgfHwgJyNmZmZmZmYnLFxuICAgICAgICAgICAgc2Vjb25kQnRuVGV4dENvbG9yOiAodGhlbWUuYnV0dG9uU3R5bGUgJiYgdGhlbWUuYnV0dG9uU3R5bGUuc2Vjb25kQnRuVGV4dENvbG9yKSB8fCAnI2ZmNTM1MycsXG4gICAgICAgICAgICBzZWNvbmRCdG5Cb3JkZXJDb2xvcjogKHRoZW1lLmJ1dHRvblN0eWxlICYmIHRoZW1lLmJ1dHRvblN0eWxlLnNlY29uZEJ0bkJvcmRlckNvbG9yKSB8fCAnI2ZmNTM1MycsXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxUaGVtZVByb3ZpZGVyIHRoZW1lPXtnbG9iYWxUaGVtZX0+XG4gICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU3BhcmtDb3JlVGhlbWVQcm92aWRlcjtcbiIsIi8vIOe0heiJsuezu1xuZXhwb3J0IGNvbnN0IHByaW1hcnlSZWQgPSAnI2ZmNTM1Myc7XG5cbi8vIOeZveiJsuezu1xuZXhwb3J0IGNvbnN0IHdoaXRlID0gJyNmZmYnO1xuZXhwb3J0IGNvbnN0IHdoaXRlVGhyZWUgPSAnI2Q4ZDhkOCc7XG5cbi8vIOm7keiJsuezu1xuZXhwb3J0IGNvbnN0IGJsYWNrVHdvID0gJyMwMDAnO1xuZXhwb3J0IGNvbnN0IGJsYWNrVGhyZWUgPSAnIzMzMyc7XG5cbi8vIOeBsOiJsuezu1xuZXhwb3J0IGNvbnN0IGJyb3duaXNoR3JleSA9ICcjNjY2JztcbmV4cG9ydCBjb25zdCBsaWdodEdyZXkgPSAnI2RkZGRkZCc7XG5leHBvcnQgY29uc3Qgd2FybUdyZXkgPSAnIzk5OSc7XG5leHBvcnQgY29uc3QgY2xvdWR5R3JheSA9ICcjZGRkJztcbmV4cG9ydCBjb25zdCBwYWxlR3JleSA9ICcjZjdmOGZhJztcblxuZXhwb3J0IGNvbnN0IHZlcnlMaWdodFBpbmsgPSAnI2NjYyc7XG5leHBvcnQgY29uc3QgdmVyeUxpZ2h0UGlua1R3byA9ICcjZWNlY2VjJztcbmV4cG9ydCBjb25zdCB2ZXJ5TGlnaHRQaW5rVGhyZWUgPSAnI2JiYic7XG5leHBvcnQgY29uc3Qgc2lsdmVyID0gJyNkNGQ5ZGUnO1xuXG4vLyDol43oibLns7tcbmV4cG9ydCBjb25zdCB3aW5kb3dzQmx1ZSA9ICcjNDI4YmNhJztcbiIsIi8vIFRPRE86IOW+heaVtOeQhm1vZGFs5LmL5aSW55qEemluZGV4XG5leHBvcnQgY29uc3QgY29tcG9uZW50WmluZGV4ID0ge1xuICAgIHRvYXN0OiAxMDcwLFxuICAgIHRvYXN0QmFjazogMTA2MCxcbiAgICBkaWFsb2c6IDEwNTAsXG4gICAgZGlhbG9nQmFjazogMTA0MCxcbiAgICBzbGlkZVB1c2hNZW51OiAxMDAwLFxuICAgIG5zTWVkaWFHYWxsZXJ5OiAyMDAsXG4gICAgbmF2VGFiOiA5MCxcbiAgICBuc1Rvb2xCb3g6IDQ5OSxcbiAgICBtYWluVmlzaW9uOiA1NTAsXG4gICAgc21hcnRBcHBCYW5uZXI6IDUwMCxcbiAgICBiYXNlOiAxLFxufTtcblxuZXhwb3J0IGNvbnN0IGhlYWRlclppbmRleCA9IHtcbiAgICBmdWxsU2NyZWVuOiA3MDAsXG4gICAgbmF2TWVudTogNjUwLFxuICAgIGxheW91dEhlYWRlcjogNTAwLFxuICAgIHNlYXJjaEtleXdvcmRMaXN0OiAxMDAsXG59O1xuXG5leHBvcnQgY29uc3QgZm9vdGVyWmluZGV4ID0ge1xuICAgIG5zQmFza2V0OiAzMDAsXG4gICAgc2Nyb2xsVG9Ub3A6IDI1MCxcbiAgICBsYXlvdXRGb290ZXI6IDIwMCxcbiAgICBuc0Jyb3dzaW5nSGlzdG9yeTogMTAwLFxufTtcbiIsIi8vIGltcG9ydCB7IGNzcywgS2V5ZnJhbWVzLCBGbGF0dGVuU2ltcGxlSW50ZXJwb2xhdGlvbiB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuLyoqXG4gKiBhbmltYXRlIOWLleeVq1xuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSDli5XnlavlkI3nqLHjgIIoYW5pbWF0aW9uLW5hbWUpXG4gKiBAcGFyYW0ge3N0cmluZ30gdGltZSAtIOWft+ihjOaZgumWk+OAgihhbmltYXRpb24tZHVyYXRpb24pXG4gKiBAcGFyYW0ge3N0cmluZ30gd2F5IC0g5YuV55Wr5pa55byP44CCKGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24pXG4gKi9cbmNvbnN0IGFuaW1hdGUgPSAobmFtZTogc3RyaW5nLCB0aW1lOiBzdHJpbmcsIHdheTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gYFxuICAgICAgICBhbmltYXRpb246ICR7bmFtZX0gJHt0aW1lfSAke3dheX0gMHM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGA7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBhbmltYXRlO1xuIiwiaW1wb3J0IFJlYWN0LCB7IEZDIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IGJsYWNrVHdvIH0gZnJvbSAnQHN0eWxlcy9tb2RlbC9jb2xvcic7XG5pbXBvcnQgeyBjb21wb25lbnRaaW5kZXggfSBmcm9tICdAc3R5bGVzL21vZGVsL3ppbmRleCc7XG5pbXBvcnQgYW5pbWF0ZSBmcm9tICdAc3R5bGVzL2NvbW1vbi9taXhpbi9hbmltYXRlJztcblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgaXNNYXNrT3BhY2l0eTogYm9vbGVhbjtcbiAgICBvbkNsb3NlRGlhbG9nOiAoKSA9PiBhbnk7XG59XG5cbmNvbnN0IGJhY2tkcm9wTWFza09wYWNpdHlNb2RlID0gYCR7YW5pbWF0ZSgnZmFkZUluJywgJzAuMnMnLCAnZWFzZS1vdXQnKX1gO1xuXG5jb25zdCBCYWNrZHJvcCA9IHN0eWxlZC5kaXY8eyBpc01hc2tPcGFjaXR5OiBib29sZWFuIH0+YFxuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtibGFja1R3b307XG4gICAgei1pbmRleDogJHtjb21wb25lbnRaaW5kZXguZGlhbG9nQmFja307XG5cbiAgICBAa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAke3Byb3BzID0+IChwcm9wcy5pc01hc2tPcGFjaXR5ID8gYmFja2Ryb3BNYXNrT3BhY2l0eU1vZGUgOiAnJyl9XG5gO1xuXG5jb25zdCBEaWFsb2dCYWNrZHJvcDogRkM8SVByb3BzPiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IGlzTWFza09wYWNpdHksIG9uQ2xvc2VEaWFsb2cgfSA9IHByb3BzO1xuICAgIHJldHVybiA8QmFja2Ryb3AgaXNNYXNrT3BhY2l0eT17aXNNYXNrT3BhY2l0eX0gb25DbGljaz17b25DbG9zZURpYWxvZ30gLz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWFsb2dCYWNrZHJvcDtcbiIsImltcG9ydCBSZWFjdCwgeyBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBibGFja1RocmVlIH0gZnJvbSAnQHN0eWxlcy9tb2RlbC9jb2xvcic7XG5cbmludGVyZmFjZSBJUHJvcHMge1xuICAgIGlzRml4ZWRCb2R5OiBib29sZWFuO1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmNvbnN0IGZpeGVkQm9keU1vZGUgPSBjc3NgXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgaGVpZ2h0OiAyMDBweDtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuYDtcblxuY29uc3Qgbm9ybWFsTm9kZSA9IGNzc2BcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweDtcbmA7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBpc0ZpeGVkQm9keTogYm9vbGVhbiB9PmBcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAke2JsYWNrVGhyZWV9O1xuXG4gICAgJHtwcm9wcyA9PiAocHJvcHMuaXNGaXhlZEJvZHkgPyBmaXhlZEJvZHlNb2RlIDogbm9ybWFsTm9kZSl9O1xuYDtcblxuY29uc3QgRGlhbG9nQm9keTogRkM8SVByb3BzPiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IGlzRml4ZWRCb2R5LCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIDxDb250YWluZXIgaXNGaXhlZEJvZHk9e2lzRml4ZWRCb2R5fT57Y2hpbGRyZW59PC9Db250YWluZXI+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlhbG9nQm9keTtcbiIsImltcG9ydCBSZWFjdCwgeyBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBibGFja1RocmVlIH0gZnJvbSAnQHN0eWxlcy9tb2RlbC9jb2xvcic7XG5cbmludGVyZmFjZSBJUHJvcHMge1xuICAgIGlzU2hvd0Nsb3NlOiBib29sZWFuO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgb25DbG9zZURpYWxvZzogKCkgPT4gYW55O1xufVxuXG4vLyBUT0RPOiBjbG9zZVxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgICBtaW4taGVpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmc6IDE1cHggMTVweCAwO1xuYDtcblxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuYWBcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGNvbG9yOiAke2JsYWNrVGhyZWV9O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEwcHg7XG5gO1xuXG5jb25zdCBUaXRsZSA9IHN0eWxlZC5oMmBcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDAgMjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbmA7XG5cbmNvbnN0IERpYWxvZ0hlYWRlcjogRkM8SVByb3BzPiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7IGlzU2hvd0Nsb3NlLCB0aXRsZSwgb25DbG9zZURpYWxvZyB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcblxuXG4gICAgICAgIDxDb250YWluZXI+XG4gICAgICAgICAgICB7aXNTaG93Q2xvc2UgJiYgKFxuICAgICAgICAgICAgICAgIDxJY29uV3JhcHBlciBvbkNsaWNrPXtvbkNsb3NlRGlhbG9nfT5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3NOYW1lPVwiaWNvbiBpY29uLWNsb3NlXCIgLz5cbiAgICAgICAgICAgICAgICA8L0ljb25XcmFwcGVyPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHt0aXRsZSAmJiA8VGl0bGU+e3RpdGxlfTwvVGl0bGU+fVxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlhbG9nSGVhZGVyO1xuIiwiaW1wb3J0IFJlYWN0LCB7IEZDIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICdAY29tcG9uZW50cy9pbmRleCc7XG5cbmludGVyZmFjZSBJUHJvcHMge1xuICAgIGNvbmZpcm1UZXh0OiBzdHJpbmc7XG4gICAgY2FuY2VsVGV4dDogc3RyaW5nO1xuICAgIG9uQ2xvc2VEaWFsb2c6ICgpID0+IGFueTtcbiAgICBvbkNvbmZpcm1EaWFsb2c6ICgpID0+IGFueTtcbn1cblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweCAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5gO1xuXG5jb25zdCBDYW5jZWxCdG4gPSBzdHlsZWQoQnV0dG9uKWBcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5gO1xuXG5jb25zdCBDb25maXJtQnRuID0gc3R5bGVkKEJ1dHRvbilgXG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luOiAwO1xuYDtcblxuY29uc3QgRGlhbG9nRm9vdGVyOiBGQzxJUHJvcHM+ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY2FuY2VsVGV4dCwgY29uZmlybVRleHQsIG9uQ2xvc2VEaWFsb2csIG9uQ29uZmlybURpYWxvZyB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgICAgIHtjYW5jZWxUZXh0ICYmIChcbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnRuIHZhcmlhbnQ9XCJub3JtYWxcIiBvbkNsaWNrPXtvbkNsb3NlRGlhbG9nfT5cbiAgICAgICAgICAgICAgICAgICAge2NhbmNlbFRleHR9XG4gICAgICAgICAgICAgICAgPC9DYW5jZWxCdG4+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2NvbmZpcm1UZXh0ICYmIChcbiAgICAgICAgICAgICAgICA8Q29uZmlybUJ0biB2YXJpYW50PVwiY29udGFpbmVkXCIgb25DbGljaz17b25Db25maXJtRGlhbG9nfT5cbiAgICAgICAgICAgICAgICAgICAge2NvbmZpcm1UZXh0fVxuICAgICAgICAgICAgICAgIDwvQ29uZmlybUJ0bj5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvQ29udGFpbmVyPlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWFsb2dGb290ZXI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgRkMsIEZyYWdtZW50LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7IHJ1bnRpbWVNb2RlVXRpbGl0eSB9IGZyb20gJ0B1dGlsaXRpZXMvaW5kZXgnO1xuXG5pbXBvcnQgeyB3aGl0ZSB9IGZyb20gJ0BzdHlsZXMvbW9kZWwvY29sb3InO1xuaW1wb3J0IHsgY29tcG9uZW50WmluZGV4IH0gZnJvbSAnQHN0eWxlcy9tb2RlbC96aW5kZXgnO1xuaW1wb3J0IGFuaW1hdGUgZnJvbSAnQHN0eWxlcy9jb21tb24vbWl4aW4vYW5pbWF0ZSc7XG5cbmltcG9ydCBEaWFsb2dCYWNrZHJvcCBmcm9tICcuL2RpYWxvZ0JhY2tkcm9wJztcbmltcG9ydCBEaWFsb2dCb2R5IGZyb20gJy4vZGlhbG9nQm9keSc7XG5pbXBvcnQgRGlhbG9nSGVhZGVyIGZyb20gJy4vZGlhbG9nSGVhZGVyJztcbmltcG9ydCBEaWFsb2dGb290ZXIgZnJvbSAnLi9kaWFsb2dGb290ZXInO1xuXG4vKipcbiAqIEBwcm9wcyBjdXN0b21TdHlsZSBleC4geyBiYWNrZ3JvdW5kQ29sb3I6ICdyZWQnIH1cbiAqIEBwcm9wcyBjdXN0b21Dc3MgZXguIFwiYmFja2dyb3VuZC1jb2xvcjogcmVkXCJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUHJvcHMge1xuICAgIGlzT3BlbjogYm9vbGVhbjtcbiAgICBpc1Nob3dDbG9zZT86IGJvb2xlYW47XG4gICAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgICBpc01hc2tPcGFjaXR5PzogYm9vbGVhbjtcbiAgICBpc0ZpeGVkQm9keT86IGJvb2xlYW47XG4gICAgaXNFbmFibGVCYWNrZHJvcENsaWNrPzogYm9vbGVhbjtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBjb25maXJtVGV4dD86IHN0cmluZztcbiAgICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xuICAgIGN1c3RvbVN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgICBjdXN0b21Dc3M/OiBzdHJpbmc7XG4gICAgb25DbG9zZURpYWxvZz86ICgpID0+IGFueTtcbiAgICBvbkNvbmZpcm1EaWFsb2c/OiAoKSA9PiBhbnk7XG4gICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB6LWluZGV4OiAke2NvbXBvbmVudFppbmRleC5kaWFsb2d9O1xuICAgIGRpc3BsYXk6ICR7KHByb3BzKSA9PiAocHJvcHMuaXNPcGVuID8gJ2Jsb2NrJyA6ICdub25lJyl9O1xuICAgIG92ZXJmbG93OiAkeyhwcm9wcykgPT4gKHByb3BzLmlzT3BlbiA/ICdoaWRkZW4nIDogJycpfTtcbmA7XG5jb25zdCBCb2R5V3JhcHBlciA9IHN0eWxlZC5kaXY8eyBjdXN0b21Dc3M6IHN0cmluZyB9PmBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDI5MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3doaXRlfTtcbiAgICBib3gtc2hhZG93OiAwIDNweCA3cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIHotaW5kZXg6ICR7Y29tcG9uZW50WmluZGV4LmRpYWxvZ307XG5cbiAgICBAa2V5ZnJhbWVzIHVwVG9DZW50ZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJHthbmltYXRlKCd1cFRvQ2VudGVyJywgJzAuMnMnLCAnZWFzZS1vdXQnKX1cblxuICAgICR7KHByb3BzKSA9PiBwcm9wcy5jdXN0b21Dc3MgfHwgJyd9O1xuYDtcblxuLyoqXG4gKiDlvYjot7PoppbnqpflhYPku7ZcbiAqL1xuY29uc3QgRGlhbG9nOiBGQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgaXNPcGVuLFxuICAgICAgICBpc01hc2tPcGFjaXR5LFxuICAgICAgICBpc0ZpeGVkQm9keSxcbiAgICAgICAgaXNFbmFibGVCYWNrZHJvcENsaWNrLFxuICAgICAgICBvbkNsb3NlRGlhbG9nLFxuICAgICAgICBvbkNvbmZpcm1EaWFsb2csXG4gICAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgICBjdXN0b21Dc3MsXG4gICAgICAgIGlzU2hvd0Nsb3NlLFxuICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgY2FuY2VsVGV4dCxcbiAgICAgICAgY29uZmlybVRleHQsXG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgcmVtb3ZlRnJlZXplQm9keSA9ICgpID0+IHtcbiAgICAgICAgd2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnZnJlZXplJyk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIOeVtumWi+WVn1BvcFVw6Y6W5L2P5bqV6YOoc2Nyb2xs6JmV55CGXG4gICAgICovXG4gICAgY29uc3QgZnJlZXplQm9keSA9IChpc0ZpeGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmIChydW50aW1lTW9kZVV0aWxpdHkuY2hlY2tJc0NsaWVudFJlbmRlcigpKSB7XG4gICAgICAgICAgICBpZiAoaXNGaXhlZCkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2ZyZWV6ZScpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZW1vdmVGcmVlemVCb2R5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgZnJlZXplQm9keShpc09wZW4pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgcmVtb3ZlRnJlZXplQm9keSgpO1xuICAgICAgICB9O1xuICAgIH0sIFtpc09wZW5dKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxDb250YWluZXIgaXNPcGVuPXtpc09wZW59PlxuICAgICAgICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgICAgICAgICA8RGlhbG9nQmFja2Ryb3BcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTWFza09wYWNpdHk9e2lzTWFza09wYWNpdHl9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlRGlhbG9nPXtpc0VuYWJsZUJhY2tkcm9wQ2xpY2sgPyBvbkNsb3NlRGlhbG9nIDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPEJvZHlXcmFwcGVyIHN0eWxlPXtjdXN0b21TdHlsZX0gY3VzdG9tQ3NzPXtjdXN0b21Dc3N9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPERpYWxvZ0hlYWRlciBpc1Nob3dDbG9zZT17aXNTaG93Q2xvc2V9IHRpdGxlPXt0aXRsZX0gb25DbG9zZURpYWxvZz17b25DbG9zZURpYWxvZ30gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxEaWFsb2dCb2R5IGlzRml4ZWRCb2R5PXtpc0ZpeGVkQm9keX0+e2NoaWxkcmVufTwvRGlhbG9nQm9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiDlpoLmnpzmspLmnInluLZidXR0b27mloflrZfvvIzliYfkuI3poa/npLpmb290ZXLljYDloYogKi99XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2FuY2VsVGV4dCB8fCBjb25maXJtVGV4dCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RGlhbG9nRm9vdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpcm1UZXh0PXtjb25maXJtVGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dD17Y2FuY2VsVGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbG9zZURpYWxvZz17b25DbG9zZURpYWxvZ31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Db25maXJtRGlhbG9nPXtvbkNvbmZpcm1EaWFsb2d9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8L0JvZHlXcmFwcGVyPlxuICAgICAgICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICApO1xufTtcblxuRGlhbG9nLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBpc09wZW46IGZhbHNlLFxuICAgIGlzU2hvd0Nsb3NlOiB0cnVlLFxuICAgIGlzTWFza09wYWNpdHk6IHRydWUsXG4gICAgaXNFbmFibGVCYWNrZHJvcENsaWNrOiB0cnVlLFxuICAgIHRpdGxlOiAnJyxcbiAgICBjb25maXJtVGV4dDogJycsXG4gICAgY2FuY2VsVGV4dDogJycsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWFsb2c7XG4iLCJpbXBvcnQgTW9kYWwgZnJvbSAnLi9tb2RhbCc7XG5pbXBvcnQgTG9hZGluZyBmcm9tICcuL2xvYWRpbmcvbG9hZGluZyc7XG5pbXBvcnQgVG9hc3QsIHsgZ2V0VG9hc3RNZXNzYWdlSXRlbSB9IGZyb20gJy4vdG9hc3QvdG9hc3QnO1xuaW1wb3J0IEN1cnJlbmN5IGZyb20gJy4vY3VycmVuY3kvY3VycmVuY3knO1xuaW1wb3J0IEFkZFRvQ2FydERlc2t0b3AgZnJvbSAnLi9hZGRUb0NhcnQvZGVza3RvcC9hZGRUb0NhcnQuZGVza3RvcCc7XG5pbXBvcnQgQWRkVG9DYXJ0TW9iaWxlIGZyb20gJy4vYWRkVG9DYXJ0L21vYmlsZS9hZGRUb0NhcnQubW9iaWxlJztcbmltcG9ydCBDaGVja0JveCBmcm9tICcuL2NoZWNrQm94L2NoZWNrQm94JztcbmltcG9ydCBSYWRpb0J1dHRvbiBmcm9tICcuL3JhZGlvQnV0dG9uL3JhZGlvQnV0dG9uJztcbmltcG9ydCBCdXR0b24gZnJvbSAnLi9idXR0b24nO1xuaW1wb3J0IExpbmsgZnJvbSAnLi9saW5rJztcbmltcG9ydCBUYWcgZnJvbSAnLi90YWcnO1xuaW1wb3J0IFNwYXJrQ29yZVRoZW1lUHJvdmlkZXIgZnJvbSBcIkBjb21wb25lbnRzL3RoZW1lXCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gJ0Bjb21wb25lbnRzL2RpYWxvZyc7XG5cbmV4cG9ydCB7XG4gICAgTW9kYWwsXG4gICAgTG9hZGluZyxcbiAgICBUb2FzdCxcbiAgICBnZXRUb2FzdE1lc3NhZ2VJdGVtLFxuICAgIEN1cnJlbmN5LFxuICAgIEFkZFRvQ2FydERlc2t0b3AsXG4gICAgQWRkVG9DYXJ0TW9iaWxlLFxuICAgIENoZWNrQm94LFxuICAgIFJhZGlvQnV0dG9uLFxuICAgIEJ1dHRvbixcbiAgICBMaW5rLFxuICAgIFRhZyxcbiAgICBTcGFya0NvcmVUaGVtZVByb3ZpZGVyLFxuICAgIERpYWxvZyxcbn07XG4iLCJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJMThuIH0gZnJvbSAncmVhY3QtcmVkdXgtaTE4bic7XG5pbXBvcnQgeyBNb2RhbCwgVG9hc3QsIExvYWRpbmcsIGdldFRvYXN0TWVzc2FnZUl0ZW0sIERpYWxvZyB9IGZyb20gJ0Bjb21wb25lbnRzL2luZGV4JztcbmltcG9ydCB7IFRSQU5TTEFURV9MT0NBTEVfS0VZIH0gZnJvbSAnQGNvbnN0YW50cy90cmFuc2xhdGlvbi5jb25zdGFudHMnO1xuaW1wb3J0IHsgQlJPV1NJTkdfTU9ERSB9IGZyb20gJ0Bjb25zdGFudHMvZGV2aWNlLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBkZXZpY2VVdGlsaXR5IH0gZnJvbSAnQHV0aWxpdGllcy9pbmRleCc7XG5pbXBvcnQgUHJvZHVjdFNrdSwgeyBTa3VRdHlNb2RlIH0gZnJvbSAnQGNvbXBvbmVudHMvYWRkVG9DYXJ0L3Byb2R1Y3QvcHJvZHVjdFNrdSc7XG5pbXBvcnQgeyBmZXRjaFNhbGVQYWdlSW5mb01vZGVsLCBTYWxlUGFnZUluZm9FbnRpdHksIFByb2R1Y3RTa3VJbmZvRW50aXR5IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NhbGVQYWdlLm1vZGVsJztcbmltcG9ydCB7IGFkZFNob3BwaW5nQ2FydE1vZGVsLCBQcm9kdWN0SW5mb0VudGl0eSwgUHJvZHVjdFBheWxvYWRFbnRpdHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2hvcHBpbmdDYXJ0Lm1vZGVsJztcbmltcG9ydCB7IE1vZGVFbnVtIH0gZnJvbSAnQGNvbXBvbmVudHMvYWRkVG9DYXJ0L2VudW0nO1xuLy8gVE9ETzog5b6F57+7IE1vZGFs5YWD5Lu2IHNjc3NcbmltcG9ydCAnLi9hZGRUb0NhcnQuc2Nzcyc7XG5cbmludGVyZmFjZSBBZGRUb0NhcnRQcm9wcyB7XG4gICAgbW9kZT86IGtleW9mIHR5cGVvZiBNb2RlRW51bTtcbiAgICBzaG9wSWQ6IG51bWJlcjtcbiAgICBzYWxlUGFnZUlkOiBudW1iZXI7XG4gICAgZGVjaW1hbDogbnVtYmVyO1xuICAgIHN5bWJvbDogc3RyaW5nO1xuICAgIHJhdGU6IG51bWJlcjtcbiAgICBmYWNlYm9vaz86IGFueTtcbiAgICBza3VRdHlNb2RlPzogU2t1UXR5TW9kZTtcbiAgICBhZnRlclN1Y2Nlc3M/OiAocGF5bG9hZDogUHJvZHVjdFBheWxvYWRFbnRpdHkpID0+IHZvaWQ7XG4gICAgYWZ0ZXJDbG9zZT86ICgpID0+IHZvaWQ7XG4gICAgaGFuZGxlUmVkaXJlY3REZWVwTGluaz86ICgpID0+IHZvaWQ7XG4gICAgb25BZGRRdWFudGl0eT86ICgpID0+IHZvaWQ7XG4gICAgb25SZW1vdmVRdWFudGl0eT86ICgpID0+IHZvaWQ7XG59XG5pbnRlcmZhY2UgU3RhdGVzIHtcbiAgICBtb2RlOiBrZXlvZiB0eXBlb2YgTW9kZUVudW07XG4gICAgc2FsZVBhZ2VJZDogbnVtYmVyO1xuICAgIGlzT3BlblNrdTogYm9vbGVhbjtcbiAgICBpc09wZW5Ub2FzdDogYm9vbGVhbjtcbiAgICBpc09wZW5Mb2FkOiBib29sZWFuO1xuICAgIGlzT3BlbkRpYWxvZzogYm9vbGVhbjtcbiAgICB0b2FzdFR5cGU6IHN0cmluZztcbiAgICB0b2FzdE1lc3NhZ2U6IHN0cmluZztcbiAgICBkaWFsb2dNZXNzYWdlOiBzdHJpbmc7XG4gICAgc2FsZVBhZ2VJbmZvOiBTYWxlUGFnZUluZm9FbnRpdHk7XG4gICAgc2t1SW5mb0xpc3Q6IFByb2R1Y3RTa3VJbmZvRW50aXR5W107XG4gICAgcHJvZHVjdEluZm86IFByb2R1Y3RJbmZvRW50aXR5O1xuICAgIHNrdVF0eU1vZGU6IFNrdVF0eU1vZGU7XG59XG4vKipcbiAqIOahjOapn+eJiCAtIOizvOeJqei7ilBvcHVw5qih57WEXG4gKiBAZGVzY3JpcHRpb24g5Li76KaB5o6n5Yi2IE1vZGFs44CBVG9hc3TjgIFMb2FkaW5n5YWD5Lu277yM6aGv56S654uA5oWLXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFkZFRvQ2FydCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxBZGRUb0NhcnRQcm9wcywgU3RhdGVzPiB7XG4gICAgY29uc3RydWN0b3IocHJvcHM6IEFkZFRvQ2FydFByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIG1vZGU6IHByb3BzLm1vZGUgfHwgJ05vcm1hbCcsIC8vIE5vcm1hbCjkuIDoiKwpIOaIliBDaG9vc2Uo6YG46LO8KVxuICAgICAgICAgICAgc2FsZVBhZ2VJZDogcHJvcHMuc2FsZVBhZ2VJZCxcbiAgICAgICAgICAgIGlzT3BlblNrdTogZmFsc2UsXG4gICAgICAgICAgICBpc09wZW5Ub2FzdDogZmFsc2UsXG4gICAgICAgICAgICBpc09wZW5Mb2FkOiBmYWxzZSxcbiAgICAgICAgICAgIGlzT3BlbkRpYWxvZzogZmFsc2UsXG4gICAgICAgICAgICB0b2FzdFR5cGU6ICcnLFxuICAgICAgICAgICAgdG9hc3RNZXNzYWdlOiAnJyxcbiAgICAgICAgICAgIGRpYWxvZ01lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgc2FsZVBhZ2VJbmZvOiBudWxsLFxuICAgICAgICAgICAgc2t1SW5mb0xpc3Q6IG51bGwsXG4gICAgICAgICAgICBwcm9kdWN0SW5mbzogbnVsbCxcbiAgICAgICAgICAgIHNrdVF0eU1vZGU6IHByb3BzLnNrdVF0eU1vZGUgfHwgJ092ZXJ3cml0ZScsXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOaqouafpeaYr+WQpumWi+WVnyBTS1UgUG9wdXBcbiAgICAgKi9cbiAgICBjaGVja0FkZFRvQ2FydERpcmVjdCA9IChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2FsZVBhZ2VJbmZvLCBza3VJbmZvTGlzdCB9ID0gZGF0YTtcbiAgICAgICAgY29uc3QgeyBzdGF0dXMgfSA9IHNhbGVQYWdlSW5mbztcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgIGNhc2UgJ0FwcE9ubHknOlxuICAgICAgICAgICAgY2FzZSAnU2hhcmVUb0J1eSc6XG4gICAgICAgICAgICBjYXNlICdOb3JtYWwnOlxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW5Mb2FkOiBmYWxzZSwgaXNPcGVuU2t1OiB0cnVlLCBzYWxlUGFnZUluZm8sIHNrdUluZm9MaXN0IH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuTG9hZDogZmFsc2UgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93TWVzc2FnZShzdGF0dXMpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiDln7fooYzliqDlhaXkuovku7bomZXnkIZcbiAgICAgKi9cbiAgICBoYW5kbGVBZGRUb0NhcnQgPSAocHJvZHVjdEluZm86IFByb2R1Y3RJbmZvRW50aXR5KSA9PiB7XG4gICAgICAgIC8vIOaqouafpeaYr+WQpumBuOWPluaVuOmHj1xuICAgICAgICBpZiAocHJvZHVjdEluZm8ucGF5bG9hZC5za3VJZCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBpc09wZW5Ub2FzdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0b2FzdFR5cGU6ICd3YXJuaW5nJyxcbiAgICAgICAgICAgICAgICB0b2FzdE1lc3NhZ2U6IEkxOG4udChUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuU0VMRUNUX09QVElPTiksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyDpgbjos7zmqKHlvI9cbiAgICAgICAgaWYgKHRoaXMuc3RhdGUubW9kZSA9PT0gJ0Nob29zZScpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBwcm9kdWN0SW5mbyB9LCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNPcGVuVG9hc3Q6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9hc3RUeXBlOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvYXN0TWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc09wZW5Ta3U6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2FsZVBhZ2VJbmZvOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2t1SW5mb0xpc3Q6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBzYWxlUGFnZUlkOiAwLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5hZnRlclN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyDlgrPlh7rlpJbpg6hHQeS9v+eUqOeahOWPg+aVuFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuYWZ0ZXJTdWNjZXNzKHByb2R1Y3RJbmZvLnBheWxvYWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8g5Yqg5YWl6LO854mp6LuK5qih5byPXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuU2t1OiBmYWxzZSwgcHJvZHVjdEluZm8gfSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW5Mb2FkOiB0cnVlIH0pO1xuICAgICAgICAgICAgICAgIC8vIEZldGNoIEFQSSDliqDlhaXos7znianou4pcbiAgICAgICAgICAgICAgICBhZGRTaG9wcGluZ0NhcnRNb2RlbChwcm9kdWN0SW5mbylcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbkxvYWQ6IGZhbHNlIH0sICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlKCdBZGRTdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WKoOWFpeizvOeJqei7iiBFcnJvcjonLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc09wZW5Mb2FkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc09wZW5EaWFsb2c6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlhbG9nTWVzc2FnZTogZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLyoqXG4gICAgICogQVBQ542o6LOj77yM6L2J5bCOUVItQ29kZeS4i+i8iemggeiZleeQhlxuICAgICAqL1xuICAgIGhhbmRsZUFwcE9ubHkgPSAoc2hvcElkOiBudW1iZXIsIHNhbGVQYWdlSWQ6IG51bWJlcikgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuU2t1OiBmYWxzZSB9KTtcbiAgICAgICAgaWYgKGRldmljZVV0aWxpdHkuZ2V0QnJvd3NpbmdNb2RlKCkgPT09IEJST1dTSU5HX01PREUuTU9CSUxFKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5oYW5kbGVSZWRpcmVjdERlZXBMaW5rKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5oYW5kbGVSZWRpcmVjdERlZXBMaW5rKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9TYWxlUGFnZS9pbmRleC8nICsgc2FsZVBhZ2VJZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gJy9TYWxlUGFnZS9TaG93UVJDb2RlLycgKyBzYWxlUGFnZUlkO1xuICAgICAgICB9XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBGQuWIhuS6q+W+jOizvOiyt1xuICAgICAqL1xuICAgIGhhbmRsZUZhY2Vib29rU2hhcmUgPSAoc2FsZVBhZ2VJZDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLmZhY2Vib29rKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5rID0gYCR7d2luZG93LmxvY2F0aW9uLnByb3RvY29sfS8vJHt3aW5kb3cubG9jYXRpb24uaG9zdH0vU2FsZVBhZ2UvSW5kZXgvJHtzYWxlUGFnZUlkfWA7XG4gICAgICAgICAgICB0aGlzLnByb3BzLmZhY2Vib29rLnVpKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnZmVlZCcsXG4gICAgICAgICAgICAgICAgICAgIGxpbmssXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdwb3B1cCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5zYWxlUGFnZUluZm8uc3RhdHVzID0gJ05vcm1hbCc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzYWxlUGFnZUluZm86IHRoaXMuc3RhdGUuc2FsZVBhZ2VJbmZvIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIOmXnOmWieizvOeJqei7iuS6i+S7tuiZleeQhuWPiumChOWOn3NhbGVQYWdlSWTliJ3lp4vlgLxcbiAgICAgKi9cbiAgICBvbkNsb3NlQWRkVG9DYXJ0SGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlblNrdTogZmFsc2UsIHNhbGVQYWdlSW5mbzogbnVsbCwgc2t1SW5mb0xpc3Q6IG51bGwsIHNhbGVQYWdlSWQ6IDAgfSwgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMuYWZ0ZXJDbG9zZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuYWZ0ZXJDbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIC8qKlxuICAgICAqIOmXnOmWiVRvYXN05LqL5Lu26JmV55CG77yM5YaN5Z+36KGM57WQ5p2f6LO854mp6LuK5LqL5Lu2XG4gICAgICovXG4gICAgb25DbG9zZVRvYXN0SGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgLy8g55W25pyq6YG4U0tV55u05o6l5Yqg5YWl6LO854mp6LuK5b2I5Ye66K2m5ZGK6KiK5oGv5pmC77yM5riF56m6VG9hc3Tni4DmhYtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUudG9hc3RNZXNzYWdlID09PSBJMThuLnQoVFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlNFTEVDVF9PUFRJT04pKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuVG9hc3Q6IGZhbHNlLCB0b2FzdFR5cGU6ICcnLCB0b2FzdE1lc3NhZ2U6ICcnIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdGUudG9hc3RNZXNzYWdlID09PSBJMThuLnQoVFJBTlNMQVRFX0xPQ0FMRV9LRVkuRlJPTlRFTkQuTElCLlRPQVNULkFERF9TVUNDRVNTKSkge1xuICAgICAgICAgICAgLy8g55W25Yqg5YWl5oiQ5Yqf5b6M6Ke455m8Y2FsbCBiYWNr5LqL5Lu2XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaXNPcGVuVG9hc3Q6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB0b2FzdFR5cGU6ICcnLFxuICAgICAgICAgICAgICAgICAgICB0b2FzdE1lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgICAgICAgICBpc09wZW5Ta3U6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzYWxlUGFnZUluZm86IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHNrdUluZm9MaXN0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBzYWxlUGFnZUlkOiAwLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5hZnRlclN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIOWCs+WHuuWklumDqEdB5L2/55So55qE5Y+D5pW4XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmFmdGVyU3VjY2Vzcyh0aGlzLnN0YXRlLnByb2R1Y3RJbmZvLnBheWxvYWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW5Ub2FzdDogZmFsc2UsIHRvYXN0VHlwZTogJycsIHRvYXN0TWVzc2FnZTogJycgfSwgdGhpcy5vbkNsb3NlQWRkVG9DYXJ0SGFuZGxlcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8qKlxuICAgICAqIOmhr+ekuuWVhuWTgeeLgOaFi+ioiuaBr1xuICAgICAqL1xuICAgIHNob3dNZXNzYWdlID0gKHN0YXR1cykgPT4ge1xuICAgICAgICBjb25zdCBtZXNzYWdlSXRlbSA9IGdldFRvYXN0TWVzc2FnZUl0ZW0oc3RhdHVzKTtcbiAgICAgICAgaWYgKG1lc3NhZ2VJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBpc09wZW5Ub2FzdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB0b2FzdE1lc3NhZ2U6IEkxOG4udChtZXNzYWdlSXRlbS5tZXNzYWdlKSxcbiAgICAgICAgICAgICAgICB0b2FzdFR5cGU6IG1lc3NhZ2VJdGVtLnR5cGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBoYW5kbGVDbG9zZURpYWxvZyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBpc09wZW5EaWFsb2c6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGRpYWxvZ01lc3NhZ2U6ICcnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMub25DbG9zZUFkZFRvQ2FydEhhbmRsZXJcbiAgICAgICAgKTtcbiAgICB9O1xuICAgIC8vIFRPRE86IOS5i+W+jOWGjeiqv+aVtOS4jeimgeS9v+eUqGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHPop7jnmbzplovpl5xcbiAgICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wczogQWRkVG9DYXJ0UHJvcHMpIHtcbiAgICAgICAgaWYgKG5leHRQcm9wcy5zYWxlUGFnZUlkICE9PSB0aGlzLnN0YXRlLnNhbGVQYWdlSWQgJiYgIXRoaXMuc3RhdGUuaXNPcGVuU2t1KSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuTG9hZDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIC8vIOWPluW+l0FQSeWVhuWTgeizh+ioilxuICAgICAgICAgICAgZmV0Y2hTYWxlUGFnZUluZm9Nb2RlbCh0aGlzLnByb3BzLnNob3BJZCwgbmV4dFByb3BzLnNhbGVQYWdlSWQpXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IHRoaXMuY2hlY2tBZGRUb0NhcnREaXJlY3QoZGF0YSkpXG4gICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbkxvYWQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dNZXNzYWdlKCdFcnJvcicpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgIHsvKiBQb3BVcCBTS1UgKi99XG4gICAgICAgICAgICAgICAgPE1vZGFsXG4gICAgICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW5Ta3V9XG4gICAgICAgICAgICAgICAgICAgIGlzU2hvd0Nsb3NlPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBvbkNsb3NlTW9kYWw9e3RoaXMub25DbG9zZUFkZFRvQ2FydEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUNzc0NsYXNzPVwibW9kYWwtLWxhcmdlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt0aGlzLnN0YXRlLnNhbGVQYWdlSW5mbyAmJiB0aGlzLnN0YXRlLnNrdUluZm9MaXN0ICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxQcm9kdWN0U2t1XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2t1UXR5TW9kZT17dGhpcy5zdGF0ZS5za3VRdHlNb2RlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9e3RoaXMuc3RhdGUubW9kZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsPXt0aGlzLnByb3BzLmRlY2ltYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sPXt0aGlzLnByb3BzLnN5bWJvbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByYXRlPXt0aGlzLnByb3BzLnJhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvcElkPXt0aGlzLnByb3BzLnNob3BJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYWxlUGFnZUluZm89e3RoaXMuc3RhdGUuc2FsZVBhZ2VJbmZvfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNrdUluZm9MaXN0PXt0aGlzLnN0YXRlLnNrdUluZm9MaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUFkZFRvQ2FydD17dGhpcy5oYW5kbGVBZGRUb0NhcnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQXBwT25seT17dGhpcy5oYW5kbGVBcHBPbmx5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUZhY2Vib29rU2hhcmU9e3RoaXMuaGFuZGxlRmFjZWJvb2tTaGFyZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkFkZFF1YW50aXR5PXt0aGlzLnByb3BzLm9uQWRkUXVhbnRpdHl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25SZW1vdmVRdWFudGl0eT17dGhpcy5wcm9wcy5vblJlbW92ZVF1YW50aXR5fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L01vZGFsPlxuICAgICAgICAgICAgICAgIHsvKiDlvYjot7PoqIrmga8gKi99XG4gICAgICAgICAgICAgICAgPFRvYXN0XG4gICAgICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW5Ub2FzdH1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT17dGhpcy5zdGF0ZS50b2FzdFR5cGV9XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9e3RoaXMuc3RhdGUudG9hc3RNZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICBhZnRlckNsb3NlPXt0aGlzLm9uQ2xvc2VUb2FzdEhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7Lyog562J5b6F5Zue5oeJ5pWI5p6cICovfVxuICAgICAgICAgICAgICAgIDxMb2FkaW5nIGlzTG9hZGluZz17dGhpcy5zdGF0ZS5pc09wZW5Mb2FkfSAvPlxuICAgICAgICAgICAgICAgIHsvKiDpjK/oqqREaWFsb2cqL31cbiAgICAgICAgICAgICAgICA8RGlhbG9nXG4gICAgICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW5EaWFsb2d9XG4gICAgICAgICAgICAgICAgICAgIGlzU2hvd0Nsb3NlPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgICAgY29uZmlybVRleHQ9e0kxOG4udChUUkFOU0xBVEVfTE9DQUxFX0tFWS5GUk9OVEVORC5MSUIuQ09ORklSTSl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ29uZmlybURpYWxvZz17dGhpcy5oYW5kbGVDbG9zZURpYWxvZ31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3RoaXMuc3RhdGUuZGlhbG9nTWVzc2FnZX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0RpYWxvZz5cbiAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCUk9XU0lOR19NT0RFIH0gZnJvbSAnQGNvbnN0YW50cy9kZXZpY2UuY29uc3RhbnRzJztcbmltcG9ydCB7IHJ1bnRpbWVNb2RlVXRpbGl0eSwgZGV2aWNlVXRpbGl0eSwgdXNlckFnZW50VXRpbGl0eSB9IGZyb20gJ0B1dGlsaXRpZXMvaW5kZXgnO1xuXG5pbXBvcnQgJy4vbW9kYWwuc2Nzcyc7XG5cbmludGVyZmFjZSBNb2RhbFByb3BzIHtcbiAgICBpc09wZW46IGJvb2xlYW47XG4gICAgaXNTaG93Q2xvc2U6IGJvb2xlYW47XG4gICAgaXNMb2FkaW5nPzogYm9vbGVhbjtcbiAgICBpc01hc2tPcGFjaXR5PzogYm9vbGVhbjtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBjb25maXJtVGV4dD86IHN0cmluZztcbiAgICBjYW5jZWxUZXh0Pzogc3RyaW5nO1xuICAgIGN1c3RvbVN0eWxlPzogUmVhY3QuQ1NTUHJvcGVydGllcztcbiAgICBjdXN0b21Dc3NDbGFzcz86IHN0cmluZztcbiAgICBvbkNsb3NlTW9kYWw/OiAoKSA9PiBhbnk7XG4gICAgb25Db25maXJtTW9kYWw/OiAoKSA9PiBhbnk7XG4gICAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuaW50ZXJmYWNlIFN0YXRlcyB7fTtcbi8qKlxuICog5b2I6Lez6KaW56qX5YWD5Lu2XG4gKi9cbmNsYXNzIE1vZGFsIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PE1vZGFsUHJvcHMsIFN0YXRlcz4ge1xuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyBkZWZhdWx0UHJvcHM6IFBhcnRpYWw8TW9kYWxQcm9wcz4gPSB7XG4gICAgICAgIGlzT3BlbjogZmFsc2UsXG4gICAgICAgIGlzU2hvd0Nsb3NlOiB0cnVlLFxuICAgICAgICBpc01hc2tPcGFjaXR5OiB0cnVlLFxuICAgICAgICB0aXRsZTogJycsXG4gICAgICAgIGNvbmZpcm1UZXh0OiAnJyxcbiAgICAgICAgY2FuY2VsVGV4dDogJycsXG4gICAgfTtcblxuICAgIHByaXZhdGUgc2xpZGVQdXNoTWVudUxlZnRFbGVtOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgYnJvd3NpbmdNb2RlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIGNvbnN0IHsgaXNPcGVuIH0gPSB0aGlzLnByb3BzO1xuICAgICAgICBpZihydW50aW1lTW9kZVV0aWxpdHkuY2hlY2tJc0NsaWVudFJlbmRlcigpKSB7XG4gICAgICAgICAgICB0aGlzLnNsaWRlUHVzaE1lbnVMZWZ0RWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzcGFyay1zbGlkZS1wdXNoLW1lbnVfX2xlZnQtY29udGFpbnRlcicpO1xuICAgICAgICAgICAgdGhpcy5icm93c2luZ01vZGUgPSBkZXZpY2VVdGlsaXR5LmdldEJyb3dzaW5nTW9kZSgpO1xuICAgICAgICAgICAgdGhpcy5mcmVlemVCb2R5KGlzT3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHM6IE1vZGFsUHJvcHMpIHtcbiAgICAgICAgY29uc3QgeyBpc09wZW4gfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGlmIChpc09wZW4gIT09IG5leHRQcm9wcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZnJlZXplQm9keShuZXh0UHJvcHMuaXNPcGVuKTtcbiAgICAgICAgICAgIHRoaXMuZnJlZXplQXNpZGVQdXNoTWVudShuZXh0UHJvcHMuaXNPcGVuKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOeVtumWi+WVn1BvcFVw6Y6W5L2P5bqV6YOoc2Nyb2xs6JmV55CGXG4gICAgICovXG4gICAgcHJpdmF0ZSBmcmVlemVCb2R5ID0gKGlzRml4ZWQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgaWYgKHJ1bnRpbWVNb2RlVXRpbGl0eS5jaGVja0lzQ2xpZW50UmVuZGVyKCkpIHtcbiAgICAgICAgICAgIGlmIChpc0ZpeGVkKSB7XG4gICAgICAgICAgICAgICAgd2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnZnJlZXplJyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2ZyZWV6ZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIOWHjee1kOaJi+apn+eJiOWBtOashG1lbnXvvIjph53lsI1zYWZhcmnnibnmroromZXnkIbvvIlcbiAgICAgKiAvLyBUT0RPOiDlvoznuozkvb/nlKhyZWFjdCBwb3J0YWzkvobmlLnlr6vpgJnlgIvlhYPku7bvvIzpgb/lhY1wb3N0aW9uIGZpeOWcqHNhZmFyaeeahOWVj+mhjFxuICAgICAqL1xuICAgIHByaXZhdGUgZnJlZXplQXNpZGVQdXNoTWVudSA9IChpc0ZpeGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGNvbnN0IHNsaWRlUHVzaE1lbnVMZWZ0RWxlbUNsYXNzTGlzdCA9IHRoaXMuc2xpZGVQdXNoTWVudUxlZnRFbGVtICYmIHRoaXMuc2xpZGVQdXNoTWVudUxlZnRFbGVtLmNsYXNzTGlzdDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5icm93c2luZ01vZGUgPT09IEJST1dTSU5HX01PREUuREVTS1RPUCB8fFxuICAgICAgICAgICAgIXNsaWRlUHVzaE1lbnVMZWZ0RWxlbUNsYXNzTGlzdCB8fFxuICAgICAgICAgICAgIXVzZXJBZ2VudFV0aWxpdHkuY2hlY2tJc1NhZmFyaShuYXZpZ2F0b3IudXNlckFnZW50KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNGaXhlZCkge1xuICAgICAgICAgICAgc2xpZGVQdXNoTWVudUxlZnRFbGVtQ2xhc3NMaXN0LmFkZCgnc3Bhcmstc2xpZGUtcHVzaC1tZW51LS1mcmVlemUnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNsaWRlUHVzaE1lbnVMZWZ0RWxlbUNsYXNzTGlzdC5yZW1vdmUoJ3NwYXJrLXNsaWRlLXB1c2gtbWVudS0tZnJlZXplJyk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHVibGljIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICBpc09wZW4sXG4gICAgICAgICAgICBpc01hc2tPcGFjaXR5LFxuICAgICAgICAgICAgb25DbG9zZU1vZGFsLFxuICAgICAgICAgICAgb25Db25maXJtTW9kYWwsXG4gICAgICAgICAgICBjdXN0b21TdHlsZSxcbiAgICAgICAgICAgIGN1c3RvbUNzc0NsYXNzLFxuICAgICAgICAgICAgaXNTaG93Q2xvc2UsXG4gICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgIGNhbmNlbFRleHQsXG4gICAgICAgICAgICBjb25maXJtVGV4dCxcbiAgICAgICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdtb2RhbCcsIGlzT3BlbiA9PT0gdHJ1ZSA/ICdtb2RhbC0tb3BlbicgOiAnJyl9PlxuICAgICAgICAgICAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ21vZGFsX19iYWNrZHJvcCcsIGlzTWFza09wYWNpdHkgPyAnbW9kYWxfX2JhY2tkcm9wLS1vcGFjaXR5JyA6ICcnKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xvc2VNb2RhbH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXtjdXN0b21TdHlsZX0gY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdtb2RhbC0tZGVmYXVsdCcsIGN1c3RvbUNzc0NsYXNzIHx8ICcnKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aXNTaG93Q2xvc2UgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWxfX2hlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJjbG9zZVwiIG9uQ2xpY2s9e29uQ2xvc2VNb2RhbH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzc05hbWU9XCJpY29uIGljb24tc2xpbS1jbG9zZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3RpdGxlICYmIDxoMiBjbGFzc05hbWU9XCJtb2RhbF9fdGl0bGVcIj57dGl0bGV9PC9oMj59XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgeyFjaGlsZHJlbiAmJiA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsX19sb2FkaW5nIGJsYWNrLXNwaW5uZXIgXCIgLz59XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW4gJiYgPGRpdiBjbGFzc05hbWU9XCJtb2RhbF9fYm9keVwiPntjaGlsZHJlbn08L2Rpdj59XG4gICAgICAgICAgICAgICAgICAgICAgICB7Lyog5aaC5p6c5rKS5pyJ5bi2YnV0dG9u5paH5a2X77yM5YmH5LiN6aGv56S6Zm9vdGVy5Y2A5aGKICovfVxuICAgICAgICAgICAgICAgICAgICAgICAge2NhbmNlbFRleHQgfHwgY29uZmlybVRleHQgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbF9fZm9vdGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYW5jZWxUZXh0ICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImNhbmNlbC1idG5cIiBvbkNsaWNrPXtvbkNsb3NlTW9kYWx9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjYW5jZWxUZXh0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtjb25maXJtVGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJjb25maXJtLWJ0blwiIG9uQ2xpY2s9e29uQ29uZmlybU1vZGFsfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y29uZmlybVRleHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNb2RhbDtcbiIsImltcG9ydCAqIGFzIGh0dHBQcm92aWRlciBmcm9tICcuL2h0dHAucHJvdmlkZXInO1xuXG5leHBvcnQge1xuICAgIGh0dHBQcm92aWRlclxufTtcbiIsImltcG9ydCBBZGRUb0NhcnREZXNrdG9wIGZyb20gJ0Bjb21wb25lbnRzL2FkZFRvQ2FydC9kZXNrdG9wL2FkZFRvQ2FydC5kZXNrdG9wJztcbmltcG9ydCBBZGRUb0NhcnRNb2JpbGUgZnJvbSAnQGNvbXBvbmVudHMvYWRkVG9DYXJ0L21vYmlsZS9hZGRUb0NhcnQubW9iaWxlJztcbmltcG9ydCBNb2RhbCBmcm9tICdAY29tcG9uZW50cy9tb2RhbC9tb2RhbCc7XG5pbXBvcnQgTG9hZGluZyBmcm9tICdAY29tcG9uZW50cy9sb2FkaW5nL2xvYWRpbmcnO1xuaW1wb3J0IFRvYXN0LCB7IGdldFRvYXN0TWVzc2FnZUl0ZW0gfSBmcm9tICdAY29tcG9uZW50cy90b2FzdC90b2FzdCc7XG5pbXBvcnQgQ3VycmVuY3kgZnJvbSAnQGNvbXBvbmVudHMvY3VycmVuY3kvY3VycmVuY3knO1xuaW1wb3J0IENoZWNrQm94IGZyb20gJ0Bjb21wb25lbnRzL2NoZWNrQm94L2NoZWNrQm94JztcbmltcG9ydCBSYWRpb0J1dHRvbiBmcm9tICdAY29tcG9uZW50cy9yYWRpb0J1dHRvbi9yYWRpb0J1dHRvbic7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0Bjb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgTGluayBmcm9tICdAY29tcG9uZW50cy9saW5rJztcbmltcG9ydCBUYWcgZnJvbSAnQGNvbXBvbmVudHMvdGFnJztcblxuaW1wb3J0IHsgaHR0cFByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvaW5kZXgnO1xuaW1wb3J0IHtcbiAgICBkYXRlRm9ybWF0VXRpbGl0eSxcbiAgICBkZXZpY2VVdGlsaXR5LFxuICAgIHVzZXJBZ2VudFV0aWxpdHksXG4gICAgcnVudGltZU1vZGVVdGlsaXR5LFxuICAgIGNvb2tpZVV0aWxpdHksXG4gICAgdXJsVXRpbGl0eSxcbiAgICBjdXJyZW5jeVV0aWxpdHksXG59IGZyb20gJy4vdXRpbGl0aWVzL2luZGV4JztcbmltcG9ydCBTcGFya0NvcmVUaGVtZVByb3ZpZGVyIGZyb20gJ0Bjb21wb25lbnRzL3RoZW1lJztcblxuZXhwb3J0IHtcbiAgICAvLyBDb21wb25lbnRzXG4gICAgQWRkVG9DYXJ0RGVza3RvcCxcbiAgICBBZGRUb0NhcnRNb2JpbGUsXG4gICAgTW9kYWwsXG4gICAgTG9hZGluZyxcbiAgICBUb2FzdCxcbiAgICBnZXRUb2FzdE1lc3NhZ2VJdGVtLFxuICAgIEN1cnJlbmN5LFxuICAgIENoZWNrQm94LFxuICAgIFJhZGlvQnV0dG9uLFxuICAgIEJ1dHRvbixcbiAgICBMaW5rLFxuICAgIFRhZyxcbiAgICBTcGFya0NvcmVUaGVtZVByb3ZpZGVyLFxuICAgIC8vIFByb3ZpZGVyc1xuICAgIGh0dHBQcm92aWRlcixcbiAgICAvLyBVdGlsaXRpZXNcbiAgICBkYXRlRm9ybWF0VXRpbGl0eSxcbiAgICBkZXZpY2VVdGlsaXR5LFxuICAgIHVzZXJBZ2VudFV0aWxpdHksXG4gICAgcnVudGltZU1vZGVVdGlsaXR5LFxuICAgIGNvb2tpZVV0aWxpdHksXG4gICAgdXJsVXRpbGl0eSxcbiAgICBjdXJyZW5jeVV0aWxpdHksXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQ1ZBO0FBQ0E7QUFDQTtBQUZBOztBQ0FBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7QUMxQkE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFPQTtBQUNBO0FBREE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFNQTtBQUVBO0FBRUE7QUFHQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBOztBQ3RDQTtBQUVBOztBQ0ZBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUNwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUM1RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7O0FDZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FDZEE7QUFDQTtBQUNBO0FBRUE7QUFlQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQWNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFGQTtBQU1BO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVNBOzs7Ozs7QUMxR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1JBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQU9BO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUMxREE7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFDQTtBQUNBOztBQzdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVhBO0FBakJBO0FBREE7QUFEQTs7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFZQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBSEE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBU0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUZBO0FBQ0E7QUFEQTtBQUNBO0FBREE7QUF1QkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQTdCQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFGQTtBQU9BO0FBQ0E7QUFEQTtBQUdBO0FBQUE7QUFBQTtBQUpBO0FBTUE7QUFBQTtBQUVBO0FBQUE7QUFTQTtBQUNBO0FBMUVBO0FBQ0E7QUFEQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBQ0E7QUEwRUE7Ozs7Ozs7O0FDOUpBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFDQTtBQUNBOztBQ3hDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQ1JBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTs7QUNwQ0E7QUFFQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBWUE7QUFDQTtBQUZBO0FBVUE7QUFDQTtBQUZBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBV0E7O0FDdkVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBY0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7QUFlQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBSUE7QUFBQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBY0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBYUE7O0FDMU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ05BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNMQTtBQUNBO0FBQ0E7O0FDRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ1hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUNqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDcENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7QUM3OUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFRQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFnREE7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFPQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFUQTtBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVdBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQVdBOztBQ3ZaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQTVCQTtBQW1DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFqQ0E7QUF3Q0E7QUFDQTtBQUNBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFJQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFNQTs7QUMxSkE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQW9CQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBU0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFIQTtBQU1BO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBeENBO0FBNENBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FDeE1BO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBZUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFpQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFLQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBWUE7QUFDQTtBQUZBO0FBVUE7QUFDQTtBQUZBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBV0E7QUFJQTs7Ozs7Ozs7QUMxSUE7QUFDQTtBQVVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUtBO0FBS0E7QUFqQkE7QUFDQTtBQXNCQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDOUNBO0FBQ0E7QUFDQTtBQUNBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOzs7O0FDbkRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBaUNBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBbUJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFqQkE7QUFtQkE7QUFyQkE7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBeENBO0FBMENBO0FBQ0E7QUFqRUE7QUFxRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUE1RUE7QUFnRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXpGQTtBQTZGQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFyR0E7QUF5R0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBIQTtBQXdIQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUEzSEE7QUErSEE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQXRJQTtBQTBJQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFDQTtBQWhKQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQStIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQWlCQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7QUFZQTtBQUNBO0FBdk9BOztBQ2hGQTtBQUNBO0FBQ0E7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUZBO0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBT0E7O0FDdkhBO0FBQ0E7QUFDQTtBQUNBO0FBOENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFWQTtBQUNBO0FBV0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFDQTtBQUlBO0FBR0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBRkE7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQU5BO0FBUUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWhCQTtBQWtCQTtBQUNBO0FBQ0E7QUFGQTtBQUlBOztBQzFNQTtBQUNBO0FBQ0E7QUE0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFGQTtBQVlBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUM3REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWdDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBc0JBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFUQTtBQVdBO0FBQ0E7QUFwQ0E7QUF3Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE1RkE7QUFnR0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBM0dBO0FBK0dBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQTlIQTtBQWtJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF4SUE7QUE0SUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQXRLQTtBQTBLQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBbkxBO0FBcUxBO0FBRUE7QUFDQTtBQUZBO0FBTUE7QUFDQTtBQTNMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF3S0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFtQkE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQU9BO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBVUE7QUFDQTtBQS9QQTs7Ozs7QUM3Q0E7QUFDQTtBQUNBO0FBYUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FBWUE7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUVBOzs7Ozs7Ozs7QUMzREE7QUFDQTtBQUNBO0FBQ0E7QUFjQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFSQTtBQVVBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUVBOztBQzVDQTtBQUNBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFXQTs7QUNuQkE7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFaQTtBQWlCQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBSUE7Ozs7Ozs7O0FDOUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBYkE7QUFDQTtBQXNCQTtBQUNBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7O0FDbkNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FDeEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7O0FDdEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2ZBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFPQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFvQkE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQ3hDQTtBQUNBO0FBRUE7QUFPQTtBQVFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQU1BO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FDbkNBO0FBQ0E7QUFFQTtBQVFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQWVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFPQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUtBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUNBOztBQ3hEQTtBQUNBO0FBQ0E7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFNQTtBQUNBO0FBQ0E7O0FDaERBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWlCQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBd0JBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFGQTtBQUlBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBVUE7O0FDdEpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7OztBQ1pBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQStCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFzQkE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQVRBO0FBV0E7QUFDQTtBQXBDQTtBQXdDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTVGQTtBQWdHQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUEzR0E7QUErR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBOUhBO0FBa0lBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXhJQTtBQTRJQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUEE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBdEtBO0FBMEtBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFuTEE7QUFxTEE7QUFFQTtBQUNBO0FBRkE7QUFNQTtBQUNBO0FBM0xBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWJBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdUtBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWJBO0FBbUJBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVVBO0FBQ0E7QUE3UEE7Ozs7QUMvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFDQTtBQURBO0FBQ0E7QUFEQTtBQW9DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE1Q0E7QUFrREE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBL0RBO0FBQ0E7QUFjQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBQWNBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFGQTtBQU1BO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUdBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUNBO0FBeEhBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU5BO0FBQ0E7QUF1SEE7O0FDbkpBOzs7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQVNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///34\n")}])},module.exports=g(__webpack_require__("react"),__webpack_require__("./node_modules/react-redux-i18n/build/index.js"))},"./node_modules/@91app/nineyi.lib.themecore/node_modules/@91app/nine1.lib.custom-setting/dist/index.umd.js":function(e,t){!function(e){"use strict";const t={isShowSFTPContractNote:!0,isHideStoreCustomerService:!1,isHideMembershipDescription:!1,noServiceAreaExcludeZipCode:[],isEnableshippingCartMoreStorePayMethod:!1,customerHeaderConfig:"",customerSalePageImgConfig:"",isShowSalePageProductId:!0,isProductCardTargetBlankOnCategoryPage:!1,isChannelActive:!1,isChannelSwitchActive:!1,isDirectlyAddToCart:!1,isBreadcrumbsActive:!0,isUseFastBuy:!1,isNewPXProductList:!1,isBubbleAddToCart:!1,customerServiceMessageConfig:"",customerUIConfig:{},isShopsDesktopImageNeedCompress:!1,isMujiCustomerFooter:!1,isHideTypeButton:!1,isEnableAdidasCustom:!1,isCustomUnableChangePasswordPrompt:!1,customVipMemberTradesSumTitle:!1,customCarouselAutoplaySecond:3},n={isShowSFTPContractNote:!0,isHideStoreCustomerService:!1,isHideMembershipDescription:!1,noServiceAreaExcludeZipCode:[],isEnableshippingCartMoreStorePayMethod:!1,customerHeaderConfig:"",customerSalePageImgConfig:"",isShowSalePageProductId:!0,isProductCardTargetBlankOnCategoryPage:!1,isChannelActive:!1,isChannelSwitchActive:!1,isDirectlyAddToCart:!1,isBreadcrumbsActive:!0,isUseFastBuy:!1,isNewPXProductList:!1,isBubbleAddToCart:!1,customerServiceMessageConfig:"",customerUIConfig:{},isShopsDesktopImageNeedCompress:!1,isMujiCustomerFooter:!1,isHideTypeButton:!1,isEnableAdidasCustom:!1,isCustomUnableChangePasswordPrompt:!1,customVipMemberTradesSumTitle:!1,customCarouselAutoplaySecond:3},i={dev:{default:t,tw:{22:{isChannelActive:!0,isChannelSwitchActive:!0,isDirectlyAddToCart:!0,isUseFastBuy:!0,isNewPXProductList:!0,isBubbleAddToCart:!0},225:{isHideStoreCustomerService:!0,isHideMembershipDescription:!0,customerSalePageImgConfig:"_碧兒泉",isBreadcrumbsActive:!1,customerServiceMessageConfig:"線上購物問與答",isShopsDesktopImageNeedCompress:!0},231:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},233:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0},235:{isProductCardTargetBlankOnCategoryPage:!0},10230:{isEnableshippingCartMoreStorePayMethod:!0},12202:{isShowSalePageProductId:!1},12209:{isShowSFTPContractNote:!1},12488:{isCustomUnableChangePasswordPrompt:!0,customVipMemberTradesSumTitle:!0},12868:{noServiceAreaExcludeZipCode:["882","896","883"]}},hk:{},my:{}},qa:{default:t,tw:{225:{isHideStoreCustomerService:!0,customerServiceMessageConfig:"線上購物問與答",customCarouselAutoplaySecond:5},231:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},233:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isShopsDesktopImageNeedCompress:!0,isHideTypeButton:!0,isEnableAdidasCustom:!0},10230:{isEnableshippingCartMoreStorePayMethod:!0},10490:{isEnableshippingCartMoreStorePayMethod:!0},12157:{customerSalePageImgConfig:"_碧兒泉"},12202:{isShowSalePageProductId:!1},12209:{isShowSFTPContractNote:!1},12294:{isHideMembershipDescription:!0},12488:{isCustomUnableChangePasswordPrompt:!0,customVipMemberTradesSumTitle:!0},12868:{isEnableshippingCartMoreStorePayMethod:!0,noServiceAreaExcludeZipCode:["882","896","883"]}},hk:{2:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5}},my:{}},qa11:{default:t,tw:{231:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},233:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0}}},stage:{default:n,tw:{8:{isShopsDesktopImageNeedCompress:!0},360:{noServiceAreaExcludeZipCode:["882","896","883"],isEnableshippingCartMoreStorePayMethod:!0},2325:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},2373:{noServiceAreaExcludeZipCode:["882","896","883"]},40589:{customerSalePageImgConfig:"_碧兒泉",isShopsDesktopImageNeedCompress:!0},40625:{customerSalePageImgConfig:"_碧兒泉"},41337:{isHideStoreCustomerService:!0,customerServiceMessageConfig:"線上購物問與答"},41364:{isEnableshippingCartMoreStorePayMethod:!0},41426:{isEnableshippingCartMoreStorePayMethod:!0},41566:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isShowSalePageProductId:!1,isMujiCustomerFooter:!0},41571:{isShowSFTPContractNote:!1,customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0},41591:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0}},hk:{20:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},21:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},76:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},77:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5}}},prod:{default:n,tw:{8:{isShopsDesktopImageNeedCompress:!0},360:{noServiceAreaExcludeZipCode:["882","896","883"],isEnableshippingCartMoreStorePayMethod:!0},2325:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},2373:{noServiceAreaExcludeZipCode:["882","896","883"]},40522:{isCustomUnableChangePasswordPrompt:!0},40589:{customerSalePageImgConfig:"_碧兒泉",isShopsDesktopImageNeedCompress:!0},40625:{customerSalePageImgConfig:"_碧兒泉"},40916:{customVipMemberTradesSumTitle:!0},41337:{isHideStoreCustomerService:!0,customerServiceMessageConfig:"線上購物問與答"},41364:{isEnableshippingCartMoreStorePayMethod:!0},41426:{isEnableshippingCartMoreStorePayMethod:!0},41566:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isShowSalePageProductId:!1,isMujiCustomerFooter:!0},41571:{isShowSFTPContractNote:!1,customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0},41591:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0},41602:{isHideMembershipDescription:!0}},hk:{20:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},21:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},76:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},77:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5}},my:{}}},o=(e,t,n,i)=>{var o;if(!(e&&t&&n&&i))return null;const s=r(e),c=null==(o=a(e,t)[n])?void 0:o[i];return void 0!==c?c:null==s?void 0:s[i]},r=e=>{var n;return(null==(n=i[null==e?void 0:e.toLowerCase()])?void 0:n.default)||t},a=(e,t)=>{var n;const o=r(e);return(null==(n=i[null==e?void 0:e.toLowerCase()])?void 0:n[null==t?void 0:t.toLowerCase()])||o};var s,c=((s=c||{}).isHideStoreCustomerService="isHideStoreCustomerService",s.isShowSFTPContractNote="isShowSFTPContractNote",s.isHideMembershipDescription="isHideMembershipDescription",s.customerSalePageImgConfig="customerSalePageImgConfig",s.isShowSalePageProductId="isShowSalePageProductId",s.isChannelActive="isChannelActive",s.isChannelSwitchActive="isChannelSwitchActive",s.isDirectlyAddToCart="isDirectlyAddToCart",s.isBreadcrumbsActive="isBreadcrumbsActive",s.isUseFastBuy="isUseFastBuy",s.isNewPXProductList="isNewPXProductList",s.isBubbleAddToCart="isBubbleAddToCart",s.customerUIConfig="customerUIConfig",s.customerServiceMessageConfig="customerServiceMessageConfig",s.noServiceAreaExcludeZipCode="noServiceAreaExcludeZipCode",s.isEnableshippingCartMoreStorePayMethod="isEnableshippingCartMoreStorePayMethod",s.isProductCardTargetBlankOnCategoryPage="isProductCardTargetBlankOnCategoryPage",s.isShopsDesktopImageNeedCompress="isShopsDesktopImageNeedCompress",s.isMujiCustomerFooter="isMujiCustomerFooter",s.isHideTypeButton="isHideTypeButton",s.isEnableAdidasCustom="isEnableAdidasCustom",s.customerHeaderConfig="customerHeaderConfig",s.isCustomUnableChangePasswordPrompt="isCustomUnableChangePasswordPrompt",s.customVipMemberTradesSumTitle="customVipMemberTradesSumTitle",s.customCarouselAutoplaySecond="customCarouselAutoplaySecond",s);e.getSetting=o,e.settingNameEnum=c,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(t)},"./node_modules/@91app/nineyi.lib.themecore/node_modules/@91app/nine1.lib.custom-translation/dist/index.umd.js":function(e,t){!function(e){"use strict";var t,n=((t=n||{}).frontend_common_vip_member_zone="frontend_common_vip_member_zone",t.frontend_common_vip_member_zone_entrance="frontend_common_vip_member_zone_entrance",t.frontend_common_back_to_vip_member_zone="frontend_common_back_to_vip_member_zone",t.frontend_common_order_search="frontend_common_order_search",t.frontend_trades_order_trades_order_list_order_list="frontend_trades_order_trades_order_list_order_list",t.frontend_vip_member_index_check_order="frontend_vip_member_index_check_order",t.frontend_common_back_to_order_search="frontend_common_back_to_order_search",t.frontend_common_my_ecoupon="frontend_common_my_ecoupon",t.frontend_common_ecoupon_zone="frontend_common_ecoupon_zone",t.frontend_common_go_to_ecoupon_zone="frontend_common_go_to_ecoupon_zone",t.frontend_common_ecoupon="frontend_common_ecoupon",t.frontend_vip_member_email_notification_sms_subscribe="frontend_vip_member_email_notification_sms_subscribe",t.frontend_vip_member_email_notification_promotion_sms="frontend_vip_member_email_notification_promotion_sms",t.frontend_shop_introduce_cancel_order_description="frontend_shop_introduce_cancel_order_description",t.frontend_shop_introduce_why_not_receive_einvoice_description="frontend_shop_introduce_why_not_receive_einvoice_description",t.frontend_shop_introduce_einvoice_donation_description="frontend_shop_introduce_einvoice_donation_description",t.frontend_shop_introduce_how_to_redeem_einvoice_prize_description="frontend_shop_introduce_how_to_redeem_einvoice_prize_description",t.frontend_shop_introduce_non_winning_einvoice_delivery_description="frontend_shop_introduce_non_winning_einvoice_delivery_description",t.frontend_shop_introduce_einvoice_return_user_description="frontend_shop_introduce_einvoice_return_user_description",t.frontend_common_points="frontend_common_points",t.frontend_common_points_unit="frontend_common_points_unit",t.frontend_common_not_yet_open_for_sale="frontend_common_not_yet_open_for_sale",t.frontend_common_cannot_purchase="frontend_common_cannot_purchase",t),i=(e=>(e.mweb="mweb",e.osm="osm",e))(i||{}),o=(e=>(e.frontend="frontend",e.backend="backend",e.cms="cms",e.app="app",e))(o||{}),r=(e=>(e.dev="dev",e.qa="qa",e.pp="pp",e.stage="stage",e.prod="prod",e))(r||{}),a=(e=>(e.tw="tw",e.hk="hk",e.my="my",e))(a||{});const s=e=>{switch(e){case r.dev:case r.qa:return r.qa;case r.pp:case r.stage:case r.prod:return r.prod;default:return e}},c={mweb:{frontend:{hk:{5:{frontend_common_not_yet_open_for_sale:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5",frontend_common_cannot_purchase:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5"},11:{frontend_common_vip_member_zone:"hk_qa.mweb.frontend.common.vipmember_zone_11",frontend_common_vip_member_zone_entrance:"hk_qa.mweb.frontend.common.vipmember_zone_entrance_11",frontend_common_back_to_vip_member_zone:"hk_qa.mweb.frontend.common.back_to_vipmember_zone_11",frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_11",frontend_vip_member_index_check_order:"hk_qa.mweb.frontend.vip_member.index.check_order_11",frontend_common_back_to_order_search:"hk_qa.mweb.frontend.common.back_to_order_search_11",frontend_trades_order_trades_order_list_order_list:"hk_qa.mweb.frontend.trades_order_trades_order_list.order_list_11",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_11",frontend_common_ecoupon_zone:"hk_qa.mweb.frontend.common.ecoupon_zone_11",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_11",frontend_vip_member_email_notification_sms_subscribe:"hk_qa.mweb.frontend.vip_member.email_notification.sms_subscribe_11",frontend_vip_member_email_notification_promotion_sms:"hk_qa.mweb.frontend.vip_member.email_notification.promotion_sms_11"},24:{frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_24",frontend_vip_member_index_check_order:"hk_qa.mweb.frontend.vip_member.index.check_order_24",frontend_common_back_to_order_search:"hk_qa.mweb.frontend.common.back_to_order_search_24",frontend_trades_order_trades_order_list_order_list:"hk_qa.mweb.frontend.trades_order_trades_order_list.order_list_24",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_24",frontend_common_ecoupon_zone:"hk_qa.mweb.frontend.common.ecoupon_zone_24",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_24",frontend_common_points:"hk_qa.mweb.frontend.common.points_24",frontend_common_points_unit:"hk_qa.mweb.frontend.common.points_unit_24"}},tw:{233:{frontend_shop_introduce_why_not_receive_einvoice_description:"tw_qa.mweb.frontend.shop_introduce.why_not_receive_einvoice_description_233",frontend_shop_introduce_einvoice_donation_description:"tw_qa.mweb.frontend.shop_introduce.einvoice_donation_description_233",frontend_shop_introduce_how_to_redeem_einvoice_prize_description:"tw_qa.mweb.frontend.shop_introduce.how_to_redeem_einvoice_prize_description_233",frontend_shop_introduce_non_winning_einvoice_delivery_description:"tw_qa.mweb.frontend.shop_introduce.non_winning_einvoice_delivery_description_233",frontend_shop_introduce_einvoice_return_user_description:"tw_qa.mweb.frontend.shop_introduce.einvoice_return_user_description_233"},12868:{frontend_shop_introduce_cancel_order_description:"tw_qa.mweb.frontend.shop_introduce.cancel_order_description_12868"}}},backend:null,cms:{hk:{5:{frontend_common_not_yet_open_for_sale:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5",frontend_common_cannot_purchase:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5"},11:{frontend_common_vip_member_zone:"hk_qa.mweb.frontend.common.vipmember_zone_11",frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_11",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_11",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_11"},24:{frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_24",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_24"}}},app:{hk:{5:{frontend_common_not_yet_open_for_sale:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5",frontend_common_cannot_purchase:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5"},11:{frontend_common_vip_member_zone:"hk_qa.mweb.frontend.common.vipmember_zone_11",frontend_common_vip_member_zone_entrance:"hk_qa.mweb.frontend.common.vipmember_zone_entrance_11",frontend_common_back_to_vip_member_zone:"hk_qa.mweb.frontend.common.back_to_vipmember_zone_11",frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_11",frontend_vip_member_index_check_order:"hk_qa.mweb.frontend.vip_member.index.check_order_11",frontend_common_back_to_order_search:"hk_qa.mweb.frontend.common.back_to_order_search_11",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_11",frontend_common_ecoupon_zone:"hk_qa.mweb.frontend.common.ecoupon_zone_11",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_11",frontend_vip_member_email_notification_sms_subscribe:"hk_qa.mweb.app.vip_member.email_notification.sms_subscribe_11",frontend_vip_member_email_notification_promotion_sms:"hk_qa.mweb.frontend.vip_member.email_notification.promotion_sms_11"}}}}},l={mweb:{frontend:{hk:{7:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_7",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_7",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_7",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_7",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_7",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_7",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_7",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_7",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_7",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_7",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.frontend.vip_member.email_notification.sms_subscribe_7",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_7"},17:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_17",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_17",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_17",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_17",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_17",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_17",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_17",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_17",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_17",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_17",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.frontend.vip_member.email_notification.sms_subscribe_17",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_17"},25:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_25",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_25",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_25",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_25",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_25",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_25",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_25",frontend_common_points:"hk_prod.mweb.frontend.common.points_25",frontend_common_points_unit:"hk_prod.mweb.frontend.common.points_unit_25"},28:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_28",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_28",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_28",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_28",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_28",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_28",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_28",frontend_common_points:"hk_prod.mweb.frontend.common.points_28",frontend_common_points_unit:"hk_prod.mweb.frontend.common.points_unit_28"},85:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"},86:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"}},tw:{360:{frontend_shop_introduce_cancel_order_description:"tw_prod.mweb.frontend.shop_introduce.cancel_order_description_360"},41426:{frontend_shop_introduce_cancel_order_description:"tw_prod.mweb.frontend.shop_introduce.cancel_order_description_41426"},41571:{frontend_shop_introduce_why_not_receive_einvoice_description:"tw_prod.mweb.frontend.shop_introduce.why_not_receive_einvoice_description_41571",frontend_shop_introduce_einvoice_donation_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_donation_description_41571",frontend_shop_introduce_how_to_redeem_einvoice_prize_description:"tw_prod.mweb.frontend.shop_introduce.how_to_redeem_einvoice_prize_description_41571",frontend_shop_introduce_non_winning_einvoice_delivery_description:"tw_prod.mweb.frontend.shop_introduce.non_winning_einvoice_delivery_description_41571",frontend_shop_introduce_einvoice_return_user_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_return_user_description_41571"},41591:{frontend_shop_introduce_why_not_receive_einvoice_description:"tw_prod.mweb.frontend.shop_introduce.why_not_receive_einvoice_description_41591",frontend_shop_introduce_einvoice_donation_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_donation_description_41591",frontend_shop_introduce_how_to_redeem_einvoice_prize_description:"tw_prod.mweb.frontend.shop_introduce.how_to_redeem_einvoice_prize_description_41591",frontend_shop_introduce_non_winning_einvoice_delivery_description:"tw_prod.mweb.frontend.shop_introduce.non_winning_einvoice_delivery_description_41591",frontend_shop_introduce_einvoice_return_user_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_return_user_description_41591"}}},backend:null,cms:{hk:{7:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_7",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_7",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_7",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_7"},17:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_17",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_17",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_17",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_17"},25:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_25",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_25"},28:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_28",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_28"},85:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"},86:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"}}},app:{hk:{7:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_7",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_7",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_7",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_7",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_7",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_7",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_7",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_7",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_7",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.app.vip_member.email_notification.sms_subscribe_7",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_7"},17:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_17",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_17",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_17",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_17",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_17",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_17",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_17",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_17",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_17",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.app.vip_member.email_notification.sms_subscribe_17",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_17"},85:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"},86:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_86",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_86"}}}}},u=({platform:e,moduleType:t,env:n,market:i,shopId:o})=>{var a,u;const d=null==(a=(s(n)===r.prod?l:c)[e])?void 0:a[t];return!!d&&!(null==(u=d[i])||!u[o])};e.envEnum=r,e.isHasCustomTransModuleSetting=u,e.marketEnum=a,e.moduleTypeEnum=o,e.mwebTranslationKeyEnum=n,e.platformKeyEnum=i,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(t)},"./node_modules/@91app/nineyi.lib.themecore/node_modules/@91app/nineyi.lib.display-text/dist/bundle.js":(e,t,n)=>{"use strict";var i;n.r(t),n.d(t,{filterSalePageSpecialPriceData:()=>g,getDisplayPrice:()=>u,getDisplaySuggestPrice:()=>d,getSalePagePriceRange:()=>I,getSalePageSpecialPriceTagData:()=>f,isShowComingSoon:()=>b,isShowSuggestPrice:()=>h,mappingSalePagePriceRangeData:()=>m,mappingSalePageSpecialPriceList:()=>p,mappingSpecialPriceData:()=>c,mappingSpecialPriceDataLabel:()=>l}),function(e){e.POINT_PAY="PointPay",e.PRICE="Price"}(i||(i={}));var o=["-1"],r=function(e){return"/Date(-62135596800000)/"===e?new Date(0):new Date(parseInt(e.replace("/Date(","").replace(")/",""),10))},a=function(e){return!!/^\/Date/.test(e)},s=function(e,t,n){var i=n.getTime(),o=a("".concat(e))?new Date(r("".concat(e))).getTime():new Date(e).getTime(),s=a("".concat(t))?new Date(r("".concat(t))).getTime():new Date(t).getTime();return o<i&&s>i},c=function(e,t,n){if(void 0===t&&(t=o),void 0===n&&(n=new Date),!e||0===e.length)return null;var i=e.filter((function(e){return s(e.StartDateTime,e.EndDateTime,n)&&t.includes(e.MemberCollectionId)}));if(i.length>0){var r=i.sort((function(e,t){return e.Price!==t.Price?e.Price-t.Price:t.PromotionEngineId-e.PromotionEngineId}))[0];return{price:r.Price,label:r.Label}}return null},l=function(e,t,n){return e&&e.price<=t&&n===i.PRICE?e.label:null},u=function(e,t){return t>0&&t<=e?t:e},d=function(e,t,n,i){return n>0&&n<=e&&i?e:t},g=function(e,t,n){return void 0===n&&(n=new Date),e.filter((function(e){return s(e.StartDateTime,e.EndDateTime,n)&&t.indexOf(e.MemberCollectionId)>=0}))},p=function(e){var t=[];return e.forEach((function(e){e.PriceList.forEach((function(n){var i=t.find((function(e){return e.SkuId===n.SkuId})),o=t.map((function(e){return e.SkuId})).indexOf(n.SkuId),r={PromotionEngineId:e.PromotionEngineId,MemberCollectionId:e.MemberCollectionId,StartDateTime:e.StartDateTime,EndDateTime:e.EndDateTime,SkuId:n.SkuId,Price:n.Price,Label:e.Label};i&&(r.Price<i.Price||r.Price===i.Price&&r.PromotionEngineId>i.PromotionEngineId)&&(t[o]=r),i||t.push(r)}))})),t.sort((function(e,t){return e.Price!==t.Price?e.Price-t.Price:t.PromotionEngineId-e.PromotionEngineId}))},m=function(e,t,n,i){return e.map((function(e){var o,r=t.find((function(t){return t.SkuId===e.SkuId}));if(r){var a=r.Price,s=(null===(o=i.find((function(e){return e.SkuId===r.SkuId})))||void 0===o?void 0:o.Price)||Number.MIN_VALUE;a<=s&&(n&&(e.SuggestPrice=s),e.Price=a)}return e}))},f=function(e,t,n,i){if(void 0===i&&(i=!1),!e)return null;var o=e.find((function(e){return e.SkuId===t}));return o&&o.Price<=(n||Number.MIN_VALUE)&&!i?o:null},I=function(e,t){return e&&e.length>0?(e.sort((function(e,n){return e[t]-n[t]})),{min:e[0][t],max:e[e.length-1][t]}):null},h=function(e,t,n,o){switch(e){case i.POINT_PAY:return n>o;case i.PRICE:return n>t;default:return!1}},b=function(e,t,n){var i=new Date;return!(!e||!t)&&t<=i&&i<e&&n}},"./node_modules/@91app/nineyi.lib.themecore/node_modules/dompurify/dist/purify.cjs.js":e=>{"use strict";
/*! @license DOMPurify 3.2.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.1/LICENSE */const{entries:t,setPrototypeOf:n,isFrozen:i,getPrototypeOf:o,getOwnPropertyDescriptor:r}=Object;let{freeze:a,seal:s,create:c}=Object,{apply:l,construct:u}="undefined"!=typeof Reflect&&Reflect;a||(a=function(e){return e}),s||(s=function(e){return e}),l||(l=function(e,t,n){return e.apply(t,n)}),u||(u=function(e,t){return new e(...t)});const d=_(Array.prototype.forEach),g=_(Array.prototype.pop),p=_(Array.prototype.push),m=_(String.prototype.toLowerCase),f=_(String.prototype.toString),I=_(String.prototype.match),h=_(String.prototype.replace),b=_(String.prototype.indexOf),y=_(String.prototype.trim),C=_(Object.prototype.hasOwnProperty),v=_(RegExp.prototype.test),B=(A=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return u(A,t)});var A;function _(e){return function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return l(e,t,i)}}function S(e,t){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:m;n&&n(e,null);let r=t.length;for(;r--;){let n=t[r];if("string"==typeof n){const e=o(n);e!==n&&(i(t)||(t[r]=e),n=e)}e[n]=!0}return e}function G(e){for(let t=0;t<e.length;t++){C(e,t)||(e[t]=null)}return e}function Q(e){const n=c(null);for(const[i,o]of t(e)){C(e,i)&&(Array.isArray(o)?n[i]=G(o):o&&"object"==typeof o&&o.constructor===Object?n[i]=Q(o):n[i]=o)}return n}function E(e,t){for(;null!==e;){const n=r(e,t);if(n){if(n.get)return _(n.get);if("function"==typeof n.value)return _(n.value)}e=o(e)}return function(){return null}}const F=a(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),w=a(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),T=a(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),x=a(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),k=a(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),N=a(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),O=a(["#text"]),Z=a(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),U=a(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),R=a(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),X=a(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),W=s(/\{\{[\w\W]*|[\w\W]*\}\}/gm),V=s(/<%[\w\W]*|[\w\W]*%>/gm),P=s(/\${[\w\W]*}/gm),D=s(/^data-[\-\w.\u00B7-\uFFFF]/),H=s(/^aria-[\-\w]+$/),L=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Y=s(/^(?:\w+script|data):/i),M=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),J=s(/^html$/i),j=s(/^[a-z][.\w]*(-[.\w]+)+$/i);var z=Object.freeze({__proto__:null,ARIA_ATTR:H,ATTR_WHITESPACE:M,CUSTOM_ELEMENT:j,DATA_ATTR:D,DOCTYPE_NAME:J,ERB_EXPR:V,IS_ALLOWED_URI:L,IS_SCRIPT_OR_DATA:Y,MUSTACHE_EXPR:W,TMPLIT_EXPR:P});const K=1,q=3,$=7,ee=8,te=9,ne=function(){return"undefined"==typeof window?null:window};var ie=function e(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ne();const i=t=>e(t);if(i.version="3.2.1",i.removed=[],!n||!n.document||n.document.nodeType!==te)return i.isSupported=!1,i;let{document:o}=n;const r=o,s=r.currentScript,{DocumentFragment:l,HTMLTemplateElement:u,Node:A,Element:_,NodeFilter:G,NamedNodeMap:W=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:V,DOMParser:P,trustedTypes:D}=n,H=_.prototype,Y=E(H,"cloneNode"),M=E(H,"remove"),j=E(H,"nextSibling"),ie=E(H,"childNodes"),oe=E(H,"parentNode");if("function"==typeof u){const e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let re,ae="";const{implementation:se,createNodeIterator:ce,createDocumentFragment:le,getElementsByTagName:ue}=o,{importNode:de}=r;let ge={};i.isSupported="function"==typeof t&&"function"==typeof oe&&se&&void 0!==se.createHTMLDocument;const{MUSTACHE_EXPR:pe,ERB_EXPR:me,TMPLIT_EXPR:fe,DATA_ATTR:Ie,ARIA_ATTR:he,IS_SCRIPT_OR_DATA:be,ATTR_WHITESPACE:ye,CUSTOM_ELEMENT:Ce}=z;let{IS_ALLOWED_URI:ve}=z,Be=null;const Ae=S({},[...F,...w,...T,...k,...O]);let _e=null;const Se=S({},[...Z,...U,...R,...X]);let Ge=Object.seal(c(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Qe=null,Ee=null,Fe=!0,we=!0,Te=!1,xe=!0,ke=!1,Ne=!0,Oe=!1,Ze=!1,Ue=!1,Re=!1,Xe=!1,We=!1,Ve=!0,Pe=!1,De=!0,He=!1,Le={},Ye=null;const Me=S({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Je=null;const je=S({},["audio","video","img","source","image","track"]);let ze=null;const Ke=S({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),qe="http://www.w3.org/1998/Math/MathML",$e="http://www.w3.org/2000/svg",et="http://www.w3.org/1999/xhtml";let tt=et,nt=!1,it=null;const ot=S({},[qe,$e,et],f);let rt=S({},["mi","mo","mn","ms","mtext"]),at=S({},["annotation-xml"]);const st=S({},["title","style","font","a","script"]);let ct=null;const lt=["application/xhtml+xml","text/html"];let ut=null,dt=null;const gt=o.createElement("form"),pt=function(e){return e instanceof RegExp||e instanceof Function},mt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!dt||dt!==e){if(e&&"object"==typeof e||(e={}),e=Q(e),ct=-1===lt.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,ut="application/xhtml+xml"===ct?f:m,Be=C(e,"ALLOWED_TAGS")?S({},e.ALLOWED_TAGS,ut):Ae,_e=C(e,"ALLOWED_ATTR")?S({},e.ALLOWED_ATTR,ut):Se,it=C(e,"ALLOWED_NAMESPACES")?S({},e.ALLOWED_NAMESPACES,f):ot,ze=C(e,"ADD_URI_SAFE_ATTR")?S(Q(Ke),e.ADD_URI_SAFE_ATTR,ut):Ke,Je=C(e,"ADD_DATA_URI_TAGS")?S(Q(je),e.ADD_DATA_URI_TAGS,ut):je,Ye=C(e,"FORBID_CONTENTS")?S({},e.FORBID_CONTENTS,ut):Me,Qe=C(e,"FORBID_TAGS")?S({},e.FORBID_TAGS,ut):{},Ee=C(e,"FORBID_ATTR")?S({},e.FORBID_ATTR,ut):{},Le=!!C(e,"USE_PROFILES")&&e.USE_PROFILES,Fe=!1!==e.ALLOW_ARIA_ATTR,we=!1!==e.ALLOW_DATA_ATTR,Te=e.ALLOW_UNKNOWN_PROTOCOLS||!1,xe=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,ke=e.SAFE_FOR_TEMPLATES||!1,Ne=!1!==e.SAFE_FOR_XML,Oe=e.WHOLE_DOCUMENT||!1,Re=e.RETURN_DOM||!1,Xe=e.RETURN_DOM_FRAGMENT||!1,We=e.RETURN_TRUSTED_TYPE||!1,Ue=e.FORCE_BODY||!1,Ve=!1!==e.SANITIZE_DOM,Pe=e.SANITIZE_NAMED_PROPS||!1,De=!1!==e.KEEP_CONTENT,He=e.IN_PLACE||!1,ve=e.ALLOWED_URI_REGEXP||L,tt=e.NAMESPACE||et,rt=e.MATHML_TEXT_INTEGRATION_POINTS||rt,at=e.HTML_INTEGRATION_POINTS||at,Ge=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&pt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ge.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&pt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ge.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Ge.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ke&&(we=!1),Xe&&(Re=!0),Le&&(Be=S({},O),_e=[],!0===Le.html&&(S(Be,F),S(_e,Z)),!0===Le.svg&&(S(Be,w),S(_e,U),S(_e,X)),!0===Le.svgFilters&&(S(Be,T),S(_e,U),S(_e,X)),!0===Le.mathMl&&(S(Be,k),S(_e,R),S(_e,X))),e.ADD_TAGS&&(Be===Ae&&(Be=Q(Be)),S(Be,e.ADD_TAGS,ut)),e.ADD_ATTR&&(_e===Se&&(_e=Q(_e)),S(_e,e.ADD_ATTR,ut)),e.ADD_URI_SAFE_ATTR&&S(ze,e.ADD_URI_SAFE_ATTR,ut),e.FORBID_CONTENTS&&(Ye===Me&&(Ye=Q(Ye)),S(Ye,e.FORBID_CONTENTS,ut)),De&&(Be["#text"]=!0),Oe&&S(Be,["html","head","body"]),Be.table&&(S(Be,["tbody"]),delete Qe.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw B('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw B('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');re=e.TRUSTED_TYPES_POLICY,ae=re.createHTML("")}else void 0===re&&(re=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));const o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:e=>e,createScriptURL:e=>e})}catch(r){return console.warn("TrustedTypes policy "+o+" could not be created."),null}}(D,s)),null!==re&&"string"==typeof ae&&(ae=re.createHTML(""));a&&a(e),dt=e}},ft=S({},[...w,...T,...x]),It=S({},[...k,...N]),ht=function(e){p(i.removed,{element:e});try{oe(e).removeChild(e)}catch(t){M(e)}},bt=function(e,t){try{p(i.removed,{attribute:t.getAttributeNode(e),from:t})}catch(n){p(i.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!_e[e])if(Re||Xe)try{ht(t)}catch(n){}else try{t.setAttribute(e,"")}catch(n){}},yt=function(e){let t=null,n=null;if(Ue)e="<remove></remove>"+e;else{const t=I(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===ct&&tt===et&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");const i=re?re.createHTML(e):e;if(tt===et)try{t=(new P).parseFromString(i,ct)}catch(a){}if(!t||!t.documentElement){t=se.createDocument(tt,"template",null);try{t.documentElement.innerHTML=nt?ae:i}catch(a){}}const r=t.body||t.documentElement;return e&&n&&r.insertBefore(o.createTextNode(n),r.childNodes[0]||null),tt===et?ue.call(t,Oe?"html":"body")[0]:Oe?t.documentElement:r},Ct=function(e){return ce.call(e.ownerDocument||e,e,G.SHOW_ELEMENT|G.SHOW_COMMENT|G.SHOW_TEXT|G.SHOW_PROCESSING_INSTRUCTION|G.SHOW_CDATA_SECTION,null)},vt=function(e){return e instanceof V&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof W)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},Bt=function(e){return"function"==typeof A&&e instanceof A};function At(e,t,n){ge[e]&&d(ge[e],(e=>{e.call(i,t,n,dt)}))}const _t=function(e){let t=null;if(At("beforeSanitizeElements",e,null),vt(e))return ht(e),!0;const n=ut(e.nodeName);if(At("uponSanitizeElement",e,{tagName:n,allowedTags:Be}),e.hasChildNodes()&&!Bt(e.firstElementChild)&&v(/<[/\w]/g,e.innerHTML)&&v(/<[/\w]/g,e.textContent))return ht(e),!0;if(e.nodeType===$)return ht(e),!0;if(Ne&&e.nodeType===ee&&v(/<[/\w]/g,e.data))return ht(e),!0;if(!Be[n]||Qe[n]){if(!Qe[n]&&Gt(n)){if(Ge.tagNameCheck instanceof RegExp&&v(Ge.tagNameCheck,n))return!1;if(Ge.tagNameCheck instanceof Function&&Ge.tagNameCheck(n))return!1}if(De&&!Ye[n]){const t=oe(e)||e.parentNode,n=ie(e)||e.childNodes;if(n&&t){for(let i=n.length-1;i>=0;--i){const o=Y(n[i],!0);o.__removalCount=(e.__removalCount||0)+1,t.insertBefore(o,j(e))}}}return ht(e),!0}return e instanceof _&&!function(e){let t=oe(e);t&&t.tagName||(t={namespaceURI:tt,tagName:"template"});const n=m(e.tagName),i=m(t.tagName);return!!it[e.namespaceURI]&&(e.namespaceURI===$e?t.namespaceURI===et?"svg"===n:t.namespaceURI===qe?"svg"===n&&("annotation-xml"===i||rt[i]):Boolean(ft[n]):e.namespaceURI===qe?t.namespaceURI===et?"math"===n:t.namespaceURI===$e?"math"===n&&at[i]:Boolean(It[n]):e.namespaceURI===et?!(t.namespaceURI===$e&&!at[i])&&!(t.namespaceURI===qe&&!rt[i])&&!It[n]&&(st[n]||!ft[n]):!("application/xhtml+xml"!==ct||!it[e.namespaceURI]))}(e)?(ht(e),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!v(/<\/no(script|embed|frames)/i,e.innerHTML)?(ke&&e.nodeType===q&&(t=e.textContent,d([pe,me,fe],(e=>{t=h(t,e," ")})),e.textContent!==t&&(p(i.removed,{element:e.cloneNode()}),e.textContent=t)),At("afterSanitizeElements",e,null),!1):(ht(e),!0)},St=function(e,t,n){if(Ve&&("id"===t||"name"===t)&&(n in o||n in gt))return!1;if(we&&!Ee[t]&&v(Ie,t));else if(Fe&&v(he,t));else if(!_e[t]||Ee[t]){if(!(Gt(e)&&(Ge.tagNameCheck instanceof RegExp&&v(Ge.tagNameCheck,e)||Ge.tagNameCheck instanceof Function&&Ge.tagNameCheck(e))&&(Ge.attributeNameCheck instanceof RegExp&&v(Ge.attributeNameCheck,t)||Ge.attributeNameCheck instanceof Function&&Ge.attributeNameCheck(t))||"is"===t&&Ge.allowCustomizedBuiltInElements&&(Ge.tagNameCheck instanceof RegExp&&v(Ge.tagNameCheck,n)||Ge.tagNameCheck instanceof Function&&Ge.tagNameCheck(n))))return!1}else if(ze[t]);else if(v(ve,h(n,ye,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==b(n,"data:")||!Je[e]){if(Te&&!v(be,h(n,ye,"")));else if(n)return!1}else;return!0},Gt=function(e){return"annotation-xml"!==e&&I(e,Ce)},Qt=function(e){At("beforeSanitizeAttributes",e,null);const{attributes:t}=e;if(!t)return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:_e,forceKeepAttr:void 0};let o=t.length;for(;o--;){const a=t[o],{name:s,namespaceURI:c,value:l}=a,u=ut(s);let p="value"===s?l:y(l);if(n.attrName=u,n.attrValue=p,n.keepAttr=!0,n.forceKeepAttr=void 0,At("uponSanitizeAttribute",e,n),p=n.attrValue,!Pe||"id"!==u&&"name"!==u||(bt(s,e),p="user-content-"+p),Ne&&v(/((--!?|])>)|<\/(style|title)/i,p)){bt(s,e);continue}if(n.forceKeepAttr)continue;if(bt(s,e),!n.keepAttr)continue;if(!xe&&v(/\/>/i,p)){bt(s,e);continue}ke&&d([pe,me,fe],(e=>{p=h(p,e," ")}));const m=ut(e.nodeName);if(St(m,u,p)){if(re&&"object"==typeof D&&"function"==typeof D.getAttributeType)if(c);else switch(D.getAttributeType(m,u)){case"TrustedHTML":p=re.createHTML(p);break;case"TrustedScriptURL":p=re.createScriptURL(p)}try{c?e.setAttributeNS(c,s,p):e.setAttribute(s,p),vt(e)?ht(e):g(i.removed)}catch(r){}}}At("afterSanitizeAttributes",e,null)},Et=function e(t){let n=null;const i=Ct(t);for(At("beforeSanitizeShadowDOM",t,null);n=i.nextNode();)At("uponSanitizeShadowNode",n,null),_t(n)||(n.content instanceof l&&e(n.content),Qt(n));At("afterSanitizeShadowDOM",t,null)};return i.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,o=null,a=null,s=null;if(nt=!e,nt&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Bt(e)){if("function"!=typeof e.toString)throw B("toString is not a function");if("string"!=typeof(e=e.toString()))throw B("dirty is not a string, aborting")}if(!i.isSupported)return e;if(Ze||mt(t),i.removed=[],"string"==typeof e&&(He=!1),He){if(e.nodeName){const t=ut(e.nodeName);if(!Be[t]||Qe[t])throw B("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof A)n=yt("\x3c!----\x3e"),o=n.ownerDocument.importNode(e,!0),o.nodeType===K&&"BODY"===o.nodeName||"HTML"===o.nodeName?n=o:n.appendChild(o);else{if(!Re&&!ke&&!Oe&&-1===e.indexOf("<"))return re&&We?re.createHTML(e):e;if(n=yt(e),!n)return Re?null:We?ae:""}n&&Ue&&ht(n.firstChild);const c=Ct(He?e:n);for(;a=c.nextNode();)_t(a)||(a.content instanceof l&&Et(a.content),Qt(a));if(He)return e;if(Re){if(Xe)for(s=le.call(n.ownerDocument);n.firstChild;)s.appendChild(n.firstChild);else s=n;return(_e.shadowroot||_e.shadowrootmode)&&(s=de.call(r,s,!0)),s}let u=Oe?n.outerHTML:n.innerHTML;return Oe&&Be["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&v(J,n.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+n.ownerDocument.doctype.name+">\n"+u),ke&&d([pe,me,fe],(e=>{u=h(u,e," ")})),re&&We?re.createHTML(u):u},i.setConfig=function(){mt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),Ze=!0},i.clearConfig=function(){dt=null,Ze=!1},i.isValidAttribute=function(e,t,n){dt||mt({});const i=ut(e),o=ut(t);return St(i,o,n)},i.addHook=function(e,t){"function"==typeof t&&(ge[e]=ge[e]||[],p(ge[e],t))},i.removeHook=function(e){if(ge[e])return g(ge[e])},i.removeHooks=function(e){ge[e]&&(ge[e]=[])},i.removeAllHooks=function(){ge={}},i}();e.exports=ie},"./node_modules/@91app/nineyi.lib.themecore/node_modules/polished/dist/polished.esm.js":(e,t,n)=>{"use strict";n.r(t),n.d(t,{adjustHue:()=>Me,animation:()=>bt,backgroundImages:()=>yt,backgrounds:()=>Ct,between:()=>P,border:()=>Bt,borderColor:()=>At,borderRadius:()=>_t,borderStyle:()=>St,borderWidth:()=>Gt,buttons:()=>Tt,clearFix:()=>D,complement:()=>Je,cover:()=>H,cssVar:()=>h,darken:()=>ze,desaturate:()=>Ke,directionalProperty:()=>v,easeIn:()=>U,easeInOut:()=>X,easeOut:()=>V,ellipsis:()=>L,em:()=>G,fluidRange:()=>J,fontFace:()=>ne,getContrast:()=>$e,getLuminance:()=>qe,getValueAndUnit:()=>E,grayscale:()=>et,hiDPI:()=>re,hideText:()=>ie,hideVisually:()=>oe,hsl:()=>Ze,hslToColorString:()=>tt,hsla:()=>Ue,important:()=>F,invert:()=>nt,lighten:()=>it,linearGradient:()=>se,margin:()=>xt,math:()=>f,meetsContrastGuidelines:()=>ot,mix:()=>rt,modularScale:()=>T,normalize:()=>ce,opacify:()=>at,padding:()=>kt,parseToHsl:()=>we,parseToRgb:()=>Fe,position:()=>Ot,radialGradient:()=>le,readableColor:()=>lt,rem:()=>x,remToPx:()=>O,retinaImage:()=>ue,rgb:()=>Re,rgbToColorString:()=>ut,rgba:()=>Xe,saturate:()=>dt,setHue:()=>gt,setLightness:()=>pt,setSaturation:()=>mt,shade:()=>ft,size:()=>Zt,stripUnit:()=>_,textInputs:()=>Xt,timingFunctions:()=>ge,tint:()=>It,toColorString:()=>He,transitions:()=>Wt,transparentize:()=>ht,triangle:()=>fe,wordWrap:()=>Ie});var i=n("./node_modules/@babel/runtime/helpers/esm/extends.js"),o=n("./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js"),r=n("./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js"),a=n("./node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js"),s=n("./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteralLoose.js");function c(){var e;return(e=arguments.length-1)<0||arguments.length<=e?void 0:arguments[e]}var l={symbols:{"*":{infix:{symbol:"*",f:function(e,t){return e*t},notation:"infix",precedence:4,rightToLeft:0,argCount:2},symbol:"*",regSymbol:"\\*"},"/":{infix:{symbol:"/",f:function(e,t){return e/t},notation:"infix",precedence:4,rightToLeft:0,argCount:2},symbol:"/",regSymbol:"/"},"+":{infix:{symbol:"+",f:function(e,t){return e+t},notation:"infix",precedence:2,rightToLeft:0,argCount:2},prefix:{symbol:"+",f:c,notation:"prefix",precedence:3,rightToLeft:0,argCount:1},symbol:"+",regSymbol:"\\+"},"-":{infix:{symbol:"-",f:function(e,t){return e-t},notation:"infix",precedence:2,rightToLeft:0,argCount:2},prefix:{symbol:"-",f:function(e){return-e},notation:"prefix",precedence:3,rightToLeft:0,argCount:1},symbol:"-",regSymbol:"-"},",":{infix:{symbol:",",f:function(){return Array.of.apply(Array,arguments)},notation:"infix",precedence:1,rightToLeft:0,argCount:2},symbol:",",regSymbol:","},"(":{prefix:{symbol:"(",f:c,notation:"prefix",precedence:0,rightToLeft:0,argCount:1},symbol:"(",regSymbol:"\\("},")":{postfix:{symbol:")",f:void 0,notation:"postfix",precedence:0,rightToLeft:0,argCount:1},symbol:")",regSymbol:"\\)"},min:{func:{symbol:"min",f:function(){return Math.min.apply(Math,arguments)},notation:"func",precedence:0,rightToLeft:0,argCount:1},symbol:"min",regSymbol:"min\\b"},max:{func:{symbol:"max",f:function(){return Math.max.apply(Math,arguments)},notation:"func",precedence:0,rightToLeft:0,argCount:1},symbol:"max",regSymbol:"max\\b"}}};var u=function(e){function t(t){var n;return n=e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this,(0,o.A)(n)}return(0,r.A)(t,e),t}((0,a.A)(Error)),d=/((?!\w)a|na|hc|mc|dg|me[r]?|xe|ni(?![a-zA-Z])|mm|cp|tp|xp|q(?!s)|hv|xamv|nimv|wv|sm|s(?!\D|$)|ged|darg?|nrut)/g;function g(e,t){var n,i=e.pop();return t.push(i.f.apply(i,(n=[]).concat.apply(n,t.splice(-i.argCount)))),i.precedence}function p(e,t){var n,o=function(e){var t={};return t.symbols=e?(0,i.A)({},l.symbols,e.symbols):(0,i.A)({},l.symbols),t}(t),r=[o.symbols["("].prefix],a=[],s=new RegExp("\\d+(?:\\.\\d+)?|"+Object.keys(o.symbols).map((function(e){return o.symbols[e]})).sort((function(e,t){return t.symbol.length-e.symbol.length})).map((function(e){return e.regSymbol})).join("|")+"|(\\S)","g");s.lastIndex=0;var c=!1;do{var d=(n=s.exec(e))||[")",void 0],p=d[0],m=d[1],f=o.symbols[p],I=f&&!f.prefix&&!f.func,h=!f||!f.postfix&&!f.infix;if(m||(c?h:I))throw new u(37,n?n.index:e.length,e);if(c){var b=f.postfix||f.infix;do{var y=r[r.length-1];if((b.precedence-y.precedence||y.rightToLeft)>0)break}while(g(r,a));c="postfix"===b.notation,")"!==b.symbol&&(r.push(b),c&&g(r,a))}else if(f){if(r.push(f.prefix||f.func),f.func&&(!(n=s.exec(e))||"("!==n[0]))throw new u(38,n?n.index:e.length,e)}else a.push(+p),c=!0}while(n&&r.length);if(r.length)throw new u(39,n?n.index:e.length,e);if(n)throw new u(40,n?n.index:e.length,e);return a.pop()}function m(e){return e.split("").reverse().join("")}function f(e,t){var n=m(e),i=n.match(d);if(i&&!i.every((function(e){return e===i[0]})))throw new u(41);return""+p(m(n.replace(d,"")),t)+(i?m(i[0]):"")}var I=/--[\S]*/g;function h(e,t){if(!e||!e.match(I))throw new u(73);var n;if("undefined"!=typeof document&&null!==document.documentElement&&(n=getComputedStyle(document.documentElement).getPropertyValue(e)),n)return n.trim();if(t)return t;throw new u(74)}function b(e){return e.charAt(0).toUpperCase()+e.slice(1)}var y=["Top","Right","Bottom","Left"];function C(e,t){if(!e)return t.toLowerCase();var n=e.split("-");if(n.length>1)return n.splice(1,0,t),n.reduce((function(e,t){return""+e+b(t)}));var i=e.replace(/([a-z])([A-Z])/g,"$1"+t+"$2");return e===i?""+e+t:i}function v(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var o=n[0],r=n[1],a=void 0===r?o:r,s=n[2],c=void 0===s?o:s,l=n[3];return function(e,t){for(var n={},i=0;i<t.length;i+=1)(t[i]||0===t[i])&&(n[C(e,y[i])]=t[i]);return n}(e,[o,a,c,void 0===l?a:l])}function B(e,t){return e.substr(-t.length)===t}var A=/^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/;function _(e){return"string"!=typeof e?e:e.match(A)?parseFloat(e):e}var S=function(e){return function(t,n){void 0===n&&(n="16px");var i=t,o=n;if("string"==typeof t){if(!B(t,"px"))throw new u(69,e,t);i=_(t)}if("string"==typeof n){if(!B(n,"px"))throw new u(70,e,n);o=_(n)}if("string"==typeof i)throw new u(71,t,e);if("string"==typeof o)throw new u(72,n,e);return""+i/o+e}},G=S("em"),Q=/^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/;function E(e){if("string"!=typeof e)return[e,""];var t=e.match(Q);return t?[parseFloat(e),t[2]]:[e,void 0]}function F(e,t){if("object"!=typeof e||null===e)throw new u(75,typeof e);var n={};return Object.keys(e).forEach((function(i){"object"==typeof e[i]&&null!==e[i]?n[i]=F(e[i],t):!t||t&&(t===i||t.indexOf(i)>=0)?n[i]=e[i]+" !important":n[i]=e[i]})),n}var w={minorSecond:1.067,majorSecond:1.125,minorThird:1.2,majorThird:1.25,perfectFourth:1.333,augFourth:1.414,perfectFifth:1.5,minorSixth:1.6,goldenSection:1.618,majorSixth:1.667,minorSeventh:1.778,majorSeventh:1.875,octave:2,majorTenth:2.5,majorEleventh:2.667,majorTwelfth:3,doubleOctave:4};function T(e,t,n){if(void 0===t&&(t="1em"),void 0===n&&(n=1.333),"number"!=typeof e)throw new u(42);if("string"==typeof n&&!w[n])throw new u(43);var i="string"==typeof t?E(t):[t,""],o=i[0],r=i[1],a="string"==typeof n?w[n]:n;if("string"==typeof o)throw new u(44,t);return""+o*Math.pow(a,e)+(r||"")}var x=S("rem"),k=16;function N(e){var t=E(e);if("px"===t[1])return parseFloat(e);if("%"===t[1])return parseFloat(e)/100*k;throw new u(78,t[1])}function O(e,t){var n=E(e);if("rem"!==n[1]&&""!==n[1])throw new u(77,n[1]);var i=t?N(t):function(){if("undefined"!=typeof document&&null!==document.documentElement){var e=getComputedStyle(document.documentElement).fontSize;return e?N(e):k}return k}();return n[0]*i+"px"}var Z={back:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",circ:"cubic-bezier(0.600,  0.040, 0.980, 0.335)",cubic:"cubic-bezier(0.550,  0.055, 0.675, 0.190)",expo:"cubic-bezier(0.950,  0.050, 0.795, 0.035)",quad:"cubic-bezier(0.550,  0.085, 0.680, 0.530)",quart:"cubic-bezier(0.895,  0.030, 0.685, 0.220)",quint:"cubic-bezier(0.755,  0.050, 0.855, 0.060)",sine:"cubic-bezier(0.470,  0.000, 0.745, 0.715)"};function U(e){return Z[e.toLowerCase().trim()]}var R={back:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",circ:"cubic-bezier(0.785,  0.135, 0.150, 0.860)",cubic:"cubic-bezier(0.645,  0.045, 0.355, 1.000)",expo:"cubic-bezier(1.000,  0.000, 0.000, 1.000)",quad:"cubic-bezier(0.455,  0.030, 0.515, 0.955)",quart:"cubic-bezier(0.770,  0.000, 0.175, 1.000)",quint:"cubic-bezier(0.860,  0.000, 0.070, 1.000)",sine:"cubic-bezier(0.445,  0.050, 0.550, 0.950)"};function X(e){return R[e.toLowerCase().trim()]}var W={back:"cubic-bezier(0.175,  0.885, 0.320, 1.275)",cubic:"cubic-bezier(0.215,  0.610, 0.355, 1.000)",circ:"cubic-bezier(0.075,  0.820, 0.165, 1.000)",expo:"cubic-bezier(0.190,  1.000, 0.220, 1.000)",quad:"cubic-bezier(0.250,  0.460, 0.450, 0.940)",quart:"cubic-bezier(0.165,  0.840, 0.440, 1.000)",quint:"cubic-bezier(0.230,  1.000, 0.320, 1.000)",sine:"cubic-bezier(0.390,  0.575, 0.565, 1.000)"};function V(e){return W[e.toLowerCase().trim()]}function P(e,t,n,i){void 0===n&&(n="320px"),void 0===i&&(i="1200px");var o=E(e),r=o[0],a=o[1],s=E(t),c=s[0],l=s[1],d=E(n),g=d[0],p=d[1],m=E(i),f=m[0],I=m[1];if("number"!=typeof g||"number"!=typeof f||!p||!I||p!==I)throw new u(47);if("number"!=typeof r||"number"!=typeof c||a!==l)throw new u(48);if(a!==p||l!==I)throw new u(76);var h=(r-c)/(g-f);return"calc("+(c-h*f).toFixed(2)+(a||"")+" + "+(100*h).toFixed(2)+"vw)"}function D(e){var t;return void 0===e&&(e="&"),(t={})[e+"::after"]={clear:"both",content:'""',display:"table"},t}function H(e){return void 0===e&&(e=0),{position:"absolute",top:e,right:e,bottom:e,left:e}}function L(e,t){void 0===t&&(t=1);var n={display:"inline-block",maxWidth:e||"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",wordWrap:"normal"};return t>1?(0,i.A)({},n,{WebkitBoxOrient:"vertical",WebkitLineClamp:t,display:"-webkit-box",whiteSpace:"normal"}):n}function Y(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)return;if("string"==typeof e)return M(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return M(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0;return function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}}}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 M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function J(e,t,n){if(void 0===t&&(t="320px"),void 0===n&&(n="1200px"),!Array.isArray(e)&&"object"!=typeof e||null===e)throw new u(49);if(Array.isArray(e)){for(var o,r={},a={},s=Y(e);!(o=s()).done;){var c,l,d=o.value;if(!d.prop||!d.fromSize||!d.toSize)throw new u(50);a[d.prop]=d.fromSize,r["@media (min-width: "+t+")"]=(0,i.A)({},r["@media (min-width: "+t+")"],((c={})[d.prop]=P(d.fromSize,d.toSize,t,n),c)),r["@media (min-width: "+n+")"]=(0,i.A)({},r["@media (min-width: "+n+")"],((l={})[d.prop]=d.toSize,l))}return(0,i.A)({},a,r)}var g,p,m;if(!e.prop||!e.fromSize||!e.toSize)throw new u(51);return(m={})[e.prop]=e.fromSize,m["@media (min-width: "+t+")"]=((g={})[e.prop]=P(e.fromSize,e.toSize,t,n),g),m["@media (min-width: "+n+")"]=((p={})[e.prop]=e.toSize,p),m}var j,z,K=/^\s*data:([a-z]+\/[a-z-]+(;[a-z-]+=[a-z-]+)?)?(;charset=[a-z0-9-]+)?(;base64)?,[a-z0-9!$&',()*+,;=\-._~:@/?%\s]*\s*$/i,q={woff:"woff",woff2:"woff2",ttf:"truetype",otf:"opentype",eot:"embedded-opentype",svg:"svg",svgz:"svg"};function $(e,t){return t?' format("'+q[e]+'")':""}function ee(e,t,n){if(function(e){return!!e.replace(/\s+/g," ").match(K)}(e))return'url("'+e+'")'+$(t[0],n);var i=t.map((function(t){return'url("'+e+"."+t+'")'+$(t,n)}));return i.join(", ")}function te(e,t,n,i){var o=[];return t&&o.push(function(e){return e.map((function(e){return'local("'+e+'")'})).join(", ")}(t)),e&&o.push(ee(e,n,i)),o.join(", ")}function ne(e){var t=e.fontFamily,n=e.fontFilePath,i=e.fontStretch,o=e.fontStyle,r=e.fontVariant,a=e.fontWeight,s=e.fileFormats,c=void 0===s?["eot","woff2","woff","ttf","svg"]:s,l=e.formatHint,d=void 0!==l&&l,g=e.localFonts,p=void 0===g?[t]:g,m=e.unicodeRange,f=e.fontDisplay,I=e.fontVariationSettings,h=e.fontFeatureSettings;if(!t)throw new u(55);if(!n&&!p)throw new u(52);if(p&&!Array.isArray(p))throw new u(53);if(!Array.isArray(c))throw new u(54);var b={"@font-face":{fontFamily:t,src:te(n,p,c,d),unicodeRange:m,fontStretch:i,fontStyle:o,fontVariant:r,fontWeight:a,fontDisplay:f,fontVariationSettings:I,fontFeatureSettings:h}};return JSON.parse(JSON.stringify(b))}function ie(){return{textIndent:"101%",overflow:"hidden",whiteSpace:"nowrap"}}function oe(){return{border:"0",clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:"0",position:"absolute",whiteSpace:"nowrap",width:"1px"}}function re(e){return void 0===e&&(e=1.3),"\n    @media only screen and (-webkit-min-device-pixel-ratio: "+e+"),\n    only screen and (min--moz-device-pixel-ratio: "+e+"),\n    only screen and (-o-min-device-pixel-ratio: "+e+"/1),\n    only screen and (min-resolution: "+Math.round(96*e)+"dpi),\n    only screen and (min-resolution: "+e+"dppx)\n  "}function ae(e){for(var t="",n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];for(var r=0;r<e.length;r+=1)if(t+=e[r],r===i.length-1&&i[r]){var a=i.filter((function(e){return!!e}));a.length>1?(t=t.slice(0,-1),t+=", "+i[r]):1===a.length&&(t+=""+i[r])}else i[r]&&(t+=i[r]+" ");return t.trim()}function se(e){var t=e.colorStops,n=e.fallback,i=e.toDirection,o=void 0===i?"":i;if(!t||t.length<2)throw new u(56);return{backgroundColor:n||t[0].replace(/,\s+/g,",").split(" ")[0].replace(/,(?=\S)/g,", "),backgroundImage:ae(j||(j=(0,s.A)(["linear-gradient(","",")"])),o,t.join(", ").replace(/,(?=\S)/g,", "))}}function ce(){var e;return[(e={html:{lineHeight:"1.15",textSizeAdjust:"100%"},body:{margin:"0"},main:{display:"block"},h1:{fontSize:"2em",margin:"0.67em 0"},hr:{boxSizing:"content-box",height:"0",overflow:"visible"},pre:{fontFamily:"monospace, monospace",fontSize:"1em"},a:{backgroundColor:"transparent"},"abbr[title]":{borderBottom:"none",textDecoration:"underline"}},e["b,\n    strong"]={fontWeight:"bolder"},e["code,\n    kbd,\n    samp"]={fontFamily:"monospace, monospace",fontSize:"1em"},e.small={fontSize:"80%"},e["sub,\n    sup"]={fontSize:"75%",lineHeight:"0",position:"relative",verticalAlign:"baseline"},e.sub={bottom:"-0.25em"},e.sup={top:"-0.5em"},e.img={borderStyle:"none"},e["button,\n    input,\n    optgroup,\n    select,\n    textarea"]={fontFamily:"inherit",fontSize:"100%",lineHeight:"1.15",margin:"0"},e["button,\n    input"]={overflow:"visible"},e["button,\n    select"]={textTransform:"none"},e['button,\n    html [type="button"],\n    [type="reset"],\n    [type="submit"]']={WebkitAppearance:"button"},e['button::-moz-focus-inner,\n    [type="button"]::-moz-focus-inner,\n    [type="reset"]::-moz-focus-inner,\n    [type="submit"]::-moz-focus-inner']={borderStyle:"none",padding:"0"},e['button:-moz-focusring,\n    [type="button"]:-moz-focusring,\n    [type="reset"]:-moz-focusring,\n    [type="submit"]:-moz-focusring']={outline:"1px dotted ButtonText"},e.fieldset={padding:"0.35em 0.625em 0.75em"},e.legend={boxSizing:"border-box",color:"inherit",display:"table",maxWidth:"100%",padding:"0",whiteSpace:"normal"},e.progress={verticalAlign:"baseline"},e.textarea={overflow:"auto"},e['[type="checkbox"],\n    [type="radio"]']={boxSizing:"border-box",padding:"0"},e['[type="number"]::-webkit-inner-spin-button,\n    [type="number"]::-webkit-outer-spin-button']={height:"auto"},e['[type="search"]']={WebkitAppearance:"textfield",outlineOffset:"-2px"},e['[type="search"]::-webkit-search-decoration']={WebkitAppearance:"none"},e["::-webkit-file-upload-button"]={WebkitAppearance:"button",font:"inherit"},e.details={display:"block"},e.summary={display:"list-item"},e.template={display:"none"},e["[hidden]"]={display:"none"},e),{"abbr[title]":{textDecoration:"underline dotted"}}]}function le(e){var t=e.colorStops,n=e.extent,i=void 0===n?"":n,o=e.fallback,r=e.position,a=void 0===r?"":r,c=e.shape,l=void 0===c?"":c;if(!t||t.length<2)throw new u(57);return{backgroundColor:o||t[0].split(" ")[0],backgroundImage:ae(z||(z=(0,s.A)(["radial-gradient(","","","",")"])),a,l,i,t.join(", "))}}function ue(e,t,n,o,r){var a;if(void 0===n&&(n="png"),void 0===r&&(r="_2x"),!e)throw new u(58);var s=n.replace(/^\./,""),c=o?o+"."+s:""+e+r+"."+s;return(a={backgroundImage:"url("+e+"."+s+")"})[re()]=(0,i.A)({backgroundImage:"url("+c+")"},t?{backgroundSize:t}:{}),a}var de={easeInBack:"cubic-bezier(0.600, -0.280, 0.735, 0.045)",easeInCirc:"cubic-bezier(0.600,  0.040, 0.980, 0.335)",easeInCubic:"cubic-bezier(0.550,  0.055, 0.675, 0.190)",easeInExpo:"cubic-bezier(0.950,  0.050, 0.795, 0.035)",easeInQuad:"cubic-bezier(0.550,  0.085, 0.680, 0.530)",easeInQuart:"cubic-bezier(0.895,  0.030, 0.685, 0.220)",easeInQuint:"cubic-bezier(0.755,  0.050, 0.855, 0.060)",easeInSine:"cubic-bezier(0.470,  0.000, 0.745, 0.715)",easeOutBack:"cubic-bezier(0.175,  0.885, 0.320, 1.275)",easeOutCubic:"cubic-bezier(0.215,  0.610, 0.355, 1.000)",easeOutCirc:"cubic-bezier(0.075,  0.820, 0.165, 1.000)",easeOutExpo:"cubic-bezier(0.190,  1.000, 0.220, 1.000)",easeOutQuad:"cubic-bezier(0.250,  0.460, 0.450, 0.940)",easeOutQuart:"cubic-bezier(0.165,  0.840, 0.440, 1.000)",easeOutQuint:"cubic-bezier(0.230,  1.000, 0.320, 1.000)",easeOutSine:"cubic-bezier(0.390,  0.575, 0.565, 1.000)",easeInOutBack:"cubic-bezier(0.680, -0.550, 0.265, 1.550)",easeInOutCirc:"cubic-bezier(0.785,  0.135, 0.150, 0.860)",easeInOutCubic:"cubic-bezier(0.645,  0.045, 0.355, 1.000)",easeInOutExpo:"cubic-bezier(1.000,  0.000, 0.000, 1.000)",easeInOutQuad:"cubic-bezier(0.455,  0.030, 0.515, 0.955)",easeInOutQuart:"cubic-bezier(0.770,  0.000, 0.175, 1.000)",easeInOutQuint:"cubic-bezier(0.860,  0.000, 0.070, 1.000)",easeInOutSine:"cubic-bezier(0.445,  0.050, 0.550, 0.950)"};function ge(e){return de[e]}var pe=function(e,t,n){var i=""+n[0]+(n[1]||""),o=""+n[0]/2+(n[1]||""),r=""+t[0]+(t[1]||""),a=""+t[0]/2+(t[1]||"");switch(e){case"top":return"0 "+o+" "+r+" "+o;case"topLeft":return i+" "+r+" 0 0";case"left":return a+" "+i+" "+a+" 0";case"bottomLeft":return i+" 0 0 "+r;case"bottom":return r+" "+o+" 0 "+o;case"bottomRight":return"0 0 "+i+" "+r;case"right":return a+" 0 "+a+" "+i;default:return"0 "+i+" "+r+" 0"}},me=function(e,t){switch(e){case"top":case"bottomRight":return{borderBottomColor:t};case"right":case"bottomLeft":return{borderLeftColor:t};case"bottom":case"topLeft":return{borderTopColor:t};case"left":case"topRight":return{borderRightColor:t};default:throw new u(59)}};function fe(e){var t=e.pointingDirection,n=e.height,o=e.width,r=e.foregroundColor,a=e.backgroundColor,s=void 0===a?"transparent":a,c=E(o),l=E(n);if(isNaN(l[0])||isNaN(c[0]))throw new u(60);return(0,i.A)({width:"0",height:"0",borderColor:s},me(t,r),{borderStyle:"solid",borderWidth:pe(t,l,c)})}function Ie(e){return void 0===e&&(e="break-word"),{overflowWrap:e,wordWrap:e,wordBreak:"break-word"===e?"break-all":e}}function he(e){return Math.round(255*e)}function be(e,t,n){return he(e)+","+he(t)+","+he(n)}function ye(e,t,n,i){if(void 0===i&&(i=be),0===t)return i(n,n,n);var o=(e%360+360)%360/60,r=(1-Math.abs(2*n-1))*t,a=r*(1-Math.abs(o%2-1)),s=0,c=0,l=0;o>=0&&o<1?(s=r,c=a):o>=1&&o<2?(s=a,c=r):o>=2&&o<3?(c=r,l=a):o>=3&&o<4?(c=a,l=r):o>=4&&o<5?(s=a,l=r):o>=5&&o<6&&(s=r,l=a);var u=n-r/2;return i(s+u,c+u,l+u)}var Ce={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var ve=/^#[a-fA-F0-9]{6}$/,Be=/^#[a-fA-F0-9]{8}$/,Ae=/^#[a-fA-F0-9]{3}$/,_e=/^#[a-fA-F0-9]{4}$/,Se=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,Ge=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,Qe=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,Ee=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function Fe(e){if("string"!=typeof e)throw new u(3);var t=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return Ce[t]?"#"+Ce[t]:e}(e);if(t.match(ve))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(Be)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(Ae))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(_e)){var i=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:i}}var o=Se.exec(t);if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10)};var r=Ge.exec(t.substring(0,50));if(r)return{red:parseInt(""+r[1],10),green:parseInt(""+r[2],10),blue:parseInt(""+r[3],10),alpha:parseFloat(""+r[4])>1?parseFloat(""+r[4])/100:parseFloat(""+r[4])};var a=Qe.exec(t);if(a){var s="rgb("+ye(parseInt(""+a[1],10),parseInt(""+a[2],10)/100,parseInt(""+a[3],10)/100)+")",c=Se.exec(s);if(!c)throw new u(4,t,s);return{red:parseInt(""+c[1],10),green:parseInt(""+c[2],10),blue:parseInt(""+c[3],10)}}var l=Ee.exec(t.substring(0,50));if(l){var d="rgb("+ye(parseInt(""+l[1],10),parseInt(""+l[2],10)/100,parseInt(""+l[3],10)/100)+")",g=Se.exec(d);if(!g)throw new u(4,t,d);return{red:parseInt(""+g[1],10),green:parseInt(""+g[2],10),blue:parseInt(""+g[3],10),alpha:parseFloat(""+l[4])>1?parseFloat(""+l[4])/100:parseFloat(""+l[4])}}throw new u(5)}function we(e){return function(e){var t,n=e.red/255,i=e.green/255,o=e.blue/255,r=Math.max(n,i,o),a=Math.min(n,i,o),s=(r+a)/2;if(r===a)return void 0!==e.alpha?{hue:0,saturation:0,lightness:s,alpha:e.alpha}:{hue:0,saturation:0,lightness:s};var c=r-a,l=s>.5?c/(2-r-a):c/(r+a);switch(r){case n:t=(i-o)/c+(i<o?6:0);break;case i:t=(o-n)/c+2;break;default:t=(n-i)/c+4}return t*=60,void 0!==e.alpha?{hue:t,saturation:l,lightness:s,alpha:e.alpha}:{hue:t,saturation:l,lightness:s}}(Fe(e))}var Te=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e};function xe(e){var t=e.toString(16);return 1===t.length?"0"+t:t}function ke(e){return xe(Math.round(255*e))}function Ne(e,t,n){return Te("#"+ke(e)+ke(t)+ke(n))}function Oe(e,t,n){return ye(e,t,n,Ne)}function Ze(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return Oe(e,t,n);if("object"==typeof e&&void 0===t&&void 0===n)return Oe(e.hue,e.saturation,e.lightness);throw new u(1)}function Ue(e,t,n,i){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof i)return i>=1?Oe(e,t,n):"rgba("+ye(e,t,n)+","+i+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===i)return e.alpha>=1?Oe(e.hue,e.saturation,e.lightness):"rgba("+ye(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new u(2)}function Re(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return Te("#"+xe(e)+xe(t)+xe(n));if("object"==typeof e&&void 0===t&&void 0===n)return Te("#"+xe(e.red)+xe(e.green)+xe(e.blue));throw new u(6)}function Xe(e,t,n,i){if("string"==typeof e&&"number"==typeof t){var o=Fe(e);return"rgba("+o.red+","+o.green+","+o.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof i)return i>=1?Re(e,t,n):"rgba("+e+","+t+","+n+","+i+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===i)return e.alpha>=1?Re(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new u(7)}var We=function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&("number"!=typeof e.alpha||void 0===e.alpha)},Ve=function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&"number"==typeof e.alpha},Pe=function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&("number"!=typeof e.alpha||void 0===e.alpha)},De=function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&"number"==typeof e.alpha};function He(e){if("object"!=typeof e)throw new u(8);if(Ve(e))return Xe(e);if(We(e))return Re(e);if(De(e))return Ue(e);if(Pe(e))return Ze(e);throw new u(8)}function Le(e,t,n){return function(){var i=n.concat(Array.prototype.slice.call(arguments));return i.length>=t?e.apply(this,i):Le(e,t,i)}}function Ye(e){return Le(e,e.length,[])}var Me=Ye((function(e,t){if("transparent"===t)return t;var n=we(t);return He((0,i.A)({},n,{hue:n.hue+parseFloat(e)}))}));function Je(e){if("transparent"===e)return e;var t=we(e);return He((0,i.A)({},t,{hue:(t.hue+180)%360}))}function je(e,t,n){return Math.max(e,Math.min(t,n))}var ze=Ye((function(e,t){if("transparent"===t)return t;var n=we(t);return He((0,i.A)({},n,{lightness:je(0,1,n.lightness-parseFloat(e))}))}));var Ke=Ye((function(e,t){if("transparent"===t)return t;var n=we(t);return He((0,i.A)({},n,{saturation:je(0,1,n.saturation-parseFloat(e))}))}));function qe(e){if("transparent"===e)return 0;var t=Fe(e),n=Object.keys(t).map((function(e){var n=t[e]/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)})),i=n[0],o=n[1],r=n[2];return parseFloat((.2126*i+.7152*o+.0722*r).toFixed(3))}function $e(e,t){var n=qe(e),i=qe(t);return parseFloat((n>i?(n+.05)/(i+.05):(i+.05)/(n+.05)).toFixed(2))}function et(e){return"transparent"===e?e:He((0,i.A)({},we(e),{saturation:0}))}function tt(e){if("object"==typeof e&&"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness)return e.alpha&&"number"==typeof e.alpha?Ue({hue:e.hue,saturation:e.saturation,lightness:e.lightness,alpha:e.alpha}):Ze({hue:e.hue,saturation:e.saturation,lightness:e.lightness});throw new u(45)}function nt(e){if("transparent"===e)return e;var t=Fe(e);return He((0,i.A)({},t,{red:255-t.red,green:255-t.green,blue:255-t.blue}))}var it=Ye((function(e,t){if("transparent"===t)return t;var n=we(t);return He((0,i.A)({},n,{lightness:je(0,1,n.lightness+parseFloat(e))}))}));function ot(e,t){var n=$e(e,t);return{AA:n>=4.5,AALarge:n>=3,AAA:n>=7,AAALarge:n>=4.5}}var rt=Ye((function(e,t,n){if("transparent"===t)return n;if("transparent"===n)return t;if(0===e)return n;var o=Fe(t),r=(0,i.A)({},o,{alpha:"number"==typeof o.alpha?o.alpha:1}),a=Fe(n),s=(0,i.A)({},a,{alpha:"number"==typeof a.alpha?a.alpha:1}),c=r.alpha-s.alpha,l=2*parseFloat(e)-1,u=((l*c==-1?l:l+c)/(1+l*c)+1)/2,d=1-u;return Xe({red:Math.floor(r.red*u+s.red*d),green:Math.floor(r.green*u+s.green*d),blue:Math.floor(r.blue*u+s.blue*d),alpha:r.alpha*parseFloat(e)+s.alpha*(1-parseFloat(e))})}));var at=Ye((function(e,t){if("transparent"===t)return t;var n=Fe(t),o="number"==typeof n.alpha?n.alpha:1;return Xe((0,i.A)({},n,{alpha:je(0,1,(100*o+100*parseFloat(e))/100)}))})),st="#000",ct="#fff";function lt(e,t,n,i){void 0===t&&(t=st),void 0===n&&(n=ct),void 0===i&&(i=!0);var o=qe(e)>.179,r=o?t:n;return!i||$e(e,r)>=4.5?r:o?st:ct}function ut(e){if("object"==typeof e&&"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue)return"number"==typeof e.alpha?Xe({red:e.red,green:e.green,blue:e.blue,alpha:e.alpha}):Re({red:e.red,green:e.green,blue:e.blue});throw new u(46)}var dt=Ye((function(e,t){if("transparent"===t)return t;var n=we(t);return He((0,i.A)({},n,{saturation:je(0,1,n.saturation+parseFloat(e))}))}));var gt=Ye((function(e,t){return"transparent"===t?t:He((0,i.A)({},we(t),{hue:parseFloat(e)}))}));var pt=Ye((function(e,t){return"transparent"===t?t:He((0,i.A)({},we(t),{lightness:parseFloat(e)}))}));var mt=Ye((function(e,t){return"transparent"===t?t:He((0,i.A)({},we(t),{saturation:parseFloat(e)}))}));var ft=Ye((function(e,t){return"transparent"===t?t:rt(parseFloat(e),"rgb(0, 0, 0)",t)}));var It=Ye((function(e,t){return"transparent"===t?t:rt(parseFloat(e),"rgb(255, 255, 255)",t)}));var ht=Ye((function(e,t){if("transparent"===t)return t;var n=Fe(t),o="number"==typeof n.alpha?n.alpha:1;return Xe((0,i.A)({},n,{alpha:je(0,1,+(100*o-100*parseFloat(e)).toFixed(2)/100)}))}));function bt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=Array.isArray(t[0]);if(!i&&t.length>8)throw new u(64);return{animation:t.map((function(e){if(i&&!Array.isArray(e)||!i&&Array.isArray(e))throw new u(65);if(Array.isArray(e)&&e.length>8)throw new u(66);return Array.isArray(e)?e.join(" "):e})).join(", ")}}function yt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return{backgroundImage:t.join(", ")}}function Ct(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return{background:t.join(", ")}}var vt=["top","right","bottom","left"];function Bt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var o;return"string"==typeof e&&vt.indexOf(e)>=0?((o={})["border"+b(e)+"Width"]=n[0],o["border"+b(e)+"Style"]=n[1],o["border"+b(e)+"Color"]=n[2],o):(n.unshift(e),{borderWidth:n[0],borderStyle:n[1],borderColor:n[2]})}function At(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return v.apply(void 0,["borderColor"].concat(t))}function _t(e,t){var n,i,o=b(e);if(!t&&0!==t)throw new u(62);if("Top"===o||"Bottom"===o)return(n={})["border"+o+"RightRadius"]=t,n["border"+o+"LeftRadius"]=t,n;if("Left"===o||"Right"===o)return(i={})["borderTop"+o+"Radius"]=t,i["borderBottom"+o+"Radius"]=t,i;throw new u(63)}function St(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return v.apply(void 0,["borderStyle"].concat(t))}function Gt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return v.apply(void 0,["borderWidth"].concat(t))}function Qt(e,t){return e(t?":"+t:"")}function Et(e,t,n){if(!t)throw new u(67);if(0===e.length)return Qt(t,null);for(var i=[],o=0;o<e.length;o+=1){if(n&&n.indexOf(e[o])<0)throw new u(68);i.push(Qt(t,e[o]))}return i=i.join(",")}var Ft=[void 0,null,"active","focus","hover"];function wt(e){return"button"+e+',\n  input[type="button"]'+e+',\n  input[type="reset"]'+e+',\n  input[type="submit"]'+e}function Tt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Et(t,wt,Ft)}function xt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return v.apply(void 0,["margin"].concat(t))}function kt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return v.apply(void 0,["padding"].concat(t))}var Nt=["absolute","fixed","relative","static","sticky"];function Ot(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return Nt.indexOf(e)>=0&&e?(0,i.A)({},v.apply(void 0,[""].concat(n)),{position:e}):v.apply(void 0,["",e].concat(n))}function Zt(e,t){return void 0===t&&(t=e),{height:e,width:t}}var Ut=[void 0,null,"active","focus","hover"];function Rt(e){return'input[type="color"]'+e+',\n    input[type="date"]'+e+',\n    input[type="datetime"]'+e+',\n    input[type="datetime-local"]'+e+',\n    input[type="email"]'+e+',\n    input[type="month"]'+e+',\n    input[type="number"]'+e+',\n    input[type="password"]'+e+',\n    input[type="search"]'+e+',\n    input[type="tel"]'+e+',\n    input[type="text"]'+e+',\n    input[type="time"]'+e+',\n    input[type="url"]'+e+',\n    input[type="week"]'+e+",\n    input:not([type])"+e+",\n    textarea"+e}function Xt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Et(t,Rt,Ut)}function Wt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(Array.isArray(t[0])&&2===t.length){var i=t[1];if("string"!=typeof i)throw new u(61);return{transition:t[0].map((function(e){return e+" "+i})).join(", ")}}return{transition:t.join(", ")}}},"./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js":(e,t,n)=>{"use strict";n.r(t),n.d(t,{ServerStyleSheet:()=>Pe,StyleSheetConsumer:()=>ae,StyleSheetContext:()=>re,StyleSheetManager:()=>ge,ThemeConsumer:()=>Ne,ThemeContext:()=>ke,ThemeProvider:()=>Oe,__PRIVATE__:()=>Le,createGlobalStyle:()=>We,css:()=>Be,default:()=>Ye,isStyledComponent:()=>B,keyframes:()=>Ve,useTheme:()=>He,version:()=>_,withTheme:()=>De});var i=n("./node_modules/react-is/index.js"),o=n("react"),r=n.n(o),a=n("./node_modules/shallowequal/index.js"),s=n.n(a),c=n("./node_modules/@emotion/stylis/dist/stylis.browser.esm.js"),l=n("./node_modules/@emotion/unitless/dist/unitless.browser.esm.js");function u(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}var d=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,g=u((function(e){return d.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),p=n("./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"),m=n.n(p);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var I=function(e,t){for(var n=[e[0]],i=0,o=t.length;i<o;i+=1)n.push(t[i],e[i+1]);return n},h=function(e){return null!==e&&"object"==typeof e&&"[object Object]"===(e.toString?e.toString():Object.prototype.toString.call(e))&&!(0,i.typeOf)(e)},b=Object.freeze([]),y=Object.freeze({});function C(e){return"function"==typeof e}function v(e){return e.displayName||e.name||"Component"}function B(e){return e&&"string"==typeof e.styledComponentId}var A="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",_="5.3.9",S="undefined"!=typeof window&&"HTMLElement"in window,G=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&(void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY&&("false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY))),Q={};function E(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];throw new Error("An error occurred. See https://git.io/JUIaE#"+e+" for more information."+(n.length>0?" Args: "+n.join(", "):""))}var F=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,i=n.length,o=i;e>=o;)(o<<=1)<0&&E(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var r=i;r<o;r++)this.groupSizes[r]=0}for(var a=this.indexOfGroup(e+1),s=0,c=t.length;s<c;s++)this.tag.insertRule(a,t[s])&&(this.groupSizes[e]++,a++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),i=n+t;this.groupSizes[e]=0;for(var o=n;o<i;o++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],i=this.indexOfGroup(e),o=i+n,r=i;r<o;r++)t+=this.tag.getRule(r)+"/*!sc*/\n";return t},e}(),w=new Map,T=new Map,x=1,k=function(e){if(w.has(e))return w.get(e);for(;T.has(x);)x++;var t=x++;return w.set(e,t),T.set(t,e),t},N=function(e){return T.get(e)},O=function(e,t){t>=x&&(x=t+1),w.set(e,t),T.set(t,e)},Z="style["+A+'][data-styled-version="5.3.9"]',U=new RegExp("^"+A+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),R=function(e,t,n){for(var i,o=n.split(","),r=0,a=o.length;r<a;r++)(i=o[r])&&e.registerName(t,i)},X=function(e,t){for(var n=(t.textContent||"").split("/*!sc*/\n"),i=[],o=0,r=n.length;o<r;o++){var a=n[o].trim();if(a){var s=a.match(U);if(s){var c=0|parseInt(s[1],10),l=s[2];0!==c&&(O(l,c),R(e,l,s[3]),e.getTag().insertRules(c,i)),i.length=0}else i.push(a)}}},W=function(){return n.nc},V=function(e){var t=document.head,n=e||t,i=document.createElement("style"),o=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var i=t[n];if(i&&1===i.nodeType&&i.hasAttribute(A))return i}}(n),r=void 0!==o?o.nextSibling:null;i.setAttribute(A,"active"),i.setAttribute("data-styled-version","5.3.9");var a=W();return a&&i.setAttribute("nonce",a),n.insertBefore(i,r),i},P=function(){function e(e){var t=this.element=V(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,i=t.length;n<i;n++){var o=t[n];if(o.ownerNode===e)return o}E(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&"string"==typeof t.cssText?t.cssText:""},e}(),D=function(){function e(e){var t=this.element=V(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),i=this.nodes[e];return this.element.insertBefore(n,i||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),H=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),L=S,Y={isServer:!S,useCSSOMInjection:!G},M=function(){function e(e,t,n){void 0===e&&(e=y),void 0===t&&(t={}),this.options=f({},Y,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&S&&L&&(L=!1,function(e){for(var t=document.querySelectorAll(Z),n=0,i=t.length;n<i;n++){var o=t[n];o&&"active"!==o.getAttribute(A)&&(X(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return k(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(f({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,i=t.useCSSOMInjection,o=t.target,e=n?new H(o):i?new P(o):new D(o),new F(e)));var e,t,n,i,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(k(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(k(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(k(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,i="",o=0;o<n;o++){var r=N(o);if(void 0!==r){var a=e.names.get(r),s=t.getGroup(o);if(a&&s&&a.size){var c=A+".g"+o+'[id="'+r+'"]',l="";void 0!==a&&a.forEach((function(e){e.length>0&&(l+=e+",")})),i+=""+s+c+'{content:"'+l+'"}/*!sc*/\n'}}}return i}(this)},e}(),J=/(a)(d)/gi,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function z(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=j(t%52)+n;return(j(t%52)+n).replace(J,"$1-$2")}var K=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},q=function(e){return K(5381,e)};function $(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(C(n)&&!B(n))return!1}return!0}var ee=q("5.3.9"),te=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&$(e),this.componentId=t,this.baseHash=K(ee,t),this.baseStyle=n,M.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var i=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(i,this.staticRulesId))o.push(this.staticRulesId);else{var r=Ce(this.rules,e,t,n).join(""),a=z(K(this.baseHash,r)>>>0);if(!t.hasNameForId(i,a)){var s=n(r,"."+a,void 0,i);t.insertRules(i,a,s)}o.push(a),this.staticRulesId=a}else{for(var c=this.rules.length,l=K(this.baseHash,n.hash),u="",d=0;d<c;d++){var g=this.rules[d];if("string"==typeof g)u+=g;else if(g){var p=Ce(g,e,t,n),m=Array.isArray(p)?p.join(""):p;l=K(l,m+d),u+=m}}if(u){var f=z(l>>>0);if(!t.hasNameForId(i,f)){var I=n(u,"."+f,void 0,i);t.insertRules(i,f,I)}o.push(f)}}return o.join(" ")},e}(),ne=/^\s*\/\/.*$/gm,ie=[":","[",".","#"];function oe(e){var t,n,i,o,r=void 0===e?y:e,a=r.options,s=void 0===a?y:a,l=r.plugins,u=void 0===l?b:l,d=new c.A(s),g=[],p=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,i,o,r,a,s,c,l,u,d){switch(n){case 1:if(0===u&&64===i.charCodeAt(0))return e(i+";"),"";break;case 2:if(0===l)return i+"/*|*/";break;case 3:switch(l){case 102:case 112:return e(o[0]+i),"";default:return i+(0===d?"/*|*/":"")}case-2:i.split("/*|*/}").forEach(t)}}}((function(e){g.push(e)})),m=function(e,i,r){return 0===i&&-1!==ie.indexOf(r[n.length])||r.match(o)?e:"."+t};function f(e,r,a,s){void 0===s&&(s="&");var c=e.replace(ne,""),l=r&&a?a+" "+r+" { "+c+" }":c;return t=s,n=r,i=new RegExp("\\"+n+"\\b","g"),o=new RegExp("(\\"+n+"\\b){2,}"),d(a||!r?"":r,l)}return d.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(i,m))},p,function(e){if(-2===e){var t=g;return g=[],t}}])),f.hash=u.length?u.reduce((function(e,t){return t.name||E(15),K(e,t.name)}),5381).toString():"",f}var re=r().createContext(),ae=re.Consumer,se=r().createContext(),ce=(se.Consumer,new M),le=oe();function ue(){return(0,o.useContext)(re)||ce}function de(){return(0,o.useContext)(se)||le}function ge(e){var t=(0,o.useState)(e.stylisPlugins),n=t[0],i=t[1],a=ue(),c=(0,o.useMemo)((function(){var t=a;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=(0,o.useMemo)((function(){return oe({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return(0,o.useEffect)((function(){s()(n,e.stylisPlugins)||i(e.stylisPlugins)}),[e.stylisPlugins]),r().createElement(re.Provider,{value:c},r().createElement(se.Provider,{value:l},e.children))}var pe=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=le);var i=n.name+t.hash;e.hasNameForId(n.id,i)||e.insertRules(n.id,i,t(n.rules,i,"@keyframes"))},this.toString=function(){return E(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=le),this.name+e.hash},e}(),me=/([A-Z])/,fe=/([A-Z])/g,Ie=/^ms-/,he=function(e){return"-"+e.toLowerCase()};function be(e){return me.test(e)?e.replace(fe,he).replace(Ie,"-ms-"):e}var ye=function(e){return null==e||!1===e||""===e};function Ce(e,t,n,i){if(Array.isArray(e)){for(var o,r=[],a=0,s=e.length;a<s;a+=1)""!==(o=Ce(e[a],t,n,i))&&(Array.isArray(o)?r.push.apply(r,o):r.push(o));return r}return ye(e)?"":B(e)?"."+e.styledComponentId:C(e)?"function"!=typeof(c=e)||c.prototype&&c.prototype.isReactComponent||!t?e:Ce(e(t),t,n,i):e instanceof pe?n?(e.inject(n,i),e.getName(i)):e:h(e)?function e(t,n){var i,o,r=[];for(var a in t)t.hasOwnProperty(a)&&!ye(t[a])&&(Array.isArray(t[a])&&t[a].isCss||C(t[a])?r.push(be(a)+":",t[a],";"):h(t[a])?r.push.apply(r,e(t[a],a)):r.push(be(a)+": "+(i=a,(null==(o=t[a])||"boolean"==typeof o||""===o?"":"number"!=typeof o||0===o||i in l.A?String(o).trim():o+"px")+";")));return n?[n+" {"].concat(r,["}"]):r}(e):e.toString();var c}var ve=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function Be(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return C(e)||h(e)?ve(Ce(I(b,[e].concat(n)))):0===n.length&&1===e.length&&"string"==typeof e[0]?e:ve(Ce(I(e,n)))}new Set;var Ae=function(e,t,n){return void 0===n&&(n=y),e.theme!==n.theme&&e.theme||t||n.theme},_e=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,Se=/(^-|-$)/g;function Ge(e){return e.replace(_e,"-").replace(Se,"")}var Qe=function(e){return z(q(e)>>>0)};function Ee(e){return"string"==typeof e&&!0}var Fe=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},we=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function Te(e,t,n){var i=e[n];Fe(t)&&Fe(i)?xe(i,t):e[n]=t}function xe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];for(var o=0,r=n;o<r.length;o++){var a=r[o];if(Fe(a))for(var s in a)we(s)&&Te(e,a[s],s)}return e}var ke=r().createContext(),Ne=ke.Consumer;function Oe(e){var t=(0,o.useContext)(ke),n=(0,o.useMemo)((function(){return function(e,t){return e?C(e)?e(t):Array.isArray(e)||"object"!=typeof e?E(8):t?f({},t,{},e):e:E(14)}(e.theme,t)}),[e.theme,t]);return e.children?r().createElement(ke.Provider,{value:n},e.children):null}var Ze={};function Ue(e,t,n){var i=B(e),a=!Ee(e),s=t.attrs,c=void 0===s?b:s,l=t.componentId,u=void 0===l?function(e,t){var n="string"!=typeof e?"sc":Ge(e);Ze[n]=(Ze[n]||0)+1;var i=n+"-"+Qe("5.3.9"+n+Ze[n]);return t?t+"-"+i:i}(t.displayName,t.parentComponentId):l,d=t.displayName,p=void 0===d?function(e){return Ee(e)?"styled."+e:"Styled("+v(e)+")"}(e):d,I=t.displayName&&t.componentId?Ge(t.displayName)+"-"+t.componentId:t.componentId||u,h=i&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,A=t.shouldForwardProp;i&&e.shouldForwardProp&&(A=t.shouldForwardProp?function(n,i,o){return e.shouldForwardProp(n,i,o)&&t.shouldForwardProp(n,i,o)}:e.shouldForwardProp);var _,S=new te(n,I,i?e.componentStyle:void 0),G=S.isStatic&&0===c.length,Q=function(e,t){return function(e,t,n,i){var r=e.attrs,a=e.componentStyle,s=e.defaultProps,c=e.foldedComponentIds,l=e.shouldForwardProp,u=e.styledComponentId,d=e.target,p=function(e,t,n){void 0===e&&(e=y);var i=f({},t,{theme:e}),o={};return n.forEach((function(e){var t,n,r,a=e;for(t in C(a)&&(a=a(i)),a)i[t]=o[t]="className"===t?(n=o[t],r=a[t],n&&r?n+" "+r:n||r):a[t]})),[i,o]}(Ae(t,(0,o.useContext)(ke),s)||y,t,r),m=p[0],I=p[1],h=function(e,t,n){var i=ue(),o=de();return t?e.generateAndInjectStyles(y,i,o):e.generateAndInjectStyles(n,i,o)}(a,i,m),b=n,v=I.$as||t.$as||I.as||t.as||d,B=Ee(v),A=I!==t?f({},t,{},I):t,_={};for(var S in A)"$"!==S[0]&&"as"!==S&&("forwardedAs"===S?_.as=A[S]:(l?l(S,g,v):!B||g(S))&&(_[S]=A[S]));return t.style&&I.style!==t.style&&(_.style=f({},t.style,{},I.style)),_.className=Array.prototype.concat(c,u,h!==u?h:null,t.className,I.className).filter(Boolean).join(" "),_.ref=b,(0,o.createElement)(v,_)}(_,e,t,G)};return Q.displayName=p,(_=r().forwardRef(Q)).attrs=h,_.componentStyle=S,_.displayName=p,_.shouldForwardProp=A,_.foldedComponentIds=i?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):b,_.styledComponentId=I,_.target=i?e.target:e,_.withComponent=function(e){var i=t.componentId,o=function(e,t){if(null==e)return{};var n,i,o={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["componentId"]),r=i&&i+"-"+(Ee(e)?e:Ge(v(e)));return Ue(e,f({},o,{attrs:h,componentId:r}),n)},Object.defineProperty(_,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=i?xe({},e.defaultProps,t):t}}),Object.defineProperty(_,"toString",{value:function(){return"."+_.styledComponentId}}),a&&m()(_,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),_}var Re=function(e){return function e(t,n,o){if(void 0===o&&(o=y),!(0,i.isValidElementType)(n))return E(1,String(n));var r=function(){return t(n,o,Be.apply(void 0,arguments))};return r.withConfig=function(i){return e(t,n,f({},o,{},i))},r.attrs=function(i){return e(t,n,f({},o,{attrs:Array.prototype.concat(o.attrs,i).filter(Boolean)}))},r}(Ue,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){Re[e]=Re(e)}));var Xe=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=$(e),M.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,i){var o=i(Ce(this.rules,t,n,i).join(""),""),r=this.componentId+e;n.insertRules(r,r,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,i){e>2&&M.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,i)},e}();function We(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var a=Be.apply(void 0,[e].concat(n)),s="sc-global-"+Qe(JSON.stringify(a)),c=new Xe(a,s);function l(e){var t=ue(),n=de(),i=(0,o.useContext)(ke),r=(0,o.useRef)(t.allocateGSInstance(s)).current;return t.server&&u(r,e,t,i,n),(0,o.useLayoutEffect)((function(){if(!t.server)return u(r,e,t,i,n),function(){return c.removeStyles(r,t)}}),[r,e,t,i,n]),null}function u(e,t,n,i,o){if(c.isStatic)c.renderStyles(e,Q,n,o);else{var r=f({},t,{theme:Ae(t,i,l.defaultProps)});c.renderStyles(e,r,n,o)}}return r().memo(l)}function Ve(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var o=Be.apply(void 0,[e].concat(n)).join(""),r=Qe(o);return new pe(r,o)}var Pe=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=W();return"<style "+[n&&'nonce="'+n+'"',A+'="true"','data-styled-version="5.3.9"'].filter(Boolean).join(" ")+">"+t+"</style>"},this.getStyleTags=function(){return e.sealed?E(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return E(2);var n=((t={})[A]="",t["data-styled-version"]="5.3.9",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),i=W();return i&&(n.nonce=i),[r().createElement("style",f({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new M({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?E(2):r().createElement(ge,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return E(3)},e}(),De=function(e){var t=r().forwardRef((function(t,n){var i=(0,o.useContext)(ke),a=e.defaultProps,s=Ae(t,i,a);return r().createElement(e,f({},t,{theme:s,ref:n}))}));return m()(t,e),t.displayName="WithTheme("+v(e)+")",t},He=function(){return(0,o.useContext)(ke)},Le={StyleSheet:M,masterSheet:ce};const Ye=Re},"./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/agent-base.js":e=>{"use strict";function t(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return n(e,t)}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var o=0,r=function(){};return{s:r,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==i.return||i.return()}finally{if(c)throw a}}}}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function i(){this._defaults=[]}for(var o=0,r=["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"];o<r.length;o++){const e=r[o];i.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return this._defaults.push({fn:e,args:n}),this}}i.prototype._setDefaults=function(e){var n,i=t(this._defaults);try{for(i.s();!(n=i.n()).done;){const t=n.value;e[t.fn](...t.args)}}catch(o){i.e(o)}finally{i.f()}},e.exports=i},"./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/client.js":(e,t,n)=>{"use strict";function i(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}let r;"undefined"!=typeof window?r=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),r=void 0):r=self;const a=n("./node_modules/component-emitter/index.js"),s=n("./node_modules/fast-safe-stringify/index.js"),c=n("./node_modules/qs/lib/index.js"),l=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/request-base.js"),u=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/utils.js"),d=u.isObject,g=u.mixin,p=u.hasOwn,m=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/response-base.js"),f=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/agent-base.js");function I(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};const h=t=e.exports;t.Request=_,h.getXHR=()=>{if(r.XMLHttpRequest)return new r.XMLHttpRequest;throw new Error("Browser-only version of superagent could not find XHR")};const b="".trim?e=>e.trim():e=>e.replace(/(^\s*|\s*$)/g,"");function y(e){if(!d(e))return e;const t=[];for(const n in e)p(e,n)&&C(t,n,e[n]);return t.join("&")}function C(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n)){var o,r=i(n);try{for(r.s();!(o=r.n()).done;){C(e,t,o.value)}}catch(a){r.e(a)}finally{r.f()}}else if(d(n))for(const i in n)p(n,i)&&C(e,`${t}[${i}]`,n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function v(e){const t={},n=e.split("&");let i,o;for(let r=0,a=n.length;r<a;++r)i=n[r],o=i.indexOf("="),-1===o?t[decodeURIComponent(i)]="":t[decodeURIComponent(i.slice(0,o))]=decodeURIComponent(i.slice(o+1));return t}function B(e){return/[/+]json($|[^-\w])/i.test(e)}function A(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;let t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){const t=e.split(/\r?\n/),n={};let i,o,r,a;for(let s=0,c=t.length;s<c;++s)o=t[s],i=o.indexOf(":"),-1!==i&&(r=o.slice(0,i).toLowerCase(),a=b(o.slice(i+1)),n[r]=a);return n}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function _(e,t){const n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",(()=>{let e,t=null,i=null;try{i=new A(n)}catch(o){return t=new Error("Parser is unable to parse the response"),t.parse=!0,t.original=o,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||i.text||"Unsuccessful HTTP response"))}catch(o){e=o}e?(e.original=t,e.response=i,e.status=e.status||i.status,n.callback(e,i)):n.callback(null,i)}))}h.serializeObject=y,h.parseString=v,h.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},h.serialize={"application/x-www-form-urlencoded":c.stringify,"application/json":s},h.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},g(A.prototype,m.prototype),A.prototype._parseBody=function(e){let t=h.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&B(this.type)&&(t=h.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},A.prototype.toError=function(){const e=this.req,t=e.method,n=e.url,i=`cannot ${t} ${n} (${this.status})`,o=new Error(i);return o.status=this.status,o.method=t,o.url=n,o},h.Response=A,a(_.prototype),g(_.prototype,l.prototype),_.prototype.type=function(e){return this.set("Content-Type",h.types[e]||e),this},_.prototype.accept=function(e){return this.set("Accept",h.types[e]||e),this},_.prototype.auth=function(e,t,n){1===arguments.length&&(t=""),"object"==typeof t&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"});const i=n.encoder?n.encoder:e=>{if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")};return this._auth(e,t,n,i)},_.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},_.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},_.prototype._getFormData=function(){return this._formData||(this._formData=new r.FormData),this._formData},_.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();const n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},_.prototype.crossDomainError=function(){const e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},_.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},_.prototype.ca=_.prototype.agent,_.prototype.buffer=_.prototype.ca,_.prototype.write=()=>{throw new Error("Streaming is not supported in browser version of superagent")},_.prototype.pipe=_.prototype.write,_.prototype._isHost=function(e){return e&&"object"==typeof e&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},_.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||I,this._finalizeQueryString(),this._end()},_.prototype._setUploadTimeout=function(){const e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout((()=>{e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")}),this._uploadTimeout))},_.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));const e=this;this.xhr=h.getXHR();const t=this.xhr;let n=this._formData||this._data;this._setTimeouts(),t.addEventListener("readystatechange",(()=>{const n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4!==n)return;let i;try{i=t.status}catch(o){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}));const i=(t,n)=>{n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",i.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",i.bind(null,"upload"))}catch(o){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(o){return this.callback(o)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){const e=this._header["content-type"];let t=this._serializer||h.serialize[e?e.split(";")[0]:""];!t&&B(e)&&(t=h.serialize["application/json"]),t&&(n=t(n))}for(const r in this.header)null!==this.header[r]&&p(this.header,r)&&t.setRequestHeader(r,this.header[r]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},h.agent=()=>new f;for(var S=0,G=["GET","POST","OPTIONS","PATCH","PUT","DELETE"];S<G.length;S++){const e=G[S];f.prototype[e.toLowerCase()]=function(t,n){const i=new h.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}function Q(e,t,n){const i=h("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}f.prototype.del=f.prototype.delete,h.get=(e,t,n)=>{const i=h("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.head=(e,t,n)=>{const i=h("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.options=(e,t,n)=>{const i=h("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.del=Q,h.delete=Q,h.patch=(e,t,n)=>{const i=h("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.post=(e,t,n)=>{const i=h("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.put=(e,t,n)=>{const i=h("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},"./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/request-base.js":(e,t,n)=>{"use strict";const i=n("?7d86"),o=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/utils.js"),r=o.isObject,a=o.hasOwn;function s(){}e.exports=s,s.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},s.prototype.parse=function(e){return this._parser=e,this},s.prototype.responseType=function(e){return this._responseType=e,this},s.prototype.serialize=function(e){return this._serializer=e,this},s.prototype.timeout=function(e){if(!e||"object"!=typeof e)return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(const t in e)if(a(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},s.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};const c=new Set(["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"]),l=new Set([408,413,429,500,502,503,504,521,522,524]);s.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{const n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(n){console.error(n)}if(t&&t.status&&l.has(t.status))return!0;if(e){if(e.code&&c.has(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},s.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},s.prototype.then=function(e,t){if(!this._fullfilledPromise){const e=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(((t,n)=>{e.on("abort",(()=>{if(this._maxRetries&&this._maxRetries>this._retries)return;if(this.timedout&&this.timedoutError)return void n(this.timedoutError);const e=new Error("Aborted");e.code="ABORTED",e.status=this.status,e.method=this.method,e.url=this.url,n(e)})),e.end(((e,i)=>{e?n(e):t(i)}))}))}return this._fullfilledPromise.then(e,t)},s.prototype.catch=function(e){return this.then(void 0,e)},s.prototype.use=function(e){return e(this),this},s.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},s.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},s.prototype.get=function(e){return this._header[e.toLowerCase()]},s.prototype.getHeader=s.prototype.get,s.prototype.set=function(e,t){if(r(e)){for(const t in e)a(e,t)&&this.set(t,e[t]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},s.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},s.prototype.field=function(e,t,n){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(r(e)){for(const t in e)a(e,t)&&this.field(t,e[t]);return this}if(Array.isArray(t)){for(const n in t)a(t,n)&&this.field(e,t[n]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),n?this._getFormData().append(e,t,n):this._getFormData().append(e,t),this},s.prototype.abort=function(){if(this._aborted)return this;if(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req){if(i.gte(process.version,"v13.0.0")&&i.lt(process.version,"v14.0.0"))throw new Error("Superagent does not work in v13 properly with abort() due to Node.js core changes");i.gte(process.version,"v14.0.0")&&(this.req.destroyed=!0),this.req.abort()}return this.clearTimeout(),this.emit("abort"),this},s.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization",`Basic ${i(`${e}:${t}`)}`);break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization",`Bearer ${e}`)}return this},s.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},s.prototype.redirects=function(e){return this._maxRedirects=e,this},s.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},s.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},s.prototype.send=function(e){const t=r(e);let n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&r(this._data))for(const i in e)a(e,i)&&(this._data[i]=e[i]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],n&&(n=n.toLowerCase().trim()),this._data="application/x-www-form-urlencoded"===n?this._data?`${this._data}&${e}`:e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},s.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},s.prototype._finalizeQueryString=function(){const e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){const e=this.url.indexOf("?");if(e>=0){const t=this.url.slice(e+1).split("&");"function"==typeof this._sort?t.sort(this._sort):t.sort(),this.url=this.url.slice(0,e)+"?"+t.join("&")}}},s.prototype._appendQueryString=()=>{console.warn("Unsupported")},s.prototype._timeoutError=function(e,t,n){if(this._aborted)return;const i=new Error(`${e+t}ms exceeded`);i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.timedoutError=i,this.abort(),this.callback(i)},s.prototype._setTimeouts=function(){const e=this;this._timeout&&!this._timer&&(this._timer=setTimeout((()=>{e._timeoutError("Timeout of ",e._timeout,"ETIME")}),this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout((()=>{e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")}),this._responseTimeout))}},"./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/response-base.js":(e,t,n)=>{"use strict";const i=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/utils.js");function o(){}e.exports=o,o.prototype.get=function(e){return this.header[e.toLowerCase()]},o.prototype._setHeaderProperties=function(e){const t=e["content-type"]||"";this.type=i.type(t);const n=i.params(t);for(const i in n)Object.prototype.hasOwnProperty.call(n,i)&&(this[i]=n[i]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(o){}},o.prototype._setStatusProperties=function(e){const t=Math.trunc(e/100);this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},"./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/utils.js":(e,t)=>{"use strict";function n(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0,r=function(){};return{s:r,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}t.type=e=>e.split(/ *; */).shift(),t.params=e=>{const t={};var i,o=n(e.split(/ *; */));try{for(o.s();!(i=o.n()).done;){const e=i.value.split(/ *= */),n=e.shift(),o=e.shift();n&&o&&(t[n]=o)}}catch(r){o.e(r)}finally{o.f()}return t},t.parseLinks=e=>{const t={};var i,o=n(e.split(/ *, */));try{for(o.s();!(i=o.n()).done;){const e=i.value.split(/ *; */),n=e[0].slice(1,-1);t[e[1].split(/ *= */)[1].slice(1,-1)]=n}}catch(r){o.e(r)}finally{o.f()}return t},t.cleanHeader=(e,t)=>(delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e),t.isObject=e=>null!==e&&"object"==typeof e,t.hasOwn=Object.hasOwn||function(e,t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(new Object(e),t)},t.mixin=(e,n)=>{for(const i in n)t.hasOwn(n,i)&&(e[i]=n[i])}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/Modal.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return r(t,e),t},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ModalMode=void 0;var c,l=s(n("./node_modules/@91app/nineyi.config.cms-globla-style/dist/src/index.js")),u=n("./node_modules/@91app/nineyi.lib.themecore/out/src/configs/zIndex.config.js"),d=n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/index.js"),g=n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_typography.js"),p=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),m=a(n("react")),f=n("react-dom"),I=s(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js")),h=l.default.buttonStyle,b=g.typography.fontSizeDefault;!function(e){e.EXLARGE="EXLARGE",e.MEDIUM="MEDIUM",e.STANDARD="STANDARD",e.SMALL="SMALL"}(c=t.ModalMode||(t.ModalMode={}));var y,C,v,B,A,_,S,G,Q,E,F,w,T,x,k,N,O=I.default.div(y||(y=i(["\n    position: fixed;\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    background-color: rgba(0, 0, 0, 0.5);\n    z-index: ",";\n"],["\n    position: fixed;\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    background-color: rgba(0, 0, 0, 0.5);\n    z-index: ",";\n"])),u.modalZIndex),Z=I.default.div(C||(C=i(["\n    display: flex;\n    flex-direction: column;\n    background-color: ",";\n    border-radius: 4px;\n    position: relative;\n    min-height: 120px;\n    width: 288px;\n    max-height: 400px;\n"],["\n    display: flex;\n    flex-direction: column;\n    background-color: ",";\n    border-radius: 4px;\n    position: relative;\n    min-height: 120px;\n    width: 288px;\n    max-height: 400px;\n"])),d.color.white),U=I.default.div(v||(v=i(["\n    display: flex;\n    flex-direction: column;\n    background-color: ",";\n    border-radius: 4px;\n    position: relative;\n    min-height: 120px;\n    width: 90%;\n    max-width: 600px;\n    max-height: 80vh;\n"],["\n    display: flex;\n    flex-direction: column;\n    background-color: ",";\n    border-radius: 4px;\n    position: relative;\n    min-height: 120px;\n    width: 90%;\n    max-width: 600px;\n    max-height: 80vh;\n"])),d.color.white),R=I.default.div(B||(B=i(["\n    display: flex;\n    flex-direction: column;\n    background-color: ",";\n    border-radius: 4px;\n    position: relative;\n    min-height: 120px;\n    width: 100%;\n    max-width: 600px;\n    max-height: 80vh;\n"],["\n    display: flex;\n    flex-direction: column;\n    background-color: ",";\n    border-radius: 4px;\n    position: relative;\n    min-height: 120px;\n    width: 100%;\n    max-width: 600px;\n    max-height: 80vh;\n"])),d.color.white),X=I.default.div(A||(A=i(["\n    display: flex;\n    flex-direction: column;\n    background-color: ",";\n    border-radius: 4px;\n    position: relative;\n    width: 640px;\n    height: 600px;\n"],["\n    display: flex;\n    flex-direction: column;\n    background-color: ",";\n    border-radius: 4px;\n    position: relative;\n    width: 640px;\n    height: 600px;\n"])),d.color.white),W=16,V=I.default.div(_||(_=i(["\n    flex: 0 0 ","px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-sizing: border-box;\n    padding: ","px ","px 0px ","px;\n"],["\n    flex: 0 0 ","px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    box-sizing: border-box;\n    padding: ","px ","px 0px ","px;\n"])),46,W,W,W),P=I.default.div(S||(S=i(["\n    font-size: 16px;\n    font-weight: 500;\n    color: ",";\n"],["\n    font-size: 16px;\n    font-weight: 500;\n    color: ",";\n"])),d.color.blackThree),D=I.default.div(G||(G=i(["\n    width: 100%;\n    box-sizing: border-box;\n    overflow-x: hidden;\n    overflow-y: auto;\n    max-height: 352px;\n"],["\n    width: 100%;\n    box-sizing: border-box;\n    overflow-x: hidden;\n    overflow-y: auto;\n    max-height: 352px;\n"]))),H=I.default.div(Q||(Q=i(["\n    width: 100%;\n    box-sizing: border-box;\n    overflow-x: hidden;\n    overflow-y: auto;\n    max-height: 400px;\n"],["\n    width: 100%;\n    box-sizing: border-box;\n    overflow-x: hidden;\n    overflow-y: auto;\n    max-height: 400px;\n"]))),L=I.default.div(E||(E=i(["\n    width: 100%;\n    box-sizing: border-box;\n    overflow-x: hidden;\n    overflow-y: auto;\n    max-height: 400px;\n"],["\n    width: 100%;\n    box-sizing: border-box;\n    overflow-x: hidden;\n    overflow-y: auto;\n    max-height: 400px;\n"]))),Y=I.default.div(F||(F=i(["\n    width: 100%;\n    height: 100%;\n    box-sizing: border-box;\n    overflow: hidden;\n"],["\n    width: 100%;\n    height: 100%;\n    box-sizing: border-box;\n    overflow: hidden;\n"]))),M=I.default.div(w||(w=i(["\n    position: absolute;\n    top: ","px;\n    right: ","px;\n\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    width: 20px;\n    height: 20px;\n    z-index: ",";\n    border-radius: 50%;\n\n    transition: 0.15s background-color;\n\n    :hover {\n        cursor: pointer;\n    }\n"],["\n    position: absolute;\n    top: ","px;\n    right: ","px;\n\n    display: flex;\n    justify-content: center;\n    align-items: center;\n\n    width: 20px;\n    height: 20px;\n    z-index: ",";\n    border-radius: 50%;\n\n    transition: 0.15s background-color;\n\n    :hover {\n        cursor: pointer;\n    }\n"])),(function(e){return e.isInsideHeader?21:W}),W,u.modalZIndex),J=(0,I.default)(M)(T||(T=i(["\n    right: unset;\n    left: ","px;\n"],["\n    right: unset;\n    left: ","px;\n"])),W),j=I.default.button(x||(x=i(["\n    height: 40px;\n    width: 100%;\n    border-radius: 4px;\n    text-align: center;\n    cursor: pointer;\n    color: ",";\n    background-color: ",";\n    &:hover {\n        background-color: ",";\n    }\n"],["\n    height: 40px;\n    width: 100%;\n    border-radius: 4px;\n    text-align: center;\n    cursor: pointer;\n    color: ",";\n    background-color: ",";\n    &:hover {\n        background-color: ",";\n    }\n"])),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnTextColor)||h.primaryBtnTextColor}),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnBgColor)||h.primaryBtnBgColor}),(function(e){var t,n=e.theme;return(0,p.darken)(.1,(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnBgColor)||h.primaryBtnBgColor)})),z=I.default.button(k||(k=i(["\n    height: 40px;\n    width: 100%;\n    border-radius: 4px;\n    text-align: center;\n    cursor: pointer;\n    color: ",";\n    background-color: ",";\n    border: 1px solid\n        ",";\n"],["\n    height: 40px;\n    width: 100%;\n    border-radius: 4px;\n    text-align: center;\n    cursor: pointer;\n    color: ",";\n    background-color: ",";\n    border: 1px solid\n        ",";\n"])),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.secondBtnTextColor)||h.secondBtnTextColor}),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.secondBtnBgColor)||h.secondBtnBgColor}),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.secondBtnBorderColor)||h.secondBtnBorderColor})),K=I.default.div(N||(N=i(["\n    font-size: ",";\n    line-height: 150%;\n    font-weight: 400;\n    display: flex;\n    padding: 0 16px 16px 16px;\n    bottom: 0;\n    * + * {\n        margin-left: 10px;\n    }\n"],["\n    font-size: ",";\n    line-height: 150%;\n    font-weight: 400;\n    display: flex;\n    padding: 0 16px 16px 16px;\n    bottom: 0;\n    * + * {\n        margin-left: 10px;\n    }\n"])),b),q=function(e){return e.stopPropagation()};t.default=function(e){var t=e.children,n=e.onModalClick,i=e.title,o=e.modalMode,r=void 0===o?c.SMALL:o,a=e.handleConfirmClick,s=e.confirmText,l=e.handleCancelClick,u=e.cancelText,d=e.isShowCloseButton,g=void 0===d||d,p=e.handleCloseButtonClick,I=e.handleBackwardButtonClick,h=e.isShowHeader,b=void 0===h?Boolean(i):h,y="function"==typeof I,C=m.createElement(J,{isInsideHeader:h,className:"ico ico-chevron-left",onClick:I}),v=m.createElement(V,null,m.createElement(P,null,i)),B=m.createElement(M,{isInsideHeader:h,className:"ico ico-close",onClick:function(e){"function"==typeof p&&(e.preventDefault(),p(e))}}),A=m.createElement(K,{onClick:q},u&&m.createElement(z,{onClick:l},u),s&&m.createElement(j,{onClick:a},s)),_=m.createElement(O,{onClick:n},r===c.EXLARGE&&m.createElement(X,null,y&&C,b&&v,g&&B,m.createElement(Y,{onClick:q},t),(s||u)&&A),r===c.MEDIUM&&m.createElement(R,null,y&&C,b&&v,g&&B,m.createElement(L,{onClick:q},t),(s||u)&&A),r===c.STANDARD&&m.createElement(U,null,y&&C,b&&v,g&&B,m.createElement(H,{onClick:q},t),(s||u)&&A),r===c.SMALL&&m.createElement(Z,null,y&&C,b&&v,g&&B,m.createElement(D,{onClick:q},t),(s||u)&&A));return(0,f.createPortal)(_,document.querySelector("#modal-root")||document.body)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ModalSheet.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});var s,c,l,u,d,g,p,m,f,I,h,b=n("./node_modules/@91app/nineyi.lib.themecore/out/src/configs/zIndex.config.js"),y=a(n("react")),C=n("react"),v=n("react-dom"),B=a(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js")),A=n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_color.js"),_=B.default.div(s||(s=i(["\n    background: rgba(0, 0, 0, 0.4);\n    z-index: ",";\n\n    position: fixed;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n"],["\n    background: rgba(0, 0, 0, 0.4);\n    z-index: ",";\n\n    position: fixed;\n    top: 0;\n    bottom: 0;\n    left: 0;\n    right: 0;\n"])),b.modalSheetZIndex),S=(0,B.keyframes)(c||(c=i(["\n    from {\n        top: 100%;\n        bottom: 0;\n        left: 0;\n        right: 0;\n    }\n\n    to {\n        top: 10%;\n        bottom: 0;\n        left: 0;\n        right: 0;\n    }\n"],["\n    from {\n        top: 100%;\n        bottom: 0;\n        left: 0;\n        right: 0;\n    }\n\n    to {\n        top: 10%;\n        bottom: 0;\n        left: 0;\n        right: 0;\n    }\n"]))),G=(0,B.keyframes)(l||(l=i(["\n    from {\n        bottom: -100%;\n    }\n    to {\n        bottom: 0;\n    }\n"],["\n    from {\n        bottom: -100%;\n    }\n    to {\n        bottom: 0;\n    }\n"]))),Q=B.default.div(u||(u=i(["\n    ",";\n    animation: "," 0.3s ease-out 1;\n    animation-fill-mode: forwards;\n"],["\n    ",";\n    animation: "," 0.3s ease-out 1;\n    animation-fill-mode: forwards;\n"])),(function(e){return!e.isFullScreen&&"position: absolute"}),S),E=B.default.div(d||(d=i(["\n    background: ",";\n    border-radius: ",";\n\n    display: flex;\n    flex-direction: column;\n\n    position: absolute;\n    bottom: -100%;\n\n    animation: "," 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.15s;\n    animation-fill-mode: forwards;\n    width: 100vw;\n    ",";\n    ",";\n"],["\n    background: ",";\n    border-radius: ",";\n\n    display: flex;\n    flex-direction: column;\n\n    position: absolute;\n    bottom: -100%;\n\n    animation: "," 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.15s;\n    animation-fill-mode: forwards;\n    width: 100vw;\n    ",";\n    ",";\n"])),A.color.white,(function(e){var t=e.isFullScreen,n=e.maxHeight;return t&&!n?"0":"15px 15px 0 0"}),G,(function(e){var t=e.isFullScreen,n=e.maxHeight;return t&&n&&"\n        max-height: ".concat(n,";\n        max-height: ").concat(n.replace("vh","svh"),";\n        overflow: hidden;\n    ")}),(function(e){return e.isFullScreen&&"height: 100vh; height: 100svh;"})),F=16,w=B.default.div(g||(g=i(["\n    flex: 0 0 ","px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    padding: ","px ","px 0px ","px;\n"],["\n    flex: 0 0 ","px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-sizing: border-box;\n    padding: ","px ","px 0px ","px;\n"])),46,F,F,F),T=B.default.div(p||(p=i(["\n    flex-grow: 1;\n    ","\n"],["\n    flex-grow: 1;\n    ","\n"])),(function(e){return e.isFullScreen?"width: 100%; height: 100%; box-sizing: border-box; overflow: hidden;":"max-height: 80vh"})),x=B.default.div(m||(m=i(["\n    font-size: 16px;\n    font-weight: 500;\n    color: #333;\n"],["\n    font-size: 16px;\n    font-weight: 500;\n    color: #333;\n"]))),k=B.default.div(f||(f=i(["\n    position: absolute;\n    right: ","px;\n    top: ","px;\n\n    width: 20px;\n    height: 20px;\n\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    z-index: ",";\n    border-radius: 50%;\n    transition: 0.15s background-color;\n\n    :hover {\n        cursor: pointer;\n    }\n"],["\n    position: absolute;\n    right: ","px;\n    top: ","px;\n\n    width: 20px;\n    height: 20px;\n\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    z-index: ",";\n    border-radius: 50%;\n    transition: 0.15s background-color;\n\n    :hover {\n        cursor: pointer;\n    }\n"])),F,(function(e){return e.isInsideHeader?21:F}),b.modalSheetZIndex),N=(0,B.default)(k)(I||(I=i(["\n    right: unset;\n    left: ","px;\n"],["\n    right: unset;\n    left: ","px;\n"])),F),O=(0,B.default)(k)(h||(h=i(["\n    background-color: ",";\n    color: ",";\n"],["\n    background-color: ",";\n    color: ",";\n"])),A.color.blackOpacity50,A.color.white),Z=function(e){e.stopPropagation()};t.default=function(e){var t=e.title,n=e.children,i=e.handleCloseButtonClick,o=e.handleBackwardButtonClick,r=e.onModalClick,a=e.isWhiteCloseButton,s=void 0!==a&&a,c=e.isShowCloseButton,l=void 0===c||c,u=e.isShowHeader,d=e.isFullScreen,g=void 0!==d&&d,p=e.maxHeight;(0,C.useLayoutEffect)((function(){var e=document.body;return e.style.overflow="hidden",function(){e.style.overflow="unset"}}),[]);var m="function"==typeof i?i:r,f=void 0===u?Boolean(t):u,I="function"==typeof o,h=s?O:k,b=y.createElement(_,{onClick:r},y.createElement(Q,{isFullScreen:g},y.createElement(E,{onClick:Z,isFullScreen:g,maxHeight:p},I&&y.createElement(N,{className:"ico ico-chevron-left",onClick:o,isInsideHeader:f}),f&&y.createElement(w,null,y.createElement(x,null,t)),l&&y.createElement(h,{className:"ico ico-close",onClick:m,isInsideHeader:f}),y.createElement(T,{isFullScreen:g},n))));return(0,v.createPortal)(b,document.querySelector("#modal-root")||document.body)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/FullScreenContainer.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.FullScreenContainerWithoutHeader=t.FullScreenContainerWithHeader=void 0;var r=o(n("react")),a=o(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js")),s="46px",c=a.default.div(p||(p=i(["\n    height: 100vh;\n    height: 100svh;\n    overflow: hidden;\n"],["\n    height: 100vh;\n    height: 100svh;\n    overflow: hidden;\n"]))),l=a.default.div(m||(m=i(["\n    height: ",";\n    display: flex;\n    align-items: center;\n    box-sizing: border-box;\n    padding: ","px ","px 0px ","px;\n"],["\n    height: ",";\n    display: flex;\n    align-items: center;\n    box-sizing: border-box;\n    padding: ","px ","px 0px ","px;\n"])),s,16,16,16),u=a.default.div(f||(f=i(["\n    height: calc(100vh - ",");\n    height: calc(100svh - ",");\n"],["\n    height: calc(100vh - ",");\n    height: calc(100svh - ",");\n"])),s,s),d=a.default.div(I||(I=i(["\n    width: 20px;\n    height: 20px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    cursor: pointer;\n    ","\n"],["\n    width: 20px;\n    height: 20px;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    cursor: pointer;\n    ","\n"])),(function(e){return e.isShow?"":"visibility: hidden; pointer-events: none;"})),g=a.default.div(h||(h=i(["\n    flex-grow: 1;\n    text-align: center;\n    min-width: 1px;\n"],["\n    flex-grow: 1;\n    text-align: center;\n    min-width: 1px;\n"])));t.FullScreenContainerWithHeader=function(e){var t=e.handleBackwardButtonClick,n=e.handleCloseButtonClick,i=e.title,o=e.children,a="function"==typeof t,s="function"==typeof n;return r.default.createElement(c,null,r.default.createElement(l,null,r.default.createElement(d,{isShow:a,className:"ico ico-chevron-left",onClick:t}),r.default.createElement(g,null,i),r.default.createElement(d,{isShow:s,className:"ico ico-close",onClick:n})),r.default.createElement(u,null,o))};var p,m,f,I,h;t.FullScreenContainerWithoutHeader=function(e){var t=e.children;return r.default.createElement(c,null,t)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/ModalContainer.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ModalContainer=void 0;var s=r(n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/Modal.js")),c=a(n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ModalSheet.js")),l=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/index.js"),u=a(n("react"));t.ModalContainer=function(e){var t=e.browsingMode,n=e.children,i=e.onModalClick,o=e.title,r=e.modalMode,a=void 0===r?s.ModalMode.MEDIUM:r,d=e.isFullScreenSheet,g=void 0!==d&&d,p=e.isShowHeader,m=e.handleCloseButtonClick,f=e.handleBackwardButtonClick,I=e.isShowCloseButton;return t===l.BROWSING_MODE.DESKTOP?u.default.createElement(s.default,{onModalClick:i,modalMode:a,title:o,isShowHeader:p,handleCloseButtonClick:m,handleBackwardButtonClick:f,isShowCloseButton:I},n):u.default.createElement(c.default,{onModalClick:i,title:o,isFullScreen:g,isShowHeader:p,handleCloseButtonClick:m,handleBackwardButtonClick:f,isShowCloseButton:I},n)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/ModalDialog.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return r(t,e),t},s=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},c=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ModalDialogProvider=t.ModalDialogContext=t.ModalDialog=t.ModalDialogText=t.ModalDialogStatus=void 0;var u,d=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),g=l(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/dompurify/dist/purify.cjs.js")),p=a(n("react")),m=n("react"),f=n("./node_modules/react-i18nify/es/index.js"),I=l(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js")),h=a(n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/Modal.js")),b=n("./node_modules/@91app/nineyi.lib.themecore/out/src/configs/cookieKey.config.js"),y=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/index.js"),C=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),v=l(n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/layoutTemplateData/fetchHiddenLayout.stream.js")),B=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/updateVipMemberEmailNotification.stream.js"),A=n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_color.js"),_=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),S=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js"),G=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/validate.utility.js");!function(e){e.AlreadyInCart="AlreadyInCart",e.BackInStockLimit="BackInStockLimit",e.Fail="Fail",e.NoMail="NoMail",e.NotLogin="NotLogin"}(u=t.ModalDialogStatus||(t.ModalDialogStatus={})),t.ModalDialogText={Fail:y.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.ADD_TO_CART_FAIL,NotLogin:y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.BACK_IN_STOCK_NOT_LOGIN,BackInStockLimit:y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.BACK_IN_STOCK_LIMIT_FIRST,AlreadyInCart:y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.ALREADY_IN_CART};var Q=I.default.div(N||(N=i(["\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    padding: 32px 16px;\n    font-size: 14px;\n    line-height: 150%;\n    font-weight: 400;\n"],["\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    padding: 32px 16px;\n    font-size: 14px;\n    line-height: 150%;\n    font-weight: 400;\n"]))),E=I.default.div(O||(O=i(["\n    line-height: 1.5;\n    font-size: 13px;\n    border-top: solid 1px ",";\n    padding: 20px 20px 40px 20px;\n"],["\n    line-height: 1.5;\n    font-size: 13px;\n    border-top: solid 1px ",";\n    padding: 20px 20px 40px 20px;\n"])),A.color.grey),F=I.default.div(Z||(Z=i([""],[""]))),w=I.default.div(U||(U=i(["\n    margin: 10px 0 30px 0;\n    color: ",";\n"],["\n    margin: 10px 0 30px 0;\n    color: ",";\n"])),A.color.brownishGrey),T=I.default.div(R||(R=i(["\n    #mail-input {\n        font-size: 14px;\n        box-sizing: border-box;\n        width: 100%;\n        height: 40px;\n        padding: 7px;\n        color: ",";\n        border: solid 1px ",";\n        border-radius: 3px;\n        background-color: ",";\n    }\n\n    #mail-star-hint {\n        color: ",";\n        display: inline-block;\n        margin-right: 3px;\n    }\n"],["\n    #mail-input {\n        font-size: 14px;\n        box-sizing: border-box;\n        width: 100%;\n        height: 40px;\n        padding: 7px;\n        color: ",";\n        border: solid 1px ",";\n        border-radius: 3px;\n        background-color: ",";\n    }\n\n    #mail-star-hint {\n        color: ",";\n        display: inline-block;\n        margin-right: 3px;\n    }\n"])),A.color.brownishGrey,(function(e){return e.isEmailError?A.color.grapefruit:A.color.grey}),A.color.white,A.color.grapefruit),x=I.default.span(X||(X=i(["\n    color: ",";\n"],["\n    color: ",";\n"])),A.color.grapefruit),k=I.default.div(W||(W=i(["\n    flex-direction: column;\n    text-align: center;\n    line-height: 1.5;\n"],["\n    flex-direction: column;\n    text-align: center;\n    line-height: 1.5;\n"])));t.ModalDialog=function(e){var n=e.modalDialogStatus,i=e.handleCloseDialog,o=e.salePageId,r=e.shopId,a=e.handleConfirmClick,l=e.modalDialogMessage,I=(0,m.useState)(""),A=I[0],N=I[1],O=(0,m.useState)(""),Z=O[0],U=O[1],R=(0,m.useState)(!1),X=R[0],W=R[1],V=(0,m.useState)(""),P=V[0],D=V[1];(0,m.useEffect)((function(){if(n===u.NoMail){var e=(0,C.getDependencies)(),t=(0,S.getStreamInjection)(e);(0,v.default)(t).then((function(e){U(e)})).catch((function(e){console.error("Error fetching hidden layout:",e)}))}}),[n]);var H=function(e){D(e),W(!0)};return n===u.NoMail?p.createElement(h.default,{onModalClick:i,confirmText:(0,f.t)(y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.CONFIRM),modalMode:h.ModalMode.MEDIUM,handleConfirmClick:function(){return s(void 0,void 0,void 0,(function(){var e,t,n,o,r;return c(this,(function(s){switch(s.label){case 0:if(!A)return H(y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.REQUIRED),[2];if(!(0,G.isEmail)(A))return H(y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.MAIL_FORMAT_ERROR),[2];s.label=1;case 1:return s.trys.push([1,3,,4]),e=(0,C.getDependencies)(),t=(0,S.getStreamInjection)(e),n=(null===(r=document.getElementById("mail-token-input"))||void 0===r?void 0:r.value)||"",o={email:A,isEnablePriceReduction:!0,token:n},[4,(0,B.updateVipMemberEmailNotification)({streamInjection:t,params:o})];case 2:return s.sent(),a&&a(_.MESSAGE.STATUS.BACK_IN_STOCK_SUBSCRIBE_SUCCESS),[3,4];case 3:return s.sent(),i(),a(_.MESSAGE.STATUS.SYSTEM_ERROR),[3,4];case 4:return[2]}}))}))},title:(0,f.t)(y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.BACK_IN_STOCK)},p.createElement(E,null,p.createElement(F,null,p.createElement(f.Translate,{value:y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.BACK_IN_STOCK_INPUT_MAIL_FIRST})),p.createElement(F,null,p.createElement(f.Translate,{value:y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.BACK_IN_STOCK_INPUT_MAIL_SECOND})),p.createElement(w,null,p.createElement(f.Translate,{value:y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.BACK_IN_STOCK_INPUT_MAIL_THIRD})),p.createElement(T,{id:"text-csrf",dangerouslySetInnerHTML:{__html:g.default.sanitize(Z)},onInput:function(e){X&&W(!1),N(e.target.value)},isEmailError:X}),X&&p.createElement(x,null,p.createElement(f.Translate,{value:P})))):p.createElement(h.default,{isShowCloseButton:!1,onModalClick:i,confirmText:(0,f.t)(y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.CONFIRM),handleConfirmClick:function(){if(n===u.NotLogin){window.parent.postMessage({channel:"postMessage",event:"REDIRECT_LOGIN"},window.location.origin);var e=(0,b.backInStockSalePageIdCookieKey)(r);(0,d.addCookie)(e,o.toString(),1);var t=encodeURIComponent(window.location.href.replace(window.location.hash,""));window.location.href="/Login/HttpLoginRelayToHttps/?rt=".concat(t,"&reason=notlogin")}n===u.BackInStockLimit&&(window.location.href="/v2/BackInStockAlertList"),a&&a()}},p.createElement(Q,null,function(e,n){return void 0===e&&(e=u.Fail),e===u.BackInStockLimit?p.createElement(k,null,p.createElement("div",null,(0,f.t)(y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.BACK_IN_STOCK_LIMIT_FIRST)),p.createElement("div",null,(0,f.t)(y.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.BACK_IN_STOCK_LIMIT_SECOND))):p.createElement(f.Translate,{value:n||t.ModalDialogText[e]||t.ModalDialogText[u.Fail]})}(n,l)))},t.ModalDialogContext=(0,m.createContext)((function(){_.log.error("[ERROR] ModalDialogContext Value not provided")}));var N,O,Z,U,R,X,W;t.ModalDialogProvider=function(e){var n=e.children,i=e.shopId,o=e.salePageId,r=(0,m.useState)({isOpen:!1}),a=r[0],s=r[1];return p.createElement(t.ModalDialogContext.Provider,{value:s},a.isOpen&&p.createElement(t.ModalDialog,{handleCloseDialog:a.handleCloseDialog,handleConfirmClick:a.handleConfirmClick,modalDialogMessage:a.modalDialogMessage,salePageId:o,shopId:i,modalDialogStatus:a.modalDialogStatus}),n)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/SWRConfigProvider.js":function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SWRConfigProvider=void 0;var o=i(n("react")),r=n("./node_modules/swr/dist/core/index.esm.js"),a={revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateOnMount:!0,dedupingInterval:500,shouldRetryOnError:!1};t.SWRConfigProvider=function(e){var t=e.children;return o.default.createElement(r.SWRConfig,{value:a},t)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/SpecChartModalProvider.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SpecChartModalProvider=void 0;var r,a,s=o(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/dompurify/dist/purify.cjs.js")),c=o(n("react")),l=o(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js")),u=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/ModalContainer.js"),d=l.default.div(r||(r=i(["\n    width: 100%;\n    height: 100%;\n    overflow: auto;\n"],["\n    width: 100%;\n    height: 100%;\n    overflow: auto;\n"]))),g=l.default.div(a||(a=i(["\n    padding: 16px;\n    * {\n        all: revert;\n    }\n"],["\n    padding: 16px;\n    * {\n        all: revert;\n    }\n"])));t.SpecChartModalProvider=function(e){var t=e.isOpenSpecChartModal,n=e.setIsOpenSpecChartModal,i=e.browsingMode,o=e.title,r=e.content,a=e.afterCloseSpecChartModal,l=e.children,p=e.modalMode,m=e.isShowModalHeader;return c.default.createElement(c.default.Fragment,null,l,t&&c.default.createElement(u.ModalContainer,{browsingMode:i,isShowHeader:m,title:m?o:void 0,isFullScreenSheet:!0,handleCloseButtonClick:function(){n(!1),"function"==typeof a&&a()},onModalClick:function(e){e.target===e.currentTarget&&(n(!1),"function"==typeof a&&a())},modalMode:p,isShowCloseButton:m},c.default.createElement(d,null,c.default.createElement(g,{className:"jodit-default",dangerouslySetInnerHTML:{__html:s.default.sanitize(r)}}))))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SALEPAGE_BUNDLE_P1_TITLE=t.DisplayModeEnum=t.QueryStringFromEnum=t.SalePageTypeEnum=void 0,function(e){e.Normal="Normal",e.Bundle="Bundle"}(t.SalePageTypeEnum||(t.SalePageTypeEnum={})),function(e){e.Salepage="salepage"}(t.QueryStringFromEnum||(t.QueryStringFromEnum={})),function(e){e.page="page",e.fullScreenSheetWithAppHeaderControl="fullScreenSheetWithAppHeaderControl"}(t.DisplayModeEnum||(t.DisplayModeEnum={})),t.SALEPAGE_BUNDLE_P1_TITLE=""},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/index.js":function(e,t,n){"use strict";var i,o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)},a=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return s(t,e),t},l=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},u=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},d=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.SalePageTypeEnum=t.QueryStringFromEnum=t.DisplayModeEnum=t.SkuQtyMode=t.BackInStockText=t.SoldOutActionTypeText=void 0;var g=n("./node_modules/lodash/lodash.js"),p=c(n("react")),m=n("react"),f=n("./node_modules/react-i18nify/es/index.js"),I=n("react-redux"),h=c(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js")),b=n("./node_modules/@91app/nineyi.component.product-to-cart/dist/src/index.js"),y=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),C=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/@91app/nineyi.lib.display-text/dist/bundle.js"),v=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/@91app/nine1.lib.custom-translation/dist/index.umd.js"),B=c(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/@91app/nine1.lib.jsi/dist/index.js")),A=d(n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/loading.js")),_=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/ModalDialog.js"),S=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/style.js"),G=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/SkuModal/context.js"),Q=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ToastProvider.js"),E=n("./node_modules/@91app/nineyi.lib.themecore/out/src/configs/cookieKey.config.js"),F=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/index.js"),w=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/productToCart.constant.js"),T=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),x=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/backInStock/deleteSubscribedSku.stream.js"),k=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/backInStock/fetchSubscribedSkuCount.stream.js"),N=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/backInStock/fetchSubscribedSkuList.stream.js"),O=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/backInStock/subscribeProductSku.stream.js"),Z=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/product/fetchProductStockEntity.stream.js"),U=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageStatus.stream.js"),R=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shoppingCart/addShoppingCartItem.stream.js"),X=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/authIsLogin.stream.js"),W=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/fetchVipMemberEmailNotification.stream.js"),V=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/updateVipMemberEmailNotification.stream.js"),P=n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/Dependencies.js"),D=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),H=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/customTranslation.utility.js"),L=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js"),Y=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/featureControl.utility.js"),M=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/Modal.js"),J=d(n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ModalSheet.js")),j=d(n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/toast.js")),z=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/constants.js");Object.defineProperty(t,"DisplayModeEnum",{enumerable:!0,get:function(){return z.DisplayModeEnum}}),Object.defineProperty(t,"QueryStringFromEnum",{enumerable:!0,get:function(){return z.QueryStringFromEnum}}),Object.defineProperty(t,"SalePageTypeEnum",{enumerable:!0,get:function(){return z.SalePageTypeEnum}});var K,q,$=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/FullScreenContainer.js"),ee=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/ModalContainer.js"),te=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/SpecChartModalProvider.js"),ne=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/SWRConfigProvider.js"),ie=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/swrHooks.js"),oe=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/utility.js");t.SoldOutActionTypeText={OutOfStock:F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.SOLD_OUT,Restock:F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.RESTOCK,NoRestock:F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.NO_RESTOCK,BackInStockAlert:F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.BACK_IN_STOCK},t.BackInStockText={AddBackInStock:F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.ADD_BACK_IN_STOCK,CancelBackInStock:F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.CANCEL_BACK_IN_STOCK},function(e){e.BACK_STAGE="BACK_STAGE",e.FRONT_STAGE="FRONT_STAGE"}(K||(K={})),function(e){e[e.Accumulate=0]="Accumulate",e[e.Overwrite=1]="Overwrite"}(q=t.SkuQtyMode||(t.SkuQtyMode={}));var re,ae,se,ce=((i={})[w.ProductToCartButtonStatus.AppOnly]=w.ProductToCartButtonStatus.AppOnly,i[w.ProductToCartButtonStatus.ShareToBuy]=w.ProductToCartButtonStatus.ShareToBuy,i[w.ProductToCartButtonStatus.Normal]=w.ProductToCartButtonStatus.Normal,i),le=h.default.span(re||(re=o(["\n    font-size: 13px;\n    color: #ff5353;\n"],["\n    font-size: 13px;\n    color: #ff5353;\n"]))),ue=function(e){return p.createElement(le,null,p.createElement(f.Translate,{value:F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.MAXIMUM_PURCHASE_OF_LIMIT_ITEMS_FOR_THIS_PRODUCT,maxValue:e}))},de=function(e){var t=e.maxQuantity;return p.createElement(le,null,p.createElement(f.Translate,{value:F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.MAXIMUM_PURCHASE_OF_LIMIT_ITEMS_FOR_THIS_PRODUCT,maxValue:t}))},ge=function(e){var n=e.status,i=e.customButtonDisplayText,o=e.isEnableBackInStock,r=e.salePageBundleInfo,a=e.salePageBundleSellingQty,s=e.selectedSkuIds,c=e.customTransData;if(r){a=(0,oe.safeArray)(a),r.bundleBlocks=(0,oe.safeArray)(r.bundleBlocks);var l=void 0;if(l=(0,oe.isAllSubSalePageSkuSelected)(s)?r.bundleBlocks.some((function(e,t){var n;return(0,oe.isSubSalePageSkuSoldOut)((0,oe.safeArray)(null===(n=a[t])||void 0===n?void 0:n.blockSkuSellingQtyList),s[t])})):r.bundleBlocks.some((function(e,t){var n;return(0,oe.isSubSalePageSoldout)(e,(0,oe.safeArray)(null===(n=a[t])||void 0===n?void 0:n.blockSkuSellingQtyList))||(0,oe.isSubSalePageClosed)(e)})),l)return{text:(null==c?void 0:c[v.mwebTranslationKeyEnum.frontend_common_cannot_purchase])||(0,f.t)(w.ProductToCartButtonText[w.ProductToCartButtonStatus.SubSalePageCanNotBuy]),disabled:!0}}return n===w.ProductToCartButtonStatus.SoldOut&&o?{text:(0,f.t)(t.BackInStockText.AddBackInStock),disabled:!1}:n===w.ProductToCartButtonStatus.Normal&&i?{text:i,disabled:!1}:n===w.ProductToCartButtonStatus.NoStart?{text:(null==c?void 0:c[v.mwebTranslationKeyEnum.frontend_common_not_yet_open_for_sale])||(0,f.t)(w.ProductToCartButtonText.NoStart),disabled:w.ProductToCartButtonDisabledStatus[n]||!1}:{text:(0,f.t)(w.ProductToCartButtonText[n]||w.ProductToCartButtonText.Normal),disabled:w.ProductToCartButtonDisabledStatus[n]||!1}},pe=function(e,t){return e.some((function(e){return e.skuId===t}))},me=function(e){return(null==e?void 0:e.StatusDef)===w.ProductToCartButtonStatus.AppOnly||(null==e?void 0:e.StatusDef)===w.ProductToCartButtonStatus.ShareToBuy},fe=function(e){return me(e)?(0,h.css)(ae||(ae=o(["\n              display: none;\n              & + * {\n                  width: 100%;\n              }\n          "],["\n              display: none;\n              & + * {\n                  width: 100%;\n              }\n          "]))):S.customStyle.qtySelectorSectionStyle},Ie=function(e){var t=S.productToCartStyle.bottomStyle,n=String(t);return r(r({},S.productToCartStyle),{bottomStyle:me(e)?(0,h.css)(se||(se=o(["\n                  ","\n                  justify-content: center;\n              "],["\n                  ","\n                  justify-content: center;\n              "])),n):t})},he=function(){var e,t=(0,T.getDependencies)(),n=null===(e=null==t?void 0:t.imageServiceConfig)||void 0===e?void 0:e.imageHost;if(n)return"".concat(n,"cms/catalog/images/ico-arrow-long-forward.svg")},be=function(e){var t,n,i,o,r,a=null===(n=null===(t=(0,T.getDependencies)().shopProfile)||void 0===t?void 0:t.ShopFunction)||void 0===n?void 0:n.IsEnabledCustomTranslation,s=(0,m.useState)({}),c=s[0],d=s[1],g=(0,m.useState)(!1),I=g[0],h=g[1];(0,m.useEffect)((function(){a&&function(){l(this,void 0,void 0,(function(){var e,t;return u(this,(function(n){switch(n.label){case 0:h(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,(0,H.getCustomTransData)([v.mwebTranslationKeyEnum.frontend_common_not_yet_open_for_sale,v.mwebTranslationKeyEnum.frontend_common_cannot_purchase])];case 2:return e=n.sent(),d(e),[3,5];case 3:return t=n.sent(),D.log.error("[ERROR] fetchCustomTransData failed: ".concat((0,D.getErrorName)(t),": ").concat((0,D.getErrorMessage)(t))),[3,5];case 4:return h(!1),[7];case 5:return[2]}}))}))}()}),[a]);var b=e.shopId,y=e.salePageId,C=e.salePageCode,_=e.isAddOnsItem,S=e.displayMode,G=(e.browsingMode,e.defaultRelatedItemGroups),E=(0,m.useRef)();(0,m.useEffect)((function(){E.current=new B.default}),[]);var x=(0,m.useRef)("");(0,m.useEffect)((function(){x.current=document.title}),[]);var k=(0,m.useRef)("");(0,m.useEffect)((function(){k.current=String((0,D.getQueryString)("from")).toLowerCase()}),[]);var N=(0,m.useContext)(Q.ToastContext),O=(0,ie.useFetchMainSalePageInfo)({salePageId:y,salePageCode:C,forbidStatusChange:_,onSuccess:function(e){e.StatusDef===w.ProductToCartButtonStatus.NoStart&&k.current!==z.QueryStringFromEnum.Salepage&&q({status:D.MESSAGE.STATUS.NO_START,afterClose:ee})},onError:function(){if($()){return E.current.showPopup({requestCode:"useFetchMainSalePageInfo",showPopupData:{title:"",message:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED),buttonA:{text:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.RELOAD),data:null},buttonB:null}}),void E.current.onJsiResult((function(e){ee(),location.reload()}))}q({status:D.MESSAGE.STATUS.GET_SALEPAGE_BUNDLE_ERROR,afterClose:ee})}}),Z=O.data,R=O.isMutating,X=O.trigger,W=O.reset,V=(0,ie.useFetchMainSalePageAdditionalInfo)({salePageId:y,withFetcher:!0}),P=V.data,L=V.mutate,Y=(0,ie.useFetchSalePageSpecChart)({shopId:b,specChartId:null===(i=null==P?void 0:P.specChartData)||void 0===i?void 0:i.specChartId,specChartVersion:null===(o=null==P?void 0:P.specChartData)||void 0===o?void 0:o.specChartVersion,withFetcher:!0}),M=Y.data,J=Y.mutate,j=null===(r=null==P?void 0:P.specChartData)||void 0===r?void 0:r.title;function K(){if($()){document.title=j;var e={eventType:B.executableSetAppFeature.HeaderBackAction,data:{icon:"Back",action:"JsiBack"}};E.current.setAppHeaderIcon({ios:e,android:e})}}var q=(0,m.useCallback)((function(e){var t=e.status,n=e.afterClose,i=(0,D.getToastMessageItem)(t);i&&N({isOpen:!0,message:i.message,type:i.type,status:i.status,afterClose:n})}),[N]);function $(){return(0,D.checkIsFromApp)()&&E.current}function ee(t){L(void 0,{revalidate:!1}),J(void 0,{revalidate:!1}),"function"==typeof e.afterClose&&e.afterClose(t)}(0,m.useEffect)((function(){(0,oe.isValidSalePageId)(y)&&(W(),X())}),[y,C,_]);var te=!R&&!!Z&&(Z.StatusDef!==U.SalePageStatusEnum.NoStart||Z.StatusDef===U.SalePageStatusEnum.NoStart&&k.current===z.QueryStringFromEnum.Salepage),ne=!S||S===z.DisplayModeEnum.fullScreenSheetWithAppHeaderControl;return p.createElement(p.Fragment,null,te&&(null==Z?void 0:Z.IsSalePageBundle)&&p.createElement(Ce,{shopId:e.shopId,displayMode:e.displayMode,salePageCode:C,salePageId:y,rate:e.rate,decimal:e.decimal,symbol:e.symbol,isPriceOnTop:e.isPriceOnTop,isSuggestPriceShowPrice:e.isSuggestPriceShowPrice,isEnableOriginalPrice:e.isEnableOriginalPrice,customButtonDisplayText:e.customButtonDisplayText,afterSuccess:e.afterSuccess,afterClose:ee,browsingMode:e.browsingMode,facebook:e.facebook,handleRedirectDeepLink:e.handleRedirectDeepLink,isEnableAddShoppingCartItem:e.isEnableAddShoppingCartItem,skuQtyMode:e.skuQtyMode,setAppHeaderWhenOpenSpecChart:K,handleToastStatus:q,isShowModalContainer:ne,originalDocumentTitleRef:x,mainSalePageSpecChartHtmlString:M,mainSalePageSpecChartTitle:j,defaultRelatedItemGroups:G,customTransData:c}),te&&!(null==Z?void 0:Z.IsSalePageBundle)&&p.createElement(ye,{afterClose:ee,afterSuccess:e.afterSuccess,browsingMode:e.browsingMode,decimal:e.decimal,facebook:e.facebook,handleAddQuantity:e.handleAddQuantity,handleRedirectDeepLink:e.handleRedirectDeepLink,handleRemoveQuantity:e.handleRemoveQuantity,isEnableAddShoppingCartItem:e.isEnableAddShoppingCartItem,isEnablePurchaseMethod:e.isEnablePurchaseMethod,isPriceOnTop:e.isPriceOnTop,isSuggestPriceShowPrice:e.isSuggestPriceShowPrice,isEnableSpecialPrice:e.isEnableSpecialPrice,rate:e.rate,salePageId:y,shopId:e.shopId,symbol:e.symbol,customButtonDisplayText:e.customButtonDisplayText,isEnableBackInStockFeature:e.isEnableBackInStockFeature,skuQtyMode:e.skuQtyMode,enableSkuList:e.enableSkuList,isEnablePointPayOption:e.isEnablePointPayOption,isEnableOriginalPrice:e.isEnableOriginalPrice,displayMode:e.displayMode,salePageInfo:Z,salePageSpecChartData:null==P?void 0:P.specChartData,setAppHeaderWhenOpenSpecChart:K,isShowModalContainer:ne,originalDocumentTitleRef:x,mainSalePageSpecChartHtmlString:M,mainSalePageSpecChartTitle:j}),p.createElement(A.default,{isLoading:R||I}))},ye=function(e){var n=e.afterClose,i=e.afterSuccess,o=e.browsingMode,a=e.decimal,s=e.facebook,c=e.handleAddQuantity,d=e.handleRedirectDeepLink,h=e.handleRemoveQuantity,v=e.isEnableAddShoppingCartItem,Q=void 0===v||v,H=e.isEnablePurchaseMethod,J=void 0===H||H,z=e.isPriceOnTop,$=void 0!==z&&z,ne=e.isSuggestPriceShowPrice,ie=void 0!==ne&&ne,oe=e.isEnableSpecialPrice,re=void 0===oe||oe,ae=e.rate,se=e.salePageId,le=e.shopId,de=e.symbol,me=e.customButtonDisplayText,be=e.isEnableBackInStockFeature,ye=void 0===be||be,Ce=e.skuQtyMode,ve=e.enableSkuList,Be=void 0===ve?[]:ve,Ae=e.isEnablePointPayOption,_e=void 0===Ae||Ae,Se=e.isEnableOriginalPrice,Ge=void 0===Se||Se,Qe=e.salePageInfo,Ee=e.salePageSpecChartData,Fe=e.setAppHeaderWhenOpenSpecChart,we=e.isShowModalContainer,Te=e.originalDocumentTitleRef,xe=e.mainSalePageSpecChartHtmlString,ke=e.mainSalePageSpecChartTitle,Ne=(0,m.useState)(!1),Oe=Ne[0],Ze=Ne[1],Ue=(0,m.useState)(!1),Re=Ue[0],Xe=Ue[1],We=(0,m.useState)(!1),Ve=We[0],Pe=We[1],De=(0,m.useState)(!1),He=De[0],Le=De[1],Ye=(0,m.useState)(!1),Me=Ye[0],Je=Ye[1],je=(0,m.useState)(""),ze=je[0],Ke=je[1],qe=(0,m.useState)(""),$e=qe[0],et=qe[1],tt=(0,m.useState)(""),nt=tt[0],it=tt[1],ot=(0,m.useState)(null),rt=ot[0],at=ot[1],st=(0,m.useState)(""),ct=st[0],lt=st[1],ut=(0,m.useState)(""),dt=ut[0],gt=ut[1],pt=(0,m.useState)(null),mt=pt[0],ft=pt[1],It=(0,m.useState)([]),ht=It[0],bt=It[1],yt=(0,m.useState)([]),Ct=yt[0],vt=yt[1],Bt=(0,m.useState)(!1),At=Bt[0],_t=Bt[1],St=(0,m.useState)(null),Gt=St[0],Qt=St[1],Et=(0,m.useState)(!1),Ft=Et[0],wt=Et[1],Tt=(0,m.useState)(!1),xt=Tt[0],kt=Tt[1],Nt=(0,m.useContext)(G.SkuSalePageIdContext),Ot=Nt.currentProductInfo,Zt=Nt.setCurrentProductInfo,Ut=Ce===q.Accumulate,Rt=(0,I.useSelector)((function(e){return e.user.memberCollectionIdList})),Xt=F.DEFAULT_PROMOTION_MEMBER_COLLECTION_ID_LIST.concat(Rt||[]),Wt=(0,m.useState)([]),Vt=Wt[0],Pt=Wt[1],Dt=(0,m.useState)(null),Ht=Dt[0],Lt=Dt[1],Yt=(0,m.useState)([]),Mt=Yt[0],Jt=Yt[1],jt=(0,m.useState)("0"),zt=jt[0],Kt=jt[1],qt=(0,m.useRef)();(0,m.useEffect)((function(){qt.current=new B.default}),[]),(0,m.useEffect)((function(){qt.current.triggerWebAction((function(e){return Oe?JSON.parse(e).eventType!==B.triggerWebEventType.OnBackPressed?{shouldOverride:!1}:(Ze(!1),document.title=Te.current,qt.current.setAppHeaderIcon({ios:{eventType:B.executableSetAppFeature.HeaderBackAction,data:{icon:"Nothing",action:"Nothing"}},android:{eventType:B.executableSetAppFeature.HeaderBackAction,data:{icon:"Nothing",action:"Nothing"}}}),{shouldOverride:!0}):{shouldOverride:!1}}))}));var $t=function(e){var t=e.isOpenModal;Pe((function(){return document.body.style.overflowY=t?"hidden":null,t}))},en=(0,m.useMemo)((function(){return xt?{customStyle:S.CartButtonDisabledStyle}:{customStyle:Ft?S.CartSecondButtonCustomStyle:S.CartPrimaryButtonCustomStyle,disabledStyle:S.CartButtonDisabledStyle}}),[xt,Ft]),tn=function(e){$t({isOpenModal:!1}),Xe(!1),ft(null),wt(!1),n&&n(e)},nn=function(e){var t=(0,D.getToastMessageItem)(e);t&&(Le(!0),it(t.message),Ke(t.type),et(t.status))},on=function(e){return l(void 0,void 0,void 0,(function(){var t,n,o;return u(this,(function(r){switch(r.label){case 0:Xe(!0),t=(0,T.getDependencies)(),n=(0,L.getStreamInjection)(t),r.label=1;case 1:return r.trys.push([1,3,,4]),[4,(0,R.addShoppingCartItem)({streamInjection:n,payload:e,isSkuQtyAccumulate:Ut})];case 2:return r.sent(),i&&i(e),tn(!0),nn(D.MESSAGE.STATUS.ADD_SUCCESS),[3,4];case 3:return(null==(o=r.sent())?void 0:o.ReturnCode)||D.log.error("[ERROR] handleAddShoppingCartItem error: ".concat((0,D.getErrorName)(o),": ").concat((0,D.getErrorMessage)(o))),tn(!0),o===_.ModalDialogStatus.AlreadyInCart?(at(_.ModalDialogStatus.AlreadyInCart),[2]):(at(_.ModalDialogStatus.Fail),lt((null==o?void 0:o.Message)||""),Je(!0),[3,4]);case 4:return[2]}}))}))},rn=function(e){var t=e.isEnablePriceReduction,n=e.isFromModalDialog,i=e.productInfo;return l(void 0,void 0,void 0,(function(){var e,o,r;return u(this,(function(a){switch(a.label){case 0:return a.trys.push([0,4,,5]),e=(0,T.getDependencies)(),o=(0,L.getStreamInjection)(e),t||n?[3,2]:(r={isEnablePriceReduction:!0},[4,(0,V.updateVipMemberEmailNotification)({streamInjection:o,params:r})]);case 1:a.sent(),a.label=2;case 2:return[4,(0,O.subscribeProductSku)({streamInjection:o,payload:i})];case 3:return a.sent(),(0,D.trackSelectContent)({contentType:"BackInStockAlert",id:null==i?void 0:i.skuId.toString(),name:"貨到通知我",linkUrl:""}),(0,D.trackEvent)((0,D.getPageTypeTitle)(),"click","BackInStockAlert"),tn(!0),nn(D.MESSAGE.STATUS.BACK_IN_STOCK_SUBSCRIBE_SUCCESS),[3,5];case 4:return a.sent(),tn(!0),nn(D.MESSAGE.STATUS.SYSTEM_ERROR),[3,5];case 5:return[2]}}))}))},an=(0,m.useMemo)((function(){return(null==mt?void 0:mt.IsShowStockQty)&&"0"!==zt&&(null==mt?void 0:mt.StatusDef)!==U.SalePageStatusEnum.NoStart}),[null==mt?void 0:mt.IsShowStockQty,zt,null==mt?void 0:mt.StatusDef]),sn=(0,I.useSelector)((function(e){return e.globalStyleData}))||{};(0,m.useEffect)((function(){var e,n=function(e){return l(void 0,void 0,void 0,(function(){var n,i,a,s,c,l,d,p,m,f,I,h,b,y,v,B,A,_,S,G;return u(this,(function(u){switch(u.label){case 0:return u.trys.push([0,5,,6]),n=(0,T.getDependencies)(),i=(0,L.getStreamInjection)(n),(null==(a=(0,g.cloneDeep)(Qe))?void 0:a.CategoryId)!==(null==Ot?void 0:Ot.categoryId)&&Zt(r(r({},Ot),{categoryId:a.CategoryId||-1})),s=(null==a?void 0:a.SKUPropertySetList.map((function(e){return e.SaleProductSKUId})))||[],c=new Map(Be.map((function(e){return[e.skuId,e]}))),Be&&Be.length>0&&(s=s.filter((function(e){return c.has(e)}))),[4,(0,Z.fetchProductStockEntity)({streamInjection:i,payload:{skuIdList:s}})];case 1:return l=u.sent(),d=a.SKUPropertySetList.filter((function(e){return e.IsShow})).map((function(e){return{SkuId:e.SaleProductSKUId,Price:e.Price,SuggestPrice:e.SuggestPrice}})),p=(0,C.filterSalePageSpecialPriceData)(a.PromotionPriceList||[],Xt),Be.length>0?(m=d.reduce((function(e,t){var n=c.get(t.SkuId);return n&&e.push({SkuId:t.SkuId,Price:n&&n.addOnsPrice||t.Price,SuggestPrice:n&&n.originPrice||t.SuggestPrice}),e}),[]),Pt([]),Lt(null),Jt(m),l=l.map((function(e){var t=c.get(e.SaleProductSKUId),n=null==t?void 0:t.enableQty,i=n?(0,g.min)([n,e.SellingQty,e.StockQty]):e.SellingQty;return r(r({},e),{SellingQty:i})})),a.SKUPropertySetList=a.SKUPropertySetList.reduce((function(e,t){var n=c.get(t.SaleProductSKUId);return n&&e.push(r(r({},t),{Price:n&&n.addOnsPrice||t.Price,SuggestPrice:n&&n.originPrice||t.SuggestPrice})),e}),[])):p.length>0&&re?(f=d.map((function(e){return e.SkuId})),I=(0,C.mappingSalePageSpecialPriceList)(p).filter((function(e){return f.some((function(t){return t===e.SkuId}))})),Pt(I),Jt((0,C.mappingSalePagePriceRangeData)(d,I,ie,d)),d.sort((function(e,t){return e.Price-t.Price})),h=d[0].Price,0===I.map((function(e){return e.Price})).indexOf(h)?(b=I.filter((function(e){return e.Price===h}))[0],y=a.SKUPropertySetList.find((function(e){return e.SaleProductSKUId===b.SkuId})).Price,Lt((0,C.getSalePageSpecialPriceTagData)(I,b.SkuId,y))):Lt(null)):(Pt([]),Jt(d),Lt(null)),_e||(a.PointsPayPairsList=[]),ft(a),bt(l),v=ye&&a.SoldOutActionType===P.SoldOutActionType.BackInStockAlert&&(null==l?void 0:l.some((function(e){return e.StockQty<=0}))),[4,(0,X.fetchAuthIsLogin)()];case 2:return B=u.sent(),_t(v),A=v&&a.SKUPropertySetList.every((function(e){return!e.IsShow})),kt(A),v&&B?[4,(0,N.fetchSubscribedSkuList)({streamInjection:i,payload:{salePageId:e}})]:[3,4];case 3:_=u.sent().subscribeList,S=(_.find((function(e){return e.salePageId===se}))||{}).skuList,vt(void 0===S?[]:S),u.label=4;case 4:return G=!v&&t.SoldOutActionTypeText[a.SoldOutActionType]||t.SoldOutActionTypeText.OutOfStock,gt(G),function(e){var t,n=e.data,i=e.isNeedOpenSku,r=n||{},a=r.StatusDef;if(r.HasSKU||o!==F.BROWSING_MODE.MOBILE||a!==U.SalePageStatusEnum.Normal||!(0,D.checkIsDirectlyAddToCart)()){var s=a;!ce[s]&&!i||s===w.ProductToCartButtonStatus.NoStart?nn(s):$t({isOpenModal:!0})}else{var c=n||{},l=c.Id,u=c.Price,d=c.SaleProductSKUIdList,g=c.SKUPropertySetList,p=c.Title,m=null==d?void 0:d[0],f=null===(t=null==g?void 0:g.find((function(e){return e.SaleProductSKUId===m})))||void 0===t?void 0:t.PropertyNameSet;on({optionalTypeDef:"",optionalTypeId:0,price:u,points:0,quantity:1,salePageId:l,shopId:le,skuId:m,skuKey:f,title:p})}}({data:a,isNeedOpenSku:v}),[3,6];case 5:return u.sent(),tn(!0),nn(D.MESSAGE.STATUS.SYSTEM_ERROR),[3,6];case 6:return[2]}}))}))},i=(0,E.backInStockSalePageIdCookieKey)(le),a=(0,y.getCookie)(i);(0,y.deleteCookie)(i),(0!==se||a)&&(e=se||parseInt(a,10),l(void 0,void 0,void 0,(function(){return u(this,(function(t){return Xe(!0),Promise.all([n(e)]).finally((function(){Xe(!1)})),[2]}))})))}),[se,le]);var cn={rawSkuInfoList:ht,rawSalePageInfo:mt,shopId:le,handleProductToCart:(0,g.debounce)((function(e){var t=mt.StatusDef,n=mt.SoldOutActionType;if(!(e.skuId<=0)){Qt(e);var r=ht.find((function(t){return(null==t?void 0:t.SellingQty)>0&&(null==t?void 0:t.SaleProductSKUId)===e.skuId}));return n!==P.SoldOutActionType.BackInStockAlert||r?t===w.ProductToCartButtonStatus.ShareToBuy?function(){if(s){var e="".concat(window.location.protocol,"//").concat(window.location.host,"/SalePage/Index/").concat(se);s.ui({method:"feed",link:e,display:"popup"},(function(e){mt.StatusDef=w.ProductToCartButtonStatus.Normal}))}}():t===w.ProductToCartButtonStatus.AppOnly?($t({isOpenModal:!1}),void(o===F.BROWSING_MODE.MOBILE?d?d():(window.parent.postMessage({channel:"windowOperations",event:"REDIRECT",payload:{link:"/SalePage/Index/".concat(se)}},window.location.origin),window.location.href="/SalePage/Index/".concat(se)):(window.parent.postMessage({channel:"windowOperations",event:"REDIRECT",payload:{link:"/SalePage/ShowQRCode/".concat(se)}},window.location.origin),window.location.href="/SalePage/ShowQRCode/".concat(se)))):void(Q?on(e):(i&&i(e),tn())):function(e){return l(void 0,void 0,void 0,(function(){var t,n,i,o,r;return u(this,(function(a){switch(a.label){case 0:return a.trys.push([0,7,,8]),t=(0,T.getDependencies)(),n=(0,L.getStreamInjection)(t),pe(Ct,e.skuId)?[4,(0,x.deleteSubscribedSku)({streamInjection:n,payload:e})]:[3,2];case 1:return a.sent(),(0,D.trackSelectContent)({contentType:"RemoveFromBackInStockAlert",id:null==e?void 0:e.skuId.toString(),name:"取消貨到通知",linkUrl:""}),(0,D.trackEvent)((0,D.getPageTypeTitle)(),"click","RemoveFromBackInStockAlert"),tn(!0),nn(D.MESSAGE.STATUS.BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS),[2];case 2:return[4,(0,X.fetchAuthIsLogin)()];case 3:return a.sent()?[4,(0,W.fetchVipMemberEmailNotification)(n)]:($t({isOpenModal:!1}),Je(!0),at(_.ModalDialogStatus.NotLogin),[2]);case 4:return i=a.sent(),o=i.email,r=i.isEnablePriceReduction,o?[4,(0,k.fetchSubscribedSkuCount)({streamInjection:n})]:($t({isOpenModal:!1}),Je(!0),at(_.ModalDialogStatus.NoMail),[2]);case 5:return a.sent().subscribedSkuTotal>=100?($t({isOpenModal:!1}),Je(!0),at(_.ModalDialogStatus.BackInStockLimit),[2]):[4,rn({isEnablePriceReduction:r,productInfo:e,isFromModalDialog:!1})];case 6:return a.sent(),[3,8];case 7:return a.sent(),tn(!0),nn(D.MESSAGE.STATUS.SYSTEM_ERROR),[3,8];case 8:return[2]}}))}))}(e)}nn(D.MESSAGE.STATUS.SELECT_ERROR)}),350),decimal:a,symbol:de,rate:ae,customStyles:r(r({},S.customStyle),{cartButtonStyle:en,qtySelectorSectionStyle:fe(mt)}),productToCartStyle:Ie(mt),handleAddQuantity:c,handleRemoveQuantity:h,isEnableBackInStock:At,isEnableCartButton:!0,buttonDisplayText:ge({status:null==mt?void 0:mt.StatusDef,customButtonDisplayText:me,isEnableBackInStock:At}).text,skuSoldOutText:(0,f.t)(dt||t.SoldOutActionTypeText.OutOfStock),handleUpdateSelectedSkuIdCallBack:function(e){var t=ht.find((function(t){return t.SaleProductSKUId===e}));Kt((0,D.formatNumberWithCommas)((null==t?void 0:t.StockQty)||0));var n=ht.find((function(t){return(null==t?void 0:t.SellingQty)>0&&(null==t?void 0:t.SaleProductSKUId)===e}));if(At||!n){var i=pe(Ct,e);wt(!!i)}},backInStockButtonDisplayText:Ft?(0,f.t)(t.BackInStockText.CancelBackInStock):(0,f.t)(t.BackInStockText.AddBackInStock),setQtyHintText:ue,serviceType:K.FRONT_STAGE,theme:sn,isEnablePurchaseMethod:J,isPriceOnTop:$,purchaseMethodInfo:{title:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.CHOOSE_PURCHASE_METHOD),pointText:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.POINTS_STRING)},isBackInStockSubscribedSkuId:Ft,isEnableAdidasCustom:(0,Y.checkIsEnableAdidasCustom)(),customIconImg:he(),isSuggestPriceShowPrice:ie,specialPriceList:Vt,selectedSpecialPriceData:Ht,salePagePriceList:Mt,isEnableOriginalPrice:Ge,specChartData:Ee,handleOpenSpecChart:function(){Ze(!0),Fe()},stockQtyTitle:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.STOCK_QTY,{stockQty:zt}),isShowStockQty:an};return p.createElement(te.SpecChartModalProvider,{isOpenSpecChartModal:Oe,setIsOpenSpecChartModal:Ze,browsingMode:o,title:ke,content:xe,modalMode:M.ModalMode.MEDIUM,isShowModalHeader:!Boolean((0,D.checkIsFromApp)()&&qt.current)},Ve&&mt&&ht&&(we?p.createElement(ee.ModalContainer,{onModalClick:function(){return tn()},browsingMode:o},p.createElement(b.ProductToCart,r({},cn))):p.createElement(m.Fragment,null,p.createElement(b.ProductToCart,r({},cn)))),p.createElement(j.default,{isOpen:He,type:ze,message:nt,afterClose:function(){Le(!1),Ke(""),it(""),$e!==D.MESSAGE.STATUS.SELECT_ERROR?tn():et("")}}),p.createElement(A.default,{isLoading:Re}),Me&&p.createElement(_.ModalDialog,{shopId:le,modalDialogStatus:rt,handleCloseDialog:function(){tn(),Je(!1)},salePageId:se,handleConfirmClick:function(e){return l(void 0,void 0,void 0,(function(){return u(this,(function(t){switch(t.label){case 0:return e===D.MessageStatus.SYSTEM_ERROR?(nn(D.MESSAGE.STATUS.SYSTEM_ERROR),[2]):e!==D.MessageStatus.BACK_IN_STOCK_SUBSCRIBE_SUCCESS?[3,2]:[4,rn({isEnablePriceReduction:!1,productInfo:Gt,isFromModalDialog:!0})];case 1:t.sent(),t.label=2;case 2:return Je(!1),n(e===D.MessageStatus.BACK_IN_STOCK_SUBSCRIBE_SUCCESS),[2]}}))}))},modalDialogMessage:ct}))},Ce=function(e){var n,i=e.shopId,o=e.displayMode,a=e.salePageCode,s=e.salePageId,c=e.rate,d=e.decimal,h=e.symbol,y=e.isPriceOnTop,C=e.isSuggestPriceShowPrice,v=e.isEnableOriginalPrice,G=e.customButtonDisplayText,Q=e.afterSuccess,E=e.afterClose,T=e.browsingMode,x=e.facebook,k=e.handleRedirectDeepLink,N=e.isEnableAddShoppingCartItem,O=void 0===N||N,Z=e.skuQtyMode,U=e.setAppHeaderWhenOpenSpecChart,R=e.handleToastStatus,X=e.isShowModalContainer,W=e.originalDocumentTitleRef,V=e.mainSalePageSpecChartHtmlString,P=e.mainSalePageSpecChartTitle,H=e.defaultRelatedItemGroups,L=e.customTransData,j=(0,m.useRef)(-1),ne=Z===q.Accumulate,re=(0,m.useState)(!1),ae=re[0],se=re[1],ce=(0,m.useState)(0),le=ce[0],ue=ce[1],pe=(0,m.useState)(!1),me=pe[0],be=pe[1],ye=(0,m.useState)(0),Ce=ye[0],ve=ye[1],Be=(0,m.useState)([]),Ae=Be[0],_e=Be[1],Se=(0,m.useState)(0),Ge=Se[0],Qe=Se[1],Ee=(0,I.useSelector)((function(e){return e.globalStyleData}))||{},Fe=null===(n=(0,D.getQueryString)("action")||"")||void 0===n?void 0:n.toLowerCase(),we=(0,m.useContext)(_.ModalDialogContext),Te=(0,ie.useFetchSubSalePageInfo)(),xe=Te.data,ke=Te.isMutating,Ne=Te.trigger,Oe=(0,ie.useMainSalePageInfo)({salePageId:s,salePageCode:a}),Ze=Oe.data,Ue=Oe.mutate,Re=(0,ie.useFetchMainSalePageAdditionalInfo)({salePageId:s}).data,Xe=(0,ie.useFetchSalePageBundleInfo)({salePageId:s,onError:function(){if(nt()){return lt.current.showPopup({requestCode:"useFetchSalePageBundleInfo",showPopupData:{title:"",message:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED),buttonA:{text:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.RELOAD),data:null},buttonB:null}}),void lt.current.onJsiResult((function(e){"function"==typeof E&&E(),location.reload()}))}R({status:D.MESSAGE.STATUS.GET_SALEPAGE_BUNDLE_ERROR,afterClose:function(){return ot(!1)}})}}),We=Xe.data,Ve=Xe.isLoading,Pe=Xe.mutate,De=(0,ie.useFetchSalePageBundleSellingQty)({salePageId:s,salePageBundleInfo:We,selectedSkuIds:Ae,fetchSalepageSellingQtyCount:Ge,onError:function(){if(nt()){return lt.current.showPopup({requestCode:"useFetchSalePageBundleSellingQty",showPopupData:{title:"",message:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED),buttonA:{text:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.RELOAD),data:null},buttonB:null}}),void lt.current.onJsiResult((function(e){"function"==typeof E&&E(),location.reload()}))}R({status:D.MESSAGE.STATUS.GET_SALEPAGE_BUNDLE_ERROR,afterClose:function(){return ot(!1)}})}}),He=De.data,Le=De.isLoading,Ye=De.mutate,Me=(0,ie.useAddShoppingCartBundleItem)(),Je=Me.isMutating,je=Me.trigger,ze=(0,m.useMemo)((function(){return r(r({},S.customStyle),{cartButtonStyle:{customStyle:S.CartPrimaryButtonCustomStyle,disabledStyle:S.CartButtonDisabledStyle},qtySelectorSectionStyle:fe(Ze)})}),[Ze]),Ke=(0,m.useMemo)((function(){return Ie(Ze)}),[Ze]),qe=(0,m.useMemo)((function(){return(0,oe.safeArray)(null==We?void 0:We.bundleBlocks).map((function(e){var t=e.blockId,n=e.salepageScopes[0].skuInfo,i=1===n.length?n[0].skuId:0;if(H){var o=H.find((function(e){return"SalepageBundle"===e.ruleTypeDef})),r=null==o?void 0:o.relatedItems.find((function(e){return e.optionalTypeId===t}));return(null==r?void 0:r.saleProductSKUId)||i}return i}))}),[We,H]),$e=(0,m.useMemo)((function(){return(0,oe.getSubSalePageInfoForBundle)({bundleBlockIdx:j.current,salePageBundleInfo:We,salePageBundleSellingQty:He,subSalePageInfo:xe})}),[xe,He,We]),et=Boolean(Ze&&We&&He);function tt(e){if(ue(e),nt()&&0===e){document.title=z.SALEPAGE_BUNDLE_P1_TITLE;var t={icon:o===z.DisplayModeEnum.fullScreenSheetWithAppHeaderControl?"Back":"Nothing",action:o===z.DisplayModeEnum.fullScreenSheetWithAppHeaderControl?"JsiBack":"Nothing"};lt.current.setAppHeaderIcon({ios:{eventType:B.executableSetAppFeature.HeaderBackAction,data:t},android:{eventType:B.executableSetAppFeature.HeaderBackAction,data:t}})}else nt()&&1===e&&(document.title=(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE),lt.current.setAppHeaderIcon({ios:{eventType:B.executableSetAppFeature.HeaderBackAction,data:{icon:"Back",action:"JsiBack"}},android:{eventType:B.executableSetAppFeature.HeaderBackAction,data:{icon:"Back",action:"JsiBack"}}}))}function nt(){return Boolean((0,D.checkIsFromApp)()&&lt.current)}function it(){if(x){var e="".concat(window.location.protocol,"//").concat(window.location.host,"/SalePage/Index/").concat(s);x.ui({method:"feed",link:e,display:"popup"},(function(){Ue(r(r({},Ze),{StatusDef:w.ProductToCartButtonStatus.Normal}),{revalidate:!1})}))}}function ot(e){be(e),!e&&nt()&&o===z.DisplayModeEnum.fullScreenSheetWithAppHeaderControl&&(document.title=W.current),X&&(document.body.style.overflowY=e?"hidden":null),e||(Pe(void 0,{revalidate:!1}),Ye(void 0,{revalidate:!1}),"function"==typeof E&&E())}var rt=function(e){e.stopPropagation(),tt(0)};function at(e,t){var n,i,o;(void 0===t&&(t=!1),(0,oe.safeArray)(e).every((function(e){return 0!==e})))&&(t?(_e(e),Qe((function(e){return e+1}))):(n=e,i=He,o=Math.min.apply(Math,n.map((function(e,t){var n,o,r=null===(o=(0,oe.safeArray)(null===(n=i[t])||void 0===n?void 0:n.blockSkuSellingQtyList).find((function(t){return(null==t?void 0:t.saleProductSkuId)===e})))||void 0===o?void 0:o.sellingQty;return Number.isInteger(r)?r:0}))),ve(o),0!==o||Le||we({isOpen:!0,handleConfirmClick:function(){we({isOpen:!1})},handleCloseDialog:function(){we({isOpen:!1})},modalDialogStatus:_.ModalDialogStatus.Fail,modalDialogMessage:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.SOME_ITEMS_ARE_OUT_OF_STOCK)})))}var st=ge({status:null==Ze?void 0:Ze.StatusDef,isEnableBackInStock:!1,customButtonDisplayText:G,salePageBundleInfo:We,salePageBundleSellingQty:He,selectedSkuIds:Ae,customTransData:L}),ct=p.createElement(b.ProductToCart,{isEnableAdidasCustom:(0,Y.checkIsEnableAdidasCustom)(),customIconImg:he(),buttonDisplayText:st.text,customStyles:ze,rate:c,decimal:d,isDisplayProductImage:!0,isEnableCartButton:!st.disabled,productInfoSubTitle:void 0,serviceType:K.FRONT_STAGE,handleProductToCart:function(e){var t=e.curQuantity,n=e.selectedSubSalePageSkuIds;return l(void 0,void 0,void 0,(function(){var e,r,a,c,l,d;return u(this,(function(u){switch(u.label){case 0:return u.trys.push([0,3,,4]),Ze.StatusDef===w.ProductToCartButtonStatus.ShareToBuy?[2,it()]:Ze.StatusDef===w.ProductToCartButtonStatus.AppOnly?(ot(!1),[2,void(T===F.BROWSING_MODE.MOBILE?"function"==typeof k?k():window.location.href="/SalePage/Index/".concat(s):window.location.href="/SalePage/ShowQRCode/".concat(s))]):n.some((function(e){return 0===e}))?nt()?(r=(0,D.getToastMessageItem)(D.MessageStatus.SELECT_ERROR),lt.current.showToast({toastType:B.ToastTypeEnum.alert,message:r.message}),[2]):(R({status:D.MessageStatus.SELECT_ERROR}),[2]):(e={shopId:i,salePageId:s,saleProductSKUId:null===(a=null==We?void 0:We.bundleMain)||void 0===a?void 0:a.saleProductSkuId,qty:t,isSkuQtyAccumulate:ne,optionalInfo:null,optionalTypeDef:"",optionalTypeId:0,relatedItemGroups:[{ruleTypeDef:"SalepageBundle",relatedItems:(0,oe.safeArray)(null==We?void 0:We.bundleBlocks).map((function(e,i){var o;return{salepageId:null===(o=null==e?void 0:e.salepageScopes[0])||void 0===o?void 0:o.salepageId,saleProductSKUId:n[i],qty:e.blockQtyMust*t,optionalTypeDef:"SalepageBundle",optionalTypeId:e.blockId}}))}]},O?[4,je(e)]:[3,2]);case 1:u.sent(),u.label=2;case 2:return"function"==typeof Q&&Q({mainImageUrl:null===(c=null==Ze?void 0:Ze.ImageList[0])||void 0===c?void 0:c.PicUrl,optionalTypeDef:"",optionalTypeId:0,points:0,price:null==Ze?void 0:Ze.Price,quantity:t,salePageId:s,sellingQty:0,shopId:i,skuId:null===(l=null==We?void 0:We.bundleMain)||void 0===l?void 0:l.saleProductSkuId,skuKey:null===(d=null==Ze?void 0:Ze.SKUPropertySetList[0])||void 0===d?void 0:d.PropertyNameSet,suggestPrice:null==Ze?void 0:Ze.SuggestPrice,title:null==Ze?void 0:Ze.Title,specialPrice:0,isSalePageBundle:!0,bundleInfo:(0,g.cloneDeep)(We),bundleSellingQty:(0,g.cloneDeep)(He),bundleShoppingCartItem:(0,g.cloneDeep)(e)}),nt()?(O&&(r=(0,D.getToastMessageItem)(D.MessageStatus.ADD_SUCCESS),lt.current.showToast({message:r.message,toastType:B.ToastTypeEnum.success})),o===z.DisplayModeEnum.fullScreenSheetWithAppHeaderControl?[2,ot(!1)]:("function"==typeof E&&E(),"addtobasket"===Fe&&lt.current.executableOS.android||o===z.DisplayModeEnum.page&&lt.current.closeWebView(),[2])):O?(R({status:D.MessageStatus.ADD_SUCCESS,afterClose:function(){return ot(!1)}}),[2]):(ot(!1),[3,4]);case 3:return function(e){var t=String(null==e?void 0:e.ReturnCode),n=String((null==e?void 0:e.Message)||_.ModalDialogText.Fail);switch(t){case"API5102":case"API5107":return nt()?(lt.current.showPopup({requestCode:t,showPopupData:{title:"",message:n,buttonA:{text:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.RELOAD),data:null},buttonB:null}}),void lt.current.onJsiResult((function(e){"function"==typeof E&&E(),location.reload()}))):void we({isOpen:!0,handleConfirmClick:function(){we({isOpen:!1}),ot(!1)},handleCloseDialog:function(){we({isOpen:!1}),ot(!1)},modalDialogStatus:_.ModalDialogStatus.Fail,modalDialogMessage:n});default:nt()?(lt.current.showPopup({requestCode:t,showPopupData:{title:"",message:n,buttonA:{text:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.GOT_IT),data:null},buttonB:null}}),lt.current.onJsiResult((function(e){return e}))):we({isOpen:!0,handleConfirmClick:function(){return we({isOpen:!1})},handleCloseDialog:function(){return we({isOpen:!1})},modalDialogStatus:_.ModalDialogStatus.Fail,modalDialogMessage:n})}}(u.sent()),[3,4];case 4:return[2]}}))}))},productToCartStyle:Ke,mainSalePageInfo:Ze,subSalePageInfo:$e,skuSoldOutText:(0,f.t)(t.SoldOutActionTypeText.OutOfStock),QtyHintBlock:de,symbol:h,theme:Ee,isPriceOnTop:y,isSuggestPriceShowPrice:C,isEnableOriginalPrice:v,specChartData:null==Re?void 0:Re.specChartData,handleOpenSpecChart:function(){se(!0),U()},salePageType:z.SalePageTypeEnum.Bundle,curStep:le,includeTheseSalePagesText:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.INCLUDE_THESE_SALEPAGES_TEXT),skuSelectPlaceholder:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.SKU_SELECT_PLACEHOLDER),skuSelectWarningText:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.THIS_OPTION_IS_OUT_OF_STOCK),onClickSkuSelect:function(e,t){return l(void 0,void 0,void 0,(function(){var n,i;return u(this,(function(o){return j.current=t,Ne({salePageId:null===(n=(0,oe.safeArray)(null==e?void 0:e.salepageScopes)[0])||void 0===n?void 0:n.salepageId,salePageCode:null===(i=(0,oe.safeArray)(null==e?void 0:e.salepageScopes)[0])||void 0===i?void 0:i.salepageCode}).then((function(){return tt(1)})).catch((function(){nt()?lt.current.showToast({toastType:B.ToastTypeEnum.error,message:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED)}):R({status:D.MESSAGE.STATUS.GET_SALEPAGE_BUNDLE_ERROR})})),[2]}))}))},confirmSelectedSkuText:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.CONFIRM),onClickConfirmSelectedSku:function(e){var t=e.p1SelectedSubSalePageSkuIds,n=e.bundleBlockIdx;if(0!==t[n])return at(t,!0),function(e){var t,n,i=e.selectedSkuId,o=e.bundleBlockIdx;if(!(null===(t=null==We?void 0:We.bundleBlocks[o])||void 0===t?void 0:t.salepageScopes[0]))return;var r=null===(n=(0,oe.safeArray)(xe.ImageList).find((function(e){return e.Id===i})))||void 0===n?void 0:n.PicUrl;if(!r)return;var a=(0,g.cloneDeep)(We);a.bundleBlocks[o].salepageScopes[0].picUrl=r,Pe(a,{revalidate:!1})}({selectedSkuId:t[n],bundleBlockIdx:n}),void tt(0);if(nt()){var i=(0,D.getToastMessageItem)(D.MessageStatus.SELECT_ERROR);lt.current.showToast({toastType:B.ToastTypeEnum.error,message:i.message})}else R({status:D.MessageStatus.SELECT_ERROR})},bundleBlocks:(0,oe.safeArray)(null==We?void 0:We.bundleBlocks),maxQuantity:Ce,DEFAULT_SKU_ID:0,DEFAULT_MAX_QUANTITY:0,defaultSelectedSubSalePageSkuIds:Ae,salePageRemovedPlaceholder:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.SALEPAGE_REMOVED_PLACEHOLDER),notSellingMaskLabelText:(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.NOT_SELLING_MASK_LABEL_TEXT),browsingMode:T,isSubSalePageSoldout:oe.isSubSalePageSoldout,isSubSalePageClosed:oe.isSubSalePageClosed,salePageBundleSellingQty:(0,oe.safeArray)(He)});(0,m.useEffect)((function(){et&&ot(!0)}),[et]);var lt=(0,m.useRef)();return(0,m.useEffect)((function(){lt.current=new B.default,tt(0)}),[]),(0,m.useEffect)((function(){lt.current.triggerWebAction((function(e){return JSON.parse(e).eventType!==B.triggerWebEventType.OnBackPressed?{shouldOverride:!1}:0!==le||ae?ae?(se(!1),tt(0),{shouldOverride:!0}):1===le?(tt(0),{shouldOverride:!0}):{shouldOverride:!1}:(ot(!1),{shouldOverride:!0})}))})),(0,m.useEffect)((function(){_e((function(e){return 0===e.length?qe:e}))}),[qe]),(0,m.useEffect)((function(){He&&(0===Ge?at(Ae,!0):at(Ae))}),[He,Ae]),p.createElement(te.SpecChartModalProvider,{isOpenSpecChartModal:ae,setIsOpenSpecChartModal:se,browsingMode:nt()?F.BROWSING_MODE.MOBILE:T,title:P,content:V,modalMode:M.ModalMode.EXLARGE,isShowModalHeader:!nt()},et&&me&&(o?(0,D.checkIsFromApp)()&&o===z.DisplayModeEnum.fullScreenSheetWithAppHeaderControl?p.createElement(J.default,{isFullScreen:!0,isShowHeader:!1,isShowCloseButton:!1},ct):(0,D.checkIsFromApp)()&&o===z.DisplayModeEnum.page?p.createElement($.FullScreenContainerWithoutHeader,null,ct):p.createElement($.FullScreenContainerWithHeader,{title:1===le?(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE):void 0,handleBackwardButtonClick:1===le?rt:void 0,handleCloseButtonClick:function(){return ot(!1)}},ct):p.createElement(ee.ModalContainer,{isShowHeader:!0,isFullScreenSheet:!0,modalMode:M.ModalMode.EXLARGE,browsingMode:T,onModalClick:function(e){e.target===e.currentTarget&&ot(!1)},handleCloseButtonClick:function(){return ot(!1)},title:1===le?(0,f.t)(F.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE):void 0,handleBackwardButtonClick:1===le?rt:void 0},ct)),p.createElement(A.default,{isLoading:Ve||Le||Je||ke}))};t.default=function(e){var t=e.shopId,n=e.salePageId;return p.createElement(ne.SWRConfigProvider,null,p.createElement(_.ModalDialogProvider,{salePageId:n,shopId:t},p.createElement(Q.ToastProvider,null,p.createElement(be,r({},e)))))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/style.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.CartSecondButtonCustomStyle=t.CartPrimaryButtonCustomStyle=t.CartButtonDisabledStyle=t.adidasCustomBtn=t.customStyle=t.productToCartStyle=t.PrimaryBtnColor=void 0;var r=o(n("./node_modules/@91app/nineyi.config.cms-globla-style/dist/src/index.js")),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/featureControl.utility.js"),c=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js"),l=r.default.buttonStyle,u=r.default.generalStyle,d=r.default.tagStyle;t.PrimaryBtnColor=(0,c.css)(A||(A=i(["\n    color: ",";\n    background-color: ",";\n"],["\n    color: ",";\n    background-color: ",";\n"])),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnTextColor)||l.primaryBtnTextColor}),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnBgColor)||l.primaryBtnBgColor}));var g=(0,c.css)(_||(_=i(["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-left: 20px;\n    border-radius: 0px;\n"],["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-left: 20px;\n    border-radius: 0px;\n"])));t.adidasCustomBtn=g;var p={discountPriceStyle:(0,c.css)(S||(S=i(["\n        color: ",";\n    "],["\n        color: ",";\n    "])),(function(e){var t,n,i=e.theme;return(null===(t=null==i?void 0:i.generalStyle)||void 0===t?void 0:t.discountMoneyColor)||(null===(n=null==i?void 0:i.generalStyle)||void 0===n?void 0:n.moneyColor)||u.discountMoneyColor})),mainInfoStyle:(0,c.css)(G||(G=i(["\n        width: calc(100% - 150px);\n        padding-left: 10px;\n    "],["\n        width: calc(100% - 150px);\n        padding-left: 10px;\n    "]))),containerStyle:(0,c.css)(Q||(Q=i(["\n        margin: 0;\n    "],["\n        margin: 0;\n    "]))),titleStyle:(0,c.css)(E||(E=i(["\n        color: #000000;\n    "],["\n        color: #000000;\n    "]))),priceStyle:(0,c.css)(F||(F=i(["\n        color: ",";\n    "],["\n        color: ",";\n    "])),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.generalStyle)||void 0===t?void 0:t.moneyColor)||u.moneyColor})),tagStyle:(0,c.css)(w||(w=i(["\n        background-color: ",";\n        color: ",";\n    "],["\n        background-color: ",";\n        color: ",";\n    "])),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.tagStyle)||void 0===t?void 0:t.emphasisTagBgColor)||d.emphasisTagBgColor}),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.tagStyle)||void 0===t?void 0:t.emphasisTagTextColor)||d.emphasisTagTextColor}))},m={customStyle:(0,c.css)(T||(T=i(["\n    background-color: #fff;\n    border-radius: ",";\n    width: auto;\n    font-size: 0.8rem;\n    padding: 5px 16px;\n    margin: 12px 8px 0 0;\n    &:hover {\n        box-shadow: ","\n            0 0 0 1px;\n    }\n"],["\n    background-color: #fff;\n    border-radius: ",";\n    width: auto;\n    font-size: 0.8rem;\n    padding: 5px 16px;\n    margin: 12px 8px 0 0;\n    &:hover {\n        box-shadow: ","\n            0 0 0 1px;\n    }\n"])),(0,s.checkIsEnableAdidasCustom)()?"0":"4px",(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnBgColor)||l.primaryBtnBgColor})),activeStyle:(0,c.css)(x||(x=i(["\n    ",";\n    box-shadow: ","\n        0 0 0 1px;\n    width: auto;\n    border-radius: ",";\n    padding: 5px 16px;\n    margin: 12px 8px 0 0;\n"],["\n    ",";\n    box-shadow: ","\n        0 0 0 1px;\n    width: auto;\n    border-radius: ",";\n    padding: 5px 16px;\n    margin: 12px 8px 0 0;\n"])),t.PrimaryBtnColor,(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnBgColor)||l.primaryBtnBgColor}),(0,s.checkIsEnableAdidasCustom)()?"0":"4px"),disabledStyle:(0,c.css)(k||(k=i(["\n    border-radius: ",";\n    background-color: #f6f6f6;\n    color: #979797;\n    width: auto;\n    padding: 5px 16px;\n    margin: 12px 8px 0 0;\n"],["\n    border-radius: ",";\n    background-color: #f6f6f6;\n    color: #979797;\n    width: auto;\n    padding: 5px 16px;\n    margin: 12px 8px 0 0;\n"])),(0,s.checkIsEnableAdidasCustom)()?"0":"4px"),titleStyle:(0,c.css)(N||(N=i(["\n        color: #000000;\n        font-weight: 400;\n    "],["\n        color: #000000;\n        font-weight: 400;\n    "])))},f={customStyle:(0,c.css)(O||(O=i(["\n    background-color: #fff;\n    border-radius: ",";\n    padding: 5px 16px;\n    &:hover {\n        box-shadow: ","\n            0 0 0 1px;\n    }\n"],["\n    background-color: #fff;\n    border-radius: ",";\n    padding: 5px 16px;\n    &:hover {\n        box-shadow: ","\n            0 0 0 1px;\n    }\n"])),(0,s.checkIsEnableAdidasCustom)()?"0":"4px",(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnBgColor)||l.primaryBtnBgColor})),activeStyle:(0,c.css)(Z||(Z=i(["\n    ",";\n    border-radius: ",";\n    padding: 5px 16px;\n    box-shadow: none;\n"],["\n    ",";\n    border-radius: ",";\n    padding: 5px 16px;\n    box-shadow: none;\n"])),t.PrimaryBtnColor,(0,s.checkIsEnableAdidasCustom)()?"0":"4px"),titleStyle:(0,c.css)(U||(U=i(["\n        color: #000000;\n        font-weight: 400;\n    "],["\n        color: #000000;\n        font-weight: 400;\n    "]))),subTitleStyle:(0,c.css)(R||(R=i(["\n        color: #ff5353;\n        display: flex;\n    "],["\n        color: #ff5353;\n        display: flex;\n    "])))},I={minusButtonStyle:(0,c.css)(X||(X=i(["\n    color: ",";\n    background: none;\n    font-size: 1rem;\n"],["\n    color: ",";\n    background: none;\n    font-size: 1rem;\n"])),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnBgColor)||l.primaryBtnBgColor})),plusButtonStyle:(0,c.css)(W||(W=i(["\n    color: ",";\n    background: none;\n    font-size: 1rem;\n"],["\n    color: ",";\n    background: none;\n    font-size: 1rem;\n"])),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnBgColor)||l.primaryBtnBgColor})),disabledButtonStyle:(0,c.css)(V||(V=i(["\n    color: #aaa;\n    background: none;\n    font-size: 1rem;\n\n    &:hover {\n        cursor: not-allowed !important;\n    }\n"],["\n    color: #aaa;\n    background: none;\n    font-size: 1rem;\n\n    &:hover {\n        cursor: not-allowed !important;\n    }\n"]))),containerStyle:(0,c.css)(P||(P=i(["\n    height: 100%;\n    line-height: 42px;\n    justify-content: center;\n    width: 100%;\n    justify-content: space-evenly;\n"],["\n    height: 100%;\n    line-height: 42px;\n    justify-content: center;\n    width: 100%;\n    justify-content: space-evenly;\n"]))),inputStyle:(0,c.css)(D||(D=i(["\n        color: #000000;\n    "],["\n        color: #000000;\n    "]))),inputBoxStyle:(0,c.css)(H||(H=i(["\n        width: 30%;\n    "],["\n        width: 30%;\n    "])))},h=(0,c.css)(L||(L=i(["\n    flex-direction: column;\n    width: calc(50% - 20px);\n"],["\n    flex-direction: column;\n    width: calc(50% - 20px);\n"]))),b=(0,c.css)(Y||(Y=i(["\n    box-shadow: none;\n    border-top: 1px solid #dddddd;\n    justify-content: space-between;\n"],["\n    box-shadow: none;\n    border-top: 1px solid #dddddd;\n    justify-content: space-between;\n"]))),y=(0,c.css)(M||(M=i(["\n    margin-bottom: 16px;\n    padding: 0 16px;\n"],["\n    margin-bottom: 16px;\n    padding: 0 16px;\n"]))),C=(0,c.css)(J||(J=i(["\n    border-bottom: none;\n    height: auto;\n    padding: 16px;\n"],["\n    border-bottom: none;\n    height: auto;\n    padding: 16px;\n"])));t.productToCartStyle={bottomStyle:b,contentStyle:y,topStyle:C};var v=(0,c.css)(j||(j=i(["\n    ",";\n    border-radius: 4px;\n    ",";\n    height: 40px;\n    width: 50%;\n    font-size: 0.8rem;\n    &:hover {\n        background-color: ",";\n    }\n"],["\n    ",";\n    border-radius: 4px;\n    ",";\n    height: 40px;\n    width: 50%;\n    font-size: 0.8rem;\n    &:hover {\n        background-color: ",";\n    }\n"])),t.PrimaryBtnColor,(0,s.checkIsEnableAdidasCustom)()&&g,(function(e){var t,n=e.theme;return(0,a.darken)(.1,(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.primaryBtnBgColor)||l.primaryBtnBgColor)}));t.CartPrimaryButtonCustomStyle=v;var B=(0,c.css)(z||(z=i(["\n    border: 1px solid\n        ",";\n    border-radius: 4px;\n    ",";\n    height: 40px;\n    width: 50%;\n    font-size: 0.8rem;\n    color: ",";\n    background-color: ",";\n    &:hover {\n        background-color: ",";\n        color: ",";\n    }\n"],["\n    border: 1px solid\n        ",";\n    border-radius: 4px;\n    ",";\n    height: 40px;\n    width: 50%;\n    font-size: 0.8rem;\n    color: ",";\n    background-color: ",";\n    &:hover {\n        background-color: ",";\n        color: ",";\n    }\n"])),(function(e){var t,n;return(null===(n=null===(t=e.theme)||void 0===t?void 0:t.buttonStyle)||void 0===n?void 0:n.secondBtnBorderColor)||l.secondBtnBorderColor}),(0,s.checkIsEnableAdidasCustom)()&&g,(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.secondBtnTextColor)||l.secondBtnTextColor}),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.secondBtnBgColor)||l.secondBtnBgColor}),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.secondBtnBorderColor)||l.secondBtnBorderColor}),(function(e){var t,n=e.theme;return(null===(t=null==n?void 0:n.buttonStyle)||void 0===t?void 0:t.secondBtnBgColor)||l.secondBtnBgColor}));t.CartSecondButtonCustomStyle=B;var A,_,S,G,Q,E,F,w,T,x,k,N,O,Z,U,R,X,W,V,P,D,H,L,Y,M,J,j,z,K,q=(0,c.css)(K||(K=i(["\n    background-color: ",";\n    ",";\n    color: #ffffff;\n    height: 40px;\n    width: 50%;\n    font-size: 0.8rem;\n    pointer-events: none;\n"],["\n    background-color: ",";\n    ",";\n    color: #ffffff;\n    height: 40px;\n    width: 50%;\n    font-size: 0.8rem;\n    pointer-events: none;\n"])),(0,s.checkIsEnableAdidasCustom)()?"#c8cbcc":"#d8d8d8",(0,s.checkIsEnableAdidasCustom)()&&g);t.CartButtonDisabledStyle=q,t.customStyle={productInfoStyle:p,skuListStyle:m,purchaseMethodStyle:f,qtySelectorStyle:I,qtySelectorSectionStyle:h}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/swrHooks.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},a=this&&this.__rest||function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]])}return n},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.useFetchSubSalePageInfo=t.useFetchSalePageBundleSellingQty=t.useFetchSalePageBundleInfo=t.useAddShoppingCartBundleItem=t.useFetchSalePageSpecChart=t.useFetchMainSalePageAdditionalInfo=t.useMainSalePageInfo=t.useFetchMainSalePageInfo=void 0;var c=n("react"),l=n("./node_modules/lodash/lodash.js"),u=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/index.js"),d=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/index.js"),g=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageAdditionalInfo.stream.js"),p=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageBundleInfo.stream.js"),m=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageSellingQty.stream.js"),f=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageStatus.stream.js"),I=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageV2Info.stream.js"),h=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),b=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js"),y=s(n("./node_modules/swr/dist/core/index.esm.js")),C=s(n("./node_modules/swr/dist/immutable/index.esm.js")),v=s(n("./node_modules/swr/dist/mutation/index.esm.js")),B=n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/utility.js"),A=function(e){return function(t,n,o){var r=(0,c.useRef)(),a=(0,c.useState)(null),s=a[0],u=a[1],d=e(t,n,o);return(0,c.useEffect)((function(){d.data&&(r.current?u((function(e){return(0,l.cloneDeep)(r.current).map((function(t,n){var o=d.data.find((function(e){return e.blockId===t.blockId}));return o&&(e[n].blockSkuSellingQtyList=t.blockSkuSellingQtyList.map((function(e){var t=o.blockSkuSellingQtyList.find((function(t){return t.saleProductSkuId===e.saleProductSkuId}));return t?i(i({},e),{sellingQty:t.sellingQty,stockQty:t.stockQty}):i({},e)}))),e[n]}))})):(r.current=(0,l.cloneDeep)(d.data),u((0,l.cloneDeep)(d.data))))}),[d.data]),i(i({},d),{data:s||d.data})}};t.useFetchMainSalePageInfo=function(e){var t=this,n=e.onSuccess,s=e.onError,c=e.forbidStatusChange,l=a(e,["onSuccess","onError","forbidStatusChange"]),d=l.salePageId,g=l.salePageCode;return(0,v.default)((function(){return(0,B.isValidSalePageId)(d)||g?"Sku/GetSkuPopupInfo/MainSalePage/".concat(d,"/").concat(g):null}),(function(){return o(t,void 0,void 0,(function(){var e,t,n,o,a;return r(this,(function(r){switch(r.label){case 0:return e=(0,u.getDependencies)(),t=(0,b.getStreamInjection)(e),[4,Promise.all([(0,I.fetchSalePageV2Info)({streamInjection:t,payload:l,shouldFetchSalePageStatus:!1}),(0,f.fetchSalePageStatus)({streamInjection:t,payload:l})])];case 1:return n=r.sent(),o=n[0],a=n[1],[2,i(i({},o),{StatusDef:(0,I.getSalePageStatus)(a,o.IsAPPOnly&&!(0,h.checkIsFromApp)(),o.IsShareToBuy&&!(0,h.checkIsFromApp)(),c)})]}}))}))}),{populateCache:!0,throwOnError:!1,onSuccess:n,onError:s})},t.useMainSalePageInfo=function(e){var t=e.salePageId,n=e.salePageCode;return(0,C.default)((function(){return(0,B.isValidSalePageId)(t)||n?"Sku/GetSkuPopupInfo/MainSalePage/".concat(t,"/").concat(n):null}))},t.useFetchMainSalePageAdditionalInfo=function(e){var t=e.salePageId,n=e.withFetcher;return(0,C.default)((function(){return(0,B.isValidSalePageId)(t)?"salepage-listing/api/salepage/additional-info/".concat(t):null}),n?function(){var e=(0,u.getDependencies)(),n=(0,b.getStreamInjection)(e);return(0,g.fetchSalePageAdditionalInfo)(n,t)}:void 0)},t.useFetchSalePageSpecChart=function(e){var t=e.shopId,n=e.specChartId,i=e.specChartVersion,o=e.withFetcher;return(0,C.default)((function(){return"number"==typeof t&&"number"==typeof n&&"string"==typeof i?"salepage-listing/api/salepage/spec-chart/".concat(t,"/").concat(n,"/").concat(i):null}),o?function(){var e=(0,u.getDependencies)(),t=(0,b.getStreamInjection)(e);return(0,g.getSalePageSpecChart)(t,n,i)}:void 0)},t.useAddShoppingCartBundleItem=function(){return(0,v.default)("ShoppingCartV4/InsertItem",(function(e,t){var n=t.arg,i=(0,u.getDependencies)(),o=(0,b.getStreamInjection)(i);return(0,d.addShoppingCartBundleItem)({streamInjection:o,payload:n})}))},t.useFetchSalePageBundleInfo=function(e){var t=e.salePageId,n=e.onError;return(0,C.default)((function(){return(0,B.isValidSalePageId)(t)?"salepage-listing/api/salepage/bundle-info/".concat(t):null}),(function(){var e=(0,u.getDependencies)(),n=(0,b.getStreamInjection)(e);return(0,p.fetchSalePageBundleInfo)(n,t)}),{onError:n})},t.useFetchSalePageBundleSellingQty=function(e){var t=e.salePageId,n=e.salePageBundleInfo,i=e.onError,o=e.selectedSkuIds,r=e.fetchSalepageSellingQtyCount;return(0,y.default)((function(){return(0,B.isValidSalePageId)(t)&&n&&(null==o?void 0:o.length)>0?["salepage-listing/api/salepage/bundle-selling-qty/".concat(t),o,r]:null}),(function(){var e,i=(0,u.getDependencies)(),a=(0,b.getStreamInjection)(i),s=0===r;return(0,m.fetchSalePageBundleSellingQty)(a,{salepageId:t,saleProductSkuId:null===(e=null==n?void 0:n.bundleMain)||void 0===e?void 0:e.saleProductSkuId,salepageBundleBlocks:(0,B.safeArray)(null==n?void 0:n.bundleBlocks).map((function(e,t){var n,i,r=(0,B.safeArray)(o)[t]===B.DEFAULT_SKU_ID||s?(0,B.safeArray)(null===(n=null==e?void 0:e.salepageScopes[0])||void 0===n?void 0:n.skuInfo).map((function(e){return e.skuId})):[o[t]];return{blockId:null==e?void 0:e.blockId,salepageId:null===(i=null==e?void 0:e.salepageScopes[0])||void 0===i?void 0:i.salepageId,skuIds:r}})),isCompatible:(0,B.isAllSubSalePageSkuSelected)(o)&&!s})}),{onError:i,use:[A]})},t.useFetchSubSalePageInfo=function(){return(0,v.default)("Sku/GetSkuPopupInfo/SubSalePage",(function(e,t){var n=t.arg,i=(0,u.getDependencies)(),o=(0,b.getStreamInjection)(i);return(0,I.fetchSalePageV2Info)({streamInjection:o,payload:n,shouldFetchSalePageStatus:!1})}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ProductToCartModal/utility.js":function(e,t){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};function i(e){return Array.isArray(e)?e:[]}Object.defineProperty(t,"__esModule",{value:!0}),t.isAllSubSalePageSkuSelected=t.getSubSalePageInfoForBundle=t.safeArray=t.isValidSalePageId=t.isSubSalePageNotStartSell=t.isSubSalePageClosed=t.isSubSalePageSkuSoldOut=t.isSubSalePageSoldout=t.DEFAULT_SKU_ID=void 0,t.DEFAULT_SKU_ID=0,t.isSubSalePageSoldout=function(e,t){return new Date(e.salepageScopes[0].sellingStartDateTime)>new Date||e.salepageScopes[0].isSoldout||t.every((function(e){return e.sellingQty<=0}))},t.isSubSalePageSkuSoldOut=function(e,t){var n;return 0===(null===(n=e.find((function(e){return e.saleProductSkuId===t})))||void 0===n?void 0:n.sellingQty)},t.isSubSalePageClosed=function(e){return new Date(e.salepageScopes[0].sellingEndDateTime)<new Date||e.salepageScopes[0].isClosed||e.salepageScopes[0].hasSku&&0===e.salepageScopes[0].skuInfo.length},t.isSubSalePageNotStartSell=function(e){return new Date(e.salepageScopes[0].sellingStartDateTime)>new Date},t.isValidSalePageId=function(e){return Number.isInteger(e)&&e>0},t.safeArray=i,t.getSubSalePageInfoForBundle=function(e){var t,o=e.bundleBlockIdx,r=e.subSalePageInfo,a=e.salePageBundleSellingQty,s=e.salePageBundleInfo;if(o<0||!r||!a||!s)return r;var c=null==s?void 0:s.bundleBlocks[o];if(!c)return r;var l=i(a).find((function(e){return(null==e?void 0:e.blockId)===(null==c?void 0:c.blockId)}));if(!l)return r;var u=i(null===(t=null==c?void 0:c.salepageScopes[0])||void 0===t?void 0:t.skuInfo).map((function(e){return e.skuId}));return n(n({},r),{SKUPropertySetList:i(null==r?void 0:r.SKUPropertySetList).filter((function(e){return u.includes(null==e?void 0:e.SaleProductSKUId)})).map((function(e){var t=i(null==l?void 0:l.blockSkuSellingQtyList).find((function(t){return(null==t?void 0:t.saleProductSkuId)===(null==e?void 0:e.SaleProductSKUId)}));return"number"!=typeof(null==t?void 0:t.sellingQty)||(e.SellingQty=t.sellingQty),e}))})},t.isAllSubSalePageSkuSelected=function(e){return(null==e?void 0:e.length)>0&&e.every((function(e){return e!==t.DEFAULT_SKU_ID}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/SkuModal/context.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.SkuSalePageIdProvider=t.SkuSalePageIdContext=void 0;var a=r(n("react")),s=n("react");t.SkuSalePageIdContext=(0,s.createContext)({salePageId:0,currentProductInfo:{id:-1,name:"",price:-1,suggestPrice:-1,categoryId:-1,salePageCode:""},setSalePageId:function(e){},setCurrentProductInfo:function(e){}});t.SkuSalePageIdProvider=function(e){var n=e.children,i=(0,s.useState)(0),o=i[0],r=i[1],c=(0,s.useState)({id:-1,name:"",price:-1,suggestPrice:-1,categoryId:-1,salePageCode:""}),l=c[0],u=c[1],d=(0,s.useMemo)((function(){return{salePageId:o,currentProductInfo:l,setSalePageId:r,setCurrentProductInfo:u}}),[o,l]);return a.createElement(t.SkuSalePageIdContext.Provider,{value:d},n)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/ToastProvider.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ToastProvider=t.ToastContext=void 0;var s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),c=r(n("react")),l=a(n("./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/toast.js"));t.ToastContext=(0,c.createContext)((function(){s.log.error("[ERROR] ToastContext value not provided")}));t.ToastProvider=function(e){var n=e.children,i=(0,c.useState)({}),o=i[0],r=i[1];return c.default.createElement(t.ToastContext.Provider,{value:r},c.default.createElement(l.default,{isOpen:o.isOpen,type:o.type,status:o.status,message:o.message,afterClose:function(){r({isOpen:!1}),"function"==typeof o.afterClose&&o.afterClose()},delay:o.delay,customCssClass:o.customCssClass}),n)},t.default=t.ToastProvider},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/loading.js":function(e,t,n){"use strict";var i,o=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},r=this&&this.__extends||(i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},i(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return s(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});var l,u,d=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),g=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),p=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/imagePath.utility.js"),m=c(n("react")),f=c(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js")),I=(0,f.keyframes)(l||(l=o(["\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(360deg);\n  }\n"],["\n  from {\n    transform: rotate(0deg);\n  }\n  to {\n    transform: rotate(360deg);\n  }\n"]))),h=f.default.div(u||(u=o(["\n    margin: 15px auto;\n    height: 20px;\n    width: 20px;\n    ",";\n    animation: "," 3s linear infinite;\n"],["\n    margin: 15px auto;\n    height: 20px;\n    width: 20px;\n    ",";\n    animation: "," 3s linear infinite;\n"])),(function(e){var t=e.imageUrl;return"background-image: url(".concat(t,")")}),I),b=function(e){function t(t){return e.call(this,t)||this}return r(t,e),t.prototype.render=function(){var e=(0,d.getDependencies)().imageServiceConfig;return this.props.isLoading?m.createElement("div",{className:"loading"},m.createElement("div",{className:"loading__backdrop"}),m.createElement("div",{className:"loading__content"},m.createElement(h,{imageUrl:(0,g.getStaticImageUrl)(e,p.colorLoadingImage),"data-qe-id":"toast-loading-spinner"}),"loading")):null},t.defaultProps={isLoading:!1},t}(m.Component);t.default=b},"./node_modules/@91app/nineyi.lib.themecore/out/src/components/cross/toast.js":function(e,t,n){"use strict";var i,o=this&&this.__extends||(i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},i(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),r=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var l=c(n("./node_modules/classnames/index.js")),u=s(n("./node_modules/prop-types/index.js")),d=s(n("react")),g=function(e){function t(t){var n=e.call(this,t)||this;return n.successClass="ico ico-success toast__icon--success",n.warningClass="ico ico-warning toast__icon--warning",n.errorClass="ico ico-error toast__icon--error",n.changeIconHandle=function(e){var t="";return"success"===e?t=n.successClass:"warning"===e?t=n.warningClass:"error"===e&&(t=n.errorClass),t},n.state={isOpen:n.props.isOpen,animationDelay:"0s"},n}return o(t,e),t.prototype.UNSAFE_componentWillReceiveProps=function(e){var t=this;if(e.isOpen&&this.state.isOpen!==e.isOpen){this.setState({isOpen:!0});var n=e.delay>1e3?"".concat((e.delay-1e3)/1e3,"s"):"1s";this.setState({animationDelay:n}),setTimeout((function(){t.setState({isOpen:!1}),t.props.afterClose&&t.props.afterClose()}),this.props.delay)}},t.prototype.render=function(){return d.createElement("div",{className:(0,l.default)("toast")},this.state.isOpen&&d.createElement("div",{className:(0,l.default)("toast--backdrop",{"toast--fade-out":this.props.isOpen}),style:{animationDelay:this.state.animationDelay}}),this.state.isOpen&&d.createElement("div",{className:(0,l.default)("toast--default",this.props.customCssClass||"",{"toast--fade-out":this.props.isOpen}),style:{animationDelay:this.state.animationDelay}},this.props.message&&d.createElement("div",{className:"toast--content"},this.props.type&&d.createElement("i",{className:(0,l.default)("toast__icon",this.changeIconHandle(this.props.type))}),d.createElement("div",{className:"toast--content-text"},this.props.message))))},t.defaultProps={isOpen:!1,customCssClass:"",afterClose:function(){},type:"",message:"",delay:2500},t.propTypes={isOpen:u.bool,customCssClass:u.string,afterClose:u.func,type:u.string,message:u.string,delay:u.number},t}(d.Component);t.default=g},"./node_modules/@91app/nineyi.lib.themecore/out/src/configs/cookieKey.config.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.backInStockSalePageIdCookieKey=t.vipMemberOuterIdCookie=t.allowGetPrivacyInfoCookie=void 0,t.allowGetPrivacyInfoCookie="allowGetPrivacyInfo";t.vipMemberOuterIdCookie=function(e){return"".concat(e,":vipMemberOuterId")};t.backInStockSalePageIdCookieKey=function(e){return"".concat(e,":backInStock:salePageId")}},"./node_modules/@91app/nineyi.lib.themecore/out/src/configs/moduleSetting.config.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.moduleIdsEnableFixedArrow=t.defaultPaddingCssForCustomSpacing=t.moduleIdsEnableSetHorizontalSpacing=void 0,t.moduleIdsEnableSetHorizontalSpacing=["BannerA","BannerD","BlogB"],t.defaultPaddingCssForCustomSpacing={top:"4%",bottom:"4%",left:"8%",right:"8%"},t.moduleIdsEnableFixedArrow=["HeaderA","HeaderPX"]},"./node_modules/@91app/nineyi.lib.themecore/out/src/configs/themeModule.config.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.moduleTitleMapping=void 0,t.moduleTitleMapping={HeaderA:{title:"Brand001"},HeaderB:{title:"Brand002"},HeaderPX:{title:"Brand003"},BoardA:{title:""},BannerA:{title:"Banner001"},BannerB:{title:"Banner002"},BannerC:{title:"Banner003"},BannerD:{title:"Banner004"},BannerE:{title:"Banner005"},BannerF:{title:"Banner006"},ProductA:{title:"Product001"},ProductB:{title:"Product002"},ProductC:{title:"Product003"},BlogA:{title:"Blog001"},BlogB:{title:"Blog002"},ActivityA:{title:"Activity001"},ActivityB:{title:"Activity002"},QuickEntryA:{title:"Others001"},CateringReservationOrders:{title:"Catering001"},CateringReservation:{title:"Catering002"},SearchA:{title:"Search001"},BuyAgainProductA:{title:"BuyAgainProduct001"}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/configs/zIndex.config.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.chatZIndex=t.modalSheetZIndex=t.modalZIndex=t.crossSkuModal=t.addToCartAnimationZIndex=t.desktopHeaderLocaleMenuZIndex=t.cookiePrivacyTipZIndex=t.fullScreenAdPopover=t.mobileHeaderPxZIndex=t.desktopHeaderPxZIndex=t.headerRetailStoreDeliveryPopoverZIndex=t.productGroupSliderArrow=t.productGroupToolTip=t.crossGallery=t.overlayBtnZIndex=t.dropdownZIndex=void 0,t.dropdownZIndex=1,t.overlayBtnZIndex=1,t.crossGallery=1,t.productGroupToolTip=1,t.productGroupSliderArrow=1,t.headerRetailStoreDeliveryPopoverZIndex=4,t.desktopHeaderPxZIndex=500,t.mobileHeaderPxZIndex=500,t.fullScreenAdPopover=500,t.cookiePrivacyTipZIndex=555,t.desktopHeaderLocaleMenuZIndex=555,t.addToCartAnimationZIndex=800,t.crossSkuModal=999,t.modalZIndex=10000001,t.modalSheetZIndex=10000001,t.chatZIndex=1e7},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/card.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RESTRICTED_MASK_DELAY=t.EDGE_SCALE=void 0,function(e){e.ONE_TO_ONE="1:1",e.THREE_TO_FOUR="3:4"}(t.EDGE_SCALE||(t.EDGE_SCALE={})),t.RESTRICTED_MASK_DELAY=350},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SPECIAL_PRICE_FRONTEND_SORT_DEFAULT_FETCH_COUNT=t.DEFAULT_PROMOTION_MEMBER_COLLECTION_ID_LIST=t.BTN_TYPE=t.PRODUCT_ICON_DEFAULT_MARGIN=t.PRODUCT_ICON_WIDTH=t.PRODUCT_PRICE_DISPLAY_TYPE=t.PRODUCT_DISPLAY_MODE=t.DEFAULT_PIC_TYPE=t.BLOG_TYPE=void 0,t.BLOG_TYPE={VIDEO:"video",PICTURE:"picture"},t.DEFAULT_PIC_TYPE={SQUARE:"SQUARE",RECTANGLE:"RECTANGLE"},t.PRODUCT_DISPLAY_MODE={MOBILE:"A",DESKTOP:"B"},function(e){e.POINT_PAY="PointPay",e.PRICE="Price"}(t.PRODUCT_PRICE_DISPLAY_TYPE||(t.PRODUCT_PRICE_DISPLAY_TYPE={})),t.PRODUCT_ICON_WIDTH=28,t.PRODUCT_ICON_DEFAULT_MARGIN=0,function(e){e.BUTTON="button",e.ICON="icon"}(t.BTN_TYPE||(t.BTN_TYPE={})),t.DEFAULT_PROMOTION_MEMBER_COLLECTION_ID_LIST=["-1"],t.SPECIAL_PRICE_FRONTEND_SORT_DEFAULT_FETCH_COUNT=148},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/device.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BROWSING_MODE=void 0,function(e){e.DESKTOP="desktop",e.MOBILE="mobile"}(t.BROWSING_MODE||(t.BROWSING_MODE={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/card.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/device.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/locale.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/market.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/mujiCustomerFooter.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/page.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/productGroup.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/productToCart.constant.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/promotion.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/recommendationSection.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/search.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/shopCategory.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/skeleton.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/themeModule.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/toolbox.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/tracking.constants.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/translation.constants.js"),t)},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/locale.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LOCALE_LANG=void 0,function(e){e.EN_US="en-US",e.JA_JP="ja-JP",e.MS_MY="ms-MY",e.TH_TH="th-TH",e.ZH_CN="zh-CN",e.ZH_HK="zh-HK",e.ZH_TW="zh-TW"}(t.LOCALE_LANG||(t.LOCALE_LANG={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/market.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LOWER_CASE_MARKET_NAME=t.UPPER_CASE_MARKET_NAME=void 0,function(e){e.HK="HK",e.MY="MY",e.TW="TW"}(t.UPPER_CASE_MARKET_NAME||(t.UPPER_CASE_MARKET_NAME={})),function(e){e.HK="hk",e.MY="my",e.TW="tw"}(t.LOWER_CASE_MARKET_NAME||(t.LOWER_CASE_MARKET_NAME={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/mujiCustomerFooter.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.copyRightLink=t.menuContent=t.socialSectionLink=void 0,t.socialSectionLink={lineUrl:"https://page.line.me/mujitaiwan?openQrModal=true",fbUrl:"https://www.facebook.com/muji.tw",youtubeUrl:"https://www.youtube.com/c/MUJITaiwan2004/videos",instagramUrl:"https://www.instagram.com/muji_taiwan/"},t.menuContent=[{name:"店舖情報",link:"https://www.muji.com/tw/zh_tw/shop"},{name:"門市服務",link:"https://www.muji.com/tw/service/"},{name:"門市活動講座",link:"https://www.muji.com/tw/events/"},{name:"活動特集",link:"https://www.muji.com/tw/zh_tw/stories"},{name:"Café&MealMUJI",link:"https://cafemeal.muji.com/tw/"},{name:"空間改造企劃服務",link:"https://renovation.muji.tw/"},{name:"大宗採購",link:"https://www.muji.com/tw/business/"},{name:"隱私權及網站使用條款",link:"https://shop.muji.tw/MyAccount/Privacy/41566"},{name:"最新消息",link:"https://www.muji.com/tw/news/"},{name:"企業情報",link:"https://www.muji.com/tw/aboutus/"},{name:"會員服務",link:"https://www.muji.com/tw/member/"},{name:"人才招募",link:"https://www.muji.com/tw/job/"},{name:"顧客服務",link:"https://consumerservice.muji.tw/"},{name:"購物說明",link:"https://shop.muji.tw/Shop/Introduce/41566?t=2"},{name:"線上購物指南",link:"https://www.muji.com/tw/shopping-guide/"},{name:"網站地圖",link:"https://www.muji.com/tw/sitemap/"}],t.copyRightLink="https://www.muji.com/?area=footer"},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/page.constants.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PAGE_URL_PATH=t.PAGE_NAME=t.URL_TYPE=t.PAGE_TYPE=void 0;var i=n("./node_modules/@91app/nineyi.utility.pagelink/dist/src/index.js");Object.defineProperty(t,"PAGE_TYPE",{enumerable:!0,get:function(){return i.PAGE_TYPE}});var o;t.URL_TYPE={CUSTOM:"custom",INTERNAL:"internal"},function(e){e.CATEGORY="category",e.CUSTOM="custom",e.HIDDEN="hidden",e.INDEX="index",e.PREVIEW="preview"}(o||(o={})),t.PAGE_NAME=o;var r={"/":o.INDEX,hidden:o.HIDDEN,preview:o.PREVIEW,page:o.CUSTOM};t.PAGE_URL_PATH=r},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/productGroup.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MOBILE_CIRCLE_MARGIN=t.MOBILE_CIRCLE_SIZE=t.MOBILE_SQUAER_SIZE=t.DESKTOP_CIRCLE_MARGIN=t.DESKTOP_CIRCLE_SIZE=t.DESKTOP_SQUAER_SIZE=t.MAX_COUNT_BY_PAGE=t.CIRCLE_MARGIN_LEFT=t.SQUAER_MARGIN=void 0,t.SQUAER_MARGIN=3.5,t.CIRCLE_MARGIN_LEFT=6,t.MAX_COUNT_BY_PAGE=5,t.DESKTOP_SQUAER_SIZE=40,t.DESKTOP_CIRCLE_SIZE=24,t.DESKTOP_CIRCLE_MARGIN=8,t.MOBILE_SQUAER_SIZE="10vw",t.MOBILE_CIRCLE_SIZE="7vw",t.MOBILE_CIRCLE_MARGIN=10},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/productToCart.constant.js":(e,t,n)=>{"use strict";var i,o;Object.defineProperty(t,"__esModule",{value:!0}),t.ProductToCartButtonDisabledStatus=t.ProductToCartButtonText=t.ProductToCartButtonStatus=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageStatus.stream.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageV2Info.stream.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/translation.constants.js");t.ProductToCartButtonStatus={ImmediatelyBuy:"ImmediatelyBuy",NoStart:r.SalePageStatusEnum.NoStart,Normal:r.SalePageStatusEnum.Normal,SoldOut:r.SalePageStatusEnum.SoldOut,AppOnly:a.EventTypeEnum.AppOnly,ShareToBuy:a.EventTypeEnum.ShareToBuy,SubSalePageCanNotBuy:"SubSalePageCanNotBuy"},t.ProductToCartButtonText=((i={})[t.ProductToCartButtonStatus.SoldOut]=s.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.SOLD_OUT,i[t.ProductToCartButtonStatus.NoStart]=s.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.NOT_START_SELL,i[t.ProductToCartButtonStatus.ShareToBuy]=s.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.SHARE_TO_BUY,i[t.ProductToCartButtonStatus.AppOnly]=s.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.APP_ONLY,i[t.ProductToCartButtonStatus.ImmediatelyBuy]=s.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.IMMEDIATELY_BUY,i[t.ProductToCartButtonStatus.Normal]=s.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.ADD_CART,i[t.ProductToCartButtonStatus.SubSalePageCanNotBuy]=s.TRANSLATE_LOCALE_KEY.THEME_CORE.PRODUCT.CAN_NOT_BUY,i),t.ProductToCartButtonDisabledStatus=((o={})[t.ProductToCartButtonStatus.SoldOut]=!0,o[t.ProductToCartButtonStatus.NoStart]=!0,o[t.ProductToCartButtonStatus.ShareToBuy]=!1,o[t.ProductToCartButtonStatus.AppOnly]=!1,o[t.ProductToCartButtonStatus.ImmediatelyBuy]=!1,o[t.ProductToCartButtonStatus.Normal]=!1,o[t.ProductToCartButtonStatus.SubSalePageCanNotBuy]=!0,o)},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/promotion.constants.js":(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.PROMOTION_LIST_FROM_TYPE=t.PROMOTION_ORDER_BY_OPTION=t.PROMOTION_LIST_DATA_PREFIX=t.PROMOTION_LIST_SOURCE_TYPE=void 0,t.PROMOTION_LIST_SOURCE_TYPE={PROMOTION_LIST:"promotionList",PROMOTION_ID:"promotionId"},t.PROMOTION_LIST_DATA_PREFIX=((n={})[t.PROMOTION_LIST_SOURCE_TYPE.PROMOTION_LIST]="promotionSourceTypeList",n[t.PROMOTION_LIST_SOURCE_TYPE.PROMOTION_ID]="promotionSourceTypeId",n),t.PROMOTION_ORDER_BY_OPTION={Newest:"Newest",ComingToEnd:"ComingToEnd"},t.PROMOTION_LIST_FROM_TYPE={LIST:"list",MODULE:"module"}},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/recommendationSection.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JooiiViewTypeEnum=t.JooiiSourceIdEnum=t.ProviderEnum=t.SourceTypeEnum=t.PageTypeEnum=t.RecommendationSectionEnum=void 0,function(e){e.productGrid="productGrid",e.productCarousel="productCarousel"}(t.RecommendationSectionEnum||(t.RecommendationSectionEnum={})),function(e){e.salePageList="salePageList",e.searchResultPage="searchResultPage",e.tagCategory="tagCategory",e.cmsModule="cmsModule"}(t.PageTypeEnum||(t.PageTypeEnum={})),function(e){e.jooii="jooii",e.eLAND="eLAND"}(t.SourceTypeEnum||(t.SourceTypeEnum={})),function(e){e[e.jooii=0]="jooii"}(t.ProviderEnum||(t.ProviderEnum={})),function(e){e.p2i="p2i",e.i2i="i2i",e.w2i="w2i"}(t.JooiiSourceIdEnum||(t.JooiiSourceIdEnum={})),function(e){e.salePageList="SalePageCategory",e.tagCategory="TagCategory",e.searchResultPage="SearchNoResult",e.cmsModule="CMS"}(t.JooiiViewTypeEnum||(t.JooiiViewTypeEnum={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/search.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_SKU_OUTERID_NAME=t.TrackingContentTypeEnum=t.TrackingSearchTypeEnum=t.SearchKeyWordTypeEnum=void 0,function(e){e.Key="key",e.History="history",e.SkuOuterIdHistory="sku-outerid-history",e.SkuOuterId="sku-outerid",e.HotKeyword="hot-keyword"}(t.SearchKeyWordTypeEnum||(t.SearchKeyWordTypeEnum={})),function(e){e.SkuOuterIdSearch="SkuOuterIdSearch",e.SkuOuterIdSearchLog="SkuOuterIdSearchLog",e.Search="Search",e.TopSearches="TopSearches",e.SerachLog="SerachLog",e.AutoComplete="AutoComplete"}(t.TrackingSearchTypeEnum||(t.TrackingSearchTypeEnum={})),function(e){e.HistorySearchTerm="HistorySearchTerm",e.SuggestSearchTerm="SuggestSearchTerm",e.SKUSearchTerm="SKUSearchTerm",e.SKUHistorySearchTerm="SKUHistorySearchTerm"}(t.TrackingContentTypeEnum||(t.TrackingContentTypeEnum={})),t.DEFAULT_SKU_OUTERID_NAME="商品料號"},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/shopCategory.constants.js":(e,t,n)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SHOP_CATEGORY_PATH=t.SHIPPING_FILTER_QUERY_STRING_KEY=t.PAY_FILTER_QUERY_STRING_KEY=t.MAX_PRICE_FILTER_QUERY_STRING_KEY=t.MIN_PRICE_FILTER_QUERY_STRING_KEY=t.DEFAULT_TAG_CHECKED_LIMIT_COUNT=t.DEFAULT_TAG_KEY_COUNT=t.DEFAULT_TAG_GROUP_COUNT=t.DEFAULT_TAG_GROUP_OPEN_COUNT=t.TAG_SHOW_MORE_QUERY_STRING_VALUE=t.TAG_SHOW_MORE_QUERY_STRING_KEY=t.TAG_FILTER_QUERY_STRING_KEY=t.ShopAttrTypeGroupTitle=t.TRACK_EVENT=t.fetchCount=t.CATEGORY_ID_ALL_ITEMS=t.SERVICE_TYPE_BY_QUERY_STRING_KEY=t.PAGE_QUERY_STRING_KEY=t.ORDER_BY_QUERY_STRING_KEY=t.ORDER_BY_OPTIONS=void 0;var o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/translation.constants.js"),r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/gqls/shopCategory.gql.js");t.ORDER_BY_OPTIONS=[{label:o.TRANSLATE_LOCALE_KEY.THEME_CORE.SHOP_CATEGORY.ORDERBY_CURATOR,value:"Curator"},{label:o.TRANSLATE_LOCALE_KEY.THEME_CORE.SHOP_CATEGORY.ORDERBY_NEWEST,value:"Newest"},{label:o.TRANSLATE_LOCALE_KEY.THEME_CORE.SHOP_CATEGORY.ORDERBY_SALES,value:"Sales"},{label:o.TRANSLATE_LOCALE_KEY.THEME_CORE.SHOP_CATEGORY.ORDERBY_PAGE_VIEW,value:"PageView"},{label:o.TRANSLATE_LOCALE_KEY.THEME_CORE.SHOP_CATEGORY.ORDERBY_PRICE_LOW_TO_HIGH,value:"PriceLowToHigh"},{label:o.TRANSLATE_LOCALE_KEY.THEME_CORE.SHOP_CATEGORY.ORDERBY_PRICE_HIGH_TO_LOW,value:"PriceHighToLow"}],t.ORDER_BY_QUERY_STRING_KEY="sortMode",t.PAGE_QUERY_STRING_KEY="pages",t.SERVICE_TYPE_BY_QUERY_STRING_KEY="serviceType",t.CATEGORY_ID_ALL_ITEMS=0,t.fetchCount=100,t.TRACK_EVENT={MENU:{eventCategory:"left_商品分類",eventAction:"click",eventLabel:"",eventValue:void 0},BREADCRUMBS:{eventCategory:"",eventAction:"Path",eventLabel:"點擊分類"},RELATIVED_CATEGORY:{eventCategory:"小分類頁",eventAction:"",eventLabel:""},PRODUCT_BLOCK:{ORDER_BY:{eventCategory:"小分類頁",eventAction:"click",eventLabel:""},DESKTOP:{LIST_VIEW_BUTTON:{eventCategory:"小分類頁",eventAction:"category_display",eventLabel:"切換列表-desktop"},COMMON_GRID_BUTTON:{eventCategory:"小分類頁",eventAction:"category_display",eventLabel:"切換小圖-desktop"}},MOBILE:{CARD_DISPLAY_TYPE:{eventCategory:"小分類頁",eventAction:"category_display",eventLabel:""}}},POPULAR_TAG:{eventCategory:"小分類頁",eventAction:"click",eventLabel:""},FILTER:{TAG:{eventCategory:"搜尋-進階篩選",eventAction:"",eventLabel:""},PRICE_RANGE:{eventCategory:"搜尋-進階篩選",eventAction:"進階篩選-價格",eventLabel:""},PAY_TYPE:{eventCategory:"搜尋-進階篩選",eventAction:"進階篩選-付款方式",eventLabel:""},SHIPPING_TYPE:{eventCategory:"搜尋-進階篩選",eventAction:"進階篩選-運送方式",eventLabel:""}}},t.ShopAttrTypeGroupTitle=((i={})[r.ShopAttrTypeEnum.price]=o.TRANSLATE_LOCALE_KEY.THEME_CORE.SHOP_CATEGORY.PRICE_RANGE,i[r.ShopAttrTypeEnum.pay]=o.TRANSLATE_LOCALE_KEY.THEME_CORE.SHOP_CATEGORY.PAYMENT,i[r.ShopAttrTypeEnum.shipping]=o.TRANSLATE_LOCALE_KEY.THEME_CORE.SHOP_CATEGORY.SHIPPING,i),t.TAG_FILTER_QUERY_STRING_KEY="tags",t.TAG_SHOW_MORE_QUERY_STRING_KEY="tagShowMore",t.TAG_SHOW_MORE_QUERY_STRING_VALUE="true",t.DEFAULT_TAG_GROUP_OPEN_COUNT=3,t.DEFAULT_TAG_GROUP_COUNT=50,t.DEFAULT_TAG_KEY_COUNT=10,t.DEFAULT_TAG_CHECKED_LIMIT_COUNT=20,t.MIN_PRICE_FILTER_QUERY_STRING_KEY="minPrice",t.MAX_PRICE_FILTER_QUERY_STRING_KEY="maxPrice",t.PAY_FILTER_QUERY_STRING_KEY="payType",t.SHIPPING_FILTER_QUERY_STRING_KEY="shippingType",t.SHOP_CATEGORY_PATH="/v2/official/SalePageCategory"},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/skeleton.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TagFilterEnum=t.UseType=void 0,function(e){e.module="module",e.page="page"}(t.UseType||(t.UseType={})),function(e){e.Price="Price",e.Normal="Normal"}(t.TagFilterEnum||(t.TagFilterEnum={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/themeModule.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IMAGE_TYPE=t.IMAGE_COMPRESS_VERSION=t.COMPRESS_V2_SIZE=t.COMPRESS_V1_SIZE=t.HEADING_TYPE=t.ALIGN_TYPE=t.HEADER_STYLE=t.SOURCE_TYPE=t.PRODUCT_LIST_MODULE_DATA_PREFIX=t.AREA_NAME=void 0,function(e){e.CENTER="center",e.FOOTER="footer",e.HEADER="header"}(t.AREA_NAME||(t.AREA_NAME={})),t.PRODUCT_LIST_MODULE_DATA_PREFIX={CATEGORY_SALEPAGE_LIST:"CATEGORY_SALEPAGE_LIST_",SALEPAGE_LIST:"SALEPAGE_LIST_",OUTER_LIST:"OUTER_LIST_",RECOMMENDATION_SALEPAGE_LIST:"RECOMMENDATION_SALEPAGE_LIST_"},t.SOURCE_TYPE={CATEGORY_ID:"categoryId",SALE_PAGE_ID:"salePageId",TAG_CATEGORY_ID:"tagCategory",OUTER_ID:"outerId",RECOMMENDATION_ID:"recommendationId"},t.HEADER_STYLE={VIEW_ON_TOP:"viewOnTop",VIEW_ON_SCROLL:"viewOnScroll"},function(e){e.CENTER="center",e.LEFT="left",e.RIGHT="right"}(t.ALIGN_TYPE||(t.ALIGN_TYPE={})),t.HEADING_TYPE={H1:"h1",H2:"h2",H3:"h3"},t.COMPRESS_V1_SIZE={md:1200,sm:800,xs:400},t.COMPRESS_V2_SIZE={xl:1920,lg:1280,md:1124,sm:800,xs:600,xxs:400},function(e){e[e.COMPRESS_TO_ORIGINAL=0]="COMPRESS_TO_ORIGINAL",e[e.COMPRESS_TO_WEBP_V1=1]="COMPRESS_TO_WEBP_V1",e[e.COMPRESS_TO_WEBP_V2=2]="COMPRESS_TO_WEBP_V2"}(t.IMAGE_COMPRESS_VERSION||(t.IMAGE_COMPRESS_VERSION={})),t.IMAGE_TYPE={GIF:"image/gif",JPG:"image/jpg",PNG:"image/png",WEBP:"image/webp"}},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/toolbox.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TOOLBOX_ITEM=void 0,function(e){e.COUPON="coupon",e.CUSTOM="custom",e.FACEBOOK_MESSENGER="fb_messenger",e.FACEBOOK_PAGE="fb_page",e.IG="ig",e.LINE="line",e.STORE_INFO="store_info"}(t.TOOLBOX_ITEM||(t.TOOLBOX_ITEM={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/tracking.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CUSTOM_MENU_CONTENT_TYPE=void 0,function(e){e.CustomMenuLayerOne="CustomMenuLayerOne",e.CustomMenuLayerTwo="CustomMenuLayerTwo",e.CustomMenuLayerThree="CustomMenuLayerThree"}(t.CUSTOM_MENU_CONTENT_TYPE||(t.CUSTOM_MENU_CONTENT_TYPE={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/constants/translation.constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TRANSLATE_LOCALE_KEY=void 0,t.TRANSLATE_LOCALE_KEY={THEME_CORE:{ACTIVITY:{DAYS:"theme_core.activity.days",GO_TO_PROMOTION_LIST:"theme_core.activity.go_to_promotion_list",HOURS:"theme_core.activity.hours",MINUTES:"theme_core.activity.minutes",PROMOTION_COME_TO_END:"theme_core.activity.promotion_come_to_end",PROMOTION_LATEST:"theme_core.activity.promotion_latest",SECONDS:"theme_core.activity.seconds"},BLOG:{ARTICLE_DEFAULT_DESCRIPTION:"theme_core.blog.article_default_description",ARTICLE_DEFAULT_TITLE:"theme_core.blog.article_default_title",INTRO:"theme_core.blog.intro",SEE_MORE:"theme_core.blog.see_more",TAG:"theme_core.blog.tag",TITLE:"theme_core.blog.title"},BREADCRUMBS:{HOME_PAGE:"theme_core.breadcrumbs.home_page",STORE_EXPRESS_PAGE:"theme_core.breadcrumbs.store_express_page"},BROWSING_HISTORY:{BESTSELLERS:"theme_core.browsing_history.bestsellers",BROWSING_HISTORY:"theme_core.browsing_history.browsing_history",BROWSING_HISTORY_CLEAR:"theme_core.browsing_history.browsing_history_clear",BROWSING_HISTORY_ITEMS:"theme_core.browsing_history.browsing_history_items",BROWSING_HISTORY_NONE:"theme_core.browsing_history.browsing_history_none",BROWSING_HISTORY_SEE_MORE:"theme_core.browsing_history.browsing_history_see_more"},COLLECTION_DETAIL:{DETAIL_PAGE_INTRODUCTION:"theme_core.collection_detail.detail_page_introduction",DETAIL_PAGE_TITLE:"theme_core.collection_detail.detail_page_title",HOME_PAGE:"theme_core.collection_detail.home_page",NO_PRODUCT:"theme_core.collection_detail.no_product",NOT_FOUND:"theme_core.collection_detail.not_found",RELATIVE_LIST_TITLE:"theme_core.collection_detail.relative_list_title",SKU_PRODUCT_LIST_TITLE:"theme_core.collection_detail.sku_product_list_title"},COLLECTION_LIST:{LIST_PAGE_TITLE:"theme_core.collection_list.list_page_title",NOT_FOUND:"theme_core.collection_list.not_found",PRODUCT_COUNT:"theme_core.collection_list.product_count"},DEFAULT:{CANCEL:"theme_core.default.cancel",CURRENCY:"theme_core.default.currency",CURRENCY_SELECTION:"theme_core.default.currency_selection",CUSTOM_TITLE:"theme_core.default.custom_title",LANGUAGE:"theme_core.default.language",LANGUAGE_SELECTION:"theme_core.default.language_selection",LOADING:"theme_core.default.loading",PRIVACY_TIP_INFO_CHECK:"theme_core.default.privacy_tip_info_check",PRIVACY_TIP_INFO_FIRST:"theme_core.default.privacy_tip_info_first",PRIVACY_TIP_INFO_READ_MORE:"theme_core.default.privacy_tip_info_read_more",PRIVACY_TIP_INFO_SECOND:"theme_core.default.privacy_tip_info_second",PRIVACY_TIP_INFO_THIRD:"theme_core.default.privacy_tip_info_third",RESTRICTED_POPUP_CONTENT_HK:"theme_core.default.restricted_popUp_content_HK",RESTRICTED_POPUP_CONTENT_CHECK_AGE:"theme_core.default.restricted_popUp_content_check_age",RESTRICTED_POPUP_CONTENT_INFO:"theme_core.default.restricted_popUp_content_info",RESTRICTED_POPUP_ENTER:"theme_core.default.restricted_popUp_enter",RESTRICTED_POPUP_LEAVE:"theme_core.default.restricted_popUp_leave",RESTRICTED_POPUP_TITLE:"theme_core.default.restricted_popUp_title",SETTINGS:"theme_core.default.settings"},DOWNLOAD:{DOWNLOAD_APP:"theme_core.download.download_app",DOWNLOAD_LINK:"theme_core.download.download_link",SCAN_QR_CODE:"theme_core.download.scan_qr_code"},ERROR:{PAGE_NOT_FOUND:"theme_core.error.page_not_found",TO_HOME:"theme_core.error.to_home"},FOOTER:{ABOUT_US:"theme_core.footer.about_us",ANTI_FRAUD_DESC:"theme_core.footer.anti_fraud_desc",BENEFIT_TERMS:"theme_core.footer.benefit_terms",BEST_VIEW:"theme_core.footer.best_view",BRAND_STORY:"theme_core.footer.brand_story",CONTACT_US:"theme_core.footer.contact_us",FAQ:"theme_core.footer.faq",MESSAGE:"theme_core.footer.message",OFFICIAL_APP:"theme_core.footer.official_app",PAYMENT:"theme_core.footer.payment",PRIVACY:"theme_core.footer.privacy",RETURN_EXCHANGE:"theme_core.footer.return_exchange",SERVICE_INFORMATION:"theme_core.footer.service_information",SHIPPING:"theme_core.footer.shipping",SHOPPING_INSTRUCTIONS:"theme_core.footer.shopping_instructions",STORE_INFO:"theme_core.footer.store_info",STORE_INTRODUCTION:"theme_core.footer.store_introduction",TERMS_AND_CONDITIONS:"theme_core.footer.terms_and_conditions"},HEADER:{ACTIVITY:"theme_core.header.activity",APP_DOWNLOAD_SEND_TO_NUMBER:"theme_core.header.app_download_send_to_number",APP_DOWNLOAD_SEND_TO_PHONE:"theme_core.header.app_download_send_to_phone",APP_DOWNLOAD_USE_QR_CODE:"theme_core.header.app_download_use_qr_code",BARCODE_SEARCH_PLACEHOLDER:"theme_core.header.barcode_search_placeholder",CATEGORY:"theme_core.header.category",CATEGORY_ALL:"theme_core.header.category_all",CATEGORY_BADGE_GIFT:"theme_core.header.category_badge_gift",CHECK_ORDER:"theme_core.header.check_order",CHECKOUT:"theme_core.header.checkout",CLICK_TO_TRACK_STATUS:"theme_core.header.click_to_track_status",CONTACT_CUSTOMER:"theme_core.header.contact_customer",CURRENT_STATE:"theme_core.header.current_state",CUSTOMER_CONTACT:"theme_core.header.customer_contact",DELIVER_TO_NEW:"theme_core.header.deliver_to_new",DELIVERED_TO:"theme_core.header.delivered_to",DELIVERY_ADDRESS:"theme_core.header.delivery_address",DELIVERY_BY:"theme_core.header.delivery_by",DELIVERY_TIME:"theme_core.header.delivery_time",DOWNLOAD:"theme_core.header.download",DOWNLOAD_APP:"theme_core.header.download_app",DOWNLOAD_APP_DESCRIBE:"theme_core.header.download_app_describe",FREE_SEND_DOWNLOAD_APP:"theme_core.header.free_send_download_app",I_KNOW:"theme_core.header.i_know",INPUT_CELLPHONE:"theme_core.header.input_cellphone",INPUT_CELLPHONE_GLOBAL:"theme_core.header.input_cellphone_global",INPUT_KEY_WORD:"theme_core.header.input_key_word",INVALID_CELLPHONE_FORMAT:"theme_core.header.invalid_cellphone_format",LINK_WORD:"theme_core.header.link_word",LOG_OUT:"theme_core.header.log_out",LOGIN_SIGNUP:"theme_core.header.login_signup",MUJI_SEARCH_BARCODE:"theme_core.header.muji_search_barcode",MUJI_SEARCH_PLACEHOLDER:"theme_core.header.muji_search_placeholder",MY_ACCOUNT:"theme_core.header.my_account",MY_COUPONS:"theme_core.header.my_coupons",MY_FAVORITE:"theme_core.header.my_favorite",MY_MEMBERSHIP:"theme_core.header.my_membership",MY_ORDERS:"theme_core.header.my_orders",NEW_ADD_ITEM:"theme_core.header.new_add_item",ORDER_CANCEL_MSG:"theme_core.header.order_cancel_msg",ORDER_DELIVERY_ADDRESS:"theme_core.header.order_delivery_address",ORDER_DELIVERY_SUCCESS:"theme_core.header.order_delivery_success",ORDER_FAIL_MSG:"theme_core.header.order_fail_msg",ORDER_SET:"theme_core.header.order_set",OTHERS_LOOKING_FOR:"theme_core.header.others_looking_for",PICK_UP_AT_THE_STORE:"theme_core.header.pick_up_at_the_store",PLEASE_ENTER_SHIPPING_ADDRESS:"theme_core.header.please_enter_shipping_address",POINTS:"theme_core.header.points",PURCHASE_EXTRA:"theme_core.header.purchase_extra",RECOMMENDED_BRAND:"theme_core.header.recommended_brand",SCAN_QR_DOWNLOAD:"theme_core.header.scan_qr_download",SEARCH:"theme_core.header.search",SEARCH_BARCODE:"theme_core.header.search_barcode",SHOPPING_CART:"theme_core.header.shopping_cart",SHOPPING_CART_EMPTY:"theme_core.header.shopping_cart_empty",STORE:"theme_core.header.store",STORE_SELECTION_DEFAULT_TEXT:"theme_core.header.store_selection_default_text",STORE_SELECTION_GREETING:"theme_core.header.store_selection_greeting",STORE_SELECTION_HINT_STEP1:"theme_core.header.store_selection_hint_step1",STORE_SELECTION_HINT_STEP2:"theme_core.header.store_selection_hint_step2",TOP_MESSAGE:"theme_core.header.top_message",USE_APP:"theme_core.header.use_app",YOUR_PICK_UP_STORE:"theme_core.header.your_pick_up_store"},HEADER_SLIDER:{ABOUT_CAPTION:"theme_core.header_slider.about_caption",ABOUT_US:"theme_core.header_slider.about_us",ACTIVITY:"theme_core.header_slider.activity",ACTIVITY_AND_PREFERENTIAL:"theme_core.header_slider.activity_and_preferential",ANSWERED:"theme_core.header_slider.answered",BRAND_STORY:"theme_core.header_slider.brand_story",CATEGORY:"theme_core.header_slider.category",CATEGORY_ALL_ITEMS:"theme_core.header_slider.category_all_items",CONTACT_US:"theme_core.header_slider.contact_us",CUSTOMER_INFORMATION:"theme_core.header_slider.customer_information",EVENTS_AND_DISCOUNTS:"theme_core.header_slider.events_and_discounts",EXCHANGE:"theme_core.header_slider.exchange",FACEBOOK:"theme_core.header_slider.facebook",FOLLOW_COMMUNITY:"theme_core.header_slider.follow_community",GO_TO_TARGET_TEXT:"theme_core.header_slider.go_to_target_text",INPUT_COUPON:"theme_core.header_slider.input_coupon",INSTAGRAM:"theme_core.header_slider.instagram",INVITATION_EVENTS:"theme_core.header_slider.invitation_events",INVITE_FRIENDS:"theme_core.header_slider.invite_friends",LIMITED_DISCOUNT:"theme_core.header_slider.limited_discount",LINE:"theme_core.header_slider.line",MEMBERSHIP:"theme_core.header_slider.membership",MESSAGE:"theme_core.header_slider.message",NOT_SUPPORT_FOR_JUST_AN_HOUR:"theme_core.header_slider.not_support_for_just_an_hour",OFFICIAL_APP:"theme_core.header_slider.official_app",PAYMENT:"theme_core.header_slider.payment",PRIVACY_POLICY:"theme_core.header_slider.privacy_policy",SELECT_CHANNEL:"theme_core.header_slider.select_channel",SERVICE_DESCRIPTION:"theme_core.header_slider.service_description",SHIPPING:"theme_core.header_slider.shipping",SHOP_CATEGORY_IS_IN_PREPARATION:"theme_core.header_slider.shop_category_is_in_preparation",SHOP_INFORMATION:"theme_core.header_slider.shop_information",SHOP_INSTRUCTIONS:"theme_core.header_slider.shop_instructions",STORE:"theme_core.header_slider.store",STORE_DISCOUNTS:"theme_core.header_slider.store_discounts",STORE_INFORMATION:"theme_core.header_slider.store_information",STORE_INTRODUCTION:"theme_core.header_slider.store_introduction",TERMS_AND_CONDITIONS:"theme_core.header_slider.terms_and_conditions"},HOT_SALE_RANKING:{PAGE_TITLE:"theme_core.hot_sale_ranking.page_title"},INLINE:{APRIL:"theme_core.inline.april",AUGUST:"theme_core.inline.august",DECEMBER:"theme_core.inline.december",DELIVERY:"theme_core.inline.delivery",DELIVERY_ORDER_STATUS_COMPLETED:"theme_core.inline.delivery_order_status_completed",DELIVERY_ORDER_STATUS_DELIVERING:"theme_core.inline.delivery_order_status_delivering",DELIVERY_ORDER_STATUS_DELIVERING_DESC:"theme_core.inline.delivery_order_status_delivering_desc",DELIVERY_ORDER_STATUS_PREPARATION_DESC:"theme_core.inline.delivery_order_status_preparation_desc",DELIVERY_ORDER_TITLE:"theme_core.inline.delivery_order_title",FEBRUARY:"theme_core.inline.february",FRIDAY:"theme_core.inline.friday",JANUARY:"theme_core.inline.january",JULY:"theme_core.inline.july",JUNE:"theme_core.inline.june",MARCH:"theme_core.inline.march",MAY:"theme_core.inline.may",MONDAY:"theme_core.inline.monday",NOVEMBER:"theme_core.inline.november",NUMBER_OF_ORDER:"theme_core.inline.number_of_order",NUMBER_OF_PEOPLE_DINING:"theme_core.inline.number_of_people_dining",OCTOBER:"theme_core.inline.october",PLEASE_SELECT_BRANCH:"theme_core.inline.please_select_branch",RESERVATION_BUTTON_RESERVE_TABLE_TITLE:"theme_core.inline.reservation_button_reserve_table_title",RESERVATION_BUTTON_RESERVE_TAKEOUT_OR_DELIVERY_TITLE:"theme_core.inline.reservation_button_reserve_takeout_or_delivery_title",RESERVATION_DD_RESERVE_BRAND_TITLE:"theme_core.inline.reservation_dd_reserve_brand_title",RESERVATION_DD_RESERVE_STORE_TITLE:"theme_core.inline.reservation_dd_reserve_store_title",RESERVATION_DD_RESERVE_TYPE_TITLE:"theme_core.inline.reservation_dd_reserve_type_title",RESERVATION_OPTION_BOOKING:"theme_core.inline.reservation_option_booking",RESERVATION_OPTION_ONLINE_SHOPING:"theme_core.inline.reservation_option_online_shoping",RESERVATION_OPTION_TAKEOUT_OR_DELIVERY:"theme_core.inline.reservation_option_takeout_or_delivery",RESERVATION_ORDER_TITLE:"theme_core.inline.reservation_order_title",SATURDAY:"theme_core.inline.saturday",SEATED:"theme_core.inline.seated",SELECT_BRANCH:"theme_core.inline.select_branch",SEPTEMBER:"theme_core.inline.september",SUNDAY:"theme_core.inline.sunday",TAKE_OUT:"theme_core.inline.take_out",TAKEOUT_DELIVERY_ORDER_STATUS_PREPARATION:"theme_core.inline.takeout_delivery_order_status_preparation",TAKEOUT_DELIVERY_ORDER_STATUS_WAITING_CONFIRMATION:"theme_core.inline.takeout_delivery_order_status_waiting_confirmation",TAKEOUT_DELIVERY_ORDER_STATUS_WAITING_DESC:"theme_core.inline.takeout_delivery_order_status_waiting_desc",TAKEOUT_ORDER_STATUS_COMPLETED:"theme_core.inline.takeout_order_status_completed",TAKEOUT_ORDER_STATUS_PREPARATION_DESC:"theme_core.inline.takeout_order_status_preparation_desc",TAKEOUT_ORDER_STATUS_READY:"theme_core.inline.takeout_order_status_ready",TAKEOUT_ORDER_STATUS_READY_DESC:"theme_core.inline.takeout_order_status_ready_desc",TAKEOUT_ORDER_TITLE:"theme_core.inline.takeout_order_title",THURSDAY:"theme_core.inline.thursday",TODAY:"theme_core.inline.today",TUESDAY:"theme_core.inline.tuesday",WEDNESDAY:"theme_core.inline.wednesday"},LOCATION_INVENTORY:{CART_WILL_ADJUST:"theme_core.location_inventory.cart_will_adjust",CHANGE_DELIVERY_STORE:"theme_core.location_inventory.change_delivery_store",CURRENT_STORE:"theme_core.location_inventory.current_store",CURRENTLY_BUSY:"theme_core.location_inventory.currently_busy",HAVE_INVENTORY:"theme_core.location_inventory.have_inventory",NEARBY_INVENTORY:"theme_core.location_inventory.nearby_inventory",NO_INVENTORY:"theme_core.location_inventory.no_inventory",NO_STORE_AVAILABLE:"theme_core.location_inventory.no_store_available",OTHER_NEARBY_STORE:"theme_core.location_inventory.other_nearby_store",PLEASE_SELECT_OTHER_STORE:"theme_core.location_inventory.please_select_other_store",RE_ENTER_PAGE:"theme_core.location_inventory.re_enter_page",SELECT_THIS_STORE:"theme_core.location_inventory.select_this_store",SORRY:"theme_core.location_inventory.sorry"},PRODUCT:{ADD_BACK_IN_STOCK:"theme_core.product.add_back_in_stock",ADD_CART:"theme_core.product.add_cart",ADD_FAVORITE:"theme_core.product.add_favorite",ADD_TO_CART:"theme_core.product.add_to_cart",ALL_AVAILABLE_ITEMS_ADDED:"theme_core.product.all_available_items_added",ALREADY_IN_CART:"theme_core.product.already_in_cart",APP_ONLY:"theme_core.product.app_only",BACK_IN_STOCK:"theme_core.product.back_in_stock",BACK_IN_STOCK_INPUT_MAIL_FIRST:"theme_core.product.back_in_stock_input_mail_first",BACK_IN_STOCK_INPUT_MAIL_SECOND:"theme_core.product.back_in_stock_input_mail_second",BACK_IN_STOCK_INPUT_MAIL_THIRD:"theme_core.product.back_in_stock_input_mail_third",BACK_IN_STOCK_LIMIT_FIRST:"theme_core.product.back_in_stock_limit_first",BACK_IN_STOCK_LIMIT_SECOND:"theme_core.product.back_in_stock_limit_second",BACK_IN_STOCK_NOT_LOGIN:"theme_core.product.back_in_stock_not_login",CAN_NOT_BUY:"theme_core.product.can_not_buy",CANCEL_BACK_IN_STOCK:"theme_core.product.cancel_back_in_stock",CHOOSE_PURCHASE_METHOD:"theme_core.product.choose_purchase_method",CONFIRM:"theme_core.product.confirm",IMMEDIATELY_BUY:"theme_core.product.immediately_buy",IMMEDIATELY_BUY_EXPRESS_SALE_PAGE:"theme_core.product.immediately_buy_express_sale_page",INCLUDE_THESE_SALEPAGES_TEXT:"theme_core.product.include_these_salepages_text",INPUT_MAIL:"theme_core.product.input_mail",INSUFFICIENT_INVENTORY:"theme_core.product.insufficient_inventory",ITS_RESTRICTED_PRODUCT:"theme_core.product.its_restricted_product",LIMIT_MAX_VALUE_MSG:"theme_core.product.limit_max_value_msg",LOGIN:"theme_core.product.login",LOGIN_AND_TRY_AGAIN:"theme_core.product.login_and_try_again",MAIL:"theme_core.product.mail",MAIL_FORMAT_ERROR:"theme_core.product.mail_format_error",MAX_PURCHASE_LIMIT:"theme_core.product.max_purchase_limit",MAXIMUM_PURCHASE_OF_LIMIT_ITEMS_FOR_THIS_PRODUCT:"theme_core.product.maximum_purchase_of_limit_items_for_this_product",NO_RESTOCK:"theme_core.product.no_restock",NOT_SELLING_MASK_LABEL_TEXT:"theme_core.product.not_selling_mask_label_text",NOT_START_SELL:"theme_core.product.not_start_sell",POINTS:"theme_core.product.points",POINTS_STRING:"theme_core.product.points_string",PURCHASE_QUALIFICATION_REQUIRED:"theme_core.product.purchase_qualification_required",REQUIRED:"theme_core.product.required",RESTOCK:"theme_core.product.restock",SALEPAGE_BUNDLE_P2_TITLE:"theme_core.product.salepage_bundle_p2_title",SALEPAGE_REMOVED_PLACEHOLDER:"theme_core.product.salepage_removed_placeholder",SELECT_PRODUCT_FOR_COMMENT:"theme_core.product.select_product_for_comment",SELLING_START_DATE_TIME:"theme_core.product.selling_start_date_time",SELLING_WILL_KICKOFF:"theme_core.product.selling_will_kickoff",SHARE_TO_BUY:"theme_core.product.share_to_buy",SKU_SELECT_PLACEHOLDER:"theme_core.product.sku_select_placeholder",SOLD_OUT:"theme_core.product.sold_out",SOLD_OUT_EXPRESS_SALE_PAGE:"theme_core.product.sold_out_express_sale_page",SOME_ITEMS_ARE_OUT_OF_STOCK:"theme_core.product.some_items_are_out_of_stock",STOCK_QTY:"theme_core.product.stock_qty",SUBSCRIBED_TIME:"theme_core.product.subscribed_time",THIS_OPTION_IS_OUT_OF_STOCK:"theme_core.product.this_option_is_out_of_stock",UNABLE_TO_ADD_CART:"theme_core.product.unable_to_add_cart"},PROMOTION:{COME_TO_END:"theme_core.promotion.come_to_end",LATEST:"theme_core.promotion.latest"},QUICK_ENTRY:{SHORTCUT_FUNCTION:"theme_core.quick_entry.shortcut_function"},RECOMMENDATION_SECTION:{OTHER_PEOPLE_WATCHING:"theme_core.recommendation_section.other_people_watching",RECOMMENDED_TO_YOU:"theme_core.recommendation_section.recommended_to_you",YOU_MIGHT_LIKE:"theme_core.recommendation_section.you_might_like"},SEARCH:{SEARCH_PRODUCT:"theme_core.search.search_product"},SHOP_CATEGORY:{ALL:"theme_core.shop_category.all",ALL_CATEGORY:"theme_core.shop_category.all_category",ALL_PRODUCTS:"theme_core.shop_category.all_products",CATEGORY:"theme_core.shop_category.category",CHOSEN:"theme_core.shop_category.chosen",CLEAR_ALL_FILTERS:"theme_core.shop_category.clear_all_filters",CREATE_FAST_BUY_ORDER_SYSTEM_ERROR:"theme_core.shop_category.create_fast_buy_order_system_error",DELIVERY_SMS:"theme_core.shop_category.delivery_sms",FAST_BUY:"theme_core.shop_category.fast_buy",FAST_BUY_API_FALSE_COMMON_MESSAGE:"theme_core.shop_category.fast_buy_api_false_common_message",FAST_BUY_CHANGE_ORDER:"theme_core.shop_category.fast_buy_change_order",FAST_BUY_CONFIRM:"theme_core.shop_category.fast_buy_confirm",FAST_BUY_CONFIRM_PAYMENT:"theme_core.shop_category.fast_buy_confirm_payment",FAST_BUY_DISCOUNT:"theme_core.shop_category.fast_buy_discount",FAST_BUY_DISCOUNT_COUPON:"theme_core.shop_category.fast_buy_discount_coupon",FAST_BUY_ELIGIBLE:"theme_core.shop_category.fast_buy_eligible",FAST_BUY_ERROR_MESSAGE:"theme_core.shop_category.fast_buy_error_message",FAST_BUY_FREIGHT:"theme_core.shop_category.fast_buy_freight",FAST_BUY_GIVEAWAY:"theme_core.shop_category.fast_buy_giveaway",FAST_BUY_GO_TO_CHECKOUT:"theme_core.shop_category.fast_buy_go_to_checkout",FAST_BUY_GO_TO_INDEX:"theme_core.shop_category.fast_buy_go_to_index",FAST_BUY_INELIGIBLE:"theme_core.shop_category.fast_buy_ineligible",FAST_BUY_NO_GARBAGE_ERROR_MESSAGE:"theme_core.shop_category.fast_buy_no_garbage_error_message",FAST_BUY_ORDER_INFO:"theme_core.shop_category.fast_buy_order_info",FAST_BUY_PAYMENT_METHOD:"theme_core.shop_category.fast_buy_payment_method",FAST_BUY_PRODUCT_INFORMATION:"theme_core.shop_category.fast_buy_product_information",FAST_BUY_RECEIVER_INFO:"theme_core.shop_category.fast_buy_receiver_info",FAST_BUY_SHIPPING_COUPON_DISCOUNT:"theme_core.shop_category.fast_buy_shipping_coupon_discount",FAST_BUY_SOLD_OUT:"theme_core.shop_category.fast_buy_sold_out",FAST_BUY_SUBTOTAL:"theme_core.shop_category.fast_buy_subtotal",FAST_BUY_TOTAL:"theme_core.shop_category.fast_buy_total",FAST_BUY_WITH_PROMO_CODE:"theme_core.shop_category.fast_buy_with_promo_code",FILTER:"theme_core.shop_category.filter",FILTER_SELECTED:"theme_core.shop_category.filter_selected",GIFT:"theme_core.shop_category.gift",GO_TO_OTHER_CATEGORY:"theme_core.shop_category.go_to_other_category",GO_TO_OTHER_PLACE:"theme_core.shop_category.go_to_other_place",HIGHEST:"theme_core.shop_category.highest",HOME_PAGE:"theme_core.shop_category.home_page",LOWEST:"theme_core.shop_category.lowest",NO_PRODUCTS_MATCHED_FILTER:"theme_core.shop_category.no_products_matched_filter",NOT_SUPPORT_FOR_JUST_AN_HOUR:"theme_core.shop_category.not_support_for_just_an_hour",ORDER_DELIVERY_NOTIFICATION:"theme_core.shop_category.order_delivery_notification",ORDERBY_CURATOR:"theme_core.shop_category.orderby_curator",ORDERBY_NEWEST:"theme_core.shop_category.orderby_newest",ORDERBY_PAGE_VIEW:"theme_core.shop_category.orderby_page_view",ORDERBY_PRICE_HIGH_TO_LOW:"theme_core.shop_category.orderby_price_high_to_low",ORDERBY_PRICE_LOW_TO_HIGH:"theme_core.shop_category.orderby_price_low_to_high",ORDERBY_SALES:"theme_core.shop_category.orderby_sales",ORIGINAL_RANGE:"theme_core.shop_category.original_range",PAY_AMOUNT:"theme_core.shop_category.pay_amount",PAYMENT:"theme_core.shop_category.payment",PLEASE_CHOOSE:"theme_core.shop_category.please_choose",POPULAR_TAG:"theme_core.shop_category.popular_tag",PRICE:"theme_core.shop_category.price",PRICE_RANGE:"theme_core.shop_category.price_range",PRODUCT_CATEGORY:"theme_core.shop_category.product_category",PRODUCT_COUNT:"theme_core.shop_category.product_count",PRODUCTS_IN_THIS_SECTION:"theme_core.shop_category.products_in_this_section",PUBLISH_NOTIFICATION:"theme_core.shop_category.publish_notification",RELATED_CATEGORY:"theme_core.shop_category.related_category",RELATED_PRODUCTS:"theme_core.shop_category.related_products",SELECT_CATEGORY:"theme_core.shop_category.select_category",SELECT_CHANNEL:"theme_core.shop_category.select_channel",SHIPPING:"theme_core.shop_category.shipping",SHOP_CATEGORY_IS_IN_PREPARATION:"theme_core.shop_category.shop_category_is_in_preparation",SHOPPING_CART_PRICE:"theme_core.shop_category.shopping_cart_price",SHOW_ALL_FILTERS:"theme_core.shop_category.show_all_filters",SHOW_LESS:"theme_core.shop_category.show_less",SHOW_MORE:"theme_core.shop_category.show_more",SORT_BY:"theme_core.shop_category.sort_by",SWIPE_TO_NEXT_CATEGORY:"theme_core.shop_category.swipe_to_next_category",SWIPE_TO_PREV_CATEGORY:"theme_core.shop_category.swipe_to_prev_category",UNLIMITED:"theme_core.shop_category.unlimited",WATCHING:"theme_core.shop_category.watching"},STORE_EXPRESS:{ACTIVE_LOCATION:"theme_core.store_express.active_location",ADDRESS:"theme_core.store_express.address",ADDRESS_NOT_FOUND:"theme_core.store_express.address_not_found",ADDRESS_TITLE:"theme_core.store_express.address_title",AUTO_LOCATE_FAILED:"theme_core.store_express.auto_locate_failed",AUTO_LOCATE_SUCCESS:"theme_core.store_express.auto_locate_success",AVALIABLE_LOCATIONS:"theme_core.store_express.avaliable_locations",BLOCK:"theme_core.store_express.block",CHANGE_LOCATION_HINT:"theme_core.store_express.change_location_hint",CHECK_LOCATION:"theme_core.store_express.check_location",CHINCKING:"theme_core.store_express.chincking",CITY:"theme_core.store_express.city",COMMENT:"theme_core.store_express.comment",COMMENT_HINT:"theme_core.store_express.comment_hint",CONFIRM:"theme_core.store_express.confirm",DISPLAY_ERROR_MSG:"theme_core.store_express.display_error_msg",DISTANCE:"theme_core.store_express.distance",INOUT_ADDRESS:"theme_core.store_express.inout_address",INPUT_ADDRESS:"theme_core.store_express.input_address",INPUT_FLOOR:"theme_core.store_express.input_floor",INPUT_LOCATION:"theme_core.store_express.input_location",LEFT_HINT:"theme_core.store_express.left_hint",LOCATION_SERVICE:"theme_core.store_express.location_service",LOCATION_TITLE:"theme_core.store_express.location_title",MODIFY:"theme_core.store_express.modify",NO_CHOICE:"theme_core.store_express.no_choice",NO_LOCATION_ADDRESS:"theme_core.store_express.no_location_address",RECEIVER_INFO:"theme_core.store_express.receiver_info",RENEW_LOCATION:"theme_core.store_express.renew_location",SELECT_BLOCK:"theme_core.store_express.select_block",SELECT_CITY:"theme_core.store_express.select_city",SEND_TO:"theme_core.store_express.send_to",SENT_TO_ADDRESS:"theme_core.store_express.sent_to_address",UPDATE_LOCATION_CONFIRM:"theme_core.store_express.update_location_confirm",WELCOME:"theme_core.store_express.welcome"},TAG_CATEGORY:{RELATED_CATEGORY:"theme_core.tag_category.related_category",RELATED_PRODUCTS:"theme_core.tag_category.related_products",WATCHING:"theme_core.tag_category.watching"},TOAST:{ADD_SUCCESS:"theme_core.toast.add_success",ADD_TO_CART_FAIL:"theme_core.toast.add_to_cart_fail",ADD_TO_WISHLIST_SUCCESSFULLY:"theme_core.toast.add_to_wishlist_successfully",BACK_IN_STOCK_SUBSCRIBE_SUCCESS:"theme_core.toast.back_in_stock_subscribe_success",BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS:"theme_core.toast.back_in_stock_unsubscribe_success",CANCEL_BACK_IN_STOCK_INPUT_MAIL_SUCCESS:"theme_core.toast.cancel_back_in_stock_input_mail_success",FILTER_UPPER_LIMIT:"theme_core.toast.filter_upper_limit",GOT_IT:"theme_core.toast.got_it",IS_CLOSED:"theme_core.toast.is_closed",LOGIN_SUCCESS:"theme_core.toast.login_success",LOGOUT_SUCCESS:"theme_core.toast.logout_success",NO_START:"theme_core.toast.no_start",NOT_FOUND:"theme_core.toast.not_found",RELOAD:"theme_core.toast.reload",REMOVE_SUCCESS:"theme_core.toast.remove_success",REMOVED_FROM_WISHLIST_SUCCESSFULLY:"theme_core.toast.removed_from_wishlist_successfully",SALE_PAGE_BUNDLE_LOADING_FAILED:"theme_core.toast.sale_page_bundle_loading_failed",SELECT_ERROR:"theme_core.toast.select_error",SOLD_OUT:"theme_core.toast.sold_out",SUBMIT_ERROR:"theme_core.toast.submit_error",SUBMIT_SUCCESS:"theme_core.toast.submit_success",SYSTEM_ERROR:"theme_core.toast.system_error",UN_LISTING:"theme_core.toast.un_listing"},TOOLBOX:{COUPON:"theme_core.toolbox.coupon",CUSTOM:"theme_core.toolbox.custom",FB_MESSENGER:"theme_core.toolbox.fb_messenger",FB_PAGE:"theme_core.toolbox.fb_page",FB_SEND_MESSEGE:"theme_core.toolbox.fb_send_messege",IG:"theme_core.toolbox.ig",LINE:"theme_core.toolbox.line",STORE_INFO:"theme_core.toolbox.store_info"}}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/gqls/shopCategory.gql.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LAYOUT_TEMPLATE_SPCATAD_LIST=t.SHOP_CATEGORY_PROMOTION_LIST=t.SHOP_CATEGORY_PRODUCT_LIST_DEFAULT_ORDERBY=t.SHOP_CATEGORY_PRODUCT_LIST=t.ShopAttrTypeEnum=t.SHOP_CATEGORY_LIST_BY_SERVICE_TYPE=t.SHOP_CATEGORY_LIST=void 0;var r,a,s,c,l,u,d=o(n("./node_modules/graphql-tag/src/index.js"));t.SHOP_CATEGORY_LIST=(0,d.default)(r||(r=i(["\n    query cms_shopCategoryList($shopId: Int!) {\n        shopCategoryList(shopId: $shopId) {\n            categoryList {\n                id\n                name\n                childList {\n                    id\n                    name\n                }\n            }\n            count\n            maxChildListCount\n        }\n    }\n"],["\n    query cms_shopCategoryList($shopId: Int!) {\n        shopCategoryList(shopId: $shopId) {\n            categoryList {\n                id\n                name\n                childList {\n                    id\n                    name\n                }\n            }\n            count\n            maxChildListCount\n        }\n    }\n"]))),t.SHOP_CATEGORY_LIST_BY_SERVICE_TYPE=(0,d.default)(a||(a=i(["\n    query cms_shopCategoryList($shopId: Int!, $serviceType: String, $locationId: Int) {\n        shopCategoryList(shopId: $shopId, serviceType: $serviceType, locationId: $locationId) {\n            categoryList {\n                id\n                name\n                childList {\n                    id\n                    name\n                }\n            }\n            count\n            maxChildListCount\n        }\n    }\n"],["\n    query cms_shopCategoryList($shopId: Int!, $serviceType: String, $locationId: Int) {\n        shopCategoryList(shopId: $shopId, serviceType: $serviceType, locationId: $locationId) {\n            categoryList {\n                id\n                name\n                childList {\n                    id\n                    name\n                }\n            }\n            count\n            maxChildListCount\n        }\n    }\n"]))),function(e){e[e.price=0]="price",e[e.pay=1]="pay",e[e.shipping=2]="shipping"}(t.ShopAttrTypeEnum||(t.ShopAttrTypeEnum={})),t.SHOP_CATEGORY_PRODUCT_LIST=(0,d.default)(s||(s=i(["\n    query cms_shopCategory(\n        $shopId: Int!\n        $categoryId: Int!\n        $startIndex: Int!\n        $fetchCount: Int!\n        $orderBy: String\n        $isShowCurator: Boolean\n        $locationId: Int\n        $tagFilters: [ItemTagFilter]\n        $tagShowMore: Boolean\n        $serviceType: String\n        $minPrice: Float\n        $maxPrice: Float\n        $payType: [String]\n        $shippingType: [String]\n        $includeSalePageGroup: Boolean\n    ) {\n        shopCategory(shopId: $shopId, categoryId: $categoryId) {\n            salePageList(\n                startIndex: $startIndex\n                maxCount: $fetchCount\n                orderBy: $orderBy\n                isCuratorable: $isShowCurator\n                locationId: $locationId\n                tagFilters: $tagFilters\n                tagShowMore: $tagShowMore\n                minPrice: $minPrice\n                maxPrice: $maxPrice\n                payType: $payType\n                shippingType: $shippingType\n                serviceType: $serviceType\n                includeSalePageGroup: $includeSalePageGroup\n            ) {\n                salePageList {\n                    salePageId\n                    title\n                    picUrl\n                    picList\n                    salePageCode\n                    price\n                    suggestPrice\n                    isFav\n                    isComingSoon\n                    isSoldOut\n                    soldOutActionType\n                    sellingQty\n                    pairsPoints\n                    pairsPrice\n                    priceDisplayType\n                    displayTags {\n                        group\n                        keys {\n                            id\n                            startTime\n                            endTime\n                            picUrl {\n                                ratioOneToOne\n                                ratioThreeToFour\n                            }\n                        }\n                    }\n                    salePageGroup {\n                        groupTitle\n                        groupIconStyle\n                        groupItems {\n                            salePageId\n                            itemTitle\n                            itemUrl\n                        }\n                    }\n                    promotionPrices {\n                        promotionEngineId\n                        memberCollectionId\n                        price\n                        startDateTime\n                        endDateTime\n                        label\n                    }\n                    isRestricted\n                    enableIsComingSoon\n                    isShowSellingStartDateTime\n                    sellingStartDateTime\n                    listingStartDateTime\n                    metafields\n                }\n                totalSize\n                shopCategoryId\n                shopCategoryName\n                statusDef\n                listModeDef\n                orderByDef\n                dataSource\n                tags {\n                    isGroupShowMore\n                    groups {\n                        groupId\n                        groupDisplayName\n                        isKeyShowMore\n                        keys {\n                            keyId\n                            keyDisplayName\n                        }\n                    }\n                }\n                priceRange {\n                    min\n                    max\n                }\n            }\n        }\n    }\n"],["\n    query cms_shopCategory(\n        $shopId: Int!\n        $categoryId: Int!\n        $startIndex: Int!\n        $fetchCount: Int!\n        $orderBy: String\n        $isShowCurator: Boolean\n        $locationId: Int\n        $tagFilters: [ItemTagFilter]\n        $tagShowMore: Boolean\n        $serviceType: String\n        $minPrice: Float\n        $maxPrice: Float\n        $payType: [String]\n        $shippingType: [String]\n        $includeSalePageGroup: Boolean\n    ) {\n        shopCategory(shopId: $shopId, categoryId: $categoryId) {\n            salePageList(\n                startIndex: $startIndex\n                maxCount: $fetchCount\n                orderBy: $orderBy\n                isCuratorable: $isShowCurator\n                locationId: $locationId\n                tagFilters: $tagFilters\n                tagShowMore: $tagShowMore\n                minPrice: $minPrice\n                maxPrice: $maxPrice\n                payType: $payType\n                shippingType: $shippingType\n                serviceType: $serviceType\n                includeSalePageGroup: $includeSalePageGroup\n            ) {\n                salePageList {\n                    salePageId\n                    title\n                    picUrl\n                    picList\n                    salePageCode\n                    price\n                    suggestPrice\n                    isFav\n                    isComingSoon\n                    isSoldOut\n                    soldOutActionType\n                    sellingQty\n                    pairsPoints\n                    pairsPrice\n                    priceDisplayType\n                    displayTags {\n                        group\n                        keys {\n                            id\n                            startTime\n                            endTime\n                            picUrl {\n                                ratioOneToOne\n                                ratioThreeToFour\n                            }\n                        }\n                    }\n                    salePageGroup {\n                        groupTitle\n                        groupIconStyle\n                        groupItems {\n                            salePageId\n                            itemTitle\n                            itemUrl\n                        }\n                    }\n                    promotionPrices {\n                        promotionEngineId\n                        memberCollectionId\n                        price\n                        startDateTime\n                        endDateTime\n                        label\n                    }\n                    isRestricted\n                    enableIsComingSoon\n                    isShowSellingStartDateTime\n                    sellingStartDateTime\n                    listingStartDateTime\n                    metafields\n                }\n                totalSize\n                shopCategoryId\n                shopCategoryName\n                statusDef\n                listModeDef\n                orderByDef\n                dataSource\n                tags {\n                    isGroupShowMore\n                    groups {\n                        groupId\n                        groupDisplayName\n                        isKeyShowMore\n                        keys {\n                            keyId\n                            keyDisplayName\n                        }\n                    }\n                }\n                priceRange {\n                    min\n                    max\n                }\n            }\n        }\n    }\n"]))),t.SHOP_CATEGORY_PRODUCT_LIST_DEFAULT_ORDERBY=(0,d.default)(c||(c=i(['\n    query cms_shopCategory_default_orderby($shopId: Int!, $categoryId: Int!, $isShowCurator: Boolean) {\n        shopCategory(shopId: $shopId, categoryId: $categoryId) {\n            salePageList(startIndex: 0, maxCount: 20, orderBy: "", isCuratorable: $isShowCurator) {\n                orderByDef\n            }\n        }\n    }\n'],['\n    query cms_shopCategory_default_orderby($shopId: Int!, $categoryId: Int!, $isShowCurator: Boolean) {\n        shopCategory(shopId: $shopId, categoryId: $categoryId) {\n            salePageList(startIndex: 0, maxCount: 20, orderBy: "", isCuratorable: $isShowCurator) {\n                orderByDef\n            }\n        }\n    }\n']))),t.SHOP_CATEGORY_PROMOTION_LIST=(0,d.default)(l||(l=i(["\n    query cms_shopCategory_promotion_list($shopId: Int!, $categoryId: Int!) {\n        shopCategory(shopId: $shopId, categoryId: $categoryId) {\n            promotionList {\n                id\n                name\n                startTime\n                endTime\n                rules\n                promotionConditionDiscountType\n                promotionConditionType\n                isPromotionEngine\n            }\n        }\n    }\n"],["\n    query cms_shopCategory_promotion_list($shopId: Int!, $categoryId: Int!) {\n        shopCategory(shopId: $shopId, categoryId: $categoryId) {\n            promotionList {\n                id\n                name\n                startTime\n                endTime\n                rules\n                promotionConditionDiscountType\n                promotionConditionType\n                isPromotionEngine\n            }\n        }\n    }\n"]))),t.LAYOUT_TEMPLATE_SPCATAD_LIST=(0,d.default)(u||(u=i(['\n    query cms_layoutTemplate_spCatAd_list($shopId: Int!, $categoryId: String!) {\n        layoutTemplate(\n            shopId: $shopId\n            layoutCode: "MobileHome"\n            templateCode: "SpCatAdOfficial"\n            targetType: "ShopCategory"\n            targetId: $categoryId\n        ) {\n            title\n            link\n            picturePath {\n                fullUrl\n            }\n        }\n    }\n'],['\n    query cms_layoutTemplate_spCatAd_list($shopId: Int!, $categoryId: String!) {\n        layoutTemplate(\n            shopId: $shopId\n            layoutCode: "MobileHome"\n            templateCode: "SpCatAdOfficial"\n            targetType: "ShopCategory"\n            targetId: $categoryId\n        ) {\n            title\n            link\n            picturePath {\n                fullUrl\n            }\n        }\n    }\n'])))},"./node_modules/@91app/nineyi.lib.themecore/out/src/providers/errorJSON.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.errorJSON=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/serialize-error/index.js");t.errorJSON=i.serializeError},"./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getShopBasicInfo=t.getDependencies=t.getGlobalVariable=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/page.constants.js"),o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/render.utility.js");t.getGlobalVariable=function(){if((0,o.checkIsServerRender)()||!window.nineyi)return{};var e=window.nineyi;return{env:e.env,i18n:e.i18n,logLevel:e.logLevel||4,shopExtensionSetting:e.shopExtensionSetting,stackdriverConfig:e.stackdriverConfig,traceId:e.traceId||"",silo:e.silo,pageType:e.pageType||i.PAGE_TYPE.UNKNOWN,isEditMode:e.isEditMode||!1,isPreviewMode:e.isPreviewMode||!1,dependencies:e.dependencies,gaSetting:e.gaSetting,facebookConfig:e.facebookConfig}};t.getDependencies=function(){return((0,t.getGlobalVariable)()||{}).dependencies||{shopId:null,locale:null,browsingMode:null,shopProfile:null,imageServiceConfig:null,pageName:null,previewPageName:null}};t.getShopBasicInfo=function(e){return{shopName:((null==e?void 0:e.ShopBasicInfo)||{}).ShopName}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return r(t,e),t},s=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},c=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchApi=t.fetchApiObservable=t.RequestMethod=void 0;var l=n("./node_modules/@91app/nineyi.utility.request/dist/src/index.js");Object.defineProperty(t,"RequestMethod",{enumerable:!0,get:function(){return l.RequestMethod}});var u=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/error.utility.js"),d=n("./node_modules/rxjs/_esm5/index.js"),g=n("./node_modules/rxjs/_esm5/operators/index.js"),p=n("./node_modules/statuses/index.js"),m=a(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/superagent/lib/client.js")),f=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/authIsLogin.stream.js"),I=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/extendingLoginTime.utility.js"),h=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/runtimeModeUtility.js"),b=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js");t.fetchApiObservable=function(e,t){void 0===t&&(t={method:l.RequestMethod.GET});var n=e.split("?")[0]||"",i=e.split("?")[1]||"",o={GET:m.get(n).query(i),POST:m.post(n).query(i).send(t.body).set("Content-Type","application/json"),PUT:m.put(n).query(i).send(t.body).set("Content-Type","application/json"),DELETE:m.delete(n).query(i).send(t.body).set("Content-Type","application/json"),FORM:m.post(n).query(i).send(t.formData),HEAD:m.head(n).query(i)},r=(0,b.getGlobalVariable)().traceId;return!(e.startsWith("http://")||e.startsWith("https://"))&&r&&o[t.method].set("traceId",r),(0,d.from)(o[t.method].timeout(t.timeout||{response:1e4,deadline:2e4})).pipe((0,g.mergeMap)((function(e){return p.redirect[e.status]||p.retry[e.status]?(0,d.throwError)(new Error(e.body)):(0,d.of)(e.body)})),(0,g.catchError)((function(e){return"ECONNABORTED"===e.code?(0,d.throwError)((0,u.timeoutError)(e,r)):(0,d.throwError)(e)})))},t.fetchApi=function(e,t){return void 0===t&&(t={method:l.RequestMethod.GET}),s(this,void 0,void 0,(function(){var n,o,r,a;return c(this,(function(s){switch(s.label){case 0:return(0,h.checkIsEditMode)()?(n=!1,[3,3]):[3,1];case 1:return[4,(0,f.fetchAuthIsLogin)()];case 2:n=s.sent(),s.label=3;case 3:return n&&(0,I.extendingLoginTime)(),o=e.startsWith("http://")||e.startsWith("https://"),r=i({},t),a=(0,b.getGlobalVariable)().traceId,!o&&a&&(r=i(i({},t),{traceId:a})),[2,(0,l.fetchApi)(e,r)]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/providers/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/errorJSON.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/locale.provider.js"),t)},"./node_modules/@91app/nineyi.lib.themecore/out/src/providers/locale.provider.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.allCurrencies=void 0;var i=n("./node_modules/@91app/nineyi.config.i18n/index.js");Object.defineProperty(t,"allCurrencies",{enumerable:!0,get:function(){return i.allCurrencies}})},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/backInStock/deleteSubscribedSku.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.deleteSubscribedSku=void 0;var r=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js");t.deleteSubscribedSku=function(e){var t=e.streamInjection,n=e.payload;return i(void 0,void 0,void 0,(function(){var e,i,c,l,u,d,g,p,m,f;return o(this,(function(o){switch(o.label){case 0:e=(0,r.getCookie)("MID"),i=t.shopId,c=t.locale,l=t.apiConfig,u=n.salePageId,d=n.skuId,g=l.ftsHost,o.label=1;case 1:return o.trys.push([1,3,,4]),p="".concat(g,"/user/backInStock/deleteSubscribedSku/").concat(i,"/").concat(u,"/").concat(d,"/").concat(c),m={method:a.RequestMethod.DELETE,headers:{"NY-MID":e}},[4,(0,a.fetchApi)(p,m)];case 2:return o.sent(),[3,4];case 3:return f=o.sent(),s.log.error("[ERROR] deleteSubscribedSku failed: ".concat((0,s.getErrorName)(f),": ").concat((0,s.getErrorMessage)(f),": shopId: ").concat(i,", payload: ").concat(JSON.stringify(n))),[2,Promise.reject(f)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/backInStock/fetchSubscribedSkuCount.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchSubscribedSkuCount=void 0;var r=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js");t.fetchSubscribedSkuCount=function(e){var t=e.streamInjection;return i(void 0,void 0,void 0,(function(){var e,n,i,c,l,u,d,g,p;return o(this,(function(o){switch(o.label){case 0:e=t.shopId,n=t.locale,i=t.apiConfig,c=i.ftsHost,o.label=1;case 1:return o.trys.push([1,3,,4]),l=(0,r.getCookie)("MID"),u="".concat(c,"/user/backInStock/getSubscribedSkuCount/").concat(e,"?lang=").concat(n),d={method:a.RequestMethod.GET,headers:{"NY-MID":l}},[4,(0,a.fetchApi)(u,d)];case 2:return(g=o.sent().result)?[2,g]:(s.log.error("[ERROR] fetchSubscribedSkuCount failed: No Data"),[2,Promise.reject()]);case 3:return p=o.sent(),s.log.error("[ERROR] fetchSubscribedSkuCount failed: ".concat((0,s.getErrorName)(p),": ").concat((0,s.getErrorMessage)(p),": shopId: ").concat(e)),[2,Promise.reject(p)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/backInStock/fetchSubscribedSkuList.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchSubscribedSkuList=void 0;var r=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js");t.fetchSubscribedSkuList=function(e){var t=e.streamInjection,n=e.payload;return i(void 0,void 0,void 0,(function(){var e,i,c,l,u,d,g,p,m,f;return o(this,(function(o){switch(o.label){case 0:e=t.shopId,i=t.locale,c=t.apiConfig,l=n.salePageId,u=c.ftsHost,o.label=1;case 1:return o.trys.push([1,3,,4]),d=(0,r.getCookie)("MID"),g="".concat(u,"/user/backInStock/getSubscribedSkuList/").concat(e,"?lang=").concat(i,"&salePageId=").concat(l),p={method:a.RequestMethod.GET,headers:{"NY-MID":d}},[4,(0,a.fetchApi)(g,p)];case 2:return(m=o.sent().result)?[2,m]:(s.log.error("[ERROR] fetchSubscribedSkuList failed: No Data"),[2,Promise.reject()]);case 3:return f=o.sent(),s.log.error("[ERROR] fetchSubscribedSkuList failed: ".concat((0,s.getErrorName)(f),": ").concat((0,s.getErrorMessage)(f),": shopId: ").concat(e,", salePageId: ").concat(l)),[2,Promise.reject(f)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/backInStock/subscribeProductSku.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeProductSku=void 0;var r=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js");t.subscribeProductSku=function(e){var t=e.streamInjection,n=e.payload;return i(void 0,void 0,void 0,(function(){var e,i,c,l,u,d,g,p,m,f;return o(this,(function(o){switch(o.label){case 0:e=t.shopId,i=t.locale,c=t.apiConfig,l=c.ftsHost,u=n.salePageId,d=n.skuId,o.label=1;case 1:return o.trys.push([1,3,,4]),g=(0,r.getCookie)("MID"),p="".concat(l,"/user/backInStock/subscribeProductSku/").concat(e),m={method:a.RequestMethod.POST,headers:{"NY-MID":g},body:JSON.stringify({shopId:e,salePageId:u,skuIdList:[d],lang:i})},[4,(0,a.fetchApi)(p,m)];case 2:return o.sent(),[3,4];case 3:return f=o.sent(),s.log.error("[ERROR] subscribeProductSku failed: ".concat((0,s.getErrorName)(f),": ").concat((0,s.getErrorMessage)(f),": shopId: ").concat(e,", salePageId: ").concat(u,", skuId: ").concat(d)),[2,Promise.reject(f)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/config/fetchCmsS3Config.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchCmsS3ConfigStream=t.CLIENT_VALID_S3_CONFIG_KEY=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js");!function(e){e.SPECIAL_PRICE_FRONTEND_SORT="specialPriceFrontendSort"}(t.CLIENT_VALID_S3_CONFIG_KEY||(t.CLIENT_VALID_S3_CONFIG_KEY={}));t.fetchCmsS3ConfigStream=function(e){var t=e.shopId,n=e.key;return i(void 0,void 0,void 0,(function(){var e,i,s;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),e="/cms/api/config/".concat(n,"?shopId=").concat(t),i={method:r.RequestMethod.GET},[4,(0,r.fetchApi)(e,i)];case 1:return[2,o.sent()];case 2:return s=o.sent(),a.log.error("[ERROR] fetchCmsS3ConfigStream failed: ".concat((0,a.getErrorName)(s),": ").concat((0,a.getErrorMessage)(s),": shopId: ").concat(t,", key: ").concat(n)),[2,null];case 3:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchSmartTagSettingStream=void 0,o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/config/fetchCmsS3Config.stream.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/recommendationSection/fetchBapiStatus.stream.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shop/fetchDeepLink.stream.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shop/fetchShopPayAndShipping.stream.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shop/shopCategoryList.stream.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shoppingCart/addShoppingCartItem.stream.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shoppingCart/shoppingCartCount.stream.js"),t);var a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/smartTag/fetchSmartTagSetting.stream.js");Object.defineProperty(t,"fetchSmartTagSettingStream",{enumerable:!0,get:function(){return r(a).default}})},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/layoutTemplateData/fetchHiddenLayout.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0});var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");t.default=function(e){return i(void 0,void 0,void 0,(function(){var t,n,i,s;return o(this,(function(o){switch(o.label){case 0:return t=e.shopId,n=(0,a.getApiUrl)("LayoutTemplateDataV2/GetHiddenLayout",e,!1),i={method:r.RequestMethod.POST,body:JSON.stringify({shopId:t})},[4,(0,r.fetchApi)(n,i)];case 1:if("API0001"===(s=o.sent()).ReturnCode)return[2,s.Data?s.Data:""];throw new Error(s.Message)}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/product/fetchProductStockEntity.stream.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchProductStockEntity=t.fetchProductStockMapping=void 0;var a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),s=n("./node_modules/lodash/lodash.js"),c=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");t.fetchProductStockMapping=function(e,t){var n=(0,s.keyBy)(e,"SaleProductSKUId");return t.map((function(e){return i(i({},e),{sellingQty:n[e.skuId].SellingQty})}))};t.fetchProductStockEntity=function(e){var t=e.streamInjection,n=e.payload;return o(void 0,void 0,void 0,(function(){var e,i,o;return r(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),e=(0,c.getApiUrl)("ProductStock/GetSellingQtyListNew",t,!1),i={method:a.RequestMethod.POST,body:JSON.stringify({ids:n.skuIdList.toString()})},[4,(0,a.fetchApi)(e,i)];case 1:return[2,r.sent()];case 2:return o=r.sent(),[2,Promise.reject(o)];case 3:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/recommendationSection/fetchBapiStatus.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchJooiiBapiStatus=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js");t.fetchJooiiBapiStatus=function(e){var t=e.shopId;return i(void 0,void 0,void 0,(function(){var e,n,i,s;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),e="".concat((0,a.getFtsApiUrl)(),"/salepage-listing/api/recommendation/setting-get/").concat(t,"/jooii"),n={method:r.RequestMethod.GET,timeout:{response:3e3,deadline:8e3}},[4,(0,r.fetchApi)(e,n)];case 1:return i=o.sent().data,[2,Promise.resolve(!!(null==i?void 0:i.is_active))];case 2:return s=o.sent(),a.log.error("[ERROR] fetchJooiiBapiStatus failed: ".concat((0,a.getErrorName)(s),": ").concat((0,a.getErrorMessage)(s),". shopId: ").concat(t)),[2,Promise.resolve(!1)];case 3:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageAdditionalInfo.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.getSalePageSpecChart=t.fetchSalePageAdditionalInfo=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),s=function(e){return{restrictedPurchaseInfoList:(e.promotionInfoList||[]).filter((function(e){return"RestrictedPurchasesByMember"===e.promotionType})).sort((function(e,t){return t.id-e.id})),specChartData:(null==e?void 0:e.specChartData)||null}};t.fetchSalePageAdditionalInfo=function(e,t){return i(void 0,void 0,void 0,(function(){var n,i,c,l,u,d;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),d=e.shopId,n=e.locale,i="".concat((0,a.getFtsApiUrl)(),"/salepage-listing/api/salepage/additional-info/").concat(d,"/").concat(t,"?lang=").concat(n),c={method:r.RequestMethod.GET,timeout:{response:3e3,deadline:4e3}},[4,(0,r.fetchApi)(i,c)];case 1:return l=o.sent().data,[2,s(l)];case 2:throw u=o.sent(),d=e.shopId,a.log.error("[ERROR] fetchSalePageAdditionalInfo error: ".concat((0,a.getErrorMessage)(u),", shopId: ").concat(d)),u;case 3:return[2]}}))}))};t.getSalePageSpecChart=function(e,t,n){return i(void 0,void 0,void 0,(function(){var i,s,c,l,u,d,g;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),i=e.shopId,s=e.locale,"number"!=typeof i?[2,""]:"number"!=typeof t||"string"!=typeof n?[2,""]:(c="".concat((0,a.getFtsApiUrl)(),"/salepage-listing/api/salepage/spec-chart/").concat(i,"/").concat(t,"?t=").concat(n,"&lang=").concat(s),l={method:r.RequestMethod.GET,timeout:{response:3e3,deadline:4e3}},[4,(0,r.fetchApi)(c,l)]);case 1:return u=o.sent().data,d=u.content,[2,void 0===d?"":d];case 2:return g=o.sent(),a.log.error("[ERROR] getSalePageSpecChart error: ".concat((0,a.getErrorMessage)(g),", shopId: ").concat(null==e?void 0:e.shopId)),[2,Promise.reject(g)];case 3:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageBundleInfo.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchSalePageBundleInfo=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js");t.fetchSalePageBundleInfo=function(e,t){return i(void 0,void 0,void 0,(function(){var n,i,s,c,l,u;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),u=e.shopId,n=e.locale,i="".concat((0,a.getFtsApiUrl)(),"/salepage-listing/api/salepage/bundle-info/").concat(u,"/").concat(t,"?lang=").concat(n),s={method:r.RequestMethod.GET},[4,(0,r.fetchApi)(i,s)];case 1:return(null==(c=o.sent())?void 0:c.data)?[2,c.data]:[2,Promise.reject((null==c?void 0:c.message)||"fetchSalePageBundleInfo error")];case 2:return l=o.sent(),u=e.shopId,a.log.error("[ERROR] fetchSalePageBundleInfo error: ".concat((0,a.getErrorMessage)(l),", shopId: ").concat(u)),[2,Promise.reject(l)];case 3:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageSellingQty.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchSalePageBundleSellingQty=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js");t.fetchSalePageBundleSellingQty=function(e,t){return i(void 0,void 0,void 0,(function(){var n,i,s,c,l,u;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),u=e.shopId,n=e.locale,i="".concat((0,a.getFtsApiUrl)(),"/salepage-listing/api/salepage/bundle-selling-qty/").concat(u,"?lang=").concat(n),s={method:r.RequestMethod.POST,body:t},[4,(0,r.fetchApi)(i,s)];case 1:return(null==(c=o.sent())?void 0:c.data)?[2,c.data]:[2,Promise.reject((null==c?void 0:c.message)||"fetchSalePageBundleSellingQty error")];case 2:return l=o.sent(),u=e.shopId,a.log.error("[ERROR] fetchSalePageBundleSellingQty error: ".concat((0,a.getErrorMessage)(l),", shopId: ").concat(u)),[2,Promise.reject(l)];case 3:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageStatus.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchSalePageStatus=t.SalePageStatusEnum=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");!function(e){e.IsClosed="IsClosed",e.NoStart="NoStart",e.Normal="Normal",e.SoldOut="SoldOut",e.UnListing="UnListing"}(t.SalePageStatusEnum||(t.SalePageStatusEnum={}));t.fetchSalePageStatus=function(e){var t=e.streamInjection,n=e.payload;return i(void 0,void 0,void 0,(function(){var e,i,s,c;return o(this,(function(o){switch(o.label){case 0:return e=n.salePageId,i=n.salePageCode,s=void 0===i?"":i,c=(0,a.getApiUrl)("SalePageStatus/GetSalePageStatus?id=".concat(s||e),t,!1),[4,(0,r.fetchApi)(c)];case 1:return[2,o.sent()]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageV2Info.stream.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchSalePageV2Info=t.getSalePageStatus=t.fetchSalePageInfoMapping=t.EventTypeEnum=void 0;var a,s,c,l,u,d,g,p,m=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),f=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/salePage/fetchSalePageStatus.stream.js"),I=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js"),h=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js");!function(e){e[e.All=1]="All",e[e.ECoupon=2]="ECoupon",e[e.GiftECoupon=3]="GiftECoupon",e[e.FreeShippingECoupon=4]="FreeShippingECoupon"}(a||(a={})),function(e){e.Hidden="Hidden",e.Normal="Normal"}(s||(s={})),function(e){e[e.Front=0]="Front",e[e.Last=1]="Last"}(c||(c={})),function(e){e[e.MainImage=0]="MainImage",e[e.SaleProductDesc=1]="SaleProductDesc"}(l||(l={})),function(e){e[e.DiscountPrice=1]="DiscountPrice",e[e.DiscountRate=2]="DiscountRate",e[e.FixedPrice=4]="FixedPrice",e[e.FreeGift=8]="FreeGift",e[e.All=15]="All"}(u||(u={})),function(e){e[e.TotalPrice=1]="TotalPrice",e[e.TotalQty=2]="TotalQty",e[e.ReachQty=4]="ReachQty",e[e.TotalPriceV2=8]="TotalPriceV2",e[e.TotalQtyV2=16]="TotalQtyV2",e[e.CrmMemberTierTotalPrice=32]="CrmMemberTierTotalPrice",e[e.All=63]="All"}(d||(d={})),function(e){e[e.Shop=1]="Shop",e[e.Category=2]="Category",e[e.SalePage=4]="SalePage",e[e.PromotionSalePage=8]="PromotionSalePage",e[e.All=15]="All"}(g||(g={})),function(e){e.AppOnly="AppOnly",e.ShareToBuy="ShareToBuy"}(p=t.EventTypeEnum||(t.EventTypeEnum={}));t.fetchSalePageInfoMapping=function(e){var t,n,i,o=e.MajorList[0].SKUList,r=(i=o&&o.length>0?1===o.length?"-1"===o[0].Title?0:1:2:0)>0?null===(t=o[0])||void 0===t?void 0:t.PropertyList.map((function(e){return{skuName:e.Name,skuKey:e.PropertyNameSet}})):[],a={skuGroupName:o.length>0?o[0].Title:"-1",skuKeyList:r},s=2===i?null===(n=o[1])||void 0===n?void 0:n.PropertyList.map((function(e){return{skuName:e.Name,skuKey:e.PropertyNameSet}})):[],c=2===i?{skuGroupName:o[1].Title,skuKeyList:s}:null,l=null==e?void 0:e.SKUPropertySetList.map((function(e){return{isShow:e.IsShow,skuKey:e.PropertyNameSet,skuId:e.SaleProductSKUId,sellingQty:e.SellingQty,price:e.Price,suggestPrice:e.SuggestPrice}})),u=null==e?void 0:e.ImageList.map((function(e){return{skuId:e.Id,skuName:e.SKUPropertyNameSet,imageSrc:e.PicUrl}}));return{salePageInfo:{maxSkuLevel:i,skuGroupLevel1:a,skuGroupLevel2:c,id:e.Id,status:e.StatusDef,mainImageUrl:u,price:e.Price,title:e.Title,skuIdList:e.SaleProductSKUIdList,suggestPrice:e.SuggestPrice,maxPrice:e.MaxPrice,maxSuggestPrice:e.MaxSuggestPrice,minPrice:e.MinPrice,minSuggestPrice:e.MinSuggestPrice,hasPointPayOption:e.PointsPayPairsList&&e.PointsPayPairsList.length>0,pointsPayPairsList:e.PointsPayPairsList},skuInfoList:l}};t.getSalePageStatus=function(e,t,n,i){var o=e;return i?o:t?p.AppOnly:n?p.ShareToBuy:o};t.fetchSalePageV2Info=function(e){var n=e.streamInjection,a=e.payload,s=a.salePageId,c=a.salePageCode,l=a.forbidStatusChange,u=e.shouldFetchSalePageStatus,d=void 0===u||u;return o(void 0,void 0,void 0,(function(){var e,o,a,u,g,p,b,y;return r(this,(function(r){switch(r.label){case 0:e=n.shopId,r.label=1;case 1:return r.trys.push([1,3,,4]),o=c?(0,I.getApiUrl)("Sku/GetSkuPopupInfo/".concat(e,"/").concat(c,"?hasShow2LevelAllImageList=true&source=Web"),n,!0):(0,I.getApiUrl)("Sku/GetSkuPopupInfo/".concat(e,"/").concat(s,"?hasShow2LevelAllImageList=true&source=Web"),n,!0),[4,Promise.all([(0,m.fetchApi)(o),d?(0,f.fetchSalePageStatus)({streamInjection:n,payload:{salePageCode:c,salePageId:s}}):void 0])];case 2:return a=r.sent(),u=a[0],g=u.Data,p=u.Message,b=a[1],g?d?[2,i(i({},g),{StatusDef:(0,t.getSalePageStatus)(b,g.IsAPPOnly,g.IsShareToBuy,l)})]:[2,g]:(h.log.error("[ERROR] fetchSalePageV2Info failed: No Data"),[2,Promise.reject(p||"fetchSalePageV2Info failed: No Data")]);case 3:return y=r.sent(),h.log.error("[ERROR] fetchSalePageV2Info failed: ".concat((0,h.getErrorName)(y),": ").concat((0,h.getErrorMessage)(y),", shopId: ").concat(e)),[2,Promise.reject(y)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shop/fetchCustomTranslation.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchCustomTranslationData=void 0;var a=r(n("./node_modules/@91app/nineyi.lib.themecore/out/package.json")),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),c=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),l=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),u=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),d=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js"),g=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js");t.fetchCustomTranslationData=function(e,t){return i(void 0,void 0,void 0,(function(){var n,i,r,p,m,f,I,h;return o(this,(function(o){switch(o.label){case 0:n=(0,s.getDependencies)(),i=(0,g.getStreamInjection)(n),r=null===a.default||void 0===a.default?void 0:a.default.version,o.label=1;case 1:return o.trys.push([1,3,,4]),p="translations/GetCustomClientLocale/".concat(e,"/mweb/cms/").concat(t,"?ts=").concat(r),m=(0,d.getApiUrl)(p,i,!0),f={method:c.RequestMethod.GET},[4,(0,u.fetchApi)(m,f)];case 2:return(I=o.sent())?[2,Promise.resolve(I)]:[2,Promise.resolve(null)];case 3:return h=o.sent(),l.log.error("[ERROR] fetchCustomTranslationData failed: ".concat((0,l.getErrorName)(h),": ").concat((0,l.getErrorMessage)(h),": shopId: ").concat(e)),[2,Promise.reject(h)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shop/fetchDeepLink.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchDeepLink=t.fetchDeepLinkMapping=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");t.fetchDeepLinkMapping=function(e){return e.Data};t.fetchDeepLink=function(e){return i(void 0,void 0,void 0,(function(){var n,i,c,l,u,d,g,p;return o(this,(function(o){switch(o.label){case 0:n=e.streamInjection,i=e.payload,c=n.shopId,l=i.targetUrl,o.label=1;case 1:return o.trys.push([1,3,,4]),u=(0,s.getApiUrl)("DeepLink/GetDeepLink",n,!1),d={method:r.RequestMethod.POST,body:{ShopId:c,TargetUrl:l}},[4,(0,r.fetchApi)(u,d)];case 2:return(g=o.sent())&&"API0001"!==g.ReturnCode?[2,Promise.reject(new Error("DeepLink/GetDeepLink failed, ReturnCode is not API0001"))]:[2,(0,t.fetchDeepLinkMapping)(g)];case 3:return p=o.sent(),a.log.error("[ERROR] fetchDeepLink failed: ".concat((0,a.getErrorName)(p),": ").concat((0,a.getErrorMessage)(p),": shopId: ").concat(c,", targetUrl: ").concat(l)),[2,Promise.reject(p)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shop/fetchShopPayAndShipping.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchShopPayTypeAndShipping=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js"),s=function(e){return void 0===e&&(e=[]),e.map((function(e){return{typeId:e.TypeDef,typeName:e.TypeDefDesc}}))},c=function(e){var t=(null==e?void 0:e.Data)||{},n=t.PayTypeList,i=t.ShippingTypeList;return{payTypeList:s(n),shippingTypeList:s(i)}};t.fetchShopPayTypeAndShipping=function(e){return i(void 0,void 0,void 0,(function(){var t,n,i,s;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),t=e.shopId,n=(0,a.getApiUrl)("SearchV2/GetShopPayTypeAndShippingTypeList?shopId=".concat(t),e,!0),[4,(0,r.fetchApi)(n)];case 1:return i=o.sent(),[2,c(i)];case 2:return s=o.sent(),[2,Promise.reject(s)];case 3:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shop/shopCategoryList.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchShopCategoryListByServiceType=t.fetchMultiShopCategoryTreeByLevelId=t.fetchMultiShopCategoryList=t.fetchShopCategoryList=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");t.fetchShopCategoryList=function(e){return i(void 0,void 0,void 0,(function(){var t,n;return o(this,(function(i){switch(i.label){case 0:return t=e.shopId,n=(0,a.getApiUrl)("Shop/GetShopCategoryListV3/".concat(t),e,!0),[4,(0,r.fetchApi)(n)];case 1:return[2,i.sent()]}}))}))};t.fetchMultiShopCategoryList=function(e,t){return i(void 0,void 0,void 0,(function(){var n,i;return o(this,(function(o){switch(o.label){case 0:return n=e.shopId,i=(0,a.getApiUrl)("ShopCategory/GetShopCategoryTreeListByLevel/".concat(n,"?locationId=").concat(t,"&isRetailStoreExpress=").concat(!!t),e,!0),[4,(0,r.fetchApi)(i)];case 1:return[2,o.sent().Data]}}))}))};t.fetchMultiShopCategoryTreeByLevelId=function(e,t,n,s){return void 0===s&&(s=0),i(void 0,void 0,void 0,(function(){var i,c,l,u,d,g,p,m,f,I,h;return o(this,(function(o){switch(o.label){case 0:return i=e.shopId,c=(0,a.getApiUrl)("ShopCategory/GetShopCategoryTreeByShopCategoryId/".concat(i,"/").concat(t,"?locationId=").concat(s,"&isRetailStoreExpress=").concat(!!s),e,!0),l=(0,a.getApiUrl)("ShopCategory/GetShopCategoryTreeListByLevel/".concat(i,"?level=2&locationId=").concat(s,"&isRetailStoreExpress=").concat(!!s),e,!0),n?[4,(0,r.fetchApi)(c)]:[3,2];case 1:return u=o.sent(),[2,{breadcrumbList:(null===(p=null==u?void 0:u.Data)||void 0===p?void 0:p.Breadcrumb)||[],categoryId:t,singleTree:(null===(m=null==u?void 0:u.Data)||void 0===m?void 0:m.Tree)||null}];case 2:return[4,(0,r.fetchApi)(l)];case 3:return d=o.sent(),[4,(0,r.fetchApi)(c)];case 4:return g=o.sent(),[2,{breadcrumbList:(null===(f=null==g?void 0:g.Data)||void 0===f?void 0:f.Breadcrumb)||[],allTreeWithLevel1AndLevel2List:(null===(I=null==d?void 0:d.Data)||void 0===I?void 0:I.List)||[],singleTree:(null===(h=null==g?void 0:g.Data)||void 0===h?void 0:h.Tree)||null,categoryId:t||0}]}}))}))};t.fetchShopCategoryListByServiceType=function(e){var t=e.streamInjection,n=e.payload;return i(void 0,void 0,void 0,(function(){var e,i,s,c;return o(this,(function(o){switch(o.label){case 0:return e=t.shopId,i=n.serviceType,s=n.locationId,c=(0,a.getApiUrl)("Shop/GetShopCategoryListV3/".concat(e,"?serviceType=").concat(i,"&locationId=").concat(s),t,!0),[4,(0,r.fetchApi)(c)];case 1:return[2,o.sent()]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shoppingCart/addShoppingCartItem.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.addShoppingCartBundleItem=t.addShoppingCartItem=t.addShoppingCartItemMapping=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js");t.addShoppingCartItemMapping=function(e,t){return{executeResultMsg:{type:"API5101"===t.ReturnCode?"success":"warning",skuId:e,message:t.Message}}};t.addShoppingCartItem=function(e){var n=e.isSkuQtyAccumulate,c=void 0!==n&&n,l=e.streamInjection,u=e.payload;return i(void 0,void 0,void 0,(function(){var e,n,i,d,g,p,m,f,I,h;return o(this,(function(o){switch(o.label){case 0:e=l.shopId,n=u.salePageId,i=u.quantity,d=u.skuId,g=u.optionalTypeId,p=u.optionalTypeDef,o.label=1;case 1:return o.trys.push([1,3,,4]),m=(0,a.getApiUrl)("ShoppingCartV4/InsertItem",l,!1),f={method:r.RequestMethod.POST,body:JSON.stringify({shopId:e,salePageId:n,qty:i,saleProductSKUId:d,OptionalTypeId:g,OptionalTypeDef:p,IsSkuQtyAccumulate:c,optionalInfo:null})},[4,(0,r.fetchApi)(m,f)];case 2:return"API5101"!==(null==(I=o.sent())?void 0:I.ReturnCode)?[2,Promise.reject(I)]:[2,(0,t.addShoppingCartItemMapping)(d,I)];case 3:return h=o.sent(),s.log.error("[ERROR] addShoppingCartItem failed: ".concat((0,s.getErrorName)(h),": ").concat((0,s.getErrorMessage)(h),": shopId: ").concat(e,", payload: ").concat(JSON.stringify(u))),[2,Promise.reject(h)];case 4:return[2]}}))}))};t.addShoppingCartBundleItem=function(e){return i(void 0,void 0,void 0,(function(){var t,n,i,c,l,u,d;return o(this,(function(o){switch(o.label){case 0:t=e.streamInjection,n=e.payload,i=t.shopId,o.label=1;case 1:return o.trys.push([1,3,,4]),c=(0,a.getApiUrl)("ShoppingCartV4/InsertItem",t,!1),l={method:r.RequestMethod.POST,body:JSON.stringify(n)},[4,(0,r.fetchApi)(c,l)];case 2:return"API5101"!==(null==(u=o.sent())?void 0:u.ReturnCode)?[2,Promise.reject(u)]:[2,u];case 3:return d=o.sent(),s.log.error("[ERROR] addShoppingCartBundleItem failed: ".concat((0,s.getErrorName)(d),": ").concat((0,s.getErrorMessage)(d),": shopId: ").concat(i,", payload: ").concat(JSON.stringify(n))),[2,Promise.reject(d)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shoppingCart/shoppingCartCount.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchShoppingCartCount=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");t.fetchShoppingCartCount=function(e,t){return void 0===t&&(t=0),i(void 0,void 0,void 0,(function(){var n,i,s;return o(this,(function(o){switch(o.label){case 0:return n=e.shopId,i=(0,a.getApiUrl)("ShoppingCartV2/GetCount?locationId=".concat(t),e,!1),s={method:r.RequestMethod.POST,body:JSON.stringify({shopId:n})},[4,(0,r.fetchApi)(i,s)];case 1:return[2,o.sent()]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shoppingCart/shoppingCartPreviewList.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchShoppingCartPreviewList=t.fetchShoppingCartPreviewListMapping=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");t.fetchShoppingCartPreviewListMapping=function(e){var t=(e.Data.ShopList[0]||{}).SalePageList;return(void 0===t?[]:t).map((function(e){var t,n=e.Title,i=void 0===n?"":n,o=e.PicUrl,r=e.Price,a=void 0===r?0:r,s=e.Qty,c=void 0===s?0:s,l=e.SalePageId,u=void 0===l?0:l,d=e.SalePageGroupSeq,g=void 0===d?0:d,p=e.SaleProductSKUId,m=void 0===p?0:p,f=e.PointsPayPair,I=e.ShoppingCartId,h=e.RelatedItemGroup,b=e.RelatedItemType,y=e.ExtraPurchaseItems;return{title:i,mediaUrlList:[o],link:u&&"/SalePage/Index/".concat(u),price:a,quantity:c,salePageId:u,salePageSeq:g,saleProductSKUId:m,pointsPayPair:{pointsPayId:(null==f?void 0:f.PointsPayId)||0,pairsPrice:(null==f?void 0:f.PairsPrice)||0,pairsPoints:(null==f?void 0:f.PairsPoints)||0},shoppingCartId:I,relatedItemGroup:h,relatedItemType:b,extraPurchaseItems:y?(t=y,t.map((function(e){var t,n,i;return{title:e.Title,mediaUrlList:[e.PicUrl],link:e.SalePageId&&"/AddOnsSalePage/Index/".concat(e.SalePageId),price:e.Price,quantity:e.Qty,salePageId:e.SalePageId,salePageSeq:e.SalePageGroupSeq,saleProductSKUId:e.SaleProductSKUId,pointsPayPair:{pointsPayId:(null===(t=e.PointsPayPair)||void 0===t?void 0:t.PointsPayId)||0,pairsPrice:(null===(n=e.PointsPayPair)||void 0===n?void 0:n.PairsPrice)||0,pairsPoints:(null===(i=e.PointsPayPair)||void 0===i?void 0:i.PairsPoints)||0}}}))):[]}}))};t.fetchShoppingCartPreviewList=function(e,n){return void 0===n&&(n=0),i(void 0,void 0,void 0,(function(){var i,s,c,l;return o(this,(function(o){switch(o.label){case 0:return i=e.shopId,s=(0,a.getApiUrl)("ShoppingCartV3/GetShoppingCartPreview?locationId=".concat(n),e,!1),c={method:r.RequestMethod.POST,body:JSON.stringify({shopId:i})},[4,(0,r.fetchApi)(s,c)];case 1:return l=o.sent(),[2,(0,t.fetchShoppingCartPreviewListMapping)(l)]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/smartTag/fetchSmartTagSetting.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0});var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js");t.default=function(e){return i(void 0,void 0,void 0,(function(){var t,n,i;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),t="/cms/api/smartTag/setting/".concat(e),n={method:r.RequestMethod.GET},[4,(0,r.fetchApi)(t,n)];case 1:return[2,o.sent()];case 2:return i=o.sent(),a.log.error("[ERROR] fetchSmartTagSettingStream error: ".concat((0,a.getErrorName)(i),": ").concat((0,a.getErrorMessage)(i),", shopId: ").concat(e)),[2,Promise.reject(i)];case 3:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/authIsLogin.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchAuthIsLogin=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js"),c=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js"),l=!1,u=!1,d=null;t.fetchAuthIsLogin=function(){return i(void 0,void 0,void 0,(function(){var e,t,n,i,g;return o(this,(function(o){switch(o.label){case 0:return e=(0,r.getDependencies)(),t=(0,c.getStreamInjection)(e),n=t.shopId,i=(0,s.getApiUrl)("Auth/IsLogin",t,!1),g={method:a.RequestMethod.POST,body:JSON.stringify({shopId:n})},u?[3,2]:(u=!0,[4,d=(0,a.fetchApi)(i,g)]);case 1:return l=o.sent(),[2,Promise.resolve(l)];case 2:return[2,d]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/fetchAuthKeepAlive.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchAuthKeepAlive=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");t.fetchAuthKeepAlive=function(e){return i(void 0,void 0,void 0,(function(){var t,n,i;return o(this,(function(o){switch(o.label){case 0:t=e.shopId,o.label=1;case 1:return o.trys.push([1,3,,4]),n=(0,s.getApiUrl)("AuthV4/KeepAlive",e,!0),[4,(0,a.fetchApi)(n)];case 2:return o.sent(),[2];case 3:return i=o.sent(),r.log.error("[ERROR] fetchAuthKeepAlive error: ".concat((0,r.getErrorName)(i),": ").concat((0,r.getErrorMessage)(i),", shopId: ").concat(t)),[3,4];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/fetchVipMemberEmailNotification.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchVipMemberEmailNotification=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js");t.fetchVipMemberEmailNotification=function(e){return i(void 0,void 0,void 0,(function(){var t,n,i,c,l,u;return o(this,(function(o){switch(o.label){case 0:t=e.shopId,o.label=1;case 1:return o.trys.push([1,3,,4]),n=(0,r.getApiUrl)("VipMember/GetVipMemberEmailNotification/".concat(t),e,!1),[4,(0,s.fetchApi)(n)];case 2:return i=o.sent(),c=i.Data,l=i.Message,c?[2,(d=c,{email:d.Email,isEnableEDM:d.IsEnableEDM,isEnableTradesOrder:d.IsEnableTradesOrder,isEnablePriceReduction:d.IsEnablePriceReduction,isEnableECouponExpire:d.IsEnableECouponExpire,isEnableCustomerServerReply:d.IsEnableCustomerServerReply,isEnableEdmSMS:d.IsEnableEdmSMS,isEnableSystemSMS:d.IsEnableSystemSMS,languageType:d.LanguageType})]:(a.log.error("[ERROR] fetchVipMemberEmailNotification failed: No Data"),[2,Promise.reject(l)]);case 3:return u=o.sent(),a.log.error("[ERROR] fetchVipMemberEmailNotification failed: ".concat((0,a.getErrorName)(u),": ").concat((0,a.getErrorMessage)(u),": shopId: ").concat(t)),[2,Promise.reject(u)];case 4:return[2]}var d}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/updateVipMemberEmailNotification.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.updateVipMemberEmailNotification=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/fetchVipMemberEmailNotification.stream.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),c=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js");t.updateVipMemberEmailNotification=function(e){var t=e.streamInjection,n=e.params;return i(void 0,void 0,void 0,(function(){var e,i,l,u,d,g,p;return o(this,(function(o){switch(o.label){case 0:e=t.shopId,o.label=1;case 1:return o.trys.push([1,4,,5]),[4,(0,a.fetchVipMemberEmailNotification)(t)];case 2:return i=o.sent(),l={Email:n.email||i.email,IsEnableEDM:n.isEnableEDM||i.isEnableEDM,IsEnableTradesOrder:n.isEnableTradesOrder||i.isEnableTradesOrder,IsEnablePriceReduction:n.isEnablePriceReduction||i.isEnablePriceReduction,IsEnableECouponExpire:n.isEnableECouponExpire||i.isEnableECouponExpire,IsEnableCustomerServerReply:n.isEnableCustomerServerReply||i.isEnableCustomerServerReply,IsEnableEdmSMS:n.isEnableEdmSMS||i.isEnableEdmSMS,IsEnableSystemSMS:n.isEnableSystemSMS||i.isEnableSystemSMS,LanguageType:n.languageType||i.languageType,Token:n.token||""},u=(0,s.getApiUrl)("VipMember/UpdateVipMemberEmailNotification",t,!1),d={method:r.RequestMethod.POST,body:JSON.stringify(l),timeout:{response:6e4,deadline:9e4}},[4,(0,r.fetchApi)(u,d)];case 3:if("API0001"===(g=o.sent()).ReturnCode)return[2,g];throw new Error(g.Message);case 4:return p=o.sent(),c.log.error("[ERROR] updateVipMemberEmailNotification failed: ".concat((0,c.getErrorName)(p),": ").concat((0,c.getErrorMessage)(p),": shopId: ").concat(e)),[2,Promise.reject(p)];case 5:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/vipMember/fetchVIPMemberHashInfoForAdvertise.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchVIPMemberHashInfoForAdvertise=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");t.fetchVIPMemberHashInfoForAdvertise=function(e){return i(void 0,void 0,void 0,(function(){var t,n,i,c,l,u,d,g;return o(this,(function(o){switch(o.label){case 0:t=e.shopId,o.label=1;case 1:return o.trys.push([1,3,,4]),n=(0,s.getApiUrl)("Advertise/GetVIPMemberHashInfoForAdvertise/".concat(t),e,!1),[4,(0,a.fetchApi)(n)];case 2:return i=o.sent(),c=null===(d=null==i?void 0:i.Data)||void 0===d?void 0:d.EmailHashed,(l=null===(g=null==i?void 0:i.Data)||void 0===g?void 0:g.PhoneHashed)&&localStorage.setItem("ph",l),c&&localStorage.setItem("em",c),[2];case 3:return u=o.sent(),r.log.error("[ERROR] fetchVIPMemberHashInfoForAdvertise failed: ".concat((0,r.getErrorName)(u),": ").concat((0,r.getErrorMessage)(u),": shopId: ").concat(t)),[2,Promise.reject(u)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/streams/vipMember/fetchVipMemberInfo.stream.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchVipMemberOuterId=t.fetchVipMemberInfo=void 0;var r,a,s=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),c=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),l=n("./node_modules/@91app/nineyi.lib.themecore/out/src/configs/cookieKey.config.js"),u=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/httpProvider.js"),d=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js");!function(e){e[e.UnKnown=0]="UnKnown",e[e.Male=1]="Male",e[e.Female=2]="Female"}(r||(r={})),function(e){e[e.Normal=0]="Normal",e[e.MemberModule=1]="MemberModule",e[e.LocationBinding=2]="LocationBinding"}(a||(a={}));t.fetchVipMemberInfo=function(e,t){return void 0===t&&(t=!1),i(void 0,void 0,void 0,(function(){var n,i,r,a;return o(this,(function(o){switch(o.label){case 0:n=e.shopId,o.label=1;case 1:return o.trys.push([1,3,,4]),i=(0,d.getApiUrl)("/VIPMember/GetVipInfo?isBinding=".concat(t),e,!1),[4,(0,u.fetchApi)(i)];case 2:return r=o.sent(),[2,Promise.resolve(r.Data)];case 3:return a=o.sent(),c.log.error("[ERROR] fetchVipMemberInfo GetVipInfo failed: ".concat((0,c.getErrorName)(a),": ").concat((0,c.getErrorMessage)(a),": shopId: ").concat(n)),[2,Promise.reject(a)];case 4:return[2]}}))}))};t.fetchVipMemberOuterId=function(e,n){return i(void 0,void 0,void 0,(function(){var i,r,a,u,d,g,p;return o(this,(function(o){switch(o.label){case 0:i=e.shopId,o.label=1;case 1:return o.trys.push([1,3,,4]),n?(r=(0,l.vipMemberOuterIdCookie)(i),(a=(0,s.getCookie)(r))?[2,a]:[4,(0,t.fetchVipMemberInfo)(e)]):(c.log.debug("[streams/vipMember/fetchVipMemberInfo.stream] fetchVipMemberOuterId stop, user is not login"),[2,null]);case 2:return u=o.sent(),(d=null===(p=null==u?void 0:u.VipMember)||void 0===p?void 0:p.OuterId)&&(0,s.addCookie)(r,d),[2,Promise.resolve(d)];case 3:return g=o.sent(),c.log.error("[ERROR] fetchVipMemberOuterId failed: ".concat((0,c.getErrorName)(g),": ").concat((0,c.getErrorMessage)(g),": shopId: ").concat(i)),[2,Promise.reject(g)];case 4:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_base.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.RectangleIcon=t.base=void 0;var o,r=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_color.js");t.base={containerMaxWidth:"1180px",footerHeight:"260px",layoutBorderWidth:"3px",themeColor:a.color.reddishPink,mobileHeaderHeight:"56px",mobileFooterHeight:"100px",slidePushMenuVerticalHeight:"75vh",layoutBase:{background:a.color.white,border:a.color.brownishGrey,font:a.color.blackTwo,fontHover:a.color.Grapefruit,fontUnderline:a.color.Grapefruit,badgeBackground:a.color.Grapefruit,badgeFont:a.color.white},coreTag:{tagFont:a.color.reddishPink,tagBorder:a.color.reddishPink,crmMemberTierTagBGColor:a.color.reddishPink},cardHeight:"165px"},t.RectangleIcon=(0,r.css)(o||(o=i(["\n    line-height: 24px,\n    display: block,\n    box-sizing: border-box,\n    width: 24px,\n    height: 24px,\n    text-align: center,\n    border: 1px solid,\n    border-radius: 5px,\n"],["\n    line-height: 24px,\n    display: block,\n    box-sizing: border-box,\n    width: 24px,\n    height: 24px,\n    text-align: center,\n    border: 1px solid,\n    border-radius: 5px,\n"])))},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_buttons.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.IconRectangleButton=t.IconButton=void 0;var r,a,s=o(n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js")),c=n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_utilCss.js");t.IconButton=s.default.span(r||(r=i(["\n    ","\n    cursor: pointer;\n    font-size: 16px;\n"],["\n    ","\n    cursor: pointer;\n    font-size: 16px;\n"])),c.FlexboxCenterStyles),t.IconRectangleButton=s.default.div(a||(a=i(["\n    ","\n    margin: 0 auto;\n    cursor: pointer;\n    width: 100%;\n    height: 27px;\n    border-radius: 3px;\n"],["\n    ","\n    margin: 0 auto;\n    cursor: pointer;\n    width: 100%;\n    height: 27px;\n    border-radius: 3px;\n"])),c.FlexboxCenterStyles)},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_color.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.color=void 0,t.color={black:"#222222",blackTwo:"#000000",blackThree:"#333333",blackOpacity50:"rgba(0, 0, 0, 0.5)",brownishGrey:"#666666",gunmetal:"#4a4e5c",greyishBrown:"#4a4a4a",warmGrey:"#999999",warmGreyTwo:"#7a7a7a",warmGreyThree:"#979797",greyish:"#b8b8b8",greyishTwo:"#aaaaaa",greyishThree:"#e0e0e0",greyishFour:"#b7b7b7",paleGrey:"#f7f8fa",steel:"#888b94",lighterGreyishBrown:"#595959",grey:"#dddddd",darkGrey:"#4B4B4B",blueGrey:"#ECEDF1",nightGrey:"#333",silverGrey:"#bbbbbb",white:"#ffffff",whiteTwo:"#f5f5f5",whiteThree:"#d8d8d8",whiteFour:"#f0f0f0",whiteFive:"#f8f8f8",whiteSix:"#fdfdfd",silver:"#d4d9de",paleGreyTwo:"#e0e7ed",whiteSeven:"#f0ebeb",whiteEight:"#fdfdfd",whiteNine:"#e8e8e8",whiteTen:"#ececec",transparent:"transparent",midGreen:"#4cad4c",aquaMarine:"#50e3c2",darkGrassGreen:"#417505",limeGreen:"#00c300",deepForestgreen:"#388138",veryLightGreen:"#e8fcf3",classGreen:"#7ed321",purply:"#7834a1",veryLightPurple:"#fcf7ff",pigPink:"#ff98b7",charmingPink:"#ff6593",mediumPink:"#e94d8a",grapefruit:"#ff5353",reddishPink:"#ff2750",rosa:"#ff84a2",darkScarlet:"#e32f39",veryLightPink:"#fce8ee",veryLightPeach:"#ffdfe9",veryLightRed:"#fce8ea",darkPink:"#dc2f8b",windowsBlue:"#428bca",azure:"#20afea",cloudyBlue:"#129cd5",seafoamBlue:"#5cc7d7",deepSkyBlue:"#0184ff",tiffanyBlue:"#47b3c3",deepDodgerBlue:"#1783af",veryLightBlue:"#e8f5fc",veryLightNavy:"#e8fafc",cornflowerBlue:"#4a90e2",lightBlue:"#469BE5",sapphire:"#142280",babyBlue:"#daf7ff",pastelBlue:"#e0efff",primaryBlue:"#5ba9ff",pumpkinOrange:"#fb8521",mango:"#ff9933",veryLightMango:"#f4f4f4",veryLightOrange:"#fcf8e8",yellow:"#ffc52f",lightYellow:"#fffbeb"}},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_default.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.defaultColor=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_color.js");t.defaultColor={themeBtnBackground:i.color.blackThree,themeBorder:i.color.brownishGrey,themeInputFont:i.color.brownishGrey,themeInputBorder:i.color.whiteThree,themeInputIcon:i.color.gunmetal,themeInputPlaceholder:i.color.warmGrey,mainText:i.color.Gunmetal,secondaryText:i.color.brownishGrey,price:i.color.grapefruit,suggestprice:i.color.greyishTwo,error:i.color.grapefruit,link:i.color.windowsBlue,line:i.color.silver,socialFB:i.color.windowsBlue,socialLine:i.color.limeGreen,socialIG:i.color.darkPink,immediatelyBuyBtn:i.color.grapefruit,addToCartBtn:i.color.mango,bodyBackgroundColor:i.color.whiteFour,bodyFontColor:i.color.blackThree,badgeBackground:"#f93",badgeFont:"#fff",favBtn:"#f93",toolBoxTextBg:"#f93",layoutInputFont:"#fff",layoutInputBorder:"rgba(#fff,.45)",layoutInputIcon:"#fff",layoutInputPlaceholder:"#d8d8d8",layoutFbIcon:"#fff",layoutLineIcon:"#fff",layoutIgIcon:"#fff",layoutFooterMaintitle:"#fff",layoutFooterSubtitle:"#f0ebeb",layoutFooterSamlltitle:"#d8d8d8",mobieHeaderBackground:"#333",mobieHeaderFont:"#fff",mobileHeaderUnderline:"#000",mobieNavFont:"#666",mobieFooterBg:"#fff",mobileBadgeBg:"#ff5353",mobileBadgeFont:"#fff"}},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_space.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.space=void 0,t.space={spaceInlineXs:"4px",spaceInlineS:"6px",spaceInlineM:"8px",spaceInlineL:"12px",spaceInlineXl:"20px",spaceStackXs:"4px",spaceStackS:"8px",spaceStackM:"12px",spaceStackL:"16px",spaceStackXl:"30px"}},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_typography.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.typography=void 0,t.typography={fontSizeXs:"12px",fontSizeS:"13px",fontSizeDefault:"14px",fontSizeM:"16px",fontSizeMl:"18px",fontSizeL:"20px",fontSizeXl:"22px",fontSizeXxl:"26px"}},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_utilCss.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.FlexboxCenterStyles=t.RectangleIcon=void 0;var o,r,a=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js");t.RectangleIcon=(0,a.css)(o||(o=i(["\n    line-height: 24px,\n    display: block,\n    box-sizing: border-box,\n    width: 24px,\n    height: 24px,\n    text-align: center,\n    border: 1px solid,\n    border-radius: 5px,\n"],["\n    line-height: 24px,\n    display: block,\n    box-sizing: border-box,\n    width: 24px,\n    height: 24px,\n    text-align: center,\n    border: 1px solid,\n    border-radius: 5px,\n"]))),t.FlexboxCenterStyles=(0,a.css)(r||(r=i(["\n    display: flex;\n    justify-content: center;\n    align-items: center;\n"],["\n    display: flex;\n    justify-content: center;\n    align-items: center;\n"])))},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_zindex.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.zindex=void 0,t.zindex={componentZindex:{toast:1070,toastBack:1060,modal:1050,modalBack:1040,slidePushMenu:1e3,scrollToTop:250,nsMediaGallery:200,navTab:90,nsToolBox:499,mainVision:550,smartAppBanner:500,relatedTagWrapper:3,productBlockBar:2,relatedTagMask:2,sliderDots:2,base:1},headerZindex:{fullScreen:700,navMenu:650,layoutHeader:500,searchKeywordList:100},footerZindex:{nsBasket:300,scrollToTop:250,layoutFooter:200,nsBrowsingHistory:100}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/limitLineTitle.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e,t,n,i){return void 0===n&&(n=e+1),void 0===i&&(i="break-word"),"\n      font-size: ".concat(e,"px;\n      line-height: ").concat(n,"px;\n      text-overflow: ellipsis;\n      white-space: normal;\n      -webkit-line-clamp: ").concat(t,";\n      display: -webkit-box;\n      -webkit-box-orient: vertical;\n      overflow: hidden;\n      word-break: ").concat(i,";\n      max-height: ").concat(n*t,"px;\n  ")}},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.limitLineTitle=void 0,o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_base.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_buttons.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_color.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_default.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_space.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_typography.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/_zindex.js"),t);var a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/common/limitLineTitle.js");Object.defineProperty(t,"limitLineTitle",{enumerable:!0,get:function(){return r(a).default}}),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/mixin/_clearFix.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/styles/mixin/_webkitFontSmooth.js"),t)},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/mixin/_clearFix.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.Clearfix=void 0;var o,r=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js");t.Clearfix=(0,r.css)(o||(o=i(["\n    &:before,\n    &:after {\n        content: '';\n        display: table;\n        clear: both;\n    }\n"],["\n    &:before,\n    &:after {\n        content: '';\n        display: table;\n        clear: both;\n    }\n"])))},"./node_modules/@91app/nineyi.lib.themecore/out/src/styles/mixin/_webkitFontSmooth.js":function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.webkitFontSmooth=void 0;var o,r=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/styled-components/dist/styled-components.browser.esm.js");t.webkitFontSmooth=(0,r.css)(o||(o=i(["\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n"],["\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n"])))},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/ApiResponse.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/Config.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/Database.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EDIT_TYPE=void 0,t.EDIT_TYPE={PAGE:"page",GLOBAL_SETTING:"globalSetting"}},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/Dependencies.js":(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.SoldOutTypeEnum=t.SoldOutActionType=void 0,function(e){e.BackInStockAlert="BackInStockAlert",e.NoRestock="NoRestock",e.OutOfStock="OutOfStock",e.Restock="Restock"}(t.SoldOutActionType||(t.SoldOutActionType={})),function(e){e[e.OutOfStock=0]="OutOfStock",e[e.Restock=1]="Restock"}(t.SoldOutTypeEnum||(t.SoldOutTypeEnum={})),function(e){e[e.Continue=100]="Continue",e[e.SwitchingProtocols=101]="SwitchingProtocols",e[e.Processing=102]="Processing",e[e.OK=200]="OK",e[e.Created=201]="Created",e[e.Accepted=202]="Accepted",e[e.NonAuthoritativeInformation=203]="NonAuthoritativeInformation",e[e.NoContent=204]="NoContent",e[e.ResetContent=205]="ResetContent",e[e.PartialContent=206]="PartialContent",e[e.MultiStatus=207]="MultiStatus",e[e.AlreadyReported=208]="AlreadyReported",e[e.IMUsed=226]="IMUsed",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.Found=302]="Found",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.LengthRequired=411]="LengthRequired",e[e.PreconditionFailed=412]="PreconditionFailed",e[e.PayloadTooLarge=413]="PayloadTooLarge",e[e.URITooLong=414]="URITooLong",e[e.UnsupportedMediaType=415]="UnsupportedMediaType",e[e.RangeNotSatisfiable=416]="RangeNotSatisfiable",e[e.ExpectationFailed=417]="ExpectationFailed",e[e.ImATeapot=418]="ImATeapot",e[e.MisdirectedRequest=421]="MisdirectedRequest",e[e.UnprocessableEntity=422]="UnprocessableEntity",e[e.Locked=423]="Locked",e[e.FailedDependency=424]="FailedDependency",e[e.UpgradeRequired=426]="UpgradeRequired",e[e.PreconditionRequired=428]="PreconditionRequired",e[e.TooManyRequests=429]="TooManyRequests",e[e.RequestHeaderFieldsTooLarge=431]="RequestHeaderFieldsTooLarge",e[e.UnavailableForLegalReasons=451]="UnavailableForLegalReasons",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout",e[e.HTTPVersionNotSupported=505]="HTTPVersionNotSupported",e[e.VariantAlsoNegotiates=506]="VariantAlsoNegotiates",e[e.InsufficientStorage=507]="InsufficientStorage",e[e.LoopDetected=508]="LoopDetected",e[e.NotExtended=510]="NotExtended",e[e.NetworkAuthenticationRequired=511]="NetworkAuthenticationRequired"}(n||(n={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/NineYi.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/PreloadedState.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/RecommendationSection.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/ShopCategory.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SlideMenuType=void 0,function(e){e.SubCategory="SubCategory",e.Category="Category",e.CustomLink="CustomLink"}(t.SlideMenuType||(t.SlideMenuType={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/SiteInfo.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/StyledTheme.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/api/index.js":function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.OsmApi=t.MWebApi=void 0;var o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/api/mwebApi.js");Object.defineProperty(t,"MWebApi",{enumerable:!0,get:function(){return i(o).default}});var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/api/osmApi.js");Object.defineProperty(t,"OsmApi",{enumerable:!0,get:function(){return i(r).default}})},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/api/mwebApi.js":(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){!function(e){!function(e){!function(e){!function(e){!function(e){e[e.Unknown=0]="Unknown",e[e.Desktop=1]="Desktop",e[e.Mobile=2]="Mobile"}(e.DeviceModeEnum||(e.DeviceModeEnum={}))}(e.Device||(e.Device={})),function(e){!function(e){e[e.Album=0]="Album",e[e.Article=1]="Article",e[e.Video=2]="Video"}(e.InfoModuleTypeEnum||(e.InfoModuleTypeEnum={}))}(e.InfoModule||(e.InfoModule={})),function(e){!function(e){e[e.Default=0]="Default",e[e.TopBottom=1]="TopBottom",e[e.Top=2]="Top",e[e.TopLeft=3]="TopLeft"}(e.LayoutAreaDisplayEnum||(e.LayoutAreaDisplayEnum={})),function(e){e[e.Default=0]="Default",e[e.Index=1]="Index",e[e.ShoppingCar=2]="ShoppingCar",e[e.Activity=3]="Activity"}(e.LayoutTemplateTypeEnum||(e.LayoutTemplateTypeEnum={})),function(e){e[e.Category=0]="Category",e[e.Brand=1]="Brand",e[e.Payment=2]="Payment",e[e.MyAccount=3]="MyAccount",e[e.Empty=4]="Empty"}(e.LeftAsideTypeEnum||(e.LeftAsideTypeEnum={})),function(e){e[e.Activity=0]="Activity",e[e.Content=1]="Content",e[e.Image=2]="Image"}(e.OfficialShopLayoutTypeEnum||(e.OfficialShopLayoutTypeEnum={})),function(e){e[e.InProcess=0]="InProcess",e[e.Open=1]="Open",e[e.Closed=2]="Closed"}(e.OfficialShopStatusDefEnum||(e.OfficialShopStatusDefEnum={})),function(e){e[e.SelfOwned=0]="SelfOwned",e[e.SubDomain=1]="SubDomain"}(e.OfficialShopTypeDefEnum||(e.OfficialShopTypeDefEnum={}))}(e.Official||(e.Official={})),function(e){!function(e){e[e.DiscountPrice=1]="DiscountPrice",e[e.DiscountRate=2]="DiscountRate",e[e.FixedPrice=4]="FixedPrice",e[e.FreeGift=8]="FreeGift",e[e.All=15]="All"}(e.PromotionConditionDiscountTypeV2Enum||(e.PromotionConditionDiscountTypeV2Enum={})),function(e){e[e.TotalPrice=1]="TotalPrice",e[e.TotalQty=2]="TotalQty",e[e.ReachQty=4]="ReachQty",e[e.TotalPriceV2=8]="TotalPriceV2",e[e.TotalQtyV2=16]="TotalQtyV2",e[e.CrmMemberTierTotalPrice=32]="CrmMemberTierTotalPrice",e[e.All=63]="All"}(e.PromotionConditionTypeV2Enum||(e.PromotionConditionTypeV2Enum={})),function(e){e[e.Shop=1]="Shop",e[e.Category=2]="Category",e[e.SalePage=4]="SalePage",e[e.PromotionSalePage=8]="PromotionSalePage",e[e.All=15]="All"}(e.PromotionTargetTypeV2Enum||(e.PromotionTargetTypeV2Enum={}))}(e.Promotion||(e.Promotion={})),function(e){!function(e){e[e.Normal=1]="Normal",e[e.PreOrderWithStartDate=2]="PreOrderWithStartDate",e[e.CustomMade=3]="CustomMade",e[e.CustomerAppointment=4]="CustomerAppointment",e[e.PreOrderWithStartDateAndEndDate=5]="PreOrderWithStartDateAndEndDate"}(e.SaleProductShippingTypeEnum||(e.SaleProductShippingTypeEnum={})),function(e){e[e.Normal=1]="Normal",e[e.Refrigerator=2]="Refrigerator",e[e.Freezer=3]="Freezer"}(e.SaleProductTemperatureTypeEnum||(e.SaleProductTemperatureTypeEnum={}))}(e.SalePage||(e.SalePage={})),function(e){!function(e){e[e.Front=0]="Front",e[e.Last=1]="Last"}(e.SalePageVideoPositionTypeEnum||(e.SalePageVideoPositionTypeEnum={})),function(e){e[e.MainImage=0]="MainImage",e[e.SaleProductDesc=1]="SaleProductDesc"}(e.SalePageVideoTypeEnum||(e.SalePageVideoTypeEnum={}))}(e.SalePageV2||(e.SalePageV2={})),function(e){!function(e){e[e.ES=0]="ES",e[e.DB=1]="DB"}(e.SearchDataSourceEnum||(e.SearchDataSourceEnum={}))}(e.Search||(e.Search={})),function(e){!function(e){e[e.Free=0]="Free",e[e.OverPrice=1]="OverPrice",e[e.Fixed=2]="Fixed"}(e.ShippingFeeTypeDefEnum||(e.ShippingFeeTypeDefEnum={})),function(e){e[e.Home=1]="Home",e[e.Family=2]="Family",e[e.SevenEleven=4]="SevenEleven",e[e.FamilyPickup=8]="FamilyPickup",e[e.SevenElevenPickup=16]="SevenElevenPickup",e[e.LocationPickup=32]="LocationPickup",e[e.CashOnDelivery=64]="CashOnDelivery",e[e.All=127]="All"}(e.ShippingProfileTypeDefEnum||(e.ShippingProfileTypeDefEnum={}))}(e.ShippingProfile||(e.ShippingProfile={})),function(e){!function(e){e[e.None=0]="None",e[e.Black=1]="Black",e[e.Blue=2]="Blue",e[e.Purple=3]="Purple",e[e.Pink=4]="Pink",e[e.Green=5]="Green",e[e.Grey=6]="Grey",e[e.Orange=7]="Orange",e[e.Peach=8]="Peach",e[e.Light=9]="Light",e[e.Red=10]="Red",e[e.Cyan=11]="Cyan"}(e.ShopHeaderStyleDefEnum||(e.ShopHeaderStyleDefEnum={})),function(e){e[e.Ordinary=0]="Ordinary",e[e.Main=1]="Main",e[e.Medium=2]="Medium",e[e.Small=3]="Small",e[e.Lite=4]="Lite",e[e.Free=5]="Free"}(e.ShopTypeDefEnum||(e.ShopTypeDefEnum={}))}(e.Shop||(e.Shop={})),function(e){!function(e){e[e.CreditCardOnce=0]="CreditCardOnce",e[e.CreditCardInstallment=1]="CreditCardInstallment",e[e.Family=2]="Family",e[e.SevenEleven=3]="SevenEleven"}(e.ShoppingCartPayTypeEnum||(e.ShoppingCartPayTypeEnum={})),function(e){e[e.Unknown=0]="Unknown",e[e.Mall=1]="Mall",e[e.Brand=2]="Brand"}(e.ShoppingCartTrackChannelTypeDefEnum||(e.ShoppingCartTrackChannelTypeDefEnum={})),function(e){e[e.Unknown=0]="Unknown",e[e.PC=1]="PC",e[e.Mobile=2]="Mobile",e[e.Pad=3]="Pad"}(e.ShoppingCartTrackDeviceTypeDefEnum||(e.ShoppingCartTrackDeviceTypeDefEnum={})),function(e){e[e.Unknown=0]="Unknown",e[e.Web=1]="Web",e[e.iOSApp=2]="iOSApp",e[e.AndroidApp=3]="AndroidApp",e[e.LocationWizard=4]="LocationWizard"}(e.ShoppingCartTrackSourceTypeDefEnum||(e.ShoppingCartTrackSourceTypeDefEnum={}))}(e.ShoppingCart||(e.ShoppingCart={})),function(e){!function(e){e[e.OutOfStock=0]="OutOfStock",e[e.Restock=1]="Restock"}(e.SoldOutTypeEnum||(e.SoldOutTypeEnum={}))}(e.ShopProfile||(e.ShopProfile={}))}(e.BE||(e.BE={}))}(e.Frontend||(e.Frontend={}))}(e.WebStore||(e.WebStore={}))}(n||(n={})),t.default=n},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/api/osmApi.js":(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){!function(e){!function(e){!function(e){!function(e){!function(e){!function(e){e[e.Upload=0]="Upload",e[e.Material=1]="Material",e[e.Temp=2]="Temp"}(e.ImageUploadTypeEnum||(e.ImageUploadTypeEnum={})),function(e){e[e.NoChange=0]="NoChange",e[e.New=1]="New",e[e.Delete=2]="Delete",e[e.Clone=3]="Clone"}(e.ImageOperationTypeEnum||(e.ImageOperationTypeEnum={}))}(e.Images||(e.Images={}))}(e.BE||(e.BE={}))}(e.BL||(e.BL={}))}(e.Sms||(e.Sms={}))}(e.NineYi||(e.NineYi={}))}(n||(n={})),t.default=n},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/db/index.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/api/index.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/db/index.js"),t)},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/ApiResponse.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/Config.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/Database.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/Dependencies.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/NineYi.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/PreloadedState.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/RecommendationSection.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/ShopCategory.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/SiteInfo.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/StyledTheme.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/deprecated/index.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/product.js"),t)},"./node_modules/@91app/nineyi.lib.themecore/out/src/typings/product.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TemplateKeyEnum=t.SalepageMetafieldDisplayTypeEnum=t.ProductModuleOrderBy=t.SortType=t.SortDirection=void 0,function(e){e.ASC="ASC",e.DESC="DESC"}(t.SortDirection||(t.SortDirection={})),function(e){e.SPECIAL_PRICE="SPECIAL_PRICE"}(t.SortType||(t.SortType={})),function(e){e.PRICE_HIGH_TO_LOW="PriceHighToLow",e.PRICE_LOW_TO_HIGH="PriceLowToHigh",e.PAGE_VIEW="PageView",e.NEWEST="Newest",e.SALES="Sales",e.CURATOR="Curator"}(t.ProductModuleOrderBy||(t.ProductModuleOrderBy={})),function(e){e.TEXT="Text",e.PRIMARY_LABEL="PrimaryLabel",e.SECONDARY_LABEL="SecondaryLabel"}(t.SalepageMetafieldDisplayTypeEnum||(t.SalepageMetafieldDisplayTypeEnum={})),function(e){e.SALEPAGE_TITLE="salepage_title"}(t.TemplateKeyEnum||(t.TemplateKeyEnum={}))},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/altUtility.js":(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.getDefaultAlt=t.ALT_TYPE=void 0,function(e){e.BANNER="DEFAULT",e.BLOG="DEFAULT",e.CAROUSEL="CAROUSEL",e.DEFAULT="DEFAULT",e.FULL_SCREEN_ADS="FULL_SCREEN_ADS",e.QUICK_ENTRY="DEFAULT",e.STATIC_BANNER="STATIC_BANNER"}(n=t.ALT_TYPE||(t.ALT_TYPE={}));t.getDefaultAlt=function(e,t,i){var o;void 0===e&&(e="DEFAULT"),void 0===t&&(t="image"),void 0===i&&(i=0);var r=n.DEFAULT,a=n.CAROUSEL,s=n.STATIC_BANNER,c=n.FULL_SCREEN_ADS;return((o={})[a]="".concat(t,"-carousel-").concat(i+1),o[s]="".concat(t,"-staticBanner-").concat(i+1),o[c]="FullScreenAds-".concat(i+1),o[r]="".concat(t,"-").concat(i+1),o)[e]}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFtsApiUrl=t.getBffApiUrl=t.getApiUrl=t.apiRootPath=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/urlUtility.js");t.apiRootPath="webapi/";t.getApiUrl=function(e,n,i){var r=n.apiConfig,a=n.shopId,s=n.locale,c=n.isClearCache,l=n.retailStoreId,u=!0===i&&!0===r.isEnableCdnApi,d=("undefined"==typeof window?r.serverApiHost:u?r.cdnApiHost:r.clientApiHost)+t.apiRootPath+e;return d=function(e,t){return(0,o.appendParameter)(e,"shopId",t.toString())}(d=!0===c?function(e){return(0,o.appendParameter)(e,"r","t")}(d):d,a),d=function(e,t){return(0,o.appendParameter)(e,"lang",t)}(d,s),l&&(d=function(e,t){return(0,o.appendParameter)(e,"retailStoreId",t)}(d,l)),d};t.getBffApiUrl=function(){var e=(0,i.getDependencies)(),t=e.apiConfig,n=e.shopId,o=e.locale;return"".concat(null==t?void 0:t.bffHost,"/pythia-cdn/graphql?shopId=").concat(n,"&lang=").concat(o)};t.getFtsApiUrl=function(){var e=(0,i.getDependencies)().apiConfig;return(null==e?void 0:e.ftsHostTemp)||""}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/bannerUtility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initBannerData=void 0;var i=n("./node_modules/lodash/lodash.js"),o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/urlUtility.js");t.initBannerData=function(e){var t=e.dependencies,n=e.defaultImage,r=e.isMobile,a=e.dataSource,s=(0,i.sortBy)(a.materialList,"itemIndex"),c=t.shopId,l=t.imageServiceConfig,u=function(e,t,n){return e?!0===r?null==t?void 0:t.resizeList:null==n?void 0:n.resizeList:null==t?void 0:t.resizeList};return s.map((function(e){var i=e.linkUrl,a=e.title,s=e.itemIndex,d=e.isSplitPicture,g=e.desktopImageInfo,p=e.mobileImageInfo,m=e.isEnableCompressDesktop,f=e.isEnableCompressMobile,I=e.altText,h=e.isPresetImage,b=e.scheduleList,y=e.compressVersion;return{imageUrl:r?(0,o.getMobileImageUrl)(c,l,n,e):(0,o.getDesktopImageUrl)(c,l,n,e),linkUrl:i,title:a,itemIndex:s,dependencies:t,resizeList:u(d,p,g),isEnableCompress:r&&!0===d?f:m,altText:I,isPresetImage:h,scheduleList:b,isMobile:r,defaultImage:n,compressVersion:y,isSplitPicture:d,isEnableCompressDesktop:m,isEnableCompressMobile:f}}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/breadcrumbs.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.mappingMultiLevelBreadcrumbs=void 0;t.mappingMultiLevelBreadcrumbs=function(e){var t=e.breadcrumbsList,n={};return t.forEach((function(e,t){n["categoryIdLevel".concat(t+1)]=e.Id,n["categoryNameLevel".concat(t+1)]=e.Name,0===t?n.currentCategoryName=e.Name:n.currentCategoryName+=" > ".concat(e.Name)})),n}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/categoryMenuUtility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCurrentCategoryPosition=t.checkHasChild=void 0;t.checkHasChild=function(e){return e.childList&&e.childList.length>0};var n={mainMenuIndex:-1,isChildListOpen:!1};t.getCurrentCategoryPosition=function(e,i){try{var o=e.findIndex((function(e){return e.id===i}));if(o>-1)return{mainMenuIndex:o,isChildListOpen:(0,t.checkHasChild)(e[o])};var r=0,a=function(){if(r>=e.length)throw new Error("currentId does not exist in categoryList");if((0,t.checkHasChild)(e[r])){var n=e[r].childList.findIndex((function(e){return e.id===i}));if(n>-1)return{mainMenuIndex:r,isChildListOpen:!0,subMenuIndex:n}}return r+=1,a()};return a()}catch(s){return n}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/constructUtility.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.applyStaticModule=void 0;var o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/index.js");t.applyStaticModule=function(e,t,n){return t===o.AREA_NAME.HEADER?function(e,t){var n=e.header,o=e.center,r=e.footer;return{header:[i(i({},n[0]),{id:t})],center:o,footer:r}}(e,n):e}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/customTranslation.utility.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.getCustomTransData=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/@91app/nine1.lib.custom-translation/dist/index.umd.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shop/fetchCustomTranslation.stream.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),c=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js");t.getCustomTransData=function(e){return i(void 0,void 0,void 0,(function(){var t,n,i,d,g,p,m,f,I,h;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),t=(0,c.getDependencies)(),n=t.market,i=t.shopId,d=t.env,g=t.locale,p=(0,c.getGlobalVariable)().env,m=l((null==d?void 0:d.toLowerCase())||(null==p?void 0:p.toLowerCase())),f=null==n?void 0:n.toLocaleLowerCase(),m&&(0,r.isHasCustomTransModuleSetting)({platform:r.platformKeyEnum.mweb,moduleType:r.moduleTypeEnum.cms,env:m,market:f,shopId:i})?[4,(0,a.fetchCustomTranslationData)(i,m)]:[2,null];case 1:return(I=o.sent())?[2,u(I,g,e)]:[2,null];case 2:return h=o.sent(),s.log.error("[ERROR] getCustomTransData failed: ".concat((0,s.getErrorName)(h),": ").concat((0,s.getErrorMessage)(h))),[2,null];case 3:return[2]}}))}))};var l=function(e){switch(e){case"dev":case"qa":return r.envEnum.qa;default:return e}},u=function(e,t,n){return n.reduce((function(n,i){var o;return n[i]=(null===(o=null==e?void 0:e[t])||void 0===o?void 0:o[i])||null,n}),{})}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dateFormat.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isDotNetDate=t.dotNetDateToDate=void 0;t.dotNetDateToDate=function(e){return"/Date(-62135596800000)/"===e?null:new Date(parseInt(e.replace("/Date(","").replace(")/",""),10))};t.isDotNetDate=function(e){return!!/^\/Date/.test(e)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/deepLink.utility.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.redirectDeepLink=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shop/fetchDeepLink.stream.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js"),c=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/refUtility.js");t.redirectDeepLink=function(e){return i(void 0,void 0,void 0,(function(){var t,n,i,l,u;return o(this,(function(o){switch(o.label){case 0:t=(0,r.getDependencies)(),n=(0,s.getStreamInjection)(t),i=(0,c.getUtmDeeplinkTarget)(e),o.label=1;case 1:return o.trys.push([1,3,,4]),u={targetUrl:i},[4,(0,a.fetchDeepLink)({streamInjection:n,payload:u})];case 2:return l=o.sent(),[3,4];case 3:return o.sent(),l=i,[3,4];case 4:return window.location.href=l,[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getStreamInjection=void 0;t.getStreamInjection=function(e){var t=e.shopProfile,n=e.apiConfig,i=e.isClearCache,o=e.device,r=e.locale,a=e.retailStoreId;return{shopId:t.ShopBasicInfo.ShopId,apiConfig:n,isClearCache:i,device:o,locale:r,retailStoreId:a}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dom.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.freezeBody=t.setDocumentKeyword=t.setDocumentDescription=t.setDocumentTitle=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/render.utility.js");t.setDocumentTitle=function(e,t){document.title=t?"".concat(e," - ").concat(t):e};t.setDocumentDescription=function(e){var t;null===(t=document.querySelector('meta[name="description"]'))||void 0===t||t.setAttribute("content",e)};t.setDocumentKeyword=function(e){var t;null===(t=document.querySelector('meta[name="keywords"]'))||void 0===t||t.setAttribute("content",e)};t.freezeBody=function(e){(0,i.checkIsClientRender)()&&(e?window.document.body.classList.add("freeze"):window.document.body.classList.remove("freeze"))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/error.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.timeoutError=t.getErrorCode=t.getErrorBody=t.errorJSON=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/serialize-error/index.js");t.errorJSON=i.serializeError;t.getErrorBody=function(e){var t;return(null===(t=e.response)||void 0===t?void 0:t.body)||e};t.getErrorCode=function(e,t){return"".concat(t,"_").concat(e)};t.timeoutError=function(e,n,i){return{name:"TimeoutError",message:e.message||"Connection timeout. Please try again.",code:(0,t.getErrorCode)(i||"E001",n)}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/extendingLoginTime.utility.js":function(e,t,n){"use strict";var i=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.extendingLoginTime=void 0;var r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/fetchAuthKeepAlive.stream.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js"),c=!0;t.extendingLoginTime=function(){return i(void 0,void 0,void 0,(function(){var e,t,n,i,l;return o(this,(function(o){switch(o.label){case 0:return e=(0,r.getDependencies)(),t=(0,s.getStreamInjection)(e),n=null===(l=null===(i=null==e?void 0:e.shopProfile)||void 0===i?void 0:i.ShopBasicInfo)||void 0===l?void 0:l.EnableSessionExpire,c&&n?(c=!1,setTimeout((function(){c=!0}),6e4),[4,(0,a.fetchAuthKeepAlive)(t)]):[3,2];case 1:o.sent(),o.label=2;case 2:return[2]}}))}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/featureControl.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsEnableAdidasCustom=t.checkIsHideTypeButton=t.getMujiCustomerFooterConfig=t.checkCustomerHeaderConfig=t.getShopsDesktopImageNeedCompress=t.getCustomerUIConfig=t.getCustomerCarouselAutoplaySecond=t.getCustomerServiceMessage=t.checkIsBubbleAddToCart=t.checkIsNewPXProductList=t.checkIsBreadcrumbsActive=t.checkIsUseFastBuy=t.checkIsDirectlyAddToCart=t.checkIsProductCardTargetBlankOnCategoryPage=t.checkIsChannelSwitchActive=t.checkIsChannelActive=t.getCustomSettingLib=t.getCustomSetting=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/@91app/nine1.lib.custom-setting/dist/index.umd.js"),o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js"),r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js");t.getCustomSetting=function(e){try{var t=(0,r.getDependencies)(),n=t.market,a=t.shopId,s=t.env,c=(0,r.getGlobalVariable)().env,l=(null==s?void 0:s.toLowerCase())||(null==c?void 0:c.toLowerCase());return(0,i.getSetting)(l,n,a,e)}catch(u){return o.log.error("[ERROR] getCustomSetting failed: ".concat((0,o.getErrorName)(u),": ").concat((0,o.getErrorMessage)(u),": settingName: ").concat(e)),null}};t.getCustomSettingLib=function(){return{getSetting:i.getSetting}};t.checkIsChannelActive=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isChannelActive)};t.checkIsChannelSwitchActive=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isChannelSwitchActive)};t.checkIsProductCardTargetBlankOnCategoryPage=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isProductCardTargetBlankOnCategoryPage)};t.checkIsDirectlyAddToCart=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isDirectlyAddToCart)};t.checkIsUseFastBuy=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isUseFastBuy)};t.checkIsBreadcrumbsActive=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isBreadcrumbsActive)};t.checkIsNewPXProductList=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isNewPXProductList)};t.checkIsBubbleAddToCart=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isBubbleAddToCart)};t.getCustomerServiceMessage=function(){return(0,t.getCustomSetting)(i.settingNameEnum.customerServiceMessageConfig)};t.getCustomerCarouselAutoplaySecond=function(){return(0,t.getCustomSetting)(i.settingNameEnum.customCarouselAutoplaySecond)};t.getCustomerUIConfig=function(){return(0,t.getCustomSetting)(i.settingNameEnum.customerUIConfig)};t.getShopsDesktopImageNeedCompress=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isShopsDesktopImageNeedCompress)};t.checkCustomerHeaderConfig=function(){return(0,t.getCustomSetting)(i.settingNameEnum.customerHeaderConfig)};t.getMujiCustomerFooterConfig=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isMujiCustomerFooter)};t.checkIsHideTypeButton=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isHideTypeButton)};t.checkIsEnableAdidasCustom=function(){return(0,t.getCustomSetting)(i.settingNameEnum.isEnableAdidasCustom)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/imagePath.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.homeImage=t.storeExpressImage=t.positionImage=t.locationImage=t.sevenElevenImage=t.serviceBusyImage=t.ristrictImage=t.retailStoreDeliveryPeopleSmallImage=t.retailStoreDeliveryPeopleLargeImage=t.retailStoreDeliveryLogoImage=t.retailStoreDeliveryDownArrowImage=t.restrictedMaskImage=t.poyaPayImage=t.pageNotFoundImage=t.noLocationImage=t.mujiFooterLogoImage=t.locationPickUpImage=t.loadingImage=t.lineShopNoteImage=t.lineShopNoteCloseButtonImage=t.lineShopNoteCloseBarImage=t.linePayImage=t.invalidNameImage=t.googlePlayIconImage=t.getImageUrl=t.familyMartImage=t.editorVideoRectangleImage=t.editorSquareImage=t.editorRectangleImage=t.editorRecommendationProductSquareImage=t.editorProductSquareImage=t.deliveryImage=t.defaultSquareImage=t.defaultRectangleImage=t.defaultLogoImage=t.defaultIconImage=t.defaultEmptySquareImage=t.creditCardImage=t.colorLoadingImage=t.cateringImages=t.cashOnDeliveryImage=t.appleStoreIconImage=t.appStoreImages=t.getImageSrcSet=t.getCompressImageFullUrl=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/index.js"),o="/images",r="".concat(o,"/image_square.svg");t.editorSquareImage=r;var a="".concat(o,"/image_rectangle.png");t.editorRectangleImage=a;var s="".concat(o,"/default_square.svg");t.defaultSquareImage=s;var c="".concat(o,"/default_rectangle.svg");t.defaultRectangleImage=c;var l="".concat(o,"/default_empty_square.svg");t.defaultEmptySquareImage=l;var u="".concat(o,"/shop_default_icon.svg");t.defaultIconImage=u;var d="".concat(o,"/video_rectangle.svg");t.editorVideoRectangleImage=d;var g="".concat(o,"/product_square.png");t.editorProductSquareImage=g;var p="".concat(o,"/recommendation_product_square.png");t.editorRecommendationProductSquareImage=p;var m="".concat(o,"/page_not_exist.svg");t.pageNotFoundImage=m;var f="".concat(o,"/family_mart.svg");t.familyMartImage=f;var I="".concat(o,"/seven_eleven_up.svg");t.sevenElevenImage=I;var h="".concat(o,"/credit_card.svg");t.creditCardImage=h;var b="".concat(o,"/line_pay.svg");t.linePayImage=b;var y="".concat(o,"/poya_pay.svg");t.poyaPayImage=y;var C="".concat(o,"/cash_on_delivery.svg");t.cashOnDeliveryImage=C;var v="".concat(o,"/location_pick_up.svg");t.locationPickUpImage=v;var B="".concat(o,"/delivery.svg");t.deliveryImage=B;var A="".concat(o,"/logo_default.png");t.defaultLogoImage=A;var _="".concat(o,"/muji_footer_logo.svg");t.mujiFooterLogoImage=_;var S="".concat(o,"/under18.svg");t.ristrictImage=S;var G="".concat(o,"/restricted_mask.png");t.restrictedMaskImage=G;var Q="".concat(o,"/lineshop-note.jpg");t.lineShopNoteImage=Q;var E="".concat(o,"/lineshop-x-btn.png");t.lineShopNoteCloseButtonImage=E;var F="".concat(o,"/lineshop-note-close-bar.png");t.lineShopNoteCloseBarImage=F;var w="".concat(o,"/invalid-name.png");t.invalidNameImage=w;var T="".concat(o,"/loading.gif");t.loadingImage=T;var x="".concat(o,"/appstore.svg");t.appleStoreIconImage=x;var k="".concat(o,"/googleplay.svg");t.googlePlayIconImage=k;var N="".concat(o,"/delivery_logo.png");t.retailStoreDeliveryLogoImage=N;var O="".concat(o,"/delivery_people_large.png");t.retailStoreDeliveryPeopleLargeImage=O;var Z="".concat(o,"/delivery_people_small.png");t.retailStoreDeliveryPeopleSmallImage=Z;var U="".concat(o,"/delivery_Union.png");t.retailStoreDeliveryDownArrowImage=U;var R="".concat(o,"/no_location.svg");t.noLocationImage=R;var X="".concat(o,"/service_busy.png");t.serviceBusyImage=X;var W="".concat(o,"/loading.svg");t.colorLoadingImage=W;var V="".concat(o,"/location.svg");t.locationImage=V;var P="".concat(o,"/position.svg");t.positionImage=P;var D="".concat(o,"/storeDelivery.svg");t.storeExpressImage=D;var H="".concat(o,"/home.svg");t.homeImage=H;var L={onlineShopping:"".concat(o,"/catering_online_shoping_reservation.svg"),tableReservation:"".concat(o,"/catering_table_reservation.svg"),takeoutOrDelivery:"".concat(o,"/catering_takeout_or_delivery_reservation.svg"),waitingAccept:"".concat(o,"/catering_waiting_accept.svg"),preparing:"".concat(o,"/catering_preparing.svg"),readyForPickup:"".concat(o,"/catering_ready_for_pickup.svg"),driverOnTheWay:"".concat(o,"/catering_driver_on_the_way.svg"),orderReceived:"".concat(o,"/catering_order_received.svg"),checkin:"".concat(o,"/catering_checkin.svg"),defaultRestaurant:"".concat(o,"/catering_empty_restaurant.svg"),restaurant:"".concat(o,"/catering_dummy_restaurant.png")};t.cateringImages=L;var Y={apple:"".concat(o,"/badge_common_applestore.svg"),google:"".concat(o,"/badge_common_googleplay.svg")};t.appStoreImages=Y;t.getImageUrl=function(e,t,n){return new RegExp("^(http|https)://","i").test(n)?n:"".concat(t.imageHost).concat(t.imagePath).concat(e,"/").concat(n)};t.getCompressImageFullUrl=function(e){try{var t=e.imageUrl,n=e.resizeList,o=e.imageServiceConfig,r=e.shopId,a=e.compressVersion,s=void 0===a?i.IMAGE_COMPRESS_VERSION.COMPRESS_TO_WEBP_V2:a,c={},l="".concat(o.imageHost,"images/compress/").concat(r),u=t.split("/"),d=u[u.length-1];if(n&&n.length>0){var g=d.split("_"),p=g[g.length-1].split(".")[1];n.forEach((function(e){var n="".concat(g[0],"_").concat(g[1],"_").concat(e.width,"x").concat(e.height);s===i.IMAGE_COMPRESS_VERSION.COMPRESS_TO_WEBP_V1||s===i.IMAGE_COMPRESS_VERSION.COMPRESS_TO_WEBP_V2?c[e.type]="".concat(l,"/").concat(n,".webp"):(console.debug("舊版圖片壓縮:",s,t),c[e.type]="".concat(l,"/").concat(n,".").concat(p))}))}else{var m="".concat(o.imageHost).concat(o.imagePath).concat(r);c={original:"".concat(m,"/").concat(d)}}return c}catch(f){throw console.error("getCompressImageFullUrl ",f.message),f}};t.getImageSrcSet=function(e,n,o,r){var a;if(!n||0===n.length||!r)return"";var s=o.imageServiceConfig,c=o.shopId,l=(0,t.getCompressImageFullUrl)({imageUrl:e,resizeList:n,imageServiceConfig:s,shopId:c,compressVersion:r}),u=((a={})[i.IMAGE_COMPRESS_VERSION.COMPRESS_TO_WEBP_V1]=i.COMPRESS_V1_SIZE,a[i.IMAGE_COMPRESS_VERSION.COMPRESS_TO_WEBP_V2]=i.COMPRESS_V2_SIZE,a)[r],d=Object.entries(l).reduce((function(e,t,n,i){var o=t[0],r=t[1],a=u[o];return a?(e+="".concat(r," ").concat(a,"w"),n!==i.length-1&&(e+=","),e):e}),"");return d}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/altUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/apiUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/bannerUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/breadcrumbs.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/categoryMenuUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/constructUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dateFormat.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/deepLink.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dom.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/error.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/extendingLoginTime.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/featureControl.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/imagePath.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/inputNumber.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/lineShopUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/locale.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/mapping.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/productCard.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/productList.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/promiseUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/randomKey.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/refUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/render.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/runtimeModeUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/scroll.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/storage.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/style.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/themeData.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/time.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/toastMessageUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/toolboxUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/tracking.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/trackingData.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/urlUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/userAgentUtility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/validate.utility.js"),t),o(n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/valueUtility.js"),t)},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/inputNumber.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMatchNumberKeyCodeAllowed=void 0;t.isMatchNumberKeyCodeAllowed=function(e){return e>47&&e<58||e>95&&e<106||e>36&&e<41||8===e||46===e||102===e||190===e}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/lineShopUtility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsShowingPopup=void 0;var i=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/storage.utility.js");t.checkIsShowingPopup=function(e){var t="lineshopping"===(0,i.getCookie)("trace-fr"),n='"'.concat((0,i.getCookie)("trace-fr2"),'"'),r=(0,o.checkIsSupportLocalStorage)(),a=n!==(r&&window.localStorage.getItem("ls.LineshopRedirectNote"));return a&&r&&window.localStorage.setItem("ls.LineshopRedirectNote",n),e.IsLineShopLandingPopupEnabled&&t&&a}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/locale.utility.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.getReCAPTCHALang=t.applyClientTranslationData=t.getLanguageListList=t.getCurrencyList=t.getLocaleTitle=t.getImageLocale=t.getTranslatedDataByKey=void 0;var o=n("./node_modules/lodash/lodash.js"),r=n("./node_modules/object-path/index.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/render.utility.js"),s=(0,r.get)(n.g,"nineyi.dependencies.locale","zh-TW"),c=(0,r.get)(n.g,"nineyi.dependencies.translationsData");t.getTranslatedDataByKey=function(e){return(0,r.get)(c,"".concat(s,".").concat(e))};t.getImageLocale=function(){return(null==s?void 0:s.split("-")[0])||"zh"};t.getLocaleTitle=function(e,t){var n=(0,o.find)(t,(function(t){return t.value===e}));return null==n?void 0:n.title};t.getCurrencyList=function(e,t){return void 0===t&&(t=[]),e?e.filter((function(e){return t.includes(e.code)})).map((function(e){return{title:"".concat(e.code," ").concat(e.display),value:e.code}})):[]};t.getLanguageListList=function(e,t){return e?e.filter((function(e){return t.includes(e.lang)})).map((function(e){return{title:e.display,value:e.lang}})):[]};t.applyClientTranslationData=function(e,t,n){var o;return i(i({},e),((o={})[n]=i(i({},e[n]),t),o))};t.getReCAPTCHALang=function(){if((0,a.checkIsServerRender)())return"zh-TW";var e=window.nineyi.dependencies.locale;switch(e){case"zh-TW":return e;case"ms-MY":return"ms";case"ja-JP":return"ja";case"en-US":return"en";default:return"zh-TW"}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.log=t.getErrorName=t.getErrorMessage=t.agathaLogger=void 0;var s,c=n("./node_modules/@91app/nineyi.utility.log.client/dist/src/index.js"),l=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/render.utility.js"),u=a(n("./node_modules/loglevel-format/lib/loglevel-plugin-format.js")),d=a(n("./node_modules/stacktrace-js/stacktrace.js")),g=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),p=(0,g.getGlobalVariable)(),m=p.stackdriverConfig,f=p.logLevel,I=p.dependencies,h=p.env,b=(0,l.checkIsClientRender)(),y="PROD"===(null==h?void 0:h.toUpperCase())?"f2e-maintain-prod":"f2e-maintain-qa";t.getErrorMessage=function(e){var t,n,i;if("text/html"===(null===(t=null==e?void 0:e.response)||void 0===t?void 0:t.type))return(null===(i=null===(n=null==e?void 0:e.response)||void 0===n?void 0:n.error)||void 0===i?void 0:i.message)||"An unexpected HTML error occurred.";if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);try{return e.message||JSON.stringify(e).replace(/"/g,"'").replace(/,/g,"")}catch(o){return"An error occurred, but it cannot be serialized for logging."}};t.getErrorName=function(e){var t,n;return e instanceof Error?e.name:"object"==typeof e&&null!==e&&null!==(n=null===(t=e.constructor)||void 0===t?void 0:t.name)&&void 0!==n?n:"Error"},t.log=u.apply(function(){var e,t=(0,g.getGlobalVariable)().stackdriverConfig;return b&&!e&&t&&(e=(0,c.registeErrorHandler)({envName:window.nineyi.env,stackDriverConfig:t,level:s})),c.log.methodFactory=function(){return function(t){var n=JSON.parse(t);return e&&"ERROR"===(null==n?void 0:n.level)&&e.report(null==n?void 0:n.message),t}},c.log}()),b&&m&&(window.StackTrace=window.StackTrace||d,s=f,(0,c.initalizeLogger)(s),t.agathaLogger=c.AgathaReporter.instance(i({projectId:y,serviceName:"".concat(null==m?void 0:m.name,"-theme-core")},I?{clientInfo:{shopId:I.shopId,market:I.market,env:I.env,lang:I.locale}}:{})))},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/mapping.utility.js":function(e,t){"use strict";var n=this&&this.__assign||function(){return n=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},n.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.combineMappingProps=t.dispatchToProps=t.stateToProps=void 0;t.stateToProps=function(e,t){return n({},Object.keys(e).reduce((function(i,o){var r=e[o].mapStateToProps(t);return n(n({},i),r)}),{}))};t.dispatchToProps=function(e,t){return n({},Object.keys(e).reduce((function(i,o){var r=e[o].mapDispatchToProps(t);return n(n({},i),r)}),{}))};t.combineMappingProps=function(e){return{mapStateToProps:function(n){return(0,t.stateToProps)(e,n)},mapDispatchToProps:function(n){return(0,t.dispatchToProps)(e,n)}}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/productCard.utility.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.combineSalepageWithMetafieldTemplate=t.isDataMatchedByNowTime=t.convertKeysToPascalCase=t.productCardMappingProductBadgeData=void 0;var o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/typings/index.js"),r=n("./node_modules/uuid/dist/commonjs-browser/index.js"),a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dateFormat.utility.js");t.productCardMappingProductBadgeData=function(e,t){var n,i=new Date;if(!e||0===e.length)return"";var o=e.filter((function(e){return"N1-S-ProductBadge"===e.Group}));if(o&&o.length>0){var r=[];if(null===(n=o[0].Key)||void 0===n||n.map((function(e){return(0,a.isDotNetDate)("".concat(e.StartTime))||(0,a.isDotNetDate)("".concat(e.EndTime))?(0,a.isDotNetDate)("".concat(e.StartTime))&&(0,a.isDotNetDate)("".concat(e.EndTime))&&new Date((0,a.dotNetDateToDate)("".concat(e.StartTime))).getTime()<i.getTime()&&new Date((0,a.dotNetDateToDate)("".concat(e.EndTime))).getTime()>i.getTime()&&r.push(e):new Date(e.StartTime).getTime()<i.getTime()&&new Date(e.EndTime).getTime()>i.getTime()&&r.push(e),null})),r&&r.length>0&&r[r.length-1]&&r[r.length-1].PicUrl)return"3:4"===t?r[r.length-1].PicUrl.RatioThreeToFour||r[r.length-1].PicUrl.RatioOneToOne||"":r[r.length-1].PicUrl.RatioOneToOne||""}return""};t.convertKeysToPascalCase=function(e){var t={};for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))t[n[0].toUpperCase()+n.substr(1)]=e[n]}return t};t.isDataMatchedByNowTime=function(e,t,n){void 0===n&&(n=(new Date).getTime());var i=(0,a.isDotNetDate)("".concat(e))?new Date((0,a.dotNetDateToDate)("".concat(e))).getTime():new Date(e).getTime(),o=(0,a.isDotNetDate)("".concat(t))?new Date((0,a.dotNetDateToDate)("".concat(t))).getTime():new Date(t).getTime();return i<n&&o>n};t.combineSalepageWithMetafieldTemplate=function(e,t){var n=null==t?void 0:t.templateFields;if(!Array.isArray(n)||!t)return i(i({},e),{combinedMetafields:[]});var a=e.metafields,s=n.map((function(t){var n=t.key,s=null==a?void 0:a[n];return n===o.TemplateKeyEnum.SALEPAGE_TITLE?i(i({},t),{value:e.title,uniqueId:(0,r.v4)()}):n&&s?i(i({},t),{value:s.value,uniqueId:(0,r.v4)()}):null})).filter((function(e){return!!e}));return i(i({},e),{combinedMetafields:s})}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/productList.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getProductListDataKey=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/themeModule.constants.js");t.getProductListDataKey=function(e,t){return t===i.SOURCE_TYPE.OUTER_ID?"".concat(i.PRODUCT_LIST_MODULE_DATA_PREFIX.OUTER_LIST).concat(e):t===i.SOURCE_TYPE.CATEGORY_ID?"".concat(i.PRODUCT_LIST_MODULE_DATA_PREFIX.CATEGORY_SALEPAGE_LIST).concat(e):t===i.SOURCE_TYPE.RECOMMENDATION_ID?"".concat(i.PRODUCT_LIST_MODULE_DATA_PREFIX.RECOMMENDATION_SALEPAGE_LIST).concat(e):"".concat(i.PRODUCT_LIST_MODULE_DATA_PREFIX.SALEPAGE_LIST).concat(e)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/promiseUtility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDeferredValue=t.deleteDefer=t.createDefer=void 0;var n={};t.createDefer=function(e){n[e]={}};t.deleteDefer=function(e){delete n[e]};t.getDeferredValue=function(e,i,o){return n[e]||(0,t.createDefer)(e),n[e][i]||(n[e][i]=o(),n[e][i].then((function(t){return n[e][i]=null,t}))),n[e][i]}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/randomKey.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateShortKey=void 0;t.generateShortKey=function(e){return Math.random().toString(36).substr(2,e)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/refUtility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setUtmString=t.getNewDeeplinkUrl=t.getUtmDeeplinkTarget=t.replaceRefUrl=t.getUtmQueryString=t.getPageIdentityPath=void 0;var i=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/urlUtility.js");t.getPageIdentityPath=function(e,t){return"".concat(e,"/").concat(window.location.pathname.replace(t,""))};t.getUtmQueryString=function(e,t,n,i,r,a){var s=t||(0,o.getQueryString)("utm_source",e),c=n||(0,o.getQueryString)("utm_medium",e),l=i||(0,o.getQueryString)("utm_campaign",e),u=r||(0,o.getQueryString)("utm_term",e),d=a||(0,o.getQueryString)("utm_content",e),g=(0,o.getQueryString)("gclid"),p=(0,o.getQueryString)("fbclid"),m="";return s&&(m=(0,o.appendParameter)(m,"utm_source",s)),c&&(m=(0,o.appendParameter)(m,"utm_medium",c)),l&&(m=(0,o.appendParameter)(m,"utm_campaign",l)),u&&(m=(0,o.appendParameter)(m,"utm_term",u)),d&&(m=(0,o.appendParameter)(m,"utm_content",d)),g&&(m=(0,o.appendParameter)(m,"gclid",g)),p&&(m=(0,o.appendParameter)(m,"fbclid",p)),m};t.replaceRefUrl=function(e,n,i){var o="".concat(e,"/ref/").concat(i,"/"),r="",a="",s=!1;switch(n){case"OfficailIndex":r="".concat(a="ShopHome","/").concat(i);break;case"SalePageIndex":a="SalePage",r=(0,t.getPageIdentityPath)(a,new RegExp("/salepage/index/","ig"));break;case"SalePageCategory":a="ShopSalePageCategory",r=(0,t.getPageIdentityPath)(a,new RegExp("/v2/official/SalePageCategory/","ig"));break;case"CouponDetail":a="Coupon",r=(0,t.getPageIdentityPath)(a,new RegExp("/Coupon/Detail/","ig"));break;case"CouponList":r=a="Couponlist";break;case"VideoDetail":a="Video",r=(0,t.getPageIdentityPath)(a,new RegExp("/Video/Detail/","ig"));break;case"ArticleDetail":a="Article",r=(0,t.getPageIdentityPath)(a,new RegExp("/Article/Detail/","ig"));break;case"AlbumDetail":a="Album",r=(0,t.getPageIdentityPath)(a,new RegExp("/Album/Detail/","ig"));break;case"VideoList":r=a="VideoList";break;case"ArticleList":r=a="ArticleList";break;case"AlbumList":r=a="AlbumList";break;case"ECouponDetail":a="eCoupon",r=(0,t.getPageIdentityPath)(a,new RegExp("/ECoupon/Detail/","ig"));break;case"ECouponList":r=a="eCouponList";break;case"PromotionDetail":a="promotion",r=(0,t.getPageIdentityPath)(a,new RegExp("/Promotion/Detail/","ig"));break;case"ActivityIndex":a="activity",r=(0,t.getPageIdentityPath)(a,new RegExp("/v2/activity/","ig"));break;case"ShopStoreList":r=a="LocationList";break;default:r="".concat(a="ShopHome","/").concat(i),s=!0}return o+r+(0,t.getUtmQueryString)(void 0,"mweb","download_banner",s?"others":a)};t.getUtmDeeplinkTarget=function(e){var n,i=(0,o.getQueryString)("utm_source"),r=(0,o.getQueryString)("utm_medium"),a=(0,o.getQueryString)("utm_campaign"),s=(0,o.getQueryString)("utm_term"),c=(0,o.getQueryString)("utm_content");if(i||r||a||s||c||!window.sessionStorage)n=e?e+(0,t.getUtmQueryString)():window.location.origin+window.location.pathname+(0,t.getUtmQueryString)();else{var l=sessionStorage.getItem("utmSource"),u=sessionStorage.getItem("utmMedium"),d=sessionStorage.getItem("utmCampaign"),g=sessionStorage.getItem("utmTerm"),p=sessionStorage.getItem("utmContent");n=window.location.origin+window.location.pathname+(0,t.getUtmQueryString)(null,l,u,d,g,p)}if("/v2/search"===window.location.pathname.toLowerCase()){var m=(0,o.getQueryString)("q");m&&(n=(0,o.appendParameter)(n,"q",m))}return n};t.getNewDeeplinkUrl=function(e){var t=window.location,n=t.origin,r=t.pathname,a=e?"".concat(n,"/apps").concat(r):"".concat(n,"/apps/v2/official"),s=(0,o.getQueryString)("utm_source")||(null===sessionStorage||void 0===sessionStorage?void 0:sessionStorage.getItem("utmSource")),c=(0,o.getQueryString)("utm_medium")||(null===sessionStorage||void 0===sessionStorage?void 0:sessionStorage.getItem("utmMedium")),l=(0,o.getQueryString)("utm_campaign")||(null===sessionStorage||void 0===sessionStorage?void 0:sessionStorage.getItem("utmCampaign")),u=(0,o.getQueryString)("utm_term")||(null===sessionStorage||void 0===sessionStorage?void 0:sessionStorage.getItem("utmTerm")),d=(0,o.getQueryString)("utm_content")||(null===sessionStorage||void 0===sessionStorage?void 0:sessionStorage.getItem("utmContent")),g=(0,o.getQueryString)("fr")||(0,i.getCookie)("trace-fr"),p=(0,o.getQueryString)("fr2")||(0,i.getCookie)("trace-fr2");if("/v2/search"===r.toLowerCase()){var m=(0,o.getQueryString)("q");m&&(a=(0,o.appendParameter)(a,"q",m))}return s&&(a=(0,o.appendParameter)(a,"utm_source",s)),c&&(a=(0,o.appendParameter)(a,"utm_medium",c)),l&&(a=(0,o.appendParameter)(a,"utm_campaign",l)),u&&(a=(0,o.appendParameter)(a,"utm_term",u)),d&&(a=(0,o.appendParameter)(a,"utm_content",d)),g&&(a=(0,o.appendParameter)(a,"fr",g)),p&&(a=(0,o.appendParameter)(a,"fr2",p)),a};t.setUtmString=function(){var e=(0,o.getQueryString)("utm_source"),t=(0,o.getQueryString)("utm_medium"),n=(0,o.getQueryString)("utm_campaign"),i=(0,o.getQueryString)("utm_term"),r=(0,o.getQueryString)("utm_content");sessionStorage&&(e&&sessionStorage.setItem("utmSource",e),t&&sessionStorage.setItem("utmMedium",t),n&&sessionStorage.setItem("utmCampaign",n),i&&sessionStorage.setItem("utmTerm",i),r&&sessionStorage.setItem("utmContent",r))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/render.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsServerRender=t.checkIsClientRender=void 0;t.checkIsClientRender=function(){return"undefined"!=typeof window};t.checkIsServerRender=function(){return"undefined"==typeof window}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/runtimeModeUtility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsPreviewMode=t.checkIsEditMode=t.checkIsFromApp=void 0;var i=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/render.utility.js"),r=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js");t.checkIsFromApp=function(){return(0,o.checkIsClientRender)()&&void 0!==(0,i.getCookie)("appVer")&&""!==(0,i.getCookie)("appVer")};t.checkIsEditMode=function(){return!0===(0,r.getGlobalVariable)().isEditMode};t.checkIsPreviewMode=function(){return!0===(0,r.getGlobalVariable)().isPreviewMode}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/scroll.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getScrollPage=t.scrollTo=void 0;t.scrollTo=function(e){return void 0===e&&(e=0),window.requestAnimationFrame((function(){window.scrollTo(0,e)}))};t.getScrollPage=function(){var e=0;return document.documentElement&&null!==document.documentElement&&(e=document.documentElement.scrollTop),window.pageYOffset||e}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/storage.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeLocalStorageItem=t.getLocalStorageItem=t.saveLocalStorageItem=t.checkIsSupportLocalStorage=t.removeSessionItem=t.getSessionItem=t.saveSessionItem=t.checkIsSupportSessionStorage=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/render.utility.js");t.checkIsSupportSessionStorage=function(){return(0,i.checkIsClientRender)()&&void 0!==window.sessionStorage};t.saveSessionItem=function(e,n){(0,t.checkIsSupportSessionStorage)()&&sessionStorage.setItem(e,JSON.stringify(n))};t.getSessionItem=function(e){return(0,t.checkIsSupportSessionStorage)()?JSON.parse(JSON.stringify(sessionStorage.getItem(e)||null)):null};t.removeSessionItem=function(e){if(!(0,t.checkIsSupportSessionStorage)())return null;sessionStorage.removeItem(e)};t.checkIsSupportLocalStorage=function(){return(0,i.checkIsClientRender)()&&void 0!==window.localStorage};t.saveLocalStorageItem=function(e,n){(0,t.checkIsSupportLocalStorage)()&&localStorage.setItem(e,JSON.stringify(n))};t.getLocalStorageItem=function(e){return(0,t.checkIsSupportLocalStorage)()?JSON.parse(JSON.stringify(localStorage.getItem(e)||null)):null};t.removeLocalStorageItem=function(e){if(!(0,t.checkIsSupportLocalStorage)())return null;localStorage.removeItem(e)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/style.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.darken=void 0;var i=n("./node_modules/@91app/nineyi.lib.themecore/node_modules/polished/dist/polished.esm.js");t.darken=function(e,t){return function(e){return 4===e.length?"#".concat(e[1]).concat(e[1]).concat(e[2]).concat(e[2]).concat(e[3]).concat(e[3]):e}((0,i.darken)(e,t))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/themeData.utility.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsEnableSetHorizontalSpacing=t.getHeaderAttributes=void 0;var i=n("./node_modules/lodash/lodash.js"),o=n("./node_modules/@91app/nineyi.lib.themecore/out/src/configs/moduleSetting.config.js");t.getHeaderAttributes=function(e){var t=(0,i.find)(e.header,(function(e){return"Header"===e.groupId}));return null==t?void 0:t.attributes};t.checkIsEnableSetHorizontalSpacing=function(e){return o.moduleIdsEnableSetHorizontalSpacing.includes(e)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/time.utility.js":function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.parseMicrosoftJSONDate=void 0;var o=i(n("./node_modules/dayjs/dayjs.min.js"));t.parseMicrosoftJSONDate=function(e){var t=(0,o.default)(e);if(t.isValid())return t.toDate();var n=e.match(/\/Date\((\d+)([+-]\d{4})?\)\//);if(n){var i=parseInt(n[1],10);return new Date(i)}return""}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/toastMessageUtility.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.getToastMessageItem=t.MESSAGE=t.MessageStatus=t.MessageType=void 0;var o,r,a=n("./node_modules/react-i18nify/es/index.js"),s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/index.js");!function(e){e.SUCCESS="success",e.WARNING="warning"}(o=t.MessageType||(t.MessageType={})),function(e){e.ADD_SUCCESS="AddSuccess",e.BACK_IN_STOCK_INPUT_MAIL_SUCCESS="BackInStockInputMailSuccess",e.BACK_IN_STOCK_SUBSCRIBE_SUCCESS="BackInStockSubscribeSuccess",e.BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS="BackInStockUnsubscribeSuccess",e.CANCEL_BACK_IN_STOCK_INPUT_MAIL_SUCCESS="CancelBackInStockInputMailSuccess",e.FILTER_UPPER_LIMIT="FilterUpperLimit",e.IS_CLOSED="IsClosed",e.LOGIN_SUCCESS="loginSuccess",e.LOGOUT_SUCCESS="logoutSuccess",e.NOT_FOUND="NotFound",e.NO_START="NoStart",e.REMOVE_SUCCESS="removeSuccess",e.SELECT_ERROR="SelectError",e.SOLD_OUT="SoldOut",e.SUBMIT_ERROR="SubmitError",e.SYSTEM_ERROR="SystemError",e.UN_LISTING="UnListing",e.GET_SALEPAGE_BUNDLE_ERROR="GetSalepageBundleError"}(r=t.MessageStatus||(t.MessageStatus={})),t.MESSAGE={TYPE:o,STATUS:r};var c=[{type:t.MESSAGE.TYPE.SUCCESS,status:t.MESSAGE.STATUS.LOGIN_SUCCESS,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.LOGIN_SUCCESS},{type:t.MESSAGE.TYPE.SUCCESS,status:t.MESSAGE.STATUS.LOGOUT_SUCCESS,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.LOGOUT_SUCCESS},{type:t.MESSAGE.TYPE.SUCCESS,status:t.MESSAGE.STATUS.ADD_SUCCESS,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.ADD_SUCCESS},{type:t.MESSAGE.TYPE.SUCCESS,status:t.MESSAGE.STATUS.REMOVE_SUCCESS,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.REMOVE_SUCCESS},{type:t.MESSAGE.TYPE.SUCCESS,status:t.MESSAGE.STATUS.BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS},{type:t.MESSAGE.TYPE.SUCCESS,status:t.MESSAGE.STATUS.BACK_IN_STOCK_SUBSCRIBE_SUCCESS,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.BACK_IN_STOCK_SUBSCRIBE_SUCCESS},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.SOLD_OUT,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.SOLD_OUT},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.NO_START,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.NO_START},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.NOT_FOUND,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.NOT_FOUND},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.IS_CLOSED,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.IS_CLOSED},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.UN_LISTING,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.UN_LISTING},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.FILTER_UPPER_LIMIT,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.FILTER_UPPER_LIMIT},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.SUBMIT_ERROR,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.SUBMIT_ERROR},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.SYSTEM_ERROR,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.SYSTEM_ERROR},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.GET_SALEPAGE_BUNDLE_ERROR,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED},{type:t.MESSAGE.TYPE.WARNING,status:t.MESSAGE.STATUS.SELECT_ERROR,message:s.TRANSLATE_LOCALE_KEY.THEME_CORE.TOAST.SELECT_ERROR}];t.getToastMessageItem=function(e){var t=c.find((function(t){return t.status===e}));return i(i({},t),{message:(null==t?void 0:t.message)?(0,a.t)(t.message):""})}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/toolboxUtility.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&o(t,e,n);return r(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.updateToolboxLinkUrl=t.doReplace=void 0;var s=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/toolbox.constants.js"),c=a(n("./node_modules/jsonpath/jsonpath.js"));t.doReplace=function(e){var t,n=e.toolbox,o=void 0===n?{}:n,r=e.fbFansPageUrl,a=void 0===r?"":r,c=e.lineUserId,l=void 0===c?"":c,u=e.instagramUrl,d=void 0===u?"":u,g=e.shopDomain,p=e.shopId,m=a?a.split("/").filter((function(e){return!!e})):"",f=m?m[m.length-1]:"",I=((t={})[s.TOOLBOX_ITEM.FACEBOOK_PAGE]=a||"https://www.facebook.com/",t[s.TOOLBOX_ITEM.LINE]="https://line.me/R/ti/p/".concat(l),t[s.TOOLBOX_ITEM.IG]=d||"https://www.instagram.com/?hl=zh-tw",t[s.TOOLBOX_ITEM.STORE_INFO]="https://".concat(g,"/V2/Shop/StoreList/").concat(p),t[s.TOOLBOX_ITEM.FACEBOOK_MESSENGER]="https://m.me/".concat(f),t[s.TOOLBOX_ITEM.COUPON]="https://".concat(g,"/Coupon/List"),t);return i(i({},o),{linkUrl:o.id===s.TOOLBOX_ITEM.CUSTOM?o.linkUrl:I[o.id]})};t.updateToolboxLinkUrl=function(e,n){var i=n.fbFansPageUrl,o=n.lineUserId,r=n.instagramUrl,a=n.shopDomain,s=n.shopId;return c.apply(e,"$..toolboxList",(function(e){return e.map((function(e){return(0,t.doReplace)({toolbox:e,fbFansPageUrl:i,lineUserId:o,instagramUrl:r,shopDomain:a,shopId:s})}))})),e}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/tracking.utility.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.trackViewItemList=t.trackQuickView=t.trackReduceQuantity=t.trackProductRecommendationClick=t.trackLoadMoreProductList=t.trackIncreaseQuantity=t.trackProductImpression=t.trackSearchFilter=t.trackSearchKeyword=t.trackSortProducts=t.trackProductClick=t.trackRemoveFromFavorite=t.trackAddToFavorite=t.trackRemoveFromCart=t.trackAddToCart=t.trackProductDetails=t.trackSelectContent=t.trackEvent=t.trackPageView=t.trackInitialize=t.checkIsEnableTracking=t.checkIsEnableAdobeTrack=void 0;var a=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),s=n("@91app/nineyi.utility.tracking"),c=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/valueUtility.js"),l=n("./node_modules/uuid/dist/commonjs-browser/index.js"),u=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),d=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/vipMember/fetchVIPMemberHashInfoForAdvertise.stream.js"),g=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/dependency.utility.js"),p=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),m=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/runtimeModeUtility.js"),f=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/trackingData.utility.js"),I=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/urlUtility.js"),h=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/userAgentUtility.js");t.checkIsEnableAdobeTrack=function(){return!!(null===s.adobeAnalytics||void 0===s.adobeAnalytics?void 0:s.adobeAnalytics.checkIsEnableAdobeTrack())};t.checkIsEnableTracking=function(){return!((0,h.checkIsBot)()||(0,m.checkIsFromApp)()||(0,a.checkIsServerRender)()||(0,m.checkIsEditMode)()||(0,m.checkIsPreviewMode)())};t.trackInitialize=function(){var e,t,n,o,r,a,c,l,d;try{var g=(0,u.getGlobalVariable)(),m=g.gaSetting,f=g.facebookConfig,I=g.env,h=g.pageType,b=g.silo,y=g.shopExtensionSetting,C=g.i18n,v=(0,u.getDependencies)(),B=v.shopId,A=v.shopProfile,_=v.market,S=v.locale,G=A.ShopThirdPartyConfigInfo,Q=null===(t=null===(e=null==y?void 0:y.googleAnalytics)||void 0===e?void 0:e.sdkOption)||void 0===t?void 0:t.customOuidDimensionName,E=(null===(n=null==y?void 0:y.googleAnalytics)||void 0===n?void 0:n.isEnable)&&(null===(r=null===(o=null==y?void 0:y.googleAnalytics)||void 0===o?void 0:o.sdkOption)||void 0===r?void 0:r.isEnableVipMemberOuterIdDimension),F=null===(c=null===(a=null==y?void 0:y.googleAnalytics)||void 0===a?void 0:a.sdkOption)||void 0===c?void 0:c.isUseOriginalClientId,w={shopId:B,gaConfig:{googleAnalyticsTrackingId:null==m?void 0:m.GoogleAnalyticsTrackingId,originDomain:null==m?void 0:m.originDomain,officialSsoDomain:null==m?void 0:m.officialSsoDomain,isEnableVipMemberOuterIdDimension:E,countryName:null==m?void 0:m.countryName,customOuidDimensionName:Q,isReceiveSdkGaEvent:!0,isUseOriginalClientId:F},fbPixelConfig:{allSiteFbPixelId:null==f?void 0:f.allSiteFbPixelId,customAudiencesPixelIds:null==f?void 0:f.CustomAudiencesPixelIds,isEnableAdvancedFacebookPixel:null==f?void 0:f.IsEnableFacebookManualAdvancedMatching},gaFourConfig:{googleAnalyticsFourGTagId:null==m?void 0:m.GoogleAnalytics4TrackingId},googleAdwordsConfig:i(i({},null===(l=null==G?void 0:G.GoogleConfig)||void 0===l?void 0:l.OfficialShopGoogleTagConfig),{isSendRemarketingFromSSR:!0}),lineAdConfig:{isEnableLineAd:!0,tagEventSet:null===(d=null==G?void 0:G.LineConfig)||void 0===d?void 0:d.LineADTracking},adobeAAConfig:{isEnable:!0},currency:C.defaultCurrency,shopExtensionSetting:y,env:null==I?void 0:I.toLocaleLowerCase(),market:null==_?void 0:_.toLocaleLowerCase(),silo:null==b?void 0:b.toLocaleLowerCase(),pageType:h,locale:S};(0,s.initialize)(w)}catch(T){p.log.error("[ERROR] tracking trackInitialize error: ".concat((0,p.getErrorName)(T),": ").concat((0,p.getErrorMessage)(T)))}};t.trackPageView=function(e){return o(void 0,void 0,void 0,(function(){var n,o,a,m,h,b,y,C,v,B,A,_,S,G,Q,E,F;return r(this,(function(r){switch(r.label){case 0:return r.trys.push([0,5,,6]),(0,t.checkIsEnableTracking)()?(n=(0,u.getDependencies)(),o=(0,u.getGlobalVariable)().i18n,a=o.preferredCurrency,m=null===s.facebookPixel||void 0===s.facebookPixel?void 0:s.facebookPixel.checkIsEnableAdvancedPixel(),h=(0,g.getStreamInjection)(n),b=(0,I.getQueryString)("isThirdPartyNewRegistered"),(0,c.checkIsBooleanString)(b)&&m?[4,(0,d.fetchVIPMemberHashInfoForAdvertise)(h)]:[3,2]):[2];case 1:r.sent(),r.label=2;case 2:return[4,(0,f.getCurrentCartList)(h)];case 3:return y=r.sent(),[4,(0,f.getUserInfo)(h)];case 4:return C=r.sent(),v=C.isLogin,B=C.vipMemberOuterId,A=C.memberHashed,_=(0,l.v4)(),S=(0,u.getGlobalVariable)().pageType,G=i(i({},e),{pageType:S,isLogin:v,optionInfo:null==e?void 0:e.optionInfo,viewId:null==e?void 0:e.viewId,vipMemberOuterId:B,memberHashed:A,isPassOuterMemberCode:null===(F=null===(E=n.shopProfile)||void 0===E?void 0:E.ShopThirdPartyConfigInfo)||void 0===F?void 0:F.IsPassOuterMemberCode,currentCartList:y}),(0,s.pageView)(G,_,a),[3,6];case 5:return Q=r.sent(),p.log.error("[ERROR] tracking trackPageView error: ".concat((0,p.getErrorName)(Q),": ").concat((0,p.getErrorMessage)(Q))),[3,6];case 6:return[2]}}))}))};t.trackEvent=function(e,t,n){try{null===s.googleAnalytics||void 0===s.googleAnalytics||s.googleAnalytics.trackEvent(e,t,n)}catch(i){p.log.error("[ERROR] tracking trackEvent error: ".concat((0,p.getErrorName)(i),": ").concat((0,p.getErrorMessage)(i)))}};t.trackSelectContent=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;(0,s.selectContent)(e)}catch(n){p.log.error("[ERROR] trackSelectContent error: ".concat((0,p.getErrorName)(n),": ").concat((0,p.getErrorMessage)(n)))}};t.trackProductDetails=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e||!e.productInfo)return;var n=e.categoryInfo,i=e.pageTitle,o=e.productInfo,r=e.isHidden,a=void 0!==r&&r,c=e.isExpress,u=void 0!==c&&c,d=e.productDesc,g=e.productMainImage,m=e.productOuterId,I=(0,l.v4)(),h={categoryInfo:n,pageTitle:i,productInfo:o,viewItemType:(0,f.getViewItemType)(a,u),productDesc:d,productMainImage:g,productOuterId:m};(0,s.productDetails)(h,I)}catch(b){p.log.error("[ERROR] trackProductDetails error: ".concat((0,p.getErrorName)(b),": ").concat((0,p.getErrorMessage)(b)))}};t.trackAddToCart=function(e,n,i){try{if(!(0,t.checkIsEnableTracking)()||!e)return;var o=(0,l.v4)();(0,s.addToCart)(e,o,n,i)}catch(r){p.log.error("[ERROR] trackAddToCart error: ".concat((0,p.getErrorName)(r),": ").concat((0,p.getErrorMessage)(r)))}};t.trackRemoveFromCart=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;(0,s.removeFromCart)(e)}catch(n){p.log.error("[ERROR] trackRemoveFromCart error: ".concat((0,p.getErrorName)(n),": ").concat((0,p.getErrorMessage)(n)))}};t.trackAddToFavorite=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;var n=e.id,i=e.skuId,o=e.price,r=e.suggestPrice,a=e.name,c=e.position,u=e.categoryName,d=e.categoryId,g=(0,l.v4)();(0,s.addToFavorite)({id:n,skuId:i,price:o,suggestPrice:r,name:a,position:c,categoryName:u,categoryId:d},g)}catch(m){p.log.error("[ERROR] trackAddToFavorite error: ".concat((0,p.getErrorName)(m),": ").concat((0,p.getErrorMessage)(m)))}};t.trackRemoveFromFavorite=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;var n=e.id,i=e.skuId,o=e.price,r=e.suggestPrice,a=e.name,c=e.position,l=e.categoryName,u=e.categoryId,d=e.quantity;(0,s.removeFromFavorite)({id:n,name:a,categoryId:u,categoryName:l,price:o,quantity:d,suggestPrice:r,skuId:i,position:c})}catch(g){p.log.error("[ERROR] trackRemoveFromFavorite error: ".concat((0,p.getErrorName)(g),": ").concat((0,p.getErrorMessage)(g)))}};t.trackProductClick=function(e,n){try{if(!(0,t.checkIsEnableTracking)()||!e)return;(0,s.productClick)(e,n)}catch(i){p.log.error("[ERROR] trackProductClick error: ".concat((0,p.getErrorName)(i),": ").concat((0,p.getErrorMessage)(i)))}};t.trackSortProducts=function(e){(0,t.checkIsEnableTracking)()&&e&&(0,s.sortProducts)(e)};t.trackSearchKeyword=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e||!e.searchTerm)return;var n=(0,l.v4)();(0,s.searchKeyword)(e,n)}catch(i){p.log.error("[ERROR] trackSearchKeyword error: ".concat((0,p.getErrorName)(i),": ").concat((0,p.getErrorMessage)(i)))}};t.trackSearchFilter=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;var n=(0,l.v4)();(0,s.searchFilter)(e,n)}catch(i){p.log.error("[ERROR] trackSearchFilter error: ".concat((0,p.getErrorName)(i),": ").concat((0,p.getErrorMessage)(i)))}};t.trackProductImpression=function(e,n,i){try{if(!(0,t.checkIsEnableTracking)()||!e||e.length<=0)return;(0,s.productImpression)(e,n,i)}catch(o){p.log.error("[ERROR] trackProductImpression error: ".concat((0,p.getErrorName)(o),": ").concat((0,p.getErrorMessage)(o)))}};t.trackIncreaseQuantity=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;(0,s.increaseQuantity)(e)}catch(n){p.log.error("[ERROR] trackIncreaseQuantity error: ".concat((0,p.getErrorName)(n),": ").concat((0,p.getErrorMessage)(n)))}};t.trackLoadMoreProductList=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;(0,s.loadMoreProductList)(e)}catch(n){p.log.error("[ERROR] trackLoadMoreProductList error: ".concat((0,p.getErrorName)(n),": ").concat((0,p.getErrorMessage)(n)))}};t.trackProductRecommendationClick=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;(0,s.productRecommendationClick)(e)}catch(n){p.log.error("[ERROR] trackProductRecommendationClick error: ".concat((0,p.getErrorName)(n),": ").concat((0,p.getErrorMessage)(n)))}};t.trackReduceQuantity=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;(0,s.reduceQuantity)(e)}catch(n){p.log.error("[ERROR] trackReduceQuantity error: ".concat((0,p.getErrorName)(n),": ").concat((0,p.getErrorMessage)(n)))}};t.trackQuickView=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;(0,s.quickView)(e)}catch(n){p.log.error("[ERROR] trackQuickView error: ".concat((0,p.getErrorName)(n),": ").concat((0,p.getErrorMessage)(n)))}};t.trackViewItemList=function(e){try{if(!(0,t.checkIsEnableTracking)()||!e)return;(0,s.viewItemListV3)(e)}catch(n){p.log.error("[ERROR] trackViewItemList error: ".concat((0,p.getErrorName)(n),": ").concat((0,p.getErrorMessage)(n)))}}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/trackingData.utility.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t},a=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},s=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.getContentSource=t.getViewTitle=t.getViewId=t.getMaterialTrackInfo=t.getCurrentCartList=t.getPageTypeTitle=t.getViewItemType=t.getModuleTitle=t.getUserInfo=t.sortMethod=void 0;var c=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),l=n("./node_modules/@91app/nineyi.utility.pagelink/dist/src/index.js"),u=r(n("@91app/nineyi.utility.tracking")),d=n("./node_modules/@91app/nineyi.lib.themecore/out/src/configs/themeModule.config.js"),g=n("./node_modules/@91app/nineyi.lib.themecore/out/src/constants/recommendationSection.constants.js"),p=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/shoppingCart/shoppingCartPreviewList.stream.js"),m=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/render.utility.js"),f=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),I=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/user/authIsLogin.stream.js"),h=n("./node_modules/@91app/nineyi.lib.themecore/out/src/streams/vipMember/fetchVipMemberInfo.stream.js"),b=n("./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/log.utility.js"),y=u||{},C=y.checkIsEnableCartList,v=y.checkIsEnableMemberOuid,B=y.CONSTANTS,A=(null==B?void 0:B.PRODUCTS_SORT_METHOD)||{PRICE_DESC:"price_descending",PRICE_ASC:"price_ascending",LATEST:"latest",POPULARITY_VIEW:"popularity_view",CURATOR:"curator",SALES:"sales",RELATIVITY:"relativity"};t.sortMethod={Curator:A.CURATOR,Newest:A.LATEST,Sales:A.SALES,PageView:A.POPULARITY_VIEW,PriceLowToHigh:A.PRICE_ASC,PriceHighToLow:A.PRICE_DESC};var _=function(e){return a(void 0,void 0,void 0,(function(){var t,n,i,o,r,a,c,l,u;return s(this,(function(s){switch(s.label){case 0:return s.trys.push([0,4,,5]),t={isLogin:!1,vipMemberOuterId:null},[4,(0,I.fetchAuthIsLogin)()];case 1:return n=s.sent(),t.isLogin=n,i=(0,f.getGlobalVariable)(),o=i.env,r=i.silo,a=(0,f.getDependencies)(),c=a.shopId,l=a.market,(null==v?void 0:v({env:o,market:l,shopId:c,silo:r}))||!1?(u=t,[4,(0,h.fetchVipMemberOuterId)(e,t.isLogin)]):[3,3];case 2:u.vipMemberOuterId=s.sent(),s.label=3;case 3:return[2,t];case 4:return s.sent(),[2,{isLogin:!1,vipMemberOuterId:null}];case 5:return[2]}}))}))};t.getUserInfo=function(e){return a(void 0,void 0,void 0,(function(){var t,n,i,o,r,a,l,u,d;return s(this,(function(s){switch(s.label){case 0:t={isLogin:!1,memberHashed:{}},s.label=1;case 1:return s.trys.push([1,3,,4]),[4,_(e)];case 2:return n=s.sent(),i=n.isLogin,o=n.vipMemberOuterId,i?(t.isLogin=i,t.vipMemberOuterId=o,r=(0,c.getCookie)("MID"),t.memberCode=r,a=localStorage.getItem("em"),l=localStorage.getItem("ph"),u=localStorage.getItem("phForTealiumIQ")||null,a&&(t.memberHashed.emailHashed=a),l&&(t.memberHashed.phoneHashed=l),u&&(t.memberHashed.phoneHashedForTealiumIQ=u),[3,4]):[2,t];case 3:return d=s.sent(),b.log.error("[ERROR] tracking getUserInfo error: ".concat((0,b.getErrorName)(d),": ").concat((0,b.getErrorMessage)(d))),[3,4];case 4:return[2,t]}}))}))};t.getModuleTitle=function(e){var t;return"".concat(null===(t=null===d.moduleTitleMapping||void 0===d.moduleTitleMapping?void 0:d.moduleTitleMapping[e])||void 0===t?void 0:t.title)||e};t.getViewItemType=function(e,t){return t&&e?"HiddenExpressSalePage":t&&!e?"ExpressSalePage":e?"HiddenSalePage":"SalePage"};t.getPageTypeTitle=function(){var e=(0,f.getGlobalVariable)().pageType;return(0,l.getPageInfoByPageType)(e).pageTitle};t.getCurrentCartList=function(e){return a(void 0,void 0,void 0,(function(){var t,n,i,o,r,a,c,l;return s(this,(function(s){switch(s.label){case 0:return t=[],n=(0,f.getGlobalVariable)(),i=n.env,o=n.silo,r=(0,f.getDependencies)(),a=r.shopId,c=r.market,(null==C?void 0:C({env:i,market:c,shopId:a,silo:o}))?[4,(0,p.fetchShoppingCartPreviewList)(e)]:[3,2];case 1:l=s.sent(),t=l.map((function(e){return{id:e.salePageId,price:e.price,quantity:e.quantity,name:e.title,suggestPrice:null}})),s.label=2;case 2:return[2,t]}}))}))};t.getMaterialTrackInfo=function(e){var n=e.moduleId,i=e.materialName,o=void 0===i?"":i,r=e.moduleName,a=void 0===r?"":r,s=e.moduleKey,c=e.position,l=e.isShowModuleKey,u=void 0===l||l,d=(0,t.getModuleTitle)(n),g="".concat(d).concat(""!==o?"_".concat(o):""),p="";return c>=0&&(p=""!==o?"".concat(c+1):"_".concat(c+1)),{eventCategory:(0,t.getPageTypeTitle)(),eventAction:"點開圖片版位 (".concat(g+p,")"),eventLabel:u?"(".concat(s,")").concat(a):a,contentType:d}};t.getViewId=function(){var e=(0,f.getGlobalVariable)().pageType,t=(0,f.getDependencies)().routerPath;return e===l.PAGE_TYPE.CUSTOM||e===l.PAGE_TYPE.HIDDEN?t:""};t.getViewTitle=function(){return(0,m.checkIsClientRender)()?null===document||void 0===document?void 0:document.title:""};t.getContentSource=function(e,t){if(e===g.SourceTypeEnum.jooii&&t){var n=t.modeId,i=void 0===n?"":n,o=t.version,r=void 0===o?"":o;return"".concat(e,"_").concat(i,"_v").concat(r)}return e||""}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/urlUtility.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.isPathSupportRecaptcha=t.getFullUrlLink=t.replaceLinkUrl=t.getHrefUrl=t.getMobileImageUrl=t.getDesktopImageUrl=t.getStaticImageUrl=t.removeQueryStringParam=t.appendParameter=t.getQueryString=void 0;var a=n("./node_modules/@91app/nineyi.lib.themecore/out/src/providers/globalVariableProvider.js"),s=r(n("./node_modules/jsonpath/jsonpath.js")),c=function(e,t,n){return new RegExp("^(http|https)://","i").test(n)?n:"".concat(t.imageHost).concat(t.imagePath).concat(e,"/").concat(n)};t.getQueryString=function(e,t){try{var n=RegExp("[?&]".concat(e,"=([^&]*)")).exec(t||document.location.search);return n&&decodeURIComponent(decodeURIComponent(n[1].replace(/\+/g," ")))}catch(i){return null}};t.appendParameter=function(e,t,n,i){void 0===i&&(i=!1);var o="",r=e.length;e.indexOf("#")>0&&(r=e.indexOf("#"),o=e.substring(e.indexOf("#"),e.length));var a=e.substring(0,r).split("?"),s="";if(a.length>1)for(var c=a[1].split("&"),l=0;l<c.length;l++){var u=c[l].split("=");u[0]!==t&&(""===s?s="?":s+="&",s+="".concat(u[0],"=").concat(u[1]?u[1]:""))}return""===s&&(s="?"),i?s="?".concat(t,"=").concat(n+(s.length>1?"&".concat(s.substring(1)):"")):(""!==s&&"?"!==s&&(s+="&"),s+="".concat(t,"=").concat(n||"")),a[0]+s+o};t.removeQueryStringParam=function(e,t){var n=t.split("?")[0],i=[],o=t.includes("?")?t.split("?")[1]:"";if(""!==o){for(var r=(i=o.split("&")).length-1;r>=0;r-=1)i[r].split("=")[0]===e&&i.splice(r,1);n="".concat(n,"?").concat(i.join("&"))}return n};t.getStaticImageUrl=function(e,t){if(!e||"/images"!==(null==t?void 0:t.slice(0,7)))return t;var n=(0,a.getDependencies)(),i=n.isEnableCmsCdn,o=n.themecoreVersion;return i?"".concat(e.imageHost,"lib/cms-theme-core/").concat(o).concat(t):"/cms/themecore".concat(t)};t.getDesktopImageUrl=function(e,n,i,o){var r=o&&!0!==o.isSplitPicture?o.imageUrlMobile:o.imageUrl;return r&&"".concat(c(e,n,r))||(0,t.getStaticImageUrl)(n,i)};t.getMobileImageUrl=function(e,n,i,o){return(null==o?void 0:o.imageUrlMobile)&&"".concat(c(e,n,o.imageUrlMobile))||(0,t.getStaticImageUrl)(n,i)};t.getHrefUrl=function(e){return e||"javascript: void(0)"};var l=function(e){var t,n=new RegExp("^(http|https)://","i");return"internal"===e.urlType&&(e.linkUrl=null===(t=e.linkUrl)||void 0===t?void 0:t.replace(n,"//")),e};t.replaceLinkUrl=function(e){return s.apply(e,"$..topMessageData",(function(e){return l(e)})),s.apply(e,"$..materialList",(function(e){return e.map((function(e){return l(e)}))})),s.apply(e,"$..blogList",(function(e){return e.map((function(e){return l(e)}))})),s.apply(e,"$..customLinkListMenu",(function(e){return e.map((function(e){return l(e)}))})),e};t.getFullUrlLink=function(e){var t=e;return"/"===(null==t?void 0:t[0])&&"/"===(null==t?void 0:t[1])?t=window.location.protocol+t:"/"===(null==e?void 0:e[0])&&(t=window.location.origin+t),t};t.isPathSupportRecaptcha=function(e){return["/Login/","/V2/VipMember/Profile"].every((function(t){return void 0===t&&(t=""),!e.includes(t)}))}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/userAgentUtility.js":(e,t)=>{"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsBot=t.getDeviceOS=t.checkIsIE=t.checkIsSafari=t.checkIsChrome=t.checkIsFirefox=void 0,function(e){e.Chrome="Chrome",e.Firefox="Firefox",e.MSIE="MSIE",e.Safari="Safari",e.Trident="Trident"}(n||(n={})),function(e){e.Android="Android",e.Bot="Bot",e.UnKnown="UnKnown",e.iOS="iOS"}(i||(i={}));t.checkIsFirefox=function(e){return e.includes(n.Firefox)};t.checkIsChrome=function(e){return e.includes(n.Chrome)};t.checkIsSafari=function(e){return!e.includes(n.Chrome)&&e.includes(n.Safari)};t.checkIsIE=function(e){return e.indexOf(n.Trident)>0||e.indexOf(n.MSIE)>0};t.getDeviceOS=function(e){return/android/i.test(e)?i.Android:/(iPhone|iPad|iPod|iOS)/i.test(e)?i.iOS:/bot|spider|crawl/i.test(e)?i.Bot:i.UnKnown};t.checkIsBot=function(){return"undefined"!=typeof window&&window.navigator&&/bot|spider|crawl/i.test(navigator.userAgent)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/validate.utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEmail=void 0;t.isEmail=function(e){return/(.+)@(.+)\.(.+)/.test(e)}},"./node_modules/@91app/nineyi.lib.themecore/out/src/utilities/valueUtility.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.mergeWith=t.merge=t.getValueSafe=t.deepClone=t.checkIsNumberString=t.checkIsBooleanString=t.formatNumberWithCommas=t.formatKeysToLowercaseFirstCharacter=t.lowerFirst=void 0;var o=n("./node_modules/@91app/nineyi.lib.common-utility/dist/src/index.js"),r=n("./node_modules/object-path/index.js");t.merge=function(e,t){return(0,o.merge)(e,t)};t.mergeWith=function(e,t,n){return(0,o.merge)(e,t,n)};t.deepClone=function(e){return JSON.parse(JSON.stringify(e))};t.checkIsNumberString=function(e){return!!e&&function(e){return"string"==typeof e}(e)&&!Number.isNaN(Number(e))};t.checkIsBooleanString=function(e){return"true"===e||"false"===e};t.getValueSafe=function(e,t){return(0,r.get)(e,t)};t.lowerFirst=function(e){return e.charAt(0).toLowerCase()+e.slice(1)};t.formatKeysToLowercaseFirstCharacter=function(e){return Array.isArray(e)?e.map((function(e){return(0,t.formatKeysToLowercaseFirstCharacter)(e)})):"object"==typeof e&&null!==e?Object.entries(e).reduce((function(e,n){var o,r=n[0],a=n[1],s=(0,t.lowerFirst)(r);return i(i({},e),((o={})[s]=(0,t.formatKeysToLowercaseFirstCharacter)(a),o))}),{}):e};t.formatNumberWithCommas=function(e){return"number"!=typeof e||Number.isNaN(e)?"0":e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}},"./node_modules/@91app/nineyi.lib.themecore/public/themecore/js/nineyi.themeCore.desktop.client.module.js":(e,t,n)=>{var i;self,i=(e,t,n,i,o,r)=>(()=>{var a,s={6006:(e,t,n)=>{"use strict";n.r(t);var i={};n.r(i),n.d(i,{ADD_TO_CART_BTN_STYLE:()=>Tt,ALIGN_TYPE:()=>Ji,AREA_NAME:()=>Hi,BLOG_TYPE:()=>At,BROWSING_MODE:()=>M,BTN_TYPE:()=>Ft,CATEGORY_ID_ALL_ITEMS:()=>Gi,CIRCLE_MARGIN_LEFT:()=>Yt,COMPRESS_V1_SIZE:()=>zi,COMPRESS_V2_SIZE:()=>Ki,CUSTOM_MENU_CONTENT_TYPE:()=>to,DEFAULT_PIC_TYPE:()=>_t,DEFAULT_PROMOTION_MEMBER_COLLECTION_ID_LIST:()=>Zt,DEFAULT_SKU_OUTERID_NAME:()=>gi,DEFAULT_TAG_CHECKED_LIMIT_COUNT:()=>Zi,DEFAULT_TAG_GROUP_COUNT:()=>Ni,DEFAULT_TAG_GROUP_OPEN_COUNT:()=>ki,DEFAULT_TAG_KEY_COUNT:()=>Oi,DESKTOP_CIRCLE_MARGIN:()=>zt,DESKTOP_CIRCLE_SIZE:()=>jt,DESKTOP_SQUAER_SIZE:()=>Jt,EDGE_SCALE:()=>vt,FAVORITE_BTN_POSITION:()=>kt,FAVORITE_BTN_STYLE:()=>xt,GROUP_TYPE:()=>Ht,HEADER_MENU_TYPE:()=>Ot,HEADER_STYLE:()=>Mi,HEADING_TYPE:()=>ji,IMAGE_COMPRESS_VERSION:()=>qi,IMAGE_TYPE:()=>$i,JooiiSourceIdEnum:()=>si,JooiiViewTypeEnum:()=>ci,LOCALE_LANG:()=>Rt,LOWER_CASE_MARKET_NAME:()=>Wt,MAX_COUNT_BY_PAGE:()=>Mt,MAX_PRICE_FILTER_QUERY_STRING_KEY:()=>Ri,MIN_PRICE_FILTER_QUERY_STRING_KEY:()=>Ui,MOBILE_CIRCLE_MARGIN:()=>$t,MOBILE_CIRCLE_SIZE:()=>qt,MOBILE_SQUAER_SIZE:()=>Kt,ORDER_BY_OPTIONS:()=>Bi,ORDER_BY_QUERY_STRING_KEY:()=>Ai,PAGE_NAME:()=>we,PAGE_QUERY_STRING_KEY:()=>_i,PAGE_TYPE:()=>Ee.PAGE_TYPE,PAGE_URL_PATH:()=>Te,PAY_FILTER_QUERY_STRING_KEY:()=>Xi,PRODUCT_DISPLAY_MODE:()=>St,PRODUCT_ICON_DEFAULT_MARGIN:()=>Et,PRODUCT_ICON_WIDTH:()=>Qt,PRODUCT_LIST_MODULE_DATA_PREFIX:()=>Li,PRODUCT_PRICE_DISPLAY_TYPE:()=>Gt,PROMOTION_LIST_DATA_PREFIX:()=>ei,PROMOTION_LIST_FROM_TYPE:()=>ni,PROMOTION_LIST_SOURCE_TYPE:()=>$n,PROMOTION_ORDER_BY_OPTION:()=>ti,PageTypeEnum:()=>oi,ProductToCartButtonDisabledStatus:()=>qn,ProductToCartButtonStatus:()=>zn,ProductToCartButtonText:()=>Kn,ProviderEnum:()=>ai,RESTRICTED_MASK_DELAY:()=>Bt,RecommendationSectionEnum:()=>ii,SERVICE_TYPE_BY_QUERY_STRING_KEY:()=>Si,SHIPPING_FILTER_QUERY_STRING_KEY:()=>Wi,SHOP_CATEGORY_PAGE_STATUS:()=>wt,SHOP_CATEGORY_PATH:()=>Vi,SOURCE_TYPE:()=>Yi,SPECIAL_PRICE_FRONTEND_SORT_DEFAULT_FETCH_COUNT:()=>Ut,SQUAER_MARGIN:()=>Lt,STATIC_MODULE_ID:()=>Nt,SearchKeyWordTypeEnum:()=>li,ShopAttrTypeGroupTitle:()=>Fi,SourceTypeEnum:()=>ri,TAG_FILTER_QUERY_STRING_KEY:()=>wi,TAG_SHOW_MORE_QUERY_STRING_KEY:()=>Ti,TAG_SHOW_MORE_QUERY_STRING_VALUE:()=>xi,TOOLBOX_ITEM:()=>eo,TRACK_EVENT:()=>Ei,TRANSLATE_LOCALE_KEY:()=>jn,TagFilterEnum:()=>Di,TrackingContentTypeEnum:()=>di,TrackingSearchTypeEnum:()=>ui,UPPER_CASE_MARKET_NAME:()=>Xt,URL_TYPE:()=>Fe,UseType:()=>Pi,copyRightLink:()=>Dt,fetchCount:()=>Qi,menuContent:()=>Pt,socialSectionLink:()=>Vt});var o={};n.r(o),n.d(o,{ALT_TYPE:()=>Ke,MESSAGE:()=>us,MessageStatus:()=>ls,MessageType:()=>cs,agathaLogger:()=>Me,apiRootPath:()=>gt,appStoreImages:()=>Nr,appendParameter:()=>nt,appleStoreIconImage:()=>Cr,applyClientTranslationData:()=>ua,applyStaticModule:()=>uo,cashOnDeliveryImage:()=>cr,cateringImages:()=>kr,checkCustomerHeaderConfig:()=>Po,checkHasChild:()=>bt,checkIsBooleanString:()=>Ns,checkIsBot:()=>gc,checkIsBreadcrumbsActive:()=>Oo,checkIsBubbleAddToCart:()=>Uo,checkIsChannelActive:()=>wo,checkIsChannelSwitchActive:()=>To,checkIsChrome:()=>cc,checkIsClientRender:()=>_e,checkIsDirectlyAddToCart:()=>ko,checkIsEditMode:()=>An,checkIsEnableAdidasCustom:()=>Lo,checkIsEnableAdobeTrack:()=>Bc,checkIsEnableSetHorizontalSpacing:()=>za,checkIsEnableTracking:()=>Ac,checkIsFirefox:()=>sc,checkIsFromApp:()=>Bn,checkIsHideTypeButton:()=>Ho,checkIsIE:()=>uc,checkIsNewPXProductList:()=>Zo,checkIsNumberString:()=>ks,checkIsPreviewMode:()=>_n,checkIsProductCardTargetBlankOnCategoryPage:()=>xo,checkIsSafari:()=>lc,checkIsServerRender:()=>Se,checkIsShowingPopup:()=>Mr,checkIsSupportLocalStorage:()=>Dr,checkIsSupportSessionStorage:()=>Xr,checkIsUseFastBuy:()=>No,colorLoadingImage:()=>Er,combineMappingProps:()=>Ca,combineSalepageWithMetafieldTemplate:()=>Oa,convertKeysToPascalCase:()=>ka,createDefer:()=>Ra,creditCardImage:()=>rr,darken:()=>La,deepClone:()=>xs,defaultEmptySquareImage:()=>Ko,defaultIconImage:()=>qo,defaultLogoImage:()=>dr,defaultRectangleImage:()=>zo,defaultSquareImage:()=>jo,deleteDefer:()=>Xa,deliveryImage:()=>ur,dispatchToProps:()=>ya,doReplace:()=>Cs,dotNetDateToDate:()=>go,editorProductSquareImage:()=>er,editorRecommendationProductSquareImage:()=>tr,editorRectangleImage:()=>Jo,editorSquareImage:()=>Mo,editorVideoRectangleImage:()=>$o,errorJSON:()=>nn,extendingLoginTime:()=>Cn,familyMartImage:()=>ir,formatKeysToLowercaseFirstCharacter:()=>Us,formatNumberWithCommas:()=>Rs,freezeBody:()=>Go,generateShortKey:()=>Va,getApiUrl:()=>pt,getBffApiUrl:()=>mt,getCompressImageFullUrl:()=>Zr,getContentSource:()=>ac,getCurrencyList:()=>ca,getCurrentCartList:()=>nc,getCurrentCategoryPosition:()=>Ct,getCustomSetting:()=>Eo,getCustomSettingLib:()=>Fo,getCustomerCarouselAutoplaySecond:()=>Xo,getCustomerServiceMessage:()=>Ro,getCustomerUIConfig:()=>Wo,getDefaultAlt:()=>qe,getDeferredValue:()=>Wa,getDesktopImageUrl:()=>rt,getDeviceOS:()=>dc,getErrorBody:()=>on,getErrorCode:()=>rn,getErrorMessage:()=>Je,getErrorName:()=>je,getFtsApiUrl:()=>ft,getFullUrlLink:()=>ut,getHeaderAttributes:()=>ja,getHrefUrl:()=>st,getImageLocale:()=>aa,getImageSrcSet:()=>Ur,getImageUrl:()=>Or,getLanguageListList:()=>la,getLocalStorageItem:()=>Lr,getLocaleTitle:()=>sa,getMaterialTrackInfo:()=>ic,getMobileImageUrl:()=>at,getModuleTitle:()=>$s,getMujiCustomerFooterConfig:()=>Do,getNewDeeplinkUrl:()=>Co,getPageIdentityPath:()=>Io,getPageTypeTitle:()=>tc,getProductListDataKey:()=>Za,getQueryString:()=>tt,getReCAPTCHALang:()=>da,getScrollPage:()=>Da,getSessionItem:()=>Vr,getShopsDesktopImageNeedCompress:()=>Vo,getStaticImageUrl:()=>ot,getStreamInjection:()=>mn,getToastMessageItem:()=>gs,getTranslatedDataByKey:()=>ra,getUserInfo:()=>qs,getUtmDeeplinkTarget:()=>yo,getUtmQueryString:()=>ho,getValueSafe:()=>Os,getViewId:()=>oc,getViewItemType:()=>ec,getViewTitle:()=>rc,googlePlayIconImage:()=>vr,homeImage:()=>xr,initBannerData:()=>It,invalidNameImage:()=>br,isDataMatchedByNowTime:()=>Na,isDotNetDate:()=>po,isEmail:()=>Hc,isMatchNumberKeyCodeAllowed:()=>Rr,isPathSupportRecaptcha:()=>dt,linePayImage:()=>ar,lineShopNoteCloseBarImage:()=>hr,lineShopNoteCloseButtonImage:()=>Ir,lineShopNoteImage:()=>fr,loadingImage:()=>yr,locationImage:()=>Fr,locationPickUpImage:()=>lr,log:()=>ze,lowerFirst:()=>Zs,mappingMultiLevelBreadcrumbs:()=>ht,merge:()=>ws,mergeWith:()=>Ts,mujiFooterLogoImage:()=>gr,noLocationImage:()=>Gr,pageNotFoundImage:()=>nr,parseMicrosoftJSONDate:()=>$a,positionImage:()=>wr,poyaPayImage:()=>sr,productCardMappingProductBadgeData:()=>xa,redirectDeepLink:()=>Bo,removeLocalStorageItem:()=>Yr,removeQueryStringParam:()=>it,removeSessionItem:()=>Pr,replaceLinkUrl:()=>lt,replaceRefUrl:()=>bo,restrictedMaskImage:()=>mr,retailStoreDeliveryDownArrowImage:()=>Sr,retailStoreDeliveryLogoImage:()=>Br,retailStoreDeliveryPeopleLargeImage:()=>Ar,retailStoreDeliveryPeopleSmallImage:()=>_r,ristrictImage:()=>pr,saveLocalStorageItem:()=>Hr,saveSessionItem:()=>Wr,scrollTo:()=>Pa,serviceBusyImage:()=>Qr,setDocumentDescription:()=>_o,setDocumentKeyword:()=>So,setDocumentTitle:()=>Ao,setUtmString:()=>vo,sevenElevenImage:()=>or,sortMethod:()=>Ks,stateToProps:()=>ba,storeExpressImage:()=>Tr,timeoutError:()=>an,trackAddToCart:()=>Fc,trackAddToFavorite:()=>Tc,trackEvent:()=>Gc,trackIncreaseQuantity:()=>Rc,trackInitialize:()=>_c,trackLoadMoreProductList:()=>Xc,trackPageView:()=>Sc,trackProductClick:()=>kc,trackProductDetails:()=>Ec,trackProductImpression:()=>Uc,trackProductRecommendationClick:()=>Wc,trackQuickView:()=>Pc,trackReduceQuantity:()=>Vc,trackRemoveFromCart:()=>wc,trackRemoveFromFavorite:()=>xc,trackSearchFilter:()=>Zc,trackSearchKeyword:()=>Oc,trackSelectContent:()=>Qc,trackSortProducts:()=>Nc,trackViewItemList:()=>Dc,updateToolboxLinkUrl:()=>vs});var r={};n.r(r),n.d(r,{RequestMethod:()=>en.RequestMethod,allCurrencies:()=>Bd.allCurrencies,errorJSON:()=>vd,fetchApi:()=>Zn,fetchApiObservable:()=>On,getDependencies:()=>ke,getGlobalVariable:()=>xe,getShopBasicInfo:()=>Ne});var a={};n.r(a),n.d(a,{CLIENT_VALID_S3_CONFIG_KEY:()=>Ad,ShoppingCartInsertItemStatusEnum:()=>Ju,addShoppingCartBundleItem:()=>Ku,addShoppingCartItem:()=>zu,addShoppingCartItemMapping:()=>ju,fetchCmsS3ConfigStream:()=>_d,fetchDeepLink:()=>fo,fetchDeepLinkMapping:()=>mo,fetchJooiiBapiStatus:()=>Sd,fetchMultiShopCategoryList:()=>wd,fetchMultiShopCategoryTreeByLevelId:()=>Td,fetchShopCategoryList:()=>Fd,fetchShopCategoryListByServiceType:()=>xd,fetchShopPayTypeAndShipping:()=>Qd,fetchShoppingCartCount:()=>kd,fetchSmartTagSettingStream:()=>Nd});var s={};n.r(s),n.d(s,{CategorySettingModuleEnum:()=>Vg,addToCartAnimationZIndex:()=>P,allSiteFacebookPixelDisableSetting:()=>Dg,allowGetPrivacyInfoCookie:()=>Vs,backInStockSalePageIdCookieKey:()=>Ds,chatZIndex:()=>Y,cookiePrivacyTipZIndex:()=>W,crossGallery:()=>k,crossSkuModal:()=>D,defaultPaddingCssForCustomSpacing:()=>Ma,desktopHeaderLocaleMenuZIndex:()=>V,desktopHeaderPxZIndex:()=>U,dropdownZIndex:()=>T,facebookAdvancedPixel:()=>Pg,fullScreenAdPopover:()=>X,headerRetailStoreDeliveryPopoverZIndex:()=>Z,headingConfig:()=>Hg,mobileHeaderPxZIndex:()=>R,modalSheetZIndex:()=>L,modalZIndex:()=>H,moduleIdsEnableFixedArrow:()=>Ja,moduleIdsEnableSetHorizontalSpacing:()=>Ya,moduleTitleMapping:()=>Xs,overlayBtnZIndex:()=>x,productGroupSliderArrow:()=>O,productGroupToolTip:()=>N,vipMemberOuterIdCookie:()=>Ps});var c={};n.r(c),n.d(c,{makeCategoryNameSelector:()=>Bm,makeProductListSelector:()=>_m,selectCurrencyFormat:()=>Sm});var l={};n.r(l),n.d(l,{CategoryMenuContentSkeleton:()=>Ay,Currency:()=>Gm,Gallery:()=>le,Loading:()=>lu,MaskNameSetting:()=>Bf,ModalSheet:()=>Ql,MultiShopCategoryMenu:()=>Yl,NotFoundPage:()=>Dv,Pagination:()=>eu,ProductCard:()=>Gf,ProductCardMaskMapping:()=>Wg,ProductList:()=>FC,ProductListSkeleton:()=>hy,ProductToCartModal:()=>Ug,PurchaseQualificationInvalidModal:()=>NC,RealModal:()=>pl,RecommendationSection:()=>cC,RelatedTagSectionSkeleton:()=>Cy,SelectProductModal:()=>KC,SkuQtyMode:()=>Ag,Slider:()=>Sv,SystemImage:()=>iv,TagFilterMenuSkeleton:()=>wy,Toast:()=>Du});var u={};n.r(u),n.d(u,{mapDispatchToProps:()=>iA,mapStateToProps:()=>nA});var d={};n.r(d),n.d(d,{mapDispatchToProps:()=>rA,mapStateToProps:()=>oA});var g={};n.r(g),n.d(g,{mapDispatchToProps:()=>sA,mapStateToProps:()=>aA});var p={};n.r(p),n.d(p,{mapDispatchToProps:()=>lA,mapStateToProps:()=>cA});var m={};n.r(m),n.d(m,{mapDispatchToProps:()=>dA,mapStateToProps:()=>uA});var f={};n.r(f),n.d(f,{mapDispatchToProps:()=>pA,mapStateToProps:()=>gA});var I={};n.r(I),n.d(I,{mapDispatchToProps:()=>fA,mapStateToProps:()=>mA});var h={};n.r(h),n.d(h,{mapDispatchToProps:()=>hA,mapStateToProps:()=>IA});var b={};n.r(b),n.d(b,{mapDispatchToProps:()=>GA,mapStateToProps:()=>SA});var y={};n.r(y),n.d(y,{mapDispatchToProps:()=>EA,mapStateToProps:()=>QA});var C={};n.r(C),n.d(C,{mapDispatchToProps:()=>UA,mapStateToProps:()=>ZA});var v={};n.r(v),n.d(v,{mapDispatchToProps:()=>XA,mapStateToProps:()=>RA});var B={};n.r(B),n.d(B,{mapDispatchToProps:()=>VA,mapStateToProps:()=>WA});var A={};n.r(A),n.d(A,{activityMapping:()=>u,couponMapping:()=>d,ecouponMapping:()=>g,favoriteMapping:()=>p,officialMapping:()=>m,pageMapping:()=>f,promotionMapping:()=>I,retailStoreMapping:()=>h,salePageMapping:()=>b,searchMapping:()=>y,shopMapping:()=>C,shoppingCartMapping:()=>v,userMapping:()=>B});var _={};n.r(_),n.d(_,{mapDispatchToProps:()=>Vx,mapStateToProps:()=>Wx});var S={};n.r(S),n.d(S,{Breadcrumbs:()=>IB,CookiePrivacyTip:()=>AB,Footer:()=>C_,FullScreenAdPopover:()=>uB,HeaderA:()=>iN,HeaderB:()=>pN,LinePopup:()=>fN,LoadingContainer:()=>hN,Menu:()=>ON,ProductToCartModal:()=>Ug,RistrictContainer:()=>vN});var G={};n.r(G),n.d(G,{InvalidType:()=>Bp,PurchaseQualificationContext:()=>_p,PurchaseQualificationProvider:()=>Sp,RestrictedContext:()=>Gp,RestrictedProvider:()=>Qp});var Q={};n.r(Q),n.d(Q,{BOARD_MODULE_CONTENT:()=>UN,BoardModuleContentState:()=>ZN,COLLECTION_LIST_PAGE_ORDER_BY_LIST:()=>RN,LAYOUT_COLLECTION_LIST_PRODUCT_LIST:()=>XN,LAYOUT_TEMPLATE_SPCATAD_LIST:()=>vi,SHOP_CATEGORY_LIST:()=>fi,SHOP_CATEGORY_LIST_BY_SERVICE_TYPE:()=>Ii,SHOP_CATEGORY_PRODUCT_LIST:()=>bi,SHOP_CATEGORY_PRODUCT_LIST_DEFAULT_ORDERBY:()=>yi,SHOP_CATEGORY_PROMOTION_LIST:()=>Ci,ShopAttrTypeEnum:()=>hi});var E={};n.r(E),n.d(E,{Direction:()=>ax,convertToDefaultCurrency:()=>jN,getShopAttrFilterCheckedTypeList:()=>MN,getShopAttrFilterData:()=>JN,useFetchRecommendationConfig:()=>YN,useFetchRecommendationData:()=>ox,useHeight:()=>rx,useScrollDirection:()=>cx,useSpecialPriceFrontendSort:()=>lx,useTrackProductClickHandler:()=>fx});var F={};n.r(F),n.d(F,{color:()=>J,limitLineTitle:()=>Ce,typography:()=>be,zindex:()=>ye});var w={};n.r(w),n.d(w,{fetchFavoriteCount:()=>BI,fetchFavoriteList:()=>yI,fetchMultiShopCategoryBreadcrumbList:()=>Oh,fetchRelativeTagsList:()=>Jb,fetchShoppingCartCount:()=>$h,fetchShoppingCartPreviewList:()=>nb,fetchSmartTagSettingFulfilled:()=>Kb});const T=1,x=1,k=1,N=1,O=1,Z=4,U=500,R=500,X=500,W=555,V=555,P=800,D=999,H=10000001,L=10000001,Y=1e7;var M=(e=>(e.DESKTOP="desktop",e.MOBILE="mobile",e))(M||{});const J={black:"#222222",blackTwo:"#000000",blackThree:"#333333",blackOpacity50:"rgba(0, 0, 0, 0.5)",brownishGrey:"#666666",gunmetal:"#4a4e5c",greyishBrown:"#4a4a4a",warmGrey:"#999999",warmGreyTwo:"#7a7a7a",warmGreyThree:"#979797",greyish:"#b8b8b8",greyishTwo:"#aaaaaa",greyishThree:"#e0e0e0",greyishFour:"#b7b7b7",paleGrey:"#f7f8fa",steel:"#888b94",lighterGreyishBrown:"#595959",grey:"#dddddd",darkGrey:"#4B4B4B",blueGrey:"#ECEDF1",nightGrey:"#333",silverGrey:"#bbbbbb",white:"#ffffff",whiteTwo:"#f5f5f5",whiteThree:"#d8d8d8",whiteFour:"#f0f0f0",whiteFive:"#f8f8f8",whiteSix:"#fdfdfd",silver:"#d4d9de",paleGreyTwo:"#e0e7ed",whiteSeven:"#f0ebeb",whiteEight:"#fdfdfd",whiteNine:"#e8e8e8",whiteTen:"#ececec",transparent:"transparent",midGreen:"#4cad4c",aquaMarine:"#50e3c2",darkGrassGreen:"#417505",limeGreen:"#00c300",deepForestgreen:"#388138",veryLightGreen:"#e8fcf3",classGreen:"#7ed321",purply:"#7834a1",veryLightPurple:"#fcf7ff",pigPink:"#ff98b7",charmingPink:"#ff6593",mediumPink:"#e94d8a",grapefruit:"#ff5353",reddishPink:"#ff2750",rosa:"#ff84a2",darkScarlet:"#e32f39",veryLightPink:"#fce8ee",veryLightPeach:"#ffdfe9",veryLightRed:"#fce8ea",darkPink:"#dc2f8b",windowsBlue:"#428bca",azure:"#20afea",cloudyBlue:"#129cd5",seafoamBlue:"#5cc7d7",deepSkyBlue:"#0184ff",tiffanyBlue:"#47b3c3",deepDodgerBlue:"#1783af",veryLightBlue:"#e8f5fc",veryLightNavy:"#e8fafc",cornflowerBlue:"#4a90e2",lightBlue:"#469BE5",sapphire:"#142280",babyBlue:"#daf7ff",pastelBlue:"#e0efff",primaryBlue:"#5ba9ff",pumpkinOrange:"#fb8521",mango:"#ff9933",veryLightMango:"#f4f4f4",veryLightOrange:"#fcf8e8",yellow:"#ffc52f",lightYellow:"#fffbeb"};var j=n(7450),z=n(5927),K=n.n(z),q=n(2568);const $={width:"100%",paddingTop:"133%",position:"relative",overflow:"hidden"},ee=q.default.div`
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
`,te=q.default.img`
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
`,ne=q.default.i`
    position: absolute;
    z-index: 1;
    color: white;
    filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.07)) drop-shadow(0px 1px 16px rgba(0, 0, 0, 0.2));
    top: ${e=>e.displayMode===M.DESKTOP&&e.atHomePage?"12px":"4px"};
    right: ${e=>e.displayMode===M.DESKTOP&&e.atHomePage?"12px":"4px"};
    font-size: ${e=>e.displayMode===M.DESKTOP&&e.atHomePage?"36px":"24px"};
    display: ${e=>e.hasVideo?"block":"none"};
`,ie=q.default.div`
    padding: 8px;
    background-color: ${J.white};
    flex-grow: 1;
`,oe=q.default.div`
    font-size: 16px;
    color: ${J.brownishGrey};
    font-weight: bold;
    padding: 6px 0 2px 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
`,re=q.default.div`
    font-size: 13px;
    color: ${J.brownishGrey};
    padding: 2px 0;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
`,ae=q.default.a`
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    margin: ${({hasGutter:e})=>e?"0 0 20px 10px":"0 0 20px 0"};
    ${({columnCount:e})=>(e=>q.css`
        width: calc((100% - ${10*(e-1)}px) / ${e});
    `)(e)};
    ${({displayMode:e})=>e===M.DESKTOP&&`\n        :hover {\n        position: relative;\n        z-index: ${k};\n        transform: scale(1.02);\n        box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.2);\n    }`}
`,se=({picUrl:e,id:t,title:n,subTitle:i,information:o,columnCount:r,hasGutter:a,displayMode:s,link:c,handleClickGalleryItem:l,hasVideo:u})=>z.createElement(ae,{columnCount:r,hasGutter:a,displayMode:s,id:t,href:c,onClick:l},z.createElement("figure",{style:$},z.createElement(te,{src:e,alt:n}),z.createElement(ne,{className:"ico ico-play",hasVideo:u,atHomePage:"/"===window.location.pathname||"/v2/official"===window.location.pathname,displayMode:s})),z.createElement(ie,null,z.createElement(oe,null,n),z.createElement(re,null,i),z.createElement(re,null,o))),ce={workId:"",primaryId:"",primaryTitle:"",secondaryId:"",secondaryTitle:"",information:"",resizedMainImages:{s:"",m:"",l:"",origin:""},link:"#!",hasVideoContent:!1,videoContentIndex:-1,contents:[{resizeImage:{l:"",m:"",origin:"",s:""},video:{url:""}}]},le=({galleryItemList:e,moduleId:t,moduleKey:n,columnCount:i,displayMode:o,handleClickGalleryItem:r})=>z.createElement(ee,null,e.map(((e=ce,a)=>z.createElement(se,{hasGutter:a%i>0,key:`${t}-${n}-${(0,j.toString)(a)}`,picUrl:e.resizedMainImages.m,id:e.workId,title:e.primaryTitle,subTitle:e.secondaryTitle,information:e.information,columnCount:i,displayMode:o,handleClickGalleryItem:r,link:e.link,hasVideo:e.hasVideoContent}))));var ue=n(4244);const de="1180px",ge="260px",pe=(J.reddishPink,J.white,J.brownishGrey,J.blackTwo,J.Grapefruit,J.Grapefruit,J.Grapefruit,J.white,J.reddishPink,J.reddishPink,J.reddishPink,q.css`
    line-height: 24px,
    display: block,
    box-sizing: border-box,
    width: 24px,
    height: 24px,
    text-align: center,
    border: 1px solid,
    border-radius: 5px,
`,q.css`
    line-height: 24px,
    display: block,
    box-sizing: border-box,
    width: 24px,
    height: 24px,
    text-align: center,
    border: 1px solid,
    border-radius: 5px,
`,q.css`
    display: flex;
    justify-content: center;
    align-items: center;
`),me=q.default.span`
    ${pe}
    cursor: pointer;
    font-size: 16px;
`,fe=q.default.div`
    ${pe}
    margin: 0 auto;
    cursor: pointer;
    width: 100%;
    height: 27px;
    border-radius: 3px;
`,Ie=(J.blackThree,J.brownishGrey,J.brownishGrey,J.whiteThree,J.gunmetal,J.warmGrey,J.Gunmetal,J.brownishGrey,J.grapefruit,J.greyishTwo,J.grapefruit,J.windowsBlue,J.silver,J.windowsBlue,J.limeGreen,J.darkPink,J.grapefruit,J.mango,J.whiteFour,J.blackThree,"6px"),he="16px",be={fontSizeXs:"12px",fontSizeS:"13px",fontSizeDefault:"14px",fontSizeM:"16px",fontSizeMl:"18px",fontSizeL:"20px",fontSizeXl:"22px",fontSizeXxl:"26px"},ye={componentZindex:{toast:1070,toastBack:1060,modal:1050,modalBack:1040,slidePushMenu:1e3,scrollToTop:250,nsMediaGallery:200,navTab:90,nsToolBox:499,mainVision:550,smartAppBanner:500,relatedTagWrapper:3,productBlockBar:2,relatedTagMask:2,sliderDots:2,base:1},headerZindex:{fullScreen:700,navMenu:650,layoutHeader:500,searchKeywordList:100},footerZindex:{nsBasket:300,scrollToTop:250,layoutFooter:200,nsBrowsingHistory:100}},Ce=(e,t,n=e+1,i="break-word")=>`\n      font-size: ${e}px;\n      line-height: ${n}px;\n      text-overflow: ellipsis;\n      white-space: normal;\n      -webkit-line-clamp: ${t};\n      display: -webkit-box;\n      -webkit-box-orient: vertical;\n      overflow: hidden;\n      word-break: ${i};\n      max-height: ${n*t}px;\n  `,ve=q.css`
    &:before,
    &:after {
        content: '';
        display: table;
        clear: both;
    }
`,Be=q.css`
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
`;var Ae=n(5102);const _e=()=>"undefined"!=typeof window,Se=()=>"undefined"==typeof window;var Ge=n(5163),Qe=n(8139),Ee=n(3718);const Fe={CUSTOM:"custom",INTERNAL:"internal"};var we=(e=>(e.CATEGORY="category",e.CUSTOM="custom",e.HIDDEN="hidden",e.INDEX="index",e.PREVIEW="preview",e))(we||{});const Te={"/":"index",hidden:"hidden",preview:"preview",page:"custom"},xe=()=>{if(Se()||!window.nineyi)return{};const e=window.nineyi;return{env:e.env,i18n:e.i18n,logLevel:e.logLevel||4,shopExtensionSetting:e.shopExtensionSetting,stackdriverConfig:e.stackdriverConfig,traceId:e.traceId||"",silo:e.silo,pageType:e.pageType||Ee.PAGE_TYPE.UNKNOWN,isEditMode:e.isEditMode||!1,isPreviewMode:e.isPreviewMode||!1,dependencies:e.dependencies,gaSetting:e.gaSetting,facebookConfig:e.facebookConfig}},ke=()=>{const{dependencies:e}=xe()||{};return e||{shopId:null,locale:null,browsingMode:null,shopProfile:null,imageServiceConfig:null,pageName:null,previewPageName:null}},Ne=e=>{const{ShopName:t}=(null==e?void 0:e.ShopBasicInfo)||{};return{shopName:t}};var Oe=Object.defineProperty,Ze=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,Re=Object.prototype.propertyIsEnumerable,Xe=(e,t,n)=>t in e?Oe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const{stackdriverConfig:We,logLevel:Ve,dependencies:Pe,env:De}=xe(),He=_e();let Le;const Ye="PROD"===(null==De?void 0:De.toUpperCase())?"f2e-maintain-prod":"f2e-maintain-qa";let Me;const Je=e=>{var t,n,i;if("text/html"===(null==(t=null==e?void 0:e.response)?void 0:t.type))return(null==(i=null==(n=null==e?void 0:e.response)?void 0:n.error)?void 0:i.message)||"An unexpected HTML error occurred.";if(e instanceof Error)return e.message;if("object"!=typeof e||null===e)return String(e);try{return e.message||JSON.stringify(e).replace(/"/g,"'").replace(/,/g,"")}catch(o){return"An error occurred, but it cannot be serialized for logging."}},je=e=>{var t,n;return e instanceof Error?e.name:"object"==typeof e&&null!==e&&null!=(n=null==(t=e.constructor)?void 0:t.name)?n:"Error"},ze=Ge.apply((()=>{let e;const{stackdriverConfig:t}=xe();return He&&!e&&t&&(e=(0,Ae.registeErrorHandler)({envName:window.nineyi.env,stackDriverConfig:t,level:Le})),Ae.log.methodFactory=()=>t=>{const n=JSON.parse(t);return e&&"ERROR"===(null==n?void 0:n.level)&&e.report(null==n?void 0:n.message),t},Ae.log})());He&&We&&(window.StackTrace=window.StackTrace||Qe,Le=Ve,(0,Ae.initalizeLogger)(Le),Me=Ae.AgathaReporter.instance(((e,t)=>{for(var n in t||(t={}))Ue.call(t,n)&&Xe(e,n,t[n]);if(Ze)for(var n of Ze(t))Re.call(t,n)&&Xe(e,n,t[n]);return e})({projectId:Ye,serviceName:`${null==We?void 0:We.name}-theme-core`},Pe?{clientInfo:{shopId:Pe.shopId,market:Pe.market,env:Pe.env,lang:Pe.locale}}:{})));var Ke=(e=>(e.BANNER="DEFAULT",e.BLOG="DEFAULT",e.CAROUSEL="CAROUSEL",e.DEFAULT="DEFAULT",e.FULL_SCREEN_ADS="FULL_SCREEN_ADS",e.QUICK_ENTRY="DEFAULT",e.STATIC_BANNER="STATIC_BANNER",e))(Ke||{});const qe=(e="DEFAULT",t="image",n=0)=>{const{DEFAULT:i,CAROUSEL:o,STATIC_BANNER:r,FULL_SCREEN_ADS:a}=Ke;return{[o]:`${t}-carousel-${n+1}`,[r]:`${t}-staticBanner-${n+1}`,[a]:`FullScreenAds-${n+1}`,[i]:`${t}-${n+1}`}[e]};var $e=n(8068);const et=(e,t,n)=>new RegExp("^(http|https)://","i").test(n)?n:`${t.imageHost}${t.imagePath}${e}/${n}`,tt=(e,t)=>{try{const n=RegExp(`[?&]${e}=([^&]*)`).exec(t||document.location.search);return n&&decodeURIComponent(decodeURIComponent(n[1].replace(/\+/g," ")))}catch(n){return null}},nt=(e,t,n,i=!1)=>{let o="",r=e.length;e.indexOf("#")>0&&(r=e.indexOf("#"),o=e.substring(e.indexOf("#"),e.length));const a=e.substring(0,r).split("?");let s="";if(a.length>1){const e=a[1].split("&");for(let n=0;n<e.length;n++){const i=e[n].split("=");i[0]!==t&&(""===s?s="?":s+="&",s+=`${i[0]}=${i[1]?i[1]:""}`)}}return""===s&&(s="?"),i?s=`?${t}=${n+(s.length>1?`&${s.substring(1)}`:"")}`:(""!==s&&"?"!==s&&(s+="&"),s+=`${t}=${n||""}`),a[0]+s+o},it=(e,t)=>{let n,i=t.split("?")[0],o=[];const r=t.includes("?")?t.split("?")[1]:"";if(""!==r){o=r.split("&");for(let t=o.length-1;t>=0;t-=1)n=o[t].split("=")[0],n===e&&o.splice(t,1);i=`${i}?${o.join("&")}`}return i},ot=(e,t)=>{if(!e||"/images"!==(null==t?void 0:t.slice(0,7)))return t;const{isEnableCmsCdn:n,themecoreVersion:i}=ke();return n?`${e.imageHost}lib/cms-theme-core/${i}${t}`:`/cms/themecore${t}`},rt=(e,t,n,i)=>{const o=i&&!0!==i.isSplitPicture?i.imageUrlMobile:i.imageUrl;return o&&`${et(e,t,o)}`||ot(t,n)},at=(e,t,n,i)=>(null==i?void 0:i.imageUrlMobile)&&`${et(e,t,i.imageUrlMobile)}`||ot(t,n),st=e=>e||"javascript: void(0)",ct=e=>{var t;const n=new RegExp("^(http|https)://","i");return"internal"===e.urlType&&(e.linkUrl=null==(t=e.linkUrl)?void 0:t.replace(n,"//")),e},lt=e=>($e.apply(e,"$..topMessageData",(e=>ct(e))),$e.apply(e,"$..materialList",(e=>e.map((e=>ct(e))))),$e.apply(e,"$..blogList",(e=>e.map((e=>ct(e))))),$e.apply(e,"$..customLinkListMenu",(e=>e.map((e=>ct(e))))),e),ut=e=>{let t=e;return"/"===(null==t?void 0:t[0])&&"/"===(null==t?void 0:t[1])?t=window.location.protocol+t:"/"===(null==e?void 0:e[0])&&(t=window.location.origin+t),t},dt=e=>["/Login/","/V2/VipMember/Profile"].every(((t="")=>!e.includes(t))),gt="webapi/",pt=(e,t,n)=>{const{apiConfig:i,shopId:o,locale:r,isClearCache:a,retailStoreId:s}=t,c=!0===n&&!0===i.isEnableCdnApi;let l="";l="undefined"==typeof window?i.serverApiHost:c?i.cdnApiHost:i.clientApiHost;let u=l+gt+e;return u=!0===a?(e=>nt(e,"r","t"))(u):u,u=((e,t)=>nt(e,"shopId",t.toString()))(u,o),u=((e,t)=>nt(e,"lang",t))(u,r),s&&(u=((e,t)=>nt(e,"retailStoreId",t))(u,s)),u},mt=()=>{const{apiConfig:e,shopId:t,locale:n}=ke();return`${null==e?void 0:e.bffHost}/pythia-cdn/graphql?shopId=${t}&lang=${n}`},ft=()=>{const{apiConfig:e}=ke();return(null==e?void 0:e.ftsHostTemp)||""},It=e=>{const{dependencies:t,defaultImage:n,isMobile:i,dataSource:o}=e,r=(0,j.sortBy)(o.materialList,"itemIndex"),{shopId:a,imageServiceConfig:s}=t,c=(e,t,n)=>e?!0===i?null==t?void 0:t.resizeList:null==n?void 0:n.resizeList:null==t?void 0:t.resizeList;return r.map((e=>{const{linkUrl:o,title:r,itemIndex:l,isSplitPicture:u,desktopImageInfo:d,mobileImageInfo:g,isEnableCompressDesktop:p,isEnableCompressMobile:m,altText:f,isPresetImage:I,scheduleList:h,compressVersion:b}=e;return{imageUrl:i?at(a,s,n,e):rt(a,s,n,e),linkUrl:o,title:r,itemIndex:l,dependencies:t,resizeList:c(u,g,d),isEnableCompress:i&&!0===u?m:p,altText:f,isPresetImage:I,scheduleList:h,isMobile:i,defaultImage:n,compressVersion:b,isSplitPicture:u,isEnableCompressDesktop:p,isEnableCompressMobile:m}}))},ht=({breadcrumbsList:e})=>{const t={};return e.forEach(((e,n)=>{t[`categoryIdLevel${n+1}`]=e.Id,t[`categoryNameLevel${n+1}`]=e.Name,0===n?t.currentCategoryName=e.Name:t.currentCategoryName+=` > ${e.Name}`})),t},bt=e=>e.childList&&e.childList.length>0,yt={mainMenuIndex:-1,isChildListOpen:!1},Ct=(e,t)=>{try{const n=e.findIndex((e=>e.id===t));if(n>-1)return{mainMenuIndex:n,isChildListOpen:bt(e[n])};let i=0;const o=()=>{if(i>=e.length)throw new Error("currentId does not exist in categoryList");if(bt(e[i])){const n=e[i].childList.findIndex((e=>e.id===t));if(n>-1)return{mainMenuIndex:i,isChildListOpen:!0,subMenuIndex:n}}return i+=1,o()};return o()}catch(n){return yt}};var vt=(e=>(e.ONE_TO_ONE="1:1",e.THREE_TO_FOUR="3:4",e))(vt||{});const Bt=350,At={VIDEO:"video",PICTURE:"picture"},_t={SQUARE:"SQUARE",RECTANGLE:"RECTANGLE"},St={MOBILE:"A",DESKTOP:"B"};var Gt=(e=>(e.POINT_PAY="PointPay",e.PRICE="Price",e))(Gt||{});const Qt=28,Et=0;var Ft=(e=>(e.BUTTON="button",e.ICON="icon",e))(Ft||{}),wt=(e=>(e.HIDDEN="Hide",e))(wt||{}),Tt=(e=>(e[e.DEFAULT=0]="DEFAULT",e[e.COLOR_ROUNDED_BACKGROUND=1]="COLOR_ROUNDED_BACKGROUND",e))(Tt||{}),xt=(e=>(e[e.DEFAULT=0]="DEFAULT",e[e.GRAY_ROUNDED_BACKGROUND=1]="GRAY_ROUNDED_BACKGROUND",e))(xt||{}),kt=(e=>(e[e.ACTION_BTN_AREA=0]="ACTION_BTN_AREA",e[e.IMAGE_UPPER_RIGHT=1]="IMAGE_UPPER_RIGHT",e))(kt||{}),Nt=(e=>(e.HEADER_EXPRESS_SALE_PAGE="HeaderExpressSalePage",e))(Nt||{}),Ot=(e=>(e.ACTIVITY="activity",e.CATEGORY="category",e.CUSTOM_LINK="customLink",e))(Ot||{});const Zt=["-1"],Ut=148;var Rt=(e=>(e.EN_US="en-US",e.JA_JP="ja-JP",e.MS_MY="ms-MY",e.TH_TH="th-TH",e.ZH_CN="zh-CN",e.ZH_HK="zh-HK",e.ZH_TW="zh-TW",e))(Rt||{}),Xt=(e=>(e.HK="HK",e.MY="MY",e.TW="TW",e))(Xt||{}),Wt=(e=>(e.HK="hk",e.MY="my",e.TW="tw",e))(Wt||{});const Vt={lineUrl:"https://page.line.me/mujitaiwan?openQrModal=true",fbUrl:"https://www.facebook.com/muji.tw",youtubeUrl:"https://www.youtube.com/c/MUJITaiwan2004/videos",instagramUrl:"https://www.instagram.com/muji_taiwan/"},Pt=[{name:"店舖情報",link:"https://www.muji.com/tw/zh_tw/shop"},{name:"門市服務",link:"https://www.muji.com/tw/service/"},{name:"門市活動講座",link:"https://www.muji.com/tw/events/"},{name:"活動特集",link:"https://www.muji.com/tw/zh_tw/stories"},{name:"Café&MealMUJI",link:"https://cafemeal.muji.com/tw/"},{name:"空間改造企劃服務",link:"https://renovation.muji.tw/"},{name:"大宗採購",link:"https://www.muji.com/tw/business/"},{name:"隱私權及網站使用條款",link:"https://shop.muji.tw/MyAccount/Privacy/41566"},{name:"最新消息",link:"https://www.muji.com/tw/news/"},{name:"企業情報",link:"https://www.muji.com/tw/aboutus/"},{name:"會員服務",link:"https://www.muji.com/tw/member/"},{name:"人才招募",link:"https://www.muji.com/tw/job/"},{name:"顧客服務",link:"https://consumerservice.muji.tw/"},{name:"購物說明",link:"https://shop.muji.tw/Shop/Introduce/41566?t=2"},{name:"線上購物指南",link:"https://www.muji.com/tw/shopping-guide/"},{name:"網站地圖",link:"https://www.muji.com/tw/sitemap/"}],Dt="https://www.muji.com/?area=footer";var Ht=(e=>(e.CIRCLE="Circle",e.SQUAER="Square",e))(Ht||{});const Lt=3.5,Yt=6,Mt=5,Jt=40,jt=24,zt=8,Kt="10vw",qt="7vw",$t=10;var en=n(9698),tn=n(9600);const nn=tn.P5,on=e=>{var t;return(null==(t=e.response)?void 0:t.body)||e},rn=(e,t)=>`${t}_${e}`,an=(e,t,n)=>({name:"TimeoutError",message:e.message||"Connection timeout. Please try again.",code:rn(n||"E001",t)});var sn=n(6959),cn=n(7404),ln=n(8927),un=n(4490),dn=n(8083),gn=n(2403),pn=n(5734);const mn=e=>{const{shopProfile:t,apiConfig:n,isClearCache:i,device:o,locale:r,retailStoreId:a}=e,{ShopBasicInfo:s}=t,{ShopId:c}=s;return{shopId:c,apiConfig:n,isClearCache:i,device:o,locale:r,retailStoreId:a}};let fn=!1,In=!1,hn=null;const bn=()=>{return e=function*(){const e=ke(),t=mn(e),{shopId:n}=t,i=pt("Auth/IsLogin",t,!1),o={method:en.RequestMethod.POST,body:JSON.stringify({shopId:n})};return In?hn:(In=!0,hn=Zn(i,o),fn=yield hn,Promise.resolve(fn))},new Promise(((n,i)=>{var o=n=>{try{a(e.next(n))}catch(t){i(t)}},r=n=>{try{a(e.throw(n))}catch(t){i(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,r);a((e=e.apply(void 0,null)).next())}));var e};let yn=!0;const Cn=()=>{return e=function*(){var e,t;const n=ke(),i=mn(n),o=null==(t=null==(e=null==n?void 0:n.shopProfile)?void 0:e.ShopBasicInfo)?void 0:t.EnableSessionExpire;yn&&o&&(yn=!1,setTimeout((()=>{yn=!0}),6e4),yield(e=>{return i=function*(){const{shopId:t}=e;try{const t=pt("AuthV4/KeepAlive",e,!0);return void(yield Zn(t))}catch(n){ze.error(`[ERROR] fetchAuthKeepAlive error: ${je(n)}: ${Je(n)}, shopId: ${t}`)}},new Promise(((e,n)=>{var o=e=>{try{a(i.next(e))}catch(t){n(t)}},r=e=>{try{a(i.throw(e))}catch(t){n(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i})(i))},new Promise(((n,i)=>{var o=n=>{try{a(e.next(n))}catch(t){i(t)}},r=n=>{try{a(e.throw(n))}catch(t){i(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,r);a((e=e.apply(void 0,null)).next())}));var e};var vn=n(8856);const Bn=()=>_e()&&void 0!==(0,vn.getCookie)("appVer")&&""!==(0,vn.getCookie)("appVer"),An=()=>{const{isEditMode:e}=xe();return!0===e},_n=()=>{const{isPreviewMode:e}=xe();return!0===e};var Sn=Object.defineProperty,Gn=Object.defineProperties,Qn=Object.getOwnPropertyDescriptors,En=Object.getOwnPropertySymbols,Fn=Object.prototype.hasOwnProperty,wn=Object.prototype.propertyIsEnumerable,Tn=(e,t,n)=>t in e?Sn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xn=(e,t)=>{for(var n in t||(t={}))Fn.call(t,n)&&Tn(e,n,t[n]);if(En)for(var n of En(t))wn.call(t,n)&&Tn(e,n,t[n]);return e},kn=(e,t)=>Gn(e,Qn(t)),Nn=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));function On(e,t={method:en.RequestMethod.GET}){const n=e.split("?")[0]||"",i=e.split("?")[1]||"",o={GET:pn.get(n).query(i),POST:pn.post(n).query(i).send(t.body).set("Content-Type","application/json"),PUT:pn.put(n).query(i).send(t.body).set("Content-Type","application/json"),DELETE:pn.delete(n).query(i).send(t.body).set("Content-Type","application/json"),FORM:pn.post(n).query(i).send(t.formData),HEAD:pn.head(n).query(i)},{traceId:r}=xe();return!e.startsWith("http://")&&!e.startsWith("https://")&&r&&o[t.method].set("traceId",r),(0,sn.H)(o[t.method].timeout(t.timeout||{response:1e4,deadline:2e4})).pipe((0,un.ZZ)((e=>gn.redirect[e.status]||gn.retry[e.status]?(0,cn.$)(new Error(e.body)):(0,ln.of)(e.body))),(0,dn.W)((e=>"ECONNABORTED"===e.code?(0,cn.$)(an(e,r)):(0,cn.$)(e))))}function Zn(e){return Nn(this,arguments,(function*(e,t={method:en.RequestMethod.GET}){!An()&&(yield bn())&&Cn();const n=e.startsWith("http://")||e.startsWith("https://");let i=xn({},t);const{traceId:o}=xe();return!n&&o&&(i=kn(xn({},t),{traceId:o})),(0,en.fetchApi)(e,i)}))}var Un=(e=>(e.IsClosed="IsClosed",e.NoStart="NoStart",e.Normal="Normal",e.SoldOut="SoldOut",e.UnListing="UnListing",e))(Un||{});const Rn=e=>{return n=[e],i=function*({streamInjection:e,payload:t}){const{salePageId:n,salePageCode:i=""}=t,o=pt(`SalePageStatus/GetSalePageStatus?id=${i||n}`,e,!1);return yield Zn(o)},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i};var Xn=Object.defineProperty,Wn=Object.defineProperties,Vn=Object.getOwnPropertyDescriptors,Pn=Object.getOwnPropertySymbols,Dn=Object.prototype.hasOwnProperty,Hn=Object.prototype.propertyIsEnumerable,Ln=(e,t,n)=>t in e?Xn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Yn=(e=>(e.AppOnly="AppOnly",e.ShareToBuy="ShareToBuy",e))(Yn||{});const Mn=(e,t,n,i)=>i?e:t?"AppOnly":n?"ShareToBuy":e,Jn=e=>{return n=[e],i=function*({streamInjection:e,payload:{salePageId:t,salePageCode:n,forbidStatusChange:i},shouldFetchSalePageStatus:o=!0}){const{shopId:r}=e;try{const c=pt(n?`Sku/GetSkuPopupInfo/${r}/${n}?hasShow2LevelAllImageList=true&source=Web`:`Sku/GetSkuPopupInfo/${r}/${t}?hasShow2LevelAllImageList=true&source=Web`,e,!0),[{Data:l,Message:u},d]=yield Promise.all([Zn(c),o?Rn({streamInjection:e,payload:{salePageCode:n,salePageId:t}}):void 0]);if(!l)return ze.error("[ERROR] fetchSalePageV2Info failed: No Data"),Promise.reject(u||"fetchSalePageV2Info failed: No Data");if(!o)return l;const g=(a=((e,t)=>{for(var n in t||(t={}))Dn.call(t,n)&&Ln(e,n,t[n]);if(Pn)for(var n of Pn(t))Hn.call(t,n)&&Ln(e,n,t[n]);return e})({},l),s={StatusDef:Mn(d,l.IsAPPOnly,l.IsShareToBuy,i)},Wn(a,Vn(s)));return g}catch(c){return ze.error(`[ERROR] fetchSalePageV2Info failed: ${je(c)}: ${Je(c)}, shopId: ${r}`),Promise.reject(c)}var a,s},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i},jn={THEME_CORE:{ACTIVITY:{DAYS:"theme_core.activity.days",GO_TO_PROMOTION_LIST:"theme_core.activity.go_to_promotion_list",HOURS:"theme_core.activity.hours",MINUTES:"theme_core.activity.minutes",PROMOTION_COME_TO_END:"theme_core.activity.promotion_come_to_end",PROMOTION_LATEST:"theme_core.activity.promotion_latest",SECONDS:"theme_core.activity.seconds"},BLOG:{ARTICLE_DEFAULT_DESCRIPTION:"theme_core.blog.article_default_description",ARTICLE_DEFAULT_TITLE:"theme_core.blog.article_default_title",INTRO:"theme_core.blog.intro",SEE_MORE:"theme_core.blog.see_more",TAG:"theme_core.blog.tag",TITLE:"theme_core.blog.title"},BREADCRUMBS:{HOME_PAGE:"theme_core.breadcrumbs.home_page",STORE_EXPRESS_PAGE:"theme_core.breadcrumbs.store_express_page"},BROWSING_HISTORY:{BESTSELLERS:"theme_core.browsing_history.bestsellers",BROWSING_HISTORY:"theme_core.browsing_history.browsing_history",BROWSING_HISTORY_CLEAR:"theme_core.browsing_history.browsing_history_clear",BROWSING_HISTORY_ITEMS:"theme_core.browsing_history.browsing_history_items",BROWSING_HISTORY_NONE:"theme_core.browsing_history.browsing_history_none",BROWSING_HISTORY_SEE_MORE:"theme_core.browsing_history.browsing_history_see_more"},COLLECTION_DETAIL:{DETAIL_PAGE_INTRODUCTION:"theme_core.collection_detail.detail_page_introduction",DETAIL_PAGE_TITLE:"theme_core.collection_detail.detail_page_title",HOME_PAGE:"theme_core.collection_detail.home_page",NO_PRODUCT:"theme_core.collection_detail.no_product",NOT_FOUND:"theme_core.collection_detail.not_found",RELATIVE_LIST_TITLE:"theme_core.collection_detail.relative_list_title",SKU_PRODUCT_LIST_TITLE:"theme_core.collection_detail.sku_product_list_title"},COLLECTION_LIST:{LIST_PAGE_TITLE:"theme_core.collection_list.list_page_title",NOT_FOUND:"theme_core.collection_list.not_found",PRODUCT_COUNT:"theme_core.collection_list.product_count"},DEFAULT:{CANCEL:"theme_core.default.cancel",CURRENCY:"theme_core.default.currency",CURRENCY_SELECTION:"theme_core.default.currency_selection",CUSTOM_TITLE:"theme_core.default.custom_title",LANGUAGE:"theme_core.default.language",LANGUAGE_SELECTION:"theme_core.default.language_selection",LOADING:"theme_core.default.loading",PRIVACY_TIP_INFO_CHECK:"theme_core.default.privacy_tip_info_check",PRIVACY_TIP_INFO_FIRST:"theme_core.default.privacy_tip_info_first",PRIVACY_TIP_INFO_READ_MORE:"theme_core.default.privacy_tip_info_read_more",PRIVACY_TIP_INFO_SECOND:"theme_core.default.privacy_tip_info_second",PRIVACY_TIP_INFO_THIRD:"theme_core.default.privacy_tip_info_third",RESTRICTED_POPUP_CONTENT_HK:"theme_core.default.restricted_popUp_content_HK",RESTRICTED_POPUP_CONTENT_CHECK_AGE:"theme_core.default.restricted_popUp_content_check_age",RESTRICTED_POPUP_CONTENT_INFO:"theme_core.default.restricted_popUp_content_info",RESTRICTED_POPUP_ENTER:"theme_core.default.restricted_popUp_enter",RESTRICTED_POPUP_LEAVE:"theme_core.default.restricted_popUp_leave",RESTRICTED_POPUP_TITLE:"theme_core.default.restricted_popUp_title",SETTINGS:"theme_core.default.settings"},DOWNLOAD:{DOWNLOAD_APP:"theme_core.download.download_app",DOWNLOAD_LINK:"theme_core.download.download_link",SCAN_QR_CODE:"theme_core.download.scan_qr_code"},ERROR:{PAGE_NOT_FOUND:"theme_core.error.page_not_found",TO_HOME:"theme_core.error.to_home"},FOOTER:{ABOUT_US:"theme_core.footer.about_us",ANTI_FRAUD_DESC:"theme_core.footer.anti_fraud_desc",BENEFIT_TERMS:"theme_core.footer.benefit_terms",BEST_VIEW:"theme_core.footer.best_view",BRAND_STORY:"theme_core.footer.brand_story",CONTACT_US:"theme_core.footer.contact_us",FAQ:"theme_core.footer.faq",MESSAGE:"theme_core.footer.message",OFFICIAL_APP:"theme_core.footer.official_app",PAYMENT:"theme_core.footer.payment",PRIVACY:"theme_core.footer.privacy",RETURN_EXCHANGE:"theme_core.footer.return_exchange",SERVICE_INFORMATION:"theme_core.footer.service_information",SHIPPING:"theme_core.footer.shipping",SHOPPING_INSTRUCTIONS:"theme_core.footer.shopping_instructions",STORE_INFO:"theme_core.footer.store_info",STORE_INTRODUCTION:"theme_core.footer.store_introduction",TERMS_AND_CONDITIONS:"theme_core.footer.terms_and_conditions"},HEADER:{ACTIVITY:"theme_core.header.activity",APP_DOWNLOAD_SEND_TO_NUMBER:"theme_core.header.app_download_send_to_number",APP_DOWNLOAD_SEND_TO_PHONE:"theme_core.header.app_download_send_to_phone",APP_DOWNLOAD_USE_QR_CODE:"theme_core.header.app_download_use_qr_code",BARCODE_SEARCH_PLACEHOLDER:"theme_core.header.barcode_search_placeholder",CATEGORY:"theme_core.header.category",CATEGORY_ALL:"theme_core.header.category_all",CATEGORY_BADGE_GIFT:"theme_core.header.category_badge_gift",CHECK_ORDER:"theme_core.header.check_order",CHECKOUT:"theme_core.header.checkout",CLICK_TO_TRACK_STATUS:"theme_core.header.click_to_track_status",CONTACT_CUSTOMER:"theme_core.header.contact_customer",CURRENT_STATE:"theme_core.header.current_state",CUSTOMER_CONTACT:"theme_core.header.customer_contact",DELIVER_TO_NEW:"theme_core.header.deliver_to_new",DELIVERED_TO:"theme_core.header.delivered_to",DELIVERY_ADDRESS:"theme_core.header.delivery_address",DELIVERY_BY:"theme_core.header.delivery_by",DELIVERY_TIME:"theme_core.header.delivery_time",DOWNLOAD:"theme_core.header.download",DOWNLOAD_APP:"theme_core.header.download_app",DOWNLOAD_APP_DESCRIBE:"theme_core.header.download_app_describe",FREE_SEND_DOWNLOAD_APP:"theme_core.header.free_send_download_app",I_KNOW:"theme_core.header.i_know",INPUT_CELLPHONE:"theme_core.header.input_cellphone",INPUT_CELLPHONE_GLOBAL:"theme_core.header.input_cellphone_global",INPUT_KEY_WORD:"theme_core.header.input_key_word",INVALID_CELLPHONE_FORMAT:"theme_core.header.invalid_cellphone_format",LINK_WORD:"theme_core.header.link_word",LOG_OUT:"theme_core.header.log_out",LOGIN_SIGNUP:"theme_core.header.login_signup",MUJI_SEARCH_BARCODE:"theme_core.header.muji_search_barcode",MUJI_SEARCH_PLACEHOLDER:"theme_core.header.muji_search_placeholder",MY_ACCOUNT:"theme_core.header.my_account",MY_COUPONS:"theme_core.header.my_coupons",MY_FAVORITE:"theme_core.header.my_favorite",MY_MEMBERSHIP:"theme_core.header.my_membership",MY_ORDERS:"theme_core.header.my_orders",NEW_ADD_ITEM:"theme_core.header.new_add_item",ORDER_CANCEL_MSG:"theme_core.header.order_cancel_msg",ORDER_DELIVERY_ADDRESS:"theme_core.header.order_delivery_address",ORDER_DELIVERY_SUCCESS:"theme_core.header.order_delivery_success",ORDER_FAIL_MSG:"theme_core.header.order_fail_msg",ORDER_SET:"theme_core.header.order_set",OTHERS_LOOKING_FOR:"theme_core.header.others_looking_for",PICK_UP_AT_THE_STORE:"theme_core.header.pick_up_at_the_store",PLEASE_ENTER_SHIPPING_ADDRESS:"theme_core.header.please_enter_shipping_address",POINTS:"theme_core.header.points",PURCHASE_EXTRA:"theme_core.header.purchase_extra",RECOMMENDED_BRAND:"theme_core.header.recommended_brand",SCAN_QR_DOWNLOAD:"theme_core.header.scan_qr_download",SEARCH:"theme_core.header.search",SEARCH_BARCODE:"theme_core.header.search_barcode",SHOPPING_CART:"theme_core.header.shopping_cart",SHOPPING_CART_EMPTY:"theme_core.header.shopping_cart_empty",STORE:"theme_core.header.store",STORE_SELECTION_DEFAULT_TEXT:"theme_core.header.store_selection_default_text",STORE_SELECTION_GREETING:"theme_core.header.store_selection_greeting",STORE_SELECTION_HINT_STEP1:"theme_core.header.store_selection_hint_step1",STORE_SELECTION_HINT_STEP2:"theme_core.header.store_selection_hint_step2",TOP_MESSAGE:"theme_core.header.top_message",USE_APP:"theme_core.header.use_app",YOUR_PICK_UP_STORE:"theme_core.header.your_pick_up_store"},HEADER_SLIDER:{ABOUT_CAPTION:"theme_core.header_slider.about_caption",ABOUT_US:"theme_core.header_slider.about_us",ACTIVITY:"theme_core.header_slider.activity",ACTIVITY_AND_PREFERENTIAL:"theme_core.header_slider.activity_and_preferential",ANSWERED:"theme_core.header_slider.answered",BRAND_STORY:"theme_core.header_slider.brand_story",CATEGORY:"theme_core.header_slider.category",CATEGORY_ALL_ITEMS:"theme_core.header_slider.category_all_items",CONTACT_US:"theme_core.header_slider.contact_us",CUSTOMER_INFORMATION:"theme_core.header_slider.customer_information",EVENTS_AND_DISCOUNTS:"theme_core.header_slider.events_and_discounts",EXCHANGE:"theme_core.header_slider.exchange",FACEBOOK:"theme_core.header_slider.facebook",FOLLOW_COMMUNITY:"theme_core.header_slider.follow_community",GO_TO_TARGET_TEXT:"theme_core.header_slider.go_to_target_text",INPUT_COUPON:"theme_core.header_slider.input_coupon",INSTAGRAM:"theme_core.header_slider.instagram",INVITATION_EVENTS:"theme_core.header_slider.invitation_events",INVITE_FRIENDS:"theme_core.header_slider.invite_friends",LIMITED_DISCOUNT:"theme_core.header_slider.limited_discount",LINE:"theme_core.header_slider.line",MEMBERSHIP:"theme_core.header_slider.membership",MESSAGE:"theme_core.header_slider.message",NOT_SUPPORT_FOR_JUST_AN_HOUR:"theme_core.header_slider.not_support_for_just_an_hour",OFFICIAL_APP:"theme_core.header_slider.official_app",PAYMENT:"theme_core.header_slider.payment",PRIVACY_POLICY:"theme_core.header_slider.privacy_policy",SELECT_CHANNEL:"theme_core.header_slider.select_channel",SERVICE_DESCRIPTION:"theme_core.header_slider.service_description",SHIPPING:"theme_core.header_slider.shipping",SHOP_CATEGORY_IS_IN_PREPARATION:"theme_core.header_slider.shop_category_is_in_preparation",SHOP_INFORMATION:"theme_core.header_slider.shop_information",SHOP_INSTRUCTIONS:"theme_core.header_slider.shop_instructions",STORE:"theme_core.header_slider.store",STORE_DISCOUNTS:"theme_core.header_slider.store_discounts",STORE_INFORMATION:"theme_core.header_slider.store_information",STORE_INTRODUCTION:"theme_core.header_slider.store_introduction",TERMS_AND_CONDITIONS:"theme_core.header_slider.terms_and_conditions"},HOT_SALE_RANKING:{PAGE_TITLE:"theme_core.hot_sale_ranking.page_title"},INLINE:{APRIL:"theme_core.inline.april",AUGUST:"theme_core.inline.august",DECEMBER:"theme_core.inline.december",DELIVERY:"theme_core.inline.delivery",DELIVERY_ORDER_STATUS_COMPLETED:"theme_core.inline.delivery_order_status_completed",DELIVERY_ORDER_STATUS_DELIVERING:"theme_core.inline.delivery_order_status_delivering",DELIVERY_ORDER_STATUS_DELIVERING_DESC:"theme_core.inline.delivery_order_status_delivering_desc",DELIVERY_ORDER_STATUS_PREPARATION_DESC:"theme_core.inline.delivery_order_status_preparation_desc",DELIVERY_ORDER_TITLE:"theme_core.inline.delivery_order_title",FEBRUARY:"theme_core.inline.february",FRIDAY:"theme_core.inline.friday",JANUARY:"theme_core.inline.january",JULY:"theme_core.inline.july",JUNE:"theme_core.inline.june",MARCH:"theme_core.inline.march",MAY:"theme_core.inline.may",MONDAY:"theme_core.inline.monday",NOVEMBER:"theme_core.inline.november",NUMBER_OF_ORDER:"theme_core.inline.number_of_order",NUMBER_OF_PEOPLE_DINING:"theme_core.inline.number_of_people_dining",OCTOBER:"theme_core.inline.october",PLEASE_SELECT_BRANCH:"theme_core.inline.please_select_branch",RESERVATION_BUTTON_RESERVE_TABLE_TITLE:"theme_core.inline.reservation_button_reserve_table_title",RESERVATION_BUTTON_RESERVE_TAKEOUT_OR_DELIVERY_TITLE:"theme_core.inline.reservation_button_reserve_takeout_or_delivery_title",RESERVATION_DD_RESERVE_BRAND_TITLE:"theme_core.inline.reservation_dd_reserve_brand_title",RESERVATION_DD_RESERVE_STORE_TITLE:"theme_core.inline.reservation_dd_reserve_store_title",RESERVATION_DD_RESERVE_TYPE_TITLE:"theme_core.inline.reservation_dd_reserve_type_title",RESERVATION_OPTION_BOOKING:"theme_core.inline.reservation_option_booking",RESERVATION_OPTION_ONLINE_SHOPING:"theme_core.inline.reservation_option_online_shoping",RESERVATION_OPTION_TAKEOUT_OR_DELIVERY:"theme_core.inline.reservation_option_takeout_or_delivery",RESERVATION_ORDER_TITLE:"theme_core.inline.reservation_order_title",SATURDAY:"theme_core.inline.saturday",SEATED:"theme_core.inline.seated",SELECT_BRANCH:"theme_core.inline.select_branch",SEPTEMBER:"theme_core.inline.september",SUNDAY:"theme_core.inline.sunday",TAKE_OUT:"theme_core.inline.take_out",TAKEOUT_DELIVERY_ORDER_STATUS_PREPARATION:"theme_core.inline.takeout_delivery_order_status_preparation",TAKEOUT_DELIVERY_ORDER_STATUS_WAITING_CONFIRMATION:"theme_core.inline.takeout_delivery_order_status_waiting_confirmation",TAKEOUT_DELIVERY_ORDER_STATUS_WAITING_DESC:"theme_core.inline.takeout_delivery_order_status_waiting_desc",TAKEOUT_ORDER_STATUS_COMPLETED:"theme_core.inline.takeout_order_status_completed",TAKEOUT_ORDER_STATUS_PREPARATION_DESC:"theme_core.inline.takeout_order_status_preparation_desc",TAKEOUT_ORDER_STATUS_READY:"theme_core.inline.takeout_order_status_ready",TAKEOUT_ORDER_STATUS_READY_DESC:"theme_core.inline.takeout_order_status_ready_desc",TAKEOUT_ORDER_TITLE:"theme_core.inline.takeout_order_title",THURSDAY:"theme_core.inline.thursday",TODAY:"theme_core.inline.today",TUESDAY:"theme_core.inline.tuesday",WEDNESDAY:"theme_core.inline.wednesday"},LOCATION_INVENTORY:{CART_WILL_ADJUST:"theme_core.location_inventory.cart_will_adjust",CHANGE_DELIVERY_STORE:"theme_core.location_inventory.change_delivery_store",CURRENT_STORE:"theme_core.location_inventory.current_store",CURRENTLY_BUSY:"theme_core.location_inventory.currently_busy",HAVE_INVENTORY:"theme_core.location_inventory.have_inventory",NEARBY_INVENTORY:"theme_core.location_inventory.nearby_inventory",NO_INVENTORY:"theme_core.location_inventory.no_inventory",NO_STORE_AVAILABLE:"theme_core.location_inventory.no_store_available",OTHER_NEARBY_STORE:"theme_core.location_inventory.other_nearby_store",PLEASE_SELECT_OTHER_STORE:"theme_core.location_inventory.please_select_other_store",RE_ENTER_PAGE:"theme_core.location_inventory.re_enter_page",SELECT_THIS_STORE:"theme_core.location_inventory.select_this_store",SORRY:"theme_core.location_inventory.sorry"},PRODUCT:{ADD_BACK_IN_STOCK:"theme_core.product.add_back_in_stock",ADD_CART:"theme_core.product.add_cart",ADD_FAVORITE:"theme_core.product.add_favorite",ADD_TO_CART:"theme_core.product.add_to_cart",ALL_AVAILABLE_ITEMS_ADDED:"theme_core.product.all_available_items_added",ALREADY_IN_CART:"theme_core.product.already_in_cart",APP_ONLY:"theme_core.product.app_only",BACK_IN_STOCK:"theme_core.product.back_in_stock",BACK_IN_STOCK_INPUT_MAIL_FIRST:"theme_core.product.back_in_stock_input_mail_first",BACK_IN_STOCK_INPUT_MAIL_SECOND:"theme_core.product.back_in_stock_input_mail_second",BACK_IN_STOCK_INPUT_MAIL_THIRD:"theme_core.product.back_in_stock_input_mail_third",BACK_IN_STOCK_LIMIT_FIRST:"theme_core.product.back_in_stock_limit_first",BACK_IN_STOCK_LIMIT_SECOND:"theme_core.product.back_in_stock_limit_second",BACK_IN_STOCK_NOT_LOGIN:"theme_core.product.back_in_stock_not_login",CAN_NOT_BUY:"theme_core.product.can_not_buy",CANCEL_BACK_IN_STOCK:"theme_core.product.cancel_back_in_stock",CHOOSE_PURCHASE_METHOD:"theme_core.product.choose_purchase_method",CONFIRM:"theme_core.product.confirm",IMMEDIATELY_BUY:"theme_core.product.immediately_buy",IMMEDIATELY_BUY_EXPRESS_SALE_PAGE:"theme_core.product.immediately_buy_express_sale_page",INCLUDE_THESE_SALEPAGES_TEXT:"theme_core.product.include_these_salepages_text",INPUT_MAIL:"theme_core.product.input_mail",INSUFFICIENT_INVENTORY:"theme_core.product.insufficient_inventory",ITS_RESTRICTED_PRODUCT:"theme_core.product.its_restricted_product",LIMIT_MAX_VALUE_MSG:"theme_core.product.limit_max_value_msg",LOGIN:"theme_core.product.login",LOGIN_AND_TRY_AGAIN:"theme_core.product.login_and_try_again",MAIL:"theme_core.product.mail",MAIL_FORMAT_ERROR:"theme_core.product.mail_format_error",MAX_PURCHASE_LIMIT:"theme_core.product.max_purchase_limit",MAXIMUM_PURCHASE_OF_LIMIT_ITEMS_FOR_THIS_PRODUCT:"theme_core.product.maximum_purchase_of_limit_items_for_this_product",NO_RESTOCK:"theme_core.product.no_restock",NOT_SELLING_MASK_LABEL_TEXT:"theme_core.product.not_selling_mask_label_text",NOT_START_SELL:"theme_core.product.not_start_sell",POINTS:"theme_core.product.points",POINTS_STRING:"theme_core.product.points_string",PURCHASE_QUALIFICATION_REQUIRED:"theme_core.product.purchase_qualification_required",REQUIRED:"theme_core.product.required",RESTOCK:"theme_core.product.restock",SALEPAGE_BUNDLE_P2_TITLE:"theme_core.product.salepage_bundle_p2_title",SALEPAGE_REMOVED_PLACEHOLDER:"theme_core.product.salepage_removed_placeholder",SELECT_PRODUCT_FOR_COMMENT:"theme_core.product.select_product_for_comment",SELLING_START_DATE_TIME:"theme_core.product.selling_start_date_time",SELLING_WILL_KICKOFF:"theme_core.product.selling_will_kickoff",SHARE_TO_BUY:"theme_core.product.share_to_buy",SKU_SELECT_PLACEHOLDER:"theme_core.product.sku_select_placeholder",SOLD_OUT:"theme_core.product.sold_out",SOLD_OUT_EXPRESS_SALE_PAGE:"theme_core.product.sold_out_express_sale_page",SOME_ITEMS_ARE_OUT_OF_STOCK:"theme_core.product.some_items_are_out_of_stock",STOCK_QTY:"theme_core.product.stock_qty",SUBSCRIBED_TIME:"theme_core.product.subscribed_time",THIS_OPTION_IS_OUT_OF_STOCK:"theme_core.product.this_option_is_out_of_stock",UNABLE_TO_ADD_CART:"theme_core.product.unable_to_add_cart"},PROMOTION:{COME_TO_END:"theme_core.promotion.come_to_end",LATEST:"theme_core.promotion.latest"},QUICK_ENTRY:{SHORTCUT_FUNCTION:"theme_core.quick_entry.shortcut_function"},RECOMMENDATION_SECTION:{OTHER_PEOPLE_WATCHING:"theme_core.recommendation_section.other_people_watching",RECOMMENDED_TO_YOU:"theme_core.recommendation_section.recommended_to_you",YOU_MIGHT_LIKE:"theme_core.recommendation_section.you_might_like"},SEARCH:{SEARCH_PRODUCT:"theme_core.search.search_product"},SHOP_CATEGORY:{ALL:"theme_core.shop_category.all",ALL_CATEGORY:"theme_core.shop_category.all_category",ALL_PRODUCTS:"theme_core.shop_category.all_products",CATEGORY:"theme_core.shop_category.category",CHOSEN:"theme_core.shop_category.chosen",CLEAR_ALL_FILTERS:"theme_core.shop_category.clear_all_filters",CREATE_FAST_BUY_ORDER_SYSTEM_ERROR:"theme_core.shop_category.create_fast_buy_order_system_error",DELIVERY_SMS:"theme_core.shop_category.delivery_sms",FAST_BUY:"theme_core.shop_category.fast_buy",FAST_BUY_API_FALSE_COMMON_MESSAGE:"theme_core.shop_category.fast_buy_api_false_common_message",FAST_BUY_CHANGE_ORDER:"theme_core.shop_category.fast_buy_change_order",FAST_BUY_CONFIRM:"theme_core.shop_category.fast_buy_confirm",FAST_BUY_CONFIRM_PAYMENT:"theme_core.shop_category.fast_buy_confirm_payment",FAST_BUY_DISCOUNT:"theme_core.shop_category.fast_buy_discount",FAST_BUY_DISCOUNT_COUPON:"theme_core.shop_category.fast_buy_discount_coupon",FAST_BUY_ELIGIBLE:"theme_core.shop_category.fast_buy_eligible",FAST_BUY_ERROR_MESSAGE:"theme_core.shop_category.fast_buy_error_message",FAST_BUY_FREIGHT:"theme_core.shop_category.fast_buy_freight",FAST_BUY_GIVEAWAY:"theme_core.shop_category.fast_buy_giveaway",FAST_BUY_GO_TO_CHECKOUT:"theme_core.shop_category.fast_buy_go_to_checkout",FAST_BUY_GO_TO_INDEX:"theme_core.shop_category.fast_buy_go_to_index",FAST_BUY_INELIGIBLE:"theme_core.shop_category.fast_buy_ineligible",FAST_BUY_NO_GARBAGE_ERROR_MESSAGE:"theme_core.shop_category.fast_buy_no_garbage_error_message",FAST_BUY_ORDER_INFO:"theme_core.shop_category.fast_buy_order_info",FAST_BUY_PAYMENT_METHOD:"theme_core.shop_category.fast_buy_payment_method",FAST_BUY_PRODUCT_INFORMATION:"theme_core.shop_category.fast_buy_product_information",FAST_BUY_RECEIVER_INFO:"theme_core.shop_category.fast_buy_receiver_info",FAST_BUY_SHIPPING_COUPON_DISCOUNT:"theme_core.shop_category.fast_buy_shipping_coupon_discount",FAST_BUY_SOLD_OUT:"theme_core.shop_category.fast_buy_sold_out",FAST_BUY_SUBTOTAL:"theme_core.shop_category.fast_buy_subtotal",FAST_BUY_TOTAL:"theme_core.shop_category.fast_buy_total",FAST_BUY_WITH_PROMO_CODE:"theme_core.shop_category.fast_buy_with_promo_code",FILTER:"theme_core.shop_category.filter",FILTER_SELECTED:"theme_core.shop_category.filter_selected",GIFT:"theme_core.shop_category.gift",GO_TO_OTHER_CATEGORY:"theme_core.shop_category.go_to_other_category",GO_TO_OTHER_PLACE:"theme_core.shop_category.go_to_other_place",HIGHEST:"theme_core.shop_category.highest",HOME_PAGE:"theme_core.shop_category.home_page",LOWEST:"theme_core.shop_category.lowest",NO_PRODUCTS_MATCHED_FILTER:"theme_core.shop_category.no_products_matched_filter",NOT_SUPPORT_FOR_JUST_AN_HOUR:"theme_core.shop_category.not_support_for_just_an_hour",ORDER_DELIVERY_NOTIFICATION:"theme_core.shop_category.order_delivery_notification",ORDERBY_CURATOR:"theme_core.shop_category.orderby_curator",ORDERBY_NEWEST:"theme_core.shop_category.orderby_newest",ORDERBY_PAGE_VIEW:"theme_core.shop_category.orderby_page_view",ORDERBY_PRICE_HIGH_TO_LOW:"theme_core.shop_category.orderby_price_high_to_low",ORDERBY_PRICE_LOW_TO_HIGH:"theme_core.shop_category.orderby_price_low_to_high",ORDERBY_SALES:"theme_core.shop_category.orderby_sales",ORIGINAL_RANGE:"theme_core.shop_category.original_range",PAY_AMOUNT:"theme_core.shop_category.pay_amount",PAYMENT:"theme_core.shop_category.payment",PLEASE_CHOOSE:"theme_core.shop_category.please_choose",POPULAR_TAG:"theme_core.shop_category.popular_tag",PRICE:"theme_core.shop_category.price",PRICE_RANGE:"theme_core.shop_category.price_range",PRODUCT_CATEGORY:"theme_core.shop_category.product_category",PRODUCT_COUNT:"theme_core.shop_category.product_count",PRODUCTS_IN_THIS_SECTION:"theme_core.shop_category.products_in_this_section",PUBLISH_NOTIFICATION:"theme_core.shop_category.publish_notification",RELATED_CATEGORY:"theme_core.shop_category.related_category",RELATED_PRODUCTS:"theme_core.shop_category.related_products",SELECT_CATEGORY:"theme_core.shop_category.select_category",SELECT_CHANNEL:"theme_core.shop_category.select_channel",SHIPPING:"theme_core.shop_category.shipping",SHOP_CATEGORY_IS_IN_PREPARATION:"theme_core.shop_category.shop_category_is_in_preparation",SHOPPING_CART_PRICE:"theme_core.shop_category.shopping_cart_price",SHOW_ALL_FILTERS:"theme_core.shop_category.show_all_filters",SHOW_LESS:"theme_core.shop_category.show_less",SHOW_MORE:"theme_core.shop_category.show_more",SORT_BY:"theme_core.shop_category.sort_by",SWIPE_TO_NEXT_CATEGORY:"theme_core.shop_category.swipe_to_next_category",SWIPE_TO_PREV_CATEGORY:"theme_core.shop_category.swipe_to_prev_category",UNLIMITED:"theme_core.shop_category.unlimited",WATCHING:"theme_core.shop_category.watching"},STORE_EXPRESS:{ACTIVE_LOCATION:"theme_core.store_express.active_location",ADDRESS:"theme_core.store_express.address",ADDRESS_NOT_FOUND:"theme_core.store_express.address_not_found",ADDRESS_TITLE:"theme_core.store_express.address_title",AUTO_LOCATE_FAILED:"theme_core.store_express.auto_locate_failed",AUTO_LOCATE_SUCCESS:"theme_core.store_express.auto_locate_success",AVALIABLE_LOCATIONS:"theme_core.store_express.avaliable_locations",BLOCK:"theme_core.store_express.block",CHANGE_LOCATION_HINT:"theme_core.store_express.change_location_hint",CHECK_LOCATION:"theme_core.store_express.check_location",CHINCKING:"theme_core.store_express.chincking",CITY:"theme_core.store_express.city",COMMENT:"theme_core.store_express.comment",COMMENT_HINT:"theme_core.store_express.comment_hint",CONFIRM:"theme_core.store_express.confirm",DISPLAY_ERROR_MSG:"theme_core.store_express.display_error_msg",DISTANCE:"theme_core.store_express.distance",INOUT_ADDRESS:"theme_core.store_express.inout_address",INPUT_ADDRESS:"theme_core.store_express.input_address",INPUT_FLOOR:"theme_core.store_express.input_floor",INPUT_LOCATION:"theme_core.store_express.input_location",LEFT_HINT:"theme_core.store_express.left_hint",LOCATION_SERVICE:"theme_core.store_express.location_service",LOCATION_TITLE:"theme_core.store_express.location_title",MODIFY:"theme_core.store_express.modify",NO_CHOICE:"theme_core.store_express.no_choice",NO_LOCATION_ADDRESS:"theme_core.store_express.no_location_address",RECEIVER_INFO:"theme_core.store_express.receiver_info",RENEW_LOCATION:"theme_core.store_express.renew_location",SELECT_BLOCK:"theme_core.store_express.select_block",SELECT_CITY:"theme_core.store_express.select_city",SEND_TO:"theme_core.store_express.send_to",SENT_TO_ADDRESS:"theme_core.store_express.sent_to_address",UPDATE_LOCATION_CONFIRM:"theme_core.store_express.update_location_confirm",WELCOME:"theme_core.store_express.welcome"},TAG_CATEGORY:{RELATED_CATEGORY:"theme_core.tag_category.related_category",RELATED_PRODUCTS:"theme_core.tag_category.related_products",WATCHING:"theme_core.tag_category.watching"},TOAST:{ADD_SUCCESS:"theme_core.toast.add_success",ADD_TO_CART_FAIL:"theme_core.toast.add_to_cart_fail",ADD_TO_WISHLIST_SUCCESSFULLY:"theme_core.toast.add_to_wishlist_successfully",BACK_IN_STOCK_SUBSCRIBE_SUCCESS:"theme_core.toast.back_in_stock_subscribe_success",BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS:"theme_core.toast.back_in_stock_unsubscribe_success",CANCEL_BACK_IN_STOCK_INPUT_MAIL_SUCCESS:"theme_core.toast.cancel_back_in_stock_input_mail_success",FILTER_UPPER_LIMIT:"theme_core.toast.filter_upper_limit",GOT_IT:"theme_core.toast.got_it",IS_CLOSED:"theme_core.toast.is_closed",LOGIN_SUCCESS:"theme_core.toast.login_success",LOGOUT_SUCCESS:"theme_core.toast.logout_success",NO_START:"theme_core.toast.no_start",NOT_FOUND:"theme_core.toast.not_found",RELOAD:"theme_core.toast.reload",REMOVE_SUCCESS:"theme_core.toast.remove_success",REMOVED_FROM_WISHLIST_SUCCESSFULLY:"theme_core.toast.removed_from_wishlist_successfully",SALE_PAGE_BUNDLE_LOADING_FAILED:"theme_core.toast.sale_page_bundle_loading_failed",SELECT_ERROR:"theme_core.toast.select_error",SOLD_OUT:"theme_core.toast.sold_out",SUBMIT_ERROR:"theme_core.toast.submit_error",SUBMIT_SUCCESS:"theme_core.toast.submit_success",SYSTEM_ERROR:"theme_core.toast.system_error",UN_LISTING:"theme_core.toast.un_listing"},TOOLBOX:{COUPON:"theme_core.toolbox.coupon",CUSTOM:"theme_core.toolbox.custom",FB_MESSENGER:"theme_core.toolbox.fb_messenger",FB_PAGE:"theme_core.toolbox.fb_page",FB_SEND_MESSEGE:"theme_core.toolbox.fb_send_messege",IG:"theme_core.toolbox.ig",LINE:"theme_core.toolbox.line",STORE_INFO:"theme_core.toolbox.store_info"}}},zn={ImmediatelyBuy:"ImmediatelyBuy",NoStart:Un.NoStart,Normal:Un.Normal,SoldOut:Un.SoldOut,AppOnly:Yn.AppOnly,ShareToBuy:Yn.ShareToBuy,SubSalePageCanNotBuy:"SubSalePageCanNotBuy"},Kn={[zn.SoldOut]:jn.THEME_CORE.PRODUCT.SOLD_OUT,[zn.NoStart]:jn.THEME_CORE.PRODUCT.NOT_START_SELL,[zn.ShareToBuy]:jn.THEME_CORE.PRODUCT.SHARE_TO_BUY,[zn.AppOnly]:jn.THEME_CORE.PRODUCT.APP_ONLY,[zn.ImmediatelyBuy]:jn.THEME_CORE.PRODUCT.IMMEDIATELY_BUY,[zn.Normal]:jn.THEME_CORE.PRODUCT.ADD_CART,[zn.SubSalePageCanNotBuy]:jn.THEME_CORE.PRODUCT.CAN_NOT_BUY},qn={[zn.SoldOut]:!0,[zn.NoStart]:!0,[zn.ShareToBuy]:!1,[zn.AppOnly]:!1,[zn.ImmediatelyBuy]:!1,[zn.Normal]:!1,[zn.SubSalePageCanNotBuy]:!0},$n={PROMOTION_LIST:"promotionList",PROMOTION_ID:"promotionId"},ei={[$n.PROMOTION_LIST]:"promotionSourceTypeList",[$n.PROMOTION_ID]:"promotionSourceTypeId"},ti={Newest:"Newest",ComingToEnd:"ComingToEnd"},ni={LIST:"list",MODULE:"module"};var ii=(e=>(e.productGrid="productGrid",e.productCarousel="productCarousel",e))(ii||{}),oi=(e=>(e.salePageList="salePageList",e.searchResultPage="searchResultPage",e.tagCategory="tagCategory",e.cmsModule="cmsModule",e))(oi||{}),ri=(e=>(e.jooii="jooii",e.eLAND="eLAND",e))(ri||{}),ai=(e=>(e[e.jooii=0]="jooii",e))(ai||{}),si=(e=>(e.p2i="p2i",e.i2i="i2i",e.w2i="w2i",e))(si||{}),ci=(e=>(e.salePageList="SalePageCategory",e.tagCategory="TagCategory",e.searchResultPage="SearchNoResult",e.cmsModule="CMS",e))(ci||{}),li=(e=>(e.Key="key",e.History="history",e.SkuOuterIdHistory="sku-outerid-history",e.SkuOuterId="sku-outerid",e.HotKeyword="hot-keyword",e))(li||{}),ui=(e=>(e.SkuOuterIdSearch="SkuOuterIdSearch",e.SkuOuterIdSearchLog="SkuOuterIdSearchLog",e.Search="Search",e.TopSearches="TopSearches",e.SerachLog="SerachLog",e.AutoComplete="AutoComplete",e))(ui||{}),di=(e=>(e.HistorySearchTerm="HistorySearchTerm",e.SuggestSearchTerm="SuggestSearchTerm",e.SKUSearchTerm="SKUSearchTerm",e.SKUHistorySearchTerm="SKUHistorySearchTerm",e))(di||{});const gi="商品料號";var pi=n(7358),mi=n.n(pi);const fi=mi()`
    query cms_shopCategoryList($shopId: Int!) {
        shopCategoryList(shopId: $shopId) {
            categoryList {
                id
                name
                childList {
                    id
                    name
                }
            }
            count
            maxChildListCount
        }
    }
`,Ii=mi()`
    query cms_shopCategoryList($shopId: Int!, $serviceType: String, $locationId: Int) {
        shopCategoryList(shopId: $shopId, serviceType: $serviceType, locationId: $locationId) {
            categoryList {
                id
                name
                childList {
                    id
                    name
                }
            }
            count
            maxChildListCount
        }
    }
`;var hi=(e=>(e[e.price=0]="price",e[e.pay=1]="pay",e[e.shipping=2]="shipping",e))(hi||{});const bi=mi()`
    query cms_shopCategory(
        $shopId: Int!
        $categoryId: Int!
        $startIndex: Int!
        $fetchCount: Int!
        $orderBy: String
        $isShowCurator: Boolean
        $locationId: Int
        $tagFilters: [ItemTagFilter]
        $tagShowMore: Boolean
        $serviceType: String
        $minPrice: Float
        $maxPrice: Float
        $payType: [String]
        $shippingType: [String]
        $includeSalePageGroup: Boolean
    ) {
        shopCategory(shopId: $shopId, categoryId: $categoryId) {
            salePageList(
                startIndex: $startIndex
                maxCount: $fetchCount
                orderBy: $orderBy
                isCuratorable: $isShowCurator
                locationId: $locationId
                tagFilters: $tagFilters
                tagShowMore: $tagShowMore
                minPrice: $minPrice
                maxPrice: $maxPrice
                payType: $payType
                shippingType: $shippingType
                serviceType: $serviceType
                includeSalePageGroup: $includeSalePageGroup
            ) {
                salePageList {
                    salePageId
                    title
                    picUrl
                    picList
                    salePageCode
                    price
                    suggestPrice
                    isFav
                    isComingSoon
                    isSoldOut
                    soldOutActionType
                    sellingQty
                    pairsPoints
                    pairsPrice
                    priceDisplayType
                    displayTags {
                        group
                        keys {
                            id
                            startTime
                            endTime
                            picUrl {
                                ratioOneToOne
                                ratioThreeToFour
                            }
                        }
                    }
                    salePageGroup {
                        groupTitle
                        groupIconStyle
                        groupItems {
                            salePageId
                            itemTitle
                            itemUrl
                        }
                    }
                    promotionPrices {
                        promotionEngineId
                        memberCollectionId
                        price
                        startDateTime
                        endDateTime
                        label
                    }
                    isRestricted
                    enableIsComingSoon
                    isShowSellingStartDateTime
                    sellingStartDateTime
                    listingStartDateTime
                    metafields
                }
                totalSize
                shopCategoryId
                shopCategoryName
                statusDef
                listModeDef
                orderByDef
                dataSource
                tags {
                    isGroupShowMore
                    groups {
                        groupId
                        groupDisplayName
                        isKeyShowMore
                        keys {
                            keyId
                            keyDisplayName
                        }
                    }
                }
                priceRange {
                    min
                    max
                }
            }
        }
    }
`,yi=mi()`
    query cms_shopCategory_default_orderby($shopId: Int!, $categoryId: Int!, $isShowCurator: Boolean) {
        shopCategory(shopId: $shopId, categoryId: $categoryId) {
            salePageList(startIndex: 0, maxCount: 20, orderBy: "", isCuratorable: $isShowCurator) {
                orderByDef
            }
        }
    }
`,Ci=mi()`
    query cms_shopCategory_promotion_list($shopId: Int!, $categoryId: Int!) {
        shopCategory(shopId: $shopId, categoryId: $categoryId) {
            promotionList {
                id
                name
                startTime
                endTime
                rules
                promotionConditionDiscountType
                promotionConditionType
                isPromotionEngine
            }
        }
    }
`,vi=mi()`
    query cms_layoutTemplate_spCatAd_list($shopId: Int!, $categoryId: String!) {
        layoutTemplate(
            shopId: $shopId
            layoutCode: "MobileHome"
            templateCode: "SpCatAdOfficial"
            targetType: "ShopCategory"
            targetId: $categoryId
        ) {
            title
            link
            picturePath {
                fullUrl
            }
        }
    }
`,Bi=[{label:jn.THEME_CORE.SHOP_CATEGORY.ORDERBY_CURATOR,value:"Curator"},{label:jn.THEME_CORE.SHOP_CATEGORY.ORDERBY_NEWEST,value:"Newest"},{label:jn.THEME_CORE.SHOP_CATEGORY.ORDERBY_SALES,value:"Sales"},{label:jn.THEME_CORE.SHOP_CATEGORY.ORDERBY_PAGE_VIEW,value:"PageView"},{label:jn.THEME_CORE.SHOP_CATEGORY.ORDERBY_PRICE_LOW_TO_HIGH,value:"PriceLowToHigh"},{label:jn.THEME_CORE.SHOP_CATEGORY.ORDERBY_PRICE_HIGH_TO_LOW,value:"PriceHighToLow"}],Ai="sortMode",_i="pages",Si="serviceType",Gi=0,Qi=100,Ei={MENU:{eventCategory:"left_商品分類",eventAction:"click",eventLabel:"",eventValue:void 0},BREADCRUMBS:{eventCategory:"",eventAction:"Path",eventLabel:"點擊分類"},RELATIVED_CATEGORY:{eventCategory:"小分類頁",eventAction:"",eventLabel:""},PRODUCT_BLOCK:{ORDER_BY:{eventCategory:"小分類頁",eventAction:"click",eventLabel:""},DESKTOP:{LIST_VIEW_BUTTON:{eventCategory:"小分類頁",eventAction:"category_display",eventLabel:"切換列表-desktop"},COMMON_GRID_BUTTON:{eventCategory:"小分類頁",eventAction:"category_display",eventLabel:"切換小圖-desktop"}},MOBILE:{CARD_DISPLAY_TYPE:{eventCategory:"小分類頁",eventAction:"category_display",eventLabel:""}}},POPULAR_TAG:{eventCategory:"小分類頁",eventAction:"click",eventLabel:""},FILTER:{TAG:{eventCategory:"搜尋-進階篩選",eventAction:"",eventLabel:""},PRICE_RANGE:{eventCategory:"搜尋-進階篩選",eventAction:"進階篩選-價格",eventLabel:""},PAY_TYPE:{eventCategory:"搜尋-進階篩選",eventAction:"進階篩選-付款方式",eventLabel:""},SHIPPING_TYPE:{eventCategory:"搜尋-進階篩選",eventAction:"進階篩選-運送方式",eventLabel:""}}},Fi={[hi.price]:jn.THEME_CORE.SHOP_CATEGORY.PRICE_RANGE,[hi.pay]:jn.THEME_CORE.SHOP_CATEGORY.PAYMENT,[hi.shipping]:jn.THEME_CORE.SHOP_CATEGORY.SHIPPING},wi="tags",Ti="tagShowMore",xi="true",ki=3,Ni=50,Oi=10,Zi=20,Ui="minPrice",Ri="maxPrice",Xi="payType",Wi="shippingType",Vi="/v2/official/SalePageCategory";var Pi=(e=>(e.module="module",e.page="page",e))(Pi||{}),Di=(e=>(e.Price="Price",e.Normal="Normal",e))(Di||{}),Hi=(e=>(e.CENTER="center",e.FOOTER="footer",e.HEADER="header",e))(Hi||{});const Li={CATEGORY_SALEPAGE_LIST:"CATEGORY_SALEPAGE_LIST_",SALEPAGE_LIST:"SALEPAGE_LIST_",OUTER_LIST:"OUTER_LIST_",RECOMMENDATION_SALEPAGE_LIST:"RECOMMENDATION_SALEPAGE_LIST_"},Yi={CATEGORY_ID:"categoryId",SALE_PAGE_ID:"salePageId",TAG_CATEGORY_ID:"tagCategory",OUTER_ID:"outerId",RECOMMENDATION_ID:"recommendationId"},Mi={VIEW_ON_TOP:"viewOnTop",VIEW_ON_SCROLL:"viewOnScroll"};var Ji=(e=>(e.CENTER="center",e.LEFT="left",e.RIGHT="right",e))(Ji||{});const ji={H1:"h1",H2:"h2",H3:"h3"},zi={md:1200,sm:800,xs:400},Ki={xl:1920,lg:1280,md:1124,sm:800,xs:600,xxs:400};var qi=(e=>(e[e.COMPRESS_TO_ORIGINAL=0]="COMPRESS_TO_ORIGINAL",e[e.COMPRESS_TO_WEBP_V1=1]="COMPRESS_TO_WEBP_V1",e[e.COMPRESS_TO_WEBP_V2=2]="COMPRESS_TO_WEBP_V2",e))(qi||{});const $i={GIF:"image/gif",JPG:"image/jpg",PNG:"image/png",WEBP:"image/webp"};var eo=(e=>(e.COUPON="coupon",e.CUSTOM="custom",e.FACEBOOK_MESSENGER="fb_messenger",e.FACEBOOK_PAGE="fb_page",e.IG="ig",e.LINE="line",e.STORE_INFO="store_info",e))(eo||{}),to=(e=>(e.CustomMenuLayerOne="CustomMenuLayerOne",e.CustomMenuLayerTwo="CustomMenuLayerTwo",e.CustomMenuLayerThree="CustomMenuLayerThree",e))(to||{}),no=Object.defineProperty,io=Object.defineProperties,oo=Object.getOwnPropertyDescriptors,ro=Object.getOwnPropertySymbols,ao=Object.prototype.hasOwnProperty,so=Object.prototype.propertyIsEnumerable,co=(e,t,n)=>t in e?no(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lo=(e,t)=>{for(var n in t||(t={}))ao.call(t,n)&&co(e,n,t[n]);if(ro)for(var n of ro(t))so.call(t,n)&&co(e,n,t[n]);return e};const uo=(e,t,n)=>t===Hi.HEADER?((e,t)=>{const{header:n,center:i,footer:o}=e;var r,a;return{header:[(r=lo({},n[0]),a={id:t},io(r,oo(a)))],center:i,footer:o}})(e,n):e,go=e=>"/Date(-62135596800000)/"===e?null:new Date(parseInt(e.replace("/Date(","").replace(")/",""),10)),po=e=>!!/^\/Date/.test(e),mo=e=>{const{Data:t}=e;return t},fo=e=>{return n=function*(){const{streamInjection:t,payload:n}=e,{shopId:i}=t,{targetUrl:o}=n;try{const e=pt("DeepLink/GetDeepLink",t,!1),n={method:en.RequestMethod.POST,body:{ShopId:i,TargetUrl:o}},r=yield Zn(e,n);return r&&"API0001"!==r.ReturnCode?Promise.reject(new Error("DeepLink/GetDeepLink failed, ReturnCode is not API0001")):mo(r)}catch(r){return ze.error(`[ERROR] fetchDeepLink failed: ${je(r)}: ${Je(r)}: shopId: ${i}, targetUrl: ${o}`),Promise.reject(r)}},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n},Io=(e,t)=>`${e}/${window.location.pathname.replace(t,"")}`,ho=(e,t,n,i,o,r)=>{const a=t||tt("utm_source",e),s=n||tt("utm_medium",e),c=i||tt("utm_campaign",e),l=o||tt("utm_term",e),u=r||tt("utm_content",e),d=tt("gclid"),g=tt("fbclid");let p="";return a&&(p=nt(p,"utm_source",a)),s&&(p=nt(p,"utm_medium",s)),c&&(p=nt(p,"utm_campaign",c)),l&&(p=nt(p,"utm_term",l)),u&&(p=nt(p,"utm_content",u)),d&&(p=nt(p,"gclid",d)),g&&(p=nt(p,"fbclid",g)),p},bo=(e,t,n)=>{const i=`${e}/ref/${n}/`;let o="",r="",a=!1;switch(t){case"OfficailIndex":r="ShopHome",o=`${r}/${n}`;break;case"SalePageIndex":r="SalePage",o=Io(r,new RegExp("/salepage/index/","ig"));break;case"SalePageCategory":r="ShopSalePageCategory",o=Io(r,new RegExp("/v2/official/SalePageCategory/","ig"));break;case"CouponDetail":r="Coupon",o=Io(r,new RegExp("/Coupon/Detail/","ig"));break;case"CouponList":r="Couponlist",o=r;break;case"VideoDetail":r="Video",o=Io(r,new RegExp("/Video/Detail/","ig"));break;case"ArticleDetail":r="Article",o=Io(r,new RegExp("/Article/Detail/","ig"));break;case"AlbumDetail":r="Album",o=Io(r,new RegExp("/Album/Detail/","ig"));break;case"VideoList":r="VideoList",o=r;break;case"ArticleList":r="ArticleList",o=r;break;case"AlbumList":r="AlbumList",o=r;break;case"ECouponDetail":r="eCoupon",o=Io(r,new RegExp("/ECoupon/Detail/","ig"));break;case"ECouponList":r="eCouponList",o=r;break;case"PromotionDetail":r="promotion",o=Io(r,new RegExp("/Promotion/Detail/","ig"));break;case"ActivityIndex":r="activity",o=Io(r,new RegExp("/v2/activity/","ig"));break;case"ShopStoreList":r="LocationList",o=r;break;default:r="ShopHome",o=`${r}/${n}`,a=!0}return i+o+ho(void 0,"mweb","download_banner",a?"others":r)},yo=e=>{let t;const n=tt("utm_source"),i=tt("utm_medium"),o=tt("utm_campaign"),r=tt("utm_term"),a=tt("utm_content");if(n||i||o||r||a||!window.sessionStorage)t=e?e+ho():window.location.origin+window.location.pathname+ho();else{const e=sessionStorage.getItem("utmSource"),n=sessionStorage.getItem("utmMedium"),i=sessionStorage.getItem("utmCampaign"),o=sessionStorage.getItem("utmTerm"),r=sessionStorage.getItem("utmContent");t=window.location.origin+window.location.pathname+ho(null,e,n,i,o,r)}if("/v2/search"===window.location.pathname.toLowerCase()){const e=tt("q");e&&(t=nt(t,"q",e))}return t},Co=e=>{const{origin:t,pathname:n}=window.location;let i=e?`${t}/apps${n}`:`${t}/apps/v2/official`;const o=tt("utm_source")||(null==sessionStorage?void 0:sessionStorage.getItem("utmSource")),r=tt("utm_medium")||(null==sessionStorage?void 0:sessionStorage.getItem("utmMedium")),a=tt("utm_campaign")||(null==sessionStorage?void 0:sessionStorage.getItem("utmCampaign")),s=tt("utm_term")||(null==sessionStorage?void 0:sessionStorage.getItem("utmTerm")),c=tt("utm_content")||(null==sessionStorage?void 0:sessionStorage.getItem("utmContent")),l=tt("fr")||(0,vn.getCookie)("trace-fr"),u=tt("fr2")||(0,vn.getCookie)("trace-fr2");if("/v2/search"===n.toLowerCase()){const e=tt("q");e&&(i=nt(i,"q",e))}return o&&(i=nt(i,"utm_source",o)),r&&(i=nt(i,"utm_medium",r)),a&&(i=nt(i,"utm_campaign",a)),s&&(i=nt(i,"utm_term",s)),c&&(i=nt(i,"utm_content",c)),l&&(i=nt(i,"fr",l)),u&&(i=nt(i,"fr2",u)),i},vo=()=>{const e=tt("utm_source"),t=tt("utm_medium"),n=tt("utm_campaign"),i=tt("utm_term"),o=tt("utm_content");sessionStorage&&(e&&sessionStorage.setItem("utmSource",e),t&&sessionStorage.setItem("utmMedium",t),n&&sessionStorage.setItem("utmCampaign",n),i&&sessionStorage.setItem("utmTerm",i),o&&sessionStorage.setItem("utmContent",o))},Bo=e=>{return n=function*(){const t=ke(),n=mn(t),i=yo(e);let o;try{const e={targetUrl:i};o=yield fo({streamInjection:n,payload:e})}catch(r){o=i}window.location.href=o},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n},Ao=(e,t)=>{document.title=t?`${e} - ${t}`:e},_o=e=>{var t;null==(t=document.querySelector('meta[name="description"]'))||t.setAttribute("content",e)},So=e=>{var t;null==(t=document.querySelector('meta[name="keywords"]'))||t.setAttribute("content",e)},Go=e=>{_e()&&(e?window.document.body.classList.add("freeze"):window.document.body.classList.remove("freeze"))};var Qo=n(1064);const Eo=e=>{try{const{market:t,shopId:n,env:i}=ke(),{env:o}=xe(),r=(null==i?void 0:i.toLowerCase())||(null==o?void 0:o.toLowerCase());return(0,Qo.getSetting)(r,t,n,e)}catch(t){return ze.error(`[ERROR] getCustomSetting failed: ${je(t)}: ${Je(t)}: settingName: ${e}`),null}},Fo=()=>({getSetting:Qo.getSetting}),wo=()=>Eo(Qo.settingNameEnum.isChannelActive),To=()=>Eo(Qo.settingNameEnum.isChannelSwitchActive),xo=()=>Eo(Qo.settingNameEnum.isProductCardTargetBlankOnCategoryPage),ko=()=>Eo(Qo.settingNameEnum.isDirectlyAddToCart),No=()=>Eo(Qo.settingNameEnum.isUseFastBuy),Oo=()=>Eo(Qo.settingNameEnum.isBreadcrumbsActive),Zo=()=>Eo(Qo.settingNameEnum.isNewPXProductList),Uo=()=>Eo(Qo.settingNameEnum.isBubbleAddToCart),Ro=()=>Eo(Qo.settingNameEnum.customerServiceMessageConfig),Xo=()=>Eo(Qo.settingNameEnum.customCarouselAutoplaySecond),Wo=()=>Eo(Qo.settingNameEnum.customerUIConfig),Vo=()=>Eo(Qo.settingNameEnum.isShopsDesktopImageNeedCompress),Po=()=>Eo(Qo.settingNameEnum.customerHeaderConfig),Do=()=>Eo(Qo.settingNameEnum.isMujiCustomerFooter),Ho=()=>Eo(Qo.settingNameEnum.isHideTypeButton),Lo=()=>Eo(Qo.settingNameEnum.isEnableAdidasCustom),Yo="/images",Mo=`${Yo}/image_square.svg`,Jo=`${Yo}/image_rectangle.png`,jo=`${Yo}/default_square.svg`,zo=`${Yo}/default_rectangle.svg`,Ko=`${Yo}/default_empty_square.svg`,qo=`${Yo}/shop_default_icon.svg`,$o=`${Yo}/video_rectangle.svg`,er=`${Yo}/product_square.png`,tr=`${Yo}/recommendation_product_square.png`,nr=`${Yo}/page_not_exist.svg`,ir=`${Yo}/family_mart.svg`,or=`${Yo}/seven_eleven_up.svg`,rr=`${Yo}/credit_card.svg`,ar=`${Yo}/line_pay.svg`,sr=`${Yo}/poya_pay.svg`,cr=`${Yo}/cash_on_delivery.svg`,lr=`${Yo}/location_pick_up.svg`,ur=`${Yo}/delivery.svg`,dr=`${Yo}/logo_default.png`,gr=`${Yo}/muji_footer_logo.svg`,pr=`${Yo}/under18.svg`,mr=`${Yo}/restricted_mask.png`,fr=`${Yo}/lineshop-note.jpg`,Ir=`${Yo}/lineshop-x-btn.png`,hr=`${Yo}/lineshop-note-close-bar.png`,br=`${Yo}/invalid-name.png`,yr=`${Yo}/loading.gif`,Cr=`${Yo}/appstore.svg`,vr=`${Yo}/googleplay.svg`,Br=`${Yo}/delivery_logo.png`,Ar=`${Yo}/delivery_people_large.png`,_r=`${Yo}/delivery_people_small.png`,Sr=`${Yo}/delivery_Union.png`,Gr=`${Yo}/no_location.svg`,Qr=`${Yo}/service_busy.png`,Er=`${Yo}/loading.svg`,Fr=`${Yo}/location.svg`,wr=`${Yo}/position.svg`,Tr=`${Yo}/storeDelivery.svg`,xr=`${Yo}/home.svg`,kr={onlineShopping:`${Yo}/catering_online_shoping_reservation.svg`,tableReservation:`${Yo}/catering_table_reservation.svg`,takeoutOrDelivery:`${Yo}/catering_takeout_or_delivery_reservation.svg`,waitingAccept:`${Yo}/catering_waiting_accept.svg`,preparing:`${Yo}/catering_preparing.svg`,readyForPickup:`${Yo}/catering_ready_for_pickup.svg`,driverOnTheWay:`${Yo}/catering_driver_on_the_way.svg`,orderReceived:`${Yo}/catering_order_received.svg`,checkin:`${Yo}/catering_checkin.svg`,defaultRestaurant:`${Yo}/catering_empty_restaurant.svg`,restaurant:`${Yo}/catering_dummy_restaurant.png`},Nr={apple:`${Yo}/badge_common_applestore.svg`,google:`${Yo}/badge_common_googleplay.svg`},Or=(e,t,n)=>new RegExp("^(http|https)://","i").test(n)?n:`${t.imageHost}${t.imagePath}${e}/${n}`,Zr=e=>{try{const{imageUrl:t,resizeList:n,imageServiceConfig:i,shopId:o,compressVersion:r=qi.COMPRESS_TO_WEBP_V2}=e;let a={};const s=`${i.imageHost}images/compress/${o}`,c=t.split("/"),l=c[c.length-1];if(n&&n.length>0){const e=l.split("_"),i=e[e.length-1].split(".")[1];n.forEach((n=>{const o=`${e[0]}_${e[1]}_${n.width}x${n.height}`;r===qi.COMPRESS_TO_WEBP_V1||r===qi.COMPRESS_TO_WEBP_V2?a[n.type]=`${s}/${o}.webp`:(console.debug("舊版圖片壓縮:",r,t),a[n.type]=`${s}/${o}.${i}`)}))}else{const e=`${i.imageHost}${i.imagePath}${o}`;a={original:`${e}/${l}`}}return a}catch(t){throw console.error("getCompressImageFullUrl ",t.message),t}},Ur=(e,t,n,i)=>{if(!t||0===t.length||!i)return"";const{imageServiceConfig:o,shopId:r}=n,a=Zr({imageUrl:e,resizeList:t,imageServiceConfig:o,shopId:r,compressVersion:i}),s={[qi.COMPRESS_TO_WEBP_V1]:zi,[qi.COMPRESS_TO_WEBP_V2]:Ki}[i];return Object.entries(a).reduce(((e,[t,n],i,o)=>{const r=s[t];return r?(e+=`${n} ${r}w`,i!==o.length-1&&(e+=","),e):e}),"")},Rr=e=>e>47&&e<58||e>95&&e<106||e>36&&e<41||8===e||46===e||102===e||190===e,Xr=()=>_e()&&void 0!==window.sessionStorage,Wr=(e,t)=>{Xr()&&sessionStorage.setItem(e,JSON.stringify(t))},Vr=e=>Xr()?JSON.parse(JSON.stringify(sessionStorage.getItem(e)||null)):null,Pr=e=>{if(!Xr())return null;sessionStorage.removeItem(e)},Dr=()=>_e()&&void 0!==window.localStorage,Hr=(e,t)=>{Dr()&&localStorage.setItem(e,JSON.stringify(t))},Lr=e=>Dr()?JSON.parse(JSON.stringify(localStorage.getItem(e)||null)):null,Yr=e=>{if(!Dr())return null;localStorage.removeItem(e)},Mr=e=>{const t="lineshopping"===(0,vn.getCookie)("trace-fr"),n=`"${(0,vn.getCookie)("trace-fr2")}"`,i=Dr(),o=n!==(i&&window.localStorage.getItem("ls.LineshopRedirectNote"));return o&&i&&window.localStorage.setItem("ls.LineshopRedirectNote",n),e.IsLineShopLandingPopupEnabled&&t&&o};var Jr=n(1794),jr=Object.defineProperty,zr=Object.defineProperties,Kr=Object.getOwnPropertyDescriptors,qr=Object.getOwnPropertySymbols,$r=Object.prototype.hasOwnProperty,ea=Object.prototype.propertyIsEnumerable,ta=(e,t,n)=>t in e?jr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,na=(e,t)=>{for(var n in t||(t={}))$r.call(t,n)&&ta(e,n,t[n]);if(qr)for(var n of qr(t))ea.call(t,n)&&ta(e,n,t[n]);return e};const ia=(0,Jr.get)(n.g,"nineyi.dependencies.locale","zh-TW"),oa=(0,Jr.get)(n.g,"nineyi.dependencies.translationsData"),ra=e=>(0,Jr.get)(oa,`${ia}.${e}`),aa=()=>(null==ia?void 0:ia.split("-")[0])||"zh",sa=(e,t)=>{const n=(0,j.find)(t,(t=>t.value===e));return null==n?void 0:n.title},ca=(e,t=[])=>e?e.filter((e=>t.includes(e.code))).map((e=>({title:`${e.code} ${e.display}`,value:e.code}))):[],la=(e,t)=>e?e.filter((e=>t.includes(e.lang))).map((e=>({title:e.display,value:e.lang}))):[],ua=(e,t,n)=>{return i=na({},e),o={[n]:na(na({},e[n]),t)},zr(i,Kr(o));var i,o},da=()=>{if(Se())return"zh-TW";const e=window.nineyi.dependencies.locale;switch(e){case"zh-TW":return e;case"ms-MY":return"ms";case"ja-JP":return"ja";case"en-US":return"en";default:return"zh-TW"}};var ga=Object.defineProperty,pa=Object.getOwnPropertySymbols,ma=Object.prototype.hasOwnProperty,fa=Object.prototype.propertyIsEnumerable,Ia=(e,t,n)=>t in e?ga(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ha=(e,t)=>{for(var n in t||(t={}))ma.call(t,n)&&Ia(e,n,t[n]);if(pa)for(var n of pa(t))fa.call(t,n)&&Ia(e,n,t[n]);return e};const ba=(e,t)=>ha({},Object.keys(e).reduce(((n,i)=>{const o=e[i].mapStateToProps(t);return ha(ha({},n),o)}),{})),ya=(e,t)=>ha({},Object.keys(e).reduce(((n,i)=>{const o=e[i].mapDispatchToProps(t);return ha(ha({},n),o)}),{})),Ca=e=>({mapStateToProps:t=>ba(e,t),mapDispatchToProps:t=>ya(e,t)});var va=n(4546),Ba=n(3829),Aa=Object.defineProperty,_a=Object.defineProperties,Sa=Object.getOwnPropertyDescriptors,Ga=Object.getOwnPropertySymbols,Qa=Object.prototype.hasOwnProperty,Ea=Object.prototype.propertyIsEnumerable,Fa=(e,t,n)=>t in e?Aa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,wa=(e,t)=>{for(var n in t||(t={}))Qa.call(t,n)&&Fa(e,n,t[n]);if(Ga)for(var n of Ga(t))Ea.call(t,n)&&Fa(e,n,t[n]);return e},Ta=(e,t)=>_a(e,Sa(t));const xa=(e,t)=>{var n;const i=new Date;if(!e||0===e.length)return"";const o=e.filter((e=>"N1-S-ProductBadge"===e.Group));if(o&&o.length>0){const e=[];if(null==(n=o[0].Key)||n.map((t=>(po(`${t.StartTime}`)||po(`${t.EndTime}`)?po(`${t.StartTime}`)&&po(`${t.EndTime}`)&&new Date(go(`${t.StartTime}`)).getTime()<i.getTime()&&new Date(go(`${t.EndTime}`)).getTime()>i.getTime()&&e.push(t):new Date(t.StartTime).getTime()<i.getTime()&&new Date(t.EndTime).getTime()>i.getTime()&&e.push(t),null))),e&&e.length>0&&e[e.length-1]&&e[e.length-1].PicUrl)return"3:4"===t?e[e.length-1].PicUrl.RatioThreeToFour||e[e.length-1].PicUrl.RatioOneToOne||"":e[e.length-1].PicUrl.RatioOneToOne||""}return""},ka=e=>{const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n[0].toUpperCase()+n.substr(1)]=e[n]);return t},Na=(e,t,n=(new Date).getTime())=>{const i=po(`${e}`)?new Date(go(`${e}`)).getTime():new Date(e).getTime(),o=po(`${t}`)?new Date(go(`${t}`)).getTime():new Date(t).getTime();return i<n&&o>n},Oa=(e,t)=>{const n=null==t?void 0:t.templateFields;if(!Array.isArray(n)||!t)return Ta(wa({},e),{combinedMetafields:[]});const i=e.metafields,o=n.map((t=>{const n=t.key,o=null==i?void 0:i[n];return n===va.TemplateKeyEnum.SALEPAGE_TITLE?Ta(wa({},t),{value:e.title,uniqueId:(0,Ba.A)()}):n&&o?Ta(wa({},t),{value:o.value,uniqueId:(0,Ba.A)()}):null})).filter((e=>!!e));return Ta(wa({},e),{combinedMetafields:o})},Za=(e,t)=>t===Yi.OUTER_ID?`${Li.OUTER_LIST}${e}`:t===Yi.CATEGORY_ID?`${Li.CATEGORY_SALEPAGE_LIST}${e}`:t===Yi.RECOMMENDATION_ID?`${Li.RECOMMENDATION_SALEPAGE_LIST}${e}`:`${Li.SALEPAGE_LIST}${e}`,Ua={},Ra=e=>{Ua[e]={}},Xa=e=>{delete Ua[e]},Wa=(e,t,n)=>(Ua[e]||Ra(e),Ua[e][t]||(Ua[e][t]=n(),Ua[e][t].then((n=>(Ua[e][t]=null,n)))),Ua[e][t]),Va=e=>Math.random().toString(36).substr(2,e),Pa=(e=0)=>window.requestAnimationFrame((()=>{window.scrollTo(0,e)})),Da=()=>{let e=0;return document.documentElement&&null!==document.documentElement&&(e=document.documentElement.scrollTop),window.pageYOffset||e};var Ha=n(5534);const La=(e,t)=>(e=>4===e.length?`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`:e)((0,Ha.e$)(e,t)),Ya=["BannerA","BannerD","BlogB"],Ma={top:"4%",bottom:"4%",left:"8%",right:"8%"},Ja=["HeaderA","HeaderPX"],ja=e=>{const t=(0,j.find)(e.header,(e=>"Header"===e.groupId));return null==t?void 0:t.attributes},za=e=>Ya.includes(e);var Ka=n(4353),qa=n.n(Ka);const $a=e=>{const t=qa()(e);if(t.isValid())return t.toDate();const n=e.match(/\/Date\((\d+)([+-]\d{4})?\)\//);if(n){const e=parseInt(n[1],10);return new Date(e)}return""};var es=n(3203),ts=Object.defineProperty,ns=Object.defineProperties,is=Object.getOwnPropertyDescriptors,os=Object.getOwnPropertySymbols,rs=Object.prototype.hasOwnProperty,as=Object.prototype.propertyIsEnumerable,ss=(e,t,n)=>t in e?ts(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,cs=(e=>(e.SUCCESS="success",e.WARNING="warning",e))(cs||{}),ls=(e=>(e.ADD_SUCCESS="AddSuccess",e.BACK_IN_STOCK_INPUT_MAIL_SUCCESS="BackInStockInputMailSuccess",e.BACK_IN_STOCK_SUBSCRIBE_SUCCESS="BackInStockSubscribeSuccess",e.BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS="BackInStockUnsubscribeSuccess",e.CANCEL_BACK_IN_STOCK_INPUT_MAIL_SUCCESS="CancelBackInStockInputMailSuccess",e.FILTER_UPPER_LIMIT="FilterUpperLimit",e.IS_CLOSED="IsClosed",e.LOGIN_SUCCESS="loginSuccess",e.LOGOUT_SUCCESS="logoutSuccess",e.NOT_FOUND="NotFound",e.NO_START="NoStart",e.REMOVE_SUCCESS="removeSuccess",e.SELECT_ERROR="SelectError",e.SOLD_OUT="SoldOut",e.SUBMIT_ERROR="SubmitError",e.SYSTEM_ERROR="SystemError",e.UN_LISTING="UnListing",e.GET_SALEPAGE_BUNDLE_ERROR="GetSalepageBundleError",e))(ls||{});const us={TYPE:cs,STATUS:ls},ds=[{type:us.TYPE.SUCCESS,status:us.STATUS.LOGIN_SUCCESS,message:jn.THEME_CORE.TOAST.LOGIN_SUCCESS},{type:us.TYPE.SUCCESS,status:us.STATUS.LOGOUT_SUCCESS,message:jn.THEME_CORE.TOAST.LOGOUT_SUCCESS},{type:us.TYPE.SUCCESS,status:us.STATUS.ADD_SUCCESS,message:jn.THEME_CORE.TOAST.ADD_SUCCESS},{type:us.TYPE.SUCCESS,status:us.STATUS.REMOVE_SUCCESS,message:jn.THEME_CORE.TOAST.REMOVE_SUCCESS},{type:us.TYPE.SUCCESS,status:us.STATUS.BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS,message:jn.THEME_CORE.TOAST.BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS},{type:us.TYPE.SUCCESS,status:us.STATUS.BACK_IN_STOCK_SUBSCRIBE_SUCCESS,message:jn.THEME_CORE.TOAST.BACK_IN_STOCK_SUBSCRIBE_SUCCESS},{type:us.TYPE.WARNING,status:us.STATUS.SOLD_OUT,message:jn.THEME_CORE.TOAST.SOLD_OUT},{type:us.TYPE.WARNING,status:us.STATUS.NO_START,message:jn.THEME_CORE.TOAST.NO_START},{type:us.TYPE.WARNING,status:us.STATUS.NOT_FOUND,message:jn.THEME_CORE.TOAST.NOT_FOUND},{type:us.TYPE.WARNING,status:us.STATUS.IS_CLOSED,message:jn.THEME_CORE.TOAST.IS_CLOSED},{type:us.TYPE.WARNING,status:us.STATUS.UN_LISTING,message:jn.THEME_CORE.TOAST.UN_LISTING},{type:us.TYPE.WARNING,status:us.STATUS.FILTER_UPPER_LIMIT,message:jn.THEME_CORE.TOAST.FILTER_UPPER_LIMIT},{type:us.TYPE.WARNING,status:us.STATUS.SUBMIT_ERROR,message:jn.THEME_CORE.TOAST.SUBMIT_ERROR},{type:us.TYPE.WARNING,status:us.STATUS.SYSTEM_ERROR,message:jn.THEME_CORE.TOAST.SYSTEM_ERROR},{type:us.TYPE.WARNING,status:us.STATUS.GET_SALEPAGE_BUNDLE_ERROR,message:jn.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED},{type:us.TYPE.WARNING,status:us.STATUS.SELECT_ERROR,message:jn.THEME_CORE.TOAST.SELECT_ERROR}],gs=e=>{const t=ds.find((t=>t.status===e));return n=((e,t)=>{for(var n in t||(t={}))rs.call(t,n)&&ss(e,n,t[n]);if(os)for(var n of os(t))as.call(t,n)&&ss(e,n,t[n]);return e})({},t),i={message:(null==t?void 0:t.message)?(0,es.t)(t.message):""},ns(n,is(i));var n,i};var ps=Object.defineProperty,ms=Object.defineProperties,fs=Object.getOwnPropertyDescriptors,Is=Object.getOwnPropertySymbols,hs=Object.prototype.hasOwnProperty,bs=Object.prototype.propertyIsEnumerable,ys=(e,t,n)=>t in e?ps(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Cs=({toolbox:e={},fbFansPageUrl:t="",lineUserId:n="",instagramUrl:i="",shopDomain:o,shopId:r})=>{const a=t?t.split("/").filter((e=>!!e)):"",s=a?a[a.length-1]:"",c={[eo.FACEBOOK_PAGE]:t||"https://www.facebook.com/",[eo.LINE]:`https://line.me/R/ti/p/${n}`,[eo.IG]:i||"https://www.instagram.com/?hl=zh-tw",[eo.STORE_INFO]:`https://${o}/V2/Shop/StoreList/${r}`,[eo.FACEBOOK_MESSENGER]:`https://m.me/${s}`,[eo.COUPON]:`https://${o}/Coupon/List`};return l=((e,t)=>{for(var n in t||(t={}))hs.call(t,n)&&ys(e,n,t[n]);if(Is)for(var n of Is(t))bs.call(t,n)&&ys(e,n,t[n]);return e})({},e),u={linkUrl:e.id===eo.CUSTOM?e.linkUrl:c[e.id]},ms(l,fs(u));var l,u},vs=(e,t)=>{const{fbFansPageUrl:n,lineUserId:i,instagramUrl:o,shopDomain:r,shopId:a}=t;return $e.apply(e,"$..toolboxList",(e=>e.map((e=>Cs({toolbox:e,fbFansPageUrl:n,lineUserId:i,instagramUrl:o,shopDomain:r,shopId:a}))))),e};var Bs=n(9310),As=Object.defineProperty,_s=Object.defineProperties,Ss=Object.getOwnPropertyDescriptors,Gs=Object.getOwnPropertySymbols,Qs=Object.prototype.hasOwnProperty,Es=Object.prototype.propertyIsEnumerable,Fs=(e,t,n)=>t in e?As(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const ws=(e,t)=>(0,vn.merge)(e,t),Ts=(e,t,n)=>(0,vn.merge)(e,t,n),xs=e=>JSON.parse(JSON.stringify(e)),ks=e=>!!e&&(e=>"string"==typeof e)(e)&&!Number.isNaN(Number(e)),Ns=e=>"true"===e||"false"===e,Os=(e,t)=>(0,Jr.get)(e,t),Zs=e=>e.charAt(0).toLowerCase()+e.slice(1),Us=e=>Array.isArray(e)?e.map((e=>Us(e))):"object"==typeof e&&null!==e?Object.entries(e).reduce(((e,[t,n])=>{const i=Zs(t);return o=((e,t)=>{for(var n in t||(t={}))Qs.call(t,n)&&Fs(e,n,t[n]);if(Gs)for(var n of Gs(t))Es.call(t,n)&&Fs(e,n,t[n]);return e})({},e),r={[i]:Us(n)},_s(o,Ss(r));var o,r}),{}):e,Rs=e=>"number"!=typeof e||Number.isNaN(e)?"0":e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,","),Xs={HeaderA:{title:"Brand001"},HeaderB:{title:"Brand002"},HeaderPX:{title:"Brand003"},BoardA:{title:""},BannerA:{title:"Banner001"},BannerB:{title:"Banner002"},BannerC:{title:"Banner003"},BannerD:{title:"Banner004"},BannerE:{title:"Banner005"},BannerF:{title:"Banner006"},ProductA:{title:"Product001"},ProductB:{title:"Product002"},ProductC:{title:"Product003"},BlogA:{title:"Blog001"},BlogB:{title:"Blog002"},ActivityA:{title:"Activity001"},ActivityB:{title:"Activity002"},QuickEntryA:{title:"Others001"},CateringReservationOrders:{title:"Catering001"},CateringReservation:{title:"Catering002"},SearchA:{title:"Search001"},BuyAgainProductA:{title:"BuyAgainProduct001"}},Ws=(e,t=0)=>{return i=function*(){const{shopId:n}=e,i=pt(`ShoppingCartV3/GetShoppingCartPreview?locationId=${t}`,e,!1),o={method:en.RequestMethod.POST,body:JSON.stringify({shopId:n})};return(({Data:{ShopList:e}})=>{const{SalePageList:t=[]}=e[0]||{};return t.map((({Title:e="",PicUrl:t,Price:n=0,Qty:i=0,SalePageId:o=0,SalePageGroupSeq:r=0,SaleProductSKUId:a=0,PointsPayPair:s,ShoppingCartId:c,RelatedItemGroup:l,RelatedItemType:u,ExtraPurchaseItems:d})=>{return{title:e,mediaUrlList:[t],link:o&&`/SalePage/Index/${o}`,price:n,quantity:i,salePageId:o,salePageSeq:r,saleProductSKUId:a,pointsPayPair:{pointsPayId:(null==s?void 0:s.PointsPayId)||0,pairsPrice:(null==s?void 0:s.PairsPrice)||0,pairsPoints:(null==s?void 0:s.PairsPoints)||0},shoppingCartId:c,relatedItemGroup:l,relatedItemType:u,extraPurchaseItems:d?(g=d,g.map((e=>{var t,n,i;return{title:e.Title,mediaUrlList:[e.PicUrl],link:e.SalePageId&&`/AddOnsSalePage/Index/${e.SalePageId}`,price:e.Price,quantity:e.Qty,salePageId:e.SalePageId,salePageSeq:e.SalePageGroupSeq,saleProductSKUId:e.SaleProductSKUId,pointsPayPair:{pointsPayId:(null==(t=e.PointsPayPair)?void 0:t.PointsPayId)||0,pairsPrice:(null==(n=e.PointsPayPair)?void 0:n.PairsPrice)||0,pairsPoints:(null==(i=e.PointsPayPair)?void 0:i.PairsPoints)||0}}}))):[]};var g}))})(yield Zn(i,o))},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i},Vs="allowGetPrivacyInfo",Ps=e=>`${e}:vipMemberOuterId`,Ds=e=>`${e}:backInStock:salePageId`;var Hs=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const Ls=(e,t=!1)=>Hs(void 0,null,(function*(){const{shopId:n}=e;try{const n=pt(`/VIPMember/GetVipInfo?isBinding=${t}`,e,!1),i=yield Zn(n);return Promise.resolve(i.Data)}catch(i){return ze.error(`[ERROR] fetchVipMemberInfo GetVipInfo failed: ${je(i)}: ${Je(i)}: shopId: ${n}`),Promise.reject(i)}}));var Ys=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const{checkIsEnableCartList:Ms,checkIsEnableMemberOuid:Js,CONSTANTS:js}=Bs||{},zs=(null==js?void 0:js.PRODUCTS_SORT_METHOD)||{PRICE_DESC:"price_descending",PRICE_ASC:"price_ascending",LATEST:"latest",POPULARITY_VIEW:"popularity_view",CURATOR:"curator",SALES:"sales",RELATIVITY:"relativity"},Ks={Curator:zs.CURATOR,Newest:zs.LATEST,Sales:zs.SALES,PageView:zs.POPULARITY_VIEW,PriceLowToHigh:zs.PRICE_ASC,PriceHighToLow:zs.PRICE_DESC},qs=e=>Ys(void 0,null,(function*(){const t={isLogin:!1,memberHashed:{}};try{const{isLogin:n,vipMemberOuterId:i}=yield(e=>Ys(void 0,null,(function*(){try{const t={isLogin:!1,vipMemberOuterId:null},n=yield bn();t.isLogin=n;const{env:i,silo:o}=xe(),{shopId:r,market:a}=ke();return!!(null==Js?void 0:Js({env:i,market:a,shopId:r,silo:o}))&&(t.vipMemberOuterId=yield((e,t)=>Hs(void 0,null,(function*(){var n;const{shopId:i}=e;try{if(!t)return ze.debug("[streams/vipMember/fetchVipMemberInfo.stream] fetchVipMemberOuterId stop, user is not login"),null;const o=Ps(i),r=(0,vn.getCookie)(o);if(r)return r;const a=yield Ls(e),s=null==(n=null==a?void 0:a.VipMember)?void 0:n.OuterId;return s&&(0,vn.addCookie)(o,s),Promise.resolve(s)}catch(o){return ze.error(`[ERROR] fetchVipMemberOuterId failed: ${je(o)}: ${Je(o)}: shopId: ${i}`),Promise.reject(o)}})))(e,t.isLogin)),t}catch(t){return{isLogin:!1,vipMemberOuterId:null}}})))(e);if(!n)return t;t.isLogin=n,t.vipMemberOuterId=i;const o=(0,vn.getCookie)("MID");t.memberCode=o;const r=localStorage.getItem("em"),a=localStorage.getItem("ph"),s=localStorage.getItem("phForTealiumIQ")||null;r&&(t.memberHashed.emailHashed=r),a&&(t.memberHashed.phoneHashed=a),s&&(t.memberHashed.phoneHashedForTealiumIQ=s)}catch(n){ze.error(`[ERROR] tracking getUserInfo error: ${je(n)}: ${Je(n)}`)}return t})),$s=e=>{var t,n;return`${null==(n=null==(t=Xs)?void 0:t[e])?void 0:n.title}`||e},ec=(e,t)=>t&&e?"HiddenExpressSalePage":t&&!e?"ExpressSalePage":e?"HiddenSalePage":"SalePage",tc=()=>{const{pageType:e}=xe(),{pageTitle:t}=(0,Ee.getPageInfoByPageType)(e);return t},nc=e=>Ys(void 0,null,(function*(){let t=[];const{env:n,silo:i}=xe(),{shopId:o,market:r}=ke();return(null==Ms?void 0:Ms({env:n,market:r,shopId:o,silo:i}))&&(t=(yield Ws(e)).map((e=>({id:e.salePageId,price:e.price,quantity:e.quantity,name:e.title,suggestPrice:null})))),t})),ic=e=>{const{moduleId:t,materialName:n="",moduleName:i="",moduleKey:o,position:r,isShowModuleKey:a=!0}=e,s=$s(t),c=`${s}${""!==n?`_${n}`:""}`;let l="";return r>=0&&(l=""!==n?`${r+1}`:`_${r+1}`),{eventCategory:tc(),eventAction:`點開圖片版位 (${c+l})`,eventLabel:a?`(${o})${i}`:i,contentType:s}},oc=()=>{const{pageType:e}=xe(),{routerPath:t}=ke();return e===Ee.PAGE_TYPE.CUSTOM||e===Ee.PAGE_TYPE.HIDDEN?t:""},rc=()=>_e()?null==document?void 0:document.title:"",ac=(e,t)=>{if(e===ri.jooii&&t){const{modeId:n="",version:i=""}=t;return`${e}_${n}_v${i}`}return e||""},sc=e=>e.includes("Firefox"),cc=e=>e.includes("Chrome"),lc=e=>!e.includes("Chrome")&&e.includes("Safari"),uc=e=>e.indexOf("Trident")>0||e.indexOf("MSIE")>0,dc=e=>/android/i.test(e)?"Android":/(iPhone|iPad|iPod|iOS)/i.test(e)?"iOS":/bot|spider|crawl/i.test(e)?"Bot":"UnKnown",gc=()=>"undefined"!=typeof window&&window.navigator&&/bot|spider|crawl/i.test(navigator.userAgent);var pc=Object.defineProperty,mc=Object.defineProperties,fc=Object.getOwnPropertyDescriptors,Ic=Object.getOwnPropertySymbols,hc=Object.prototype.hasOwnProperty,bc=Object.prototype.propertyIsEnumerable,yc=(e,t,n)=>t in e?pc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Cc=(e,t)=>{for(var n in t||(t={}))hc.call(t,n)&&yc(e,n,t[n]);if(Ic)for(var n of Ic(t))bc.call(t,n)&&yc(e,n,t[n]);return e},vc=(e,t)=>mc(e,fc(t));const Bc=()=>{var e;return!!(null==(e=Bs.adobeAnalytics)?void 0:e.checkIsEnableAdobeTrack())},Ac=()=>!(gc()||Bn()||(0,vn.checkIsServerRender)()||An()||_n()),_c=()=>{var e,t,n,i,o,r,a,s,c;try{const{gaSetting:l,facebookConfig:u,env:d,pageType:g,silo:p,shopExtensionSetting:m,i18n:f}=xe(),{shopId:I,shopProfile:h,market:b,locale:y}=ke(),{ShopThirdPartyConfigInfo:C}=h,v=null==(t=null==(e=null==m?void 0:m.googleAnalytics)?void 0:e.sdkOption)?void 0:t.customOuidDimensionName,B=(null==(n=null==m?void 0:m.googleAnalytics)?void 0:n.isEnable)&&(null==(o=null==(i=null==m?void 0:m.googleAnalytics)?void 0:i.sdkOption)?void 0:o.isEnableVipMemberOuterIdDimension),A=null==(a=null==(r=null==m?void 0:m.googleAnalytics)?void 0:r.sdkOption)?void 0:a.isUseOriginalClientId,_={shopId:I,gaConfig:{googleAnalyticsTrackingId:null==l?void 0:l.GoogleAnalyticsTrackingId,originDomain:null==l?void 0:l.originDomain,officialSsoDomain:null==l?void 0:l.officialSsoDomain,isEnableVipMemberOuterIdDimension:B,countryName:null==l?void 0:l.countryName,customOuidDimensionName:v,isReceiveSdkGaEvent:!0,isUseOriginalClientId:A},fbPixelConfig:{allSiteFbPixelId:null==u?void 0:u.allSiteFbPixelId,customAudiencesPixelIds:null==u?void 0:u.CustomAudiencesPixelIds,isEnableAdvancedFacebookPixel:null==u?void 0:u.IsEnableFacebookManualAdvancedMatching},gaFourConfig:{googleAnalyticsFourGTagId:null==l?void 0:l.GoogleAnalytics4TrackingId},googleAdwordsConfig:vc(Cc({},null==(s=null==C?void 0:C.GoogleConfig)?void 0:s.OfficialShopGoogleTagConfig),{isSendRemarketingFromSSR:!0}),lineAdConfig:{isEnableLineAd:!0,tagEventSet:null==(c=null==C?void 0:C.LineConfig)?void 0:c.LineADTracking},adobeAAConfig:{isEnable:!0},currency:f.defaultCurrency,shopExtensionSetting:m,env:null==d?void 0:d.toLocaleLowerCase(),market:null==b?void 0:b.toLocaleLowerCase(),silo:null==p?void 0:p.toLocaleLowerCase(),pageType:g,locale:y};(0,Bs.initialize)(_)}catch(l){ze.error(`[ERROR] tracking trackInitialize error: ${je(l)}: ${Je(l)}`)}},Sc=e=>{return n=function*(){var t,n,i;try{if(!Ac())return;const o=ke(),{i18n:r}=xe(),{preferredCurrency:a}=r,s=null==(t=Bs.facebookPixel)?void 0:t.checkIsEnableAdvancedPixel(),c=mn(o),l=tt("isThirdPartyNewRegistered");Ns(l)&&s&&(yield(e=>{return n=function*(){var t,n;const{shopId:i}=e;try{const o=pt(`Advertise/GetVIPMemberHashInfoForAdvertise/${i}`,e,!1),r=yield Zn(o),a=null==(t=null==r?void 0:r.Data)?void 0:t.EmailHashed,s=null==(n=null==r?void 0:r.Data)?void 0:n.PhoneHashed;return s&&localStorage.setItem("ph",s),void(a&&localStorage.setItem("em",a))}catch(o){return ze.error(`[ERROR] fetchVIPMemberHashInfoForAdvertise failed: ${je(o)}: ${Je(o)}: shopId: ${i}`),Promise.reject(o)}},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(c));const u=yield nc(c),{isLogin:d,vipMemberOuterId:g,memberHashed:p}=yield qs(c),m=(0,Ba.A)(),{pageType:f}=xe(),I=vc(Cc({},e),{pageType:f,isLogin:d,optionInfo:null==e?void 0:e.optionInfo,viewId:null==e?void 0:e.viewId,vipMemberOuterId:g,memberHashed:p,isPassOuterMemberCode:null==(i=null==(n=o.shopProfile)?void 0:n.ShopThirdPartyConfigInfo)?void 0:i.IsPassOuterMemberCode,currentCartList:u});(0,Bs.pageView)(I,m,a)}catch(o){ze.error(`[ERROR] tracking trackPageView error: ${je(o)}: ${Je(o)}`)}},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n},Gc=(e,t,n)=>{var i;try{null==(i=Bs.googleAnalytics)||i.trackEvent(e,t,n)}catch(o){ze.error(`[ERROR] tracking trackEvent error: ${je(o)}: ${Je(o)}`)}},Qc=e=>{try{if(!Ac()||!e)return;(0,Bs.selectContent)(e)}catch(t){ze.error(`[ERROR] trackSelectContent error: ${je(t)}: ${Je(t)}`)}},Ec=e=>{try{if(!Ac()||!e||!e.productInfo)return;const{categoryInfo:t,pageTitle:n,productInfo:i,isHidden:o=!1,isExpress:r=!1,productDesc:a,productMainImage:s,productOuterId:c}=e,l=(0,Ba.A)(),u={categoryInfo:t,pageTitle:n,productInfo:i,viewItemType:ec(o,r),productDesc:a,productMainImage:s,productOuterId:c};(0,Bs.productDetails)(u,l)}catch(t){ze.error(`[ERROR] trackProductDetails error: ${je(t)}: ${Je(t)}`)}},Fc=(e,t,n)=>{try{if(!Ac()||!e)return;const i=(0,Ba.A)();(0,Bs.addToCart)(e,i,t,n)}catch(i){ze.error(`[ERROR] trackAddToCart error: ${je(i)}: ${Je(i)}`)}},wc=e=>{try{if(!Ac()||!e)return;(0,Bs.removeFromCart)(e)}catch(t){ze.error(`[ERROR] trackRemoveFromCart error: ${je(t)}: ${Je(t)}`)}},Tc=e=>{try{if(!Ac()||!e)return;const{id:t,skuId:n,price:i,suggestPrice:o,name:r,position:a,categoryName:s,categoryId:c}=e,l=(0,Ba.A)();(0,Bs.addToFavorite)({id:t,skuId:n,price:i,suggestPrice:o,name:r,position:a,categoryName:s,categoryId:c},l)}catch(t){ze.error(`[ERROR] trackAddToFavorite error: ${je(t)}: ${Je(t)}`)}},xc=e=>{try{if(!Ac()||!e)return;const{id:t,skuId:n,price:i,suggestPrice:o,name:r,position:a,categoryName:s,categoryId:c,quantity:l}=e;(0,Bs.removeFromFavorite)({id:t,name:r,categoryId:c,categoryName:s,price:i,quantity:l,suggestPrice:o,skuId:n,position:a})}catch(t){ze.error(`[ERROR] trackRemoveFromFavorite error: ${je(t)}: ${Je(t)}`)}},kc=(e,t)=>{try{if(!Ac()||!e)return;(0,Bs.productClick)(e,t)}catch(n){ze.error(`[ERROR] trackProductClick error: ${je(n)}: ${Je(n)}`)}},Nc=e=>{Ac()&&e&&(0,Bs.sortProducts)(e)},Oc=e=>{try{if(!Ac()||!e||!e.searchTerm)return;const t=(0,Ba.A)();(0,Bs.searchKeyword)(e,t)}catch(t){ze.error(`[ERROR] trackSearchKeyword error: ${je(t)}: ${Je(t)}`)}},Zc=e=>{try{if(!Ac()||!e)return;const t=(0,Ba.A)();(0,Bs.searchFilter)(e,t)}catch(t){ze.error(`[ERROR] trackSearchFilter error: ${je(t)}: ${Je(t)}`)}},Uc=(e,t,n)=>{try{if(!Ac()||!e||e.length<=0)return;(0,Bs.productImpression)(e,t,n)}catch(i){ze.error(`[ERROR] trackProductImpression error: ${je(i)}: ${Je(i)}`)}},Rc=e=>{try{if(!Ac()||!e)return;(0,Bs.increaseQuantity)(e)}catch(t){ze.error(`[ERROR] trackIncreaseQuantity error: ${je(t)}: ${Je(t)}`)}},Xc=e=>{try{if(!Ac()||!e)return;(0,Bs.loadMoreProductList)(e)}catch(t){ze.error(`[ERROR] trackLoadMoreProductList error: ${je(t)}: ${Je(t)}`)}},Wc=e=>{try{if(!Ac()||!e)return;(0,Bs.productRecommendationClick)(e)}catch(t){ze.error(`[ERROR] trackProductRecommendationClick error: ${je(t)}: ${Je(t)}`)}},Vc=e=>{try{if(!Ac()||!e)return;(0,Bs.reduceQuantity)(e)}catch(t){ze.error(`[ERROR] trackReduceQuantity error: ${je(t)}: ${Je(t)}`)}},Pc=e=>{try{if(!Ac()||!e)return;(0,Bs.quickView)(e)}catch(t){ze.error(`[ERROR] trackQuickView error: ${je(t)}: ${Je(t)}`)}},Dc=e=>{try{if(!Ac()||!e)return;(0,Bs.viewItemListV3)(e)}catch(t){ze.error(`[ERROR] trackViewItemList error: ${je(t)}: ${Je(t)}`)}},Hc=e=>/(.+)@(.+)\.(.+)/.test(e);var Lc=n(8709);const{buttonStyle:Yc}=ue.A,{fontSizeDefault:Mc}=be;var Jc=(e=>(e.EXLARGE="EXLARGE",e.MEDIUM="MEDIUM",e.STANDARD="STANDARD",e.SMALL="SMALL",e))(Jc||{});const jc=q.default.div`
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;

    display: flex;
    justify-content: center;
    align-items: center;

    background-color: rgba(0, 0, 0, 0.5);
    z-index: ${H};
`,zc=q.default.div`
    display: flex;
    flex-direction: column;
    background-color: ${J.white};
    border-radius: 4px;
    position: relative;
    min-height: 120px;
    width: 288px;
    max-height: 400px;
`,Kc=q.default.div`
    display: flex;
    flex-direction: column;
    background-color: ${J.white};
    border-radius: 4px;
    position: relative;
    min-height: 120px;
    width: 90%;
    max-width: 600px;
    max-height: 80vh;
`,qc=q.default.div`
    display: flex;
    flex-direction: column;
    background-color: ${J.white};
    border-radius: 4px;
    position: relative;
    min-height: 120px;
    width: 100%;
    max-width: 600px;
    max-height: 80vh;
`,$c=q.default.div`
    display: flex;
    flex-direction: column;
    background-color: ${J.white};
    border-radius: 4px;
    position: relative;
    width: 640px;
    height: 600px;
`,el=16,tl=q.default.div`
    flex: 0 0 ${46}px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding: ${el}px ${el}px 0px ${el}px;
`,nl=q.default.div`
    font-size: 16px;
    font-weight: 500;
    color: ${J.blackThree};
`,il=q.default.div`
    width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 352px;
`,ol=q.default.div`
    width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 400px;
`,rl=q.default.div`
    width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 400px;
`,al=q.default.div`
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    overflow: hidden;
`,sl=q.default.div`
    position: absolute;
    top: ${({isInsideHeader:e})=>e?21:el}px;
    right: ${el}px;

    display: flex;
    justify-content: center;
    align-items: center;

    width: 20px;
    height: 20px;
    z-index: ${H};
    border-radius: 50%;

    transition: 0.15s background-color;

    :hover {
        cursor: pointer;
    }
`,cl=(0,q.default)(sl)`
    right: unset;
    left: ${el}px;
`,ll=q.default.button`
    height: 40px;
    width: 100%;
    border-radius: 4px;
    text-align: center;
    cursor: pointer;
    color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnTextColor)||Yc.primaryBtnTextColor}};
    background-color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnBgColor)||Yc.primaryBtnBgColor}};
    &:hover {
        background-color: ${({theme:e})=>{var t;return La(.1,(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnBgColor)||Yc.primaryBtnBgColor)}};
    }
`,ul=q.default.button`
    height: 40px;
    width: 100%;
    border-radius: 4px;
    text-align: center;
    cursor: pointer;
    color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.secondBtnTextColor)||Yc.secondBtnTextColor}};
    background-color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.secondBtnBgColor)||Yc.secondBtnBgColor}};
    border: 1px solid
        ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.secondBtnBorderColor)||Yc.secondBtnBorderColor}};
`,dl=q.default.div`
    font-size: ${Mc};
    line-height: 150%;
    font-weight: 400;
    display: flex;
    padding: 0 16px 16px 16px;
    bottom: 0;
    * + * {
        margin-left: 10px;
    }
`,gl=e=>e.stopPropagation(),pl=({children:e,onModalClick:t,title:n,modalMode:i="SMALL",handleConfirmClick:o,confirmText:r,handleCancelClick:a,cancelText:s,isShowCloseButton:c=!0,handleCloseButtonClick:l,handleBackwardButtonClick:u,isShowHeader:d})=>{const g=void 0===d?Boolean(n):d,p="function"==typeof u,m=z.createElement(cl,{isInsideHeader:d,className:"ico ico-chevron-left",onClick:u}),f=z.createElement(tl,null,z.createElement(nl,null,n)),I=z.createElement(sl,{isInsideHeader:d,className:"ico ico-close",onClick:e=>{"function"==typeof l&&(e.preventDefault(),l(e))}}),h=z.createElement(dl,{onClick:gl},s&&z.createElement(ul,{onClick:a},s),r&&z.createElement(ll,{onClick:o},r)),b=z.createElement(jc,{onClick:t},"EXLARGE"===i&&z.createElement($c,null,p&&m,g&&f,c&&I,z.createElement(al,{onClick:gl},e),(r||s)&&h),"MEDIUM"===i&&z.createElement(qc,null,p&&m,g&&f,c&&I,z.createElement(rl,{onClick:gl},e),(r||s)&&h),"STANDARD"===i&&z.createElement(Kc,null,p&&m,g&&f,c&&I,z.createElement(ol,{onClick:gl},e),(r||s)&&h),"SMALL"===i&&z.createElement(zc,null,p&&m,g&&f,c&&I,z.createElement(il,{onClick:gl},e),(r||s)&&h));return(0,Lc.createPortal)(b,document.querySelector("#modal-root")||document.body)},ml=q.default.div`
    background: rgba(0, 0, 0, 0.4);
    z-index: ${L};

    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
`,fl=q.keyframes`
    from {
        top: 100%;
        bottom: 0;
        left: 0;
        right: 0;
    }

    to {
        top: 10%;
        bottom: 0;
        left: 0;
        right: 0;
    }
`,Il=q.keyframes`
    from {
        bottom: -100%;
    }
    to {
        bottom: 0;
    }
`,hl=q.default.div`
    ${({isFullScreen:e})=>!e&&"position: absolute"};
    animation: ${fl} 0.3s ease-out 1;
    animation-fill-mode: forwards;
`,bl=q.default.div`
    background: ${J.white};
    border-radius: ${({isFullScreen:e,maxHeight:t})=>e&&!t?"0":"15px 15px 0 0"};

    display: flex;
    flex-direction: column;

    position: absolute;
    bottom: -100%;

    animation: ${Il} 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0.15s;
    animation-fill-mode: forwards;
    width: 100vw;
    ${({isFullScreen:e,maxHeight:t})=>e&&t&&`\n        max-height: ${t};\n        max-height: ${t.replace("vh","svh")};\n        overflow: hidden;\n    `};
    ${({isFullScreen:e})=>e&&"height: 100vh; height: 100svh;"};
`,yl=16,Cl=q.default.div`
    flex: 0 0 ${46}px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: ${yl}px ${yl}px 0px ${yl}px;
`,vl=q.default.div`
    flex-grow: 1;
    ${({isFullScreen:e})=>e?"width: 100%; height: 100%; box-sizing: border-box; overflow: hidden;":"max-height: 80vh"}
`,Bl=q.default.div`
    font-size: 16px;
    font-weight: 500;
    color: #333;
`,Al=q.default.div`
    position: absolute;
    right: ${yl}px;
    top: ${({isInsideHeader:e})=>e?21:yl}px;

    width: 20px;
    height: 20px;

    display: flex;
    justify-content: center;
    align-items: center;
    z-index: ${L};
    border-radius: 50%;
    transition: 0.15s background-color;

    :hover {
        cursor: pointer;
    }
`,_l=(0,q.default)(Al)`
    right: unset;
    left: ${yl}px;
`,Sl=(0,q.default)(Al)`
    background-color: ${J.blackOpacity50};
    color: ${J.white};
`,Gl=e=>{e.stopPropagation()},Ql=({title:e,children:t,handleCloseButtonClick:n,handleBackwardButtonClick:i,onModalClick:o,isWhiteCloseButton:r=!1,isShowCloseButton:a=!0,isShowHeader:s,isFullScreen:c=!1,maxHeight:l})=>{(0,z.useLayoutEffect)((()=>{const e=document.body;return e.style.overflow="hidden",()=>{e.style.overflow="unset"}}),[]);const u="function"==typeof n?n:o,d=void 0===s?Boolean(e):s,g="function"==typeof i,p=r?Sl:Al,m=z.createElement(ml,{onClick:o},z.createElement(hl,{isFullScreen:c},z.createElement(bl,{onClick:Gl,isFullScreen:c,maxHeight:l},g&&z.createElement(_l,{className:"ico ico-chevron-left",onClick:i,isInsideHeader:d}),d&&z.createElement(Cl,null,z.createElement(Bl,null,e)),a&&z.createElement(p,{className:"ico ico-close",onClick:u,isInsideHeader:d}),z.createElement(vl,{isFullScreen:c},t))));return(0,Lc.createPortal)(m,document.querySelector("#modal-root")||document.body)};var El=n(3559);const{buttonStyle:Fl}=ue.A,wl=q.default.div`
    display: flex;
    flex-direction: column;
    height: ${({blockHeight:e})=>e||"calc(70vh - 39px)"};
`,Tl=q.default.div`
    height: 40px;
    align-items: center;
    justify-content: flex-start;
    display: flex;
    flex-shrink: 0;
`,xl=q.default.div`
    display: block;
    margin: 0 16px;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
`,kl=q.default.span`
    font-weight: 400;
    font-size: ${be.fontSizeDefault};
    color: ${J.grapefruit};
`,Nl=q.default.span`
    font-weight: 400;
    font-size: ${be.fontSizeDefault};
    color: ${J.blackThree};
`,Ol=q.default.div`
    overflow-x: hidden;
    overflow-y: auto;
    flex: 1;
    ${({withSubmitButton:e})=>e?`border-bottom: 1px solid ${J.grey};`:""}
`,Zl=q.default.div`
    display: flex;
    height: ${({layoutMode:e})=>"narrow"===e?"36px":"44px"};
    align-items: center;
    justify-content: start;
    cursor: pointer;
    flex: 1;
    background-color: ${({isActive:e,isCategoryIdEqual0:t,isChild:n})=>e?J.whiteFour:n?J.whiteFive:t?J.whiteFour:"transparent"};
    padding-left: ${({isActive:e,isChild:t,isFriendNode:n,layoutMode:i})=>e||n?"narrow"===i?"34px":"44px":t?"narrow"===i?"46px":"56px":"narrow"===i?"0px":"16px"};
    @media (min-width: 768px) {
        :hover {
            background: ${J.whiteFour};
        }
    }
`,Ul=q.default.button`
    display: block;
    font-size: ${be.fontSizeDefault};
    font-weight: 400;
    width: 100%;
    background-color: transparent;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    font-weight: ${({isActive:e})=>e?"bold":"normal"};
`,Rl=q.default.div`
    display: flex;
    height: 64px;
    padding: 12px 20px;
    box-sizing: border-box;
`,Xl=q.default.button`
    font-size: ${be.fontSizeDefault};
    border-radius: 5px;
    padding: 8px 0px;
    color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.primaryBtnTextColor)||Fl.primaryBtnTextColor}};
    background-color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.primaryBtnBgColor)||Fl.primaryBtnBgColor}};
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
`,Wl=q.default.div`
    display: flex;
    height: ${({layoutMode:e})=>"narrow"===e?"36px":"48px"};
    flex-shrink: 0;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    margin: 0 auto;
    cursor: pointer;
    @media (min-width: 768px) {
        :hover {
            background: ${J.whiteFour};
        }
    }
`,Vl=q.default.div`
    height: 1px;
    margin: 0 16px;
    background-color: ${J.grey};
`,Pl=q.default.div`
    display: block;
    color: ${J.brownishGrey};
    text-align: left;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: ${be.fontSizeDefault};
    cursor: pointer;
`,Dl=q.default.div`
    display: flex;
    justify-content: center;
    align-items: center;
    width: ${({layoutMode:e})=>"narrow"===e?"34px":"44px"};
`,Hl=q.default.i`
    ${({rotateNumber:e})=>`transform: rotate(${e}deg);`}
    color: ${J.brownishGrey};
`,Ll=(e,t)=>{const{Name:n}=e;return z.createElement(z.Fragment,{key:e.Id},z.createElement(Dl,{layoutMode:t},z.createElement(Hl,{rotateNumber:90,className:"ico ico-chevron-down"})),z.createElement(Pl,null,n))},Yl=({blockHeight:e,breadcrumbList:t,categoryList:n,itemSelectClick:i,submitClick:o,categoryId:r,withSubmitButton:a=!0,withSelectTitle:s=!0,submitButtonText:c=`${jn.THEME_CORE.SHOP_CATEGORY.FAST_BUY_CONFIRM}`,layoutMode:l,scrollWhenOpen:u=!0})=>{const d=r||0,g=(0,j.find)(t,(e=>e.Id===d)),p=(0,El.useSelector)((e=>e.user.retailStoreExpressLocationId)),m=e=>{e.Id!==d&&i(e)},f=e=>0===d?{isCategoryIdEqual0:0===e.Id,isActiveNode:!1,isFriendNode:!1,isChildNode:!1}:{isCategoryIdEqual0:!1,isActiveNode:e.Id===d,isFriendNode:g&&((0,j.find)(t,(t=>t.Id===e.ParentId))||1===g.Level)&&e.Level===g.Level,isChildNode:e.ParentId===d},I=e=>{const{ChildList:t}=e;return z.createElement(z.Fragment,{key:`RenderMultiLevelItem${e.Id}`},(e=>{const{isCategoryIdEqual0:t,isActiveNode:n,isFriendNode:i,isChildNode:o}=f(e);if(n||i){const{Id:r,Name:a}=e;return z.createElement(Zl,{id:`menu-item-${e.Id}`,isCategoryIdEqual0:t,isActive:n,isChild:o,isFriendNode:i,onClick:()=>{m(e)},layoutMode:l},z.createElement(Ul,{key:r,isActive:n},a))}if(o){const{Id:r,Name:a}=e;return z.createElement(Zl,{isActive:n,isCategoryIdEqual0:t,isChild:o,isFriendNode:i,onClick:()=>{m(e)},layoutMode:l},z.createElement(Ul,{key:r,isActive:n},a))}return null})(e),null==t?void 0:t.map((e=>I(e))))},h={Id:0,Level:1,Name:(0,es.t)(jn.THEME_CORE.SHOP_CATEGORY.ALL_CATEGORY)};return(0,z.useEffect)((()=>{if(u&&d&&d>0){const e=document.getElementById(`menu-item-${d}`);e&&e.scrollIntoView({behavior:"auto",inline:"center",block:"center"})}})),z.createElement(wl,{blockHeight:e},s&&z.createElement(Tl,null,z.createElement(xl,null,z.createElement(kl,null,z.createElement(Nl,null,(0,es.t)(jn.THEME_CORE.SHOP_CATEGORY.CHOSEN),": "),d>0&&g?`${g.Name}`:(0,es.t)(jn.THEME_CORE.SHOP_CATEGORY.ALL_CATEGORY)))),d>0&&z.createElement(z.Fragment,null,!p&&z.createElement(z.Fragment,null,z.createElement(Wl,{onClick:()=>{m(h)},layoutMode:l},Ll(h,l)),z.createElement(Vl,null)),null==t?void 0:t.map((e=>e.Id!==d?z.createElement(Wl,{key:e.Id,onClick:()=>{m(e)},layoutMode:l},Ll(e,l)):null))),z.createElement(Ol,{withSubmitButton:a},null==n?void 0:n.map((e=>0===d?(e=>{const{isCategoryIdEqual0:t,isActiveNode:n,isFriendNode:i,isChildNode:o}=f(e),{Id:r,Name:a}=e;return z.createElement(z.Fragment,{key:e.Id},z.createElement(Zl,{isCategoryIdEqual0:t,isActive:n,isChild:o,isFriendNode:i,onClick:()=>{m(e)},layoutMode:l},z.createElement(Ul,{key:r,isActive:r===d},a)))})(e):I(e)))),a&&z.createElement(Rl,null,z.createElement(Xl,{type:"button",onClick:()=>{g&&o({Id:g.Id,Name:g.Name}),g||0!==d||o({Id:d,Name:(0,es.t)(jn.THEME_CORE.SHOP_CATEGORY.ALL_CATEGORY)})}},z.createElement(es.HT,{value:c}))))};var Ml=n(1842);const Jl="PLUS",jl=q.css`
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin: 2.5px;
`,zl=q.default.div`
    display: flex;
`,Kl=q.default.button`
    background-color: #f6f6f6;
    width: 36px;
    height: 40px;
    ${jl}
    ${({disabled:e})=>e&&"color: #dadada;"}
`,ql=q.default.button`
    background-color: #f6f6f6;
    width: 36px;
    height: 40px;
    ${jl}

    ${({active:e})=>e&&"border:1px solid black;background-color: #ffffff;"}
`,$l=({selectedValue:e,pageList:t=[],totalPageNumber:n,currentPageNumber:i,pageRange:o})=>{const r=t.length>0?[...t]:Array.from(Array(o),((e,t)=>t+1)),a=r.length,s=r[0],c=r[a-1],l=(s+c)/2,u=Math.ceil(e-l);return c+u<=n&&s+u>0&&l!==e?r.map((e=>e+u)):e>i&&c+1===n&&u>0?r.map((e=>e+1)):e<i&&s-1==1&&u<0?r.map((e=>e-1)):e===n&&c<n?r.map((t=>t+e-c)):e===n-1&&c<n?r.map((t=>t+e-r[a-2])):r},eu=({onClick:e,totalPageNumber:t,initPageNumber:n=1})=>{const i=t>5?5:t,[o,r]=(0,z.useState)(1),[a,s]=(0,z.useState)([]),c=e=>{const n=$l({selectedValue:e,pageList:a,totalPageNumber:t,currentPageNumber:o});r(e),s(n),window.scroll({top:0,behavior:"smooth"})};(0,z.useEffect)((()=>{s($l({selectedValue:n,totalPageNumber:t,currentPageNumber:o,pageRange:i})),r(n)}),[i,o,t,n]);const l=t=>{const n=null==t?void 0:t.currentTarget.getAttribute("data-value"),i=n?parseInt(n,10):o;c(i),e&&e(i)},u=t=>{const n=(null==t?void 0:t.currentTarget.getAttribute("data-type"))===Jl?o+1:o-1;c(n),e&&e(n)};return z.createElement(zl,null,z.createElement(Kl,{"data-type":"MINUS",onClick:u,disabled:1===o},z.createElement("i",{className:"ico ico-chevron-left"})),a.map((e=>z.createElement(ql,{key:`pagination-${e}`,"data-value":e,onClick:l,active:o===e},e))),z.createElement(Kl,{"data-type":Jl,onClick:u,disabled:o===t},z.createElement("i",{className:"ico ico-chevron-right"})))};var tu=n(6942),nu=n.n(tu),iu=n(595),ou=n(2680),ru=n(3813),au=n(5049);const su=q.keyframes`
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
`,cu=q.default.div`
    margin: 15px auto;
    height: 20px;
    width: 20px;
    ${({imageUrl:e})=>`background-image: url(${e})`};
    animation: ${su} 3s linear infinite;
`;class lu extends z.Component{constructor(e){super(e)}render(){const{imageServiceConfig:e}=ke();return this.props.isLoading?z.createElement("div",{className:"loading"},z.createElement("div",{className:"loading__backdrop"}),z.createElement("div",{className:"loading__content"},z.createElement(cu,{imageUrl:ot(e,Er),"data-qe-id":"toast-loading-spinner"}),"loading")):null}}lu.defaultProps={isLoading:!1};var uu=n(9418);const du=e=>{return n=function*(){const{shopId:t}=e;try{const n=pt(`VipMember/GetVipMemberEmailNotification/${t}`,e,!1),{Data:o,Message:r}=yield Zn(n);return o?{email:(i=o).Email,isEnableEDM:i.IsEnableEDM,isEnableTradesOrder:i.IsEnableTradesOrder,isEnablePriceReduction:i.IsEnablePriceReduction,isEnableECouponExpire:i.IsEnableECouponExpire,isEnableCustomerServerReply:i.IsEnableCustomerServerReply,isEnableEdmSMS:i.IsEnableEdmSMS,isEnableSystemSMS:i.IsEnableSystemSMS,languageType:i.LanguageType}:(ze.error("[ERROR] fetchVipMemberEmailNotification failed: No Data"),Promise.reject(r))}catch(n){return ze.error(`[ERROR] fetchVipMemberEmailNotification failed: ${je(n)}: ${Je(n)}: shopId: ${t}`),Promise.reject(n)}var i},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n},gu=e=>{return n=[e],i=function*({streamInjection:e,params:t}){const{shopId:n}=e;try{const n=yield du(e),i={Email:t.email||n.email,IsEnableEDM:t.isEnableEDM||n.isEnableEDM,IsEnableTradesOrder:t.isEnableTradesOrder||n.isEnableTradesOrder,IsEnablePriceReduction:t.isEnablePriceReduction||n.isEnablePriceReduction,IsEnableECouponExpire:t.isEnableECouponExpire||n.isEnableECouponExpire,IsEnableCustomerServerReply:t.isEnableCustomerServerReply||n.isEnableCustomerServerReply,IsEnableEdmSMS:t.isEnableEdmSMS||n.isEnableEdmSMS,IsEnableSystemSMS:t.isEnableSystemSMS||n.isEnableSystemSMS,LanguageType:t.languageType||n.languageType,Token:t.token||""},o=pt("VipMember/UpdateVipMemberEmailNotification",e,!1),r={method:en.RequestMethod.POST,body:JSON.stringify(i),timeout:{response:6e4,deadline:9e4}},a=yield Zn(o,r);if("API0001"===a.ReturnCode)return a;throw new Error(a.Message)}catch(i){return ze.error(`[ERROR] updateVipMemberEmailNotification failed: ${je(i)}: ${Je(i)}: shopId: ${n}`),Promise.reject(i)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i};var pu=(e=>(e.AlreadyInCart="AlreadyInCart",e.BackInStockLimit="BackInStockLimit",e.Fail="Fail",e.NoMail="NoMail",e.NotLogin="NotLogin",e))(pu||{});const mu={Fail:jn.THEME_CORE.TOAST.ADD_TO_CART_FAIL,NotLogin:jn.THEME_CORE.PRODUCT.BACK_IN_STOCK_NOT_LOGIN,BackInStockLimit:jn.THEME_CORE.PRODUCT.BACK_IN_STOCK_LIMIT_FIRST,AlreadyInCart:jn.THEME_CORE.PRODUCT.ALREADY_IN_CART},fu=q.default.div`
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 32px 16px;
    font-size: 14px;
    line-height: 150%;
    font-weight: 400;
`,Iu=q.default.div`
    line-height: 1.5;
    font-size: 13px;
    border-top: solid 1px ${J.grey};
    padding: 20px 20px 40px 20px;
`,hu=q.default.div``,bu=q.default.div`
    margin: 10px 0 30px 0;
    color: ${J.brownishGrey};
`,yu=q.default.div`
    #mail-input {
        font-size: 14px;
        box-sizing: border-box;
        width: 100%;
        height: 40px;
        padding: 7px;
        color: ${J.brownishGrey};
        border: solid 1px ${({isEmailError:e})=>e?J.grapefruit:J.grey};
        border-radius: 3px;
        background-color: ${J.white};
    }

    #mail-star-hint {
        color: ${J.grapefruit};
        display: inline-block;
        margin-right: 3px;
    }
`,Cu=q.default.span`
    color: ${J.grapefruit};
`,vu=q.default.div`
    flex-direction: column;
    text-align: center;
    line-height: 1.5;
`,Bu=({modalDialogStatus:e,handleCloseDialog:t,salePageId:n,shopId:i,handleConfirmClick:o,modalDialogMessage:r})=>{const[a,s]=(0,z.useState)(""),[c,l]=(0,z.useState)(""),[u,d]=(0,z.useState)(!1),[g,p]=(0,z.useState)("");(0,z.useEffect)((()=>{if("NoMail"===e){const e=ke();(e=>{return n=function*(){const{shopId:t}=e,n=pt("LayoutTemplateDataV2/GetHiddenLayout",e,!1),i={method:en.RequestMethod.POST,body:JSON.stringify({shopId:t})},o=yield Zn(n,i);if("API0001"===o.ReturnCode)return o.Data?o.Data:"";throw new Error(o.Message)},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(mn(e)).then((e=>{l(e)})).catch((e=>{console.error("Error fetching hidden layout:",e)}))}}),[e]);const m=e=>{p(e),d(!0)};return"NoMail"===e?z.createElement(pl,{onModalClick:t,confirmText:(0,es.t)(jn.THEME_CORE.PRODUCT.CONFIRM),modalMode:Jc.MEDIUM,handleConfirmClick:()=>(()=>{return e=function*(){var e;if(a)if(Hc(a))try{const t=ke(),n=mn(t),i=(null==(e=document.getElementById("mail-token-input"))?void 0:e.value)||"",r={email:a,isEnablePriceReduction:!0,token:i};yield gu({streamInjection:n,params:r}),o&&o(us.STATUS.BACK_IN_STOCK_SUBSCRIBE_SUCCESS)}catch(n){t(),o(us.STATUS.SYSTEM_ERROR)}else m(jn.THEME_CORE.PRODUCT.MAIL_FORMAT_ERROR);else m(jn.THEME_CORE.PRODUCT.REQUIRED)},new Promise(((t,n)=>{var i=i=>{try{r(e.next(i))}catch(t){n(t)}},o=i=>{try{r(e.throw(i))}catch(t){n(t)}},r=e=>e.done?t(e.value):Promise.resolve(e.value).then(i,o);r((e=e.apply(void 0,null)).next())}));var e})(),title:(0,es.t)(jn.THEME_CORE.PRODUCT.BACK_IN_STOCK)},z.createElement(Iu,null,z.createElement(hu,null,z.createElement(es.HT,{value:jn.THEME_CORE.PRODUCT.BACK_IN_STOCK_INPUT_MAIL_FIRST})),z.createElement(hu,null,z.createElement(es.HT,{value:jn.THEME_CORE.PRODUCT.BACK_IN_STOCK_INPUT_MAIL_SECOND})),z.createElement(bu,null,z.createElement(es.HT,{value:jn.THEME_CORE.PRODUCT.BACK_IN_STOCK_INPUT_MAIL_THIRD})),z.createElement(yu,{id:"text-csrf",dangerouslySetInnerHTML:{__html:uu.A.sanitize(c)},onInput:e=>{u&&d(!1),s(e.target.value)},isEmailError:u}),u&&z.createElement(Cu,null,z.createElement(es.HT,{value:g})))):z.createElement(pl,{isShowCloseButton:!1,onModalClick:t,confirmText:(0,es.t)(jn.THEME_CORE.PRODUCT.CONFIRM),handleConfirmClick:()=>{if("NotLogin"===e){window.parent.postMessage({channel:"postMessage",event:"REDIRECT_LOGIN"},window.location.origin);const e=Ds(i);(0,vn.addCookie)(e,n.toString(),1);const t=encodeURIComponent(window.location.href.replace(window.location.hash,""));window.location.href=`/Login/HttpLoginRelayToHttps/?rt=${t}&reason=notlogin`}"BackInStockLimit"===e&&(window.location.href="/v2/BackInStockAlertList"),o&&o()}},z.createElement(fu,null,((e="Fail",t)=>"BackInStockLimit"===e?z.createElement(vu,null,z.createElement("div",null,(0,es.t)(jn.THEME_CORE.PRODUCT.BACK_IN_STOCK_LIMIT_FIRST)),z.createElement("div",null,(0,es.t)(jn.THEME_CORE.PRODUCT.BACK_IN_STOCK_LIMIT_SECOND))):z.createElement(es.HT,{value:t||mu[e]||mu.Fail}))(e,r)))},Au=(0,z.createContext)((()=>{ze.error("[ERROR] ModalDialogContext Value not provided")})),_u=({children:e,shopId:t,salePageId:n})=>{const[i,o]=(0,z.useState)({isOpen:!1});return z.createElement(Au.Provider,{value:o},i.isOpen&&z.createElement(Bu,{handleCloseDialog:i.handleCloseDialog,handleConfirmClick:i.handleConfirmClick,modalDialogMessage:i.modalDialogMessage,salePageId:n,shopId:t,modalDialogStatus:i.modalDialogStatus}),e)},{buttonStyle:Su,generalStyle:Gu,tagStyle:Qu}=ue.A,Eu=q.css`
    color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnTextColor)||Su.primaryBtnTextColor}};
    background-color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnBgColor)||Su.primaryBtnBgColor}};
`,Fu=q.css`
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 20px;
    border-radius: 0px;
`,wu={discountPriceStyle:q.css`
        color: ${({theme:e})=>{var t,n;return(null==(t=null==e?void 0:e.generalStyle)?void 0:t.discountMoneyColor)||(null==(n=null==e?void 0:e.generalStyle)?void 0:n.moneyColor)||Gu.discountMoneyColor}};
    `,mainInfoStyle:q.css`
        width: calc(100% - 150px);
        padding-left: 10px;
    `,containerStyle:q.css`
        margin: 0;
    `,titleStyle:q.css`
        color: #000000;
    `,priceStyle:q.css`
        color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.generalStyle)?void 0:t.moneyColor)||Gu.moneyColor}};
    `,tagStyle:q.css`
        background-color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.tagStyle)?void 0:t.emphasisTagBgColor)||Qu.emphasisTagBgColor}};
        color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.tagStyle)?void 0:t.emphasisTagTextColor)||Qu.emphasisTagTextColor}};
    `},Tu={customStyle:q.css`
    background-color: #fff;
    border-radius: ${Lo()?"0":"4px"};
    width: auto;
    font-size: 0.8rem;
    padding: 5px 16px;
    margin: 12px 8px 0 0;
    &:hover {
        box-shadow: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnBgColor)||Su.primaryBtnBgColor}}
            0 0 0 1px;
    }
`,activeStyle:q.css`
    ${Eu};
    box-shadow: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnBgColor)||Su.primaryBtnBgColor}}
        0 0 0 1px;
    width: auto;
    border-radius: ${Lo()?"0":"4px"};
    padding: 5px 16px;
    margin: 12px 8px 0 0;
`,disabledStyle:q.css`
    border-radius: ${Lo()?"0":"4px"};
    background-color: #f6f6f6;
    color: #979797;
    width: auto;
    padding: 5px 16px;
    margin: 12px 8px 0 0;
`,titleStyle:q.css`
        color: #000000;
        font-weight: 400;
    `},xu={customStyle:q.css`
    background-color: #fff;
    border-radius: ${Lo()?"0":"4px"};
    padding: 5px 16px;
    &:hover {
        box-shadow: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnBgColor)||Su.primaryBtnBgColor}}
            0 0 0 1px;
    }
`,activeStyle:q.css`
    ${Eu};
    border-radius: ${Lo()?"0":"4px"};
    padding: 5px 16px;
    box-shadow: none;
`,titleStyle:q.css`
        color: #000000;
        font-weight: 400;
    `,subTitleStyle:q.css`
        color: #ff5353;
        display: flex;
    `},ku={minusButtonStyle:q.css`
    color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnBgColor)||Su.primaryBtnBgColor}};
    background: none;
    font-size: 1rem;
`,plusButtonStyle:q.css`
    color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnBgColor)||Su.primaryBtnBgColor}};
    background: none;
    font-size: 1rem;
`,disabledButtonStyle:q.css`
    color: #aaa;
    background: none;
    font-size: 1rem;

    &:hover {
        cursor: not-allowed !important;
    }
`,containerStyle:q.css`
    height: 100%;
    line-height: 42px;
    justify-content: center;
    width: 100%;
    justify-content: space-evenly;
`,inputStyle:q.css`
        color: #000000;
    `,inputBoxStyle:q.css`
        width: 30%;
    `},Nu=q.css`
    flex-direction: column;
    width: calc(50% - 20px);
`,Ou={bottomStyle:q.css`
    box-shadow: none;
    border-top: 1px solid #dddddd;
    justify-content: space-between;
`,contentStyle:q.css`
    margin-bottom: 16px;
    padding: 0 16px;
`,topStyle:q.css`
    border-bottom: none;
    height: auto;
    padding: 16px;
`},Zu=q.css`
    ${Eu};
    border-radius: 4px;
    ${Lo()&&Fu};
    height: 40px;
    width: 50%;
    font-size: 0.8rem;
    &:hover {
        background-color: ${({theme:e})=>{var t;return La(.1,(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.primaryBtnBgColor)||Su.primaryBtnBgColor)}};
    }
`,Uu=q.css`
    border: 1px solid
        ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.secondBtnBorderColor)||Su.secondBtnBorderColor}};
    border-radius: 4px;
    ${Lo()&&Fu};
    height: 40px;
    width: 50%;
    font-size: 0.8rem;
    color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.secondBtnTextColor)||Su.secondBtnTextColor}};
    background-color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.secondBtnBgColor)||Su.secondBtnBgColor}};
    &:hover {
        background-color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.secondBtnBorderColor)||Su.secondBtnBorderColor}};
        color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.buttonStyle)?void 0:t.secondBtnBgColor)||Su.secondBtnBgColor}};
    }
`,Ru=q.css`
    background-color: ${Lo()?"#c8cbcc":"#d8d8d8"};
    ${Lo()&&Fu};
    color: #ffffff;
    height: 40px;
    width: 50%;
    font-size: 0.8rem;
    pointer-events: none;
`,Xu={productInfoStyle:wu,skuListStyle:Tu,purchaseMethodStyle:xu,qtySelectorStyle:ku,qtySelectorSectionStyle:Nu},Wu=(0,z.createContext)({salePageId:0,currentProductInfo:{id:-1,name:"",price:-1,suggestPrice:-1,categoryId:-1,salePageCode:""},setSalePageId:e=>{},setCurrentProductInfo:e=>{}}),Vu=({children:e})=>{const[t,n]=(0,z.useState)(0),[i,o]=(0,z.useState)({id:-1,name:"",price:-1,suggestPrice:-1,categoryId:-1,salePageCode:""}),r=(0,z.useMemo)((()=>({salePageId:t,currentProductInfo:i,setSalePageId:n,setCurrentProductInfo:o})),[t,i]);return z.createElement(Wu.Provider,{value:r},e)};var Pu=n(5556);class Du extends z.Component{constructor(e){super(e),this.successClass="ico ico-success toast__icon--success",this.warningClass="ico ico-warning toast__icon--warning",this.errorClass="ico ico-error toast__icon--error",this.changeIconHandle=e=>{let t="";return"success"===e?t=this.successClass:"warning"===e?t=this.warningClass:"error"===e&&(t=this.errorClass),t},this.state={isOpen:this.props.isOpen,animationDelay:"0s"}}UNSAFE_componentWillReceiveProps(e){if(e.isOpen&&this.state.isOpen!==e.isOpen){this.setState({isOpen:!0});const t=e.delay>1e3?(e.delay-1e3)/1e3+"s":"1s";this.setState({animationDelay:t}),setTimeout((()=>{this.setState({isOpen:!1}),this.props.afterClose&&this.props.afterClose()}),this.props.delay)}}render(){return z.createElement("div",{className:nu()("toast")},this.state.isOpen&&z.createElement("div",{className:nu()("toast--backdrop",{"toast--fade-out":this.props.isOpen}),style:{animationDelay:this.state.animationDelay}}),this.state.isOpen&&z.createElement("div",{className:nu()("toast--default",this.props.customCssClass||"",{"toast--fade-out":this.props.isOpen}),style:{animationDelay:this.state.animationDelay}},this.props.message&&z.createElement("div",{className:"toast--content"},this.props.type&&z.createElement("i",{className:nu()("toast__icon",this.changeIconHandle(this.props.type))}),z.createElement("div",{className:"toast--content-text"},this.props.message))))}}Du.defaultProps={isOpen:!1,customCssClass:"",afterClose:()=>{},type:"",message:"",delay:2500},Du.propTypes={isOpen:Pu.bool,customCssClass:Pu.string,afterClose:Pu.func,type:Pu.string,message:Pu.string,delay:Pu.number};const Hu=(0,z.createContext)((()=>{ze.error("[ERROR] ToastContext value not provided")})),Lu=({children:e})=>{const[t,n]=(0,z.useState)({});return K().createElement(Hu.Provider,{value:n},K().createElement(Du,{isOpen:t.isOpen,type:t.type,status:t.status,message:t.message,afterClose:()=>{n({isOpen:!1}),"function"==typeof t.afterClose&&t.afterClose()},delay:t.delay,customCssClass:t.customCssClass}),e)},Yu=Lu;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var Mu=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())})),Ju=(e=>(e.Success="API5101",e.SoldOut="API5102",e.NotOnSale="API5103",e.MaxSalePageCountLimitExceeded="API5104",e.MemberInBlackList="API5105",e.HundredTotalQtyLimitExceeded="API5106",e.SalePageIncorrect="API5107",e.AppVersionNotSupport="API5108",e.Error="API5109",e.IsExpress="API5110",e.QuantityFormatError="API5111",e.BundleLimitExceeded="API5113",e))(Ju||{});const ju=(e,t)=>({executeResultMsg:{type:"API5101"===t.ReturnCode?"success":"warning",skuId:e,message:t.Message}}),zu=e=>Mu(void 0,[e],(function*({isSkuQtyAccumulate:e=!1,streamInjection:t,payload:n}){const{shopId:i}=t,{salePageId:o,quantity:r,skuId:a,optionalTypeId:s,optionalTypeDef:c}=n;try{const n=pt("ShoppingCartV4/InsertItem",t,!1),l={method:en.RequestMethod.POST,body:JSON.stringify({shopId:i,salePageId:o,qty:r,saleProductSKUId:a,OptionalTypeId:s,OptionalTypeDef:c,IsSkuQtyAccumulate:e,optionalInfo:null})},u=yield Zn(n,l);return"API5101"!==(null==u?void 0:u.ReturnCode)?Promise.reject(u):ju(a,u)}catch(l){return ze.error(`[ERROR] addShoppingCartItem failed: ${je(l)}: ${Je(l)}: shopId: ${i}, payload: ${JSON.stringify(n)}`),Promise.reject(l)}})),Ku=e=>Mu(void 0,null,(function*(){const{streamInjection:t,payload:n}=e,{shopId:i}=t;try{const e=pt("ShoppingCartV4/InsertItem",t,!1),i={method:en.RequestMethod.POST,body:JSON.stringify(n)},o=yield Zn(e,i);return"API5101"!==(null==o?void 0:o.ReturnCode)?Promise.reject(o):o}catch(o){return ze.error(`[ERROR] addShoppingCartBundleItem failed: ${je(o)}: ${Je(o)}: shopId: ${i}, payload: ${JSON.stringify(n)}`),Promise.reject(o)}}));var qu=n(9057);const $u=JSON.parse('{"name":"@91app/nineyi.lib.themecore","version":"3.61.1","description":"","repository":{"type":"git","url":"git@gitlab.91app.com:rd6/nineyi.lib.cms-theme-core.git"},"license":"ISC","author":"91APP/F2E","types":"out/src/index.d.ts","main":"out/src/index.js","scripts":{"start":"./tools/dev/build-dev.sh","build:prod":"./tools/deploy/build-theme-all.sh","build:sass":"sass --load-path=node_modules --style=compressed ./src/sass/desktop.default.scss:./public/themecore/css/desktop.default.css && sass --load-path=node_modules --style=compressed ./src/sass/mobile.default.scss:./public/themecore/css/mobile.default.css && sass --load-path=node_modules --style=compressed ./src/sass/letterpress.default.scss:./public/themecore/css/letterpress.default.css","build:ts":"tsc && tsc-alias","build:ts:watch":"tsc -w & tsc-alias -w","build:dts":"rimraf dts && node copy-dts.js","build:category:mobile":"webpack --env TARGET=mobile --mode=development --config=./webpack/webpack.themeCore.category.config.js","build:category:desktop":"webpack --env TARGET=desktop --mode=development --config=./webpack/webpack.themeCore.category.config.js","build:category":"npm run build:category:mobile && npm run build:category:desktop","init:i18n":"./tools/locale/fetch-i18n.sh","init:i18n:dev":"npm run init:i18n && node ./tools/locale/createTranslationConstants.js","lint":"./tools/dev/run-lint.sh --quiet","lint:fix":"./tools/dev/run-lint.sh --fix","prettier:check":"prettier --check \'./src\'","prettier:fix":"prettier --write \'./src\'","sync:libs":"sh ./tools/dev/sync-libs.sh","sync:to:catalog":"sh ./tools/dev/sync-themecore-to-catalog.sh","sync:to:letterpress":"sh ./tools/dev/sync-themecore-to-letterpress.sh","sync:to:mweb":"npm run build:prod && cp -r ./public/ ../nineyi.webstore.mobilewebmall/WebStore/Frontend/MobileWebMallV2/ClientApp/node_modules/@91app/nineyi.lib.themecore/public && cp -r ./dts/ ../nineyi.webstore.mobilewebmall/WebStore/Frontend/MobileWebMallV2/ClientApp/node_modules/@91app/nineyi.lib.themecore.types","sync:to:cartMweb":"npm run build:prod && cp -r ./public/ ../nineyi.webstore.mobilewebmall/WebStore/Frontend/MobileWebMallV2/CartClientApp/node_modules/@91app/nineyi.lib.themecore/public && cp -r ./dts/ ../nineyi.webstore.mobilewebmall/WebStore/Frontend/MobileWebMallV2/CartClientApp/node_modules/@91app/nineyi.lib.themecore.types","sync:to:mweb:dev":"./tools/dev/build-theme-for-mweb.sh","test":"jest --config=test/jest.config.json","test:coverage":"jest --config=test/jest.config.json --coverage","test:update":"jest -u --config=test/jest.config.json","precommit":"npm run prettier:fix && npm run lint:fix && npm run test && npm run build:prod"},"scriptsComments":{"start":"watch client, server bundle files in webpack and watch sass files","build:prod":"build webpack in production mode and build ts, dts and sass","sync:to:catalog":"sync bundle, css and locale files to catalog for dev","sync:to:letterpress":"sync bundle, css and locale files to letterpress for dev","sync:libs":"sync the libs folder to letterpress and catalog for dev","sync:to:mweb":"run prod first, sync js to mweb","sync:to:cartMweb":"run prod first, sync js to mweb","sync:to:mweb:dev":"Run prod first, sync js to mweb ClientApp by default. sync to CartClientApp, use \'npm run sync:to:mweb:dev cart\'. To both, use \'npm run sync:to:mweb:dev all\'","precommit":"本機開發commit前的檢查，prettier, eslint, test, build，避免推到 gitlab 才發現 pipeline failed"},"dependencies":{"@91app/nine1.lib.custom-setting":"1.0.9","@91app/nine1.lib.custom-translation":"1.1.6","@91app/nine1.lib.jsi":"1.0.13","@91app/nine1.lib.key2image":"^1.1.0","@91app/nineyi.component.product-to-cart":"1.5.10","@91app/nineyi.config.cms-globla-style":"^1.0.8","@91app/nineyi.config.i18n":"0.0.10","@91app/nineyi.lib.common-utility":"^2.0.0","@91app/nineyi.lib.display-text":"1.2.1","@91app/nineyi.lib.line-express":"^1.1.0","@91app/nineyi.utility.log.client":"^2.1.6","@91app/nineyi.utility.pagelink":"^2.3.30","@91app/nineyi.utility.request":"^2.0.0","@91app/nineyi.utility.tracking":"^2.38.0","@apollo/react-hooks":"^3.1.3","@google-cloud/error-reporting":"^3.0.5","@reduxjs/toolkit":"^1.9.3","accounting":"^0.4.1","apollo-cache-inmemory":"^1.6.5","apollo-client":"^2.6.8","apollo-link-http":"^1.5.16","classnames":"^2.5.1","cross-fetch":"^3.1.4","date-fns":"^3.6.0","dayjs":"^1.11.11","dompurify":"^3.2.1","graphql":"14.7.0","graphql-tag":"2.10.3","jsonpath":"^1.1.1","lodash":"^4.17.21","loglevel":"^1.8.1","loglevel-format":"^1.1.2","object-path":"^0.11.8","polished":"^4.2.2","prop-types":"^15.8.1","qrcode.react":"3.1.0","react":"16.14.0","react-dom":"16.14.0","react-google-recaptcha-v3":"^1.8.0","react-i18nify":"^5.0.3","react-intersection-observer":"^8.32.0","react-loading-skeleton":"^3.4.0","react-player":"2.12.0","react-redux":"^7.2.3","react-router-dom":"5.3.4","react-select":"1.2.1","react-slick":"0.29.0","react-tooltip":"3.7.0","redux":"^4.0.5","redux-mock-store":"1.5.4","redux-observable":"1.2.0","redux-thunk":"2.3.0","rxjs":"6.5.2","sass":"^1.58.3","serialize-error":"^11.0.0","stacktrace-js":"^2.0.2","statuses":"2.0.1","styled-components":"5.3.9","superagent":"8.0.9","swr":"2.2.5","typesafe-actions":"^5.1.0","uuid":"^9.0.1"},"devDependencies":{"@babel/preset-env":"^7.24.5","@types/accounting":"^0.4.5","@types/dompurify":"3.0.5","@types/facebook-pixel":"0.0.24","@types/google.analytics":"0.0.42","@types/jest":"^29.4.0","@types/jsonpath":"^0.2.0","@types/lodash":"^4.14.191","@types/object-path":"^0.11.1","@types/prop-types":"^15.7.5","@types/qrcode.react":"^1.0.2","@types/react":"16.14.5","@types/react-dom":"16.9.12","@types/react-redux":"^7.1.12","@types/react-router-dom":"5.1.8","@types/react-slick":"^0.14.1","@types/react-tooltip":"^3.3.2","@types/statuses":"^2.0.5","@types/styled-components":"^5.0.0","@types/superagent":"^8.1.7","@types/uuid":"^9.0.8","@types/webpack":"^5.28.5","@types/webpack-env":"^1.18.5","@typescript-eslint/eslint-plugin":"^5.62.0","@typescript-eslint/parser":"^5.62.0","babel-jest":"^29.5.0","enzyme":"3.10.0","enzyme-adapter-react-16":"^1.15.7","enzyme-to-json":"^3.6.2","esbuild-loader":"^3.0.1","eslint":"^8.57.0","eslint-config-prettier":"^9.1.0","jest":"^29.5.0","jest-environment-jsdom":"^29.5.0","nock":"^13.5.4","prettier":"^3.2.5","progress-bar-webpack-plugin":"^2.1.0","sinon":"^15.0.4","terser-webpack-plugin":"^5.3.10","thread-loader":"^3.0.4","ts-jest":"^29.0.5","tsc-alias":"^1.8.8","tsconfig-paths-webpack-plugin":"^4.0.0","typescript":"4.9.5","webpack":"^5.91.0","webpack-bundle-analyzer":"^4.10.2","webpack-cli":"^5.1.4","webpack-merge":"^5.10.0"},"engines":{"node":">= 18.9.0"}}'),ed=e=>{return n=function*(){try{const{market:t,shopId:n,env:i,locale:o}=ke(),{env:r}=xe(),a=td((null==i?void 0:i.toLowerCase())||(null==r?void 0:r.toLowerCase())),s=null==t?void 0:t.toLocaleLowerCase();if(!a||!(0,ru.isHasCustomTransModuleSetting)({platform:ru.platformKeyEnum.mweb,moduleType:ru.moduleTypeEnum.cms,env:a,market:s,shopId:n}))return null;const c=yield((e,t)=>{return i=function*(){var n;const i=ke(),o=mn(i),r=null==(n=$u)?void 0:n.version;try{const n=pt(`translations/GetCustomClientLocale/${e}/mweb/cms/${t}?ts=${r}`,o,!0),i={method:en.RequestMethod.GET},a=yield Zn(n,i);return a?Promise.resolve(a):Promise.resolve(null)}catch(a){return ze.error(`[ERROR] fetchCustomTranslationData failed: ${je(a)}: ${Je(a)}: shopId: ${e}`),Promise.reject(a)}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i})(n,a);return c?nd(c,o,e):null}catch(t){return ze.error(`[ERROR] getCustomTransData failed: ${je(t)}: ${Je(t)}`),null}},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n},td=e=>{switch(e){case"dev":case"qa":return ru.envEnum.qa;default:return e}},nd=(e,t,n)=>n.reduce(((n,i)=>{var o;return n[i]=(null==(o=null==e?void 0:e[t])?void 0:o[i])||null,n}),{});var id=(e=>(e.Normal="Normal",e.Bundle="Bundle",e))(id||{}),od=(e=>(e.Salepage="salepage",e))(od||{}),rd=(e=>(e.page="page",e.fullScreenSheetWithAppHeaderControl="fullScreenSheetWithAppHeaderControl",e))(rd||{});const ad="46px",sd=q.default.div`
    height: 100vh;
    height: 100svh;
    overflow: hidden;
`,cd=q.default.div`
    height: ${ad};
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: ${16}px ${16}px 0px ${16}px;
`,ld=q.default.div`
    height: calc(100vh - ${ad});
    height: calc(100svh - ${ad});
`,ud=q.default.div`
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    ${({isShow:e})=>e?"":"visibility: hidden; pointer-events: none;"}
`,dd=q.default.div`
    flex-grow: 1;
    text-align: center;
    min-width: 1px;
`,gd=({handleBackwardButtonClick:e,handleCloseButtonClick:t,title:n,children:i})=>{const o="function"==typeof e,r="function"==typeof t;return K().createElement(sd,null,K().createElement(cd,null,K().createElement(ud,{isShow:o,className:"ico ico-chevron-left",onClick:e}),K().createElement(dd,null,n),K().createElement(ud,{isShow:r,className:"ico ico-close",onClick:t})),K().createElement(ld,null,i))},pd=({children:e})=>K().createElement(sd,null,e),md=({browsingMode:e,children:t,onModalClick:n,title:i,modalMode:o=Jc.MEDIUM,isFullScreenSheet:r=!1,isShowHeader:a,handleCloseButtonClick:s,handleBackwardButtonClick:c,isShowCloseButton:l})=>e===M.DESKTOP?K().createElement(pl,{onModalClick:n,modalMode:o,title:i,isShowHeader:a,handleCloseButtonClick:s,handleBackwardButtonClick:c,isShowCloseButton:l},t):K().createElement(Ql,{onModalClick:n,title:i,isFullScreen:r,isShowHeader:a,handleCloseButtonClick:s,handleBackwardButtonClick:c,isShowCloseButton:l},t),fd=q.default.div`
    width: 100%;
    height: 100%;
    overflow: auto;
`,Id=q.default.div`
    padding: 16px;
    * {
        all: revert;
    }
`,hd=({isOpenSpecChartModal:e,setIsOpenSpecChartModal:t,browsingMode:n,title:i,content:o,afterCloseSpecChartModal:r,children:a,modalMode:s,isShowModalHeader:c})=>K().createElement(K().Fragment,null,a,e&&K().createElement(md,{browsingMode:n,isShowHeader:c,title:c?i:void 0,isFullScreenSheet:!0,handleCloseButtonClick:function(){t(!1),"function"==typeof r&&r()},onModalClick:function(e){e.target===e.currentTarget&&(t(!1),"function"==typeof r&&r())},modalMode:s,isShowCloseButton:c},K().createElement(fd,null,K().createElement(Id,{className:"jodit-default",dangerouslySetInnerHTML:{__html:uu.A.sanitize(o)}}))));var bd=n(9324);const yd={revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateOnMount:!0,dedupingInterval:500,shouldRetryOnError:!1},Cd=({children:e})=>K().createElement(bd.BE,{value:yd},e),vd=tn.P5;var Bd=n(6449),Ad=(e=>(e.SPECIAL_PRICE_FRONTEND_SORT="specialPriceFrontendSort",e))(Ad||{});const _d=e=>{return n=[e],i=function*({shopId:e,key:t}){try{const n=`/cms/api/config/${t}?shopId=${e}`,i={method:en.RequestMethod.GET};return yield Zn(n,i)}catch(n){return ze.error(`[ERROR] fetchCmsS3ConfigStream failed: ${je(n)}: ${Je(n)}: shopId: ${e}, key: ${t}`),null}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i},Sd=e=>{return n=[e],i=function*({shopId:e}){try{const t=`${ft()}/salepage-listing/api/recommendation/setting-get/${e}/jooii`,n={method:en.RequestMethod.GET,timeout:{response:3e3,deadline:8e3}},{data:i}=yield Zn(t,n);return Promise.resolve(!!(null==i?void 0:i.is_active))}catch(t){return ze.error(`[ERROR] fetchJooiiBapiStatus failed: ${je(t)}: ${Je(t)}. shopId: ${e}`),Promise.resolve(!1)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i},Gd=(e=[])=>e.map((e=>{const{TypeDef:t,TypeDefDesc:n}=e;return{typeId:t,typeName:n}})),Qd=e=>{return n=function*(){try{const{shopId:t}=e,n=pt(`SearchV2/GetShopPayTypeAndShippingTypeList?shopId=${t}`,e,!0);return(e=>{const{PayTypeList:t,ShippingTypeList:n}=(null==e?void 0:e.Data)||{};return{payTypeList:Gd(t),shippingTypeList:Gd(n)}})(yield Zn(n))}catch(t){return Promise.reject(t)}},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n};var Ed=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const Fd=e=>Ed(void 0,null,(function*(){const{shopId:t}=e,n=pt(`Shop/GetShopCategoryListV3/${t}`,e,!0);return yield Zn(n)})),wd=(e,t)=>Ed(void 0,null,(function*(){const{shopId:n}=e,i=pt(`ShopCategory/GetShopCategoryTreeListByLevel/${n}?locationId=${t}&isRetailStoreExpress=${!!t}`,e,!0);return(yield Zn(i)).Data})),Td=(e,t,n,i=0)=>Ed(void 0,null,(function*(){var o,r,a,s,c;const{shopId:l}=e,u=pt(`ShopCategory/GetShopCategoryTreeByShopCategoryId/${l}/${t}?locationId=${i}&isRetailStoreExpress=${!!i}`,e,!0),d=pt(`ShopCategory/GetShopCategoryTreeListByLevel/${l}?level=2&locationId=${i}&isRetailStoreExpress=${!!i}`,e,!0);if(n){const e=yield Zn(u);return{breadcrumbList:(null==(o=null==e?void 0:e.Data)?void 0:o.Breadcrumb)||[],categoryId:t,singleTree:(null==(r=null==e?void 0:e.Data)?void 0:r.Tree)||null}}const g=yield Zn(d),p=yield Zn(u);return{breadcrumbList:(null==(a=null==p?void 0:p.Data)?void 0:a.Breadcrumb)||[],allTreeWithLevel1AndLevel2List:(null==(s=null==g?void 0:g.Data)?void 0:s.List)||[],singleTree:(null==(c=null==p?void 0:p.Data)?void 0:c.Tree)||null,categoryId:t||0}})),xd=e=>Ed(void 0,[e],(function*({streamInjection:e,payload:t}){const{shopId:n}=e,{serviceType:i,locationId:o}=t,r=pt(`Shop/GetShopCategoryListV3/${n}?serviceType=${i}&locationId=${o}`,e,!0);return yield Zn(r)})),kd=(e,t=0)=>{return i=function*(){const{shopId:n}=e,i=pt(`ShoppingCartV2/GetCount?locationId=${t}`,e,!1),o={method:en.RequestMethod.POST,body:JSON.stringify({shopId:n})};return yield Zn(i,o)},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i},Nd=e=>{return n=function*(){try{const t=`/cms/api/smartTag/setting/${e}`,n={method:en.RequestMethod.GET};return yield Zn(t,n)}catch(t){return ze.error(`[ERROR] fetchSmartTagSettingStream error: ${je(t)}: ${Je(t)}, shopId: ${e}`),Promise.reject(t)}},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n};var Od=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const Zd=(e,t)=>Od(void 0,null,(function*(){try{const{shopId:n,locale:i}=e,o=`${ft()}/salepage-listing/api/salepage/additional-info/${n}/${t}?lang=${i}`,r={method:en.RequestMethod.GET,timeout:{response:3e3,deadline:4e3}},{data:a}=yield Zn(o,r);return(e=>({restrictedPurchaseInfoList:(e.promotionInfoList||[]).filter((e=>"RestrictedPurchasesByMember"===e.promotionType)).sort(((e,t)=>t.id-e.id)),specChartData:(null==e?void 0:e.specChartData)||null}))(a)}catch(n){const{shopId:i}=e;throw ze.error(`[ERROR] fetchSalePageAdditionalInfo error: ${Je(n)}, shopId: ${i}`),n}}));var Ud=n(4225),Rd=n(3616),Xd=Object.defineProperty,Wd=Object.defineProperties,Vd=Object.getOwnPropertyDescriptors,Pd=Object.getOwnPropertySymbols,Dd=Object.prototype.hasOwnProperty,Hd=Object.prototype.propertyIsEnumerable,Ld=(e,t,n)=>t in e?Xd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function Yd(e,t){return new Date(e.salepageScopes[0].sellingStartDateTime)>new Date||e.salepageScopes[0].isSoldout||t.every((e=>e.sellingQty<=0))}function Md(e){return new Date(e.salepageScopes[0].sellingEndDateTime)<new Date||e.salepageScopes[0].isClosed||e.salepageScopes[0].hasSku&&0===e.salepageScopes[0].skuInfo.length}function Jd(e){return Number.isInteger(e)&&e>0}function jd(e){return Array.isArray(e)?e:[]}function zd(e){return(null==e?void 0:e.length)>0&&e.every((e=>0!==e))}var Kd=Object.defineProperty,qd=Object.defineProperties,$d=Object.getOwnPropertyDescriptors,eg=Object.getOwnPropertySymbols,tg=Object.prototype.hasOwnProperty,ng=Object.prototype.propertyIsEnumerable,ig=(e,t,n)=>t in e?Kd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,og=(e,t)=>{for(var n in t||(t={}))tg.call(t,n)&&ig(e,n,t[n]);if(eg)for(var n of eg(t))ng.call(t,n)&&ig(e,n,t[n]);return e},rg=(e,t)=>qd(e,$d(t));const ag=e=>(t,n,i)=>{const o=(0,z.useRef)(),[r,a]=(0,z.useState)(null),s=e(t,n,i);return(0,z.useEffect)((()=>{s.data&&(o.current?a((e=>(0,j.cloneDeep)(o.current).map(((t,n)=>{const i=s.data.find((e=>e.blockId===t.blockId));return i&&(e[n].blockSkuSellingQtyList=t.blockSkuSellingQtyList.map((e=>{const t=i.blockSkuSellingQtyList.find((t=>t.saleProductSkuId===e.saleProductSkuId));return t?rg(og({},e),{sellingQty:t.sellingQty,stockQty:t.stockQty}):og({},e)}))),e[n]})))):(o.current=(0,j.cloneDeep)(s.data),a((0,j.cloneDeep)(s.data))))}),[s.data]),rg(og({},s),{data:r||s.data})};function sg(e){const t=e,{onSuccess:n,onError:i,forbidStatusChange:o}=t,r=((e,t)=>{var n={};for(var i in e)tg.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&eg)for(var i of eg(e))t.indexOf(i)<0&&ng.call(e,i)&&(n[i]=e[i]);return n})(t,["onSuccess","onError","forbidStatusChange"]),{salePageId:a,salePageCode:s}=r;return(0,Rd.A)((()=>Jd(a)||s?`Sku/GetSkuPopupInfo/MainSalePage/${a}/${s}`:null),(()=>{return e=this,n=function*(){const e=ke(),t=mn(e),[n,i]=yield Promise.all([Jn({streamInjection:t,payload:r,shouldFetchSalePageStatus:!1}),Rn({streamInjection:t,payload:r})]);return rg(og({},n),{StatusDef:Mn(i,n.IsAPPOnly&&!Bn(),n.IsShareToBuy&&!Bn(),o)})},new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,null)).next())}));var e,n}),{populateCache:!0,throwOnError:!1,onSuccess:n,onError:i})}function cg(e){const{salePageId:t,withFetcher:n}=e;return(0,Ud.A)((()=>Jd(t)?`salepage-listing/api/salepage/additional-info/${t}`:null),n?()=>{const e=ke(),n=mn(e);return Zd(n,t)}:void 0)}function lg(e){const{salePageId:t,onError:n}=e;return(0,Ud.A)((()=>Jd(t)?`salepage-listing/api/salepage/bundle-info/${t}`:null),(()=>{const e=ke();return((e,t)=>{return i=function*(){try{const{shopId:n,locale:i}=e,o=`${ft()}/salepage-listing/api/salepage/bundle-info/${n}/${t}?lang=${i}`,r={method:en.RequestMethod.GET},a=yield Zn(o,r);return(null==a?void 0:a.data)?a.data:Promise.reject((null==a?void 0:a.message)||"fetchSalePageBundleInfo error")}catch(n){const{shopId:i}=e;return ze.error(`[ERROR] fetchSalePageBundleInfo error: ${Je(n)}, shopId: ${i}`),Promise.reject(n)}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i})(mn(e),t)}),{onError:n})}function ug(){return(0,Rd.A)("Sku/GetSkuPopupInfo/SubSalePage",((e,{arg:t})=>{const n=ke(),i=mn(n);return Jn({streamInjection:i,payload:t,shouldFetchSalePageStatus:!1})}))}var dg=Object.defineProperty,gg=Object.defineProperties,pg=Object.getOwnPropertyDescriptors,mg=Object.getOwnPropertySymbols,fg=Object.prototype.hasOwnProperty,Ig=Object.prototype.propertyIsEnumerable,hg=(e,t,n)=>t in e?dg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bg=(e,t)=>{for(var n in t||(t={}))fg.call(t,n)&&hg(e,n,t[n]);if(mg)for(var n of mg(t))Ig.call(t,n)&&hg(e,n,t[n]);return e},yg=(e,t)=>gg(e,pg(t)),Cg=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const vg={OutOfStock:jn.THEME_CORE.PRODUCT.SOLD_OUT,Restock:jn.THEME_CORE.PRODUCT.RESTOCK,NoRestock:jn.THEME_CORE.PRODUCT.NO_RESTOCK,BackInStockAlert:jn.THEME_CORE.PRODUCT.BACK_IN_STOCK},Bg={AddBackInStock:jn.THEME_CORE.PRODUCT.ADD_BACK_IN_STOCK,CancelBackInStock:jn.THEME_CORE.PRODUCT.CANCEL_BACK_IN_STOCK};var Ag=(e=>(e[e.Accumulate=0]="Accumulate",e[e.Overwrite=1]="Overwrite",e))(Ag||{});const _g={[zn.AppOnly]:zn.AppOnly,[zn.ShareToBuy]:zn.ShareToBuy,[zn.Normal]:zn.Normal},Sg=q.default.span`
    font-size: 13px;
    color: #ff5353;
`,Gg=e=>z.createElement(Sg,null,z.createElement(es.HT,{value:jn.THEME_CORE.PRODUCT.MAXIMUM_PURCHASE_OF_LIMIT_ITEMS_FOR_THIS_PRODUCT,maxValue:e})),Qg=({maxQuantity:e})=>z.createElement(Sg,null,z.createElement(es.HT,{value:jn.THEME_CORE.PRODUCT.MAXIMUM_PURCHASE_OF_LIMIT_ITEMS_FOR_THIS_PRODUCT,maxValue:e})),Eg=({status:e,customButtonDisplayText:t,isEnableBackInStock:n,salePageBundleInfo:i,salePageBundleSellingQty:o,selectedSkuIds:r,customTransData:a})=>{if(i){let e;if(o=jd(o),i.bundleBlocks=jd(i.bundleBlocks),e=zd(r)?i.bundleBlocks.some(((e,t)=>{var n;return function(e,t){var n;return 0===(null==(n=e.find((e=>e.saleProductSkuId===t)))?void 0:n.sellingQty)}(jd(null==(n=o[t])?void 0:n.blockSkuSellingQtyList),r[t])})):i.bundleBlocks.some(((e,t)=>{var n;return Yd(e,jd(null==(n=o[t])?void 0:n.blockSkuSellingQtyList))||Md(e)})),e)return{text:(null==a?void 0:a[ru.mwebTranslationKeyEnum.frontend_common_cannot_purchase])||(0,es.t)(Kn[zn.SubSalePageCanNotBuy]),disabled:!0}}return e===zn.SoldOut&&n?{text:(0,es.t)(Bg.AddBackInStock),disabled:!1}:e===zn.Normal&&t?{text:t,disabled:!1}:e===zn.NoStart?{text:(null==a?void 0:a[ru.mwebTranslationKeyEnum.frontend_common_not_yet_open_for_sale])||(0,es.t)(Kn.NoStart),disabled:qn[e]||!1}:{text:(0,es.t)(Kn[e]||Kn.Normal),disabled:qn[e]||!1}},Fg=(e,t)=>e.some((e=>e.skuId===t)),wg=e=>(null==e?void 0:e.StatusDef)===zn.AppOnly||(null==e?void 0:e.StatusDef)===zn.ShareToBuy,Tg=e=>wg(e)?q.css`
              display: none;
              & + * {
                  width: 100%;
              }
          `:Xu.qtySelectorSectionStyle,xg=e=>{const{bottomStyle:t}=Ou,n=String(t);return yg(bg({},Ou),{bottomStyle:wg(e)?q.css`
                  ${n}
                  justify-content: center;
              `:t})},kg=()=>{var e;const t=ke(),n=null==(e=null==t?void 0:t.imageServiceConfig)?void 0:e.imageHost;if(n)return`${n}cms/catalog/images/ico-arrow-long-forward.svg`},Ng=e=>{var t,n,i,o,r;const a=null==(n=null==(t=ke().shopProfile)?void 0:t.ShopFunction)?void 0:n.IsEnabledCustomTranslation,[s,c]=(0,z.useState)({}),[l,u]=(0,z.useState)(!1);(0,z.useEffect)((()=>{a&&function(){Cg(this,null,(function*(){u(!0);try{const e=yield ed([ru.mwebTranslationKeyEnum.frontend_common_not_yet_open_for_sale,ru.mwebTranslationKeyEnum.frontend_common_cannot_purchase]);c(e)}catch(e){ze.error(`[ERROR] fetchCustomTransData failed: ${je(e)}: ${Je(e)}`)}finally{u(!1)}}))}()}),[a]);const{shopId:d,salePageId:g,salePageCode:p,isAddOnsItem:m,displayMode:f,browsingMode:I,defaultRelatedItemGroups:h}=e,b=(0,z.useRef)();(0,z.useEffect)((()=>{b.current=new au.Ay}),[]);const y=(0,z.useRef)("");(0,z.useEffect)((()=>{y.current=document.title}),[]);const C=(0,z.useRef)("");(0,z.useEffect)((()=>{C.current=String(tt("from")).toLowerCase()}),[]);const v=(0,z.useContext)(Hu),{data:B,isMutating:A,trigger:_,reset:S}=sg({salePageId:g,salePageCode:p,forbidStatusChange:m,onSuccess:e=>{e.StatusDef===zn.NoStart&&C.current!==od.Salepage&&x({status:us.STATUS.NO_START,afterClose:N})},onError:()=>{if(k()){const e="useFetchMainSalePageInfo";return b.current.showPopup({requestCode:e,showPopupData:{title:"",message:(0,es.t)(jn.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED),buttonA:{text:(0,es.t)(jn.THEME_CORE.TOAST.RELOAD),data:null},buttonB:null}}),void b.current.onJsiResult((e=>{N(),location.reload()}))}x({status:us.STATUS.GET_SALEPAGE_BUNDLE_ERROR,afterClose:N})}}),{data:G,mutate:Q}=cg({salePageId:g,withFetcher:!0}),{data:E,mutate:F}=function(e){const{shopId:t,specChartId:n,specChartVersion:i,withFetcher:o}=e;return(0,Ud.A)((()=>"number"==typeof t&&"number"==typeof n&&"string"==typeof i?`salepage-listing/api/salepage/spec-chart/${t}/${n}/${i}`:null),o?()=>{const e=ke();return((e,t,n)=>Od(void 0,null,(function*(){try{const{shopId:i,locale:o}=e;if("number"!=typeof i)return"";if("number"!=typeof t)return"";if("string"!=typeof n)return"";const r=`${ft()}/salepage-listing/api/salepage/spec-chart/${i}/${t}?t=${n}&lang=${o}`,a={method:en.RequestMethod.GET,timeout:{response:3e3,deadline:4e3}},{data:s}=yield Zn(r,a),{content:c=""}=s;return c}catch(i){return ze.error(`[ERROR] getSalePageSpecChart error: ${Je(i)}, shopId: ${null==e?void 0:e.shopId}`),Promise.reject(i)}})))(mn(e),n,i)}:void 0)}({shopId:d,specChartId:null==(i=null==G?void 0:G.specChartData)?void 0:i.specChartId,specChartVersion:null==(o=null==G?void 0:G.specChartData)?void 0:o.specChartVersion,withFetcher:!0}),w=null==(r=null==G?void 0:G.specChartData)?void 0:r.title;function T(){if(!k())return;document.title=w;const e={eventType:au.AH.HeaderBackAction,data:{icon:"Back",action:"JsiBack"}};b.current.setAppHeaderIcon({ios:e,android:e})}const x=(0,z.useCallback)((e=>{const{status:t,afterClose:n}=e,i=gs(t);i&&v({isOpen:!0,message:i.message,type:i.type,status:i.status,afterClose:n})}),[v]);function k(){return Bn()&&b.current}function N(t){Q(void 0,{revalidate:!1}),F(void 0,{revalidate:!1}),"function"==typeof e.afterClose&&e.afterClose(t)}(0,z.useEffect)((()=>{Jd(g)&&(S(),_())}),[g,p,m]);const O=!A&&!!B&&(B.StatusDef!==Un.NoStart||B.StatusDef===Un.NoStart&&C.current===od.Salepage),Z=!f||f===rd.fullScreenSheetWithAppHeaderControl;return z.createElement(z.Fragment,null,O&&(null==B?void 0:B.IsSalePageBundle)&&z.createElement(Zg,{shopId:e.shopId,displayMode:e.displayMode,salePageCode:p,salePageId:g,rate:e.rate,decimal:e.decimal,symbol:e.symbol,isPriceOnTop:e.isPriceOnTop,isSuggestPriceShowPrice:e.isSuggestPriceShowPrice,isEnableOriginalPrice:e.isEnableOriginalPrice,customButtonDisplayText:e.customButtonDisplayText,afterSuccess:e.afterSuccess,afterClose:N,browsingMode:e.browsingMode,facebook:e.facebook,handleRedirectDeepLink:e.handleRedirectDeepLink,isEnableAddShoppingCartItem:e.isEnableAddShoppingCartItem,skuQtyMode:e.skuQtyMode,setAppHeaderWhenOpenSpecChart:T,handleToastStatus:x,isShowModalContainer:Z,originalDocumentTitleRef:y,mainSalePageSpecChartHtmlString:E,mainSalePageSpecChartTitle:w,defaultRelatedItemGroups:h,customTransData:s}),O&&!(null==B?void 0:B.IsSalePageBundle)&&z.createElement(Og,{afterClose:N,afterSuccess:e.afterSuccess,browsingMode:e.browsingMode,decimal:e.decimal,facebook:e.facebook,handleAddQuantity:e.handleAddQuantity,handleRedirectDeepLink:e.handleRedirectDeepLink,handleRemoveQuantity:e.handleRemoveQuantity,isEnableAddShoppingCartItem:e.isEnableAddShoppingCartItem,isEnablePurchaseMethod:e.isEnablePurchaseMethod,isPriceOnTop:e.isPriceOnTop,isSuggestPriceShowPrice:e.isSuggestPriceShowPrice,isEnableSpecialPrice:e.isEnableSpecialPrice,rate:e.rate,salePageId:g,shopId:e.shopId,symbol:e.symbol,customButtonDisplayText:e.customButtonDisplayText,isEnableBackInStockFeature:e.isEnableBackInStockFeature,skuQtyMode:e.skuQtyMode,enableSkuList:e.enableSkuList,isEnablePointPayOption:e.isEnablePointPayOption,isEnableOriginalPrice:e.isEnableOriginalPrice,displayMode:e.displayMode,salePageInfo:B,salePageSpecChartData:null==G?void 0:G.specChartData,setAppHeaderWhenOpenSpecChart:T,isShowModalContainer:Z,originalDocumentTitleRef:y,mainSalePageSpecChartHtmlString:E,mainSalePageSpecChartTitle:w}),z.createElement(lu,{isLoading:A||l}))},Og=({afterClose:e,afterSuccess:t,browsingMode:n,decimal:i,facebook:o,handleAddQuantity:r,handleRedirectDeepLink:a,handleRemoveQuantity:s,isEnableAddShoppingCartItem:c=!0,isEnablePurchaseMethod:l=!0,isPriceOnTop:u=!1,isSuggestPriceShowPrice:d=!1,isEnableSpecialPrice:g=!0,rate:p,salePageId:m,shopId:f,symbol:I,customButtonDisplayText:h,isEnableBackInStockFeature:b=!0,skuQtyMode:y,enableSkuList:C=[],isEnablePointPayOption:v=!0,isEnableOriginalPrice:B=!0,salePageInfo:A,salePageSpecChartData:_,setAppHeaderWhenOpenSpecChart:S,isShowModalContainer:G,originalDocumentTitleRef:Q,mainSalePageSpecChartHtmlString:E,mainSalePageSpecChartTitle:F})=>{const[w,T]=(0,z.useState)(!1),[x,k]=(0,z.useState)(!1),[N,O]=(0,z.useState)(!1),[Z,U]=(0,z.useState)(!1),[R,X]=(0,z.useState)(!1),[W,V]=(0,z.useState)(""),[P,D]=(0,z.useState)(""),[H,L]=(0,z.useState)(""),[Y,J]=(0,z.useState)(null),[K,q]=(0,z.useState)(""),[$,ee]=(0,z.useState)(""),[te,ne]=(0,z.useState)(null),[ie,oe]=(0,z.useState)([]),[re,ae]=(0,z.useState)([]),[se,ce]=(0,z.useState)(!1),[le,ue]=(0,z.useState)(null),[de,ge]=(0,z.useState)(!1),[pe,me]=(0,z.useState)(!1),{currentProductInfo:fe,setCurrentProductInfo:Ie}=(0,z.useContext)(Wu),he=0===y,be=(0,El.useSelector)((e=>e.user.memberCollectionIdList)),ye=Zt.concat(be||[]),[Ce,ve]=(0,z.useState)([]),[Be,Ae]=(0,z.useState)(null),[_e,Se]=(0,z.useState)([]),[Ge,Qe]=(0,z.useState)("0"),Ee=(0,z.useRef)();(0,z.useEffect)((()=>{Ee.current=new au.Ay}),[]),(0,z.useEffect)((()=>{Ee.current.triggerWebAction((e=>{if(!w)return{shouldOverride:!1};const{eventType:t}=JSON.parse(e);return t!==au.xI.OnBackPressed?{shouldOverride:!1}:(T(!1),document.title=Q.current,Ee.current.setAppHeaderIcon({ios:{eventType:au.AH.HeaderBackAction,data:{icon:"Nothing",action:"Nothing"}},android:{eventType:au.AH.HeaderBackAction,data:{icon:"Nothing",action:"Nothing"}}}),{shouldOverride:!0})}))}));const Fe=({isOpenModal:e})=>{O((()=>(document.body.style.overflowY=e?"hidden":null,e)))},we=(0,z.useMemo)((()=>pe?{customStyle:Ru}:{customStyle:de?Uu:Zu,disabledStyle:Ru}),[pe,de]),Te=t=>{Fe({isOpenModal:!1}),k(!1),ne(null),ge(!1),e&&e(t)},xe=e=>{const t=gs(e);t&&(U(!0),L(t.message),V(t.type),D(t.status))},Ne=e=>Cg(void 0,null,(function*(){k(!0);const n=ke(),i=mn(n);try{yield zu({streamInjection:i,payload:e,isSkuQtyAccumulate:he}),t&&t(e),Te(!0),xe(us.STATUS.ADD_SUCCESS)}catch(o){if((null==o?void 0:o.ReturnCode)||ze.error(`[ERROR] handleAddShoppingCartItem error: ${je(o)}: ${Je(o)}`),Te(!0),o===pu.AlreadyInCart)return void J(pu.AlreadyInCart);J(pu.Fail),q((null==o?void 0:o.Message)||""),X(!0)}})),Oe=e=>Cg(void 0,[e],(function*({isEnablePriceReduction:e,isFromModalDialog:t,productInfo:n}){try{const i=ke(),o=mn(i);if(!e&&!t){const e={isEnablePriceReduction:!0};yield gu({streamInjection:o,params:e})}yield(e=>{return n=[e],i=function*({streamInjection:e,payload:t}){const{shopId:n,locale:i,apiConfig:o}=e,{ftsHost:r}=o,{salePageId:a,skuId:s}=t;try{const e=(0,vn.getCookie)("MID"),t=`${r}/user/backInStock/subscribeProductSku/${n}`,o={method:en.RequestMethod.POST,headers:{"NY-MID":e},body:JSON.stringify({shopId:n,salePageId:a,skuIdList:[s],lang:i})};yield Zn(t,o)}catch(c){return ze.error(`[ERROR] subscribeProductSku failed: ${je(c)}: ${Je(c)}: shopId: ${n}, salePageId: ${a}, skuId: ${s}`),Promise.reject(c)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:o,payload:n}),Qc({contentType:"BackInStockAlert",id:null==n?void 0:n.skuId.toString(),name:"貨到通知我",linkUrl:""}),Gc(tc(),"click","BackInStockAlert"),Te(!0),xe(us.STATUS.BACK_IN_STOCK_SUBSCRIBE_SUCCESS)}catch(i){Te(!0),xe(us.STATUS.SYSTEM_ERROR)}})),Ze=(0,z.useMemo)((()=>(null==te?void 0:te.IsShowStockQty)&&"0"!==Ge&&(null==te?void 0:te.StatusDef)!==Un.NoStart),[null==te?void 0:te.IsShowStockQty,Ge,null==te?void 0:te.StatusDef]),Ue=(0,El.useSelector)((e=>e.globalStyleData))||{};(0,z.useEffect)((()=>{const e=e=>Cg(void 0,null,(function*(){try{const t=ke(),i=mn(t),o=(0,j.cloneDeep)(A);(null==o?void 0:o.CategoryId)!==(null==fe?void 0:fe.categoryId)&&Ie(yg(bg({},fe),{categoryId:o.CategoryId||-1}));let r=(null==o?void 0:o.SKUPropertySetList.map((e=>e.SaleProductSKUId)))||[];const a=new Map(C.map((e=>[e.skuId,e])));C&&C.length>0&&(r=r.filter((e=>a.has(e))));let s=yield(e=>{return n=[e],i=function*({streamInjection:e,payload:t}){try{const n=pt("ProductStock/GetSellingQtyListNew",e,!1),i={method:en.RequestMethod.POST,body:JSON.stringify({ids:t.skuIdList.toString()})};return yield Zn(n,i)}catch(n){return Promise.reject(n)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:i,payload:{skuIdList:r}});const c=o.SKUPropertySetList.filter((e=>e.IsShow)).map((e=>({SkuId:e.SaleProductSKUId,Price:e.Price,SuggestPrice:e.SuggestPrice}))),l=(0,iu.filterSalePageSpecialPriceData)(o.PromotionPriceList||[],ye);if(C.length>0){const e=c.reduce(((e,t)=>{const n=a.get(t.SkuId);return n&&e.push({SkuId:t.SkuId,Price:n&&n.addOnsPrice||t.Price,SuggestPrice:n&&n.originPrice||t.SuggestPrice}),e}),[]);ve([]),Ae(null),Se(e),s=s.map((e=>{const t=a.get(e.SaleProductSKUId),n=null==t?void 0:t.enableQty,i=n?(0,j.min)([n,e.SellingQty,e.StockQty]):e.SellingQty;return yg(bg({},e),{SellingQty:i})})),o.SKUPropertySetList=o.SKUPropertySetList.reduce(((e,t)=>{const n=a.get(t.SaleProductSKUId);return n&&e.push(yg(bg({},t),{Price:n&&n.addOnsPrice||t.Price,SuggestPrice:n&&n.originPrice||t.SuggestPrice})),e}),[])}else if(l.length>0&&g){const e=c.map((e=>e.SkuId)),t=(0,iu.mappingSalePageSpecialPriceList)(l).filter((t=>e.some((e=>e===t.SkuId))));ve(t),Se((0,iu.mappingSalePagePriceRangeData)(c,t,d,c)),c.sort(((e,t)=>e.Price-t.Price));const n=c[0].Price;if(0===t.map((e=>e.Price)).indexOf(n)){const e=t.filter((e=>e.Price===n))[0],i=o.SKUPropertySetList.find((t=>t.SaleProductSKUId===e.SkuId)).Price;Ae((0,iu.getSalePageSpecialPriceTagData)(t,e.SkuId,i))}else Ae(null)}else ve([]),Se(c),Ae(null);v||(o.PointsPayPairsList=[]),ne(o),oe(s);const u=b&&o.SoldOutActionType===qu.x.BackInStockAlert&&(null==s?void 0:s.some((e=>e.StockQty<=0))),p=yield bn();ce(u);const I=u&&o.SKUPropertySetList.every((e=>!e.IsShow));if(me(I),u&&p){const{subscribeList:t}=yield(e=>{return n=[e],i=function*({streamInjection:e,payload:t}){const{shopId:n,locale:i,apiConfig:o}=e,{salePageId:r}=t,{ftsHost:a}=o;try{const e=(0,vn.getCookie)("MID"),t=`${a}/user/backInStock/getSubscribedSkuList/${n}?lang=${i}&salePageId=${r}`,o={method:en.RequestMethod.GET,headers:{"NY-MID":e}},{result:s}=yield Zn(t,o);return s||(ze.error("[ERROR] fetchSubscribedSkuList failed: No Data"),Promise.reject())}catch(s){return ze.error(`[ERROR] fetchSubscribedSkuList failed: ${je(s)}: ${Je(s)}: shopId: ${n}, salePageId: ${r}`),Promise.reject(s)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:i,payload:{salePageId:e}}),{skuList:n=[]}=t.find((e=>e.salePageId===m))||{};ae(n)}const h=!u&&vg[o.SoldOutActionType]||vg.OutOfStock;ee(h),(({data:e,isNeedOpenSku:t})=>{var i;const{StatusDef:o,HasSKU:r}=e||{};if(!r&&n===M.MOBILE&&o===Un.Normal&&ko()){const{Id:t,Price:n,SaleProductSKUIdList:o,SKUPropertySetList:r,Title:a}=e||{},s=null==o?void 0:o[0],c=null==(i=null==r?void 0:r.find((e=>e.SaleProductSKUId===s)))?void 0:i.PropertyNameSet;return void Ne({optionalTypeDef:"",optionalTypeId:0,price:n,points:0,quantity:1,salePageId:t,shopId:f,skuId:s,skuKey:c,title:a})}const a=o;!_g[a]&&!t||a===zn.NoStart?xe(a):Fe({isOpenModal:!0})})({data:o,isNeedOpenSku:u})}catch(t){Te(!0),xe(us.STATUS.SYSTEM_ERROR)}})),t=Ds(f),i=(0,vn.getCookie)(t);var o;(0,vn.deleteCookie)(t),(0!==m||i)&&(o=m||parseInt(i,10),Cg(void 0,null,(function*(){k(!0),Promise.all([e(o)]).finally((()=>{k(!1)}))})))}),[m,f]);const Re={rawSkuInfoList:ie,rawSalePageInfo:te,shopId:f,handleProductToCart:(0,j.debounce)((e=>{const{StatusDef:i,SoldOutActionType:r}=te;if(e.skuId<=0)return void xe(us.STATUS.SELECT_ERROR);ue(e);const s=ie.find((t=>(null==t?void 0:t.SellingQty)>0&&(null==t?void 0:t.SaleProductSKUId)===e.skuId));return r!==qu.x.BackInStockAlert||s?i===zn.ShareToBuy?(()=>{if(o){const e=`${window.location.protocol}//${window.location.host}/SalePage/Index/${m}`;o.ui({method:"feed",link:e,display:"popup"},(e=>{te.StatusDef=zn.Normal}))}})():i===zn.AppOnly?(Fe({isOpenModal:!1}),void(n===M.MOBILE?a?a():(window.parent.postMessage({channel:"windowOperations",event:"REDIRECT",payload:{link:`/SalePage/Index/${m}`}},window.location.origin),window.location.href=`/SalePage/Index/${m}`):(window.parent.postMessage({channel:"windowOperations",event:"REDIRECT",payload:{link:`/SalePage/ShowQRCode/${m}`}},window.location.origin),window.location.href=`/SalePage/ShowQRCode/${m}`))):void(c?Ne(e):(t&&t(e),Te())):(e=>Cg(void 0,null,(function*(){try{const t=ke(),n=mn(t);if(Fg(re,e.skuId))return yield(e=>{return n=[e],i=function*({streamInjection:e,payload:t}){const n=(0,vn.getCookie)("MID"),{shopId:i,locale:o,apiConfig:r}=e,{salePageId:a,skuId:s}=t,{ftsHost:c}=r;try{const e=`${c}/user/backInStock/deleteSubscribedSku/${i}/${a}/${s}/${o}`,t={method:en.RequestMethod.DELETE,headers:{"NY-MID":n}};yield Zn(e,t)}catch(l){return ze.error(`[ERROR] deleteSubscribedSku failed: ${je(l)}: ${Je(l)}: shopId: ${i}, payload: ${JSON.stringify(t)}`),Promise.reject(l)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:n,payload:e}),Qc({contentType:"RemoveFromBackInStockAlert",id:null==e?void 0:e.skuId.toString(),name:"取消貨到通知",linkUrl:""}),Gc(tc(),"click","RemoveFromBackInStockAlert"),Te(!0),void xe(us.STATUS.BACK_IN_STOCK_UNSUBSCRIBE_SUCCESS);if(!(yield bn()))return Fe({isOpenModal:!1}),X(!0),void J(pu.NotLogin);const{email:i,isEnablePriceReduction:o}=yield du(n);if(!i)return Fe({isOpenModal:!1}),X(!0),void J(pu.NoMail);const{subscribedSkuTotal:r}=yield(e=>{return n=[e],i=function*({streamInjection:e}){const{shopId:t,locale:n,apiConfig:i}=e,{ftsHost:o}=i;try{const e=(0,vn.getCookie)("MID"),i=`${o}/user/backInStock/getSubscribedSkuCount/${t}?lang=${n}`,r={method:en.RequestMethod.GET,headers:{"NY-MID":e}},{result:a}=yield Zn(i,r);return a||(ze.error("[ERROR] fetchSubscribedSkuCount failed: No Data"),Promise.reject())}catch(r){return ze.error(`[ERROR] fetchSubscribedSkuCount failed: ${je(r)}: ${Je(r)}: shopId: ${t}`),Promise.reject(r)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:n});if(r>=100)return Fe({isOpenModal:!1}),X(!0),void J(pu.BackInStockLimit);yield Oe({isEnablePriceReduction:o,productInfo:e,isFromModalDialog:!1})}catch(t){Te(!0),xe(us.STATUS.SYSTEM_ERROR)}})))(e)}),350),decimal:i,symbol:I,rate:p,customStyles:yg(bg({},Xu),{cartButtonStyle:we,qtySelectorSectionStyle:Tg(te)}),productToCartStyle:xg(te),handleAddQuantity:r,handleRemoveQuantity:s,isEnableBackInStock:se,isEnableCartButton:!0,buttonDisplayText:Eg({status:null==te?void 0:te.StatusDef,customButtonDisplayText:h,isEnableBackInStock:se}).text,skuSoldOutText:(0,es.t)($||vg.OutOfStock),handleUpdateSelectedSkuIdCallBack:e=>{const t=ie.find((t=>t.SaleProductSKUId===e));Qe(Rs((null==t?void 0:t.StockQty)||0));const n=ie.find((t=>(null==t?void 0:t.SellingQty)>0&&(null==t?void 0:t.SaleProductSKUId)===e));!se&&n||(Fg(re,e)?ge(!0):ge(!1))},backInStockButtonDisplayText:de?(0,es.t)(Bg.CancelBackInStock):(0,es.t)(Bg.AddBackInStock),setQtyHintText:Gg,serviceType:"FRONT_STAGE",theme:Ue,isEnablePurchaseMethod:l,isPriceOnTop:u,purchaseMethodInfo:{title:(0,es.t)(jn.THEME_CORE.PRODUCT.CHOOSE_PURCHASE_METHOD),pointText:(0,es.t)(jn.THEME_CORE.PRODUCT.POINTS_STRING)},isBackInStockSubscribedSkuId:de,isEnableAdidasCustom:Lo(),customIconImg:kg(),isSuggestPriceShowPrice:d,specialPriceList:Ce,selectedSpecialPriceData:Be,salePagePriceList:_e,isEnableOriginalPrice:B,specChartData:_,handleOpenSpecChart:()=>{T(!0),S()},stockQtyTitle:(0,es.t)(jn.THEME_CORE.PRODUCT.STOCK_QTY,{stockQty:Ge}),isShowStockQty:Ze};return z.createElement(hd,{isOpenSpecChartModal:w,setIsOpenSpecChartModal:T,browsingMode:n,title:F,content:E,modalMode:Jc.MEDIUM,isShowModalHeader:!Boolean(Bn()&&Ee.current)},N&&te&&ie&&(G?z.createElement(md,{onModalClick:()=>Te(),browsingMode:n},z.createElement(ou.nW,bg({},Re))):z.createElement(z.Fragment,null,z.createElement(ou.nW,bg({},Re)))),z.createElement(Du,{isOpen:Z,type:W,message:H,afterClose:()=>{U(!1),V(""),L(""),P!==us.STATUS.SELECT_ERROR?Te():D("")}}),z.createElement(lu,{isLoading:x}),R&&z.createElement(Bu,{shopId:f,modalDialogStatus:Y,handleCloseDialog:()=>{Te(),X(!1)},salePageId:m,handleConfirmClick:t=>Cg(void 0,null,(function*(){t!==ls.SYSTEM_ERROR?(t===ls.BACK_IN_STOCK_SUBSCRIBE_SUCCESS&&(yield Oe({isEnablePriceReduction:!1,productInfo:le,isFromModalDialog:!0})),X(!1),e(t===ls.BACK_IN_STOCK_SUBSCRIBE_SUCCESS)):xe(us.STATUS.SYSTEM_ERROR)})),modalDialogMessage:K}))},Zg=({shopId:e,displayMode:t,salePageCode:n,salePageId:i,rate:o,decimal:r,symbol:a,isPriceOnTop:s,isSuggestPriceShowPrice:c,isEnableOriginalPrice:l,customButtonDisplayText:u,afterSuccess:d,afterClose:g,browsingMode:p,facebook:m,handleRedirectDeepLink:f,isEnableAddShoppingCartItem:I=!0,skuQtyMode:h,setAppHeaderWhenOpenSpecChart:b,handleToastStatus:y,isShowModalContainer:C,originalDocumentTitleRef:v,mainSalePageSpecChartHtmlString:B,mainSalePageSpecChartTitle:A,defaultRelatedItemGroups:_,customTransData:S})=>{var G;const Q=(0,z.useRef)(-1),E=0===h,[F,w]=(0,z.useState)(!1),[T,x]=(0,z.useState)(0),[k,N]=(0,z.useState)(!1),[O,Z]=(0,z.useState)(0),[U,R]=(0,z.useState)([]),[X,W]=(0,z.useState)(0),V=(0,El.useSelector)((e=>e.globalStyleData))||{},P=null==(G=tt("action")||"")?void 0:G.toLowerCase(),D=(0,z.useContext)(Au),{data:H,isMutating:L,trigger:Y}=ug(),{data:J,mutate:K}=function(e){const{salePageId:t,salePageCode:n}=e;return(0,Ud.A)((()=>Jd(t)||n?`Sku/GetSkuPopupInfo/MainSalePage/${t}/${n}`:null))}({salePageId:i,salePageCode:n}),{data:q}=cg({salePageId:i}),{data:$,isLoading:ee,mutate:te}=lg({salePageId:i,onError:()=>{if(pe()){const e="useFetchSalePageBundleInfo";return ye.current.showPopup({requestCode:e,showPopupData:{title:"",message:(0,es.t)(jn.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED),buttonA:{text:(0,es.t)(jn.THEME_CORE.TOAST.RELOAD),data:null},buttonB:null}}),void ye.current.onJsiResult((e=>{"function"==typeof g&&g(),location.reload()}))}y({status:us.STATUS.GET_SALEPAGE_BUNDLE_ERROR,afterClose:()=>me(!1)})}}),{data:ne,isLoading:ie,mutate:oe}=function(e){const{salePageId:t,salePageBundleInfo:n,onError:i,selectedSkuIds:o,fetchSalepageSellingQtyCount:r}=e;return(0,bd.Ay)((()=>Jd(t)&&n&&(null==o?void 0:o.length)>0?[`salepage-listing/api/salepage/bundle-selling-qty/${t}`,o,r]:null),(()=>{var e;const i=ke(),a=mn(i),s=0===r;return((e,t)=>{return i=function*(){try{const{shopId:n,locale:i}=e,o=`${ft()}/salepage-listing/api/salepage/bundle-selling-qty/${n}?lang=${i}`,r={method:en.RequestMethod.POST,body:t},a=yield Zn(o,r);return(null==a?void 0:a.data)?a.data:Promise.reject((null==a?void 0:a.message)||"fetchSalePageBundleSellingQty error")}catch(n){const{shopId:i}=e;return ze.error(`[ERROR] fetchSalePageBundleSellingQty error: ${Je(n)}, shopId: ${i}`),Promise.reject(n)}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i})(a,{salepageId:t,saleProductSkuId:null==(e=null==n?void 0:n.bundleMain)?void 0:e.saleProductSkuId,salepageBundleBlocks:jd(null==n?void 0:n.bundleBlocks).map(((e,t)=>{var n,i;const r=0===jd(o)[t]||s?jd(null==(n=null==e?void 0:e.salepageScopes[0])?void 0:n.skuInfo).map((e=>e.skuId)):[o[t]];return{blockId:null==e?void 0:e.blockId,salepageId:null==(i=null==e?void 0:e.salepageScopes[0])?void 0:i.salepageId,skuIds:r}})),isCompatible:zd(o)&&!s})}),{onError:i,use:[ag]})}({salePageId:i,salePageBundleInfo:$,selectedSkuIds:U,fetchSalepageSellingQtyCount:X,onError:()=>{if(pe()){const e="useFetchSalePageBundleSellingQty";return ye.current.showPopup({requestCode:e,showPopupData:{title:"",message:(0,es.t)(jn.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED),buttonA:{text:(0,es.t)(jn.THEME_CORE.TOAST.RELOAD),data:null},buttonB:null}}),void ye.current.onJsiResult((e=>{"function"==typeof g&&g(),location.reload()}))}y({status:us.STATUS.GET_SALEPAGE_BUNDLE_ERROR,afterClose:()=>me(!1)})}}),{isMutating:re,trigger:ae}=(0,Rd.A)("ShoppingCartV4/InsertItem",((e,{arg:t})=>{const n=ke(),i=mn(n);return Ku({streamInjection:i,payload:t})})),se=(0,z.useMemo)((()=>yg(bg({},Xu),{cartButtonStyle:{customStyle:Zu,disabledStyle:Ru},qtySelectorSectionStyle:Tg(J)})),[J]),ce=(0,z.useMemo)((()=>xg(J)),[J]),le=(0,z.useMemo)((()=>jd(null==$?void 0:$.bundleBlocks).map((e=>{const{blockId:t,salepageScopes:n}=e,{skuInfo:i}=n[0],o=1===i.length?i[0].skuId:0;if(_){const e=_.find((e=>"SalepageBundle"===e.ruleTypeDef)),n=null==e?void 0:e.relatedItems.find((e=>e.optionalTypeId===t));return(null==n?void 0:n.saleProductSKUId)||o}return o}))),[$,_]),ue=(0,z.useMemo)((()=>function(e){var t;const{bundleBlockIdx:n,subSalePageInfo:i,salePageBundleSellingQty:o,salePageBundleInfo:r}=e;if(n<0||!i||!o||!r)return i;const a=null==r?void 0:r.bundleBlocks[n];if(!a)return i;const s=jd(o).find((e=>(null==e?void 0:e.blockId)===(null==a?void 0:a.blockId)));if(!s)return i;const c=jd(null==(t=null==a?void 0:a.salepageScopes[0])?void 0:t.skuInfo).map((e=>e.skuId));return l=((e,t)=>{for(var n in t||(t={}))Dd.call(t,n)&&Ld(e,n,t[n]);if(Pd)for(var n of Pd(t))Hd.call(t,n)&&Ld(e,n,t[n]);return e})({},i),u={SKUPropertySetList:jd(null==i?void 0:i.SKUPropertySetList).filter((e=>c.includes(null==e?void 0:e.SaleProductSKUId))).map((e=>{const t=jd(null==s?void 0:s.blockSkuSellingQtyList).find((t=>(null==t?void 0:t.saleProductSkuId)===(null==e?void 0:e.SaleProductSKUId)));return"number"!=typeof(null==t?void 0:t.sellingQty)||(e.SellingQty=t.sellingQty),e}))},Wd(l,Vd(u));var l,u}({bundleBlockIdx:Q.current,salePageBundleInfo:$,salePageBundleSellingQty:ne,subSalePageInfo:H})),[H,ne,$]),de=Boolean(J&&$&&ne);function ge(e){if(x(e),pe()&&0===e){document.title="";const e={icon:t===rd.fullScreenSheetWithAppHeaderControl?"Back":"Nothing",action:t===rd.fullScreenSheetWithAppHeaderControl?"JsiBack":"Nothing"};ye.current.setAppHeaderIcon({ios:{eventType:au.AH.HeaderBackAction,data:e},android:{eventType:au.AH.HeaderBackAction,data:e}})}else pe()&&1===e&&(document.title=(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE),ye.current.setAppHeaderIcon({ios:{eventType:au.AH.HeaderBackAction,data:{icon:"Back",action:"JsiBack"}},android:{eventType:au.AH.HeaderBackAction,data:{icon:"Back",action:"JsiBack"}}}))}function pe(){return Boolean(Bn()&&ye.current)}function me(e){N(e),!e&&pe()&&t===rd.fullScreenSheetWithAppHeaderControl&&(document.title=v.current),C&&(document.body.style.overflowY=e?"hidden":null),e||(te(void 0,{revalidate:!1}),oe(void 0,{revalidate:!1}),"function"==typeof g&&g())}const fe=e=>{e.stopPropagation(),ge(0)};function Ie(e,t=!1){jd(e).every((e=>0!==e))&&(t?(R(e),W((e=>e+1))):function(e,t){const n=Math.min(...e.map(((e,n)=>{var i,o;const r=null==(o=jd(null==(i=t[n])?void 0:i.blockSkuSellingQtyList).find((t=>(null==t?void 0:t.saleProductSkuId)===e)))?void 0:o.sellingQty;return Number.isInteger(r)?r:0})));Z(n),0!==n||ie||D({isOpen:!0,handleConfirmClick:()=>{D({isOpen:!1})},handleCloseDialog:()=>{D({isOpen:!1})},modalDialogStatus:pu.Fail,modalDialogMessage:(0,es.t)(jn.THEME_CORE.PRODUCT.SOME_ITEMS_ARE_OUT_OF_STOCK)})}(e,ne))}const he=Eg({status:null==J?void 0:J.StatusDef,isEnableBackInStock:!1,customButtonDisplayText:u,salePageBundleInfo:$,salePageBundleSellingQty:ne,selectedSkuIds:U,customTransData:S}),be=z.createElement(ou.nW,{isEnableAdidasCustom:Lo(),customIconImg:kg(),buttonDisplayText:he.text,customStyles:se,rate:o,decimal:r,isDisplayProductImage:!0,isEnableCartButton:!he.disabled,productInfoSubTitle:void 0,serviceType:"FRONT_STAGE",handleProductToCart:n=>Cg(void 0,[n],(function*({curQuantity:n,selectedSubSalePageSkuIds:o}){var r,a,s,c;try{if(J.StatusDef===zn.ShareToBuy)return function(){if(!m)return;const e=`${window.location.protocol}//${window.location.host}/SalePage/Index/${i}`;m.ui({method:"feed",link:e,display:"popup"},(()=>{K(yg(bg({},J),{StatusDef:zn.Normal}),{revalidate:!1})}))}();if(J.StatusDef===zn.AppOnly)return me(!1),void(p===M.MOBILE?"function"==typeof f?f():window.location.href=`/SalePage/Index/${i}`:window.location.href=`/SalePage/ShowQRCode/${i}`);if(o.some((e=>0===e))){if(pe()){const e=gs(ls.SELECT_ERROR);return void ye.current.showToast({toastType:au.py.alert,message:e.message})}return void y({status:ls.SELECT_ERROR})}const l={shopId:e,salePageId:i,saleProductSKUId:null==(r=null==$?void 0:$.bundleMain)?void 0:r.saleProductSkuId,qty:n,isSkuQtyAccumulate:E,optionalInfo:null,optionalTypeDef:"",optionalTypeId:0,relatedItemGroups:[{ruleTypeDef:"SalepageBundle",relatedItems:jd(null==$?void 0:$.bundleBlocks).map(((e,t)=>{var i;return{salepageId:null==(i=null==e?void 0:e.salepageScopes[0])?void 0:i.salepageId,saleProductSKUId:o[t],qty:e.blockQtyMust*n,optionalTypeDef:"SalepageBundle",optionalTypeId:e.blockId}}))}]};if(I&&(yield ae(l)),"function"==typeof d&&d({mainImageUrl:null==(a=null==J?void 0:J.ImageList[0])?void 0:a.PicUrl,optionalTypeDef:"",optionalTypeId:0,points:0,price:null==J?void 0:J.Price,quantity:n,salePageId:i,sellingQty:0,shopId:e,skuId:null==(s=null==$?void 0:$.bundleMain)?void 0:s.saleProductSkuId,skuKey:null==(c=null==J?void 0:J.SKUPropertySetList[0])?void 0:c.PropertyNameSet,suggestPrice:null==J?void 0:J.SuggestPrice,title:null==J?void 0:J.Title,specialPrice:0,isSalePageBundle:!0,bundleInfo:(0,j.cloneDeep)($),bundleSellingQty:(0,j.cloneDeep)(ne),bundleShoppingCartItem:(0,j.cloneDeep)(l)}),pe()){if(I){const e=gs(ls.ADD_SUCCESS);ye.current.showToast({message:e.message,toastType:au.py.success})}if(t===rd.fullScreenSheetWithAppHeaderControl)return me(!1);if("function"==typeof g&&g(),"addtobasket"===P&&ye.current.executableOS.android)return;return void(t===rd.page&&ye.current.closeWebView())}if(I)return void y({status:ls.ADD_SUCCESS,afterClose:()=>me(!1)});me(!1)}catch(l){!function(e){const t=String(null==e?void 0:e.ReturnCode),n=String((null==e?void 0:e.Message)||mu.Fail);switch(t){case Ju.SoldOut:case Ju.SalePageIncorrect:return pe()?(ye.current.showPopup({requestCode:t,showPopupData:{title:"",message:n,buttonA:{text:(0,es.t)(jn.THEME_CORE.TOAST.RELOAD),data:null},buttonB:null}}),void ye.current.onJsiResult((e=>{"function"==typeof g&&g(),location.reload()}))):void D({isOpen:!0,handleConfirmClick:()=>{D({isOpen:!1}),me(!1)},handleCloseDialog:()=>{D({isOpen:!1}),me(!1)},modalDialogStatus:pu.Fail,modalDialogMessage:n});default:pe()?(ye.current.showPopup({requestCode:t,showPopupData:{title:"",message:n,buttonA:{text:(0,es.t)(jn.THEME_CORE.TOAST.GOT_IT),data:null},buttonB:null}}),ye.current.onJsiResult((e=>e))):D({isOpen:!0,handleConfirmClick:()=>D({isOpen:!1}),handleCloseDialog:()=>D({isOpen:!1}),modalDialogStatus:pu.Fail,modalDialogMessage:n})}}(l)}})),productToCartStyle:ce,mainSalePageInfo:J,subSalePageInfo:ue,skuSoldOutText:(0,es.t)(vg.OutOfStock),QtyHintBlock:Qg,symbol:a,theme:V,isPriceOnTop:s,isSuggestPriceShowPrice:c,isEnableOriginalPrice:l,specChartData:null==q?void 0:q.specChartData,handleOpenSpecChart:()=>{w(!0),b()},salePageType:id.Bundle,curStep:T,includeTheseSalePagesText:(0,es.t)(jn.THEME_CORE.PRODUCT.INCLUDE_THESE_SALEPAGES_TEXT),skuSelectPlaceholder:(0,es.t)(jn.THEME_CORE.PRODUCT.SKU_SELECT_PLACEHOLDER),skuSelectWarningText:(0,es.t)(jn.THEME_CORE.PRODUCT.THIS_OPTION_IS_OUT_OF_STOCK),onClickSkuSelect:(e,t)=>Cg(void 0,null,(function*(){var n,i;Q.current=t,Y({salePageId:null==(n=jd(null==e?void 0:e.salepageScopes)[0])?void 0:n.salepageId,salePageCode:null==(i=jd(null==e?void 0:e.salepageScopes)[0])?void 0:i.salepageCode}).then((()=>ge(1))).catch((()=>{pe()?ye.current.showToast({toastType:au.py.error,message:(0,es.t)(jn.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED)}):y({status:us.STATUS.GET_SALEPAGE_BUNDLE_ERROR})}))})),confirmSelectedSkuText:(0,es.t)(jn.THEME_CORE.PRODUCT.CONFIRM),onClickConfirmSelectedSku:({p1SelectedSubSalePageSkuIds:e,bundleBlockIdx:t})=>{if(0!==e[t])return Ie(e,!0),function(e){var t,n;const{selectedSkuId:i,bundleBlockIdx:o}=e;if(!(null==(t=null==$?void 0:$.bundleBlocks[o])?void 0:t.salepageScopes[0]))return;const r=null==(n=jd(H.ImageList).find((e=>e.Id===i)))?void 0:n.PicUrl;if(!r)return;const a=(0,j.cloneDeep)($);a.bundleBlocks[o].salepageScopes[0].picUrl=r,te(a,{revalidate:!1})}({selectedSkuId:e[t],bundleBlockIdx:t}),void ge(0);if(pe()){const e=gs(ls.SELECT_ERROR);ye.current.showToast({toastType:au.py.error,message:e.message})}else y({status:ls.SELECT_ERROR})},bundleBlocks:jd(null==$?void 0:$.bundleBlocks),maxQuantity:O,DEFAULT_SKU_ID:0,DEFAULT_MAX_QUANTITY:0,defaultSelectedSubSalePageSkuIds:U,salePageRemovedPlaceholder:(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_REMOVED_PLACEHOLDER),notSellingMaskLabelText:(0,es.t)(jn.THEME_CORE.PRODUCT.NOT_SELLING_MASK_LABEL_TEXT),browsingMode:p,isSubSalePageSoldout:Yd,isSubSalePageClosed:Md,salePageBundleSellingQty:jd(ne)});(0,z.useEffect)((function(){de&&me(!0)}),[de]);const ye=(0,z.useRef)();return(0,z.useEffect)((()=>{ye.current=new au.Ay,ge(0)}),[]),(0,z.useEffect)((()=>{ye.current.triggerWebAction((e=>{const{eventType:t}=JSON.parse(e);return t!==au.xI.OnBackPressed?{shouldOverride:!1}:0!==T||F?F?(w(!1),ge(0),{shouldOverride:!0}):1===T?(ge(0),{shouldOverride:!0}):{shouldOverride:!1}:(me(!1),{shouldOverride:!0})}))})),(0,z.useEffect)((()=>{R((e=>0===e.length?le:e))}),[le]),(0,z.useEffect)((()=>{ne&&(0===X?Ie(U,!0):Ie(U))}),[ne,U]),z.createElement(hd,{isOpenSpecChartModal:F,setIsOpenSpecChartModal:w,browsingMode:pe()?M.MOBILE:p,title:A,content:B,modalMode:Jc.EXLARGE,isShowModalHeader:!pe()},de&&k&&(t?Bn()&&t===rd.fullScreenSheetWithAppHeaderControl?z.createElement(Ql,{isFullScreen:!0,isShowHeader:!1,isShowCloseButton:!1},be):Bn()&&t===rd.page?z.createElement(pd,null,be):z.createElement(gd,{title:1===T?(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE):void 0,handleBackwardButtonClick:1===T?fe:void 0,handleCloseButtonClick:()=>me(!1)},be):z.createElement(md,{isShowHeader:!0,isFullScreenSheet:!0,modalMode:Jc.EXLARGE,browsingMode:p,onModalClick:e=>{e.target===e.currentTarget&&me(!1)},handleCloseButtonClick:()=>me(!1),title:1===T?(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE):void 0,handleBackwardButtonClick:1===T?fe:void 0},be)),z.createElement(lu,{isLoading:ee||ie||re||L}))},Ug=e=>{const{shopId:t,salePageId:n}=e;return z.createElement(Cd,null,z.createElement(_u,{salePageId:n,shopId:t},z.createElement(Lu,null,z.createElement(Ng,bg({},e)))))},Rg=q.default.span`
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
`,Xg=({sellingStartDateTime:e})=>{const t=(0,z.useRef)(null),[n,i]=(0,z.useState)("");return(0,z.useLayoutEffect)((()=>{const n=t.current.parentElement.clientWidth<=130?"YYYY/MM/DD":"YYYY/MM/DD HH:mm";i((0,es.t)(jn.THEME_CORE.PRODUCT.SELLING_START_DATE_TIME,{sellingStartDateTime:qa()(e).format(n)}))}),[]),z.createElement(Rg,{"data-qe-id":"body-coming-soon-text",ref:t},n)},Wg=({isEnableMask:e=!1,isComingSoon:t=!1,isSoldOut:n=!1,soldOutActionType:i="",listingStartDateTime:o=null,sellingStartDateTime:r=null,enableIsComingSoon:a=!1,isShowSellingStartDateTime:s=!1})=>{let c={};const l=po(r)?go(r):r,u=po(o)?go(o):o,d=(0,iu.isShowComingSoon)(l,u,a);return e&&!d&&n?c={maskType:Bf.MIDDLEMASK,maskChildren:z.createElement(Rg,{"data-qe-id":"body-sold-out-action-text"},(0,es.t)(vg[i]||jn.THEME_CORE.PRODUCT.SOLD_OUT)),isShowMask:!0}:e&&d?c=s?{maskType:Bf.BOTTOMMASK,maskChildren:z.createElement(Xg,{"data-qe-id":"body-coming-soon-text",sellingStartDateTime:l}),isShowMask:!0}:{maskType:Bf.BOTTOMMASK,maskChildren:z.createElement(Rg,{"data-qe-id":"body-coming-soon-text"},(0,es.t)(jn.THEME_CORE.PRODUCT.SELLING_WILL_KICKOFF)),isShowMask:!0}:e&&t&&(c={maskType:Bf.BOTTOMMASK,maskChildren:z.createElement(Rg,{"data-qe-id":"body-coming-soon-text"},(0,es.t)(jn.THEME_CORE.PRODUCT.SELLING_WILL_KICKOFF)),isShowMask:!0}),c};var Vg=(e=>(e.CategoryBreadcrumbs="CategoryBreadcrumbs",e.CategoryTags="CategoryTags",e.ShopCategory="ShopCategory",e))(Vg||{});const Pg={dev:{tw:[232,235]},qa:{tw:[]},stage:{tw:[11,123,815,1194,2374,4800]},prod:{tw:[11,123,815,1194,2374,4800]}},Dg={dev:{tw:[232]},qa:{tw:[]},stage:{tw:[39681]},prod:{tw:[39681]}},Hg={[M.DESKTOP]:{[ji.H1]:be.fontSizeXl,[ji.H2]:be.fontSizeL,[ji.H3]:be.fontSizeMl},[M.MOBILE]:{[ji.H1]:be.fontSizeMl,[ji.H2]:be.fontSizeM,[ji.H3]:be.fontSizeDefault}};var Lg=n(4589);const{buttonStyle:Yg}=ue.A,Mg=q.default.div`
    margin: ${({isSquareCard:e})=>e?"4px":"6px"} 0;
    position: relative;
`,Jg=(q.default.div`
    position: absolute;
    padding: 10px;
    max-width: 200px;
    background-color: ${J.brownishGrey};
    border-radius: 4px;
    color: #ffffff;
    transform: translateX(${({toolTipX:e})=>e}px) translateX(-50%);
    font-size: 12px;
    display: ${({isDisplay:e})=>e?"block":"none"};
    left: 0;
    bottom: ${({isSquareCard:e})=>e?"115%":"132%"};
    z-index: ${N};

    &::after {
        content: '';
        position: absolute;
        border-width: 6px;
        border-style: solid;
        border-color: ${J.brownishGrey} transparent transparent transparent;
        transform: translate(-50%, 0%);
        left: 50%;
        bottom: -11px;
        z-index: ${N};
        display: ${({isDisplay:e})=>e?"block":"none"};
    }
`,(0,q.default)(Lg.A)`
    overflow: hidden;
    padding-left: ${({isSquareCard:e})=>e?"0":`${Yt}px`};

    .slick-list {
        width: ${({isSquareCard:e})=>e?"220px":"100%"};
    }
    .slick-slide {
        margin-right: ${({isSquareCard:e})=>e?`${Lt}px`:`${zt}px`};
    }

    // 解套件搭配不固定的元素時，會在滑動產生高度偏移的問題
    .slick-slide > div {
        display: flex;
    }
`),jg=q.default.div`
    position: relative;
    height: ${({isSquareCard:e})=>e?`${Jt}px`:`${jt}px`};
`,zg=q.default.img`
    ${({isSquareCard:e})=>e?"":"clip-path: circle(50% at 50% 50%)"};
    background-color: ${J.whiteFour};
    width: 100%;
    height: 100%;
`,Kg=q.default.div`
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    border-radius: ${({isSquareCard:e})=>e?"0":"50%"};
    box-shadow: inset ${({isSquareCard:e})=>e?"0 -1.5px 0 0":"0 0 0 1px"}
        ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.primaryBtnBgColor)||Yg.primaryBtnBgColor}};
`,qg=q.default.div`
    width: 20px;
    height: 20px;
    border-radius: 2px;
    background-color: ${J.white};
    opacity: 0.6;
    display: ${({isDisplay:e})=>e?"flex":"none"};
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: ${O};

    left: ${({isNext:e})=>e?"auto":"0px"};
    right: ${({isNext:e})=>e?"0px":"auto"};
    margin-left: ${({isNext:e})=>e?"0px":"4px"};
    margin-right: ${({isNext:e})=>e?"4px":"0px"};
`,$g=q.default.i`
    color: ${J.brownishGrey};
    font-weight: 700;
`;var ep=Object.defineProperty,tp=Object.defineProperties,np=Object.getOwnPropertyDescriptors,ip=Object.getOwnPropertySymbols,op=Object.prototype.hasOwnProperty,rp=Object.prototype.propertyIsEnumerable,ap=(e,t,n)=>t in e?ep(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const sp=({mainSalePageId:e,salePageGroup:t,handleProductGroupClick:n})=>{const[i,o]=(0,z.useState)(!1),[r,a]=(0,z.useState)(!1),[s,c]=(0,z.useState)(0),[l,u]=(0,z.useState)(e),{GroupIconStyle:d,SalePageItems:g}=t,p=d===Ht.SQUAER,m=e=>e?Math.trunc(s/Mt)!==Math.trunc((g.length-1)/Mt):0!==s,f=({onClick:e,isNext:t})=>{const n=t?z.createElement($g,{className:"ico ico-chevron-right"}):z.createElement($g,{className:"ico ico-chevron-left"});return z.createElement(qg,{onClick:t=>{t.preventDefault(),t.stopPropagation(),e(t)},isNext:t,isDisplay:i&&m(t)},n)},I={dots:!1,infinite:!1,variableWidth:!0,initialSlide:0,slidesToScroll:Mt,slidesToShow:g.length%5==0?Mt:g.length%5,beforeChange:(e,t)=>{a(!0),setTimeout((()=>{c(t),a(!1)}),700)}};return z.createElement(Mg,{onMouseEnter:()=>{o(!0)},onMouseLeave:()=>{o(!1)},onClick:e=>{e.preventDefault(),e.stopPropagation()},isSquareCard:p},z.createElement(Jg,(h=((e,t)=>{for(var n in t||(t={}))op.call(t,n)&&ap(e,n,t[n]);if(ip)for(var n of ip(t))rp.call(t,n)&&ap(e,n,t[n]);return e})({},I),tp(h,np({nextArrow:z.createElement(f,{isNext:!0}),prevArrow:z.createElement(f,{isNext:!1}),isSquareCard:p}))),g.map(((t,i)=>z.createElement(jg,{key:t.SalePageId,isSquareCard:p,onClick:i=>((t,i)=>{t.preventDefault(),t.stopPropagation();const{SalePageId:o}=i;r||o!==e&&l===o||(n(o),l!==o&&u(o))})(i,t),style:p?{width:Jt}:{width:jt}},z.createElement(zg,{loading:"lazy",src:t.ItemUrl,isSquareCard:p}),l===t.SalePageId&&z.createElement(Kg,{isSquareCard:p}))))));var h},{buttonStyle:cp}=ue.A,lp=q.default.div`
    margin: ${({isSquareCard:e})=>e?"4px":"6px"} 0;
    padding-left: ${({isSquareCard:e})=>e?"0":`${Yt}px`};
    position: relative;
`,up=(0,q.default)(Lg.A)`
    .slick-slide {
        margin-right: ${({isSquareCard:e})=>e?`${Lt}px`:`${$t}px`};
    }

    // 解套件搭配不固定的元素時，會在滑動產生高度偏移的問題
    .slick-slide > div {
        display: flex;
    }
`,dp=q.default.div`
    position: relative;
    height: ${({isSquareCard:e})=>e?Kt:qt};
`,gp=q.default.img`
    ${({isSquareCard:e})=>e?"":"clip-path: circle(50% at 50% 50%)"};
    background-color: ${J.whiteFour};
    width: 100%;
    height: 100%;
`,pp=q.default.div`
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    border-radius: ${({isSquareCard:e})=>e?"0":"50%"};
    box-shadow: inset ${({isSquareCard:e})=>e?"0 -1.5px 0 0":"0 0 0 1px"}
        ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.primaryBtnBgColor)||cp.primaryBtnBgColor}};
`;var mp=Object.defineProperty,fp=Object.defineProperties,Ip=Object.getOwnPropertyDescriptors,hp=Object.getOwnPropertySymbols,bp=Object.prototype.hasOwnProperty,yp=Object.prototype.propertyIsEnumerable,Cp=(e,t,n)=>t in e?mp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const vp=({mainSalePageId:e,salePageGroup:t,handleProductGroupClick:n})=>{const[i,o]=(0,z.useState)(e),{GroupIconStyle:r,SalePageItems:a}=t,s=r===Ht.SQUAER;return z.createElement(lp,{isSquareCard:s,onClick:e=>{e.preventDefault(),e.stopPropagation()}},z.createElement(up,(c=((e,t)=>{for(var n in t||(t={}))bp.call(t,n)&&Cp(e,n,t[n]);if(hp)for(var n of hp(t))yp.call(t,n)&&Cp(e,n,t[n]);return e})({},{dots:!1,infinite:!1,swipeToSlide:!0,variableWidth:!0,arrows:!1,initialSlide:0,slidesToScroll:1,slidesToShow:1}),fp(c,Ip({isSquareCard:s}))),a.map((t=>z.createElement(dp,{key:t.SalePageId,isSquareCard:s,onClick:r=>((t,r)=>{t.preventDefault(),t.stopPropagation();const{SalePageId:a}=r;a!==e&&i===a||(n(a),i!==a&&o(a))})(r,t),style:s?{width:Kt}:{width:qt}},z.createElement(gp,{loading:"lazy",src:t.ItemUrl,isSquareCard:s}),i===t.SalePageId&&z.createElement(pp,{isSquareCard:s}))))));var c};var Bp=(e=>(e[e.NOT_LOGGED_IN=0]="NOT_LOGGED_IN",e[e.UNQUALIFIED=1]="UNQUALIFIED",e))(Bp||{});const Ap={purchaseQualificationInvalidModal:{isOpen:!1,invalidType:0,restrictedPurchaseInfos:[]},closePurchaseQualificationInvalidModal:()=>{},checkPurchaseQualificationValid:e=>Promise.resolve(!0)},_p=(0,z.createContext)(Ap),Sp=({children:e})=>{const t=(0,El.useSelector)((e=>e.dependencies)),n=mn(t),i=(0,El.useSelector)((e=>e.user.memberCollectionIdList)),o=(0,El.useSelector)((e=>e.user.isSkipPurchaseQualificationValid)),r=(0,El.useSelector)((e=>e.user.isLogin)),[a,s]=(0,z.useState)(Ap.purchaseQualificationInvalidModal),c=(0,z.useCallback)((()=>{s(Ap.purchaseQualificationInvalidModal)}),[a,s]),l=(0,z.useCallback)((e=>{return a=function*(){var t,a,c;try{if(r){if(o)return!0;const t=yield Zd(n,e);if((null==(a=null==t?void 0:t.restrictedPurchaseInfoList)?void 0:a.length)&&!(null==(c=(0,j.intersection)(i,t.restrictedPurchaseInfoList.map((e=>e.memberCollectionId))))?void 0:c.length))return s({isOpen:!0,invalidType:1,restrictedPurchaseInfos:t.restrictedPurchaseInfoList}),!1}else{const i=yield Zd(n,e);if(null==(t=null==i?void 0:i.restrictedPurchaseInfoList)?void 0:t.length)return s({isOpen:!0,invalidType:0,restrictedPurchaseInfos:[]}),!1}}catch(l){ze.error(`[ERROR] checkAddShoppingCartValid error: ${Je(l)}`)}return!0},new Promise(((e,n)=>{var i=e=>{try{r(a.next(e))}catch(t){n(t)}},o=e=>{try{r(a.throw(e))}catch(t){n(t)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(i,o);r((a=a.apply(void 0,null)).next())}));var a}),[t,i,o,r,a,c]),u=(0,z.useMemo)((()=>({purchaseQualificationInvalidModal:a,closePurchaseQualificationInvalidModal:c,checkPurchaseQualificationValid:l})),[a,c,l]);return K().createElement(_p.Provider,{value:u},e)},Gp=(0,z.createContext)({isClickEntryButton:!1,setIsClickEntryButton:e=>e,handlePopUpToggleFn:null,setHandlePopUpToggleFn:e=>e}),Qp=({children:e})=>{const[t,n]=(0,z.useState)(!1),[i,o]=(0,z.useState)(null),r=(0,z.useMemo)((()=>({isClickEntryButton:t,setIsClickEntryButton:n,handlePopUpToggleFn:i,setHandlePopUpToggleFn:o})),[t,i]);return z.createElement(Gp.Provider,{value:r},e)};var Ep=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const Fp=e=>Ep(void 0,[e],(function*({streamInjection:e,payload:{salePageIds:t,favList:n,memberCollectionIdList:i,includeSalePageGroup:o=!1,includeInvisibleSalepage:r=!0}}){const{shopId:a}=e;try{const i=t.join(),a=pt(`Cms/GetSalePageListById?salePageIds=${i}&includeSalePageGroup=${o}&includeInvisibleSalepage=${r}`,e,!0),s=yield Zn(a);if(!s.Data)throw new Error("[ERROR] fetchSalePageList failed: No Data");return function({Data:e=[]},t){return{productList:e.map((({DisplayTags:e=[],Id:n,Title:i="",PicList:o=[],PicUrl:r="",SalePageCode:a,Price:s,SuggestPrice:c,IsSoldOut:l,IsComingSoon:u,SoldOutActionType:d="",PairsPoints:g,PairsPrice:p,PriceDisplayType:m,SubTitle:f="",Rank:I=0,Information:h="",PromotionPriceList:b=[],IsRestricted:y,SalePageGroup:C={},StatusDef:v,EnableIsComingSoon:B,IsShowSellingStartDateTime:A,SellingStartDateTime:_,ListingStartDateTime:S,Metafields:G})=>({displayTags:e,id:n,title:i,imageList:o,imageSrc:r,salePageCode:a,link:`/SalePage/Index/${a||n}`,currency:"$",price:s,suggestPrice:c,isFav:!!t&&(0,j.indexOf)(t,n)>=0,isSoldOut:l,isComingSoon:u,soldOutActionType:d,pairsPoints:g,pairsPrice:p,priceDisplayType:m,subTitle:f,rank:I,information:h,promotionPriceList:b,isRestricted:y,salePageGroup:C,statusDef:v,enableIsComingSoon:B,isShowSellingStartDateTime:A,sellingStartDateTime:_,listingStartDateTime:S,metafields:Us(G)})))}}(s,n)}catch(s){return ze.error(`[ERROR] fetchSalePageList failed: ${je(s)}: ${Je(s)}: shopId: ${a}, salePageIds: ${t}`),Promise.reject(s)}})),wp=q.default.div`
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 8px;
    margin-bottom: 8px;
`,Tp=q.default.div`
    ${({fontSize:e,color:t,fontWeight:n})=>`\n        font-weight: ${n};\n        color: ${t};\n        ${Ce(e,2,1.5*e)}\n    `}
`,xp=q.default.div`
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
`,kp=q.default.div`
    font-size: 10px;
    font-weight: 400;
    padding: 3px 4px;
    border-radius: ${Lo()?"0":"2px"};
    display: inline-block;
    border: 1px solid ${({color:e})=>e};
    line-height: 1.5;
`,Np=(0,q.default)(kp)`
    color: ${({color:e})=>e};
    background-color: white;
`,Op=(0,q.default)(kp)`
    color: white;
    background-color: ${({color:e})=>e};
`,Zp=({displayType:e,color:t,children:n})=>{const i=n;return"string"!=typeof i?null:e===va.SalepageMetafieldDisplayTypeEnum.SECONDARY_LABEL?K().createElement(K().Fragment,null,i.split(",").map(((e,n)=>K().createElement(Np,{key:n,color:t},e)))):K().createElement(K().Fragment,null,i.split(",").map((e=>K().createElement(Op,{color:t},e))))},Up=({displayType:e=va.SalepageMetafieldDisplayTypeEnum.TEXT,textSize:t="14px",textColor:n="black",textWeight:i="400",value:o=""})=>{if(e===va.SalepageMetafieldDisplayTypeEnum.PRIMARY_LABEL||e===va.SalepageMetafieldDisplayTypeEnum.SECONDARY_LABEL)return K().createElement(xp,null,K().createElement(Zp,{"data-qe-id":"body-meta-field-text",displayType:e,color:n},o));const r="string"==typeof t?Number(t.toLowerCase().replace("px","")):14;return K().createElement(Tp,{"data-qe-id":"body-meta-field-text",fontSize:r,color:n,fontWeight:i},o)},Rp=({metafields:e=[]})=>K().createElement(wp,null,e.map((e=>K().createElement(Up,{key:e.uniqueId,displayType:e.displayType,textSize:e.textSize,textColor:e.textColor,textWeight:e.textWeight,value:e.value})))),Xp=e=>{const t=e.filter((e=>!0===e)).length;return{visibleButtonCount:t,calcWidth:t*Qt+(t-1)*Et}},{buttonStyle:Wp}=ue.A,Vp=(0,q.default)(me)`
    color: ${({isShoppingCartDisable:e,theme:t})=>{var n;return e?J.whiteThree:`${(null==(n=null==t?void 0:t.buttonStyle)?void 0:n.secondHeartBtnBgColor)||(null==Wp?void 0:Wp.secondHeartBtnBgColor)}`}};
`,Pp=(0,q.default)(me)`
    color: ${({isShoppingCartDisable:e})=>e?J.whiteThree:Wp.primaryBtnTextColor};
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: ${({isShoppingCartDisable:e})=>e?"transparent":Wp.primaryBtnBgColor};
`,Dp=(0,q.default)(fe)`
    max-width: 99px;
    border: solid 1px ${J.grey};
    background-color: ${J.white};
`,Hp=q.default.i`
    margin-left: 2px;
`,Lp=q.default.span`
    margin-left: 6px;

    font-size: 13px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: ${J.brownishGrey};

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 55%;
`,Yp=()=>z.createElement("i",{className:"ico ico-shopping"}),Mp=({btnType:e,btnStyle:t,onBtnClick:n,isShoppingCartDisable:i=!1})=>{const o=e=>{e.preventDefault(),e.stopPropagation(),n(e)};return e===Ft.ICON?t===Tt.COLOR_ROUNDED_BACKGROUND?i?z.createElement(Pp,{isShoppingCartDisable:i,"data-qe-id":"product-card-cart-btn"},z.createElement(Yp,null)):z.createElement(Pp,{isShoppingCartDisable:i,onClick:o,"data-qe-id":"product-card-cart-btn"},z.createElement(Yp,null)):i?z.createElement(Vp,{isShoppingCartDisable:i,"data-qe-id":"product-card-cart-btn"},z.createElement(Yp,null)):z.createElement(Vp,{isShoppingCartDisable:i,onClick:o,"data-qe-id":"product-card-cart-btn"},z.createElement(Yp,null)):z.createElement(Dp,{onClick:o,"data-qe-id":"product-card-cart-btn"},z.createElement(Hp,{className:"ico ico-shopping"}),z.createElement(Lp,null,(0,es.t)(jn.THEME_CORE.PRODUCT.ADD_TO_CART)))},{buttonStyle:Jp}=ue.A,jp=(0,q.default)(me)`
    ${({isFav:e,isFavDisable:t,theme:n})=>{var i,o;return t?`color: ${J.whiteThree}`:e?`color: ${(null==(i=null==n?void 0:n.buttonStyle)?void 0:i.primaryHeartBtnBgColor)||(null==Jp?void 0:Jp.primaryHeartBtnBgColor)}`:`color: ${(null==(o=null==n?void 0:n.buttonStyle)?void 0:o.secondHeartBtnBgColor)||(null==Jp?void 0:Jp.secondHeartBtnBgColor)}`}}
`,zp=(0,q.default)(me)`
    ${({isFav:e,isFavDisable:t,theme:n})=>{var i,o;return t?`color: ${J.whiteThree}`:e?`color: ${(null==(i=null==n?void 0:n.buttonStyle)?void 0:i.primaryHeartBtnBgColor)||J.grapefruit}`:`color: ${(null==(o=null==n?void 0:n.buttonStyle)?void 0:o.secondHeartBtnBgColor)||J.gunmetal}`}}
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: ${J.whiteTwo};
`,Kp=(0,q.default)(fe)`
    max-width: 99px;
    border: solid 1px ${({isFav:e})=>e?J.whiteTwo:J.grey};
    background-color: ${({isFav:e})=>e?J.whiteTwo:J.white};
`,qp=q.default.i`
    margin-left: 2px;

    color: ${J.grapefruit};
`,$p=q.default.span`
    margin-left: 6px;

    font-size: 13px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: ${J.brownishGrey};

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 55%;
`,em=({isFav:e})=>z.createElement("i",{className:nu()("ico",e?"ico-heart-fill":"ico-heart")}),tm=({btnType:e,btnStyle:t,isFav:n,onBtnClick:i,isFavDisable:o=!1})=>e===Ft.ICON?t===xt.GRAY_ROUNDED_BACKGROUND?o?z.createElement(zp,{isFavDisable:o,isFav:n,"data-qe-id":"product-card-favor-btn"},z.createElement(em,{isFav:n})):z.createElement(zp,{isFavDisable:o,isFav:n,onClick:i,"data-qe-id":"product-card-favor-btn"},z.createElement(em,{isFav:n})):o?z.createElement(jp,{isFavDisable:o,isFav:n,"data-qe-id":"product-card-favor-btn"},z.createElement(em,{isFav:n})):z.createElement(jp,{isFavDisable:o,isFav:n,onClick:i,"data-qe-id":"product-card-favor-btn"},z.createElement(em,{isFav:n})):z.createElement(Kp,{isFav:n,onClick:i,"data-qe-id":"product-card-favor-btn"},z.createElement(qp,{className:nu()("ico",n?"ico-heart-fill":"ico-heart")}),z.createElement($p,null,(0,es.t)(jn.THEME_CORE.PRODUCT.ADD_FAVORITE))),nm=q.default.div`
    display: flex;
    min-width: fit-content;
    justify-content: ${({areaRenderInfo:e})=>1===e.visibleButtonCount?"flex-end":"space-between"};

    ${({isVertical:e,isActionBtnNewLine:t})=>e?q.css`
                  position: ${t?"relative":"absolute"};
                  right: 0;
                  bottom: 3px;
              `:q.css`
                  justify-content: flex-end;
                  width: 100%;
              `}
`,im=q.default.div`
    display: grid;
    gap: 5px;
    grid-template-columns: 1fr;
    margin-top: 10px;
`,om=q.default.span`
    width: 28px;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
`,rm=({btnType:e,isShowShoppingCart:t,isShowFav:n,isFavDisable:i=!1,isShoppingCartDisable:o=!1,isFav:r,isActionBtnNewLine:a=!1,onAddFavorite:s,onAddToCart:c,isVertical:l})=>{const u=()=>z.createElement(z.Fragment,null,n?z.createElement(om,null,z.createElement(tm,{isFavDisable:i,btnType:e,isFav:r,onBtnClick:s})):null,t?z.createElement(om,null,z.createElement(Mp,{btnType:e,onBtnClick:c,isShoppingCartDisable:o})):null);return e===Ft.BUTTON?z.createElement(im,null,u()):z.createElement(nm,{areaRenderInfo:Xp([n,t]),isVertical:l,isActionBtnNewLine:a},u())},am=e=>{const t=z.Children.toArray(e).reduce(((e,t)=>(z.isValidElement(t)&&("img"===t.type?e[0].push(t):e[1].push(t)),e)),[[],[]]);return{restrictedChild:t[0],maskChild:t[1]}},sm=q.default.div`
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: ${ye.componentZindex.base};
`,cm=q.default.div`
    box-sizing: border-box;
    width: 100%;

    position: absolute;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    padding: 8px 0;

    display: flex;
    justify-content: center;
    align-items: center;

    font-size: 12px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 1;
    letter-spacing: normal;
    color: ${J.white};
    z-index: ${ye.componentZindex.base};
`,lm=q.default.div`
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(2px);
    position: absolute;
    z-index: 2;
`,um=({children:e})=>{const{restrictedChild:t,maskChild:n}=am(e);return z.createElement(sm,null,t.length>0&&z.createElement(lm,null,t),z.createElement(cm,null,n))},dm=q.default.div`
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: ${ye.componentZindex.base};
`,gm=q.default.img`
    height: 100%;
    pointer-events: none;
    width: auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0px);
`,pm=({productBadgeImage:e})=>e?z.createElement(dm,null,z.createElement(gm,{"data-qe-id":"body-product-badge-img",src:e,alt:`productBadgeImage_${e}`})):null,mm=({isEditMode:e,isVertical:t,imageSrc:n,edgeScale:i,title:o,figureStyle:r,productBadgeImage:a})=>{const s=(0,z.useCallback)((({currentTarget:e})=>{const{clientWidth:n,clientHeight:i}=e;if(n>i){const n=t?"product-card__vertical__media-wide":"product-card__horizontal__media-wide",i=t?"product-card__vertical__media-tall":"product-card__horizontal__media-tall";e.classList.add(n),e.classList.remove(i)}else{const n=t?"product-card__vertical__media-tall":"product-card__horizontal__media-tall",i=t?"product-card__vertical__media-wide":"product-card__horizontal__media-wide";e.classList.add(n),e.classList.remove(i)}}),[t]);return z.createElement("figure",{style:r,className:nu()({"product-card__vertical__frame":t,"product-card__vertical__frame-square":t&&i===vt.ONE_TO_ONE,"product-card__vertical__frame-rectangle":t&&i===vt.THREE_TO_FOUR,"product-card__horizontal__frame":!t,"product-card__horizontal__frame-square":!t&&i===vt.ONE_TO_ONE,"product-card__horizontal__frame-rectangle":!t&&i===vt.THREE_TO_FOUR})},a&&z.createElement(pm,{productBadgeImage:a}),e?z.createElement("img",{loading:"lazy",className:nu()({"product-card__vertical__media":t,"product-card__horizontal__media":!t}),src:n,onLoad:s,alt:o}):z.createElement("img",{loading:"lazy",className:nu()({"product-card__vertical__media":t,"product-card__vertical__media-tall":t,"product-card__horizontal__media":!t,"product-card__horizontal__media-tall":!t}),src:n,alt:o}))},fm=q.default.div`
    box-sizing: border-box;
    margin-bottom: 5px;
    overflow: hidden;
    font-size: 13px;
    color: ${J.brownishGrey};
    line-height: 20px;
    text-overflow: ellipsis;
    white-space: nowrap;
`,Im=({isVertical:e,children:t})=>z.createElement(fm,{isVertical:e},t),hm=q.default.div`
    font-size: 12px;
    line-height: 18px;
    font-weight: normal;
    color: ${J.brownishGrey};
    position: absolute;
    bottom: 10px;
`,bm=({text:e})=>z.createElement(hm,null,e);var ym=n(8103),Cm=n(2325);const vm=(e,t)=>{const{sourceType:n,moduleKey:i}=t;return{sourceType:n,dataKey:Za(i,n)}},Bm=()=>(0,Cm.Mz)([e=>e.shop,vm],((e,{sourceType:t,dataKey:n})=>{const{categoryName:i}=e[n]||{categoryName:""};return"categoryId"===t?i:""})),Am=(e,t)=>{const{isEditMode:n,defaultCount:i,sourceType:o,moduleKey:r}=t;return{sourceType:o,dataKey:Za(r,o),defaultProductList:n?((e=0)=>[...Array(e)].map(((e,t)=>({id:t+1,title:"商品名稱 Product Name 商品名稱 Product Name 商品名稱 Product Name 商品名稱 Product Name",imageSrc:"",link:"",currency:"$",price:99,suggestPrice:100,isFav:!1,isComingSoon:!1,isSoldOut:!1,isRestricted:!1}))))(i):[],defaultIsFetching:!1}},_m=()=>(0,Cm.Mz)([e=>e.shop,e=>e.salePage,Am],((e,t,{sourceType:n,dataKey:i,defaultProductList:o,defaultIsFetching:r})=>{if(n===Yi.CATEGORY_ID){const{productList:t,isFetching:n}=e[i]||{productList:o,isFetching:r};return{productList:t,isFetching:n}}const{productList:a,isFetching:s}=t[i]||{productList:o,isFetching:r};return{productList:a,isFetching:s}})),Sm=(0,Cm.Mz)([e=>e.locale.allCurrencies,e=>e.locale.preferredCurrency],((e,t)=>e.find((e=>e.code===t))||{decimalDigits:0,symbol:"$",rate:1})),Gm=({value:e})=>{const{decimalDigits:t,symbol:n,rate:i=1}=(0,El.useSelector)(Sm);return Se()?null:z.createElement(z.Fragment,null,(0,ym.formatMoney)(e*i,n,t))},{generalStyle:Qm}=ue.A,Em=q.default.div`
    box-sizing: border-box;

    display: flex;
    flex-direction: ${({isPriceOnTop:e})=>e?"column-reverse":"column"};
    justify-content: flex-end;
    width: 100%;
`,Fm=q.default.div.attrs((e=>({style:e.style})))`
    visibility: ${e=>e.isVisible?"visible":"hidden"};

    color: ${e=>e.isVertical?"#aaaaaa":"#999999"};
    font-weight: ${e=>e.isVertical?"unset":500};
    font-size: 12px;
    text-decoration: line-through;
    ${({isVertical:e})=>e&&Ce(12,1,12,"break-all")}
    ${({isPriceOnTop:e,offsetWidth:t,isVertical:n})=>e?q.css`
                  ${n&&`width: min(100%, calc(100% - ${t}px));`}
                  line-height: 24px;
                  max-height: unset;
              `:q.css`
                  line-height: 12px;
              `};
`,wm=q.default.div.attrs((e=>({style:e.style})))`
    ${({isUseDiscountMoneyColor:e,theme:t})=>{var n,i,o;return e?q.css`
                  color: ${(null==(n=null==t?void 0:t.generalStyle)?void 0:n.discountMoneyColor)||(null==(i=null==t?void 0:t.generalStyle)?void 0:i.moneyColor)||Qm.discountMoneyColor};
              `:q.css`
                  color: ${(null==(o=null==t?void 0:t.generalStyle)?void 0:o.moneyColor)||Qm.moneyColor};
              `}};
    font-weight: ${e=>e.isVertical?"unset":500};
    font-size: 14px;
    ${Ce(14,1,14,"break-all")}
    ${({isPriceOnTop:e,offsetWidth:t,isVertical:n,isPriceWidthExtendAllLine:i})=>e?q.css`
                  line-height: 14px;
              `:q.css`
                  ${n&&(i?"width: 100%":`width: min(100%, calc(100% - ${t}px))`)};
                  line-height: 24px;
                  max-height: unset;
              `};
`,Tm=({isPriceWidthExtendAllLine:e=!1,isShowSuggestPrice:t,isShowPrice:n,isSuggestPriceShowPrice:i,isVertical:o,isMobile:r,suggestPrice:a,specialPrice:s,price:c,priceStyle:l,priceDisplayType:u,pairsPrice:d,pairsPoints:g,isShowShoppingCart:p,isShowFav:m,isPriceOnTop:f})=>{const I=Xp([m,p]).calcWidth-6,h=u===Gt.POINT_PAY?a:(0,iu.getDisplaySuggestPrice)(c,a,s,i),b=(0,iu.getDisplayPrice)(c,s),y=t&&(0,iu.isShowSuggestPrice)(u,b,h,d),C=h>b;return z.createElement(Em,{isVertical:o,isPriceOnTop:f},z.createElement(Fm,{"data-qe-id":"body-suggest-price-text",isVisible:y,isVertical:o,offsetWidth:I,isPriceOnTop:f},z.createElement(Gm,{value:h||0})),n&&b>0?z.createElement(wm,{"data-qe-id":"body-price-text",isVertical:o,style:l,isPriceOnTop:f,offsetWidth:I,isPriceWidthExtendAllLine:e,isUseDiscountMoneyColor:C},u===Gt.PRICE&&z.createElement(Gm,{value:b}),u===Gt.POINT_PAY&&z.createElement(z.Fragment,null,z.createElement("span",null,z.createElement(es.HT,{value:jn.THEME_CORE.PRODUCT.POINTS,points:(0,ym.formatNumber)(g)}),"+"),z.createElement(Gm,{value:d}))):null)},xm=q.default.div`
    box-sizing: border-box;
    margin-bottom: 5px;
    overflow: hidden;
    font-weight: 400;
    font-size: 12px;
    color: ${J.warmGrey};
    line-height: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
`,km=({isVertical:e,children:t})=>z.createElement(xm,{isVertical:e},t),{tagStyle:Nm}=ue.A,Om=q.default.div`
    display: flex;
    margin-bottom: 4px;
    flex-wrap: wrap;
    gap: 4px;
`,Zm=q.default.div`
    background-color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.tagStyle)?void 0:t.emphasisTagBgColor)||Nm.emphasisTagBgColor}};
    color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.tagStyle)?void 0:t.emphasisTagTextColor)||Nm.emphasisTagTextColor}};
    padding: 0 4px;
    font-size: 12px;
    border-radius: 2px;
    height: 20px;
    box-sizing: border-box;
    line-height: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
`,Um=({tagList:e})=>z.createElement(Om,null,e.map(((e,t)=>z.createElement(Zm,{"data-qe-id":"body-promotion-label-text",key:`${t}_${e}`},e)))),{fontSizeDefault:Rm}=be,Xm=q.default.div.attrs((e=>({style:e.style})))`
    box-sizing: border-box;
    margin-bottom: 4px;
    height: 36px;

    overflow: hidden;
    font-weight: normal;
    font-size: ${Rm};
    color: ${J.blackTwo};
    line-height: 18px;
    text-overflow: ellipsis;
    white-space: normal;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
`,Wm=({isVertical:e,customStyle:t,titleTag:n,children:i})=>z.createElement(Xm,{"data-qe-id":"body-sale-page-title-text",isVertical:e,style:null==t?void 0:t.titleStyle},n||null,i),Vm={position:"absolute",left:0,top:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.75)",pointerEvents:"none",zIndex:ye.componentZindex.base},Pm={boxSizing:"border-box",maxWidth:"90%",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",height:"28px",borderRadius:"16px",backgroundColor:"rgba(0, 0, 0, 0.7)",padding:"0 0.7em",display:"flex",justifyContent:"center",alignItems:"center",fontSize:"15px",fontWeight:"normal",fontStyle:"normal",fontStretch:"normal",lineHeight:"normal",letterSpacing:"normal",color:"#ffffff",pointerEvents:"none",zIndex:ye.componentZindex.base},Dm={display:"flex",justifyContent:"center",alignItems:"center",width:"100%",height:"100%",background:"rgba(255, 255, 255, 0.60)",backdropFilter:"blur(2px)",position:"absolute",zIndex:2},Hm=({children:e})=>{const{restrictedChild:t,maskChild:n}=am(e);return z.createElement("div",{style:Vm},t.length>0&&z.createElement("div",{style:Dm},t),n.length>0&&z.createElement("div",{style:Pm},n))},Lm=q.default.div`
    position: absolute;
    left: 0;
    top: 0;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.05));
    z-index: ${ye.componentZindex.base};
`,Ym=q.default.svg`
    flex: none;
    width: 26px;
    height: 32px;
`,Mm=q.default.span`
    position: absolute;
    top: 9px;
    left: 50%;
    transform: translateX(-50%);
    color: ${J.white};
    font-weight: 900;
    font-size: ${be.fontSizeXs};
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
`,Jm=({rank:e})=>z.createElement(Lm,null,z.createElement(Ym,{viewBox:"0 0 26 32"},z.createElement("path",{d:"M0 0H26V26.5974L13 32L0 26.5974V0Z",fill:J.yellow})),z.createElement(Mm,null,e)),jm=q.default.div`
    padding-top: 5px;
    position: absolute;
    right: ${({distance:e})=>e};
    button {
        width: auto;
        height: auto;
        font-size: ${({bottomFontSize:e})=>e};
    }
`,zm=q.default.i`
    color: ${J.darkGrey};
    margin-left: 5px;
    cursor: pointer;
`,Km=({removeHandler:e,isVertical:t,isMobile:n})=>{const{bottomFontSize:i,distance:o}=(({isVertical:e,isMobile:t})=>{let n="0px",i="13px";return e||t?!e&&t?(n="10px",i="13px"):e&&!t?(n="8px",i="16px"):e&&t&&(n="6px",i="13px"):(n="15px",i="16px"),{distance:n,bottomFontSize:i}})({isVertical:t,isMobile:n});return z.createElement(jm,{bottomFontSize:i,distance:o},z.createElement(zm,{className:"ico ico-close",onClick:t=>{t.stopPropagation(),e()}}))};var qm=Object.defineProperty,$m=Object.getOwnPropertySymbols,ef=Object.prototype.hasOwnProperty,tf=Object.prototype.propertyIsEnumerable,nf=(e,t,n)=>t in e?qm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const of=(0,q.default)(Lg.A)`
    // 解套件搭配不固定的元素時，會在滑動產生高度偏移的問題
    .slick-slide > div {
        display: flex;
    }
`,rf=q.default.div`
    border-radius: 6px;
    display: inline-block;
    margin: 0px 1.5px;
    width: ${({size:e})=>e};
    height: ${({size:e})=>e};
    background-color: ${({dotColor:e})=>e};
    vertical-align: middle;
    transition-property: background-color, font-size;
    transition-duration: 0.1s;
    transition-timing-function: ease-out;
`,af=q.default.div`
    display: flex;
    transform: ${({transformNumber:e})=>`translate(${e}, 0px);`};
    transition-duration: 0.2s;
`,sf=q.default.div`
    position: absolute;
    bottom: 6px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: ${ye.componentZindex.sliderDots};
`,cf=({listLength:e,children:t})=>{const n=50/(e-1),[i,o]=(0,z.useState)(0),[r,a]=(0,z.useState)(0),[s,c]=(0,z.useState)(4),[l,u]=(0,z.useState)("25%"),d={dots:!0,infinite:!0,speed:500,slidesToShow:1,slidesToScroll:1,dotsClass:"",appendDots:e=>z.createElement(sf,null,z.createElement(af,{transformNumber:l},e)),customPaging:e=>(e=>{let t="4px",n="#DDDDDD";return e===i&&(t="6px",n="#999999"),r<=e&&s>=e?z.createElement(rf,{key:e,size:t,dotColor:n}):z.createElement(rf,{key:e,size:t,dotColor:"transparent"})})(e),afterChange:t=>{u(25-t*n+"%"),o(t),(t=>{t<3?(a(0),c(4)):t>e-3?(a(e-5),c(e)):(a(t-2),c(t+2))})(t)}};return z.createElement(of,((e,t)=>{for(var n in t||(t={}))ef.call(t,n)&&nf(e,n,t[n]);if($m)for(var n of $m(t))tf.call(t,n)&&nf(e,n,t[n]);return e})({},d),t)},lf=q.default.a`
    display: block;
    position: relative;
    border-bottom: none;
`,uf=q.default.div`
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 6px;
    flex: ${({isVertical:e})=>e?"unset":1};
    display: flex;
    flex-direction: column;
    justify-content: ${({isVertical:e})=>e?"space-between":"unset"};
`,df=q.default.div`
    display: flex;
    justify-content: space-between;
    flex-direction: ${({isButton:e,isActionBtnNewLine:t})=>e||t?"column":"row"};
    align-items: ${({isButton:e})=>e?"unset":"flex-end"};

    ${({isVertical:e})=>!e&&q.css`
            flex: 1;
            flex-direction: column;
            align-items: flex-start;
            justify-content: space-between;
        `}
`,gf=q.default.div`
    ${({hasRemoveIcon:e})=>e?"padding-right: 20px":""}
`,pf=q.default.div`
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
`;var mf=Object.defineProperty,ff=Object.defineProperties,If=Object.getOwnPropertyDescriptors,hf=Object.getOwnPropertySymbols,bf=Object.prototype.hasOwnProperty,yf=Object.prototype.propertyIsEnumerable,Cf=(e,t,n)=>t in e?mf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vf=(e,t)=>{for(var n in t||(t={}))bf.call(t,n)&&Cf(e,n,t[n]);if(hf)for(var n of hf(t))yf.call(t,n)&&Cf(e,n,t[n]);return e},Bf=(e=>(e.BOTTOMMASK="bottom-mask",e.MIDDLEMASK="middle-mask",e))(Bf||{});const Af=({maskConfig:e})=>{const{maskType:t,isShowMask:n,maskChildren:i}=e;return n&&t?"middle-mask"===t?z.createElement(Hm,null,i):"bottom-mask"===t?z.createElement(um,null,i):null:null},_f={width:"65%"},Sf=({maskConfig:e,imageServiceConfig:t,imgAlt:n})=>{const{maskType:i,isShowMask:o,maskChildren:r}=e,a=z.createElement("img",{loading:"lazy",style:_f,src:ot(t,mr),alt:n});return o&&i?"middle-mask"===i?z.createElement(Hm,null,a,r):"bottom-mask"===i?z.createElement(um,null,a,r):null:z.createElement(Hm,null,a)},Gf=({bottomButtonBlock:e,contentbottomBlock:t,isVertical:n=!0,subTitle:i,displayMode:o=St.DESKTOP,cardEdgeScale:{selectedValue:r}={selectedValue:"1:1"},customStyle:a,columnCount:s,title:c="",information:l="",salePageId:u=0,position:d,isEditMode:g=!1,imageSrc:p,moduleId:m="",isEnableProudctCardGroup:f=!1,isEnableMask:I=!1,imageServiceConfig:h,maskConfig:b={isShowMask:!1},categoryId:y,salePageCode:C="",favoriteList:v=[],favoriteConfig:B={isShowFav:!1,isFav:!1,isDisable:!1,buttonType:Ft.ICON,onAddFavorite:()=>{}},tagList:A=[],priceConfig:_={price:0,isShowPrice:!1,suggestPrice:0,specialPrice:0,isShowSuggestPrice:!1,isPriceOnTop:!0,isSuggestPriceShowPrice:!1,priceDisplayType:Gt.PRICE},pointPayConfig:S={pairsPoints:0,pairsPrice:0},productBadgeImage:G,shoppingCartConfig:Q={isShowShoppingCart:!0,isDisable:!1,onAddShoppingCart:()=>{}},rank:E,cardLink:F={link:"",target:"_blank",toSalePageCallBackFunction:()=>{}},removeIconConfig:w={hasRemoveIcon:!1,removeHandler:()=>{}},imageList:T=[],titleTag:x,note:k="",salePageGroup:N,promotionMemberCollectionIdList:O=[],isRestricted:Z=!1,sourceType:U,combinedMetafields:R=[],metafieldTemplate:X})=>{var W,V;const{price:P,isShowPrice:D,suggestPrice:H,isShowSuggestPrice:L,isPriceOnTop:Y,priceDisplayType:M,isSuggestPriceShowPrice:J,specialPrice:j}=_,{pairsPoints:K,pairsPrice:q}=S,{link:$,target:ee,toSalePageCallBackFunction:te}=F,{isShowFav:ne,isFav:ie,buttonType:oe,onAddFavorite:re}=B,{isClickEntryButton:ae,handlePopUpToggleFn:se}=(0,z.useContext)(Gp),[ce,le]=(0,z.useState)({id:u,link:$,imageSrc:p,imageList:T,title:c,isFav:ie,suggestPrice:H,price:P,pairsPoints:K,pairsPrice:q,priceDisplayType:M,rank:E,maskConfig:b,information:l,subTitle:i,salePageCode:C,productBadgeImage:G,specialPrice:j,tagList:A,isRestricted:Z,combinedMetafields:R}),[ue,de]=(0,z.useState)(ie||!1),[ge,pe]=(0,z.useState)(),{setSalePageId:me,setCurrentProductInfo:fe}=(0,z.useContext)(Wu),Ie=(0,z.useMemo)((()=>{const e=Wo(),{productCard:t}=e;return Object.keys(e).length&&t?vf(vf({},a),t):a}),[]),he=JSON.stringify(A);(0,z.useEffect)((()=>{de(ie||(null==v?void 0:v.includes(ce.id)))}),[ie,v]),(0,z.useEffect)((()=>{ce.isRestricted&&"false"!==(0,vn.getCookie)("isRestricted")?pe(!0):pe(!1)}),[ae]),(0,z.useEffect)((()=>{le({id:u,link:$,imageSrc:p,imageList:T,title:c,isFav:ie,suggestPrice:H,price:P,pairsPoints:K,pairsPrice:q,priceDisplayType:M,rank:E,maskConfig:b,information:l,subTitle:i,salePageCode:C,productBadgeImage:G,specialPrice:j,tagList:JSON.parse(he),isRestricted:Z,combinedMetafields:R}),Z&&"false"!==(0,vn.getCookie)("isRestricted")?pe(!0):pe(!1)}),[u,P,H,he]);const be=({salePageId:e,title:t,price:n,suggestPrice:i,position:o,link:r,toSalePageCallBackFunction:a,target:s="_blank"})=>{a&&a(e,t,n,i,r?window.location.origin+r:"",o),r&&window.open(r,s)},ye=(({salePageId:e,title:t,price:n,suggestPrice:i,position:o,isFav:r,setIsFav:a,onAddFavorite:s})=>(0,z.useCallback)((c=>{if(c.preventDefault(),c.stopPropagation(),!e)return;const l=!r;a(l),s&&s(e,t,n,i,l,o)}),[e,r,a,s,t,n,i,o]))({salePageId:ce.id,title:ce.title,price:ce.price,suggestPrice:ce.suggestPrice,position:d,isFav:ue,setIsFav:de,onAddFavorite:re}),{checkPurchaseQualificationValid:Ce}=(0,z.useContext)(_p),ve=()=>{Q.onAddShoppingCart?Q.onAddShoppingCart():(0,Lc.flushSync)((()=>{me(ce.id),fe({id:ce.id,name:ce.title,price:ce.price,suggestPrice:ce.suggestPrice,categoryId:y,salePageCode:ce.salePageCode})}))},Be=e=>{const t=ke(),n=mn(t),{shopId:i}=n;Fp({streamInjection:n,payload:{salePageIds:[e],favList:v}}).then((({productList:e})=>{const t=e[0],{isComingSoon:n,isSoldOut:i,soldOutActionType:o,displayTags:a,isFav:s,priceDisplayType:c,promotionPriceList:l,isRestricted:u,price:d,enableIsComingSoon:g,isShowSellingStartDateTime:p,sellingStartDateTime:m,listingStartDateTime:f}=t,h=Wg({isEnableMask:I,isComingSoon:n,isSoldOut:i,soldOutActionType:o,enableIsComingSoon:g,isShowSellingStartDateTime:p,sellingStartDateTime:m,listingStartDateTime:f})||{},b=xa(a,r),y=(0,iu.mappingSpecialPriceData)(l,O),C=y?y.price:0,v=(0,iu.mappingSpecialPriceDataLabel)(y,d,c),B=v?[v]:[],{combinedMetafields:A}=Oa(t,X);var _;le((_=vf({},t),ff(_,If({maskConfig:h,productBadgeImage:b,specialPrice:C,tagList:B,combinedMetafields:A})))),de(s),u&&"false"!==(0,vn.getCookie)("isRestricted")?pe(!0):setTimeout((()=>pe(!1)),Bt)})).catch((t=>{ze.error(`[ERROR] fetchSalePageList: ${je(t)}: ${Je(t)}: shopId: ${i}, salePageId: ${e}`)}))},Ae=(0,z.useMemo)((()=>ot(h,g?"recommendationId"===U?tr:er:jo)),[g,h,U]),_e=L||D&&ce.price>0,Se="ProductC"===m&&o===St.MOBILE;return z.createElement(lf,{href:ce.link||"javascript:void(0)",onClick:e=>{e.preventDefault(),ce.isRestricted&&"false"!==(0,vn.getCookie)("isRestricted")&&se?se(!0,(()=>be({salePageId:ce.id,title:ce.title,price:ce.price,suggestPrice:ce.suggestPrice,position:d,link:ce.link,toSalePageCallBackFunction:te,target:ee}))):be({salePageId:ce.id,title:ce.title,price:ce.price,suggestPrice:ce.suggestPrice,position:d,link:ce.link,toSalePageCallBackFunction:te,target:ee})},className:nu()({"product-card__vertical":n,"product-card__vertical--hover":n&&o===St.DESKTOP,"product-card__horizontal":!n,"new-product-card":!0}),style:null==Ie?void 0:Ie.bannerStyle},z.createElement("div",{className:nu()({"product-card__vertical__wrapper":n,"product-card__horizontal__wrapper":!n})},z.createElement("div",{className:nu()({"product-card__vertical__media-container":n,"product-card__horizontal__media-container":!n})},ce.imageList&&ce.imageList.length>1&&o===St.MOBILE&&n?z.createElement(cf,{listLength:ce.imageList.length},ce.imageList.map(((e,t)=>z.createElement(pf,{key:e},z.createElement(mm,{isEditMode:g,isVertical:n,imageSrc:e||Ae,edgeScale:r,title:ce.title,figureStyle:null==a?void 0:a.figureStyle,productBadgeImage:0===t?ce.productBadgeImage:""}))))):z.createElement(pf,null,z.createElement(mm,{isEditMode:g,isVertical:n,imageSrc:ce.imageSrc||Ae,edgeScale:r,title:ce.title,figureStyle:null==Ie?void 0:Ie.figureStyle,productBadgeImage:ce.productBadgeImage})),ge?!An()&&z.createElement(Sf,{maskConfig:ce.maskConfig,imageServiceConfig:h,imgAlt:ce.title}):(null==(W=ce.maskConfig)?void 0:W.isShowMask)&&z.createElement(Af,{maskConfig:ce.maskConfig}),ce.rank?z.createElement(Jm,{rank:ce.rank}):null),f&&(null==(V=null==N?void 0:N.SalePageItems)?void 0:V.length)>0&&n&&1!==s&&(o===St.MOBILE?z.createElement(vp,{mainSalePageId:u,salePageGroup:N,handleProductGroupClick:Be}):z.createElement(sp,{mainSalePageId:u,salePageGroup:N,handleProductGroupClick:Be})),z.createElement(uf,{isVertical:n},ce.subTitle?z.createElement(km,{isVertical:n},ce.subTitle):null,(Ge=ce.combinedMetafields,Array.isArray(Ge)&&0!==Ge.length?z.createElement(Rp,{metafields:ce.combinedMetafields}):z.createElement(z.Fragment,null,ce.title&&z.createElement(gf,{hasRemoveIcon:null==w?void 0:w.hasRemoveIcon},z.createElement(Wm,{isVertical:n,customStyle:Ie,titleTag:x},ce.title)))),ce.information?z.createElement(Im,{isVertical:n},ce.information):null,ce.tagList.filter((e=>!!e)).length>0&&z.createElement(Um,{tagList:ce.tagList}),z.createElement(df,{isVertical:n,isButton:oe===Ft.BUTTON,isActionBtnNewLine:Se},_e&&z.createElement(Tm,{isPriceWidthExtendAllLine:"ProductC"===m&&o===St.MOBILE,isShowSuggestPrice:L,isShowPrice:D,isSuggestPriceShowPrice:J,isVertical:n,specialPrice:ce.specialPrice,suggestPrice:ce.suggestPrice,price:ce.price,priceStyle:null==Ie?void 0:Ie.priceStyle,"data-qe-id":"product_card_price",isShowShoppingCart:Q.isShowShoppingCart,isShowFav:ne,isPriceOnTop:Y,isMobile:o===St.MOBILE,priceDisplayType:ce.priceDisplayType,pairsPrice:ce.pairsPrice,pairsPoints:ce.pairsPoints}),Q.isShowShoppingCart||ne?z.createElement(rm,{btnType:oe,isShowShoppingCart:Q.isShowShoppingCart,isShoppingCartDisable:Q.isDisable,isFavDisable:B.isDisable,isShowFav:ne,isFav:ue,isActionBtnNewLine:Se,isVertical:n,onAddFavorite:ye,onAddToCart:()=>{return e=function*(){var e;try{if(!(yield Ce(ce.id)))return}catch(t){null==(e=Me)||e.sendLogs([{severity:"ERROR",message:"[components/cross/ProductCard/index.tsx] onCheckValidBeforeAddShoppingCart error",customPayload:{stack:t.stack,errorInfo:t.message}}])}ce.isRestricted&&"false"!==(0,vn.getCookie)("isRestricted")&&se?se(!0,ve):ve()},new Promise(((n,i)=>{var o=n=>{try{a(e.next(n))}catch(t){i(t)}},r=n=>{try{a(e.throw(n))}catch(t){i(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,r);a((e=e.apply(void 0,null)).next())}));var e}}):null,k&&z.createElement(bm,{text:k}),t||null)),e||null,(null==w?void 0:w.hasRemoveIcon)&&z.createElement(Km,{removeHandler:w.removeHandler,isVertical:n,isMobile:o===St.DESKTOP})));var Ge};var Qf=Object.defineProperty,Ef=Object.defineProperties,Ff=Object.getOwnPropertyDescriptors,wf=Object.getOwnPropertySymbols,Tf=Object.prototype.hasOwnProperty,xf=Object.prototype.propertyIsEnumerable,kf=(e,t,n)=>t in e?Qf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Nf=({columnCount:e,columnGutter:t=0,rowGutter:n=0,customCssClass:{wrapperCssClass:i="",containerCssClass:o="",contentCssClass:r="",columnItemCssClass:a=""}={},customStyles:s={},children:c})=>{const l=nu()("column-grid-container",o),u=nu()("column-grid-container__wrapper",i),d=nu()("column-grid-container__content",r),g=nu()("column-grid-container__column",a),{containerStyle:p={},wrapperStyle:m={},columnItemStyle:f={}}=s,I={width:`calc((100% - ${t*(e-1)}px) / ${e})`,padding:f.padding,position:f.position||"static",display:f.display||"initial"},h=z.Children.count(c),b=z.Children.map(c,((i,o)=>{const r=Math.ceil((o+1)/e)>=Math.ceil(h/e),a=(s=((e,t)=>{for(var n in t||(t={}))Tf.call(t,n)&&kf(e,n,t[n]);if(wf)for(var n of wf(t))xf.call(t,n)&&kf(e,n,t[n]);return e})({},I),Ef(s,Ff({marginRight:`${(o+1)%e==0?0:t}px`,marginBottom:`${r?0:n}px`})));var s;return z.createElement("li",{key:o,className:g,style:a},i)}));return z.createElement("div",{className:l,style:p},z.createElement("div",{className:u,style:m},z.createElement("ul",{className:d},b)))},Of=q.default.div`
    display: flex;
    min-width: fit-content;
    width: ${({areaRenderInfo:e})=>`calc(min(${e.calcWidth}px, 100%))`};
    justify-content: ${({areaRenderInfo:e})=>1===e.visibleButtonCount?"flex-end":"space-between"};
`,Zf=q.default.div`
    display: grid;
    gap: 5px;
    grid-template-columns: 1fr;
    margin-top: 10px;
`,Uf=({addToCartBtnStyle:e,btnType:t,favoriteBtnStyle:n,favoriteBtnPosition:i,isShowShoppingCart:o,isShowFav:r,isVertical:a,isFav:s,onAddFavorite:c,onAddToCart:l})=>{const u=()=>z.createElement(z.Fragment,null,r&&i===kt.ACTION_BTN_AREA?z.createElement(tm,{btnType:t,btnStyle:n,isFav:s,onBtnClick:c}):null,o?z.createElement(Mp,{btnType:t,btnStyle:e,onBtnClick:l}):null);return t===Ft.BUTTON?z.createElement(Zf,null,u()):z.createElement(Of,{areaRenderInfo:(e=>{const t=e.filter((e=>!0===e)).length;return{visibleButtonCount:t,calcWidth:16*t+20*(t-1)}})([r&&i===kt.ACTION_BTN_AREA,o])},u())},Rf=({isEditMode:e,isVertical:t,imageSrc:n,edgeScale:i,title:o,figureStyle:r})=>{const a=(0,z.useCallback)((({currentTarget:e})=>{const{clientWidth:n,clientHeight:i}=e;if(n>i){const n=t?"product-card__vertical__media-wide":"product-card__horizontal__media-wide",i=t?"product-card__vertical__media-tall":"product-card__horizontal__media-tall";e.classList.add(n),e.classList.remove(i)}else{const n=t?"product-card__vertical__media-tall":"product-card__horizontal__media-tall",i=t?"product-card__vertical__media-wide":"product-card__horizontal__media-wide";e.classList.add(n),e.classList.remove(i)}}),[t]);return z.createElement("figure",{style:r,className:nu()({"product-card__vertical__frame":t,"product-card__vertical__frame-square":t&&i===vt.ONE_TO_ONE,"product-card__vertical__frame-rectangle":t&&i===vt.THREE_TO_FOUR,"product-card__horizontal__frame":!t,"product-card__horizontal__frame-square":!t&&i===vt.ONE_TO_ONE,"product-card__horizontal__frame-rectangle":!t&&i===vt.THREE_TO_FOUR})},e?z.createElement("img",{loading:"lazy",className:nu()({"product-card__vertical__media":t,"product-card__horizontal__media":!t}),src:n,onLoad:a,alt:o}):z.createElement("img",{loading:"lazy",className:nu()({"product-card__vertical__media":t,"product-card__vertical__media-tall":t,"product-card__horizontal__media":!t,"product-card__horizontal__media-tall":!t}),src:n,alt:o}))},Xf=q.default.div`
    box-sizing: border-box;
    margin-bottom: 5px;
    overflow: hidden;
    font-size: 13px;
    color: ${J.brownishGrey};
    line-height: 20px;
    text-overflow: ellipsis;
    white-space: nowrap;
`,Wf=({isVertical:e,children:t})=>z.createElement(Xf,{isVertical:e},t),{generalStyle:Vf}=ue.A,Pf=q.default.div`
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;
`,Df=q.default.div.attrs((e=>({style:e.style})))`
    visibility: ${e=>e.isVisible?"visible":"hidden"};

    color: ${e=>e.isVertical?"#aaaaaa":"#999999"};
    font-weight: ${e=>e.isVertical?"unset":500};
    font-size: 12px;
    line-height: 1.2;
    text-decoration: line-through;
`,Hf=q.default.div.attrs((e=>({style:e.style})))`
    color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.generalStyle)?void 0:n.moneyColor)||Vf.moneyColor}};
    font-weight: ${e=>e.isVertical?"unset":500};
    font-size: 14px;
    line-height: 1.2;
`,Lf=({isShowSuggestPrice:e,isShowPrice:t,isVertical:n,suggestPrice:i,price:o,priceStyle:r})=>z.createElement(Pf,{isVertical:n},z.createElement(Df,{isVisible:e&&i>o,isVertical:n},z.createElement(Gm,{value:i||0})),t&&o>0?z.createElement(Hf,{isVertical:n,style:r},z.createElement(Gm,{value:o})):null),Yf=q.default.div`
    box-sizing: border-box;
    margin-bottom: 5px;
    overflow: hidden;
    font-weight: 400;
    font-size: 12px;
    color: ${J.warmGrey};
    line-height: 16px;
    text-overflow: ellipsis;
    white-space: nowrap;
`,Mf=({isVertical:e,children:t})=>z.createElement(Yf,{isVertical:e},t),{fontSizeDefault:Jf}=be,jf=q.default.div.attrs((e=>({style:e.style})))`
    box-sizing: border-box;
    margin-bottom: 5px;
    height: 40px;

    overflow: hidden;

    font-weight: normal;
    font-size: ${Jf};
    color: ${J.blackTwo};
    line-height: 20px;
    text-overflow: ellipsis;
    white-space: normal;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
`,zf=({isVertical:e,customStyle:t,children:n})=>z.createElement(jf,{isVertical:e,style:null==t?void 0:t.titleStyle},n),Kf=q.default.div`
    position: absolute;
    right: 0;
    top: 0;
    filter: drop-shadow(0px 2px 2px rgba(0, 0, 0, 0.05));
    z-index: ${ye.componentZindex.base};
`,qf=q.default.svg`
    flex: none;
    width: 26px;
    height: 32px;
`,$f=q.default.span`
    position: absolute;
    top: 9px;
    left: 50%;
    transform: translateX(-50%);
    color: ${J.white};
    font-weight: 900;
    font-size: ${be.fontSizeXs};
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
`,eI=({rank:e})=>z.createElement(Kf,null,z.createElement(qf,{viewBox:"0 0 26 32"},z.createElement("path",{d:"M0 0H26V26.5974L13 32L0 26.5974V0Z",fill:J.yellow})),z.createElement($f,null,e)),tI=q.default.div`
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
`,nI=q.default.div`
    box-sizing: border-box;
    max-width: 90%;

    position: absolute;
    left: 50%;
    bottom: 8px;
    transform: translate(-50%);
    height: 22px;
    border-radius: 11px;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 0 0.7em;

    display: flex;
    justify-content: center;
    align-items: center;

    font-size: 12px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #ffffff;
`,iI=q.default.span`
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
`,oI=({children:e})=>z.createElement(tI,null,z.createElement(nI,null,z.createElement(iI,null,e))),rI=(q.default.div`
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.75);
`,q.default.div`
    box-sizing: border-box;
    max-width: 90%;

    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 28px;
    border-radius: 16px;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 0 0.7em;

    display: flex;
    justify-content: center;
    align-items: center;

    font-size: 15px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #ffffff;
`,q.default.span`
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
`,{position:"absolute",left:0,top:0,width:"100%",height:"100%",backgroundColor:"rgba(255, 255, 255, 0.75)"}),aI={boxSizing:"border-box",maxWidth:"90%",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",height:"28px",borderRadius:"16px",backgroundColor:"rgba(0, 0, 0, 0.7)",padding:"0 0.7em",display:"flex",justifyContent:"center",alignItems:"center",fontSize:"15px",fontWeight:"normal",fontStyle:"normal",fontStretch:"normal",lineHeight:"normal",letterSpacing:"normal",color:"#ffffff"},sI={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},cI=({children:e})=>z.createElement("div",{style:rI},z.createElement("div",{style:aI},z.createElement("span",{style:sI},e)));var lI=n(7475);const uI=(0,lI.createAction)("FETCH_ACTIVITY_LIST")(),dI=(0,lI.createCustomAction)("FETCH_ACTIVITY_LIST_FULFILLED",(e=>({payload:e,module:"activity",dataSource:"activityList"}))),gI=(0,lI.createAction)("FETCH_ACTIVITY_LIST_REJECTED")(),pI=(0,lI.createAction)("FETCH_COUPON_LIST")(),mI=(0,lI.createCustomAction)("FETCH_COUPON_LIST_FULFILLED",(e=>({payload:e,dataSource:"couponList"}))),fI=(0,lI.createAction)("FETCH_COUPON_LIST_REJECTED")(),II=(0,lI.createAction)("FETCH_ECOUPON_LIST")(),hI=(0,lI.createCustomAction)("FETCH_ECOUPON_LIST_FULFILLED",(e=>({payload:e,dataSource:"ecouponList"}))),bI=(0,lI.createAction)("FETCH_ECOUPON_LIST_REJECTED")(),yI=(0,lI.createAction)("FETCH_FAVORITE_LIST")(),CI=(0,lI.createCustomAction)("FETCH_FAVORITE_LIST_FULFILLED",(e=>({payload:e,dataSource:"favoriteList"}))),vI=(0,lI.createCustomAction)("FETCH_FAVORITE_LIST_REJECTED",(e=>({errorMsg:e}))),BI=(0,lI.createAction)("FETCH_FAVORITE_COUNT")(),AI=(0,lI.createCustomAction)("FETCH_FAVORITE_COUNT_FULFILLED",(e=>({payload:e,dataSource:"favoriteCount"}))),_I=(0,lI.createCustomAction)("FETCH_FAVORITE_COUNT_REJECTED",(e=>({errorMsg:e}))),SI=(0,lI.createAction)("ADD_FAVORITE")(),GI=(0,lI.createCustomAction)("ADD_FAVORITE_FULFILLED",(e=>({payload:e,dataSource:"addFavoriteResult"}))),QI=(0,lI.createAction)("ADD_FAVORITE_REJECTED")(),EI=(0,lI.createCustomAction)("REMOVE_FAVORITE",(e=>e)),FI=(0,lI.createAction)("REMOVE_FAVORITE_FULFILLED")(),wI=(0,lI.createAction)("REMOVE_pFAVORITE_REJECTED")(),TI=(0,lI.createAction)("SET_EXCHANGE_RATES")(),xI=(0,lI.createAction)("SET_AVAILABLE_CURRENCIES")(),kI=(0,lI.createAction)("SET_PREFERRED_CURRENCY")(),NI=(0,lI.createAction)("INIT_LANG_INFO")(),OI=(0,lI.createCustomAction)("FETCH_RECAPTCHA_KEY",(()=>({}))),ZI=(0,lI.createCustomAction)("FETCH_RECAPTCHA_KEY_FULFILLED",(e=>({payload:e,dataSource:"reCaptchaKey"}))),UI=(0,lI.createAction)("FETCH_RECAPTCHA_KEY_REJECTED")(),RI=(0,lI.createCustomAction)("SEND_APP_DOWNLOAD_LINK",((e,t)=>({phoneNumber:e,reCaptchaToken:t}))),XI=(0,lI.createCustomAction)("SEND_APP_DOWNLOAD_LINK_FULFILLED",(e=>({payload:e,dataSource:"sendAppResult"}))),WI=(0,lI.createCustomAction)("SEND_APP_DOWNLOAD_LINK_REJECTED",(e=>({payload:e,dataSource:"sendAppResult"}))),VI=(0,lI.createAction)("INIT_MESSAGE")(),PI=(0,lI.createAction)("SHOW_MESSAGE")(),DI=(0,lI.createAction)("SWITCH_LOADING")(),HI=(0,lI.createAction)("FINISH_TRACKING_INITIALIZING")(),LI=(0,lI.createAction)("FETCH_PROMOTION_COUNT")(),YI=(0,lI.createAction)("FETCH_PROMOTION_COUNT_FULFILLED")(),MI=(0,lI.createAction)("FETCH_PROMOTION_COUNT_REJECTED")(),JI=(0,lI.createAction)("FETCH_PROMOTION_TARGET_LIST")(),jI=(0,lI.createCustomAction)("FETCH_PROMOTION_TARGET_LIST_FULFILLED",(e=>({payload:e,dataSource:"promotionTargetList"}))),zI=(0,lI.createAction)("FETCH_PROMOTION_TARGET_LIST_REJECTED")(),KI=(0,lI.createCustomAction)("FETCH_PROMOTION_LIST",(({moduleKey:e,orderBy:t,startIndex:n,maxCount:i,typeDef:o,promotionListFromType:r})=>({moduleKey:e,orderBy:t,startIndex:n,maxCount:i,typeDef:o,promotionListFromType:r}))),qI=(0,lI.createCustomAction)("FETCH_PROMOTION_LIST_FULFILLED",((e,t)=>({moduleKey:e,payload:t}))),$I=(0,lI.createAction)("FETCH_PROMOTION_LIST_REJECTED")(),eh=(0,lI.createCustomAction)("FETCH_PROMOTION_LIST_BY_ID",(({moduleKey:e,promotionIdList:t,promotionListFromType:n})=>({moduleKey:e,promotionIdList:t,promotionListFromType:n}))),th=(0,lI.createCustomAction)("FETCH_PROMOTION_LIST_BY_ID_FULFILLED",((e,t)=>({moduleKey:e,payload:t}))),nh=(0,lI.createCustomAction)("FETCH_PROMOTION_LIST_BY_ID_REJECTED",(e=>({error:e}))),ih=(0,lI.createAction)("FETCH_PROMOTION_LIST_IN_SHOP_CATEGORY")(),oh=(0,lI.createAction)("FETCH_PROMOTION_LIST_IN_SHOP_CATEGORY_FULFILLED")(),rh=(0,lI.createAction)("FETCH_PROMOTION_LIST_IN_SHOP_CATEGORY_REJECTED")(),ah=(0,lI.createAction)("FETCH_RETAIL_STORE_CUSTOM_LINK_SETTING_LIST")(),sh=(0,lI.createAction)("FETCH_RETAIL_STORE_CUSTOM_LINK_SETTING_LIST_FULFILLED")(),ch=(0,lI.createAction)("FETCH_RETAIL_STORE_CUSTOM_LINK_SETTING_LIST_REJECTED")(),lh=(0,lI.createCustomAction)("FETCH_HISTORY_SALEPAGE_LIST",(e=>({salePageIds:e}))),uh=(0,lI.createCustomAction)("FETCH_HISTORY_SALEPAGE_LIST_FULFILLED",(e=>({payload:e,dataSource:"historySalePageList"}))),dh=(0,lI.createAction)("FETCH_HISTORY_SALEPAGE_LIST_REJECTED")(),gh=(0,lI.createCustomAction)("FETCH_SALEPAGE_INFO",(e=>({salePageId:e}))),ph=(0,lI.createAction)("FETCH_SALEPAGE_INFO_FULFILLED")(),mh=(0,lI.createAction)("FETCH_SALEPAGE_INFO_REJECTED")(),fh=(0,lI.createCustomAction)("FETCH_SALEPAGE_STATUS",(e=>({salePageId:e}))),Ih=(0,lI.createAction)("FETCH_SALEPAGE_STATUS_FULFILLED")(),hh=(0,lI.createAction)("FETCH_SALEPAGE_STATUS_REJECTED")(),bh=(0,lI.createAction)("UPDATE_SALEPAGE_STOCK")(),yh=(0,lI.createAction)("UPDATE_SALEPAGE_STOCK_FULFILLED")(),Ch=(0,lI.createAction)("UPDATE_SALEPAGE_STOCK_REJECTED")(),vh=(0,lI.createCustomAction)("FETCH_SALEPAGE_LIST",((e,t)=>({dataKey:e,salePageIds:t}))),Bh=(0,lI.createCustomAction)("FETCH_SALEPAGE_LIST_FULFILLED",((e,t)=>({dataKey:e,payload:t}))),Ah=(0,lI.createCustomAction)("FETCH_SALEPAGE_LIST_REJECTED",(e=>({dataKey:e}))),_h=(0,lI.createCustomAction)("FETCH_SALEPAGE_LIST_BY_OUTER_IDS",((e,t,n,i)=>({dataKey:e,outerIds:t,defaultLocationId:n,isPreview:i}))),Sh=(0,lI.createCustomAction)("FETCH_SALEPAGE_LIST_BY_OUTER_IDS_FULFILLED",((e,t)=>({dataKey:e,payload:t}))),Gh=(0,lI.createAction)("FETCH_SALEPAGE_LIST_BY_OUTER_IDS_REJECTED")(),Qh=(0,lI.createCustomAction)("FETCH_SEARCH_LIST",(e=>({keyword:e}))),Eh=(0,lI.createCustomAction)("FETCH_SEARCH_LIST_FULFILLED",((e,t)=>({payload:t,shopId:e,dataSource:"searchList"}))),Fh=(0,lI.createCustomAction)("FETCH_SEARCH_LIST_REJECTED",((e,t)=>({shopId:e,payload:t}))),wh=(0,lI.createCustomAction)("FETCH_HOT_SEARCH_LIST",(e=>({shopId:e}))),Th=(0,lI.createCustomAction)("FETCH_HOT_SEARCH_LIST_FULFILLED",((e,t)=>({dataSource:"hotSearchList",shopId:e,payload:t}))),xh=(0,lI.createCustomAction)("FETCH_HOT_SEARCH_LIST_REJECTED",((e,t)=>({shopId:e,payload:t}))),kh=(0,lI.createAction)("FETCH_SHOPCATEGORY_LIST")(),Nh=((0,lI.createAction)("FETCH_BRAND_LIST")(),(0,lI.createAction)("FETCH_MULTISHOPCATEGORY_LIST")()),Oh=(0,lI.createAction)("FETCH_MULTISHOPCATEGORYBREADCRUMB_LIST")(),Zh=(0,lI.createCustomAction)("FETCH_MULTISHOPCATEGORY_LIST_FULFILLED",(e=>({payload:e,dataSource:"multiShopCategoryList"}))),Uh=(0,lI.createCustomAction)("FETCH_MULTISHOPCATEGORYBREADCRUMB_LIST_FULFILLED",(e=>({payload:e,dataSource:"multiShopCategoryBreadcrumbList"}))),Rh=(0,lI.createCustomAction)("FETCH_SHOPCATEGORY_LIST_BY_SERVICE_TYPE",((e,t)=>({serviceType:e,locationId:t}))),Xh=(0,lI.createCustomAction)("FETCH_SHOPCATEGORY_LIST_FULFILLED",(e=>({payload:e,dataSource:"shopCategoryList"}))),Wh=(0,lI.createCustomAction)("FETCH_BRAND_LIST_FULFILLED",(e=>({payload:e,dataSource:"brandList"}))),Vh=(0,lI.createAction)("FETCH_SHOPCATEGORY_LIST_REJECTED")(),Ph=(0,lI.createAction)("FETCH_SHOPCATEGORY_BREADCRUMB_LIST_REJECTED")(),Dh=((0,lI.createAction)("FETCH_BRAND_LIST_REJECTED")(),(0,lI.createCustomAction)("FETCH_CATEGORY_SALEPAGE_LIST",((e,{categoryId:t,orderBy:n,startIndex:i,maxCount:o,isCuratorable:r})=>({dataKey:e,categoryId:t,orderBy:n,startIndex:i,maxCount:o,isCuratorable:r})))),Hh=(0,lI.createCustomAction)("FETCH_CATEGORY_SALEPAGE_LIST_FULFILLED",((e,{dataKey:t})=>({dataKey:t,payload:e}))),Lh=(0,lI.createCustomAction)("FETCH_CATEGORY_SALEPAGE_LIST_REJECTED",(e=>({dataKey:e}))),Yh=(0,lI.createAction)("FETCH_RETAIL_STORE_CHANNEL")(),Mh=(0,lI.createAction)("FETCH_RETAIL_STORE_CHANNEL_FULFILLED")(),Jh=(0,lI.createAction)("FETCH_RETAIL_STORE_CHANNEL_REJECTED")(),jh=(0,lI.createAction)("SET_CATEGORY_SERVICE_TYPE")(),zh=(0,lI.createAction)("ETCH_ENABLE_DISPLAY_STORE_LIST")(),Kh=(0,lI.createAction)("FETCH_ENABLE_DISPLAY_STORE_LIST_FULFILLED")(),qh=(0,lI.createAction)("FETCH_ENABLE_DISPLAY_STORE_LIST_REJECTED")(),$h=(0,lI.createAction)("FETCH_SHOPPINGCART_COUNT")(),eb=(0,lI.createCustomAction)("FETCH_SHOPPINGCART_COUNT_FULFILLED",(e=>({payload:e,dataSource:"shoppingCartCount"}))),tb=(0,lI.createAction)("FETCH_SHOPPINGCART_COUNT_REJECTED")(),nb=(0,lI.createAction)("FETCH_SHOPPINGCART_PREVIEW_LIST")(),ib=(0,lI.createCustomAction)("FETCH_SHOPPINGCART_PREVIEW_LIST_FULFILLED",(e=>({payload:e,dataSource:"shoppingCartPreviewList"}))),ob=(0,lI.createAction)("FETCH_SHOPPINGCART_PREVIEW_LIST_REJECTED")(),rb=(0,lI.createAction)("\bADD_SHOPPINGCART_ITEM")(),ab=(0,lI.createAction)("\bADD_SHOPPINGCART_ITEM_FULFILLED")(),sb=(0,lI.createAction)("\bADD_SHOPPINGCART_ITEM_REJECTED")(),cb=(0,lI.createAction)("REMOVE_SHOPPINGCART_ITEM")(),lb=(0,lI.createAction)("REMOVE_SHOPPINGCART_ITEM_FULFILLED")(),ub=(0,lI.createAction)("REMOVE_SHOPPINGCART_ITEM_REJECTED")(),db=(0,lI.createAction)("PREPARE_ADD_TO_CART")(),gb=(0,lI.createAction)("PREPARE_ADD_TO_CART_FULFILLED")(),pb=(0,lI.createAction)("PREPARE_ADD_TO_CART_REJECTED")(),mb=(0,lI.createAction)("FETCH_MEMBER_COLLECTION_ID_LIST")(),fb=(0,lI.createCustomAction)("FETCH_MEMBER_COLLECTION_ID_LIST_FULFILLED",(e=>({payload:e,dataSource:"memberCollectionIdList"}))),Ib=(0,lI.createAction)("FETCH_MEMBER_COLLECTION_ID_LIST_REJECTED")(),hb=(0,lI.createAction)("FETCH_AUTH_ISLOGIN")(),bb=(0,lI.createCustomAction)("FETCH_AUTH_ISLOGIN_FULFILLED",(e=>({payload:e,dataSource:"isLogin"}))),yb=(0,lI.createAction)("FETCH_AUTH_ISLOGIN_REJECTED")(),Cb=(0,lI.createAction)("LINE_LOGIN",((e,t)=>({streamInjection:e,payload:t})))(),vb=(0,lI.createAction)("LINE_LOGIN_REJECTED")(),Bb=(0,lI.createAction)("LOGOUT")(),Ab=(0,lI.createCustomAction)("LOGOUT_FULFILLED",(e=>({payload:e,dataSource:"isLogOut"}))),_b=(0,lI.createAction)("LOGOUT_REJECTED")(),Sb=(0,lI.createAction)("SET_RETAIL_STORE_LOCATION_ID")(),Gb=(0,lI.createAction)("FETCH_USER_RETAIL_STORE_EXPRESS")(),Qb=(0,lI.createCustomAction)("FETCH_USER_RETAIL_STORE_EXPRESS_FULFILLED",(e=>({payload:e,dataSource:"retailStoreExpress"}))),Eb=(0,lI.createAction)("FETCH_USER_RETAIL_STORE_EXPRESS_REJECTED")(),Fb=(0,lI.createAction)("FETCH_USER_RETAIL_STORE_EXPRESS_LOCATION_ID")(),wb=(0,lI.createCustomAction)("FETCH_USER_RETAIL_STORE_EXPRESS_LOCATION_ID_FULFILLED",(e=>({payload:e,dataSource:"retailStoreExpressLocationId"}))),Tb=(0,lI.createAction)("FETCH_USER_RETAIL_STORE_EXPRESS_LOCATION_ID_REJECTED")(),xb=(0,lI.createAction)("FETCH_SP_CAT_AD_OFFICIAL_DATA")(),kb=(0,lI.createAction)("FETCH_SP_CAT_AD_OFFICIAL_DATA_FULFILLED")(),Nb=(0,lI.createAction)("FETCH_SP_CAT_AD_OFFICIAL_DATA_REJECTED")(),Ob=(0,lI.createAction)("FETCH_OFFICIAL_CUSTOM_LINK")(),Zb=(0,lI.createAction)("FETCH_OFFICIAL_CUSTOM_LINK_FULFILLED")(),Ub=(0,lI.createAction)("FETCH_OFFICIAL_CUSTOM_LINK_REJECTED")(),Rb=(0,lI.createAction)("SWITCH_CATEGORY")(),Xb=(0,lI.createAction)("SWITCH_CATEGORY_FULFILLED")(),Wb=(0,lI.createAction)("SWITCH_CATEGORY_REJECTED")(),Vb=(0,lI.createAction)("SWITCH_CATEGORY_ORDER_BY")(),Pb=(0,lI.createAction)("SWITCH_CATEGORY_ORDER_BY_FULFILLED")(),Db=(0,lI.createAction)("SWITCH_CATEGORY_ORDER_BY_REJECTED")(),Hb=(0,lI.createAction)("FETCH_CATEGORY_MORE_PRODUCTS")(),Lb=(0,lI.createAction)("FETCH_CATEGORY_MORE_PRODUCTS_FULFILLED")(),Yb=(0,lI.createAction)("FETCH_CATEGORY_MORE_PRODUCTS_EMPTY")(),Mb=(0,lI.createAction)("FETCH_CATEGORY_MORE_PRODUCTS_REJECTED")(),Jb=(0,lI.createAction)("FETCH_RELATIVE_TAGS_LIST")(),jb=(0,lI.createAction)("FETCH_RELATIVE_TAGS_LIST_FULFILLED")(),zb=(0,lI.createAction)("FETCH_RELATIVE_TAGS_LIST_REJECTED")(),Kb=(0,lI.createAction)("FETCH_SMART_TAG_SETTING_FULFILLED")();var qb=Object.defineProperty,$b=Object.getOwnPropertySymbols,ey=Object.prototype.hasOwnProperty,ty=Object.prototype.propertyIsEnumerable,ny=(e,t,n)=>t in e?qb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iy=(e,t)=>{for(var n in t||(t={}))ey.call(t,n)&&ny(e,n,t[n]);if($b)for(var n of $b(t))ty.call(t,n)&&ny(e,n,t[n]);return e};const oy=q.default.div`
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.9);
    padding: ${({isVertical:e})=>e?"10px":"8px 13px"};
    flex: ${({isVertical:e})=>e?"unset":1};
    display: flex;
    flex-direction: column;
    justify-content: space-between;
`,ry=q.default.div`
    display: flex;
    justify-content: space-between;
    flex-direction: ${({isButton:e})=>e?"column":"row"};
    align-items: ${({isButton:e})=>e?"unset":"flex-end"};
`,ay=q.default.div`
    position: absolute;
    top: 5px;
    right: 5px;
`,sy=q.default.div`
    height: 32px;
    display: flex;
    align-items: flex-end;
`,cy=({isFav:e,cardEdgeScale:{selectedValue:t}={selectedValue:"1:1"},isEditMode:n=!1,imageServiceConfig:i,isVertical:o=!0,displayMode:r=St.DESKTOP,customStyle:a,link:s="",rank:c,imageSrc:l="",title:u="",isShowSuggestPrice:d=!0,isShowPrice:g=!0,suggestPrice:p=0,price:m=0,btnType:f=Ft.ICON,addToCartBtnStyle:I=Tt.DEFAULT,favoriteBtnStyle:h=xt.DEFAULT,favoriteBtnPosition:b=kt.ACTION_BTN_AREA,isEnableMask:y=!1,isComingSoon:C=!1,isSoldOut:v=!0,isShowShoppingCart:B=!0,isShowFav:A=!0,id:_=0,categoryId:S=0,onTrackProductClick:G,position:Q,information:E="",subTitle:F="",onAddFavorite:w=()=>{},onCheckValidBeforeAddShoppingCart:T=()=>Promise.resolve(!0),isTargetBlank:x=!1,setToastInfo:k,salePageCode:N="",soldOutActionType:O=qu.x.OutOfStock,soldOutOperationBtn:Z})=>{const U=v&&O!==qu.x.BackInStockAlert&&!!Z,R=!U&&(d||g&&m>0),[X,W]=(0,z.useState)(e),V=(0,z.useMemo)((()=>{const e=Wo(),{productCard:t}=e;return Object.keys(e).length&&t?iy(iy({},a),t):a}),[]);(0,z.useEffect)((()=>{W(e)}),[e]);const{setSalePageId:P,setCurrentProductInfo:D}=(0,z.useContext)(Wu),H=(0,z.useMemo)((()=>ot(i,n?er:jo)),[n,i]),L=(({id:e,title:t,price:n,suggestPrice:i,position:o,link:r,onTrackProductClick:a,isTargetBlank:s=!1})=>(0,z.useCallback)((c=>{c.preventDefault(),a(e,t,n,i,r?window.location.origin+r:"",o),r&&(s?window.open(r,"_blank"):window.location.href=r)}),[e,r,a,o,n,i,t]))({id:_,title:u,price:m,suggestPrice:p,position:Q,link:s,onTrackProductClick:G,isTargetBlank:x}),Y=(({id:e,title:t,price:n,suggestPrice:i,position:o,isFav:r,setIsFav:a,setToastInfo:s,onAddFavorite:c})=>{const l=(0,El.useDispatch)();return(0,z.useCallback)((u=>{if(u.preventDefault(),u.stopPropagation(),!e)return;const d=!r,g=tc();a(d);const p=d?(0,es.t)(jn.THEME_CORE.TOAST.ADD_TO_WISHLIST_SUCCESSFULLY):(0,es.t)(jn.THEME_CORE.TOAST.REMOVED_FROM_WISHLIST_SUCCESSFULLY);s&&s({isOpen:!0,message:p}),d?c(e,t,n,i,o,g):(l(EI({id:e,name:t,price:n,suggestPrice:i})),Gc(g,"移除收藏",e.toString()))}),[e,r,a,c,t,n,i,o,l,s])})({id:_,title:u,price:m,suggestPrice:p,position:Q,isFav:X,setIsFav:W,setToastInfo:k,onAddFavorite:w});return z.createElement("div",{className:nu()({"product-card__vertical":o,"product-card__vertical--hover":o&&r===St.DESKTOP,"product-card__horizontal":!o}),style:null==V?void 0:V.bannerStyle},z.createElement("a",{href:s||"javascript:void(0)",onClick:L},z.createElement("div",{className:nu()({"product-card__vertical__wrapper":o,"product-card__horizontal__wrapper":!o})},c?z.createElement(eI,{rank:c}):null,z.createElement("div",{className:nu()({"product-card__vertical__media-container":o,"product-card__horizontal__media-container":!o})},z.createElement(Rf,{isEditMode:n,isVertical:o,imageSrc:l||H,edgeScale:t,title:u,figureStyle:null==V?void 0:V.figureStyle}),y&&!C&&v?z.createElement(cI,null,(0,es.t)(vg[O]||jn.THEME_CORE.PRODUCT.SOLD_OUT)):null,y&&C?z.createElement(oI,null,(0,es.t)(jn.THEME_CORE.PRODUCT.SELLING_WILL_KICKOFF)):null,A&&b===kt.IMAGE_UPPER_RIGHT?z.createElement(ay,null,z.createElement(tm,{btnType:f,btnStyle:h,isFav:X,onBtnClick:Y})):null),z.createElement(oy,{isVertical:o},F?z.createElement(Mf,{isVertical:o},F):null,u?z.createElement(zf,{isVertical:o,customStyle:V},u):null,E?z.createElement(Wf,{isVertical:o},E):null,z.createElement(ry,{isVertical:o,isButton:f===Ft.BUTTON},R&&z.createElement(Lf,{isShowSuggestPrice:d,isShowPrice:g,isVertical:o,suggestPrice:p,price:m,priceStyle:null==V?void 0:V.priceStyle,"data-qe-id":"product_card_price"}),U&&z.createElement(sy,null,Z),B||A?z.createElement(Uf,{addToCartBtnStyle:I,btnType:f,favoriteBtnStyle:h,favoriteBtnPosition:b,isShowShoppingCart:B&&!U,isShowFav:A,isVertical:o,isFav:X,onAddFavorite:Y,onAddToCart:()=>{return n=function*(){try{if(!(yield T(_)))return}catch(e){}P(_),D({id:_,name:u,price:m,suggestPrice:p,categoryId:S,salePageCode:N})},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n}}):null)))))};var ly=n(255);const uy=q.default.div`
    width: ${({cardWidth:e})=>e};
    display: flex;
    flex-direction: column;
    height: auto;
`,dy=q.default.div`
    padding: 6px;
`,gy=(0,q.default)(ly.A)`
    margin-bottom: 6px;
`,py=({columnCount:e,useType:t,columnGutter:n=8,customCardWidth:i=null,customCardHeight:o=null})=>{const r=ke(),{device:a=M.DESKTOP}=r,s=n*(e-1),c=i||`calc((100% - ${s}px) / ${e})`,l=o||(()=>{let n;return n=a===M.DESKTOP?t===Pi.module?"1180px":"880px":"100vw - 20px",`calc((${n} - ${s}px) / ${e})`})();return K().createElement(uy,{cardWidth:c},K().createElement(ly.A,{height:l,borderRadius:0}),K().createElement(dy,null,K().createElement(gy,{count:2}),K().createElement(ly.A,{width:"50%"})))},my=q.default.div`
    display: flex;
    flex-direction: column;
`,fy=q.default.div`
    width: 100%;
    display: flex;
    gap: ${({columnGutter:e})=>e}px;
    flex-wrap: wrap;
    margin-bottom: 8px;
`,Iy=q.default.div`
    width: 100%;
    padding: 16px 0 32px;
    text-align: ${({textAlign:e})=>e};
`,hy=({isShowTitle:e=!1,textAlign:t="center",columnCount:n,useType:i,columnGutter:o=8,productCount:r=0})=>{return K().createElement(my,null,e&&K().createElement(Iy,{textAlign:t},K().createElement(ly.A,{height:25,width:100})),K().createElement(fy,{columnGutter:o},(a=r,Array.from({length:a},((e,t)=>K().createElement(py,{columnCount:n,columnGutter:o,useType:i,key:t}))))));var a},by=(q.default.div`
    position: absolute;
    width: ${({width:e})=>e};
    height: ${({height:e})=>e};

    & span {
        height: ${({height:e})=>e};
    }
`,q.default.div`
    display: flex;
    flex-wrap: ${({isDesktop:e})=>e?"wrap":"nowrap"};
    overflow-x: auto;
`),yy=(0,q.default)(ly.A)`
    margin-right: 10px;
    margin-bottom: ${({isDesktop:e})=>e?"10":"0"}px;
`,Cy=({tagCount:e,isDesktop:t})=>{const[n,i]=(0,z.useState)([]);return(0,z.useEffect)((()=>{(e=>{const n=Array.from({length:e},((e,n)=>K().createElement(yy,{isDesktop:t,borderRadius:100,width:Math.floor(76*Math.random())+50,height:27,key:n})));i(n)})(e)}),[]),K().createElement(by,{isDesktop:t},n)},vy=(0,q.default)(ly.A)`
    margin-bottom: 16px;
`,By=(0,q.default)(ly.A)`
    margin: 5px 0;
`,Ay=({isShowTitle:e=!0})=>K().createElement(K().Fragment,null,e&&K().createElement(vy,{width:100,height:20}),K().createElement(By,{width:"50%",height:16}),K().createElement(By,{width:"90%",height:16}),K().createElement(By,{width:"70%",height:16}),K().createElement(By,{width:"50%",height:16,style:{marginTop:"20px"}}),K().createElement(By,{width:"90%",height:16}),K().createElement(By,{width:"70%",height:16})),_y=q.default.div`
    margin: 18px 0;
`,Sy=(0,q.default)(ly.A)`
    margin-bottom: 18px;
`,Gy=q.default.div`
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
`,Qy=q.default.div`
    display: flex;
    align-items: center;
    margin-top: 10px;
`,Ey=(0,q.default)(ly.A)`
    margin-right: 8px;
`,Fy=q.default.div`
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
`,wy=({itemsLength:e,type:t})=>t===Di.Price?K().createElement(_y,null,K().createElement(Gy,null,K().createElement(ly.A,{width:100,height:20})),K().createElement(Fy,null,K().createElement(ly.A,{width:110,height:40}),K().createElement(ly.A,{width:16,height:10}),K().createElement(ly.A,{width:110,height:40}))):K().createElement(_y,null,K().createElement(Sy,{width:"100%",height:10}),K().createElement(Gy,null,K().createElement(ly.A,{width:100,height:20}),K().createElement(ly.A,{width:20,height:20})),Array.from({length:e},((e,t)=>K().createElement(Qy,{key:t},K().createElement(Ey,{width:14,height:14}),K().createElement(ly.A,{width:100,height:16}))))),Ty=(0,Cm.Mz)([e=>e.shop,(e,t)=>Za(t.moduleKey,t.sourceType)],((e,t)=>{const{categoryName:n}=e[t]||{categoryName:""};return n})),xy=({moduleKey:e,sourceType:t,categoryId:n,setToastInfo:i})=>{const o=(0,El.useSelector)((n=>Ty(n,{moduleKey:e,sourceType:t}))),r=(0,El.useDispatch)();return(0,z.useCallback)(((e,t,a,s,c,l)=>{const u={id:e,name:t,price:a,suggestPrice:s,categoryId:n,categoryName:o,position:l},d=tc(),g=c?(0,es.t)(jn.THEME_CORE.TOAST.ADD_TO_WISHLIST_SUCCESSFULLY):(0,es.t)(jn.THEME_CORE.TOAST.REMOVED_FROM_WISHLIST_SUCCESSFULLY);i&&i({isOpen:!0,message:g}),c?r(SI({productInfo:u})):(r(EI({id:e,name:t,price:a,suggestPrice:s})),Gc(d,"移除收藏",e.toString()))}),[n,o,r,i])};Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable,(0,z.createContext)({moduleId:"ShopCategory",cardEdgeScale:{selectedValue:"1:1"},buttonVisibility:{isFavoriteVisible:!0,isAddToCartVisible:!0},categoryFilterSwitch:{isEnableShopAttribute:!0}});const ky={defaultCategoryId:0,categoryMap:new Map},Ny=(0,z.createContext)(ky),Oy={breadcrumbsPathMap:new Map,setBreadcrumbsPathMap:e=>{}},Zy=((0,z.createContext)(Oy),(0,z.createContext)(null),(0,z.createContext)(null),(0,z.createContext)({moduleId:"ShopCategory",cardEdgeScale:{selectedValue:"1:1"},buttonVisibility:{isFavoriteVisible:!0,isAddToCartVisible:!0},categoryFilterSwitch:{isEnableShopAttribute:!0}}),{defaultCategoryId:0,categoryMap:new Map}),Uy=(0,z.createContext)(Zy),Ry=((0,z.createContext)(null),(0,z.createContext)(null),e=>e===M.DESKTOP?Ny:Uy),Xy=({isPriceOnTop:e=!1,skuQtyMode:t=Ag.Accumulate,isSuggestPriceShowPrice:n=!1})=>{const{salePageId:i,currentProductInfo:o,setSalePageId:r,setCurrentProductInfo:a}=(0,z.useContext)(Wu),{name:s,suggestPrice:c,price:l,categoryId:u,salePageCode:d}=o,{shopId:g,browsingMode:p,shopProfile:m}=ke(),{IsEnabledBackInStockAlert:f=!1}=(null==m?void 0:m.ShopBasicInfo)||{},I=Ry(p),{categoryMap:h}=(0,z.useContext)(I),{decimalDigits:b,symbol:y,rate:C}=(0,El.useSelector)(Sm),v=(0,El.useDispatch)();return(0,z.useEffect)((()=>{i&&Pc({id:i,price:l,name:s,suggestPrice:c})}),[i,l,s,c]),z.createElement(Ug,{decimal:b,symbol:y,rate:C,shopId:g,salePageId:i,facebook:window.FB,afterSuccess:e=>{const{name:t=""}=h.size>0&&h.get(Number(u))||{};v(nb()),v($h());const n={categoryId:u,categoryName:t,id:e.salePageId,name:e.title,price:e.price,quantity:e.quantity,skuId:e.skuId,skuName:e.skuKey,suggestPrice:c};Fc(n,e.quantity),r(0),a({id:-1,name:"",price:-1,suggestPrice:-1,categoryId:-1,salePageCode:""})},afterClose:()=>{r(0),a({id:-1,name:"",price:-1,suggestPrice:-1,categoryId:-1,salePageCode:""})},handleRedirectDeepLink:()=>{const e=`${window.location.origin}/SalePage/Index/${i}`;Bo(e).catch((e=>null))},handleAddQuantity:()=>{Rc({id:i,price:l,name:s,suggestPrice:c})},handleRemoveQuantity:()=>{Vc({id:i,price:l,name:s,suggestPrice:c})},browsingMode:p,salePageCode:d,isEnableAddShoppingCartItem:!0,isEnablePurchaseMethod:!0,isEnableBackInStockFeature:f,skuQtyMode:t,isPriceOnTop:e,isSuggestPriceShowPrice:n})},Wy=q.default.div`
    display: flex;
    gap: 8px;
    overflow: hidden;
    padding: ${({isDesktop:e})=>e?"6":"0"}px;
    margin-right: ${({isDesktop:e})=>e?"14":"0"}px;
    margin-left: ${({isDesktop:e})=>e?"8":"0"}px;
`,Vy=q.default.div`
    flex-shrink: 0;
`,Py=q.default.div`
    ${({customStyle:e})=>q.css`
        padding-top: ${e.paddingTop}px;
        padding-bottom: ${e.paddingBottom}px;
    `};
`,Dy=q.default.p`
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    height: 24px;
    margin-bottom: ${({customStyle:e})=>e.marginBottom}px;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: ${J.black};
`,Hy=q.default.div`
    display: flex;
    justify-content: flex-end;
    align-items: center;
`,Ly=q.default.span`
    font-size: 12px;
    font-weight: 400;
    color: ${J.whiteThree};
    line-height: 16px;
`,Yy=q.default.div`
    padding-right: ${({isDesktop:e})=>e?"14":"0"}px;
    padding-left: ${({isDesktop:e})=>e?"8":"0"}px;
    position: relative;
`,My=(0,q.default)(Lg.A)`
    .slick-list {
        padding: ${({isDesktop:e})=>e?"6":"0"}px;
        padding-bottom: 6px;
        overflow: hidden;
    }
    .slick-slide {
        margin-right: 8px;
    }
`,Jy=q.default.div`
    position: relative;
`,jy=q.default.div`
    width: 20px;
    height: 20px;
    cursor: pointer;
    opacity: ${({isDisable:e})=>e?"0.2":"1"};
    pointer-events: ${({isDisable:e})=>e?"none":"auto"};
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: ${O};

    left: ${({isNext:e})=>e?"auto":"0px"};
    right: ${({isNext:e})=>e?"0px":"auto"};
    margin-left: ${({isNext:e})=>e?"0px":"-20px"};
    margin-right: ${({isNext:e})=>e?"-20px":"0px"};
`,zy=q.default.i`
    color: ${J.brownishGrey};
    font-weight: 700;
`;var Ky=Object.defineProperty,qy=Object.defineProperties,$y=Object.getOwnPropertyDescriptors,eC=Object.getOwnPropertySymbols,tC=Object.prototype.hasOwnProperty,nC=Object.prototype.propertyIsEnumerable,iC=(e,t,n)=>t in e?Ky(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,oC=(e,t)=>{for(var n in t||(t={}))tC.call(t,n)&&iC(e,n,t[n]);if(eC)for(var n of eC(t))nC.call(t,n)&&iC(e,n,t[n]);return e},rC=(e,t)=>qy(e,$y(t));const aC=({moduleId:e,categoryId:t,isEditMode:n,onProductCardClick:i,isTargetBlank:o,isPriceOnTop:r=!0,isSuggestPriceShowPrice:a=!1,imageServiceConfig:s,productDisplayMode:c,sourceType:l,productList:u,pageType:d})=>{const{favoriteList:g=[]}=(0,El.useSelector)((e=>e.favorite))||{},p=(0,El.useSelector)((e=>e.user.memberCollectionIdList)),m=Zt.concat(p||[]),[f,I]=(0,z.useState)({isOpen:!1,message:""}),[h,b]=(0,z.useState)(0),y=xy({moduleKey:e,sourceType:l,categoryId:t,setToastInfo:I}),C=e=>e?Math.trunc(h/6)===Math.trunc((u.length-1)/6):0===h,v=({onClick:e,isNext:t})=>{if(c===St.MOBILE)return null;const n=t?K().createElement(zy,{className:"ico ico-chevron-right"}):K().createElement(zy,{className:"ico ico-chevron-left"});return K().createElement(jy,{onClick:e,isNext:t,isDisable:C(t)},n)},B={dots:!1,infinite:!1,lazyLoad:!1,initialSlide:0,slidesToShow:1,slidesToScroll:c===St.MOBILE?1:6,swipeToSlide:c===St.MOBILE,variableWidth:!0,beforeChange:(e,t)=>{b(t)}},A=()=>u.map(((r,l)=>{const{id:u,link:d,imageSrc:p,title:f,suggestPrice:I,price:h,pairsPoints:b,pairsPrice:C,priceDisplayType:v,rank:B=0,information:A,subTitle:_,salePageCode:S,displayTags:G,promotionPriceList:Q,isRestricted:E,isComingSoon:F,isSoldOut:w,enableIsComingSoon:T,isShowSellingStartDateTime:x,sellingStartDateTime:k,listingStartDateTime:N}=r,O=g.includes(u),Z=xa(G,"1:1"),U=Wg({isEnableMask:!0,isComingSoon:F,isSoldOut:w,enableIsComingSoon:T,isShowSellingStartDateTime:x,sellingStartDateTime:k,listingStartDateTime:N})||{},R=(0,iu.mappingSpecialPriceData)(Q,m),X=R?R.price:0;return K().createElement(Jy,{style:{width:130},key:u},K().createElement(Gf,{salePageId:u,categoryId:t,favoriteList:g,favoriteConfig:{isShowFav:!0,isDisable:!1,isFav:O,buttonType:Ft.ICON,onAddFavorite:y},shoppingCartConfig:{isDisable:!1,isShowShoppingCart:!0},imageSrc:p,title:f,rank:B,isEditMode:n,imageServiceConfig:s,position:l,displayMode:c,information:A,subTitle:_,moduleId:e,salePageCode:S,priceConfig:{price:h,isShowPrice:!0,suggestPrice:I,specialPrice:X,isShowSuggestPrice:!1,isPriceOnTop:!0,isSuggestPriceShowPrice:a,priceDisplayType:v||Gt.PRICE},pointPayConfig:{pairsPoints:b,pairsPrice:C},cardLink:{link:d,target:o?"_blank":"_self",toSalePageCallBackFunction:i},productBadgeImage:Z,promotionMemberCollectionIdList:m,isRestricted:E,maskConfig:U}))}));return d===oi.tagCategory?K().createElement(Vu,null,K().createElement(Yy,{isDesktop:c===St.DESKTOP},K().createElement(My,rC(oC({},B),{isDesktop:c===St.DESKTOP,nextArrow:K().createElement(v,{isNext:!0}),prevArrow:K().createElement(v,{isNext:!1})}),A())),_e()&&K().createElement(K().Fragment,null,K().createElement(Xy,{isPriceOnTop:r,isSuggestPriceShowPrice:a}),K().createElement(Du,{type:"success",isOpen:f.isOpen,message:f.message,afterClose:()=>I({isOpen:!1,message:""})}))):K().createElement(K().Fragment,null,K().createElement(Yy,{isDesktop:c===St.DESKTOP},K().createElement(My,rC(oC({},B),{isDesktop:c===St.DESKTOP,nextArrow:K().createElement(v,{isNext:!0}),prevArrow:K().createElement(v,{isNext:!1})}),A())),_e()&&K().createElement(Du,{type:"success",isOpen:f.isOpen,message:f.message,afterClose:()=>I({isOpen:!1,message:""})}))},sC=({moduleId:e,categoryId:t,onProductCardClick:n,onRowInViewOnce:i,isTargetBlank:o,isPriceOnTop:r=!0,isSuggestPriceShowPrice:a=!1,imageServiceConfig:s,productDisplayMode:c,columnGutter:l,rowGutter:u,sourceType:d,moduleDisplayName:g,productList:p})=>K().createElement(K().Fragment,null,K().createElement(FC,{isEnableMask:!0,isEnableProudctCardGroup:!0,isShowCardFav:!0,isShowCardShoppingCart:!0,isTargetBlank:o,customCssClass:"medium-container module-vertical-spacing",moduleDisplayName:g,imageServiceConfig:s,moduleKey:e,columnCount:c===St.DESKTOP?4:2,columnGutter:l,rowGutter:u,productDisplayMode:c,categoryId:t,sourceType:d,productList:p,onRowInViewOnce:i,onProductCardClick:n,containerStyle:{width:"100%",minHeight:"50px"},isPriceOnTop:r,isSuggestPriceShowPrice:a})),cC=({type:e,moduleId:t,categoryId:n,onRowInViewOnce:i=()=>null,isTargetBlank:o=!1,productDisplayMode:r,sourceType:a,columnGutter:s=0,rowGutter:c=0,moduleDisplayName:l,trackingContentType:u,isShowTitle:d=!0,pageType:g,recommendationSectionData:p})=>{var m,f;try{const I=ke(),{imageServiceConfig:h,shopProfile:b}=I,{setting:y,data:C}=p,{productList:v=[],title:B="",isFetching:A=!1,mode:_,itemListId:S}=C||{},G=(null==(m=null==b?void 0:b.ShopFunction)?void 0:m.IsPriceOnTop)||!1,Q=(null==(f=null==b?void 0:b.ShopFunction)?void 0:f.IsSuggestPriceShowPrice)||!1,E=r===St.DESKTOP,F={RecommendationBlock:{paddingTop:"0",paddingBottom:"0"},RecommendationTitle:{marginBottom:"0"}},[w,T]=(0,z.useState)(F),x=()=>e===ii.productCarousel?{RecommendationBlock:{paddingTop:E?"12":"6",paddingBottom:E?"12":"6"},RecommendationTitle:{marginBottom:E?"12":"6"}}:e===ii.productGrid?{RecommendationBlock:{paddingTop:"12",paddingBottom:"12"},RecommendationTitle:{marginBottom:"12"}}:F,k=()=>{const e=x();T(e)};(0,z.useEffect)((()=>{k()}),[]);const N=({contentType:e,sourceType:t,listName:n})=>(i,o,r,a,s,c)=>{const l={id:i,name:o,price:r,suggestPrice:a,position:c},u=oc(),d=rc(),g=ac(t,_);kc(l,n),Qc({id:null==i?void 0:i.toString(),name:o,linkUrl:null!=s?s:"",contentType:e,viewTitle:d,viewId:u,itemListId:S,contentSource:g})},O=()=>{var t;const n=E?20:10,i=E?4:2;switch(e){case ii.productCarousel:return K().createElement(Wy,{isDesktop:E},Array.from({length:n},((e,t)=>K().createElement(Vy,{key:t},K().createElement(py,{columnCount:n,columnGutter:s,customCardWidth:"130px",customCardHeight:"130px",useType:Pi.page,key:t})))));case ii.productGrid:return K().createElement(hy,{columnCount:i,productCount:(null==(t=null==y?void 0:y.sourceInfo)?void 0:t.quantity)||n,useType:Pi.page});default:return null}},Z=()=>{switch(e){case ii.productCarousel:return K().createElement(aC,{moduleId:t,categoryId:n,onProductCardClick:N({contentType:u,sourceType:null==y?void 0:y.sourceType,listName:l}),isTargetBlank:o,isPriceOnTop:G,isSuggestPriceShowPrice:Q,imageServiceConfig:h,productDisplayMode:r,sourceType:a,productList:v,pageType:g});case ii.productGrid:return K().createElement(sC,{columnGutter:s,rowGutter:c,moduleId:t,categoryId:n,onProductCardClick:N({contentType:u,sourceType:null==y?void 0:y.sourceType,listName:l}),onRowInViewOnce:i,sourceType:a,isTargetBlank:o,isPriceOnTop:G,isSuggestPriceShowPrice:Q,imageServiceConfig:h,productDisplayMode:r,moduleDisplayName:l,productList:v});default:return null}},U=()=>A?K().createElement(ly.A,{width:"85px"}):B?K().createElement("span",null,B):null;return!A&&v.length<=0?null:K().createElement(Py,{customStyle:w.RecommendationBlock},K().createElement(Dy,{customStyle:w.RecommendationTitle},d&&K().createElement(U,null)),A?O():Z(),!A&&(null==y?void 0:y.sourceType)===ri.jooii&&K().createElement(Hy,null,K().createElement(Ly,null,"Powered by jooii - 91APP Retail AI")))}catch(I){return ze.error(`[ERROR] Render ${g} RecommendationSection failed: ${je(I)}: ${Je(I)}`),null}};var lC=(e=>(e.CUSTOM="custom",e.DEFAULT="default",e))(lC||{});const uC="1180px",dC=e=>.01*parseInt(e),gC=q.css`
    padding-left: calc((100% - ${uC}) / 2);
    padding-right: calc((100% - ${uC}) / 2);
`,pC=q.css`
    padding-left: 10px;
    padding-right: 10px;
`,mC=q.default.div`
    ${({backgroundColor:e})=>e?`background-color: ${e};`:""}
    ${({imageUrl:e})=>e?`background-image: url(${e});`:"background-image: unset;"}
    background-position: center;
    background-size: cover;

    padding-top: 7.5px;
    padding-bottom: 7.5px;

    ${({isMobile:e})=>e?pC:gC}
`,fC=q.default.div`
    ${({backgroundColor:e})=>e?`background-color: ${e};`:""}
    ${({imageUrl:e})=>e?`background-image: url(${e});`:"background-image: unset;"}
    background-position: center;
    background-size: cover;

    padding-top: ${({paddingTop:e})=>e||Ma.top};
    padding-bottom: ${({paddingBottom:e})=>e||Ma.bottom};

    ${({isEnableSetHorizontalSpacing:e,isMobile:t,paddingLeft:n,paddingRight:i})=>e?q.css`
                padding-left: ${n||Ma.left};
                padding-right: ${i||Ma.right};
            `:t?pC:gC}
`,IC=q.default.div`
    ${({backgroundColor:e})=>e?`background-color: ${e};`:""}

    /* 文字模組之預設上下間距為 0 */
    ${({paddingTop:e})=>e&&`padding-top: ${e};`}
    ${({paddingBottom:e})=>e&&`padding-bottom: ${e};`}

    ${({isMobile:e,paddingLeft:t,paddingRight:n})=>e?q.css`
                padding-left: ${t||Ma.left};
                padding-right: ${n||Ma.right};
            `:q.css`
            padding-left: calc(
                (100% - ${uC}) / 2 + ${uC} *
                    ${dC(t||Ma.left)}
            );
            padding-right: calc(
                (100% - ${uC}) / 2 + ${uC} *
                    ${dC(n||Ma.right)}
            );
        `}
`,hC=e=>void 0===e?"":`${e}%`,bC=({moduleId:e,spaceInfo:t,isMobile:n,tagName:i="div",children:o,imageUrl:r})=>{const a="BlogB"===e,s="CateringReservation"===e,{spacingSetting:c=(a?"custom":"default"),paddingTop:l,paddingBottom:u,paddingLeft:d,paddingRight:g,backgroundColor:p=(s?J.whiteTen:J.white),backgroundType:m}=t||{},f="custom"===c,I=za(e),h=hC(l),b=hC(u),y=hC(d),C=hC(g);return z.createElement(z.Fragment,null,a&&z.createElement(IC,{as:i,paddingTop:f&&h,paddingBottom:f&&b,paddingLeft:f&&y,paddingRight:f&&C,backgroundColor:p,isMobile:n,"data-qe-id":"module_container"},o),!a&&(t&&f?z.createElement(fC,{as:i,imageUrl:r,backgroundType:m,paddingTop:h,paddingBottom:b,paddingLeft:y,paddingRight:C,backgroundColor:p,isEnableSetHorizontalSpacing:I,isMobile:n,"data-qe-id":"module_container"},o):z.createElement(mC,{as:i,imageUrl:r,backgroundColor:p,isMobile:n},o)))},yC=q.default.div`
    position: relative;
    min-height: 20px;
    padding: ${he} 0 32px;

    ${({isMobile:e})=>e&&"  padding: 12px 0;"}
    ${({isNeedDefaultLeftPadding:e})=>e&&`padding-left: ${Ma.left};`}
    ${({isNeedDefaultRightPadding:e})=>e&&`padding-right: ${Ma.right};`}
`,CC=q.default.a`
    font-size: ${be.fontSizeS};

    position: absolute;
    top: ${({isMobile:e})=>e?"0px":"5px"};
    right: ${({isMobile:e})=>e?"15px":"0px"};

    color: ${J.windowsBlue};
    &:hover {
        color: ${La(10,J.windowsBlue)};
    }
`,vC=({moduleId:e,spaceInfo:t={},isMobile:n=!1,text:i="",seeMoreText:o="",seeMoreLink:r="",textStyle:a={},isContentInfo:s=!1})=>{const[c,l]=(0,z.useState)(!1),u=n?M.MOBILE:M.DESKTOP,{heading:d="div",color:g=J.blackTwo,align:p=Ji.CENTER}=a,m=q.default[d]`
        font-size: ${s?ji.H3:Hg[u][d]};
        font-weight: normal;
        line-height: 1.25;
        text-align: ${p};
        word-break: break-all;
        color: ${g};
    `;(0,z.useEffect)((()=>{l(!0)}),[]);const{spacingSetting:f=("BlogB"===e?lC.CUSTOM:lC.DEFAULT),paddingLeft:I,paddingRight:h}=t,b=f===lC.CUSTOM,y=za(e),C=y&&b&&p===Ji.LEFT&&0===I,v=y&&b&&p===Ji.RIGHT&&0===h;return c&&z.createElement(yC,{"data-qe-id":"section_header",isMobile:n,isNeedDefaultLeftPadding:C,isNeedDefaultRightPadding:v},i&&z.createElement(m,null,i),o&&z.createElement(CC,{isMobile:n,href:r},o))};var BC=n(7837),AC=n(1742);const _C=({moduleId:e,isMobile:t,spaceInfo:n,containerStyle:i,customCssClass:o,children:r})=>z.createElement(z.Fragment,null,e&&n?z.createElement(bC,{moduleId:e,isMobile:t,spaceInfo:n},r):z.createElement("div",{style:i,className:nu()("product-container",o||"")},r)),SC=q.default.div`
    :last-child .product-card__horizontal {
        border-bottom: none;
    }
`,GC=q.default.div`
    display: flex;
    flex-direction: column;
`,QC=q.default.div`
    display: flex;
    justify-content: flex-end;
`,EC=q.default.span`
    font-size: 12px;
    font-weight: 400;
    color: ${J.whiteThree};
    line-height: 16px;
`,FC=({imageServiceConfig:e,categoryId:t,sourceType:n,productList:i,moduleKey:o,isEditMode:r=!1,isEnableMask:a=!1,title:s={isTurnOn:!1,text:""},moduleId:c,spaceInfo:l,containerStyle:u={},columnCount:d=4,columnGutter:g=0,rowGutter:p=0,productDisplayMode:m=St.DESKTOP,customCssClass:f="",cardEdgeScale:I={selectedValue:"1:1"},isHorizontalList:h=!1,cardFavBtnType:b=Ft.ICON,addToCartBtnStyle:y=Tt.DEFAULT,favoriteBtnStyle:C=xt.DEFAULT,favoriteBtnPosition:v=kt.ACTION_BTN_AREA,cardCustomStyle:B,isShowCardSuggestPrice:A=!0,isShowCardPrice:_=!0,isShowCardFav:S=!0,isShowCardShoppingCart:G=!0,isPriceOnTop:Q=!0,isSuggestPriceShowPrice:E=!1,onRowInViewOnce:F=()=>null,onProductCardClick:w=()=>null,isTargetBlank:T=!1,startIndex:x=0,SoldOutOperationBtn:k,moduleDisplayName:N,isEnableProudctCardGroup:O=!1,isEnableSpecialPriceFrontendSort:Z=!1,productListFrontendSortEntity:U,recommendationItemData:R,totalListLength:X,provider:W=""})=>{var V,P;const{type:D,direction:H}=U||{},L=Z&&D===BC.r3.SPECIAL_PRICE&&!!H,Y=s.isTurnOn,M="string"==typeof W?W:ai[W]||"",J=d,{favoriteList:K=[]}=(0,El.useSelector)((e=>e.favorite))||{},q=(0,El.useSelector)((e=>e.user.memberCollectionIdList)),$=Zt.concat(q||[]),[ee,te]=(0,z.useState)({isOpen:!1,message:""}),ne=(({moduleKey:e,sourceType:t,categoryId:n})=>{const i=(0,El.useSelector)((n=>Ty(n,{moduleKey:e,sourceType:t}))),o=(0,El.useDispatch)();return(0,z.useCallback)(((e,t,r,a,s)=>{o(SI({productInfo:{id:e,name:t,price:r,suggestPrice:a,categoryId:n,categoryName:i,position:s}}))}),[n,i,o])})({moduleKey:o,sourceType:n,categoryId:t}),ie=xy({moduleKey:o,sourceType:n,categoryId:t,setToastInfo:te}),oe=h?GC:Nf,re=ke(),ae=(null==(P=null==(V=null==re?void 0:re.shopProfile)?void 0:V.ShopFunction)?void 0:P.IsEnabledNewProductCard)||!1,{isEnableRecommendationItem:se=!1,recommendationItemSetting:ce,recommendationData:le}=R||{},{embeddedFirstRow:ue=-1,embeddedInterval:de=-1}=(null==ce?void 0:ce.additionalInfo)||{},ge=-1!==de?de:ue,pe=i.map((e=>{const{promotionPriceList:t,price:n,priceDisplayType:i}=e,o=(0,iu.mappingSpecialPriceData)(t,$),r=o?o.price:0,a=(0,iu.mappingSpecialPriceDataLabel)(o,n,i),s=a?[a]:[],c=(0,iu.getDisplayPrice)(n,r);return e.specialPrice=r,e.displayPrice=c,e.tagList=s,e})),me=L?pe.sort(((e,t)=>e.displayPrice===t.displayPrice?t.id-e.id:H===BC.UE.ASC?e.displayPrice-t.displayPrice:t.displayPrice-e.displayPrice)):pe;return z.createElement(Vu,null,z.createElement(_C,{moduleId:c,spaceInfo:l,containerStyle:u,customCssClass:f,isMobile:m===St.MOBILE},z.createElement("div",{className:"product-container--wrapper"},Y?z.createElement(vC,{moduleId:c,spaceInfo:l,isMobile:m===St.MOBILE,text:s.text||(0,es.t)(jn.THEME_CORE.DEFAULT.CUSTOM_TITLE),textStyle:null==s?void 0:s.textStyle}):null,(0,j.chunk)(me,J).map(((i,o,s)=>{const l=x+o*J,u=l/J+1,d=o!==s.length-1?{containerStyle:{marginBottom:"8px"}}:void 0,{showFirstItem:f,showIntervalItem:Z}=(e=>se?{showFirstItem:0===ue&&1===e,showIntervalItem:e<ue?e===X:e===ue||(-1!==de?(e-(-1===ue?0:ue))%de==0:void 0)}:{showFirstItem:!1,showIntervalItem:!1})(u);return z.createElement(z.Fragment,{key:`${J}_${l}`},f&&z.createElement(cC,{type:ii.productCarousel,moduleId:c,categoryId:t,isTargetBlank:T,productDisplayMode:m,sourceType:n,columnGutter:g,moduleDisplayName:N,trackingContentType:"ProductRecommend_A_Carousel",pageType:oi.salePageList,recommendationSectionData:{setting:ce,data:le}}),z.createElement(AC.pL,{triggerOnce:!0,as:"div",onChange:e=>e&&F(l,i)},z.createElement(oe,{columnCount:J,columnGutter:g,rowGutter:p,customStyles:d},i.map(((i,o)=>{const{id:s,link:u,imageSrc:d,imageList:g,title:p,suggestPrice:f,price:F,pairsPoints:x,pairsPrice:N,priceDisplayType:Z,rank:U=0,isComingSoon:R,isSoldOut:X,information:W,subTitle:V,salePageCode:P,soldOutActionType:D,displayTags:H,salePageGroup:L,isRestricted:Y,specialPrice:M,tagList:j,enableIsComingSoon:q,isShowSellingStartDateTime:ee,sellingStartDateTime:oe,listingStartDateTime:re,combinedMetafields:se,metafieldTemplate:ce}=i,le=l+o,ue=K.includes(s),de=Wg({isEnableMask:a,isComingSoon:R,isSoldOut:X,soldOutActionType:D,enableIsComingSoon:q,isShowSellingStartDateTime:ee,sellingStartDateTime:oe,listingStartDateTime:re})||{},ge=xa(H,I.selectedValue);return z.createElement(SC,{key:`${J}_${le}`},ae?z.createElement(Gf,{salePageId:s,categoryId:t,favoriteList:K,favoriteConfig:{isShowFav:S,isDisable:!1,isFav:ue,buttonType:b,onAddFavorite:ie},shoppingCartConfig:{isDisable:!1,isShowShoppingCart:G},isVertical:!h,isEnableProudctCardGroup:O,columnCount:J,customStyle:B,imageSrc:d,isEnableMask:a,title:p,rank:U,isEditMode:r,imageServiceConfig:e,position:le,salePageGroup:L,cardEdgeScale:I,displayMode:m,information:W,subTitle:V,moduleId:c,salePageCode:P,priceConfig:{price:F,isShowPrice:_,suggestPrice:f,specialPrice:M,isShowSuggestPrice:A,isPriceOnTop:Q,isSuggestPriceShowPrice:E,priceDisplayType:Z||Gt.PRICE},pointPayConfig:{pairsPoints:x,pairsPrice:N},maskConfig:de,cardLink:{link:u,target:T?"_blank":"_self",toSalePageCallBackFunction:w},imageList:g||[],productBadgeImage:ge,tagList:j,promotionMemberCollectionIdList:$,isRestricted:Y,sourceType:n,combinedMetafields:se,metafieldTemplate:ce}):z.createElement(cy,{id:s,categoryId:t,isFav:ue,isVertical:!h,customStyle:B,link:u,imageSrc:d,title:p,isShowSuggestPrice:A,isShowPrice:_,suggestPrice:f,price:F,rank:U,btnType:b,addToCartBtnStyle:y,favoriteBtnStyle:C,favoriteBtnPosition:v,isShowShoppingCart:G,isShowFav:S,isEnableMask:a,isComingSoon:R,isSoldOut:X,isEditMode:r,imageServiceConfig:e,position:le,cardEdgeScale:I,displayMode:m,onAddFavorite:ne,onTrackProductClick:w,information:W,subTitle:V,isTargetBlank:T,setToastInfo:te,salePageCode:P,soldOutActionType:D,soldOutOperationBtn:k&&z.createElement(k,{productInfo:i})}))})))),Number.isInteger(X)&&X>=ge&&X>o+1&&Z&&z.createElement(cC,{type:ii.productCarousel,moduleId:c,categoryId:t,isTargetBlank:T,productDisplayMode:m,sourceType:n,columnGutter:g,moduleDisplayName:N,trackingContentType:"ProductRecommend_A_Carousel",pageType:oi.salePageList,recommendationSectionData:{setting:ce,data:le}}))})),n===Yi.RECOMMENDATION_ID&&(M===ri.jooii?z.createElement(QC,null,z.createElement(EC,null,"Powered by jooii - 91APP Retail AI")):null))),_e()&&z.createElement(Xy,{isPriceOnTop:Q,isSuggestPriceShowPrice:E}),_e()&&z.createElement(Du,{type:"success",isOpen:ee.isOpen,message:ee.message,afterClose:()=>te({isOpen:!1,message:""})}))},wC=q.default.div`
    padding: 15px 20px;
    font-size: 13px;
`,TC=q.default.div`
    text-align: center;
`,xC=q.default.ul`
    padding-left: 20px;
    margin-top: 8px;
`,kC=q.default.li`
    list-style-type: disc;
    padding-top: 4px;
`,NC=()=>{const{purchaseQualificationInvalidModal:e={isOpen:!1,invalidType:Bp.NOT_LOGGED_IN,restrictedPurchaseInfos:[]},closePurchaseQualificationInvalidModal:t}=(0,z.useContext)(_p),{isOpen:n,invalidType:i,restrictedPurchaseInfos:o}=e;return n?K().createElement(pl,{modalMode:Jc.SMALL,title:(0,es.t)(jn.THEME_CORE.PRODUCT.UNABLE_TO_ADD_CART),handleConfirmClick:()=>{if(i===Bp.NOT_LOGGED_IN){const e=window.location.href;window.location.href=`/Login/HttpLoginRelayToHttps?rt=${encodeURIComponent(e)}`}t()},confirmText:i===Bp.NOT_LOGGED_IN?(0,es.t)(jn.THEME_CORE.PRODUCT.LOGIN):(0,es.t)(jn.THEME_CORE.PRODUCT.CONFIRM),isShowCloseButton:i===Bp.NOT_LOGGED_IN,handleCloseButtonClick:t,handleCancelClick:t,onModalClick:()=>{}},K().createElement(wC,null,i===Bp.NOT_LOGGED_IN&&K().createElement(TC,null,(0,es.t)(jn.THEME_CORE.PRODUCT.LOGIN_AND_TRY_AGAIN)),i===Bp.UNQUALIFIED&&1===(null==o?void 0:o.length)&&K().createElement(TC,null,K().createElement(es.HT,{value:jn.THEME_CORE.PRODUCT.ITS_RESTRICTED_PRODUCT,label:o[0].label})),i===Bp.UNQUALIFIED&&(null==o?void 0:o.length)>1&&K().createElement(K().Fragment,null,K().createElement(TC,null,(0,es.t)(jn.THEME_CORE.PRODUCT.PURCHASE_QUALIFICATION_REQUIRED)),K().createElement(xC,null,o.map((e=>K().createElement(kC,{key:e.id},e.label))))))):null};var OC=n(882),ZC=n(7186),UC=n(1241),RC=Object.defineProperty,XC=Object.defineProperties,WC=Object.getOwnPropertyDescriptors,VC=Object.getOwnPropertySymbols,PC=Object.prototype.hasOwnProperty,DC=Object.prototype.propertyIsEnumerable,HC=(e,t,n)=>t in e?RC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,LC=(e,t)=>{for(var n in t||(t={}))PC.call(t,n)&&HC(e,n,t[n]);if(VC)for(var n of VC(t))DC.call(t,n)&&HC(e,n,t[n]);return e},YC=(e,t)=>XC(e,WC(t));const MC=e=>{const{salePageId:t,salePageCode:n,browsingMode:i,onProductSelected:o,setIsLoading:r,onModalClose:a}=e,s=(0,z.useRef)();function c(){return Boolean(Bn()&&s.current)}(0,z.useEffect)((()=>{s.current=new au.Ay}),[]);const l=(0,z.useContext)(Hu),u=(0,z.useCallback)((e=>{const{status:t,afterClose:n}=e,i=gs(t);i&&l({isOpen:!0,message:i.message,type:i.type,status:i.status,afterClose:n})}),[l]),{data:d,isMutating:g,trigger:p,reset:m}=sg({salePageId:t,salePageCode:n,onSuccess:()=>{r(!1)},onError:()=>{var e;if(c()){const t=gs(ls.SELECT_ERROR);null==(e=s.current)||e.showToast({toastType:au.py.error,message:t.message})}else u({status:us.STATUS.GET_SALEPAGE_BUNDLE_ERROR}),r(!1)}});return(0,z.useEffect)((()=>{p()}),[t,n,p]),(0,z.useEffect)((()=>{var e;if(c()){const t={icon:"Nothing",action:"Nothing"};null==(e=s.current)||e.setAppHeaderIcon({ios:{eventType:au.AH.HeaderBackAction,data:t},android:{eventType:au.AH.HeaderBackAction,data:t}})}}),[]),(0,z.useEffect)((()=>{(i===M.MOBILE||Bn())&&(document.title=(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE))}),[i,Bn]),d?K().createElement(z.Fragment,null,d.IsSalePageBundle&&K().createElement(jC,{salePageId:d.Id,browsingMode:i,handleToastStatus:u,jsiRef:s,shouldUseAppNativeComponent:c,onProductSelected:o,onModalClose:a}),!d.IsSalePageBundle&&d.HasSKU&&K().createElement(zC,{currentSalePageInfo:d,browsingMode:i,handleToastStatus:u,jsiRef:s,shouldUseAppNativeComponent:c,onProductSelected:o,onModalClose:a})):K().createElement(z.Fragment,null,Bn()?K().createElement(pd,null):K().createElement(gd,{handleCloseButtonClick:a,title:(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE)}))},JC=({currentSalePageInfo:e,browsingMode:t,handleToastStatus:n,jsiRef:i,shouldUseAppNativeComponent:o,onProductSelected:r})=>{var a;const{topStyle:s,contentStyle:c,bottomStyle:l}=Ou,{productInfoStyle:u}=Xu,{mainInfoStyle:d}=u,[g,p]=(0,z.useState)({});if(!e)return K().createElement("div",null,"尚未選擇");const{MajorList:m,SKUPropertySetList:f,ImageList:I}=e,h=(null==(a=m[0])?void 0:a.SKUList)||[],b=(0,z.useMemo)((()=>h.length),[h]),y=h.map((e=>e.Title));function C(e,t){const n=y.find((t=>t!==e)),i=f.filter((e=>{var n;return null==(n=e.PropertyNameSet)?void 0:n.includes(t.PropertyNameSet)})).filter((e=>!0===e.IsShow)),o=h.find((e=>e.Title===n)).PropertyList,r=new Set(i.flatMap((e=>{var t;return null==(t=e.PropertyNameSet)?void 0:t.split(";")})));return o.filter((e=>r.has(e.PropertyNameSet)))}const v=(0,z.useMemo)((()=>Object.keys(g).length>0),[g]),B=(0,z.useMemo)((()=>{if(!v)return null;const e=Object.values(g).map((e=>e.PropertyNameSet));return f.find((t=>e.every((e=>{var n;return null==(n=t.PropertyNameSet)?void 0:n.includes(e)}))))}),[v,f,g]);(0,z.useEffect)((()=>{p({})}),[e]);const A=(0,z.useMemo)((()=>{var e,t,n;return B?(null==(t=I.find((e=>e.Id===B.SaleProductSKUId)))?void 0:t.PicUrl)||(null==(n=I[0])?void 0:n.PicUrl):null==(e=I[0])?void 0:e.PicUrl}),[B,I]);return K().createElement(UC.CarouselSlide,null,K().createElement(UC.CarouselSlideScrollableArea,null,K().createElement(UC.Top,{topStyle:s},K().createElement(OC.MainInfo,null,I.length>0&&K().createElement(OC.MainInfoFigure,null,K().createElement(OC.MainInfoImage,{src:A,alt:"img",browsingMode:t})),K().createElement(OC.MainInfoContainer,{mainInfoStyle:d},K().createElement(OC.Title,null,e.Title)))),K().createElement(UC.Content,{contentStyle:c},h.map((e=>{var t;return K().createElement(ZC.SkuElementsContainer,null,K().createElement(ZC.SkuElementsLevel,null,K().createElement(ZC.SkuElementsTitle,null,e.Title),null==(t=null==e?void 0:e.PropertyList)?void 0:t.map(((t,n)=>{var i;const o=K().createElement(ZC.SkuItem,{key:t.PropertyNameSet,actived:v&&(null==(i=g[e.Title])?void 0:i.Name)===t.Name,hidden:!1,disabled:!1,isEnableBackInStock:!1,customStyle:Xu.skuListStyle.customStyle,activeStyle:Xu.skuListStyle.activeStyle,"data-sku-key":t.PropertyNameSet,"data-sku-name":t.Name,"data-is-selling":!0,onClick:()=>((e,t)=>{if(2===b){const n=y.find((t=>t!==e)),i=C(e,t);0===Object.keys(g).length?p((o=>YC(LC({},o),{[e]:t,[n]:i[0]}))):p((n=>YC(LC({},n),{[e]:t})))}1===b&&p((n=>YC(LC({},n),{[e]:t})))})(e.Title,t),style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},t.Name);if(1===b)return o;const r=y.find((t=>t!==e.Title));return!v||C(r,g[r]).find((e=>e.Name===t.Name))?o:null}))))})))),K().createElement(UC.BottomContainer,null,K().createElement(UC.Bottom,{bottomStyle:q.css`
                        ${l}
                        justify-content: ${t===M.DESKTOP?"flex-end":"center"};
                    `},K().createElement(ou.l7,{isEnableAdidasCustom:!1,customIconImg:null,onClicked:t=>(()=>{var t;if(e)if(B)r(YC(LC({},e),{selectedSKUPropertySet:B}));else{if(o()){const e=gs(ls.SELECT_ERROR);return void(null==(t=i.current)||t.showToast({toastType:au.py.alert,message:e.message}))}n({status:ls.SELECT_ERROR})}})(),disabled:!1,displayText:(0,es.t)(jn.THEME_CORE.PRODUCT.CONFIRM),cartButtonStyle:{customStyle:q.css`
                                ${Zu}
                                width: ${t===M.MOBILE?"100%":"92px"};
                            `,disabledStyle:Ru}}))))},jC=({salePageId:e,browsingMode:t,handleToastStatus:n,jsiRef:i,shouldUseAppNativeComponent:o,onProductSelected:r,onModalClose:a})=>{var s;const{data:c,isLoading:l}=lg({salePageId:e,onError:()=>{var e;if(o()){const t=gs(ls.SELECT_ERROR);null==(e=i.current)||e.showToast({toastType:au.py.error,message:t.message})}else n({status:us.STATUS.GET_SALEPAGE_BUNDLE_ERROR})}}),{data:u,isMutating:d,trigger:g}=ug(),[p,m]=(0,z.useState)(0),f=(0,z.useRef)(-1);function I(e){var t,n;if(m(e),o()&&0===e){const e={icon:"Nothing",action:"Nothing"};null==(t=i.current)||t.setAppHeaderIcon({ios:{eventType:au.AH.HeaderBackAction,data:e},android:{eventType:au.AH.HeaderBackAction,data:e}})}else o()&&1===e&&(null==(n=i.current)||n.setAppHeaderIcon({ios:{eventType:au.AH.HeaderBackAction,data:{icon:"Back",action:"JsiBack"}},android:{eventType:au.AH.HeaderBackAction,data:{icon:"Back",action:"JsiBack"}}}))}(0,z.useEffect)((()=>{I(0)}),[]),(0,z.useEffect)((()=>{var e;o()&&(null==(e=i.current)||e.triggerWebAction((e=>{const{eventType:t}=JSON.parse(e);return t!==au.xI.OnBackPressed?{shouldOverride:!1}:(I(0),{shouldOverride:!0})})))}),[]),(0,z.useEffect)((()=>{(t===M.MOBILE||Bn())&&(document.title=1===p?(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE):(0,es.t)(jn.THEME_CORE.PRODUCT.SELECT_PRODUCT_FOR_COMMENT))}),[p,t,Bn]);const h=(e,t,a)=>{return s=function*(){var c,l;f.current=e;try{const e=yield g({salePageId:t,salePageCode:a});if(!e.HasSKU)return void r(YC(LC({},e),{selectedSKUPropertySet:null==(c=e.SKUPropertySetList)?void 0:c[0]}));I(1)}catch(s){if(o())return void(null==(l=i.current)||l.showToast({toastType:au.py.error,message:(0,es.t)(jn.THEME_CORE.TOAST.SALE_PAGE_BUNDLE_LOADING_FAILED)}));n({status:us.STATUS.GET_SALEPAGE_BUNDLE_ERROR})}},new Promise(((e,t)=>{var n=e=>{try{o(s.next(e))}catch(n){t(n)}},i=e=>{try{o(s.throw(e))}catch(n){t(n)}},o=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,i);o((s=s.apply(void 0,null)).next())}));var s},b=(0,z.useMemo)((()=>{if(!u||!c)return null;const e=c.bundleBlocks[f.current];if(!e)return null;const t=function(e,t){const n=t.reduce(((e,t)=>(t.propertyInfo.forEach((t=>{const n=t.title;e[n]||(e[n]=new Set),t.propertyList.forEach((t=>{e[n].add(t.name)}))})),e)),{});return e.map((e=>{const t=e.Title;if(n[t]){const i=e.PropertyList.filter((e=>n[t].has(e.Name)));if(i.length>0){const t=i.map((e=>e.Name)).join("/");return YC(LC({},e),{PropertyList:i,DisplayPropertyName:t})}}return e}))}(u.MajorList[0].SKUList,e.salepageScopes[0].skuInfo);return YC(LC({},u),{SKUPropertySetList:null==u?void 0:u.SKUPropertySetList.filter((e=>{var t,n;return null==(n=null==(t=null==c?void 0:c.bundleBlocks[f.current])?void 0:t.salepageScopes[0])?void 0:n.skuInfo.some((t=>t.skuId===e.SaleProductSKUId))})),MajorList:[YC(LC({},u.MajorList[0]),{SKUList:t})]})}),[u,c]),{contentStyle:y,bottomStyle:C}=Ou,{productInfoStyle:v}=Xu,{containerStyle:B,mainInfoStyle:A,titleStyle:_}=v,S=K().createElement(UC.CarouselContainer,null,K().createElement(UC.CarouselViewport,{curStep:p},K().createElement(UC.CarouselSlide,null,K().createElement(UC.CarouselSlideScrollableArea,null,K().createElement(UC.SubSalePagesContent,{contentStyle:q.css`
                                ${y}
                                border-top: none !important;
                            `,browsingMode:t},null==(s=null==c?void 0:c.bundleBlocks)?void 0:s.map(((e,n)=>{const i=e.salepageScopes[0];return Md(c.bundleBlocks[n])?K().createElement(K().Fragment,null,K().createElement(OC.ProductInfoClosed,{salePageRemovedPlaceholder:(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_REMOVED_PLACEHOLDER),productInfoStyle:YC(LC({},v),{containerStyle:q.css`
                                                        ${B}
                                                        align-items: center;
                                                    `})})):(o=c.bundleBlocks[n],new Date(o.salepageScopes[0].sellingStartDateTime)>new Date?K().createElement(OC.ProductInfoSuspended,{browsingMode:t,productInfoStyle:YC(LC({},v),{containerStyle:q.css`
                                                    ${B}
                                                    align-items: center;
                                                `}),title:i.title,imgSrc:null==i?void 0:i.picUrl,notSellingMaskLabelText:(0,es.t)(jn.THEME_CORE.PRODUCT.NOT_SELLING_MASK_LABEL_TEXT)}):K().createElement(OC.MainInfo,{containerStyle:q.css`
                                            ${B}
                                            align-items: center;
                                        `,height:"unset",key:i.salepageId,onClick:()=>h(n,i.salepageId,i.salepageCode)},K().createElement(OC.MainInfoFigure,null,K().createElement(OC.MainInfoImage,{src:null==i?void 0:i.picUrl,alt:"img",browsingMode:M.MOBILE})),K().createElement(OC.MainInfoContainerForSalePageBundle,{mainInfoStyle:A,browsingMode:M.MOBILE},K().createElement(OC.Title,{titleStyle:_},i.title)),K().createElement("i",{className:"ico ico-chevron-right"})));var o}))))),b&&K().createElement(JC,{currentSalePageInfo:b,browsingMode:t,handleToastStatus:n,jsiRef:i,shouldUseAppNativeComponent:o,onProductSelected:r})));return K().createElement(z.Fragment,null,Bn()?K().createElement(pd,null,S):K().createElement(gd,{handleBackwardButtonClick:1===p?e=>{e.stopPropagation(),I(0)}:void 0,handleCloseButtonClick:a,title:0===p?(0,es.t)(jn.THEME_CORE.PRODUCT.SELECT_PRODUCT_FOR_COMMENT):1===p?(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE):void 0},S),K().createElement(lu,{isLoading:l||d}))},zC=({currentSalePageInfo:e,browsingMode:t,handleToastStatus:n,jsiRef:i,shouldUseAppNativeComponent:o,onProductSelected:r,onModalClose:a})=>((0,z.useEffect)((()=>{var e;if(o()){const t={icon:"Nothing",action:"Nothing"};null==(e=i.current)||e.setAppHeaderIcon({ios:{eventType:au.AH.HeaderBackAction,data:t},android:{eventType:au.AH.HeaderBackAction,data:t}})}}),[o]),(0,z.useEffect)((()=>{(t===M.MOBILE||Bn())&&(document.title=(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE))}),[t,Bn]),K().createElement(K().Fragment,null,Bn()?K().createElement(pd,null,K().createElement(JC,{handleToastStatus:n,currentSalePageInfo:e,browsingMode:t,jsiRef:i,shouldUseAppNativeComponent:o,onProductSelected:r})):K().createElement(gd,{handleCloseButtonClick:a,title:(0,es.t)(jn.THEME_CORE.PRODUCT.SALEPAGE_BUNDLE_P2_TITLE)},K().createElement(JC,{handleToastStatus:n,currentSalePageInfo:e,browsingMode:t,jsiRef:i,shouldUseAppNativeComponent:o,onProductSelected:r})))),KC=e=>K().createElement(Cd,null,K().createElement(Yu,null,K().createElement(MC,LC({},e))));var qC=Object.getOwnPropertySymbols,$C=Object.prototype.hasOwnProperty,ev=Object.prototype.propertyIsEnumerable;const tv={L:320,M:160,S:80},nv=q.default.img`
    ${({size:e})=>"Custom"!==e&&q.css`
            width: ${tv[e]}px;
        `}
`,iv=e=>{var t=e,{setting:n}=t,i=((e,t)=>{var n={};for(var i in e)$C.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&qC)for(var i of qC(e))t.indexOf(i)<0&&ev.call(e,i)&&(n[i]=e[i]);return n})(t,["setting"]);try{const{imgKey:e,isDefaultImageEnabled:t=!1,size:o="M",styles:r}=n,{market:a,shopId:s,env:c}=ke(),[l,u]=(0,z.useState)(null),d=e=>e?`${e}?v=${$u.dependencies["@91app/nine1.lib.key2image"]}`:null;return(0,z.useEffect)((()=>{var o;o=function*(){try{const n=new Ml.L;yield n.initialize({market:a,env:c});const i=n.img_t({shopId:s,key:e,isDefaultImageEnabled:t});u(d(i))}catch(n){ze.error(`[ERROR] fetching image failed: ${je(n)}: ${Je(n)}: imgKey: ${e}, imgAlt: ${i.alt}, isDefaultImageEnabled: ${t}`)}},new Promise(((e,t)=>{var i=e=>{try{a(o.next(e))}catch(n){t(n)}},r=e=>{try{a(o.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(i,r);a((o=o.apply(void 0,null)).next())}))}),[a,s,c,e]),l?K().createElement(nv,{src:l,alt:i.alt,size:o,loading:i.loading,style:"Custom"===o?r:void 0}):null}catch(o){ze.error(`[ERROR] Render SystemImage failed: ${je(o)}: ${Je(o)}: imgKey: ${n.imgKey}, imgAlt: ${i.alt}, isDefaultImageEnabled: ${n.isDefaultImageEnabled}`)}},ov=q.default.a`
    font-size: ${be.fontSizeS};
    line-height: ${"20px"};
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    transform: translateZ(0);
    background-color: ${({bgColor:e})=>e};
    color: ${({textColor:e})=>e};
    padding: 7px 16px;
    &:hover {
        text-decoration: ${({isEnableLink:e})=>e?"underline":"none"};
        cursor: ${({isEnableLink:e})=>e?"pointer":"default"};
    }
`,rv={wordBreak:"break-word",textAlign:"center",display:"flex",alignItems:"center"},av={textDecoration:"none",verticalAlign:"middle",marginLeft:"8px",fontSize:`${be.fontSizeM}`,fontWeight:600},sv=z.forwardRef(((e,t)=>{const{backgroundColor:n=J.reddishPink,color:i=J.white,text:o="",linkUrl:r="",urlType:a="",linkInfo:s,isEditMode:c}=e,{pageType:l=""}=s||{},u=!(a===Ee.URL_TYPE.NONE)&&(a===Ee.URL_TYPE.CUSTOM?!!r:a===Ee.URL_TYPE.INTERNAL?!!l:void 0),d=c?u:!!r;return z.createElement(ov,{ref:t,"data-qe-id":"top_message",href:d?r:"#",bgColor:n,textColor:i,isEnableLink:d,onClick:e=>{d?(Gc("首頁","click",`RibbonBar_${o}`),(0,Bs.selectContent)({id:"",linkUrl:r,name:o,contentType:"RibbonBar"})):e.preventDefault()}},z.createElement("span",{style:rv},o||(0,es.t)(jn.THEME_CORE.HEADER.TOP_MESSAGE),d&&z.createElement("i",{style:av,className:"ico ico-chevron-right"})))}));class cv extends z.Component{constructor(e){super(e),this.componentDidMount=()=>{window.addEventListener("scroll",this.handleScrollThrottle)},this.componentWillUnmount=()=>{window.addEventListener("scroll",this.handleScrollThrottle)},this.handleScroll=()=>{const{documentElement:e}=document,t=window.pageYOffset||e.scrollTop;this.setState({scrollY:t})},this.handleBackToTop=()=>{window.scroll({top:0,left:0,behavior:"smooth"})},this.state={scrollY:0},this.handleScrollThrottle=(0,j.throttle)(this.handleScroll,250)}render(){return this.state.scrollY>=this.props.showAtPosition&&z.createElement("div",{onClick:this.handleBackToTop},this.props.children)}}function lv(){const{innerWidth:e,innerHeight:t}=window;return{width:e,height:t}}cv.defaultProps={showAtPosition:500};var uv=Object.defineProperty,dv=Object.defineProperties,gv=Object.getOwnPropertyDescriptors,pv=Object.getOwnPropertySymbols,mv=Object.prototype.hasOwnProperty,fv=Object.prototype.propertyIsEnumerable,Iv=(e,t,n)=>t in e?uv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hv=(e,t)=>{for(var n in t||(t={}))mv.call(t,n)&&Iv(e,n,t[n]);if(pv)for(var n of pv(t))fv.call(t,n)&&Iv(e,n,t[n]);return e},bv=(e,t)=>dv(e,gv(t));const yv=q.default.div`
    position: relative;
    display: flex;
    flex-direction: row;
    width: ${({imgWidth:e})=>e}px;
    height: ${({imgHeight:e,imgWidth:t,mobile:n})=>n?4*t/3+"px":`${e}px`};
`,Cv=q.default.div`
    position: absolute;
    background-color: ${({backgroundColor:e})=>e||"transparent"};
    top: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    z-index: ${({zIndex:e})=>e||10};
`,vv=q.default.div`
    display: flex;
    position: absolute;
    /* 正在播放的圖片會在上面，其他圖片z-index 應該為0 */
    z-index: ${({imgIndex:e,currentIndex:t,arrayLength:n})=>{const i=t<n,o=e<n;return i&&o||!i&&!o?10:0}};
    width: ${({imgWidth:e,mobile:t})=>t&&!e?"auto":`${e}px`};
    height: ${({imgHeight:e,mobile:t})=>t&&!e?"auto":`${e}px`};
    transition: 0s;
`,Bv=q.default.div`
    height: 10px;
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 12px;
    margin-bottom: ${({mobile:e})=>e?"24":"68"}px;
`,Av=q.default.div`
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background-color: ${({active:e})=>e?"#4B4E5B":"#d8d9d8"};
    margin-right: 10px;
    &:last-child {
        margin-right: 0;
    }
    cursor: pointer;
`,_v=q.default.i`
    width: fit-content;
    height: fit-content;
    background-color: transparent;
    color: #666666;
    position: absolute;
    cursor: pointer;
    bottom: ${({imgHeight:e})=>e/2}px;
    z-index: 15;
    right: ${({gutter:e,direction:t})=>"right"===t?e:null}px;
    left: ${({gutter:e,direction:t})=>"left"===t?e:null}px;
    &::before {
        font-size: ${({size:e})=>"large"===e?42:32}px;
    }
`,Sv=({settings:e,children:t,collectionItemId:n})=>{const i=K().Children.toArray(t).filter((e=>"object"==typeof e)),[o,r]=(0,z.useState)(0),[a,s]=(0,z.useState)(!1),[c,l]=(0,z.useState)(!1),[u,d]=(0,z.useState)(!1),[g,p]=(0,z.useState)(!1),[m,f]=(0,z.useState)({}),[I,h]=(0,z.useState)(!1),b=(0,z.useRef)([]),y=(0,z.useRef)(),C=(0,z.useRef)(Array(i.length).fill({playbackRate:1,previousIntersectionStatus:!1,progress:0,updateTime:0,previousPlayStatus:"play"})),v=(0,z.useRef)(null),B=(0,z.useRef)([]),A=(0,z.useRef)([]),{width:_}=function(){const[e,t]=(0,z.useState)(lv());return(0,z.useEffect)((()=>{function e(){t(lv())}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[]),e}(),{imgWidth:S,imgHeight:G,autoplay:Q,mobile:E,arrows:F}=e,w=S||_,T=w/4,x=null==i?void 0:i.length,k=2*x,N=(e,t,n)=>{e.style[t]=n},O=function(e,{threshold:t=0,root:n=null,rootMargin:i="0%",freezeOnceVisible:o=!1}){const[r,a]=(0,z.useState)(),s=(null==r?void 0:r.isIntersecting)&&o,c=([e])=>{a(e)};return(0,z.useEffect)((()=>{const o=null==e?void 0:e.current;if(!window.IntersectionObserver||s||!o)return;const r=new IntersectionObserver(c,{threshold:t,root:n,rootMargin:i});return r.observe(o),()=>r.disconnect()}),[null==e?void 0:e.current,JSON.stringify(t),n,i,s]),r}(v,{threshold:.01,root:null,rootMargin:"0%",freezeOnceVisible:!1}),Z=!!(null==O?void 0:O.isIntersecting),U=e=>e>k-1?0:e<0?k-1:e,R=(e,t)=>e>t?e-t:e+t,X=(0,z.useCallback)((0,j.throttle)((()=>{r((e=>U(e-1))),C.current.forEach((e=>{e.previousPlayStatus="play"}))}),550),[k]),W=(0,z.useCallback)((0,j.throttle)((()=>{r((e=>U(e+1))),C.current.forEach((e=>{e.previousPlayStatus="play"}))}),550),[k]),V=(0,z.useRef)([]),P=(0,z.useCallback)(((e,t)=>{const n=e-o,i=o<t,r=e<t;return i&&o%t==0&&!r?(n-2*t)*w:!i&&o%t!=0&&r?(n+2*t)*w:n*w}),[w,o]);(0,z.useEffect)((()=>{V.current.length<1||V.current.forEach(((e,t)=>{N(e,"left",`${P(t,x)}px`),N(e,"transitionDuration","0.5s")}))}),[x,P,V.current.length]);const D=()=>{const e=B.current[B.current.length-1]-B.current[0];V.current.forEach((e=>{N(e,"transitionDuration","0.5s")})),e>T&&!g&&(l(!0),X(),V.current.forEach(((e,t)=>{N(e,"left",`${P(t,x)}px`)})),setTimeout((()=>{l(!1)}),500)),e<-T&&!g&&(l(!0),V.current.forEach((e=>{N(e,"transitionDuration","0.5s")})),W(),V.current.forEach(((e,t)=>{N(e,"left",`${P(t,x)}px`)})),setTimeout((()=>{l(!1)}),500)),e>=-T&&e<=T&&!g&&(l(!0),V.current.forEach(((e,t)=>{N(e,"left",`${P(t,x)}px`),N(e,"transitionDuration","0.5s")})),setTimeout((()=>{l(!1)}),500)),B.current=[],A.current=[]},H=e=>{if(B.current.push(e.touches[0].clientX),A.current.push(e.touches[0].clientY),B.current.length<3||A.current.length<3)return;const t=B.current[2]-B.current[0],n=A.current[2]-A.current[0];if(Math.abs(n)>Math.abs(t))return p(!0),void(y.current.style.touchAction="pan-x");Math.abs(n)<Math.abs(t)&&(p(!1),y.current.style.touchAction="pan-y"),u||!Z||c||g||B.current[B.current.length-1]-B.current[0]>w||(V.current.forEach((e=>{N(e,"transitionDuration","0s")})),V.current.forEach((e=>{const t=(0,j.toNumber)((0,j.trimEnd)(e.style.left,"px")),n=(0,j.toNumber)(B.current[B.current.length-1]-B.current[B.current.length-2]);e.style.left=`${t+n}px`})),e.stopPropagation())},L={root:v.current,rootMargin:"0px",threshold:.99},Y=(0,z.useCallback)((e=>{e.forEach((e=>{var t,n;const i=null==e?void 0:e.target;if(e.isIntersecting||(null==i||i.pause(),f({})),!e.isIntersecting&&!0===(null==(t=C.current[(0,j.toNumber)(i.id)])?void 0:t.previousIntersectionStatus)){const t=bv(hv({updateTime:0},C.current[(0,j.toNumber)(i.id)]),{progress:i.currentTime,playbackRate:i.playbackRate});C.current[(0,j.toNumber)(null==(n=null==e?void 0:e.target)?void 0:n.id)]=t,C.current[R((0,j.toNumber)(e.target.id),x)]=t,b.current[R((0,j.toNumber)(e.target.id),x)].currentTime=C.current[(0,j.toNumber)(i.id)].progress,b.current[R((0,j.toNumber)(e.target.id),x)].playbackRate=C.current[(0,j.toNumber)(i.id)].playbackRate,C.current[(0,j.toNumber)(i.id)].previousIntersectionStatus=!1}if(e.isIntersecting){f({});const e=bv(hv({},C.current[(0,j.toNumber)(i.id)]),{previousIntersectionStatus:!0,updateTime:Date.now()});C.current[(0,j.toNumber)(i.id)]=e}}))}),[x]);return(0,z.useEffect)((()=>{const e=new IntersectionObserver(Y,L);b.current.forEach((t=>{"true"!==t.getAttribute("hasObserver")&&(e.observe(t),t.setAttribute("hasObserver","true"))}))}),[b.current.length,o]),(0,z.useEffect)((()=>{b.current.forEach((e=>{var t;(u||!Z||c)&&e.pause(),Z&&(0,j.toNumber)(e.id)===(0,j.toNumber)(o)&&e.currentTime!==e.duration&&C.current[(0,j.toNumber)(e.id)]&&"pause"!==(null==(t=C.current[(0,j.toNumber)(e.id)])?void 0:t.previousPlayStatus)&&(null==e||e.play())}))}),[Z,o,u,c,m]),(0,z.useEffect)((()=>{b.current.forEach((e=>e.load())),b.current.forEach((e=>e.setAttribute("controlsList","nodownload"))),b.current.forEach((e=>{e.addEventListener("enterpictureinpicture",(()=>{d(!0)})),e.addEventListener("leavepictureinpicture",(()=>{d(!1)}))}))}),[]),function(e,t,n){const i=(0,z.useRef)(e),[o,r]=(0,z.useState)(!1),a=(0,z.useRef)(null);(0,z.useEffect)((()=>{i.current=e}),[e]),(0,z.useEffect)((()=>{if(t||0===t)return a.current=setInterval((()=>{o||n||(i.current(),r(!0))}),t),()=>{clearInterval(a.current),r(!1)}}),[t,n])}((()=>Q?r((e=>U(e+1))):null),2e3,a),(({SLIDER_LENGTH:e,videoRef:t,currentIndex:n,ReactChildrenArray:i,collectionItemId:o})=>{const[r,a]=(0,z.useState)(0);let s;const c=t=>t>=e?t-e:t,l=()=>{var e;const t=i[c(n)];let o;return(0,z.isValidElement)(t)&&(o=null==(e=t.props)?void 0:e.src),o},u=()=>{const e=t.current[c(n)],i=(null==e?void 0:e.duration)||0,o=(null==e?void 0:e.currentTime)||0;return{videoDuration:i,videoCurrentTime:o,playedPercent:(o/i*100).toFixed(0)}},d=()=>{const{videoCurrentTime:e,videoDuration:t,playedPercent:n}=u();if(!isNaN(e)&&!isNaN(t)){switch(n){case"10":case"25":case"50":case"75":case"100":n!==s&&p(t,n)}ks(n)&&(s=n)}},g=()=>{const{videoCurrentTime:e,videoDuration:t,playedPercent:n}=u();isNaN(e)||isNaN(t)||"0"!==n||p(t,n)},p=(e,t)=>{switch(t){case"0":(0,Bs.videoStart)({duration:e,title:o,url:l()});break;case"100":(0,Bs.videoComplete)({duration:e,title:o,url:l()});break;default:(0,Bs.videoProgress)({duration:e,title:o,url:l(),percent:t})}};(0,z.useEffect)((()=>(r!==c(n)&&((0,Bs.selectContent)({contentType:"CollectionContents",id:"",name:"切換圖片",viewId:o,linkUrl:l()}),a(c(n))),t.current.forEach((e=>{e.addEventListener("timeupdate",d),e.addEventListener("play",g)})),()=>{t.current.forEach((e=>{e.removeEventListener("timeupdate",d),e.removeEventListener("play",g)}))})),[c(n)])})({SLIDER_LENGTH:x,videoRef:b,currentIndex:o,ReactChildrenArray:i,collectionItemId:n}),K().createElement("div",{ref:y,onMouseEnter:()=>Q?s(!0):null,onMouseLeave:()=>Q?s(!1):null},K().createElement(yv,{imgWidth:w,imgHeight:G,mobile:!0},x>1&&F&&K().createElement(_v,{className:"ico ico-chevron-left",direction:"left",size:"default",gutter:12,imgHeight:G,onClick:!u&&X}),x>1&&F&&K().createElement(_v,{className:"ico ico-chevron-right",direction:"right",size:"default",gutter:12,imgHeight:G,onClick:!u&&W}),x>0&&K().createElement(Cv,{ref:v},K().Children.map([...i,...i],((e,t)=>K().createElement(vv,{ref:e=>{V.current[t]=e},mobile:E,key:(0,j.toString)(t),currentIndex:o,imgIndex:t,imgWidth:w,imgHeight:G,arrayLength:x,onTouchMove:H,onTouchEnd:D},((e,t)=>{const n={controls:!0,muted:!0,id:(0,j.toString)(t),onEnded:()=>{C.current[t].progress=b.current[t].duration},onPause:()=>{C.current[t].previousPlayStatus="pause"},onPlay:()=>{C.current[t].previousPlayStatus="play"},onClick:()=>{h(!0)},width:w,ref:e=>{b.current[t]=e},loop:!1,playsInline:!0};return"video"===e.type?K().cloneElement(e,hv(hv({key:(0,j.toString)(t)},e.props),n)):"img"===e.type?K().cloneElement(e,hv(hv({key:(0,j.toString)(t)},e.props),{width:"100%",height:"auto"})):K().cloneElement(e,hv({},e.props))})(e,t)))))),K().createElement(Bv,{mobile:E},x>1&&i.map(((e,t)=>K().createElement(Av,{key:(0,j.toString)(t),active:o%x==t%x,onClick:()=>{r(o>=x?(0,j.toNumber)(t)+x:t),C.current.forEach((e=>{e.previousPlayStatus="play"}))}})))))};class Gv extends z.Component{constructor(){super(...arguments),this.freezeAsidePushMenu=e=>{var t;const n=null==(t=this.slidePushMenuLeftElem)?void 0:t.classList;this.browsingMode!==M.DESKTOP&&n&&lc(navigator.userAgent)&&(e?n.add("slide-push-menu--freeze"):n.remove("slide-push-menu--freeze"))}}componentDidMount(){this.slidePushMenuLeftElem=document.getElementById("slide-push-menu__left-containter");const{isOpen:e}=this.props,{browsingMode:t}=ke();this.browsingMode=t,Go(e)}UNSAFE_componentWillReceiveProps(e){const{isOpen:t}=this.props;t!==e.isOpen&&(Go(e.isOpen),this.freezeAsidePushMenu(e.isOpen))}render(){const{title:e,isOpen:t,isMaskOpacity:n,onCloseDialog:i,onConfirmDialog:o,customStyle:r,customCssClass:a,isShowClose:s,children:c,cancelText:l,confirmText:u}=this.props;return z.createElement("div",{className:nu()("dialog",!0===t?"dialog--open":"")},t&&z.createElement("div",{className:nu()("dialog__backdrop",n?"dialog__backdrop--opacity":""),onClick:i}),t&&z.createElement("div",{style:r,className:nu()("dialog--default",a||"")},s&&z.createElement("div",{className:"modal__header"},z.createElement("a",{className:"close",onClick:i},z.createElement("i",{className:"ico ico-close"})),e&&z.createElement("h2",{className:"modal__title"},e)),!c&&z.createElement("div",{className:"modal__loading black-spinner "}),c&&z.createElement("div",{className:"modal__body"},c),l||u?z.createElement("div",{className:"modal__footer"},l&&z.createElement("button",{type:"button",className:"cancel-btn",onClick:i},l),u&&z.createElement("button",{type:"button",className:"confirm-btn",onClick:o},u)):null))}}Gv.defaultProps={isOpen:!1,isShowClose:!0,isMaskOpacity:!0,title:"",confirmText:"",cancelText:""};const Qv=q.default.label`
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: white;
    border: 2px solid #dddddd;
    margin-right: 18px;

    &::after {
        content: '';
        display: block;
        border-radius: 50%;
        width: 8px;
        height: 8px;
        margin: 2px;
        background: transparent;
    }
`,Ev=q.default.input`
    cursor: pointer;
    opacity: 0;
    z-index: ${x};
    border-radius: 50%;
    width: 100%;
    height: 100%;
    margin-right: 10px;
    position: absolute;

    &:hover ~ ${Qv} {
        background: #fff;
        border: 2px solid #bebebe;
        &::after {
            content: '';
            display: block;
            border-radius: 50%;
            width: 8px;
            height: 8px;
            margin: 2px;
            background: #bebebe;
        }
    }
    &:checked + ${Qv} {
        background: #fff;
        border: 2px solid #4a90e2;
        &::after {
            content: '';
            display: block;
            border-radius: 50%;
            width: 8px;
            height: 8px;
            margin: 2px;
            background: #4a90e2;
        }
    }
`,Fv=q.default.div`
    display: flex;
    align-items: center;
    height: 48px;
    position: relative;
    margin-right: 10px;
`,wv=q.default.div`
    width: 100%;
`,Tv=e=>{const{currentItem:t,itemList:n,onAfterChanged:i}=e,[o,r]=(0,z.useState)(t),a=e=>{const t=e.target.value;r(t),i(t)};return z.createElement(z.Fragment,null,n.map((e=>z.createElement(Fv,{key:e.value},z.createElement(Ev,{type:"radio",value:e.value,checked:e.value===o,onChange:a}),z.createElement(Qv,null),z.createElement(wv,null,e.title)))))};Tv.defaultProps={itemList:[],currentItem:""};const xv=Tv,kv=q.default.i`
    font-size: 24px;
`,Nv=e=>e===eo.FACEBOOK_PAGE?"#1877f2":e===eo.FACEBOOK_MESSENGER?"#fffff":e===eo.LINE?"#06c755":e===eo.IG?"#ff0076":"#fffff",Ov=({id:e,size:t})=>(e=>e===eo.FACEBOOK_PAGE||e===eo.FACEBOOK_MESSENGER||e===eo.LINE||e===eo.IG)(e)?{fontSize:t/.9+"px",width:"0.9em",height:"0.9em",borderRadius:"100%",background:`${Nv(e)}`}:{fontSize:`${t}px`},Zv=e=>{const{id:t}=e,n={fb_page:"ico-facebook",line:"ico-line",ig:"ico-instagram",fb_messenger:"ico-messenger",store_info:"ico-store",coupon:"ico-coupon",top:"ico-skip-up",cumulative:"ico-function"}[t]||"ico-shortcut";return z.createElement(kv,{className:`toolbox__icon ico ${n}`})},Uv=e=>{const{id:t,href:n,onClick:i,size:o=40,imageUrl:r,customTitle:a,eventLabel:s}=e;return z.createElement("a",{rel:"noreferrer",className:"toolbox__button toolbox__button--shadow",style:Ov({id:t,size:o}),href:n,target:"_blank",onClick:e=>{Gc("全站_懸浮工具列","click",`懸浮工具列_${s}`),(0,Bs.selectContent)({id:t.toString(),contentType:"FloatButton",linkUrl:n,name:s}),i&&(i(e),e.preventDefault())}},t===eo.CUSTOM&&r?z.createElement("img",{loading:"lazy",className:"toolbox__button--custom",src:(t=>{const{imageServiceConfig:n,shopId:i}=e;return Or(i,n,t)})(r),alt:a||"toolbox__button--custom"}):z.createElement(Zv,{id:t}))};var Rv=n(5963),Xv=n.n(Rv);class Wv extends z.Component{static hide(e){Xv().hide(e)}render(){return z.createElement(z.Fragment,null,this.props.isCustomTriggerNode||z.createElement("div",{className:"tooltip tooltip__icon","data-for":this.props.id,"data-tip":"tooltip",style:this.props.style},z.createElement("i",{className:"ico ico-question"})),z.createElement(Xv(),{place:this.props.place,id:this.props.id,type:this.props.type,effect:"solid",class:`tooltip--custom tooltip--custom--clickable ${this.props.tooltipCustomClass}`,globalEventOff:"click"},this.props.imageSrc&&z.createElement("figure",{className:"tooltip__image-frame"},z.createElement("img",{loading:"lazy",className:"tooltip__image",src:this.props.imageSrc,alt:"tooltip"})),this.props.wording&&z.createElement("span",null,this.props.wording),this.props.children))}}Wv.defaultProps={imageSrc:"",wording:"",place:"right",type:"light"},Wv.propTypes={imageSrc:Pu.string,wording:Pu.string,place:Pu.string,type:Pu.string};const Vv=q.default.div`
    width: 100%;
    height: 100%;
    min-height: 50vh;
    background-color: ${J.white};
    text-align: center;
    margin-top: 10%;
`,Pv=q.default.div`
    margin-top: 31px;
    width: 100%;
`,Dv=({text:e,children:t})=>z.createElement(Vv,null,z.createElement(iv,{setting:{imgKey:Ml.e.NO_RESULT},alt:"NotFound"}),z.createElement(Pv,null," ",e),t),Hv=q.default.svg`
    display: flex;
    justify-content: center;
    align-items: center;

    width: ${32}px;
    height: ${32}px;
    box-sizing: border-box;
    border-radius: 100%;
    background-color: ${J.blackThree};
    overflow: visible;

    text {
        text-anchor: middle;
        dominant-baseline: central;
        fill: ${J.white};
        cursor: default;
    }
`,Lv=q.keyframes`
    from {
        stroke-dashoffset: 0;
    }
    to {
        stroke-dashoffset: ${32*Math.PI}px;
    }
`,Yv=q.default.circle`
    transform-origin: center;
    transform: rotateY(-180deg) rotateZ(-90deg);
    stroke: ${J.white};
    stroke-width: ${2}px;
    fill: none;

    stroke-dasharray: ${32*Math.PI}px;
    stroke-dashoffset: 0;
    animation: ${({isEnableAnimation:e})=>e?Lv:"none"};
    animation-duration: ${({countdownSeconds:e})=>e}s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: linear;
`,Mv=q.default.div`
    width: 100vw;
    height: 100vh;
    padding: 0 20px;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: ${X};

    position: fixed;
    top: 0;
    left: 0;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    ${({isEditMode:e})=>e&&"\n        width: 100%;\n        height: 100%;\n        position: absolute;\n        overflow: hidden;\n    "}
`,Jv=q.default.img`
    width: 100%;
    height: auto;
    display: ${({hasError:e})=>e?"none":"block"};
`,jv=q.default.div`
    width: 100%;
    height: 100%;
    max-width: ${({imgWidth:e})=>e}px;
    max-height: ${({imgHeight:e})=>e}px;
    min-height: calc((100vw - 40px) * ${({imgHeight:e})=>e} / ${({imgWidth:e})=>e});

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;

    svg {
        transform: translate(-${2}px, calc(-${2}px - 10px));
    }
`;var zv=Object.defineProperty,Kv=Object.defineProperties,qv=Object.getOwnPropertyDescriptors,$v=Object.getOwnPropertySymbols,eB=Object.prototype.hasOwnProperty,tB=Object.prototype.propertyIsEnumerable,nB=(e,t,n)=>t in e?zv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,iB=(e,t)=>{for(var n in t||(t={}))eB.call(t,n)&&nB(e,n,t[n]);if($v)for(var n of $v(t))tB.call(t,n)&&nB(e,n,t[n]);return e},oB=(e,t)=>Kv(e,qv(t));const rB="FullScreenAdStoreInfo",aB=864e5,sB=()=>{const{locale:e,shopId:t}=ke(),n=localStorage.getItem(rB)||(0,vn.getCookie)(rB),i=localStorage.getItem("FullScreenAd");if(n){const i=JSON.parse(n);return i[t]&&i[t][e]?i[t][e]:{updateTimestamp:"",cycleStartTime:"",cycleDisplayCounter:0}}return i?JSON.parse(i):{updateTimestamp:"",cycleStartTime:"",cycleDisplayCounter:0}},cB=e=>{const t=(null==e?void 0:e.length)>0&&e[0]||{},{scheduleList:n}=t,i=((e,t)=>{var n={};for(var i in e)eB.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&$v)for(var i of $v(e))t.indexOf(i)<0&&tB.call(e,i)&&(n[i]=e[i]);return n})(t,["scheduleList"]);if(n&&n.length>0){const e=n.filter((e=>qa()().isBefore(e.endTime))).sort(((e,t)=>qa()(e.startTime).diff(qa()(t.startTime))));return iB(iB({},e[0]),i)}return{}},lB=({materialItem:e={},isEditMode:t=!1,isShowInPreview:n=!1,browsingMode:i,handlePopoverClose:o})=>{const r=ke(),{imageServiceConfig:a,shopId:s}=r,{title:c,adsCloseType:l,countdownSeconds:u,linkUrl:d,altText:g,mobileImageInfo:p={},desktopImageInfo:m={},imageUrlMobile:f,imageUrl:I,isSplitPicture:h,updateTimestamp:b,compressVersion:y}=e,C=i===M.MOBILE,v=Or(s,a,C||!h?f:I),[B,A]=(0,z.useState)(u),[{imageWebPSrcSet:_,imageHasError:S},G]=(0,z.useState)((()=>{let e=[];return C&&p?e=p.resizeList||[]:!C&&m&&(e=m.resizeList||[]),{imageWebPSrcSet:Ur(v,e,r,y),imageHasError:!1}})),Q=C||!h?p:m,E=_&&!t,F="CountDown"===l;(0,z.useEffect)((()=>{if(F&&!t){const e=setInterval((()=>A((e=>e-1))),1e3);setTimeout((()=>{clearInterval(e),o(),(0,Bs.selectContent)({id:"",linkUrl:ut(d),name:`close_${c}`,contentType:"PopupAd"})}),1e3*B)}}),[]),(0,z.useEffect)((()=>{if(!n){const{updateTimestamp:e,cycleStartTime:t,cycleDisplayCounter:n}=sB(),i=e!==b||qa()().valueOf()-aB>qa()(t).valueOf();(({updateTimestamp:e,cycleStartTime:t,cycleDisplayCounter:n})=>{const{locale:i,shopId:o}=ke(),r=JSON.parse(localStorage.getItem(rB))||{},a=r[o]||{},s=oB(iB({},r),{[o]:oB(iB({},a),{[i]:{updateTimestamp:e,cycleStartTime:t,cycleDisplayCounter:n}})});localStorage.setItem(rB,JSON.stringify(s)),(0,vn.addCookie)(rB,JSON.stringify(s),1)})({updateTimestamp:b,cycleStartTime:i?qa()().toISOString():t,cycleDisplayCounter:i?1:n+1})}}),[n]);const w=e=>{Gc(tc(),"click_PopupAd",`${e}{${c}}`)};return K().createElement(Mv,{isEditMode:t,onClick:()=>{F||(w("close"),o(),(0,Bs.selectContent)({id:"",linkUrl:ut(d),name:`close_${c}`,contentType:"PopupAd"}))}},K().createElement(jv,{imgWidth:String(Q.width),imgHeight:String(Q.height)},K().createElement(Hv,{width:32,height:32,viewBox:"0 0 32 32"},K().createElement(Yv,{cx:16,cy:16,r:16,isEnableAnimation:F&&!t,countdownSeconds:u}),K().createElement("text",{x:16,y:16},F?`${B}s`:"✕")),K().createElement(Jv,oB(iB({src:v},E&&{srcSet:_}),{alt:g||qe(Ke.FULL_SCREEN_ADS),hasError:S,onLoad:()=>{G((e=>oB(iB({},e),{imageHasError:!1})))},onError:()=>{G({imageWebPSrcSet:"",imageHasError:!0})},onClick:e=>{e.stopPropagation(),w("open"),(0,Bs.selectContent)({id:"",linkUrl:ut(d),name:`open_${c}`,contentType:"PopupAd"}),window.location.href.replace(/^(http(s?)):/i,"")===d.replace(/^(http(s?)):/i,"")?(o(),(0,Bs.selectContent)({id:"",linkUrl:ut(d),name:`close_${c}`,contentType:"PopupAd"})):window.location.href=d}}))))},uB=({browsingMode:e,materialList:t,isEditMode:n=!1})=>{const{pageName:i,previewPageName:o}=ke(),r=(0,z.useMemo)((()=>n||i===we.PREVIEW&&o===we.INDEX),[n,i,o]),a=(0,El.useSelector)((e=>e.construct)),{fullScreenAds:s={}}=a&&ja(a)||{},c=(0,z.useMemo)((()=>{var e,i;return n?cB(t):r&&(null==(e=s.materialList)?void 0:e.length)>0&&s.materialList[0]&&!s.materialList[0].adsCloseType?cB(s.materialList):(null==(i=s.materialList)?void 0:i.length)>0&&s.materialList[0]||{}}),[n,s.materialList,t]),l=(0,z.useMemo)((()=>(i===we.INDEX||r)&&!!c.adsCloseType),[i,r,c]),[u,d]=(0,z.useState)(!1);return(0,z.useEffect)((()=>{if(l)if(r)d(!0);else{const{updateTimestamp:e,cycleStartTime:t,cycleDisplayCounter:n}=sB();d(c.updateTimestamp!==e||n<c.displayFrequencyPerDay||qa()().valueOf()-aB>qa()(t).valueOf())}}),[l,r]),K().createElement(K().Fragment,null,_e()&&l&&u&&K().createElement(lB,{materialItem:c,isEditMode:n,browsingMode:e,isShowInPreview:r,handlePopoverClose:()=>d(!1)}))},dB=q.default.ol`
    display: flex;
    align-items: center;
    width: 100%;
    height: 20px;
    padding: 3px 0px;
`,gB=q.default.li`
    display: flex;
`,pB=q.default.a`
    display: flex;
    align-items: center;
    margin-right: 5px;
    font-size: ${be.fontSizeDefault};
    letter-spacing: normal;
    color: ${({isLast:e})=>e?J.blackThree:J.brownishGrey};
    cursor: ${({isLast:e})=>e?"default":"pointer"};
    :hover {
        text-decoration: ${({isLast:e})=>e?"":"underline"};
    }
`,mB=q.default.h1`
    font-weight: normal;
`,fB=q.default.i`
    display: flex;
    align-items: center;
    margin-right: 5px;
    color: ${J.blackThree};
`,IB=e=>{const{data:t,onItemClick:n,isUseH1:i}=e;return z.createElement(dB,null,t.map(((e,o)=>{const{name:r,link:a,isUseHref:s=!0,isUseOnClick:c=!0}=e,l=o===t.length-1,u=s&&a||a||null;return z.createElement(gB,{key:r+o},z.createElement(pB,{href:u,onClick:t=>{c&&n&&n({item:e,index:o,isLast:l}),s||t.preventDefault()},isLast:l},l&&i?z.createElement(mB,null,e.name):z.createElement("span",null,e.name)),!l&&z.createElement(fB,{className:"ico ico-chevron-right"}))})))},hB=q.default.div`
    position: fixed;
    padding: 20px 16px;
    width: 820px;
    min-height: 52px;
    background: ${({headerBackgroundColor:e})=>e||"#FFFFFF"};
    color: ${({navTextColor:e})=>e||"#000"};
    mix-blend-mode: normal;
    box-shadow: 0 1px 4px rgba(151, 151, 151, 0.5);
    border-radius: 4px;
    display: inline-flex;
    left: 50%;
    top: 90vh;
    transform: translate(-50%, -50%);
    z-index: ${W};
`,bB=q.default.div`
    width: 690px;
    font-size: 12px;
    line-height: 17px;
`,yB=q.default.p`
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal;
    display: ${e=>e.isOpenPrivacyBlock?"initial":"-webkit-box"};
    overflow: hidden;
`,CB=q.default.a`
    text-decoration-line: underline;
    color: ${({navTextColor:e})=>e||"#333"};
`,vB=q.default.a`
    font-style: normal;
    font-weight: bold;
    font-size: 14px;
    line-height: 20px;
    align-items: center;
    text-align: center;
    color: ${({navTextColor:e})=>e||"#333"};
    margin: auto;
    display: flex;
    flex-direction: column;
    cursor: pointer;
`,BB=q.default.a`
    font-weight: 500;
    font-size: 12px;
    line-height: 17px;
    text-decoration-line: underline;
    color: ${({navTextColor:e})=>e||"#333"};
    cursor: pointer;
`,AB=()=>{const[e,t]=(0,z.useState)(!1),[n,i]=(0,z.useState)(_e()&&!_n()&&!(0,vn.getCookie)(Vs)&&!Bn()&&!(_e()&&(0,Ee.getPageInfoByPathRegex)(window.location.pathname).pageType===Ee.PAGE_TYPE.APP_DOWNLOAD)&&!(_e()&&/ProductToCart/i.test(window.location.pathname))&&!/SelectProduct/i.test(window.location.pathname)),o=(0,El.useSelector)((e=>e.construct)),r=(0,El.useSelector)((e=>e.dependencies)),{shopDomainName:a,shopId:s}=r,{headerStyle:c,navStyle:l}=ja(o)||{};return n?z.createElement(hB,{headerBackgroundColor:null==c?void 0:c.backgroundColor,navTextColor:null==l?void 0:l.color},z.createElement(bB,null,z.createElement(yB,{isOpenPrivacyBlock:e},(0,es.t)(jn.THEME_CORE.DEFAULT.PRIVACY_TIP_INFO_FIRST),z.createElement(CB,{href:`//${a}/MyAccount/Privacy?shopId=${s}`,navTextColor:null==l?void 0:l.color},(0,es.t)(jn.THEME_CORE.DEFAULT.PRIVACY_TIP_INFO_SECOND)),(0,es.t)(jn.THEME_CORE.DEFAULT.PRIVACY_TIP_INFO_THIRD)),e?null:z.createElement(BB,{href:"#",onClick:e=>{e.preventDefault(),t(!0)},navTextColor:null==l?void 0:l.color},(0,es.t)(jn.THEME_CORE.DEFAULT.PRIVACY_TIP_INFO_READ_MORE))),z.createElement(vB,{navTextColor:null==l?void 0:l.color,href:"#",onClick:e=>{e.preventDefault(),(0,vn.addCookie)(Vs,(!0).toString(),365),i(!1)}},(0,es.t)(jn.THEME_CORE.DEFAULT.PRIVACY_TIP_INFO_CHECK))):null},_B=({text:e})=>z.createElement("span",{"data-nosnippet":!0},e),SB=q.css`
    float: left;
`,GB={left:"400px;",middle:"155px;",menu:"100%;"},QB=q.default.footer`
    box-sizing: border-box;
    min-width: ${de};
    height: ${ge};
    margin-top: 64px;
    padding: 24px 0;
    background: #f0f2f5;
`,EB=q.default.div`
    ${({section:e})=>"left"===e?"\n            float: left;\n            margin-right: 40px;\n            ":SB}
    box-sizing: border-box;
    ${({section:e})=>`\n        width: ${GB[e]}\n        `}
`,FB=q.default.a`
    display: flex;
    align-items: center;
    height: 42px;
`,wB=q.default.img`
    width: 140px;
    display: flex;
    justify-content: start;
`,TB=q.default.ul`
    list-style: none;
    display: flex;
    gap: 0 8px;
    margin-top: 80px;
`,xB=q.default.a`
    width: 28px;
    height: 28px;
    background-color: #9d9da0;
    border-radius: 100%;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
`,kB=q.default.i`
    font-size: 16px;
`,NB=q.default.div`
    display: flex;
    flex-direction: column;
    max-height: 96px;
    flex-wrap: wrap;
    gap: 8px 40px;
    width: 100%;
`,OB=q.default.li`
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
`,ZB=q.default.a`
    ${Be}
    color: #3C3C43;
    &:hover {
        cursor: pointer;
    }
`,UB=q.default.div`
    float: left;
    box-sizing: border-box;
    width: 100%;
    margin-top: 36px;
    text-align: right;
`,RB=q.default.small`
    ${Be}
    font-size: 12px;
    line-height: 150%;
    color: #3c3c43;
    ${({size:e})=>{if("copyright"===e)return"\n            padding-top: 3px;\n            float: left;\n            "}}
`,XB=q.default.div`
    float: left;
    color: #f0f2f5;
    padding-left: 15px;
`,WB=e=>{const{shopName:t,logoSrc:n,dependencies:i,logoLink:o}=e,{imageServiceConfig:r}=i,a=n||dr;return z.createElement("div",null,z.createElement(FB,{href:o,title:t},z.createElement(wB,{loading:"lazy",src:ot(r,a),alt:`${t}`,className:"logo-img"})))},VB=({socialSectionLink:e})=>{const{lineUrl:t,fbUrl:n,youtubeUrl:i,instagramUrl:o}=e;return z.createElement(TB,null,t&&z.createElement("li",null,z.createElement(xB,{target:"_blank",rel:"noopener noreferrer",href:t},z.createElement(kB,{className:"ico ico-line"}))),n&&z.createElement("li",null,z.createElement(xB,{target:"_blank",rel:"noopener noreferrer",href:n},z.createElement(kB,{className:"ico ico-facebook"}))),i&&z.createElement("li",null,z.createElement(xB,{target:"_blank",rel:"noopener noreferrer",href:i},z.createElement(kB,{className:"ico ico-youtube"}))),o&&z.createElement("li",null,z.createElement(xB,{target:"_blank",rel:"noopener noreferrer",href:o},z.createElement(kB,{className:"ico ico-instagram"}))))},PB=q.default.div`
    font-size: 0.7em;
    font-weight: normal;
    color: ${J.warmGrey};
    ${Be}
`,DB=q.css`
    float: left;
    padding-right: 1.04167%;
    padding-left: 1.04167%;
`,HB={left:"32%;",middle:"50%;",right:"18%;",menu:"50%;"},LB=q.default.div`
    ${({section:e})=>"left"===e||"right"===e?"float: left;":DB}
    box-sizing: border-box;
    ${({section:e})=>`\n        width: ${HB[e]}\n        `}
`,YB=q.default.div`
    margin-top: ${he};
`,MB=q.default.div`
    ${Be}
    line-height: 2.2;
    font-size: 1em;
    font-weight: 500;
    color: ${J.gunmetal};
`,JB=q.default.a`
    ${Be}
    line-height: 2.2;
    font-size: 0.8em;
    font-weight: normal;
    color: ${J.brownishGrey};
    &:hover {
        cursor: pointer;
        text-decoration: underline;
    }
`,jB=q.default.small`
    ${Be}
    font-size: 0.7em;
    line-height: 1;
    color: ${J.warmGrey};
    ${({size:e})=>{if("copyright"===e)return"\n            padding-top: 3px;\n            float: left;\n            "}}
`,zB=q.default.div`
    float: left;
    color: ${J.white};
    padding-left: 15px;
`,KB=q.default.div`
    float: left;
    box-sizing: border-box;
    width: 100%;
    margin-top: ${he};
    text-align: right;
`,qB=q.default.footer.attrs({className:"layout-footer-wrapper"})`
    box-sizing: border-box;
    min-width: ${de};
    height: ${ge};
    margin-top: 64px;
    padding: ${"30px"} 0;
    border-top: 1px solid #dadada;
    background: ${J.white};
`,$B=q.default.div`
    max-width: ${de};
    margin: 0 auto;
    ${ve}
`,eA=q.default.div`
    float: left;
    box-sizing: border-box;
    width: 100%;
`,tA=({dependencies:e})=>{const{shopProfile:t,machineName:n}=e,{ShopBasicInfo:i}=t;return z.createElement(QB,null,z.createElement($B,null,z.createElement(eA,null,z.createElement(EB,{section:"left"},z.createElement(WB,{dependencies:e,logoLink:"https://shop.muji.tw",logoSrc:gr,shopName:i.ShopName}),z.createElement(VB,{socialSectionLink:Vt})),z.createElement(EB,{section:"middle"},z.createElement(NB,null,Pt.map(((e,t)=>z.createElement(EB,{section:"menu",key:t},z.createElement("ul",null,z.createElement(OB,null,z.createElement(ZB,{href:e.link},e.name))))))))),z.createElement(UB,null,z.createElement(RB,{size:"copyright"},z.createElement("a",{href:Dt},"台灣")),z.createElement(RB,{size:"surfbrowser"},"Copyright©Ryohin Keikaku Co., Ltd. ©MUJI (Taiwan) Co., Ltd. All rights reserved.擁有及保留本網站所有權利。"),z.createElement(XB,null,z.createElement(_B,{text:n})))))},nA=({activity:e})=>({activityList:(null==e?void 0:e.activityList)||[]}),iA=e=>({fetchActivityList(){e(uI())}}),oA=({coupon:e})=>({couponList:(null==e?void 0:e.couponList)||[]}),rA=e=>({fetchCouponList(){e(pI())}}),aA=({ecoupon:e})=>({ecouponList:(null==e?void 0:e.ecouponList)||[]}),sA=e=>({fetchECouponList(){e(II())}}),cA=({favorite:e})=>({favoriteCount:(null==e?void 0:e.favoriteCount)||0,favoriteList:(null==e?void 0:e.favoriteList)||[]}),lA=e=>({fetchFavoriteCount(){e(BI())},fetchFavoriteList(){e(yI())},addFavorite(t){e(SI(t))}}),uA=({official:e})=>({sendAppResult:null==e?void 0:e.sendAppResult,reCaptchaKey:null==e?void 0:e.reCaptchaKey}),dA=e=>({sendAppDownloadLink({phoneNumber:t,reCaptchaToken:n}){e(RI(t,n))},fetchReCaptchaKey(){e(OI())}}),gA=({construct:e,pageMetaData:t,globalStyleData:n,messageData:i})=>({construct:e||{},pageMetaData:t||{},globalStyleData:n,message:(null==i?void 0:i.message)||"",isLoading:(null==i?void 0:i.isLoading)||!1}),pA=e=>({initMessage(){e(VI())},switchLoading(){e(DI())}}),mA=({promotion:e})=>({promotionCount:(null==e?void 0:e.promotionCount)||0,promotionTargetList:(null==e?void 0:e.promotionTargetList)||{},promotionSourceTypeList:null==e?void 0:e.promotionSourceTypeList,promotionSourceTypeId:null==e?void 0:e.promotionSourceTypeId}),fA=e=>({fetchPromotionCount(){e(LI())},fetchPromotionTargetList(){e(JI())},fetchPromotionList(t){e(KI(t))},fetchPromotionListById(t){e(eh(t))}}),IA=({retailStore:e})=>({retailStoreCustomLinkSettingList:e.retailStoreCustomLinkSettingList}),hA=e=>({fetchRetailStoreCustomLinkSettingList(){e(ah())}});var bA=Object.defineProperty,yA=Object.defineProperties,CA=Object.getOwnPropertyDescriptors,vA=Object.getOwnPropertySymbols,BA=Object.prototype.hasOwnProperty,AA=Object.prototype.propertyIsEnumerable,_A=(e,t,n)=>t in e?bA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const SA=({salePage:e})=>{return t=((e,t)=>{for(var n in t||(t={}))BA.call(t,n)&&_A(e,n,t[n]);if(vA)for(var n of vA(t))AA.call(t,n)&&_A(e,n,t[n]);return e})({},e),n={historySalePageList:(null==e?void 0:e.historySalePageList)||[],salePageInfo:null==e?void 0:e.salePageInfo,skuInfoList:null==e?void 0:e.skuInfoList,isSkuStockUpdated:null==e?void 0:e.isSkuStockUpdated,[null==e?void 0:e.dataKey]:(null==e?void 0:e[e.dataKey])||[]},yA(t,CA(n));var t,n},GA=e=>({fetchHistorySalePageList(t){e(lh(t))},fetchSalePageInfo(t){e(gh(t))},updateSalePageSkuStock(){e(bh())},fetchSalePageList(t,n){e(vh(t,n))}}),QA=({search:e})=>({searchList:(null==e?void 0:e.searchList)||[],hotSearchList:(null==e?void 0:e.hotSearchList)||[]}),EA=e=>({fetchSearchList(t){e(Qh(t))},fetchHotSearchList(t){e(wh(t))}});var FA=Object.defineProperty,wA=Object.defineProperties,TA=Object.getOwnPropertyDescriptors,xA=Object.getOwnPropertySymbols,kA=Object.prototype.hasOwnProperty,NA=Object.prototype.propertyIsEnumerable,OA=(e,t,n)=>t in e?FA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const ZA=({shop:e})=>{const t=null==e?void 0:e.dataKey;return n=((e,t)=>{for(var n in t||(t={}))kA.call(t,n)&&OA(e,n,t[n]);if(xA)for(var n of xA(t))NA.call(t,n)&&OA(e,n,t[n]);return e})({},e),i={shopCategoryList:(null==e?void 0:e.shopCategoryList)||{},[t]:(null==e?void 0:e[t])||[]},wA(n,TA(i));var n,i},UA=e=>({fetchShopCategoryList(){e(kh())},fetchCategorySalePageList(t,n){e(Dh(t,n))},fetchMultiShopCategoryList({locationId:t}){e(Nh({locationId:t}))},fetchEnableDisplayStoreList(){e(zh())}}),RA=({shoppingCart:e})=>({shoppingCartCount:(null==e?void 0:e.shoppingCartCount)||0,shoppingCartPreviewList:(null==e?void 0:e.shoppingCartPreviewList)||[],executeResultMsg:null==e?void 0:e.executeResultMsg,isAdding:null==e?void 0:e.isAdding,prepareProductInfo:null==e?void 0:e.prepareProductInfo}),XA=e=>({fetchShoppingCartPreviewList(){e(nb())},removeShoppingCartItem(t){e(cb(t))},addShoppingCartItem(t){e(rb(t))},prepareAddToCart(t){e(db(t))},fetchShoppingCartCount(){e($h())}}),WA=({user:e})=>({isLogin:(null==e?void 0:e.isLogin)||!1,locationId:(null==e?void 0:e.retailStoreExpressLocationId)||0}),VA=e=>({logOut(){e(Bb())},fetchAuthIsLogin(){e(hb())},loginLineMember(t,n){e(Cb(t,n))},fetchMemberCollectionIdList(){e(mb())},fetchUserRetailStoreExpress(){e(Gb())},fetchUserRetailStoreExpressLocationId(){e(Fb())}}),PA=q.default.div`
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 1;
`,DA=q.default.div`
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    position: relative;
    width: 100%;
    height: auto;
    min-height: 100px;
    max-height: 80vh;
    max-width: ${({size:e})=>{switch(e){case"large":return"960px";case"medium":return"640px";default:return"320px"}}};
    background: #ffffff;
    box-shadow: 0px 16px 40px rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    overflow: hidden;
    z-index: 2;
`,HA=q.default.div`
    flex: 0 0 auto;
    display: flex;
    position: relative;
    padding: 16px 24px 4px 24px;
`,LA=q.default.div`
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    padding-right: ${({isEnableCloseButton:e})=>e?"8px":0};
    color: #111827;
`,YA=q.default.div`
    flex: 1 1 auto;
    position: relative;
    padding: 8px 24px 16px 24px;
    overflow: hidden;
    overflow-y: auto;
`,MA=q.default.div`
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #333333;
    word-break: break-word;
    text-align: center;
`,JA=q.default.button`
    font-size: 16px;
    border: none;
    background-color: white;
    margin-left: auto;
    word-wrap: break-word;
`,jA=q.default.button`
    position: relative;
    padding: 8px 16px;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    cursor: pointer;
    overflow: hidden;
    border-radius: 4px;
    border: none;
    background-color: transparent;
    word-wrap: break-word;
    width: 100%;
    color: ${({variant:e})=>{switch(e){case"contained":return"#FFFFFF";case"outlined":return"#3B82F6";case"hidden":return"transparent";default:return"#595E68"}}};

    &::after {
        display: block;
        position: absolute;
        content: '';
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        border-radius: 4px;
        border-width: 1px;
        border-style: solid;
        border-color: ${({variant:e})=>"outlined"===e?"#ff5353":"transparent"};
        background-color: ${({variant:e})=>"contained"===e?"#ff5353":"transparent"};
        z-index: 0;
        box-sizing: border-box;
    }

    & > span {
        position: relative;
        z-index: 1;
    }

    &:hover {
        &::after {
            filter: brightness(85%);
        }
    }
`,zA=q.default.div`
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    position: relative;
    padding: 0px 24px 20px 24px;

    & ${jA}:not(:last-child) {
        margin-right: 8px;
        color: ${({variant:e})=>"hidden"===e?"transparent":"#666666"};
    }
`,KA=q.default.div`
    box-sizing: border-box;
    display: flex;
    pointer-events: ${({isOpen:e})=>e?"all":"none"};
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    padding: 32px 24px;
    z-index: 1050;
    opacity: ${({isOpen:e})=>e?1:0};
    transition: opacity 0.3s ease-out;

    & ${DA} {
        opacity: ${({isOpen:e})=>e?1:0};
    }
`,qA=q.default.i`
    color: #4b4b4b;
    margin-left: 5px;
    cursor: pointer;
`,$A=e=>{const{cancel:t,confirm:n,isEnableCloseButton:i=!1,isOpen:o=!1,message:r,onCancel:a,onClose:s,onConfirm:c,size:l="basic",title:u}=e,d=()=>{s()};return(0,z.useEffect)((()=>{_e()&&(document.body.style.overflow=o?"hidden":"auto")}),[o]),K().createElement(KA,{isOpen:o},K().createElement(PA,{onClick:()=>{i&&d()}}),K().createElement(DA,{size:l},K().createElement(HA,null,u&&K().createElement(LA,{isEnableCloseButton:i},u),i&&K().createElement(JA,{type:"button",onClick:()=>d()},K().createElement(qA,{className:"ico ico-close"}))),K().createElement(YA,null,K().createElement(MA,null,r)),K().createElement(zA,{variant:(null==t?void 0:t.variant)?t.variant:void 0},!!t&&K().createElement(jA,{type:"button",variant:(null==t?void 0:t.variant)?t.variant:void 0,onClick:()=>(a&&a(),void d())},K().createElement("span",null,t.text||"取消")),K().createElement(jA,{type:"button",variant:(null==n?void 0:n.variant)?n.variant:"contained",onClick:()=>(c&&c(),void d())},K().createElement("span",null,(null==n?void 0:n.text)||"確認")))))};var e_=n(7290),t_=n(9123);const{buttonStyle:n_}=ue.A,i_=q.default.button`
    border-radius: 4px;
    font-size: 15px;
    height: 44px;
    line-height: 1.5;
    cursor: pointer;
    border: none;
    color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.primaryBtnTextColor)||n_.primaryBtnTextColor}};
    background-color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.primaryBtnBgColor)||n_.primaryBtnBgColor}};
    &:hover {
        background: ${e=>{var t,n;return La(.1,(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.primaryBtnBgColor)||n_.primaryBtnBgColor)}};
    }
    &:active {
        box-shadow: inset 0 -3px 0 0 rgba(#000, 0.2);
    }
`,o_=(0,q.default)(i_)`
    display: block;
    font-size: 0.8em;
    width: 100%;
    height: 40px;
    margin-bottom: 8px;
    margin-left: 0;
    -webkit-appearance: none;
`,r_=q.default.i`
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: inherit;
    ${({iconUrl:e})=>`background-image: url(${e})`};
`;class a_ extends z.Component{constructor(e){super(e),this.appUrlConfig={TW:{iosAppUrl:"https://itunes.apple.com/tw/app/id",androidAppUrl:"https://play.google.com/store/apps/details?id="},MY:{iosAppUrl:"https://itunes.apple.com/my/app/id",androidAppUrl:"https://play.google.com/store/apps/details?id="},HK:{iosAppUrl:"https://itunes.apple.com/hk/app/id",androidAppUrl:"https://play.google.com/store/apps/details?id="}},this.excludeShopId=[41571,41591],this.changeNumberInputHandler=e=>{const t=e.currentTarget.value;this.setState({phoneNumber:t})},this.checkIsValidPhoneNumber=(e,t)=>{const{regexPhone:n}=this.getRegionPhoneConfig(t,this.props.shopId);return n.test(e)},this.sendPhoneNumber=()=>{return e=this,n=function*(){const{phoneNumber:e,sendedPhoneNumber:t}=this.state,{market:n}=this.props;if(!this.checkIsValidPhoneNumber(e,n))return void this.setState({isShowInvalidError:!0});if(e===t)return void this.setState({isShowQRCode:!0});const{sendAppDownloadLink:i,isEnableSendAppDownLoadLinkReCaptcha:o}=this.props;let r=null;if(o){try{const{executeRecaptcha:t}=this.props.googleReCaptchaProps;if(!t)return console.log("reCAPTCHA not available"),void i({phoneNumber:e,reCaptchaToken:""});const n=t("homepage");let o=!1;const a=new Promise((e=>{setTimeout((()=>{o=!0,e(null)}),3e4)}));r=yield Promise.race([n,a]),console.log("get reCAPTCHA token success")}catch(a){console.error("reCAPTCHA error:",a)}i({phoneNumber:e,reCaptchaToken:r})}else console.log("no recaptch sendPhoneNumber"),i({phoneNumber:e,reCaptchaToken:""})},new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,null)).next())}));var e,n},this.getAndroidAppUrl=()=>{const{market:e,androidPackageName:t}=this.props,n=this.appUrlConfig[e];return n?n.androidAppUrl+t:""},this.getIosAppUrl=()=>{const{market:e,iosAppId:t}=this.props,n=this.appUrlConfig[e];return n?n.iosAppUrl+t:""},this.afterInvalidErrorClose=()=>{this.setState({isShowInvalidError:!1})},this.closeQRCodeWindow=()=>{this.setState({phoneNumber:"",isShowQRCode:!1})},this.closeReCaptchaError=()=>{this.setState({phoneNumber:"",isShowReCaptchaError:!1})},this.getRegionPhoneConfig=(e,t)=>e!==Xt.TW||this.excludeShopId.includes(t)?{regexPhone:/^\d+$/,inputCellphoneKey:jn.THEME_CORE.HEADER.INPUT_CELLPHONE_GLOBAL}:{regexPhone:/^09[0-9]{8}$/,inputCellphoneKey:jn.THEME_CORE.HEADER.INPUT_CELLPHONE},this.qrCodeImage=e=>z.createElement("div",{className:"qr-code-image"},z.createElement(e_.Ay,{renderAs:"canvas",value:e})),this.sendAppLinkSmsDownloadLinkComponent=()=>{const{shopId:e,market:t,refUrl:n,sendAppResult:i,isDownloadAndroidAPK:o}=this.props,{inputCellphoneKey:r}=this.getRegionPhoneConfig(t,e),{isShowInvalidError:a,isShowQRCode:s,isShowReCaptchaError:c,phoneNumber:l}=this.state,{apple:u,google:d}=Nr,{imageServiceConfig:g}=ke(),{message:p}=i;return z.createElement("section",null,z.createElement("input",{className:"download-app-menu-input form-input",type:"tel",name:"phoneInput",onChange:this.changeNumberInputHandler,placeholder:(0,es.t)(r),value:l}),z.createElement(o_,{type:"button",onClick:this.sendPhoneNumber},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.FREE_SEND_DOWNLOAD_APP})),z.createElement(Du,{isOpen:a,afterClose:this.afterInvalidErrorClose,message:(0,es.t)(jn.THEME_CORE.HEADER.INVALID_CELLPHONE_FORMAT)}),z.createElement(Gv,{onCloseDialog:this.closeQRCodeWindow,isOpen:s,customCssClass:"download-app-wrapper",isShowClose:!0},z.createElement("div",{className:"download-app-popup"},z.createElement("div",{className:"content-img"},_e()&&z.createElement("div",{style:{paddingBottom:"20px"},dangerouslySetInnerHTML:{__html:uu.A.sanitize(p)}}),this.qrCodeImage(n),!o&&z.createElement("div",{className:"link"},z.createElement("a",{className:"link-content",href:this.getIosAppUrl(),target:"_blank",rel:"noopener noreferrer"},z.createElement(r_,{iconUrl:ot(g,u)})),z.createElement("a",{className:"link-content",href:this.getAndroidAppUrl(),target:"_blank",rel:"noopener noreferrer"},z.createElement(r_,{iconUrl:ot(g,d)})))))),z.createElement($A,{isOpen:c,confirm:{variant:"contained"},message:p,onClose:this.closeReCaptchaError}))},this.state={isShowQRCode:!1,isShowReCaptchaError:!1,downloadDescription:"",phoneNumber:"",isShowInvalidError:!1}}UNSAFE_componentWillReceiveProps(e){const{sendAppResult:t}=this.props;if(_e()&&e.sendAppResult!==t){const{message:t,sendedPhoneNumber:n,returnCode:i}=e.sendAppResult;if("API0000"===i||"API0005"===i)return void this.setState({isShowReCaptchaError:!0});this.setState({isShowQRCode:!0,downloadDescription:t,sendedPhoneNumber:n})}}render(){const{apple:e,google:t}=Nr,{imageServiceConfig:n}=ke(),{isEnableSendAppLinkSms:i,type:o,refUrl:r,isDownloadAndroidAPK:a}=this.props;return _e()&&z.createElement("div",null,!0===i?this.sendAppLinkSmsDownloadLinkComponent():z.createElement("section",null,"header"===o&&z.createElement("div",{className:"download-app-menu-text qr-code-text"},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.SCAN_QR_DOWNLOAD})),this.qrCodeImage(r)),!a&&z.createElement("div",{className:"download-app-menu-icon"},z.createElement("a",{className:"download-app-menu-link",href:this.getAndroidAppUrl(),target:"_blank",rel:"noopener noreferrer"},z.createElement(r_,{iconUrl:ot(n,t)})),z.createElement("a",{className:"download-app-menu-link",href:this.getIosAppUrl(),target:"_blank",rel:"noopener noreferrer"},z.createElement(r_,{iconUrl:ot(n,e)}))))}}a_.defaultProps={shopId:0,iosAppId:"",isEnableSendAppLinkSms:!1,refUrl:"",androidPackageName:"",isDownloadAndroidAPK:!1,isEnableSendAppDownLoadLinkReCaptcha:!1};const s_=(0,t_.NF)(a_);class c_ extends z.Component{constructor(e){super(e),this.state={isSdkInitialized:!1}}render(){return z.createElement("div",{className:"goya-facebook-fans"},""!==this.props.page&&z.createElement("div",{className:"fb-page","data-href":this.props.page,"data-width":this.props.width,"data-height":this.props.height,"data-hide-cover":this.props.hideCover,"data-show-posts":this.props.posts,"data-show-facepile":this.props.faces}))}componentDidMount(){const e=window.FB;e?setTimeout((()=>e.XFBML.parse()),1e3):ze.warn("[components/desktop/footer/shared/facebookFansPage] FB SDK is not loaded")}}c_.defaultProps={page:"",height:130,faces:!1,posts:!0,hideCover:!1,width:342};const l_={fb:"#1877f2",line:"#4cc764",ig:"#dc3175"},u_=(q.default.li`
    display: inline-block;
    margin-right: ${Ie};
`,q.default.i`
    font-size: 22px;
    color: ${({socialId:e})=>l_[e]};
`),d_={display:"inline-block",marginRight:Ie};class g_ extends z.Component{render(){var e,t,n,i,o,r;const a=null==(t=null==(e=this.props.shopThirdPartyConfigInfo)?void 0:e.FacebookConfig)?void 0:t.FansPageUrl,s=null==(i=null==(n=this.props.shopThirdPartyConfigInfo)?void 0:n.LineConfig)?void 0:i.LineUserId,c=null==(r=null==(o=this.props.shopThirdPartyConfigInfo)?void 0:o.InstagramConfig)?void 0:r.ShopInstagramUrl;return(a||s||c)&&z.createElement("ul",{className:"social-ul"},a&&z.createElement("li",{style:d_},z.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:a},z.createElement(u_,{className:"ico ico-facebook",socialId:"fb"}))),s&&z.createElement("li",{style:d_},z.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:`https://line.me/R/ti/p/${s}`},z.createElement(u_,{className:"ico ico-line",socialId:"line"}))),c&&z.createElement("li",{style:d_},z.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:c},z.createElement(u_,{className:"ico ico-instagram",socialId:"ig"}))))}}class p_ extends z.Component{componentDidMount(){const{fetchEnableDisplayStoreList:e}=this.props;e()}render(){var e,t,n,i,o;const{style:r,dependencies:a,sendAppDownloadLink:s,sendAppResult:c,enableDisplayStoreList:l}=this.props,u={backgroundColor:null==r?void 0:r.backgroundColor,color:null==r?void 0:r.fontColor},{shopProfile:d,machineName:g,market:p}=a,m=null==(n=null==(t=null==(e=xe())?void 0:e.i18n)?void 0:t.salesMarketSettings)?void 0:n.salesMarket,f=(null==m?void 0:m.toLowerCase())===Wt.HK,{ShopBasicInfo:I,ShopThirdPartyConfigInfo:h,ShopFunction:b}=d,{FacebookConfig:y}=h,C=null==y?void 0:y.FansPageUrl,v=I.HasBrandStory||!1,B=I.StoreTotalCount>0||!1,A=I.HasApp||!1,_=!b||!(0,j.isBoolean)(b.IsShowQuestionInsert)||b.IsShowQuestionInsert,S=!b||!(0,j.isBoolean)(b.IsShowShopIntroduce)||b.IsShowShopIntroduce,G=I.SupplierName||"",{IsAntiFraud:Q}=I,E=null==l?void 0:l.Data,F=(null==(o=null==(i=null==a?void 0:a.shopProfile)?void 0:i.ShopFunction)?void 0:o.IsEnableSendAppDownLoadLinkReCaptcha)||!1,w=Ro()||z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.MESSAGE});return z.createElement(qB,{style:u},z.createElement($B,null,z.createElement(eA,null,z.createElement(LB,{section:"left"},C&&z.createElement(c_,{page:C,faces:!1,width:342,posts:!1,hideCover:!1}),h&&z.createElement(YB,null,z.createElement(g_,{shopThirdPartyConfigInfo:h}))),z.createElement(LB,{section:"middle"},z.createElement(LB,{section:"menu"},z.createElement(MB,null,z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.ABOUT_US})),z.createElement("div",{className:"footer-menu-content"},z.createElement("ul",{className:"footer-menu-content-ul"},v&&z.createElement("li",{className:"footer-menu-content-li"},z.createElement(JB,{href:"/v2/Official/BrandStory"},z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.BRAND_STORY}))),S&&z.createElement("li",{className:"footer-menu-content-li"},z.createElement(JB,{href:`/shop/introduce/${I.ShopId}?t=1`},z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.STORE_INTRODUCTION}))),I&&B&&E&&z.createElement("li",{className:"footer-menu-content-li"},z.createElement(JB,{href:`/v2/Shop/StoreList/${I.ShopId}`},z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.STORE_INFO}))),I&&z.createElement("li",{className:"footer-menu-content-li"},z.createElement(JB,{href:`/MyAccount/Privacy/${I.ShopId}`},z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.PRIVACY})))))),z.createElement(LB,{section:"menu"},z.createElement(MB,null,z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.SERVICE_INFORMATION})),z.createElement("div",{className:"footer-menu-content"},z.createElement("ul",{className:"footer-menu-content-ul"},I&&z.createElement("li",{className:"footer-menu-content-li"},z.createElement(JB,{href:`/Shop/Introduce/${I.ShopId}?t=2`},z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.SHOPPING_INSTRUCTIONS}))),I&&_&&z.createElement("li",{className:"footer-menu-content-li"},z.createElement(JB,{href:`/Question/QuestionInsert/0?sId=${I.ShopId}`},w)),z.createElement("li",{className:"footer-menu-content-li"},z.createElement(JB,{href:"/V2/MyAccount/VipMemberBenefits"},z.createElement(es.HT,{value:f?jn.THEME_CORE.FOOTER.TERMS_AND_CONDITIONS:jn.THEME_CORE.FOOTER.BENEFIT_TERMS}))),I&&z.createElement("li",{className:"footer-menu-content-li"},z.createElement(JB,{href:`/Shop/Introduce/${I.ShopId}?t=3`},z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.CONTACT_US}))))))),I&&A&&z.createElement(LB,{section:"right"},z.createElement(MB,null,z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.OFFICIAL_APP})),z.createElement(s_,{iosAppId:I.IosAppId,androidPackageName:I.AndroidPackageName,sendAppDownloadLink:s,shopId:I.ShopId,sendAppResult:c,isEnableSendAppLinkSms:I.EnableSendAppLinkSMS,refUrl:(null==I?void 0:I.RefUrl)||"",type:"footer",market:p,isDownloadAndroidAPK:I.IsDownloadAndroidAPK,isEnableSendAppDownLoadLinkReCaptcha:F}))),z.createElement(KB,null,Q&&z.createElement(PB,null,z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.ANTI_FRAUD_DESC})),z.createElement(jB,{size:"copyright"},`© ${qa()().year()} by ${G}`),z.createElement(jB,{size:"surfbrowser"},z.createElement(es.HT,{value:jn.THEME_CORE.FOOTER.BEST_VIEW})),z.createElement(zB,null,z.createElement(_B,{text:g})))))}}p_.defaultProps={sendAppResult:{}};const{mapStateToProps:m_,mapDispatchToProps:f_}=Ca([m,C]),I_=(0,El.connect)(m_,f_)(p_);class h_ extends z.Component{render(){const{dependencies:e}=this.props;return Do()?z.createElement(tA,{dependencies:e}):z.createElement(I_,{dependencies:e})}}const{mapStateToProps:b_,mapDispatchToProps:y_}=Ca([C]),C_=(0,El.connect)(b_,y_)(h_);var v_=n(9818),B_=n(2016);const A_=(e,t)=>{return o=function*(){const{shopId:n}=t;try{const t=pt(`zipcode/GetCityList?shopId=${n}`,e,!0),i=yield Zn(t);return i.length?null==i?void 0:i.map((e=>({value:e.ZipCode_City,label:e.ZipCode_City}))):[]}catch(i){return ze.error(`[ERROR] fetchGetCityList failed: ${je(i)}: ${Je(i)}: shopId: ${n}`),[]}},new Promise(((e,t)=>{var i=e=>{try{a(o.next(e))}catch(n){t(n)}},r=e=>{try{a(o.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(i,r);a((o=o.apply(void 0,null)).next())}));var o},__=e=>{return n=[e],i=function*({address:e,key:t,language:n="zh-TW"}){var i;try{const o=`https://maps.googleapis.com/maps/api/geocode/json?address=${e}&key=${t}&language=${n}`,r=yield Zn(o);return(null==(i=null==r?void 0:r.results)?void 0:i[0])||{}}catch(o){return ze.error(`[ERROR] fetchGoogleLocationWithAddress failed: ${je(o)}: ${Je(o)}: address: ${e}`),null}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i},S_=(e,t)=>{return i=function*(){const{shopId:n,city:o}=t;try{const t=pt(`zipcode/GetZipCodeList?shopId=${n}&city=${o}`,e,!0),i=yield Zn(t);return i.length?null==i?void 0:i.map((e=>({value:e.ZipCode_District,label:e.ZipCode_District,code:e.ZipCode_Code}))):[]}catch(i){return ze.error(`[ERROR] fetchGetZipCodeList failed: ${je(i)}: ${Je(i)}: shopId: ${n} city: ${o}`),[]}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i},G_=e=>{return n=[e],i=function*({latlng:e,key:t,language:n="zh-TW"}){var i;try{const o=`https://maps.googleapis.com/maps/api/geocode/json?latlng=${e}&key=${t}&language=${n}`,r=yield Zn(o);return(null==(i=null==r?void 0:r.results)?void 0:i[0])||{}}catch(o){return ze.error(`[ERROR] fetchGoogleLocationWithLatlng failed: ${je(o)}: ${Je(o)}: latlng: ${e}`),null}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i},Q_=(e,t)=>{return i=function*(){const{shopId:n,latitude:i,longitude:o}=t;try{const t=pt(`RetailStoreExpress/GetRetailStoreMatchList/${n}?latitude=${i}&longitude=${o}`,e,!1);return(yield Zn(t)).Data}catch(r){return ze.error(`[ERROR] fetchGetRetailStoreMatchList failed: ${je(r)}: ${Je(r)}: shopId: ${n}`),null}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i},E_=q.default.div`
    width: ${({width:e})=>e};
    height: 40px;
    background-color: ${({isDisabled:e})=>e?J.grey:"#166938"};
    color: ${J.white};
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: ${be.fontSizeDefault};
    cursor: pointer;
`,F_=q.default.div`
    display: flex;
    position: relative;
`,w_=q.default.div`
    border-radius: 8px;
    z-index: ${L+1};
    background: ${J.white};
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 290px;
    height: 163px;
    padding: 15px;
    flex-direction: column;
    justify-content: space-between;
    display: flex;
`,T_=(0,q.default)(E_)`
    border: ${({isDisabled:e})=>e?`${J.grey} 1px solid`:"#166938 1px solid"};
    background: ${J.white};
    margin-right: 10px;
    color: #166938;
`,x_=q.default.div`
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    line-height: 22px;
`,k_=q.default.div`
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
`,N_=({onConfirmClick:e,onCancelClick:t,onClose:n,mainText:i,isShowCancelBtn:o})=>{const r=e=>{e.stopPropagation()},a=z.createElement(w_,{confirmText:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM),modalMode:Jc.MEDIUM,handleConfirmClick:()=>n&&n(),isShowCloseButton:!1},z.createElement(k_,null,z.createElement(x_,null,i)),z.createElement(F_,null,z.createElement(T_,{onClick:e=>{r(e),t&&t(e)},width:"50%",isDisabled:!1},(0,es.t)(jn.THEME_CORE.DEFAULT.CANCEL)),z.createElement(E_,{onClick:t=>{r(t),e&&e(t)},width:o?"50%":"100%",isDisabled:!1},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM))));return(0,Lc.createPortal)(a,document.querySelector("#modal-root")||document.body)},O_=q.default.div`
    color: ${J.white};
`,Z_=q.default.div`
    z-index: ${L};
    background: rgba(0, 0, 0, 0.65);
    border-radius: 8px;
    opacity: ${({isOpen:e})=>e?1:0};
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition:
        visibility 0.3s linear,
        opacity 0.3s linear;
    width: 149px;
    height: 46px;
    padding: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
`,U_=({text:e,afterClose:t})=>{const[n,i]=(0,z.useState)(!0),o=(0,z.useRef)(null);return(0,z.useEffect)((()=>(o.current=setTimeout((()=>{i(!1),t&&t()}),3e3),()=>{clearTimeout(o.current)})),[]),z.createElement(Z_,{isOpen:n},z.createElement(O_,null,e))};var R_=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const X_=q.default.div`
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 8px;
`,W_=q.default.div`
    font-size: 14px;
    font-weight: 500;
    margin-top: 8px;
`,V_=q.default.div`
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 8px;
`,P_=q.default.div`
    color: red;
`,D_=q.default.div`
    display: flex;
`,H_=(0,q.default)(D_)`
    justify-content: center;
    align-items: center;
    cursor: pointer;
    color: '#333333';
`,L_=(0,q.default)(D_)`
    justify-content: center;
    align-items: center;
`,Y_=(0,q.default)(L_)`
    width: 40%;
    flex-direction: column;
    background: #fff9e6;
`,M_=q.default.div`
    border-radius: 8px;
    display: flex;
    min-height: 350px;
    overflow: hidden;
    margin-bottom: 24px;
    margin-top: 16px;
`,J_=q.default.img`
    width: 175px;
`,j_=q.default.img`
    width: 20px;
`,z_=q.default.img`
    width: 40px;
`,K_=q.default.div`
    padding: 20px 24px;
    width: ${({width:e})=>e};
    background: ${J.white};
    box-sizing: border-box;
    justify-content: space-around;
    display: flex;
    flex-direction: column;
`,q_=q.default.div`
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
`,$_=q.default.div`
    margin-left: 4px;
    color: ${J.blackThree};
`,eS=q.default.div`
    background: #cacaca;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 8px;
    padding: 12px;
`,tS=q.default.div`
    width: 100%;
    ${({isOdd:e})=>e&&"\n       margin-right: 8px;\n    "}
    & .Select-clear-zone {
        display: none;
    }
`,nS=q.default.input`
    font-size: 14px;
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    padding: 7px;
    color: ${J.brownishGrey};
    border: solid 1px ${({isError:e})=>e?J.grapefruit:J.grey};
    border-radius: 3px;
    background-color: ${J.white};
`,iS=q.default.span`
    margin-top: 8px;
    font-size: 14px;
    color: ${J.grapefruit};
`,oS=q.default.div`
    display: flex;
    justify-content: end;
`,rS=q.default.div`
    width: ${({width:e})=>e};
    height: 40px;
    background-color: ${({isDisabled:e})=>e?J.grey:"#166938"};
    color: ${J.white};
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: ${be.fontSizeDefault};
    cursor: pointer;
`,aS=({onSetting:e,addressInfo:t})=>{const[n,i]=(0,z.useState)(!1),[o,r]=(0,z.useState)(""),[a,s]=(0,z.useState)([]),[c,l]=(0,z.useState)([]),[u,d]=(0,z.useState)({cityError:!1,blockError:!1,addressError:!1}),[g,p]=(0,z.useState)(null),[m,f]=(0,z.useState)(null),[I,h]=(0,z.useState)(""),[b,y]=(0,z.useState)(""),[C,v]=(0,z.useState)(!1),[B,A]=(0,z.useState)(!1),_=ke(),S=mn(_),{shopId:G,imageServiceConfig:Q}=_||{},E=e=>R_(void 0,null,(function*(){p(e),f(null);const t=yield S_(S,{shopId:G,city:null==e?void 0:e.value});return l(t),t}));(0,z.useEffect)((()=>{R_(void 0,null,(function*(){const e=yield A_(S,G);if(s(e),t){const n=e.find((e=>{var n;return null==(n=t.City)?void 0:n.includes(e.value)})),i=(yield E(n)).find((e=>{var n;return null==(n=t.District)?void 0:n.includes(e.value)}));f(i),h(t.Address),y(t.Note)}}))}),[]);const F=()=>R_(void 0,null,(function*(){var t,n,o,a;const{formatted_address:s,geometry:c}=yield __({address:g.value+m.value+I,key:_.serverRenderData.googleApiKey});let l=[];if(!s)return v(!1),i(!0),void r((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AUTO_LOCATE_FAILED));if(l=null==s?void 0:s.split(m.value),l.length>1&&h(l[1]),null==c?void 0:c.location){const{RetailStoreList:i}=yield Q_(S,{shopId:G,latitude:null==(t=null==c?void 0:c.location)?void 0:t.lat,longitude:null==(n=null==c?void 0:c.location)?void 0:n.lng});if(i&&i.length>0){const t={ZipCode:m.code,City:g.value,District:m.value,Address:l[1]||I,Note:b,Latitude:null==(o=null==c?void 0:c.location)?void 0:o.lat,Longitude:null==(a=null==c?void 0:c.location)?void 0:a.lng},n=g.value+m.value+(l[1]||I);e&&e({fullAddress:n,locationList:i,addressInfo:t,activeLocation:i[0]}),v(!1)}else A(!0)}}));return z.createElement("div",null,z.createElement(M_,null,!t&&z.createElement(Y_,null,z.createElement(J_,{src:ot(Q,Tr)}),z.createElement(W_,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.WELCOME))),z.createElement(K_,{width:t?"100%":"60%"},z.createElement(q_,null,z.createElement(X_,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.INPUT_ADDRESS)),z.createElement(H_,{onClick:()=>R_(void 0,null,(function*(){navigator.geolocation.getCurrentPosition((e=>{(e=>{R_(void 0,null,(function*(){var t,n,o,s;const c=null==(t=null==e?void 0:e.coords)?void 0:t.latitude,l=null==(n=null==e?void 0:e.coords)?void 0:n.longitude;if(r((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AUTO_LOCATE_SUCCESS)),i(!0),!c||!l)return;const u=yield G_({latlng:`${c},${l}`,key:_.serverRenderData.googleApiKey});if(!(null==u?void 0:u.formatted_address))return v(!0),i(!0),void r((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AUTO_LOCATE_FAILED));{const e=null==(o=null==u?void 0:u.formatted_address)?void 0:o.split("台灣");if(e.length>1){const t=a.find((t=>{var n;return null==(n=e[1])?void 0:n.includes(t.value)})),n=(yield E(t)).find((t=>{var n;return null==(n=e[1])?void 0:n.includes(t.value)}));f(n);const i=null==(s=null==u?void 0:u.formatted_address)?void 0:s.split(n.value);e.length>1&&h(i[1])}}}))})(e)}),(()=>{i(!0),r((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AUTO_LOCATE_FAILED))}))}))},z.createElement(j_,{src:ot(Q,wr)}),z.createElement($_,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.LOCATION_SERVICE)))),z.createElement(D_,null,z.createElement(tS,{isOdd:!0},z.createElement(D_,null,z.createElement(V_,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CITY)),z.createElement(P_,null,"*")),z.createElement(B_.Ay,{onChange:E,value:g||"",style:{borderColor:u.cityError?J.grapefruit:J.grey,fontSize:"14px"},placeholder:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.SELECT_CITY),options:a,defaultOptions:!0,menuStyle:{fontSize:"14px",height:"150px"},menuContainerStyle:{zIndex:2}}),u.cityError&&z.createElement(iS,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.NO_CHOICE))),z.createElement(tS,null,z.createElement(D_,null,z.createElement(V_,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.BLOCK)),z.createElement(P_,null,"*")),z.createElement(B_.Ay,{onChange:e=>{f(e)},value:m||"",style:{borderColor:u.blockError?J.grapefruit:J.grey,fontSize:"14px"},disabled:!g,placeholder:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.SELECT_BLOCK),defaultOptions:!0,options:c,menuStyle:{fontSize:"14px",height:"150px"},menuContainerStyle:{zIndex:2}}),u.blockError&&z.createElement(iS,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.NO_CHOICE)))),z.createElement(tS,null,z.createElement(D_,null,z.createElement(V_,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ADDRESS)),z.createElement(P_,null,"*")),z.createElement(nS,{isError:u.addressError,value:I,onChange:e=>{h(e.currentTarget.value)},placeholder:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.INPUT_ADDRESS)}),u.addressError&&z.createElement(iS,null,(0,es.t)(jn.THEME_CORE.PRODUCT.REQUIRED))),z.createElement(tS,null,z.createElement(D_,null,z.createElement(V_,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.COMMENT))),z.createElement(nS,{isError:!1,value:b,onChange:e=>{y(e.currentTarget.value)},placeholder:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.INPUT_FLOOR)})))),z.createElement(oS,null,z.createElement(rS,{width:"100px",isDisabled:C,onClick:()=>(()=>{if(v(!0),d({cityError:!g,blockError:!m,addressError:!I}),I&&m&&g)return F();v(!1)})()},C?(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CHINCKING):(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM))),C&&z.createElement(eS,null,z.createElement(z_,{src:ot(Q,yr)})),B&&z.createElement(N_,{mainText:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ADDRESS_NOT_FOUND),onConfirmClick:e=>{A(!1),f(null),p(null),h(""),v(!1)},onClose:()=>{A(!1)},isShowCancelBtn:!1}),n&&z.createElement(U_,{text:o,afterClose:()=>{setTimeout((()=>i(!1)),1e3)}}))},sS=(e,t)=>{return i=function*(){const{shopId:n,addressInfo:o}=t;try{const t=pt(`RetailStoreExpress/SetDeliveryAddress/${n}`,e,!1),i={method:en.RequestMethod.POST,body:JSON.stringify(o)};return(yield Zn(t,i)).Data}catch(i){return ze.error(`[ERROR] updateDeliveryAddress failed: ${je(i)}: ${Je(i)}: shopId: ${n}`),null}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i},cS=(e,t)=>{return i=function*(){const{shopId:n,sourceLocationId:i,targetLocationId:o}=t;try{const t=pt(`ShoppingCartV4/UpdateItemList/${n}`,e,!1),r={method:en.RequestMethod.POST,body:JSON.stringify({SourceLocationId:i,TargetLocationId:o})};return void(yield Zn(t,r))}catch(r){return void ze.error(`[ERROR] updateShoppingCartItemList failed: ${je(r)}: ${Je(r)}: shopId: ${n}`)}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i};var lS=Object.defineProperty,uS=Object.defineProperties,dS=Object.getOwnPropertyDescriptors,gS=Object.getOwnPropertySymbols,pS=Object.prototype.hasOwnProperty,mS=Object.prototype.propertyIsEnumerable,fS=(e,t,n)=>t in e?lS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,IS=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const hS=q.default.div`
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 8px;
`,bS=q.default.div`
    display: flex;
`,yS=(0,q.default)(bS)`
    justify-content: space-between;
    align-items: baseline;
    margin-top: 20px;
`,CS=q.default.div`
    height: auto;
    background: #eeeeee;
    padding: 4px 24px 24px 24px;
    width: 640px;
    border-radius: 8px;
`,vS=q.default.div`
    font-size: 18px;
    font-weight: 500;
`,BS=q.default.div`
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
`,AS=q.default.div`
    background: ${J.white};
    border-radius: 8px;
    padding: 24px;
    width: 100%;
    margin-bottom: 8px;
    box-sizing: border-box;
    margin-top: 12px;
`,_S=q.default.div`
    color: #0279ff;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
`,SS=q.default.div`
    cursor: pointer;
    margin-top: 12px;
    margin-bottom: 12px;
    padding: 12px;
    border: solid 1px ${({isActive:e})=>e?"#3B82F6":J.grey};
    border-radius: 5px;
    justify-content: space-between;
    display: flex;
    background-color: ${({isActive:e})=>e?"rgba(59, 130, 246, .1)":J.white};
`,GS=q.default.div`
    font-size: 14px;
    font-weight: 400;
`,QS=q.default.div`
    font-size: 12px;
    font-weight: 400;
    color: ${J.brownishGrey};
`,ES=q.default.div`
    font-size: 12px;
    font-weight: 400;
    color: ${J.warmGrey};
    margin-top: 4px;
`,FS=q.default.div`
    z-index: ${H};
    border-radius: 50%;
    font-size: 24px;
    transition: 0.15s background-color;

    :hover {
        cursor: pointer;
    }
`,wS=q.default.i`
    transition: transform 0.25s;
    margin-right: 8px;
    font-size: 24px;
    cursor: pointer;
`,TS=q.default.div`
    width: ${({width:e})=>e};
    height: 40px;
    background-color: ${({isDisabled:e})=>e?J.grey:"#166938"};
    color: ${J.white};
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: ${be.fontSizeDefault};
    cursor: pointer;
`,xS=q.default.div`
    display: flex;
    justify-content: end;
    margin-top: 16px;
`,kS=({addressInfo:e,onClose:t})=>{const[n,i]=(0,z.useState)(null),[o,r]=(0,z.useState)(null),[a,s]=(0,z.useState)([]),[c,l]=(0,z.useState)(null),[u,d]=(0,z.useState)(null),[g,p]=(0,z.useState)(!1),[m,f]=(0,z.useState)(!1),[I,h]=(0,z.useState)(!1),[b,y]=(0,z.useState)("DEFAULT"),C=ke(),v=mn(C),{shopId:B}=C||{},A=(0,El.useDispatch)(),{shoppingCart:_}=(0,El.useSelector)((e=>e)),{shoppingCartCount:S=0}=_||{};(0,z.useEffect)((()=>{i(e),e&&(r(e.City+e.District+e.Address),l(e.RetailStore),d(e.RetailStore),G(e.Latitude,e.Longitude))}),[]);const G=(e,t)=>IS(void 0,null,(function*(){const{RetailStoreList:n}=yield Q_(v,{shopId:B,latitude:e,longitude:t});s(n)})),Q=e=>{e.stopPropagation()},E=(e,t)=>IS(void 0,null,(function*(){const n=(o=((e,t)=>{for(var n in t||(t={}))pS.call(t,n)&&fS(e,n,t[n]);if(gS)for(var n of gS(t))mS.call(t,n)&&fS(e,n,t[n]);return e})({},t),r={LocationId:null==e?void 0:e.LocationId,Distance:null==e?void 0:e.Distance},uS(o,dS(r)));var o,r;yield sS(v,{addressInfo:n,shopId:B}),l(e),d(e),i(n),A(Gb()),w(e)})),F=(e,t)=>{Q(t),h(!0),y(e)},w=e=>{h(!1),y("DEFAULT"),d(e)},T=()=>{E(u,n),d(u),cS(v,{shopId:B,sourceLocationId:c.LocationId,targetLocationId:u.LocationId}),p(!1)},x=e=>{Q(e),n?t&&t(!0):f(!0)};return z.createElement(Mv,{isEditMode:!1,onClick:Q},z.createElement(CS,{onClick:Q},z.createElement(yS,null,z.createElement(bS,null,I&&z.createElement(wS,{className:"ico ico-chevron-left",onClick:()=>{w(c)}}),z.createElement(hS,null,!n||I&&"ADDRESS"===b?(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ADDRESS_TITLE):I&&"LOCATION"===b?(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.LOCATION_TITLE):(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.RECEIVER_INFO))),z.createElement(FS,{className:"ico ico-close",onClick:e=>x(e)})),!n||I&&"ADDRESS"===b?z.createElement(z.Fragment,null,z.createElement(aS,{onSetting:e=>IS(void 0,null,(function*(){const{locationList:t,addressInfo:n,fullAddress:i,activeLocation:o}=e;r(i),s(t),E(o,n)})),isEdit:I&&"ADDRESS"===b,addressInfo:n}),m&&z.createElement(N_,{mainText:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.LEFT_HINT),onConfirmClick:e=>{window.location.href="/"},onCancelClick:e=>{f(!1)},onClose:()=>f(!1),isShowCancelBtn:!0})):I&&"LOCATION"===b?z.createElement(z.Fragment,null,z.createElement(AS,null,z.createElement(BS,null,o),z.createElement(BS,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AVALIABLE_LOCATIONS)),null==a?void 0:a.map((e=>z.createElement(SS,{onClick:()=>d(e),isActive:u.LocationId===e.LocationId},z.createElement(GS,null,e.LocationId," ",e.Name),z.createElement(QS,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.DISTANCE),e.Distance,"m"))))),z.createElement(xS,null,z.createElement(TS,{onClick:e=>{u.LocationId===c.LocationId?x(e):(e=>{IS(void 0,null,(function*(){Q(e),A($h()),S>0?p(!0):T()}))})(e)},width:"100px",isDisabled:!1},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM))),g&&z.createElement(N_,{mainText:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CHANGE_LOCATION_HINT,{locationName:u.Name}),onConfirmClick:e=>{T()},onCancelClick:e=>{d(c),p(!1)},onClose:()=>p(!1),isShowCancelBtn:!0})):z.createElement("div",null,z.createElement(AS,null,z.createElement(vS,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ADDRESS_TITLE)),z.createElement(yS,null,z.createElement(BS,null,o),z.createElement(_S,{onClick:e=>F("ADDRESS",e)},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.MODIFY)))),z.createElement(AS,null,z.createElement(vS,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ACTIVE_LOCATION)),z.createElement(yS,null,z.createElement(BS,null,(null==c?void 0:c.Name)||"",null==c?void 0:c.ServiceTime.map((e=>z.createElement(ES,null,e)))),z.createElement(_S,{onClick:e=>F("LOCATION",e)},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.MODIFY)))),z.createElement(xS,null,z.createElement(TS,{onClick:e=>{t&&t(!0)},width:"100px",isDisabled:!1},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM))))))};var NS=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const OS=q.default.div`
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 8px;
`,ZS=q.default.div`
    font-size: 14px;
    font-weight: 500;
    margin-top: 16px;
`,US=q.default.div`
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 8px;
`,RS=q.default.div`
    color: red;
`,XS=q.default.div`
    display: flex;
    align-items: baseline;
`,WS=(0,q.default)(XS)`
    justify-content: center;
    align-items: center;
    cursor: pointer;
`,VS=(0,q.default)(XS)`
    justify-content: center;
    align-items: center;
`,PS=(0,q.default)(VS)`
    width: 100%;
    flex-direction: column;
    padding-top: 12px;
`,DS=q.default.div`
    border-radius: 8px;
    min-height: 350px;
    overflow: hidden;
    margin: 12px;
    background: ${J.white};
`,HS=q.default.img`
    width: 175px;
`,LS=q.default.img`
    width: 18px;
`,YS=q.default.img`
    width: 40px;
`,MS=q.default.div`
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
    justify-content: space-around;
    display: flex;
    flex-direction: column;
`,JS=q.default.div`
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
`,jS=q.default.div`
    margin-left: 4px;
    font-weight: 400;
    font-size: 14px;
    color: ${J.blackThree};
`,zS=q.default.div`
    background: rgba(0, 0, 0, 0.4);
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
`,KS=q.default.div`
    background: #cacaca;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 8px;
    padding: 12px;
`,qS=q.default.div`
    width: 100%;
    ${({isOdd:e})=>e&&"\n       margin-right: 8px;\n    "}
    margin-bottom: 16px;
    & .Select-clear-zone {
        display: none;
    }
`,$S=q.default.input`
    font-size: 14px;
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    padding: 7px;
    color: ${J.brownishGrey};
    border: solid 1px ${({isError:e})=>e?J.grapefruit:J.grey};
    border-radius: 3px;
    background-color: ${J.white};
`,eG=q.default.span`
    margin-top: 8px;
    font-size: 14px;
    color: ${J.grapefruit};
`,tG=q.default.div`
    background: ${J.white};
    position: fixed;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 12px 32px 12px;
`,nG=q.default.div`
    width: ${({width:e})=>e};
    height: 40px;
    background-color: ${({isDisabled:e})=>e?J.grey:"#166938"};
    color: ${J.white};
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: ${be.fontSizeDefault};
    cursor: pointer;
`,iG=q.default.div`
    border-radius: 8px;
    z-index: ${H};
    background: ${J.white};
    box-shadow: 0 0px 10px 0 rgba(0, 0, 0, 0.25);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 290px;
    height: 163px;
    padding: 15px;
    flex-direction: column;
    justify-content: space-between;
    display: flex;
`,oG=q.default.div`
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    line-height: 22px;
    margin-top: 24px;
`,rG=(q.default.div`
    z-index: ${H};
    position: absolute;
    font-size: 32px;
    transition: 0.15s background-color;
    right: 12px;
    :hover {
        cursor: pointer;
    }
`,({onSetting:e,addressInfo:t})=>{const[n,i]=(0,z.useState)(!1),[o,r]=(0,z.useState)(""),[a,s]=(0,z.useState)([]),[c,l]=(0,z.useState)([]),[u,d]=(0,z.useState)({cityError:!1,blockError:!1,addressError:!1}),[g,p]=(0,z.useState)(null),[m,f]=(0,z.useState)(null),[I,h]=(0,z.useState)(""),[b,y]=(0,z.useState)(""),[C,v]=(0,z.useState)(!1),[B,A]=(0,z.useState)(!1),_=ke(),S=mn(_),{shopId:G,imageServiceConfig:Q}=_||{},E=e=>NS(void 0,null,(function*(){p(e),f(null);const t=yield S_(S,{shopId:G,city:null==e?void 0:e.value});return l(t),t}));(0,z.useEffect)((()=>{NS(void 0,null,(function*(){const e=yield A_(S,G);if(s(e),t){const n=e.find((e=>{var n;return null==(n=t.City)?void 0:n.includes(e.value)})),i=(yield E(n)).find((e=>{var n;return null==(n=t.District)?void 0:n.includes(e.value)}));f(i),h(t.Address),y(t.Note)}}))}),[]);const F=()=>NS(void 0,null,(function*(){var t,n,o,a;const{formatted_address:s,geometry:c}=yield __({address:g.value+m.value+I,key:_.serverRenderData.googleApiKey});let l=[];if(!s)return v(!1),i(!0),void r((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AUTO_LOCATE_FAILED));if(l=null==s?void 0:s.split(m.value),l.length>1&&h(l[1]),null==c?void 0:c.location){const{RetailStoreList:i}=yield Q_(S,{shopId:G,latitude:null==(t=null==c?void 0:c.location)?void 0:t.lat,longitude:null==(n=null==c?void 0:c.location)?void 0:n.lng});if(i&&i.length>0){const t={ZipCode:m.code,City:g.value,District:m.value,Address:l[1]||I,Note:b,Latitude:null==(o=null==c?void 0:c.location)?void 0:o.lat,Longitude:null==(a=null==c?void 0:c.location)?void 0:a.lng},n=g.value+m.value+(l[1]||I);e&&e({fullAddress:n,locationList:i,addressInfo:t,activeLocation:i[0]}),v(!1)}else A(!0)}}));return z.createElement("div",null,z.createElement(DS,null,!t&&z.createElement(PS,null,z.createElement(HS,{src:ot(Q,Tr)}),z.createElement(ZS,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.WELCOME))),z.createElement(MS,null,z.createElement(JS,null,z.createElement(OS,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.INPUT_ADDRESS)),z.createElement(WS,{onClick:()=>NS(void 0,null,(function*(){navigator.geolocation.getCurrentPosition((e=>{(e=>{NS(void 0,null,(function*(){var t,n,o,s;const c=null==(t=null==e?void 0:e.coords)?void 0:t.latitude,l=null==(n=null==e?void 0:e.coords)?void 0:n.longitude;if(r((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AUTO_LOCATE_SUCCESS)),i(!0),!c||!l)return;const u=yield G_({latlng:`${c},${l}`,key:_.serverRenderData.googleApiKey});if(!(null==u?void 0:u.formatted_address))return v(!1),i(!0),void r((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AUTO_LOCATE_FAILED));{const e=null==(o=null==u?void 0:u.formatted_address)?void 0:o.split("台灣");if(e.length>1){const t=a.find((t=>{var n;return null==(n=e[1])?void 0:n.includes(t.value)})),n=(yield E(t)).find((t=>{var n;return null==(n=e[1])?void 0:n.includes(t.value)}));f(n);const i=null==(s=null==u?void 0:u.formatted_address)?void 0:s.split(n.value);e.length>1&&h(i[1])}}}))})(e)}),(()=>{i(!0),r((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AUTO_LOCATE_FAILED))}))}))},z.createElement(LS,{src:ot(Q,wr)}),z.createElement(jS,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.LOCATION_SERVICE)))),z.createElement(qS,{isOdd:!0},z.createElement(XS,null,z.createElement(US,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CITY)),z.createElement(RS,null,"*")),z.createElement(B_.Ay,{onChange:E,value:g||"",style:{borderColor:u.cityError?J.grapefruit:J.grey,fontSize:"14px"},placeholder:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.SELECT_CITY),options:a,defaultOptions:!0,menuStyle:{fontSize:"14px",height:"150px"},menuContainerStyle:{zIndex:2}}),u.cityError&&z.createElement(eG,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.NO_CHOICE))),z.createElement(qS,null,z.createElement(XS,null,z.createElement(US,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.BLOCK)),z.createElement(RS,null,"*")),z.createElement(B_.Ay,{onChange:e=>{f(e)},value:m||"",style:{borderColor:u.blockError?J.grapefruit:J.grey,fontSize:"14px"},disabled:!g,placeholder:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.SELECT_BLOCK),defaultOptions:!0,options:c,menuStyle:{fontSize:"14px",height:"150px"},menuContainerStyle:{zIndex:2}}),u.blockError&&z.createElement(eG,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.NO_CHOICE))),z.createElement(qS,null,z.createElement(XS,null,z.createElement(US,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ADDRESS)),z.createElement(RS,null,"*")),z.createElement($S,{isError:u.addressError,value:I,onChange:e=>{h(e.currentTarget.value)},placeholder:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.INPUT_ADDRESS)}),u.addressError&&z.createElement(eG,null,(0,es.t)(jn.THEME_CORE.PRODUCT.REQUIRED))),z.createElement(qS,null,z.createElement(XS,null,z.createElement(US,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.COMMENT))),z.createElement($S,{isError:!1,value:b,onChange:e=>{y(e.currentTarget.value)},placeholder:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.INPUT_FLOOR)})))),z.createElement(tG,null,z.createElement(nG,{width:"100%",isDisabled:C,onClick:()=>(()=>{if(v(!0),d({cityError:!g,blockError:!m,addressError:!I}),I&&m&&g)return F();v(!1)})()},C?(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CHINCKING):(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM))),C&&z.createElement(zS,null,z.createElement(KS,null,z.createElement(YS,{src:ot(Q,yr)}))),B&&z.createElement(iG,{confirmText:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM),modalMode:Jc.MEDIUM,handleConfirmClick:()=>{A(!1)},isShowCloseButton:!1},z.createElement(oG,null," ",(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ADDRESS_NOT_FOUND)),z.createElement(nG,{onClick:e=>{(e=>{e.stopPropagation()})(e),A(!1),f(null),p(null),h(""),v(!1)},width:"100%",isDisabled:!1},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM))),n&&z.createElement(U_,{text:o,afterClose:()=>{setTimeout((()=>i(!1)),1e3)}}))}),aG=q.default.div`
    background: rgba(0, 0, 0, 0.4);
    z-index: ${L};

    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
`,sG=q.keyframes`
    from {
        top: 100%;
        bottom: 0;
        left: 0;
        right: 0;
    }

    to {
        top: 100%;
        bottom: 0;
        left: 0;
        right: 0;
    }
`,cG=q.keyframes`
    from {
        bottom: -250px;
    }
    to {
        bottom: 0;
    }
`,lG=q.default.div`
    position: absolute;
    animation: ${sG} 0.3s ease-out 1;
    animation-fill-mode: forwards;
`,uG=q.default.div`
    background: #eeeeee;
    border-radius: 15px 15px 0 0;

    display: flex;
    flex-direction: column;

    position: absolute;
    bottom: 0;

    animation: ${cG} 0.3s ease-out 1;
    animation-fill-mode: forwards;
    width: 100vw;
    height: 100svh;
`,dG=q.default.div`
    flex-grow: 1;
    max-height: 80vh;
`,gG=e=>{e.stopPropagation()},pG=({children:e,onModalClick:t})=>{(0,z.useLayoutEffect)((()=>{const e=document.body;return e.style.overflow="hidden",()=>{e.style.overflow="unset"}}),[]);const n=z.createElement(aG,{onClick:t},z.createElement(lG,null,z.createElement(uG,{onClick:gG},z.createElement(dG,null,e))));return(0,Lc.createPortal)(n,document.querySelector("#modal-root")||document.body)};var mG=Object.defineProperty,fG=Object.defineProperties,IG=Object.getOwnPropertyDescriptors,hG=Object.getOwnPropertySymbols,bG=Object.prototype.hasOwnProperty,yG=Object.prototype.propertyIsEnumerable,CG=(e,t,n)=>t in e?mG(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,vG=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const BG=q.default.div`
    font-size: 18px;
    font-weight: 500;
`,AG=q.default.div`
    display: flex;
    position: relative;
`,_G=(0,q.default)(AG)`
    justify-content: space-between;
    align-items: baseline;
`,SG=q.default.div`
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    background-color: ${({bgColor:e})=>e||"inherit"};
`,GG=q.default.div`
    height: 100vh;
    background: #eeeeee;
`,QG=q.default.div`
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 8px;
`,EG=q.default.div`
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 8px;
`,FG=q.default.div`
    font-size: 14px;
    font-weight: 400;
    margin-top: 8px;
    margin-bottom: 8px;
`,wG=q.default.div`
    background: ${J.white};
    border-radius: 8px;
    padding: 16px 12px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 12px;
    max-height: 80vh;
`,TG=(0,q.default)(wG)`
    margin-bottom: 64px;
    margin-top: 0;
    padding: 0 12px 16px 12px;
`,xG=q.default.div`
    color: #0279ff;
    font-size: 14px;
    font-weight: 400;
    cursor: pointer;
`,kG=q.default.div`
    cursor: pointer;
    margin-top: 12px;
    margin-bottom: 12px;
    padding: 12px;
    border: solid 1px ${({isActive:e})=>e?"#3B82F6":J.grey};
    border-radius: 5px;
    justify-content: space-between;
    display: flex;
    background-color: ${({isActive:e})=>e?"rgba(59, 130, 246, .1)":J.white};
`,NG=q.default.div`
    font-size: 14px;
    font-weight: 400;
`,OG=q.default.div`
    font-size: 12px;
    font-weight: 400;
    color: ${J.brownishGrey};
`,ZG=q.default.div`
    font-size: 12px;
    font-weight: 400;
    color: ${J.warmGrey};
    margin-top: 4px;
`,UG=q.default.div`
    z-index: ${H};
    position: absolute;
    font-size: 26px;
    transition: 0.15s background-color;
    right: 12px;
    :hover {
        cursor: pointer;
    }
`,RG=q.default.i`
    transition: transform 0.25s;
    font-size: 26px;
    cursor: pointer;
    position: absolute;
    left: 12px;
`,XG=q.default.div`
    width: ${({width:e})=>e};
    height: 40px;
    background-color: ${({isDisabled:e})=>e?J.grey:"#166938"};
    color: ${J.white};
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: ${be.fontSizeDefault};
    cursor: pointer;
`,WG=q.default.div`
    padding: 16px 12px 32px 12px;
    background: ${J.white};
    position: fixed;
    bottom: 0;
    width: 100%;
    box-sizing: border-box;
`,VG=q.default.div`
    padding: 12px;
`,PG=({addressInfo:e,onClose:t})=>{const[n,i]=(0,z.useState)(null),[o,r]=(0,z.useState)(null),[a,s]=(0,z.useState)(!1),[c,l]=(0,z.useState)([]),[u,d]=(0,z.useState)(null),[g,p]=(0,z.useState)(null),[m,f]=(0,z.useState)(""),[I,h]=(0,z.useState)(!1),[b,y]=(0,z.useState)("DEFAULT"),[C,v]=(0,z.useState)(!1),[B,A]=(0,z.useState)(!1),_=(0,El.useSelector)((e=>e.user.retailStoreExpress)),S=ke(),G=mn(S),{shopId:Q,shopDomainName:E}=S||{},F=(0,El.useDispatch)(),{shoppingCart:w}=(0,El.useSelector)((e=>e)),{shoppingCartCount:T=0}=w||{};(0,z.useEffect)((()=>{i(e),e&&(r(e.City+e.District+e.Address),d(e.RetailStore),p(e.RetailStore),x(e.Latitude,e.Longitude))}),[]);const x=(e,t)=>vG(void 0,null,(function*(){const{RetailStoreList:n}=yield Q_(G,{shopId:Q,latitude:e,longitude:t});l(n)})),k=e=>{e.stopPropagation()},N=(e,t)=>vG(void 0,null,(function*(){const n=(o=((e,t)=>{for(var n in t||(t={}))bG.call(t,n)&&CG(e,n,t[n]);if(hG)for(var n of hG(t))yG.call(t,n)&&CG(e,n,t[n]);return e})({},t),r={LocationId:e.LocationId,Distance:e.Distance},fG(o,IG(r)));var o,r;yield sS(G,{addressInfo:n,shopId:Q}),d(e),p(e),i(n),F(Gb()),Z(e),s(!0)})),O=(e,t)=>{k(t),h(!0),y(e)},Z=e=>{h(!1),y("DEFAULT"),p(e)},U=e=>{k(e),N(g,n),s(!0),f((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.RENEW_LOCATION)),cS(G,{shopId:Q,sourceLocationId:u.LocationId,targetLocationId:g.LocationId}),v(!1)},R=e=>{k(e),n?t&&t(!0):A(!0)};return z.createElement(pG,null,a&&z.createElement(U_,{text:m,afterClose:()=>{setTimeout((()=>s(!1)),1e3)}}),z.createElement(SG,{bgColor:null==_?void 0:_.headerBackgroundColor},I&&"ADDRESS"===b&&z.createElement(RG,{className:"ico ico-chevron-left",onClick:()=>{Z(u)}}),z.createElement(BG,null,!n||I&&"ADDRESS"===b?(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ADDRESS_TITLE):(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.RECEIVER_INFO)),!Bn()&&z.createElement(UG,{className:"ico ico-close",onClick:e=>R(e)})),z.createElement(GG,{onClick:k},!n||I&&"ADDRESS"===b?z.createElement(z.Fragment,null,z.createElement(rG,{onSetting:e=>vG(void 0,null,(function*(){const{locationList:t,addressInfo:n,fullAddress:i,activeLocation:o}=e;r(i),l(t),yield N(o,n),f((0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CHECK_LOCATION))})),isEdit:I&&"ADDRESS"===b,addressInfo:n}),B&&z.createElement(N_,{mainText:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.LEFT_HINT),onConfirmClick:e=>{(e=>{k(e),Bn()?(e=>{const t={eventType:"Redirect",data:{url:e}};((e,t)=>{var n,i,o;e===vn.DeviceOS.Android.toLowerCase()?null==android||android.triggerApp(JSON.stringify(t)):null==(o=null==(i=null==(n=null==window?void 0:window.webkit)?void 0:n.messageHandlers)?void 0:i.triggerApp)||o.postMessage(JSON.stringify(t))})((0,vn.getCookie)("deviceOS"),t)})(`https://${E}`):window.location.href="/"})(e)},onCancelClick:e=>{A(!1)},onClose:()=>A(!1),isShowCancelBtn:!0})):z.createElement("div",null,z.createElement(VG,null,z.createElement(wG,null,z.createElement(QG,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ADDRESS_TITLE)),z.createElement(_G,null,z.createElement(FG,null,o),z.createElement(xG,{onClick:e=>O("ADDRESS",e)},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.MODIFY)))),z.createElement(wG,null,z.createElement(QG,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.ACTIVE_LOCATION)),z.createElement(_G,null,z.createElement("div",null,(null==u?void 0:u.Name)&&z.createElement(FG,null,null==u?void 0:u.Name),null==u?void 0:u.ServiceTime.map((e=>z.createElement(ZG,null,e)))),z.createElement(xG,{onClick:e=>O("LOCATION",e)},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.MODIFY))))),z.createElement(WG,null,z.createElement(XG,{onClick:()=>{t&&t(!0)},width:"100%",isDisabled:!1},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM))),I&&"LOCATION"===b&&z.createElement(Ql,{onModalClick:()=>Z(u),title:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.LOCATION_TITLE)},z.createElement(TG,null,z.createElement(EG,null,o),z.createElement(EG,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.AVALIABLE_LOCATIONS)),null==c?void 0:c.map((e=>z.createElement(kG,{onClick:()=>p(e),isActive:(null==g?void 0:g.LocationId)===(null==e?void 0:e.LocationId)},z.createElement(NG,null,e.LocationId," ",e.Name),z.createElement(OG,null,(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.DISTANCE),e.Distance,"m"))))),z.createElement(WG,null,z.createElement(XG,{onClick:e=>{g.LocationId===u.LocationId?R(e):(e=>{vG(void 0,null,(function*(){k(e),F($h()),T>0?v(!0):U(e)}))})(e)},width:"100%",isDisabled:!1},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CONFIRM))),C&&z.createElement(N_,{mainText:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.CHANGE_LOCATION_HINT,{locationName:g.Name}),onConfirmClick:e=>{U(e)},onCancelClick:e=>{p(u),v(!1)},onClose:()=>v(!1),isShowCancelBtn:!0})))))},DG=(e,t)=>{return i=function*(){try{const n=pt(`RetailStoreExpress/GetDeliveryAddress/${t}`,e,!1);return(yield Zn(n)).Data}catch(n){return ze.error(`[ERROR] fetchGetDeliveryAddress failed: ${je(n)}: ${Je(n)}: shopId: ${t}`),null}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i};var HG=(e=>(e.Home="Home",e.ShopCategory="ShopCategory",e.SalePage="SalePage",e.Location="Location",e.Empty="",e))(HG||{});const LG=(e,t)=>{return i=function*(){const{shopId:n,type:i,id:o}=t;try{const t=pt(`RetailStoreExpress/GetState/${n}?Type=${i}&SourceId=${o}`,e,!1),r=yield Zn(t);return null==r?void 0:r.Data}catch(r){return ze.error(`[ERROR] fetchGetState failed: ${je(r)}: ${Je(r)}: shopId: ${n}`),null}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i},YG=()=>{var e,t;const n=(null==(t=null==(e=null==window?void 0:window.location)?void 0:e.pathname)?void 0:t.toLowerCase())||"";if(n.includes("saleagecategory")||n.includes("category"))return{type:HG.ShopCategory,id:parseInt(n.split("/salepagecategory/")[1],10)||parseInt(n.split("/category/")[1],10)||0};if(n.includes("search")){const e=new URLSearchParams(window.location.search).get("locationId");return{type:HG.Location,id:e||0}}if(n.includes("retail-store-express"))return{type:HG.Home,id:0};if(n.includes("/shoppingcart/index")||n.includes("shoppingcart")||n.includes("pay")){const e=new URLSearchParams(window.location.search).get("locationId");return{type:HG.Location,id:e||0}}return{type:HG[HG.Empty],id:0}},MG=q.default.div`
    height: 32px;
    border-radius: ${({isMobile:e})=>e?"0px":"29px"};
    box-sizing: border-box;
    padding: ${({isMobile:e})=>e?"16px 24px 16px 24px":"16px"};
    background: ${({isMobile:e})=>e?"transparent":J.white};
    display: flex;
    justify-content: space-between;
    align-items: center;
    ${({isMobile:e})=>!e&&"\n           width: 270px;\n    "};
    overflow: hidden;
`,JG=q.default.img`
    margin-right: 8px;
    width: 16px;
    height: 16px;
`,jG=q.default.i`
    transform: ${({isOpen:e})=>e?"rotate(180deg)":"rotate(0deg)"};
    transition: transform 0.25s;
    font-size: 24px;
`,zG=q.default.div`
    position: relative;
    ${({isMobile:e})=>!e&&"\n        top: 60px;\n        cursor: pointer;\n        padding-left: 16px;\n    "};
`,KG=q.default.div`
    font-size: 16px;
    font-weight: 400;
    white-space: nowrap;
`,qG=q.default.div`
    font-size: ${({isMobile:e})=>e?"14px":"12px"};
    font-weight: 400;
    margin-left: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
`,$G=q.default.div`
    display: flex;
    align-items: center;
    overflow: hidden;
`,eQ="LIVE_BUY",tQ=({isMobile:e})=>{const t=ke(),{imageServiceConfig:n}=t,i=mn(t),[o,r]=(0,z.useState)(!1),[a,s]=(0,z.useState)(null),[c,l]=(0,z.useState)(!0),u=window.location.pathname,[d,g]=(0,z.useState)(!1),p=u.includes("/ShoppingCart/Index"),m=()=>{return e=function*(){var e;const{shopId:n}=t||{},o=yield DG(i,n),a=null==(e=null==o?void 0:o.RetailStore)?void 0:e.LocationId.toString(),c=(0,vn.getCookie)("locationId");!a||c&&c===a||(0,vn.addCookie)("locationId",a),a||(0,v_.deleteCookie)("locationId"),s(o),l(!1),(null==o?void 0:o.Address)||r(!0)},new Promise(((t,n)=>{var i=i=>{try{r(e.next(i))}catch(t){n(t)}},o=i=>{try{r(e.throw(i))}catch(t){n(t)}},r=e=>e.done?t(e.value):Promise.resolve(e.value).then(i,o);r((e=e.apply(void 0,null)).next())}));var e};(0,z.useEffect)((()=>{m(),Xr()&&"true"===sessionStorage.getItem(eQ)&&(sessionStorage.removeItem(eQ),r(!0))}),[]);const f=()=>{const{type:e}=YG();e===HG.Home?r((e=>!e)):g(!0)},I=e?PG:kS;return z.createElement(z.Fragment,null,!c&&!p&&z.createElement(zG,{isMobile:e,onClick:f},z.createElement(MG,{isMobile:e},z.createElement($G,null,z.createElement(JG,{src:ot(n,Fr)}),(null==a?void 0:a.Address)?z.createElement(z.Fragment,null,z.createElement(KG,null," ",a.RetailStore.Name),z.createElement(qG,{isMobile:e},(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.SENT_TO_ADDRESS,{address:` ${null==a?void 0:a.Address}`}))):z.createElement(es.HT,{value:jn.THEME_CORE.STORE_EXPRESS.NO_LOCATION_ADDRESS})),z.createElement(jG,{className:"ico ico-chevron-down",isOpen:o})),o&&z.createElement(I,{addressInfo:a,onClose:e=>{(a||e)&&(f(),m())}}),d&&z.createElement(N_,{mainText:(0,es.t)(jn.THEME_CORE.STORE_EXPRESS.UPDATE_LOCATION_CONFIRM),onConfirmClick:e=>{Xr()&&sessionStorage.setItem(eQ,"true"),window.location.href="/page/retail-store-express"},onCancelClick:e=>{g(!1)},onClose:()=>g(!1),isShowCancelBtn:!0})))};var nQ=n(7872),iQ=n.n(nQ);class oQ extends z.PureComponent{componentDidMount(){const{browsingMode:e}=ke();this.browsingMode=e}render(){const{linkUrl:e,onClick:t,className:n,children:i}=this.props;return z.createElement("a",{href:st(e),onClick:"mobile"!==this.browsingMode?t:void 0,onTouchStart:"mobile"===this.browsingMode?t:void 0,className:nu()(n||"",{"link--cursor-default":!e})},i)}}var rQ=Object.defineProperty,aQ=Object.defineProperties,sQ=Object.getOwnPropertyDescriptors,cQ=Object.getOwnPropertySymbols,lQ=Object.prototype.hasOwnProperty,uQ=Object.prototype.propertyIsEnumerable,dQ=(e,t,n)=>t in e?rQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gQ=(e,t)=>{for(var n in t||(t={}))lQ.call(t,n)&&dQ(e,n,t[n]);if(cQ)for(var n of cQ(t))uQ.call(t,n)&&dQ(e,n,t[n]);return e},pQ=(e,t)=>aQ(e,sQ(t));class mQ extends K().Component{constructor(e){super(e),this.handleImageError=()=>{this.props.setIsImageLoaded&&this.props.setIsImageLoaded(!0),this.setState({imageHasError:!0,imageWebPSrcSet:""})},this.handleImageLoad=()=>{this.props.setIsImageLoaded&&this.props.setIsImageLoaded(!0),this.setState(pQ(gQ({},this.state),{imageHasError:!1}))},this.onImageBannerClick=()=>{const{onTrackClick:e,itemIndex:t,linkUrl:n,altText:i}=this.props;e&&e({linkUrl:ut(n),altText:i,position:t})};const{imageUrl:t,resizeList:n,dependencies:i,isEnableCompress:o,compressVersion:r}=this.props,a=o?Ur(t,n,i,r):"";this.state={imageWebPSrcSet:a,imageHasError:!1}}render(){const{linkUrl:e,imageUrl:t,altText:n,isEditMode:i,compressVersion:o,customClassName:r}=this.props,{imageWebPSrcSet:a,imageHasError:s}=this.state,c=nu()("image-banner",r);if(o===qi.COMPRESS_TO_WEBP_V1||o===qi.COMPRESS_TO_WEBP_V2){const o=a&&!i;return K().createElement(oQ,{className:c,linkUrl:e,onClick:this.onImageBannerClick},K().createElement("figure",{className:"image-banner__frame"},K().createElement("img",pQ(gQ({loading:"lazy",className:"image-banner__picture",alt:n,style:{width:s?"initial":"100%",display:s?"none":"block"},src:t},o&&{srcSet:a}),{onLoad:this.handleImageLoad,onError:this.handleImageError}))))}return K().createElement(oQ,{className:c,linkUrl:e,onClick:this.onImageBannerClick},K().createElement("img",{loading:"lazy",className:"image-banner__picture",src:t,alt:n,onLoad:this.handleImageLoad}))}}mQ.displayName="ImageBanner",mQ.defaultProps={linkUrl:"",imageUrl:"",customClassName:""};var fQ=Object.defineProperty,IQ=Object.defineProperties,hQ=Object.getOwnPropertyDescriptors,bQ=Object.getOwnPropertySymbols,yQ=Object.prototype.hasOwnProperty,CQ=Object.prototype.propertyIsEnumerable,vQ=(e,t,n)=>t in e?fQ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,BQ=(e,t)=>{for(var n in t||(t={}))yQ.call(t,n)&&vQ(e,n,t[n]);if(bQ)for(var n of bQ(t))CQ.call(t,n)&&vQ(e,n,t[n]);return e},AQ=(e,t)=>IQ(e,hQ(t));qa().extend(iQ());const _Q=q.default.a`
    position: absolute;
    z-index: 1;
    bottom: ${"calc(50% - 26px)"};

    display: block;

    width: ${50}px;
    height: ${50}px;
    margin-top: -35px;
    text-align: center;

    color: ${J.lighterGreyishBrown};
    border: solid 1px ${J.paleGreyTwo};
    border-radius: 100px;
    background: rgba(255, 255, 255, 0.9);

    ${({isPrev:e})=>e?"left: 10px":"right: 10px"};

    &:hover {
        border: solid 1px ${J.grey};
        box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
    }
`,SQ=(0,q.default)(_Q)`
    position: ${({isFixed:e})=>e?"fixed":"absolute"};
    bottom: ${({isFixed:e})=>e&&"calc(50vh - 26px)"};
`,GQ=({onClick:e,children:t,isPrevious:n})=>z.createElement(_Q,{onClick:e,isPrev:n},t),QQ=({onClick:e,children:t,isFixed:n,isPrevious:i})=>z.createElement(SQ,{onClick:e,isFixed:n,isPrev:i},t),EQ=({isDisplayArrow:e,isPrevious:t,isEnableFixedArrowEffect:n,isArrowFixed:i})=>{const o=t?z.createElement("i",{className:"ico ico-chevron-left"}):z.createElement("i",{className:"ico ico-chevron-right"});return e?n?z.createElement(QQ,{isFixed:i,isPrevious:t},o):z.createElement(GQ,{isPrevious:t},o):null},FQ=e=>{try{const{title:t="",dataSource:n=[],isEditMode:i=!1,isDisplayArrow:o=!0,moduleId:r,moduleKey:a,moduleName:s,materialName:c,isShowModuleKey:l,dependencies:u}=e,[d,g]=(0,z.useState)(!1),p=o&&Ja.includes(r)&&_e(),{carouselRef:m,isArrowFixed:f}=((e=!1)=>{const[t,n]=(0,z.useState)(null),[i,o]=(0,z.useState)(!1),[r,a]=(0,z.useState)(!1),s=(0,z.useCallback)((e=>{null!==e&&n(e)}),[]),c=(0,z.useCallback)((()=>{const e=window.innerHeight,{top:n,bottom:i}=null==t?void 0:t.getBoundingClientRect();n<e&&i>0&&a(i>=e?e=>e||!e:e=>e?!e:e)}),[t]),l=(0,z.useCallback)((()=>{const e=window.innerHeight,{height:n}=null==t?void 0:t.getBoundingClientRect();n>e-60&&(o(!0),c(),window.addEventListener("scroll",c))}),[t,c]);return(0,z.useEffect)((()=>(e&&t&&l(),()=>{e&&t&&i&&window.removeEventListener("scroll",c)})),[t,e,i,l,c]),{carouselRef:s,isArrowFixed:r}})(p),{market:I}=u,h="hk"===I.toLocaleLowerCase()?5:3,b=(0,z.useMemo)((()=>({className:"carousel-container--content",dots:!0,infinite:!0,touchMove:!0,autoplay:!0,slidesToShow:1,slidesToScroll:1,autoplaySpeed:1e3*h,speed:1e3,draggable:!1,nextArrow:EQ({isDisplayArrow:o,isPrevious:!1,isEnableFixedArrowEffect:p,isArrowFixed:f}),prevArrow:EQ({isDisplayArrow:o,isPrevious:!0,isEnableFixedArrowEffect:p,isArrowFixed:f})})),[o,f,p]),y=t=>{const{dependencies:n,defaultImage:i}=e;return rt(n.shopId,n.imageServiceConfig,i,t)};(0,z.useEffect)((()=>{i||"complete"===document.readyState?g(!0):window.addEventListener("load",(()=>{g(!0)}))}),[]),(0,z.useEffect)((()=>{i&&setTimeout((()=>{window.dispatchEvent(new Event("resize"))}),0)}),[d]);const C=e=>{const{position:t,linkUrl:n,altText:o}=e,u=oc();if(!i){const{eventCategory:e,eventAction:i,eventLabel:d,contentType:g}=ic({materialName:c,moduleId:r,moduleName:s,moduleKey:a,position:t,isShowModuleKey:l});Gc(e,i,d),(0,Bs.selectContent)(BQ({contentType:g,id:r,name:o,linkUrl:n},u&&{viewId:u}))}},v=e=>{const{isSplitPicture:t,isEnableCompressDesktop:n,isEnableCompressMobile:i,compressVersion:o}=e,r=Vo();return o===qi.COMPRESS_TO_WEBP_V1?!!r&&(t?n:i):t?n:i},B=e=>z.createElement("div",{className:nu()("single-carousel-item",{"carousel-is-not-ready":!d})},z.createElement(mQ,AQ(BQ({},e),{onTrackClick:C,itemIndex:0,altText:e.altText||qe(Ke.CAROUSEL,r),isEditMode:i,isEnableCompress:v(e)}))),A=(e,t)=>{const n=xs(e);if((null==n?void 0:n.scheduleList)&&i){let e=!1;if(n.scheduleList.forEach((t=>{const i=qa()().isBetween(null==t?void 0:t.startTime,null==t?void 0:t.endTime);e=e||i,i&&(n.imageUrl=y(t))})),!e&&!1===(null==n?void 0:n.isPresetImage))return null}else if(!1===(null==n?void 0:n.isPresetImage))return null;return z.createElement("div",{className:"mutiple-carousel-item",key:t},z.createElement(mQ,AQ(BQ({},n),{onTrackClick:C,itemIndex:t,altText:n.altText||qe(Ke.CAROUSEL,r,t),isEditMode:i,isEnableCompress:v(e)})))};return n&&0!==n.length?d?z.createElement(z.Fragment,null,n.length>1?z.createElement("div",{className:"carousel-container",ref:m},z.createElement(Lg.A,BQ({},b),n.map(((e,t)=>A(e,t))))):n.map(((e,t)=>A(e,t)))):B(n.find((e=>!(!1===e.isPresetImage)))||n[0]):null}catch(t){return ze.error(`[ERROR] Render desktop Carousel failed: ${je(t)}: ${Je(t)}`),null}},wQ=e=>{var t;const{shopName:n,logoSrc:i,dependencies:o,customCssClass:r}=e,{shopId:a,imageServiceConfig:s,shopDomainName:c}=o,l=(0,Ee.getPageUrl)(c,Ee.PAGE_TYPE.INDEX);return z.createElement("div",{className:nu()(r,"logo-container")},z.createElement("a",{className:"logo-link",href:l,title:n},z.createElement("img",{loading:"lazy",src:(null==(t=i.materialItem)?void 0:t.imageUrl)&&Or(a,s,i.materialItem.imageUrl)||ot(s,dr),alt:`${n}`,className:"logo-img","data-qe-id":"header-logo-img"})))};wQ.defaultProps={logoSrc:{materialItem:{}}};const TQ=wQ;var xQ=n(3065);class kQ extends z.Component{constructor(e){var t,n;super(e),this.onLogInHandle=()=>{this.onTrackEventClick("Menu_會員登入/註冊");const e=encodeURIComponent(window.location.href.replace(window.location.hash,""));window.location.href=`//${this.props.shopDomain}/Login/HttpLoginRelayToHttps/?rt=${e}&reason=notlogin`},this.onLogOutHandle=()=>{this.onTrackEventClick("Menu_會員登出"),this.props.logOut()},this.onTrackEventClick=e=>()=>{Gc("全站_Header","我的帳戶",e)},this.getTranslationDom=(e,t)=>null!=e?e:z.createElement(es.HT,{value:t});const i=ke();this.isEnabledCustomTranslation=(null==(n=null==(t=i.shopProfile)?void 0:t.ShopFunction)?void 0:n.IsEnabledCustomTranslation)||!1,this.locale=i.locale,this.state={customTransData:null,isCustomTransDataFetching:!0}}componentDidMount(){return e=this,n=function*(){try{if(!this.isEnabledCustomTranslation)return;const e=yield ed([ru.mwebTranslationKeyEnum.frontend_common_vip_member_zone,ru.mwebTranslationKeyEnum.frontend_common_order_search,ru.mwebTranslationKeyEnum.frontend_common_my_ecoupon]);this.setState({customTransData:e})}catch(e){xQ.error(`[ERROR] desktop headerAccount getCustomTransData failed: ${je(e)}: ${Je(e)}`)}finally{this.setState({isCustomTransDataFetching:!1})}},new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,null)).next())}));var e,n}render(){const{isCustomTransDataFetching:e,customTransData:t}=this.state,n=!e&&this.getTranslationDom(null==t?void 0:t.frontend_common_order_search,jn.THEME_CORE.HEADER.MY_ORDERS),i=!e&&this.getTranslationDom(null==t?void 0:t.frontend_common_vip_member_zone,jn.THEME_CORE.HEADER.MY_MEMBERSHIP),o=!e&&this.getTranslationDom(null==t?void 0:t.frontend_common_my_ecoupon,jn.THEME_CORE.HEADER.MY_COUPONS);return z.createElement("div",{className:"nav-my-account"},z.createElement("ul",{className:"nav-my-account-ul"},z.createElement("li",{className:"nav-my-account-li"},z.createElement("a",{href:`//${this.props.shopDomain}/V2/TradesOrder/TradesOrderList?shopId=${this.props.shopId}`,onClick:this.onTrackEventClick("Menu_訂單查詢"),rel:"nofollow",className:"nav-my-account-link","data-qe-id":"menu_check_order"},n)),z.createElement("li",{className:"nav-my-account-li"},z.createElement("a",{href:`//${this.props.shopDomain}/V2/VipMember/VIPMemberRelay?shopId=${this.props.shopId}`,onClick:this.onTrackEventClick("Menu_會員專區"),rel:"nofollow",className:"nav-my-account-link","data-qe-id":"menu_member_center"},i)),z.createElement("li",{className:"nav-my-account-li"},z.createElement("a",{href:`//${this.props.shopDomain}/TraceSalePageList/TraceSalePageList`,onClick:this.onTrackEventClick("Menu_我的收藏"),rel:"nofollow",className:"nav-my-account-link","data-qe-id":"menu_my_fav"},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.MY_FAVORITE}))),z.createElement("li",{className:"nav-my-account-li"},z.createElement("a",{href:`//${this.props.shopDomain}/v2/ECoupon/MyECoupon`,onClick:this.onTrackEventClick("Menu_我的折價券"),rel:"nofollow",className:"nav-my-account-link","data-qe-id":"menu_my_coupon"},o)),z.createElement("li",{className:"nav-my-account-li"},this.props.isLogin?z.createElement("a",{className:"nav-my-account-link",rel:"nofollow",onClick:this.onLogOutHandle,"data-qe-id":"menu_logout"},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.LOG_OUT})):z.createElement("a",{className:"nav-my-account-link",rel:"nofollow",onClick:this.onLogInHandle,"data-qe-id":"menu_login_reg"},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.LOGIN_SIGNUP})))))}}kQ.defaultProps={shopId:void 0,isLogin:!1,favoriteCount:0,shopDomain:"",logOut:()=>{xQ.warn("[components/desktop/header/shared/headerNavMenu/headerAccount]logOut action isn't connected")},fetchFavoriteCount:()=>{xQ.warn("[components/desktop/header/shared/headerNavMenu/headerAccount]fetchFavoriteCount action isn't connected")}};const{mapStateToProps:NQ,mapDispatchToProps:OQ}=Ca([B,p]),ZQ=(0,El.connect)(NQ,OQ)(kQ),UQ=({linkItem:e,navStyle:t,customerConfig:n,dataType:i})=>{var o,r;const a=(null==(o=null==n?void 0:n.font)?void 0:o.weight)?`w-${null==(r=null==n?void 0:n.font)?void 0:r.weight}`:"";return z.createElement("li",{className:"nav-menu-li"},z.createElement("a",{onClick:()=>((e,t)=>{const{text:n,linkUrl:i}=t,o=ut(i||"");e===Ot.CUSTOM_LINK&&Qc({contentType:to.CustomMenuLayerOne,linkUrl:o,id:null,name:n})})(i,e),className:"nav-menu-link",href:e.linkUrl,style:t},z.createElement("div",{className:`nav-menu-title ${a}`},e.text?e.text:(0,es.t)(jn.THEME_CORE.HEADER.LINK_WORD))))};UQ.displayName="HeaderCustomTextLinkMenu";const RQ=UQ;var XQ=(e=>(e.ARROW_DOWN="ico-chevron-down",e.ARROW_LEFT="ico-chevron-left",e.ARROW_RIGHT="ico-chevron-right",e.ARROW_UP="ico-chevron-up",e.CLOSE="ico-close",e))(XQ||{});const WQ=q.default.a`
    padding: 0 12px;
    flex-grow: 1;
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
`,VQ=q.default.div`
    display: inline-block;
    height: 30px;
    line-height: 30px;
    font-weight: ${({weight:e})=>""!==e?e:"normal"};
    flex-grow: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 255px;
    ${({iconClassName:e})=>"ico-close"===e?"cursor: auto;":""}
    ${({isActive:e})=>e?"text-decoration: underline;":""}
    &:hover {
        ${({iconClassName:e})=>"ico-close"===e?"":"text-decoration: underline;"}
    }
`,{tagStyle:PQ}=ue.A,DQ=q.default.span`
    display: inline-block;

    padding: 4px;
    border-radius: 2px;
    margin-left: 5px;
    line-height: normal;
    font-size: 11px;
    color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.tagStyle)?void 0:t.generalTagTextColor)||PQ.generalTagTextColor}};
    background-color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.tagStyle)?void 0:t.generalTagBgColor)||PQ.generalTagBgColor}};
`,HQ=q.default.li`
    display: flex;
    align-items: center;
    width: 300px;
    height: 30px;
    padding: 0 3px;
    box-sizing: border-box;

    ${({isActive:e})=>e?`\n    background: ${J.white};\n    a > :first-child {\n        text-decoration: underline;\n    } \n    `:`\n    &:hover {\n        background: ${J.white};\n        a > :first-child {\n            text-decoration: underline;\n        }\n    }\n    `}
`,LQ=({elmRef:e=null,handleIconClick:t=null,hasIcon:n=!1,iconClassName:i,link:o,navStyle:r=null,titleText:a,isActive:s=!1,isHasFreeGift:c=!1,customerConfig:l,onClickHandler:u})=>{var d,g,p;const m=null==(g=null==(d=null==l?void 0:l.icon)?void 0:d.display)||g;return z.createElement(WQ,{style:r,href:n?null:o,ref:e,onClick:u},z.createElement(VQ,{iconClassName:i,isActive:s,weight:`${(null==(p=null==l?void 0:l.font)?void 0:p.weight)||""}`},a||(0,es.t)(jn.THEME_CORE.HEADER.LINK_WORD),c&&z.createElement(DQ,null,z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.CATEGORY_BADGE_GIFT}))),n&&m&&z.createElement("i",{className:`ico ${i}`,onClick:t?()=>t():null}))},YQ=340;var MQ=(e=>(e.NEXT="next",e.PREV="prev",e))(MQ||{});const JQ=q.default.div`
    display: block;
    max-width: ${({maxVisibleMenuNumber:e})=>YQ*e}px;
    overflow: hidden;
`,jQ=q.default.div`
    display: flex;
    transform: translateX(${({sliderTransitionX:e})=>e}px);
    transition: transform 500ms ease-in-out 25ms;
`,zQ=q.default.div`
    position: absolute;
    top: 30px;

    width: 50px;
    height: 50px;
    text-align: center;

    color: ${J.gunmetal};
    border: solid 1px ${J.paleGreyTwo};
    border-radius: 100px;
    background: ${J.white};
    cursor: pointer;

    ${({isDisable:e})=>e?`\n            color: ${J.grey};\n            cursor: default;\n        `:`\n            &:hover {\n                border: solid 1px ${J.grey};\n                box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5);\n            }\n        `}
`,KQ=(0,q.default)(zQ)`
    left: 10px;
`,qQ=(0,q.default)(zQ)`
    right: 10px;
`,$Q=q.default.i`
    font-size: 18px;
    line-height: 50px;
    vertical-align: middle;
    ${({isDisable:e})=>e?"":`color: ${J.blackTwo}`};
`,eE=({sliderType:e,handleClick:t,isDisable:n})=>"prev"===e?z.createElement(KQ,{isDisable:n,onClick:t},z.createElement($Q,{isDisable:n,className:"ico ico-chevron-left"})):z.createElement(qQ,{isDisable:n,onClick:t},z.createElement($Q,{isDisable:n,className:"ico ico-chevron-right"})),tE=({children:e,maxVisibleMenuNumber:t,sliderTransitionX:n})=>z.createElement(JQ,{maxVisibleMenuNumber:t},z.createElement(jQ,{sliderTransitionX:n},e));var nE=Object.defineProperty,iE=Object.defineProperties,oE=Object.getOwnPropertyDescriptors,rE=Object.getOwnPropertySymbols,aE=Object.prototype.hasOwnProperty,sE=Object.prototype.propertyIsEnumerable,cE=(e,t,n)=>t in e?nE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lE=(e,t)=>{for(var n in t||(t={}))aE.call(t,n)&&cE(e,n,t[n]);if(rE)for(var n of rE(t))sE.call(t,n)&&cE(e,n,t[n]);return e},uE=(e,t)=>iE(e,oE(t));const dE=q.default.div`
    display: flex;
    position: relative;
    background: ${J.white};
    padding: 10px 0;

    ${({isEnableSliding:e})=>e&&"\n            padding-left: 90px; \n            padding-right: 90px;\n    "}
`,gE=q.default.ul`
    width: ${YQ}px;
    max-height: 535px;
    box-sizing: border-box;
    overflow: hidden;

    padding: 10px 20px;
    flex-shrink: 0;

    &:not(:last-child) {
        border-right: dashed 1px ${J.grey};
    }
`,pE=({isEnableSliding:e,chunkedSecondLevelList:t,triggerThirdLevelMenu:n,dataType:i,setActiveItems:o,activeItems:r})=>{const a=(0,z.useMemo)((()=>(3-t.length)*YQ),[t.length]),[s,c]=(0,z.useState)(0);return z.createElement(dE,{isEnableSliding:e},z.createElement(tE,{maxVisibleMenuNumber:3,sliderTransitionX:s},t.map(((e,t)=>z.createElement(gE,{key:t},e.map((e=>z.createElement(HQ,{key:e.key,onClick:t=>{var a;if(i===Ot.CUSTOM_LINK){const t=ut((null==e?void 0:e.link)||"");Qc({contentType:to.CustomMenuLayerTwo,linkUrl:t,id:null,name:null==e?void 0:e.title})}if(e.hasChildList)t.preventDefault(),o(uE(lE({},r),{firstLevel:null==e?void 0:e.title,secondLevel:""})),n(e.key);else if(i===Ot.CATEGORY){const t=ut((null==e?void 0:e.link)||"");o(uE(lE({},r),{firstLevel:null==e?void 0:e.title,secondLevel:""}));const n=null==e?void 0:e.title;(0,Bs.selectContent)({id:null==(a=null==e?void 0:e.key)?void 0:a.toString(),name:n,contentType:"Category",linkUrl:t})}else!e.hasChildList&&e.link&&(window.location.href=e.link)}},z.createElement(LQ,{titleText:e.title,link:e.link,hasIcon:e.hasChildList,iconClassName:XQ.ARROW_RIGHT,isHasFreeGift:null==e?void 0:e.isHasFreeGift,navStyle:{color:"#333"}})))))))),e&&z.createElement(z.Fragment,null,z.createElement(eE,{sliderType:MQ.PREV,isDisable:0===s,handleClick:()=>{c(Math.min(s+YQ,0))}}),z.createElement(eE,{sliderType:MQ.NEXT,isDisable:s===a,handleClick:()=>{c(Math.max(s-YQ,a))}})))};var mE=Object.defineProperty,fE=Object.defineProperties,IE=Object.getOwnPropertyDescriptors,hE=Object.getOwnPropertySymbols,bE=Object.prototype.hasOwnProperty,yE=Object.prototype.propertyIsEnumerable,CE=(e,t,n)=>t in e?mE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const vE=q.default.div`
    display: flex;
    background: ${J.white};
    padding: 0;
`,BE=q.default.ul`
    width: ${YQ}px;
    max-height: 535px;
    box-sizing: border-box;
    overflow: hidden;
    &:not(:last-child) {
        border-right: dashed 1px ${J.grey};
    }
`,AE=q.default.div`
    width: ${YQ}px;
    box-sizing: border-box;
    background: ${J.whiteFive};
    border-right: solid 1px ${J.grey};
`,_E=(0,q.default)(BE)`
    padding: 20px;
`,SE=q.default.div`
    display: flex;
    align-items: center;
    width: 270px;
    height: 30px;
    padding: 0;
    position: absolute;
    margin-left: 15px;
    top: 20px;
    left: 20px;
    a {
        padding: 0;
        border-bottom: solid 1px ${J.blackTwo};
    }
    a > :first-child {
        font-weight: 900;
    }

    ${({isEnableSliding:e})=>e&&"\n            margin-left: 100px;\n    "}
`,GE=q.default.div`
    display: flex;
    position: relative;
    padding: 60px 0 20px;

    ${({isEnableSliding:e})=>e&&"\n            padding-left: 85px; \n            padding-right: 85px;\n    "}
`,QE=(0,q.default)(BE)`
    padding: 0 20px;
    flex-shrink: 0;
`,EE=({isEnableSliding:e,chunkedThirdLevelList:t,secondLevelKey:n,secondLevelList:i,triggerThirdLevelMenu:o,dataType:r,setActiveItems:a,activeItems:s})=>{const c=(0,z.useMemo)((()=>i.find((e=>e.key===n))),[i,n]),l=(0,z.useMemo)((()=>(2-t.length)*YQ),[t.length]),[u,d]=(0,z.useState)(0);return(0,z.useEffect)((()=>{0!==u&&d(0)}),[n]),z.createElement(vE,null,z.createElement(AE,null,z.createElement(_E,null,i.map((e=>z.createElement(HQ,{key:e.key,isActive:n===e.key,onClick:t=>{e.hasChildList&&(t.preventDefault(),o(e.key))}},z.createElement(LQ,{titleText:e.title,link:e.link,hasIcon:e.hasChildList,iconClassName:XQ.ARROW_RIGHT,isHasFreeGift:null==e?void 0:e.isHasFreeGift,navStyle:{color:"#333"}})))))),z.createElement(GE,{isEnableSliding:e},z.createElement(SE,{isEnableSliding:e},z.createElement(LQ,{titleText:c.title,link:c.link,hasIcon:c.hasChildList,iconClassName:XQ.CLOSE,handleIconClick:()=>o(""),navStyle:{color:"#333"}})),z.createElement(tE,{maxVisibleMenuNumber:2,sliderTransitionX:u},t.map(((e,t)=>z.createElement(QE,{key:t},e.map((e=>z.createElement(HQ,{key:e.key,onClick:t=>{var n,i,c;if(r===Ot.CUSTOM_LINK){const t=ut((null==e?void 0:e.link)||"");Qc({contentType:to.CustomMenuLayerThree,linkUrl:t,id:null,name:null==e?void 0:e.title})}if(e.hasChildList)t.preventDefault(),o(e.key);else if(r===Ot.CATEGORY){const t=ut((null==e?void 0:e.link)||"");a((i=((e,t)=>{for(var n in t||(t={}))bE.call(t,n)&&CE(e,n,t[n]);if(hE)for(var n of hE(t))yE.call(t,n)&&CE(e,n,t[n]);return e})({},s),c={secondLevel:null==e?void 0:e.title},fE(i,IE(c))));const o="category_all"===e.key?`${null==s?void 0:s.firstLevel}-${null==e?void 0:e.title}`:null==e?void 0:e.title;(0,Bs.selectContent)({id:null==(n=null==e?void 0:e.key)?void 0:n.toString(),name:o,contentType:"SubCategory",linkUrl:t})}}},z.createElement(LQ,{titleText:e.title,link:e.link,hasIcon:e.hasChildList,iconClassName:XQ.ARROW_RIGHT,isHasFreeGift:null==e?void 0:e.isHasFreeGift,navStyle:{color:"#333"}})))))))),e&&z.createElement(z.Fragment,null,z.createElement(eE,{sliderType:MQ.PREV,isDisable:0===u,handleClick:()=>{d(Math.min(u+YQ,0))}}),z.createElement(eE,{sliderType:MQ.NEXT,isDisable:u===l,handleClick:()=>{d(Math.max(u-YQ,l))}}))))},FE=q.default.div`
    display: ${({isShowMenu:e})=>e?"block":"none"};
    position: absolute;
    overflow: hidden;
    box-shadow: 0 2px 4px 0 rgb(0, 0, 0, 0.1);
    transition: width 0.2s ease;
    z-index: 650;
    background-color: #ffffff;

    ${({leftOffset:e})=>`left: ${e}px;`}
    ${({menuWidth:e})=>`max-width: ${e}px;`}
    ${({menuHeight:e})=>`max-height: ${e}px;`}
`,wE=q.default.div`
    display: flex;
    transform: translateX(${({sliderTransitionX:e})=>e}px);
`,TE=e=>e<=3?YQ*e:1200,xE=({title:e,link:t,childList:n,additionalChildListData:i,navStyle:o,isDefaultOpen:r,currentEditingItemKey:a,isHeaderCommonMenu:s,dataType:c,customerConfig:l})=>{const[u,d]=(0,z.useState)(!1),[g,p]=(0,z.useState)({firstLevel:"",secondLevel:""});(0,z.useEffect)((()=>{d(r)}),[r]);const m=(0,z.useRef)(null),[f,I]=(0,z.useState)(""),h=(0,z.useMemo)((()=>(0,j.chunk)(n,15)),[n]),b=(0,z.useMemo)((()=>(0,j.chunk)(i[f]||[],15)),[i,f]),y=(0,z.useMemo)((()=>""===f?[]:h.find((e=>e.some((e=>e.key===f))))),[h,f]),C=(0,z.useMemo)((()=>h.length),[h.length]),v=(0,z.useMemo)((()=>b.length),[b.length]),B=(0,z.useMemo)((()=>C>3),[C]),A=(0,z.useMemo)((()=>v>2),[v]),[_,S]=(0,z.useState)(0);let G;(0,z.useEffect)((()=>()=>{G&&clearTimeout(G)}),[G]);const[Q,E]=(0,z.useState)(!1),F=e=>{""!==e?(I(e),S(2e3),E(!0)):(S(2e3),E(!1))};(0,z.useEffect)((()=>{var e;a&&(null==(e=i[a])?void 0:e.length)?F(a):F("")}),[a,i]);const w=(0,z.useMemo)((()=>Q?-TE(C):0),[Q,C]),T=(0,z.useMemo)((()=>{return Q?(e=v)<=2?YQ*(1+e):1190:TE(C);var e}),[Q,C,v]),x=(0,z.useMemo)((()=>{var e,t;const n=(null==(e=h[0])?void 0:e.length)||0,i=(null==(t=b[0])?void 0:t.length)||0;return Q?80+30*Math.max(n,i):40+30*n}),[Q,h,b]),k=(0,z.useMemo)((()=>{const e=m.current;if(e){const{left:t}=e.getBoundingClientRect(),n=document.body.clientWidth;return n-t-12-16>=T?12:n-T-16-t}return 12}),[Q,C,v,u]);return z.createElement("li",{style:{position:"relative",float:"left"},onMouseEnter:()=>{m.current||E(!1),d(!0)},onMouseLeave:()=>{G=setTimeout((()=>{E(!1),d(!1)}),_)},onMouseOver:()=>{_&&(S(0),clearTimeout(G))}},z.createElement(LQ,{elmRef:m,titleText:e,link:t,navStyle:o,hasIcon:!0,iconClassName:XQ.ARROW_DOWN,isActive:s&&u,customerConfig:l,onClickHandler:()=>{Qc({contentType:to.CustomMenuLayerOne,linkUrl:t,id:null,name:e})}}),z.createElement(FE,{menuWidth:T,menuHeight:x,leftOffset:k,isShowMenu:u,isShowThirdLevelMenu:Q},z.createElement(wE,{sliderTransitionX:w},z.createElement(pE,{chunkedSecondLevelList:h,triggerThirdLevelMenu:F,isEnableSliding:B,dataType:c,activeItems:g,setActiveItems:p}),f&&z.createElement(EE,{secondLevelKey:f,secondLevelList:y,chunkedThirdLevelList:b,triggerThirdLevelMenu:F,isEnableSliding:A,dataType:c,activeItems:g,setActiveItems:p}))))};var kE=Object.defineProperty,NE=Object.defineProperties,OE=Object.getOwnPropertyDescriptors,ZE=Object.getOwnPropertySymbols,UE=Object.prototype.hasOwnProperty,RE=Object.prototype.propertyIsEnumerable,XE=(e,t,n)=>t in e?kE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const WE=({title:e,dataSource:t,navStyle:n,currentEditingItemKey:i,dataType:o,shopDomain:r,promotionTargetList:a,customerConfig:s})=>{const c=(0,El.useDispatch)(),[l,u]=(0,z.useState)([]),d=(0,z.useCallback)((e=>(0,Ee.getPageUrl)(r,Ee.PAGE_TYPE.CATEGORY,{id:e})),[r]),g=(0,z.useCallback)((e=>((null==a?void 0:a.freeGift)||[]).includes(e)),[null==a?void 0:a.freeGift]),p=(0,z.useCallback)((t=>{var n;const i=[{itemIndex:0,childList:[],text:e||"",additionalChildList:[],itemKey:""}];for(let e=0;e<(null==(n=null==t?void 0:t.List)?void 0:n.length);e+=1){const n=t.List[e],r=n.Id,a=(null==n?void 0:n.ChildList)||[],s=[];for(let e=0;e<a.length;e+=1){const t=a[e],n=d(null==t?void 0:t.Id),i=g(null==t?void 0:t.Id);s.push({itemIndex:e,itemKey:null==t?void 0:t.Id,text:null==t?void 0:t.Name,linkUrl:n,isHasFreeGift:i})}s.length>0&&(o===Ot.CATEGORY&&s.unshift({itemIndex:-1,itemKey:"category_all",text:(0,es.t)(jn.THEME_CORE.HEADER.CATEGORY_ALL),linkUrl:d(null==n?void 0:n.Id),isHasFreeGift:!1}),(0,j.head)(i).additionalChildList.push({parentItemKey:null==n?void 0:n.Id,level:3,itemList:s}));const c=d(r),l=g(null==n?void 0:n.Id);(0,j.head)(i).childList.push({itemIndex:e,linkInfo:{pageType:""},linkUrl:c,urlType:"custom",text:null==n?void 0:n.Name,itemKey:null==n?void 0:n.Id,isHasFreeGift:l})}u(i)}),[d,g,e,o]),m=(0,z.useCallback)((t=>{const n=[{itemIndex:0,childList:[],text:e||"",additionalChildList:[],itemKey:""}];for(let e=0;e<(null==t?void 0:t.length);e+=1){const i=t[e];(0,j.head)(n).childList.push({itemIndex:e,linkInfo:{pageType:""},linkUrl:null==i?void 0:i.link,urlType:"custom",text:null==i?void 0:i.title,itemKey:`${(null==i?void 0:i.title)||""}${e}`})}u(n)}),[e]);return(0,z.useEffect)((()=>{o===Ot.CATEGORY&&(c(kh()),c(JI()))}),[o,c]),(0,z.useEffect)((()=>{switch(o){case Ot.CATEGORY:p(t);break;case Ot.ACTIVITY:m(t)}}),[t,o,p,m]),z.createElement(z.Fragment,null,l.map(((e,t)=>{const{itemKey:r,text:a,linkUrl:c="",additionalChildList:l=[]}=e;if((null==e?void 0:e.childList)&&e.childList.length>0){const t=l.reduce(((e,t)=>{return n=((e,t)=>{for(var n in t||(t={}))UE.call(t,n)&&XE(e,n,t[n]);if(ZE)for(var n of ZE(t))RE.call(t,n)&&XE(e,n,t[n]);return e})({},e),i={[t.parentItemKey]:t.itemList.map((e=>({key:e.itemKey,title:e.text,link:e.linkUrl,isHasFreeGift:(null==e?void 0:e.isHasFreeGift)||!1})))},NE(n,OE(i));var n,i}),{}),u=e.childList.map((e=>({key:e.itemKey,title:e.text||(0,es.t)(jn.THEME_CORE.HEADER.LINK_WORD),link:e.linkUrl||"",hasChildList:!!t[e.itemKey],isHasFreeGift:(null==e?void 0:e.isHasFreeGift)||!1})));return z.createElement(xE,{key:r,title:a,link:c,childList:u,additionalChildListData:t,navStyle:n,currentEditingItemKey:i,isDefaultOpen:i===r||(null==u?void 0:u.some((e=>e.key===i))),isHeaderCommonMenu:!0,dataType:o,customerConfig:s})}return o===Ot.CATEGORY?null:z.createElement(RQ,{key:`custom-link-${t}`,navStyle:n,linkItem:e,customerConfig:s})})))};var VE=n(1829),PE=Object.defineProperty,DE=Object.defineProperties,HE=Object.getOwnPropertyDescriptors,LE=Object.getOwnPropertySymbols,YE=Object.prototype.hasOwnProperty,ME=Object.prototype.propertyIsEnumerable,JE=(e,t,n)=>t in e?PE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const jE=(0,lI.createReducer)({}).handleAction(dI,((e,t)=>{return n=((e,t)=>{for(var n in t||(t={}))YE.call(t,n)&&JE(e,n,t[n]);if(LE)for(var n of LE(t))ME.call(t,n)&&JE(e,n,t[n]);return e})({},e),i={[t.dataSource]:t.payload},DE(n,HE(i));var n,i}));var zE=Object.defineProperty,KE=Object.defineProperties,qE=Object.getOwnPropertyDescriptors,$E=Object.getOwnPropertySymbols,eF=Object.prototype.hasOwnProperty,tF=Object.prototype.propertyIsEnumerable,nF=(e,t,n)=>t in e?zE(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const iF=(0,lI.createReducer)({}).handleAction(mI,((e,t)=>{return n=((e,t)=>{for(var n in t||(t={}))eF.call(t,n)&&nF(e,n,t[n]);if($E)for(var n of $E(t))tF.call(t,n)&&nF(e,n,t[n]);return e})({},e),i={[t.dataSource]:t.payload},KE(n,qE(i));var n,i}));var oF=Object.defineProperty,rF=Object.defineProperties,aF=Object.getOwnPropertyDescriptors,sF=Object.getOwnPropertySymbols,cF=Object.prototype.hasOwnProperty,lF=Object.prototype.propertyIsEnumerable,uF=(e,t,n)=>t in e?oF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const dF=(0,lI.createReducer)({}).handleAction(hI,((e,t)=>{return n=((e,t)=>{for(var n in t||(t={}))cF.call(t,n)&&uF(e,n,t[n]);if(sF)for(var n of sF(t))lF.call(t,n)&&uF(e,n,t[n]);return e})({},e),i={[t.dataSource]:t.payload},rF(n,aF(i));var n,i}));var gF=Object.defineProperty,pF=Object.defineProperties,mF=Object.getOwnPropertyDescriptors,fF=Object.getOwnPropertySymbols,IF=Object.prototype.hasOwnProperty,hF=Object.prototype.propertyIsEnumerable,bF=(e,t,n)=>t in e?gF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yF=(e,t)=>{for(var n in t||(t={}))IF.call(t,n)&&bF(e,n,t[n]);if(fF)for(var n of fF(t))hF.call(t,n)&&bF(e,n,t[n]);return e};const CF=(0,lI.createReducer)({favoriteCount:0,favoriteList:[]}).handleAction([AI,CI],((e,t)=>{return n=yF({},e),i={[t.dataSource]:t.payload},pF(n,mF(i));var n,i})).handleAction([GI,FI],((e,t)=>yF(yF({},e),t.payload)));var vF=Object.defineProperty,BF=Object.defineProperties,AF=Object.getOwnPropertyDescriptors,_F=Object.getOwnPropertySymbols,SF=Object.prototype.hasOwnProperty,GF=Object.prototype.propertyIsEnumerable,QF=(e,t,n)=>t in e?vF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,EF=(e,t)=>{for(var n in t||(t={}))SF.call(t,n)&&QF(e,n,t[n]);if(_F)for(var n of _F(t))GF.call(t,n)&&QF(e,n,t[n]);return e},FF=(e,t)=>BF(e,AF(t));const wF=(0,lI.createReducer)({}).handleAction(XI,((e,t)=>FF(EF({},e),{[t.dataSource]:t.payload}))).handleAction(ZI,((e,t)=>FF(EF({},e),{[t.dataSource]:t.payload})));var TF=Object.defineProperty,xF=Object.defineProperties,kF=Object.getOwnPropertyDescriptors,NF=Object.getOwnPropertySymbols,OF=Object.prototype.hasOwnProperty,ZF=Object.prototype.propertyIsEnumerable,UF=(e,t,n)=>t in e?TF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,RF=(e,t)=>{for(var n in t||(t={}))OF.call(t,n)&&UF(e,n,t[n]);if(NF)for(var n of NF(t))ZF.call(t,n)&&UF(e,n,t[n]);return e},XF=(e,t)=>xF(e,kF(t));const WF=(0,lI.createReducer)({header:[],center:[],footer:[],left:[],right:[]}),VF=(0,lI.createReducer)({}),PF=(0,lI.createReducer)({}),DF=(0,lI.createReducer)(null),HF=(0,lI.createReducer)({message:"",isLoading:!1}).handleAction(VI,(()=>({}))).handleAction(PI,((e,t)=>XF(RF({},e),{message:t.payload}))).handleAction(DI,(e=>XF(RF({},e),{isLoading:!e.isLoading}))),LF=(0,lI.createReducer)({isTrackingInitializing:!0}).handleAction(HI,(e=>XF(RF({},e),{isTrackingInitializing:!1})));var YF=Object.defineProperty,MF=Object.defineProperties,JF=Object.getOwnPropertyDescriptors,jF=Object.getOwnPropertySymbols,zF=Object.prototype.hasOwnProperty,KF=Object.prototype.propertyIsEnumerable,qF=(e,t,n)=>t in e?YF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,$F=(e,t)=>{for(var n in t||(t={}))zF.call(t,n)&&qF(e,n,t[n]);if(jF)for(var n of jF(t))KF.call(t,n)&&qF(e,n,t[n]);return e},ew=(e,t)=>MF(e,JF(t));const tw=(0,lI.createReducer)({promotionCount:0,promotionSourceTypeList:{},promotionSourceTypeId:{},promotionTargetList:{freeGift:[]},promotionListInShopCategory:[]}).handleAction(YI,((e,t)=>ew($F({},e),{promotionCount:t.payload}))).handleAction(jI,((e,t)=>ew($F({},e),{[t.dataSource]:t.payload}))).handleAction(qI,((e,t)=>ew($F({},e),{promotionSourceTypeList:ew($F({},e.promotionSourceTypeList),{[t.moduleKey]:{promotionList:t.payload.promotionList}})}))).handleAction(th,((e,t)=>ew($F({},e),{promotionSourceTypeId:ew($F({},e.promotionSourceTypeId),{[t.moduleKey]:{promotionList:t.payload.promotionList}})}))).handleAction(oh,((e,t)=>ew($F({},e),{promotionListInShopCategory:t.payload})));var nw=Object.defineProperty,iw=Object.defineProperties,ow=Object.getOwnPropertyDescriptors,rw=Object.getOwnPropertySymbols,aw=Object.prototype.hasOwnProperty,sw=Object.prototype.propertyIsEnumerable,cw=(e,t,n)=>t in e?nw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const lw=(0,lI.createReducer)({retailStoreCustomLinkSettingList:[]}).handleAction(sh,((e,t)=>{return n=((e,t)=>{for(var n in t||(t={}))aw.call(t,n)&&cw(e,n,t[n]);if(rw)for(var n of rw(t))sw.call(t,n)&&cw(e,n,t[n]);return e})({},e),i={retailStoreCustomLinkSettingList:t.payload},iw(n,ow(i));var n,i}));var uw=Object.defineProperty,dw=Object.defineProperties,gw=Object.getOwnPropertyDescriptors,pw=Object.getOwnPropertySymbols,mw=Object.prototype.hasOwnProperty,fw=Object.prototype.propertyIsEnumerable,Iw=(e,t,n)=>t in e?uw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,hw=(e,t)=>{for(var n in t||(t={}))mw.call(t,n)&&Iw(e,n,t[n]);if(pw)for(var n of pw(t))fw.call(t,n)&&Iw(e,n,t[n]);return e},bw=(e,t)=>dw(e,gw(t));const yw=(0,lI.createReducer)({salePageInfo:{},isFetching:!1,browsingHistoryInfo:{productList:[]},historySalePageList:[]}).handleAction(uh,((e,t)=>bw(hw({},e),{[t.dataSource]:t.payload}))).handleAction(ph,((e,t)=>bw(hw({},e),{salePageInfo:t.payload.salePageInfo,skuInfoList:t.payload.skuInfoList}))).handleAction(Ih,((e,t)=>bw(hw({},e),{salePageInfo:{status:t.payload}}))).handleAction(bh,(e=>bw(hw({},e),{isSkuStockUpdated:!1}))).handleAction(yh,((e,t)=>bw(hw({},e),{isSkuStockUpdated:!0,skuInfoList:t.payload}))).handleAction(vh,((e,t)=>bw(hw({},e),{isFetching:!0,[t.dataKey]:{productList:[],isFetching:!0}}))).handleAction(Bh,((e,t)=>bw(hw({},e),{isFetching:!1,dataKey:t.dataKey,[t.dataKey]:bw(hw({},t.payload),{isFetching:!1})}))).handleAction(Ah,((e,t)=>bw(hw({},e),{isFetching:!1,dataKey:t.dataKey,[t.dataKey]:{productList:[],isFetching:!1}}))).handleAction(_h,(e=>bw(hw({},e),{isFetching:!0}))).handleAction(Sh,((e,t)=>bw(hw({},e),{isFetching:!1,dataKey:t.dataKey,[t.dataKey]:t.payload})));var Cw=Object.defineProperty,vw=Object.defineProperties,Bw=Object.getOwnPropertyDescriptors,Aw=Object.getOwnPropertySymbols,_w=Object.prototype.hasOwnProperty,Sw=Object.prototype.propertyIsEnumerable,Gw=(e,t,n)=>t in e?Cw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Qw=(0,lI.createReducer)({searchList:[],hotSearchList:[]}).handleAction([Eh,Th],((e,t)=>{return n=((e,t)=>{for(var n in t||(t={}))_w.call(t,n)&&Gw(e,n,t[n]);if(Aw)for(var n of Aw(t))Sw.call(t,n)&&Gw(e,n,t[n]);return e})({},e),i={[t.dataSource]:t.payload},vw(n,Bw(i));var n,i}));var Ew=Object.defineProperty,Fw=Object.defineProperties,ww=Object.getOwnPropertyDescriptors,Tw=Object.getOwnPropertySymbols,xw=Object.prototype.hasOwnProperty,kw=Object.prototype.propertyIsEnumerable,Nw=(e,t,n)=>t in e?Ew(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ow=(e,t)=>{for(var n in t||(t={}))xw.call(t,n)&&Nw(e,n,t[n]);if(Tw)for(var n of Tw(t))kw.call(t,n)&&Nw(e,n,t[n]);return e},Zw=(e,t)=>Fw(e,ww(t));const Uw=(0,lI.createReducer)({shopCategoryList:{Count:0,List:[],MaxChildListCount:0},enableDisplayStoreList:{ReturnCode:"",Data:!1,Message:""},multiShopCategoryBreadcrumbList:{isFetching:!1,allTreeWithLevel1AndLevel2List:[],breadcrumbList:[],categoryId:0,singleTree:null},brandList:{data:{boardModule:{boardContent:{boards:[]}}}}}).handleAction(Xh,((e,t)=>Zw(Ow({},e),{[t.dataSource]:t.payload}))).handleAction(Wh,((e,t)=>Zw(Ow({},e),{[t.dataSource]:t.payload}))).handleAction(Dh,((e,t)=>Zw(Ow({},e),{[t.dataKey]:{productList:[],isFetching:!0}}))).handleAction(Hh,((e,t)=>Zw(Ow({},e),{dataKey:t.dataKey,[t.dataKey]:Zw(Ow({},t.payload),{isFetching:!1})}))).handleAction(Lh,((e,t)=>Zw(Ow({},e),{dataKey:t.dataKey,[t.dataKey]:{productList:[],isFetching:!1}}))).handleAction(Mh,((e,t)=>Zw(Ow({},e),{retailStoreCategoryList:t.payload}))).handleAction(jh,((e,t)=>Zw(Ow({},e),{categoryServiceType:t.payload}))).handleAction(Zh,((e,t)=>Zw(Ow({},e),{[t.dataSource]:t.payload}))).handleAction(Kh,((e,t)=>Zw(Ow({},e),{enableDisplayStoreList:t.payload}))).handleAction(Oh,((e,t)=>{const n=Zw(Ow(Ow({},e.multiShopCategoryBreadcrumbList),t.payload),{isFetching:!0});return Zw(Ow({},e),{multiShopCategoryBreadcrumbList:n})})).handleAction(Uh,((e,t)=>{const n=Zw(Ow(Ow({},e.multiShopCategoryBreadcrumbList),t.payload),{isFetching:!1});return Zw(Ow({},e),{multiShopCategoryBreadcrumbList:n})})).handleAction(Ph,(e=>{const t=Zw(Ow({},e.multiShopCategoryBreadcrumbList),{isFetching:!1});return Zw(Ow({},e),{multiShopCategoryBreadcrumbList:t})}));var Rw=Object.defineProperty,Xw=Object.defineProperties,Ww=Object.getOwnPropertyDescriptors,Vw=Object.getOwnPropertySymbols,Pw=Object.prototype.hasOwnProperty,Dw=Object.prototype.propertyIsEnumerable,Hw=(e,t,n)=>t in e?Rw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Lw=(e,t)=>{for(var n in t||(t={}))Pw.call(t,n)&&Hw(e,n,t[n]);if(Vw)for(var n of Vw(t))Dw.call(t,n)&&Hw(e,n,t[n]);return e},Yw=(e,t)=>Xw(e,Ww(t));const Mw=(0,lI.createReducer)({shoppingCartCount:0,shoppingCartPreviewList:[]}).handleAction([eb,ib],((e,t)=>Yw(Lw({},e),{[t.dataSource]:t.payload}))).handleAction(ab,((e,t)=>Lw(Lw({},e),t.payload))).handleAction(db,(e=>Yw(Lw({},e),{isAdding:!0}))).handleAction(gb,((e,t)=>Yw(Lw({},e),{isAdding:!0,prepareProductInfo:Lw({},t.payload)}))).handleAction(pb,(e=>Yw(Lw({},e),{isAdding:!1,prepareProductInfo:{}})));var Jw=Object.defineProperty,jw=Object.defineProperties,zw=Object.getOwnPropertyDescriptors,Kw=Object.getOwnPropertySymbols,qw=Object.prototype.hasOwnProperty,$w=Object.prototype.propertyIsEnumerable,eT=(e,t,n)=>t in e?Jw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tT=(e,t)=>{for(var n in t||(t={}))qw.call(t,n)&&eT(e,n,t[n]);if(Kw)for(var n of Kw(t))$w.call(t,n)&&eT(e,n,t[n]);return e},nT=(e,t)=>jw(e,zw(t));const iT=_e()&&+(0,vn.getCookie)("rsLocId")?+(0,vn.getCookie)("rsLocId"):null,oT=(0,lI.createReducer)({retailStoreLocationId:iT,isSkipPurchaseQualificationValid:!0}).handleAction(bb,((e,t)=>nT(tT({},e),{[t.dataSource]:t.payload}))).handleAction(fb,((e,t)=>nT(tT({},e),{[t.dataSource]:t.payload,isSkipPurchaseQualificationValid:!1}))).handleAction(Ib,(e=>nT(tT({},e),{memberCollectionIdList:[],isSkipPurchaseQualificationValid:!0}))).handleAction(Ab,(e=>nT(tT({},e),{isLogin:!1}))).handleAction(Sb,((e,t)=>nT(tT({},e),{retailStoreLocationId:t.payload}))).handleAction(Qb,((e,t)=>nT(tT({},e),{retailStoreExpress:t.payload}))).handleAction(Eb,(e=>nT(tT({},e),{retailStoreExpress:null}))).handleAction(wb,((e,t)=>nT(tT({},e),{retailStoreExpressLocationId:t.payload}))).handleAction(Tb,(e=>nT(tT({},e),{retailStoreExpressLocationId:0})));var rT=Object.defineProperty,aT=Object.defineProperties,sT=Object.getOwnPropertyDescriptors,cT=Object.getOwnPropertySymbols,lT=Object.prototype.hasOwnProperty,uT=Object.prototype.propertyIsEnumerable,dT=(e,t,n)=>t in e?rT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gT=(e,t)=>{for(var n in t||(t={}))lT.call(t,n)&&dT(e,n,t[n]);if(cT)for(var n of cT(t))uT.call(t,n)&&dT(e,n,t[n]);return e},pT=(e,t)=>aT(e,sT(t));const mT={errorMsg:"",allCurrencies:Bd.allCurrencies,availableCurrencies:[],preferredCurrency:"",isEnableLanguage:!1,allLanguages:[],availableLanguages:[],preferredLanguage:""},fT=(0,lI.createReducer)(mT).handleAction(TI,((e,t)=>{const{payload:n}=t,i=e.allCurrencies.map((e=>pT(gT({},e),{rate:n[e.code]||1})));return pT(gT({},e),{allCurrencies:i})})).handleAction(kI,((e,t)=>{const{payload:n}=t;return e.allCurrencies.some((e=>e.code===n))?pT(gT({},e),{preferredCurrency:n}):e})).handleAction(xI,((e,t)=>{const{payload:n}=t,i=e.allCurrencies.filter((e=>n.includes(e.code))).map((e=>e.code));return pT(gT({},e),{availableCurrencies:i})})).handleAction(NI,((e,t)=>{const{payload:n}=t;return gT(gT({},e),n)}));var IT=Object.defineProperty,hT=Object.defineProperties,bT=Object.getOwnPropertyDescriptors,yT=Object.getOwnPropertySymbols,CT=Object.prototype.hasOwnProperty,vT=Object.prototype.propertyIsEnumerable,BT=(e,t,n)=>t in e?IT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,AT=(e,t)=>{for(var n in t||(t={}))CT.call(t,n)&&BT(e,n,t[n]);if(yT)for(var n of yT(t))vT.call(t,n)&&BT(e,n,t[n]);return e},_T=(e,t)=>hT(e,bT(t));const ST=(0,lI.createReducer)({spCatAdOfficial:[],officialCustomLink:[]}).handleAction(kb,((e,t)=>_T(AT({},e),{spCatAdOfficial:t.payload}))).handleAction(Zb,((e,t)=>_T(AT({},e),{officialCustomLink:t.payload})));var GT=Object.defineProperty,QT=Object.defineProperties,ET=Object.getOwnPropertyDescriptors,FT=Object.getOwnPropertySymbols,wT=Object.prototype.hasOwnProperty,TT=Object.prototype.propertyIsEnumerable,xT=(e,t,n)=>t in e?GT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,kT=(e,t)=>{for(var n in t||(t={}))wT.call(t,n)&&xT(e,n,t[n]);if(FT)for(var n of FT(t))TT.call(t,n)&&xT(e,n,t[n]);return e},NT=(e,t)=>QT(e,ET(t));const OT=(0,lI.createReducer)({isExist:!0,categoryId:-1,isShowCurator:!1,orderBy:"",productList:[],cursor:0,totalSize:0,isFetching:!1}).handleAction([Rb,Vb,Hb],(e=>NT(kT({},e),{isFetching:!0}))).handleAction([Xb,Pb],((e,t)=>NT(kT(kT({},e),t.payload),{isFetching:!1}))).handleAction(Lb,((e,{payload:{productList:t,cursor:n,totalSize:i}})=>NT(kT({},e),{productList:[...e.productList,...t],cursor:n,totalSize:i,isFetching:!1}))).handleAction(Yb,(e=>NT(kT({},e),{isFetching:!1}))).handleAction([Wb,Db,Mb],(e=>NT(kT({},e),{isFetching:!1})));var ZT=Object.defineProperty,UT=Object.defineProperties,RT=Object.getOwnPropertyDescriptors,XT=Object.getOwnPropertySymbols,WT=Object.prototype.hasOwnProperty,VT=Object.prototype.propertyIsEnumerable,PT=(e,t,n)=>t in e?ZT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,DT=(e,t)=>{for(var n in t||(t={}))WT.call(t,n)&&PT(e,n,t[n]);if(XT)for(var n of XT(t))VT.call(t,n)&&PT(e,n,t[n]);return e},HT=(e,t)=>UT(e,RT(t));const LT=(0,lI.createReducer)({tagList:[],smartTag:{},isFetching:!1}).handleAction(Jb,(e=>HT(DT({},e),{isFetching:!0}))).handleAction(jb,((e,t)=>HT(DT({},e),{isFetching:!1,tagList:t.payload}))).handleAction(zb,(e=>HT(DT({},e),{isFetching:!1}))).handleAction(Kb,((e,t)=>HT(DT({},e),{smartTag:t.payload})));(0,VE.HY)({construct:WF,pageMetaData:PF,globalStyleData:VF,dependencies:DF,activity:jE,coupon:iF,ecoupon:dF,favorite:CF,official:wF,messageData:HF,promotion:tw,salePage:yw,search:Qw,shop:Uw,shoppingCart:Mw,retailStore:lw,user:oT,locale:fT,layoutTemplateData:ST,shopCategory:OT,tagCategory:LT,trackingData:LF}),Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const YT=(e,t)=>{var n;if(!e)return[];switch(t){case ri.jooii:return e.data;case ri.eLAND:return null==(n=e.products)?void 0:n.map((e=>+e.product_uuid));default:return[]}},MT=(e,t,n,i,o)=>{var r;const{categoryId:a,tags:s=[]}=o,c={[ri.jooii]:()=>{switch(e){case oi.salePageList:case oi.cmsModule:{const e=(0,vn.getCookie)("MID");return{userId:e||(0,vn.getCookie)("gaClientId")||"",userType:e?"nmc":"fvi"}}case oi.tagCategory:case oi.searchResultPage:return{tags:s};default:return{}}},[ri.eLAND]:()=>({top_n:i,behavior:(()=>{switch(e){case oi.salePageList:return[{page:t,param:`${a}`}];case oi.tagCategory:return[{page:t,param:null==s?void 0:s.join(",")}];default:return[]}})()})};return(null==(r=c[n])?void 0:r.call(c))||{}};var JT=Object.defineProperty,jT=Object.defineProperties,zT=Object.getOwnPropertyDescriptors,KT=Object.getOwnPropertySymbols,qT=Object.prototype.hasOwnProperty,$T=Object.prototype.propertyIsEnumerable,ex=(e,t,n)=>t in e?JT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tx=(e,t)=>{for(var n in t||(t={}))qT.call(t,n)&&ex(e,n,t[n]);if(KT)for(var n of KT(t))$T.call(t,n)&&ex(e,n,t[n]);return e},nx=(e,t)=>jT(e,zT(t)),ix=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const ox=({setting:e,pageType:t,trackingContentType:n,trackingItemListName:i,fetchDataParams:o={},dependencies:r,isEnableRecommendation:a,isFetchingInitCategoryProduct:s})=>{const{tags:c=[],categoryId:l}=o||{},{sourceType:u="",sourceInfo:d={}}=e||{},{shopId:g}=r,p=mn(r),[m,f]=(0,z.useState)(null),[I,h]=(0,z.useState)(""),[b,y]=(0,z.useState)(!1),C=(e,t,o,r)=>{try{const a=oc(),s=rc(),c=(0,Ba.A)(),l=ac(u,o),d=()=>t.map(((t,n)=>{var i;return{itemId:null==(i=t.id)?void 0:i.toString(),itemName:t.title,price:t.price,affiliation:e[n]}}));return Dc({itemListId:c,itemListName:i||r,contentType:n,contentSource:l,viewId:a,viewTitle:s,itemList:d()}),c}catch(a){const t=(0,Ba.A)();return ze.error(`[ERROR] handleTrackRecommendationProductData failed: ${je(a)}: ${Je(a)}`),t}},v=()=>ix(void 0,null,(function*(){try{if(yield ix(void 0,null,(function*(){return u!==ri.jooii||t!==oi.cmsModule||(yield Sd({shopId:g}))}))){const{title:e,productIdList:n,fallbackType:i,mode:o}=yield(e=>{return n=[e],i=function*({streamInjection:e,sourceInfo:t,sourceType:n,pageType:i,params:o}){const{shopId:r,locale:a}=e;try{if(!i)throw new Error("Invalid pageType");const{quantity:e,sourceId:s}=t,c=`${ft()}/salepage-listing/api/recommendation/salepage-listing/${r}/${n}${((e,t,n,i,o)=>({[ri.jooii]:`?quantity=${e}&modeId=${t}&viewType=${ci[i]}&lang=${o}`,[ri.eLAND]:""}[n]||""))(e,s,n,i,a)}`,l={method:en.RequestMethod.POST,body:JSON.stringify(MT(i,s,n,e,o)),timeout:{response:3e3,deadline:8e3}},{data:u}=yield Zn(c,l);let d="",g=[],p=null;return u&&"data"in u&&(d=u.title||"",g=u.fallbackType||[],p=u.mode||null),{title:d,productIdList:YT(u,n)||[],fallbackType:g,mode:p}}catch(s){return ze.error(`[ERROR] fetchRecommendationData failed: ${je(s)}: ${Je(s)}. shopId: ${r}. pageType: ${i}`),Promise.reject(s)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:p,sourceInfo:d,sourceType:u,pageType:t,params:{categoryId:l,tags:c}}),r=yield(e=>ix(void 0,null,(function*(){try{const n=null==e?void 0:e.map((e=>{const n={payload:{salePageIds:[e],includeSalePageGroup:t!==oi.cmsModule,includeInvisibleSalepage:!1},streamInjection:p};return Fp(n)}));return(yield Promise.allSettled(n))||[]}catch(n){return[]}})))(n),{filteredProductList:a,filteredFallbackType:s}=((e,t)=>{const n=[],i=[],o=e.length===t.length;return e.forEach(((e,r)=>{var a,s,c,l;"fulfilled"===e.status&&!1===(null==(s=null==(a=e.value.productList)?void 0:a[0])?void 0:s.isSoldOut)&&"Hidden"!==(null==(l=null==(c=e.value.productList)?void 0:c[0])?void 0:l.statusDef)&&(n.push(...e.value.productList),(e=>{u===ri.jooii?o?i.push(t[e]):i.push(""):i.push("third_party")})(r))})),{filteredProductList:n,filteredFallbackType:i}})(r,i);return{title:e||I,filteredProductList:a,filteredFallbackType:s,mode:o}}return{title:"",filteredProductList:[],filteredFallbackType:[],mode:null}}catch(e){return ze.error(`[ERROR] getRecommendationData failed: ${je(e)}: ${Je(e)}. shopId: ${g}. pageType: ${t}.`),{title:"",filteredProductList:[],filteredFallbackType:[],mode:null}}}));return(0,z.useEffect)((()=>{u&&t&&((()=>{var e;const n=(0,es.t)(jn.THEME_CORE.RECOMMENDATION_SECTION.YOU_MIGHT_LIKE),i=(0,es.t)(jn.THEME_CORE.RECOMMENDATION_SECTION.RECOMMENDED_TO_YOU),o=(0,es.t)(jn.THEME_CORE.RECOMMENDATION_SECTION.OTHER_PEOPLE_WATCHING),r={[ri.eLAND]:{[oi.cmsModule]:n,[oi.salePageList]:n,[oi.tagCategory]:n,[oi.searchResultPage]:n},[ri.jooii]:{[oi.cmsModule]:i,[oi.salePageList]:i,[oi.tagCategory]:o,[oi.searchResultPage]:o}};h((null==(e=r[u])?void 0:e[t])||"")})(),y(!0))}),[u,t]),(0,z.useEffect)((()=>{b&&!s&&a&&ix(void 0,null,(function*(){try{f({0:{isFetching:!0,productList:[],title:"",mode:null,itemListId:""}});const{title:e,filteredProductList:t,filteredFallbackType:n,mode:i}=yield v();if(t.length>0){const o=C(n,t,i,e);f({0:{isFetching:!1,productList:t,title:e,mode:i,itemListId:o}})}else f({0:{isFetching:!1,productList:[],title:"",mode:null,itemListId:""}})}catch(e){f({0:{isFetching:!1,productList:[],title:"",mode:null,itemListId:""}})}}))}),[a,u,l,s,JSON.stringify(c),b]),{data:m,getMoreData:e=>ix(void 0,null,(function*(){if(a)try{f(nx(tx({},m),{[e]:{isFetching:!0,productList:[],title:"",mode:null,itemListId:""}}));const{title:t,filteredProductList:n,filteredFallbackType:i,mode:o}=yield v();if(n.length>0){const r=C(i,n,o,t);f(nx(tx({},m),{[e]:{isFetching:!1,productList:n,title:t,mode:o,itemListId:r}}))}else f(nx(tx({},m),{[e]:{isFetching:!1,productList:[],title:"",mode:null,itemListId:""}}))}catch(t){f(nx(tx({},m),{[e]:{isFetching:!1,productList:[],title:"",mode:null,itemListId:""}}))}}))}},rx=e=>{const[t,n]=(0,z.useState)(0);return(0,z.useEffect)((()=>{if(!_e())return;const t=document.querySelector(e);t&&n(t.offsetHeight)}),[e]),t};var ax=(e=>(e.DOWN="down",e.UP="up",e))(ax||{});const sx={initialDirection:"down",thresholdPixels:1},cx=({initialDirection:e,thresholdPixels:t}=sx)=>{const[n,i]=(0,z.useState)(e);return(0,z.useEffect)((()=>{if(!_e())return;const e=t||0;let n=window.pageYOffset,o=!1;const r=()=>{const t=window.pageYOffset;Math.abs(t-n)<e||(i(t>n?"down":"up"),n=t>0?t:0),o=!1},a=()=>{o||(window.requestAnimationFrame(r),o=!0)};return window.addEventListener("scroll",a),()=>window.removeEventListener("scroll",a)}),[e,t]),n},lx=({orderBy:e})=>{const[t,n]=(0,z.useState)({type:null,direction:null});return(0,z.useEffect)((()=>{e===BC.By.PRICE_LOW_TO_HIGH?n({type:BC.r3.SPECIAL_PRICE,direction:BC.UE.ASC}):e===BC.By.PRICE_HIGH_TO_LOW?n({type:BC.r3.SPECIAL_PRICE,direction:BC.UE.DESC}):n({type:null,direction:null})}),[e]),{productListFrontendSortEntity:t}};var ux=Object.defineProperty,dx=Object.getOwnPropertySymbols,gx=Object.prototype.hasOwnProperty,px=Object.prototype.propertyIsEnumerable,mx=(e,t,n)=>t in e?ux(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const fx=({moduleKey:e,sourceType:t,categoryId:n,listName:i,contentType:o,contentSource:r,itemListId:a})=>{const s=(0,El.useSelector)((n=>Ty(n,{moduleKey:e,sourceType:t})));return(e,t,c,l,u,d)=>{const g={id:e,name:t,price:c,suggestPrice:l,categoryId:n,categoryName:s,position:d},p=oc(),m=rc();kc(g,i),Qc(((e,t)=>{for(var n in t||(t={}))gx.call(t,n)&&mx(e,n,t[n]);if(dx)for(var n of dx(t))px.call(t,n)&&mx(e,n,t[n]);return e})({id:null==e?void 0:e.toString(),name:t,linkUrl:null!=u?u:"",contentType:o,viewTitle:m,itemListId:a||(0,Ba.A)(),contentSource:r},p&&{viewId:p}))}},Ix=q.default.div`
    display: none;
    height: auto;
    top: 100%;
    min-height: 140px;
    padding: 0 16px 24px 16px;
    box-sizing: border-box;
    position: absolute;
    z-index: ${V};
    background-color: #fff;
    right: 0;
    border: 1px solid #d8d8d8;
    opacity: 0;
    font-size: 13px;
    color: #999;
    width: max-content;
    max-height: 380px;
    min-width: 260px;
    max-width: 800px;
    grid-template-rows: repeat(auto-fit, 40px);
    grid-auto-flow: column;
`,hx=q.default.a`
    font-size: 12px;
    display: inline-flex;

    &:hover ${Ix} {
        display: grid;
        opacity: 1;
    }

    .ico-earth {
        line-height: inherit;
    }

    .ico-exchange-dollar {
        line-height: inherit;
    }

    .nav-submenu-icon {
        position: relative;
    }
    .ico-chevron-down {
        line-height: inherit;
    }
`,bx=q.default.div``,yx=q.default.div`
    grid-column: 1 / span 5;
    display: flex;
    align-items: center;
`;var Cx=Object.defineProperty,vx=Object.defineProperties,Bx=Object.getOwnPropertyDescriptors,Ax=Object.getOwnPropertySymbols,_x=Object.prototype.hasOwnProperty,Sx=Object.prototype.propertyIsEnumerable,Gx=(e,t,n)=>t in e?Cx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Qx=(e,t)=>{for(var n in t||(t={}))_x.call(t,n)&&Gx(e,n,t[n]);if(Ax)for(var n of Ax(t))Sx.call(t,n)&&Gx(e,n,t[n]);return e};const Ex=({navStyle:e})=>{const{languageList:t,languageCode:n,handleChangedLanguage:i}=(()=>{const e=(0,El.useSelector)((e=>e.locale)),{allLanguages:t,availableLanguages:n,preferredLanguage:i}=e;return{languageList:(0,z.useMemo)((()=>la(t,n)),[t,n]),languageCode:i,handleChangedLanguage:e=>{window.location.href=nt(window.location.href,"lang",e)}}})(),{currencyList:o,currencyCode:r,handleChangedCurrency:a}=(()=>{const{availableCurrencies:e,allCurrencies:t,preferredCurrency:n}=(0,El.useSelector)((e=>e.locale)),i=(0,z.useMemo)((()=>ca(t,e)),[t,e]),o=(0,El.useDispatch)();return{currencyList:i,currencyCode:n,handleChangedCurrency:e=>{o(kI(e)),(0,vn.addCookie)("currency",e)}}})(),s=e=>(0,j.debounce)((()=>{"LANG"===e?Gc("Language","hover",(0,es.t)(jn.THEME_CORE.DEFAULT.LANGUAGE)):"CURR"===e&&Gc("Currency","hover",(0,es.t)(jn.THEME_CORE.DEFAULT.CURRENCY))}),1e3),c=e=>n=>{if("LANG"===e){const e=t.length?t.find((e=>e.value===n)).title:"";i(n),Gc("Language","select_content",`(${n})${e}`),(0,Bs.selectContent)({id:"",linkUrl:"",name:n,contentType:"Language"})}else if("CURR"===e){a(n);const e=o.length?o.find((e=>e.value===n)).title:"";Gc("Currency","select_content",`(${n})${e}`),(0,Bs.selectContent)({id:"",linkUrl:"",name:n,contentType:"Currency"})}},{previewPageName:l,isEnableLocaleSelect:u}=ke(),d=((e,t)=>e&&e!==Ee.PAGE_NAME.CATEGORY&&!t)(l,u);return z.createElement(z.Fragment,null,t.length>1?z.createElement("li",{className:"sub-nav-li"},z.createElement(hx,{className:"nav-submenu-link flex-gap",style:(g=Qx({},e),p={pointerEvents:d?"none":"auto"},vx(g,Bx(p))),onMouseEnter:s("LANG")},z.createElement("i",{className:"ico ico-earth nav-submenu-icon"}),z.createElement(bx,null,sa(n,t)),z.createElement("i",{className:"ico ico-chevron-down"}),z.createElement(Ix,null,z.createElement(yx,null,(0,es.t)(jn.THEME_CORE.DEFAULT.LANGUAGE)),z.createElement(xv,{currentItem:n,itemList:t,onAfterChanged:c("LANG")})))):null,o.length>1&&z.createElement("li",{className:"sub-nav-li"},z.createElement(hx,{className:"nav-submenu-link flex-gap",style:e,onMouseEnter:s("CURR")},z.createElement("i",{className:"ico ico-exchange-dollar nav-submenu-icon"}),z.createElement(bx,null,r),z.createElement("i",{className:"ico ico-chevron-down"}),z.createElement(Ix,null,z.createElement(yx,null,(0,es.t)(jn.THEME_CORE.DEFAULT.CURRENCY)),z.createElement(xv,{currentItem:r,itemList:o,onAfterChanged:c("CURR")})))));var g,p},{generalStyle:Fx}=ue.A,wx=q.default.span`
    color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.generalStyle)?void 0:n.moneyColor)||Fx.moneyColor}};
    font-size: 1em;
    line-height: 1.5;
`,Tx=q.default.span`
    color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.tagStyle)?void 0:n.generalTagTextColor)||ue.A.tagStyle.generalTagTextColor}};
    background-color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.tagStyle)?void 0:n.generalTagBgColor)||ue.A.tagStyle.generalTagBgColor}};
    font-size: 12px;
    line-height: 1.5;
    display: inline-block;
    align-self: flex-start;
    padding: 2px 4px;
`,xx=q.default.ul`
    border-bottom: 1px solid ${J.whiteThree};
`,kx=q.default.li`
    background-color: #f2f4f7;
    padding: 12px;
`,Nx=(0,q.default)(i_)`
    width: 100%;
`,Ox=q.default.div`
    display: flex;
    flex-direction: column;
    position: relative;
    flex: 4;
`;class Zx extends z.Component{constructor(e){super(e),this.shoppingCartPageUrl=`//${this.props.shopDomain}/V2/ShoppingCart/Index?shopId=${this.props.shopId}`,this.onCheckOut=()=>{Gc("全站_Header","購物車","Menu_結帳");const e=this.props.locationId?this.shoppingCartPageUrl+"&locationId="+this.props.locationId:this.shoppingCartPageUrl;window.location.href=e},this.onDeleteShoppingCartItem=e=>{return t=this,n=function*(){var t,n;e.preventDefault();const{removeShoppingCartItem:i}=this.props;Gc("全站_Header","移除商品",e.currentTarget.getAttribute("data-sale-page-id"));const o=parseInt(e.currentTarget.getAttribute("data-point-pay-id"),10),r=o||0,a=o?"PointsPay":"",s=parseInt(e.currentTarget.getAttribute("data-sale-page-id"),10),c=parseInt(e.currentTarget.getAttribute("data-sale-page-seq"),10),l=parseInt(e.currentTarget.getAttribute("data-sku-id"),10),u=parseInt(e.currentTarget.getAttribute("data-shopping-cart-id"),10),d=parseInt(e.currentTarget.getAttribute("data-cart-extend-info-item-group"),10),g=e.currentTarget.getAttribute("data-sale-page-name"),p=parseInt(e.currentTarget.getAttribute("data-sale-page-price"),10);let m;try{if(s&&Bc()){const e=ke(),i=mn(e),o=yield Fp({streamInjection:i,payload:{salePageIds:[s]}});m=null==(n=null==(t=null==o?void 0:o.productList)?void 0:t[0])?void 0:n.suggestPrice}else m=null}catch(f){m=null}i({id:s,salePageSeq:c,skuId:l,name:g,price:p,suggestPrice:m,optionalTypeId:r,optionalTypeDef:a,shoppingCartId:u,cartExtendInfoItemGroup:Number.isInteger(d)?d:null})},new Promise(((i,o)=>{var r=t=>{try{s(n.next(t))}catch(e){o(e)}},a=t=>{try{s(n.throw(t))}catch(e){o(e)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(t,null)).next())}));var t,n},this.onClickShoppingCartItem=()=>{Gc("全站_Header","購物車","Menu_點擊商品")},this.pointsPayPairElem=e=>{const{price:t,pointsPayPair:{pairsPoints:n,pairsPrice:i}}=e;return n?n&&!i?z.createElement(wx,null,z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.POINTS,point:(0,ym.formatNumber)(n)})):n&&i?z.createElement(wx,null,z.createElement("span",null,z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.POINTS,point:(0,ym.formatNumber)(n)})),"＋",z.createElement("span",null,z.createElement(Gm,{value:i}))):void 0:z.createElement(wx,null,z.createElement(Gm,{value:t}))},this.handleShoppingCartMenuClick=()=>{Gc("全站_Header","購物車","Click"),(0,Bs.selectContent)({contentType:"TabBar",linkUrl:this.shoppingCartPageUrl,id:null,name:"ShoppingCart"})},this.handleShoppingCartPreview=()=>{const{fetchShoppingCartPreviewList:e}=this.props,{isFetchedShoppingCartPreviewList:t}=this.state;t||(e(),this.setState({isFetchedShoppingCartPreviewList:!0}))},this.state={isFetchedShoppingCartPreviewList:!1}}render(){const e=this.props.locationId?this.shoppingCartPageUrl+"&locationId="+this.props.locationId:this.shoppingCartPageUrl,{shoppingCartPreviewList:t,shoppingCartCount:n,navStyle:i,badgeStyle:o}=this.props;return z.createElement("li",{className:"sub-nav-li nav-shopping-cart"},z.createElement("a",{className:"nav-submenu-link",href:e,onClick:this.handleShoppingCartMenuClick,onMouseEnter:this.handleShoppingCartPreview,"data-qe-id":"header-shopping-cart-icon"},z.createElement("i",{className:"ico ico-shopping nav-submenu-icon",style:i}),z.createElement("span",{className:"shopping-cart-badge",style:o},n)),z.createElement("div",{className:"nav-shopping-cart-menu"},z.createElement("div",{className:t?"":"loading-background"},t&&t.length>0?z.createElement("div",{className:"has-shopping-cart-item"},z.createElement("div",{className:"has-item-text"},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.NEW_ADD_ITEM})),z.createElement("ul",{className:"nav-shopping-cart-ul"},t.map(((e,t)=>(null==e?void 0:e.title)&&z.createElement("li",{key:t},z.createElement("div",{className:`nav-shopping-cart-li ${e.extraPurchaseItems&&e.extraPurchaseItems.length>0&&"no-border"}`,onClick:this.onClickShoppingCartItem},z.createElement("a",{className:"nav-shopping-cart-link",href:e.link},z.createElement("figure",{className:"image-frame nav-shopping-cart-image"},z.createElement("img",{loading:"lazy",className:"image-body",src:e.mediaUrlList&&e.mediaUrlList[0],alt:e.title})),z.createElement("div",{className:"nav-shopping-cart-detail"},z.createElement("div",{className:"nav-shopping-cart-title"},e.title),this.pointsPayPairElem(e))),z.createElement("a",{className:"remove-product-link",onClick:this.onDeleteShoppingCartItem,"data-sale-page-id":e.salePageId,"data-sale-page-seq":e.salePageSeq,"data-sale-page-name":e.title,"data-sale-page-price":e.price,"data-suggest-price":e.suggestPrice,"data-sku-id":e.saleProductSKUId,"data-shopping-cart-id":e.shoppingCartId,"data-cart-extend-info-item-group":e.relatedItemGroup,"data-point-pay-id":e.pointsPayPair&&e.pointsPayPair.pointsPayId},z.createElement("i",{className:"ico ico-delete"}))),e.extraPurchaseItems&&z.createElement(xx,{className:"extra-purchase-item-block"},e.extraPurchaseItems.map((e=>z.createElement(kx,{key:`extraPurchaseItems_${e.salePageId}_${e.saleProductSKUId}`,className:"extra-purchase-item",onClick:this.onClickShoppingCartItem},z.createElement("a",{className:"nav-shopping-cart-link",href:e.link},z.createElement("figure",{className:"image-frame nav-shopping-cart-image"},z.createElement("img",{loading:"lazy",className:"image-body",src:e.mediaUrlList&&e.mediaUrlList[0],alt:e.title})),z.createElement(Ox,null,z.createElement("div",{className:"nav-shopping-cart-title"},e.title),z.createElement(Tx,null,z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.PURCHASE_EXTRA})),this.pointsPayPairElem(e))))))))))),z.createElement("div",{className:"nav-shopping-cart-summary"},z.createElement(Nx,{onClick:this.onCheckOut,"data-qe-id":"header-shopping-cart-checkout-btn"},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.CHECKOUT})))):z.createElement("div",{className:"no-item-content"},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.SHOPPING_CART_EMPTY})))))}}Zx.defaultProps={shopId:0,shoppingCartPreviewList:[]};const{mapStateToProps:Ux,mapDispatchToProps:Rx}=Ca([v,B]),Xx=(0,El.connect)(Ux,Rx)(Zx),Wx=({tagCategory:e})=>({smartTag:(null==e?void 0:e.smartTag)||{}}),Vx=e=>({fetchSmartTagSettingFulfilled(t){e(Kb(t))}});class Px extends z.Component{constructor(e){super(e),this.matchKeywordList=[],this.onFocus=()=>{this.setState({isFocus:!0}),this.searchKeyword||this.onGetRecentHistoryKeywordHandle()},this.onBlur=()=>{window.setTimeout((()=>{this.setState({isFocus:!1})}),500)},this.getTrackingSearchType=e=>{switch(e){case li.SkuOuterId:return ui.SkuOuterIdSearch;case li.SkuOuterIdHistory:return ui.SkuOuterIdSearchLog;case li.History:return ui.SerachLog;case li.Key:return ui.AutoComplete;case li.HotKeyword:return ui.TopSearches;default:return ui.Search}},this.getTackingContentType=e=>{switch(e){case li.History:return di.HistorySearchTerm;case li.HotKeyword:return di.SuggestSearchTerm;case li.SkuOuterId:return di.SKUSearchTerm;case li.SkuOuterIdHistory:return di.SKUHistorySearchTerm;default:return""}},this.sanitizeInput=e=>{let t=e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"");return t=t.replace(/</g,"&lt;").replace(/>/g,"&gt;"),t},this.onSearch=(e,t)=>{let n=e||this.searchKeyword;const{shopDomain:i,shopId:o}=this.props,{isDefaultPreciseSearch:r,isEnabledSkuOuterIdSearch:a,isEnabledSearchRecommendation:s,searchRecommendationName:c}=this.state;if(this.checkNonEmptyString(n)){n=this.sanitizeInput(n),Qc({adobeContentInfo:{eventInfo:{searchTerm:this.searchKeyword||n,searchSuggestionName:n,searchType:this.getTrackingSearchType(t)},eventMessage:"searchSuggestionClick"},contentType:this.getTackingContentType(t),id:"",linkUrl:"",name:n});const e=encodeURIComponent(r?`"${n}"`:n);if(a&&(null==t?void 0:t.includes(li.SkuOuterId)))return this.onSaveKeyword(n,li.SkuOuterIdHistory),void(window.location.href=`//${i}/v2/Search?q=${e}&shopId=${o}&searchType=${li.SkuOuterId}`);if(this.props.locationId)return void(window.location.href=`//${i}/v2/Search?q=${e}&shopId=${o}&locationId=${this.props.locationId}`);window.location.href=`//${i}/v2/Search?q=${e}&shopId=${o}`,this.onSaveKeyword(n,li.History)}else if(s&&""!==c){const e=encodeURIComponent(c);return this.onSaveKeyword(c,li.HotKeyword),void(window.location.href=`//${i}/v2/Search?q=${e}&shopId=${o}`)}},this.onSaveKeyword=(e,t=li.History)=>{if(this.historyKeywordList=window.localStorage.SearchHistoryKeyWord?JSON.parse(window.localStorage.SearchHistoryKeyWord):[],this.historyKeywordList&&this.historyKeywordList.length>0){let n=-1;for(let i=0,o=this.historyKeywordList.length;i<o;i++)this.historyKeywordList[i].text===e&&this.historyKeywordList[i].type===t&&(n=i);-1!==n&&this.historyKeywordList.splice(n,1)}this.historyKeywordList.unshift({type:t,text:e,selected:!1}),this.historyKeywordList.length>this.maxHistoryKeyWordLength&&this.historyKeywordList.pop(),window.localStorage.SearchHistoryKeyWord=JSON.stringify(this.historyKeywordList)},this.isOverMatchKeywordListLength=()=>this.matchKeywordList&&this.matchKeywordList.length>=this.maxMatchKeywordLength,this.onSpliceOverMatchKeywordListLength=()=>{this.matchKeywordList.splice(this.maxMatchKeywordLength-1,this.matchKeywordList.length-this.maxMatchKeywordLength)},this.onChangeKeyword=e=>{const{skuOuterIdRegex:t,isEnabledSkuOuterIdSearch:n}=this.state;this.searchKeyword=e.currentTarget.value,this.searchKeyword?(this.timeDisposer&&clearTimeout(this.timeDisposer),this.timeDisposer=setTimeout((()=>{this.matchKeywordList=[],n&&t.test(this.searchKeyword)&&this.matchKeywordList.push({text:this.searchKeyword,type:li.SkuOuterId,selected:!1}),this.onGetMatchHistoryKeywordHandle(),this.isOverMatchKeywordListLength()||this.onGetHotKeywordHandle()}),800)):this.onGetRecentHistoryKeywordHandle()},this.onGetRecentHistoryKeywordHandle=()=>{if(this.historyKeywordList=window.localStorage.SearchHistoryKeyWord?JSON.parse(window.localStorage.SearchHistoryKeyWord):[],this.historyKeywordList&&this.historyKeywordList.length>0){const e=this.historyKeywordList.length<this.maxRecentHistoryLength?this.historyKeywordList.length:this.maxRecentHistoryLength;this.matchKeywordList=this.historyKeywordList.slice(0,e),this.setState({matchKeywordList:this.matchKeywordList,currentIndex:-1})}},this.onGetMatchHistoryKeywordHandle=()=>{if(this.historyKeywordList=window.localStorage.SearchHistoryKeyWord?JSON.parse(window.localStorage.SearchHistoryKeyWord):[],this.historyKeywordList&&this.historyKeywordList.length>0){for(let e=0,t=this.historyKeywordList.length;e<t;e++)this.historyKeywordList[e].text.includes(this.searchKeyword)&&this.matchKeywordList.push(this.historyKeywordList[e]);this.isOverMatchKeywordListLength()&&this.onSpliceOverMatchKeywordListLength(),this.setState({matchKeywordList:this.matchKeywordList,currentIndex:-1})}},this.onGetHotKeywordHandle=()=>{this.props.fetchSearchList&&this.props.fetchSearchList(this.searchKeyword)},this.onMatchKeywordHandle=e=>{e&&(e.forEach((e=>{let t=!1;this.matchKeywordList.forEach((n=>{n.text===e&&(t=!0,n.type=li.HotKeyword)})),t||(this.matchKeywordList=this.matchKeywordList||[],this.matchKeywordList.push({text:e,type:li.HotKeyword,selected:!1}))})),this.isOverMatchKeywordListLength()&&this.onSpliceOverMatchKeywordListLength(),this.setState({matchKeywordList:this.matchKeywordList,currentIndex:-1}))},this.onSelectAutoCompleteItem=e=>{if(e.stopPropagation(),e.bubbles=!1,"Enter"===e.key&&(e.preventDefault(),this.onSearch()),this.matchKeywordList&&0!==this.matchKeywordList.length)switch(e.key){case"ArrowUp":this.onChangeCurrentIndex(!0,-1);break;case"ArrowDown":this.onChangeCurrentIndex(!1,1)}},this.onChangeCurrentIndex=(e,t)=>{if(this.matchKeywordList&&this.matchKeywordList.length>0){let n=this.state.currentIndex;n<0||n===this.matchKeywordList.length-1&&!e?n=0:e&&0===n?n=this.matchKeywordList.length-1:n+=t,this.setState({currentIndex:n}),this.searchInputRef&&(this.searchTerm=this.searchInputRef.value,this.searchInputRef.value=this.matchKeywordList[n].text,this.searchKeyword=this.matchKeywordList[n].text)}},this.checkIsUsePreciseComparison=e=>e.length>2&&'"'===e.charAt(0)&&'"'===e.charAt(e.length-1),this.getPlaceholder=()=>{const{isEnabledSkuOuterIdSearch:e,skuOuterIdName:t,isEnabledSearchRecommendation:n,searchRecommendationName:i,isFetchingSkuOuterIdSearchSetting:o}=this.state;return o?"":n&&""!==i?i:e?(0,es.t)(jn.THEME_CORE.HEADER.BARCODE_SEARCH_PLACEHOLDER,{skuOuterIdName:t}):(0,es.t)(jn.THEME_CORE.HEADER.INPUT_KEY_WORD)},this.state={skuOuterIdRegex:/^[a-zA-Z0-9-]{4,}$/,isFocus:!1,currentIndex:-1,matchKeywordList:[],isDefaultPreciseSearch:this.props.smartTag.isDefaultPreciseSearch||!1,isEnabledSkuOuterIdSearch:!1,skuOuterIdName:gi,isEnabledSearchRecommendation:!1,searchRecommendationName:"",isFetchingSkuOuterIdSearchSetting:!0},this.maxHistoryKeyWordLength=15,this.maxMatchKeywordLength=10,this.maxRecentHistoryLength=3}checkNonEmptyString(e){return"string"==typeof e&&/^\s*\S+.*/.test(e)}render(){const{isFocus:e,matchKeywordList:t,currentIndex:n,skuOuterIdName:i,isEnabledSkuOuterIdSearch:o}=this.state,{customerConfig:r}=this.props;return z.createElement("form",{className:"ns-search-form"},z.createElement("div",{className:"search-wrapper"},!Se()&&z.createElement(z.Fragment,null,z.createElement("input",{ref:e=>{this.searchInputRef=e},className:nu()("ns-search-input",(null==r?void 0:r.radius)&&`ns-search-input__${null==r?void 0:r.radius}`,(null==r?void 0:r.height)&&`ns-search-input__${null==r?void 0:r.height}`,(null==r?void 0:r.backgroundColor)&&`ns-search-input__${null==r?void 0:r.backgroundColor}`),type:"search",placeholder:this.getPlaceholder(),name:"q",id:"ns-search-input",autoComplete:"off",onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onSelectAutoCompleteItem,onChange:this.onChangeKeyword,"data-qe-id":"header-search-input"}),z.createElement("a",{className:"searchkeyword ns-search-btn",onClick:()=>{this.onSearch()},"data-qe-id":"header-search-icon"},z.createElement("i",{className:"ico ico-search"}),z.createElement("span",{className:"search-btn-text"},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.SEARCH})))),e&&z.createElement("ul",{className:"ns-search-ul"},null==t?void 0:t.map(((e,t)=>{var r,a;return z.createElement("li",{className:nu()("ns-search-li",n===t?"selected":""),key:t},z.createElement("a",{className:"ns-search-link",onClick:()=>{this.onSearch(e.text,e.type)}},z.createElement("i",{className:nu()("ico",(null==(r=e.type)?void 0:r.includes(li.History))?"ico-history":"ico-search")}),z.createElement("div",{className:"ns-search-keyword-block"},z.createElement("span",{className:"ns-search-keyword"},e.text),o&&(null==(a=e.type)?void 0:a.includes(li.SkuOuterId))&&z.createElement("span",{className:"ns-search-sku-outerid"},(0,es.t)(jn.THEME_CORE.HEADER.SEARCH_BARCODE,{skuOuterIdName:i})))))})))))}componentDidMount(){return e=this,n=function*(){var e;const{shopId:t,isEditMode:n,smartTag:i}=this.props;try{let o=new URLSearchParams(window.location.search).get("q");if(o&&(o=this.checkIsUsePreciseComparison(o)?o.slice(1,-1):o,this.searchInputRef.value=o,this.searchKeyword=o),!n&&(null==(e=Object.keys(i))?void 0:e.length)<1){const e=yield Nd(t);this.props.fetchSmartTagSettingFulfilled(e)}const r=ke(),a=mn(r),{isEnabledSkuOuterIdSearch:s,isEnabledSearchRecommendation:c,searchRecommendationName:l,skuOuterIdName:u}=yield((e,t=0)=>{return i=function*(){try{const{shopId:n,locale:i,apiConfig:o}=e,{ftsHostTemp:r}=o,a=`${r}/salepage-listing/api/search/config/${n}?lang=${i}&locationId=${t}`,{code:s,message:c,data:l}=yield Zn(a);if("Success"!==s)throw new Error(`Unexpected code: ${s}, message: ${c}`);if(!l||null===l)throw new Error("Api Response No Data");return(e=>{var t,n,i,o;const r=null!=(n=null==(t=e.skuOuterIdSearch)?void 0:t.isEnabled)&&n,a=null!=(o=null==(i=e.searchRecommendation)?void 0:i.isEnabled)&&o,s=a&&e.searchRecommendation.fieldDefinitionList.length>0?e.searchRecommendation.fieldDefinitionList[Math.floor(Math.random()*e.searchRecommendation.fieldDefinitionList.length)]:null;return{isEnabledSkuOuterIdSearch:r,skuOuterIdName:e.skuOuterIdSearch.fieldDefinition,isEnabledSearchRecommendation:a,searchRecommendationName:null!=s?s:""}})(l)}catch(n){const{shopId:i}=e;throw ze.error(`[ERROR] fetchSkuOuterIdSearchSetting error: ${Je(n)}, shopId: ${i}`),n}},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i})(a);this.setState({isEnabledSkuOuterIdSearch:s,skuOuterIdName:u,isEnabledSearchRecommendation:c,searchRecommendationName:l,isFetchingSkuOuterIdSearchSetting:!1})}catch(o){this.setState({isFetchingSkuOuterIdSearchSetting:!1})}},new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,null)).next())}));var e,n}UNSAFE_componentWillReceiveProps(e){const{searchList:t,smartTag:n}=this.props;t!==e.searchList&&e.searchList&&this.onMatchKeywordHandle(e.searchList),n.isDefaultPreciseSearch!==e.smartTag.isDefaultPreciseSearch&&this.setState({isDefaultPreciseSearch:e.smartTag.isDefaultPreciseSearch})}}Px.defaultProps={shopDomain:"",searchList:[],navStyle:{},smartTag:{}};const Dx={TagCategoryMapping:_,UserMapping:B},Hx=(0,El.connect)((e=>ba(Dx,e)),(e=>ya(Dx,e)))(Px);var Lx=Object.defineProperty,Yx=Object.defineProperties,Mx=Object.getOwnPropertyDescriptors,Jx=Object.getOwnPropertySymbols,jx=Object.prototype.hasOwnProperty,zx=Object.prototype.propertyIsEnumerable,Kx=(e,t,n)=>t in e?Lx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qx=(e,t)=>{for(var n in t||(t={}))jx.call(t,n)&&Kx(e,n,t[n]);if(Jx)for(var n of Jx(t))zx.call(t,n)&&Kx(e,n,t[n]);return e};const $x=q.default.ul`
    ${({layerLevel:e})=>e<=2?`\n                width: 250px;\n                height: 576px;\n                overflow-y: overlay;\n                overflow-x: hidden;\n                    &:nth-child(2) {\n                        border-left: 1px solid ${J.grey};\n                        border-right: 0;\n                    }\n                    &::-webkit-scrollbar {\n                        width: 5px;\n                    }\n                    &::-webkit-scrollbar-track {\n                        // 保留，未來想調整可再加入設定值\n                    }\n                    &::-webkit-scrollbar-thumb {\n                        border-radius: 10px;\n                        background: #888;\n                    }\n                    &::-webkit-scrollbar-thumb:hover {\n                        background: #555;\n                    }\n                `:"\n                width: 200px;\n                display: inline-block;\n                margin-right: 20px;\n                overflow-y: auto;\n                overflow-x: hidden;\n                vertical-align: top;\n\n                &::-webkit-scrollbar {\n                    width: 5px;\n                }\n                &::-webkit-scrollbar-track {\n                    // 保留，未來想調整可再加入設定值\n                }\n                &::-webkit-scrollbar-thumb {\n                    border-radius: 10px;\n                    background: #888;\n                }\n                &::-webkit-scrollbar-thumb:hover {\n                    background: #555;\n                }\n                "}
`,ek=q.default.li`
    ${({layerLevel:e,hasChild:t,isActive:n})=>e<=2?`\n                    height: 35px;\n                    padding: 7.5px 10px 7.5px 20px;\n                    display: flex;\n                    align-items: center;\n                    justify-content: space-between;\n                    box-sizing: border-box;\n                    background-color: ${n?J.veryLightMango:J.white};\n                    font-weight: ${n?"bold":"normal"};\n                    &:hover {\n                        color: ${J.blackThree};\n                        font-weight: bold;\n                        background-color: ${J.veryLightMango};\n                        text-decoration: none;\n                        cursor: ${t?"unset":"pointer"};\n                    }\n                `:`\n                    display: flex;\n                    align-items: center;\n                    justify-content: space-between;\n                    box-sizing: border-box;\n                    margin: 16px 0;\n                    cursor: pointer;\n                    color: ${J.blackThree};\n                    &:hover {\n                        font-weight: bold;\n                        text-decoration: underline;\n                    }\n                `}
`,tk=q.default.a`
    font-size: 14px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    color: inherit;
    font-weight: unset;
`,nk=q.default.div`
    width: 1180px;
    height: 616px;
    overflow-y: auto;
    overflow-x: hidden;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    border: 0;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.1));
    background-color: ${J.white};
    display: ${({isShowMenu:e})=>e?"flex":"none"};
    z-index: ${ye.headerZindex.navMenu};
    padding: 20px 0;
    box-sizing: border-box;
    color: ${J.blackThree};
`,ik=q.default.div`
    font-weight: ${({weight:e})=>""!==e?e:"normal"};
    display: inline-block;
    color: ${J.blackThree};
`,ok=q.default.div`
    line-height: ${({layerLevel:e})=>e<=2?"40px":"20px"};
    text-overflow: ellipsis;
    white-space: pre;
    overflow: hidden;
    height: ${({layerLevel:e})=>e<=2?"35px":"auto"};
    margin-right: 10px;
    word-break: keep-all;
    font-size: 13px;
    font-weight: unset;
    &:hover {
        font-weight: bold;
    }
`,rk=q.default.div`
    position: absolute;
    top: 0px;
    right: 20px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    line-height: normal;
    color: ${J.blackThree};
    border-radius: 50px;
    height: 32px;
    width: 76px;
`,ak=q.default.div`
    width: 220px;
`,sk=q.default.div`
    max-width: 90%;
    font-weight: 500;
    font-size: 16px;
    line-height: 180%;
    display: inline-flex;
    justify-content: start;
    align-items: center;
`,ck=q.default.a`
    overflow: hidden;
    word-break: keep-all;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-right: 8px;
    color: ${J.blackTwo};
    font-weight: bold;
    &:hover {
        text-decoration: none;
    }
`,lk=q.default.div`
    width: ${({level3ColumCount:e})=>2===e?"440px":"660px"};
    padding-left: 20px;
    position: relative;
    border-left: 1px solid ${J.grey};
    box-sizing: border-box;
    line-height: 0px;
`,uk=q.default.div`
    display: flex;
`,dk=q.default.a`
    color: ${({sliderColor:e})=>e};
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    font-size: 20px;
    justify-content: center;
`,gk=q.default.p`
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: ${J.blackThree};
`,pk=q.default.div`
    width: 240px;
    padding-left: 24px;
    line-height: 0px;
    position: absolute;
    right: 0px;
    height: 576px;
    border-left: 1px solid ${J.grey};
    box-sizing: border-box;
`,mk=q.default.div`
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -6px -6px;
    line-height: initial;
    max-height: 546px;
    overflow-y: scroll;
    overflow-x: hidden;
    &::-webkit-scrollbar {
        width: 5px;
    }
    &::-webkit-scrollbar-thumb {
        border-radius: 10px;
        background: #888;
    }
    &::-webkit-scrollbar-thumb:hover {
        background: #555;
    }
`,fk=q.default.a`
    width: 55px;
    height: 55px;
    margin: 6px;
    display: block;
`,Ik=q.default.img`
    border-radius: 4px;
    width: 100%;
`,hk=(e,t)=>{const n=[];if(void 0!==t){const i=(0,j.chunk)(t,e);n.push(...i)}return n},bk=({checkLength:e,refFunction:t,sliderSettingProps:n,children:i})=>e>5?z.createElement(Lg.A,qx({ref:t},n),i):z.createElement(uk,null,z.createElement(z.Fragment,null,i)),{mapStateToProps:yk,mapDispatchToProps:Ck}=Ca([I,C]),vk=(0,El.connect)(yk,Ck)((({shopDomain:e,fetchMultiShopCategoryList:t,multiShopCategoryList:n,navStyle:i,customerConfig:o})=>{var r,a,s;const[c,l]=(0,z.useState)(!1),[u,d]=(0,z.useState)([]),[g,p]=(0,z.useState)(""),[m,f]=(0,z.useState)(),[I,h]=(0,z.useState)(1),[b,y]=(0,z.useState)(0),[C,v]=(0,z.useState)([]),[B,A]=(0,z.useState)(3),_=(0,z.useRef)(-1),S=(0,z.useRef)(null),[G,Q]=(0,z.useState)(new Map),E={arrows:!1,dots:!1,infinite:!1,slidesToShow:B,slidesToScroll:B,speed:800,className:"multi-shop-category-slider-package",afterChange:e=>{const t=Math.ceil(e/B);h(t+1)}},F=e=>{"next"===e?m.slickGoTo(I*B):"prev"===e&&m.slickGoTo((I-2)*B)},w=e=>{const t=e.Level;let n=u,i=C;if(n=n.slice(0,t),d(n),1===t){i=[],i[0]=e.Id,v(i);const t=e.ChildList.length>0?e.ChildList:[(o=qx({},e),r={Name:`${(0,es.t)(jn.THEME_CORE.HEADER_SLIDER.GO_TO_TARGET_TEXT,{targetText:e.Name})}`,Level:2},Yx(o,Mx(r)))];if(n.push(t),d(n),e.ChildList.length>0){const t=e.ChildList[0];if(t.ChildList.length>0){const e=hk(15,t.ChildList);n.push(...e),d(n),p(t.Name),i[1]=t.Id,v(i)}else d(n),p(""),i[1]="",v(i)}}else if(2===t)if(e.ChildList.length>0){const t=hk(15,e.ChildList);n.push(...t),d(n),p(e.Name),i[1]=e.Id,v(i)}else d(n),p(""),i[1]="",v(i);var o,r},T=()=>{let e=u;if(null==e?void 0:e.length){e=e.slice(0,1);const t=e[0].filter((e=>!e.IsSystemCategory));t&&t.length>0&&w(t[0])}},x=t=>{const n=t.Id;return(0,Ee.getPageUrl)(e,Ee.PAGE_TYPE.CATEGORY,{id:n})},k=t=>{const n=t.Id,i=t.Level,o=(0,Ee.getPageUrl)(e,Ee.PAGE_TYPE.CATEGORY,{id:n});(0,Bs.selectContent)({id:n.toString(),name:t.Name,contentType:`CategoryLevel${i}`,linkUrl:o})};(0,z.useEffect)((()=>{if(h(1),u&&u.length>2){const e=(u.length-2)%B==0?Math.floor((u.length-2)/B):Math.floor((u.length-2)/B)+1;y(e)}else y(0)}),[m,u,B]),(0,z.useEffect)((()=>{const e=(null==n?void 0:n.List)||[];d([e])}),[n]);const N=(0,El.useSelector)((e=>e.user.retailStoreExpressLocationId));(0,z.useEffect)((()=>{T(),t({locationId:N})}),[N]);const{imageServiceConfig:O}=ke(),Z=ot(O,Ko),U=(0,z.useCallback)((e=>{return n=function*(){const t={categoryId:e},n=ke(),i=mn(n),{shopId:o}=i;try{const n=yield(e=>{return n=[e],i=function*({streamInjection:e,payload:{categoryId:t}}){const{shopId:n}=e;try{const i=pt(`LayoutTemplateData/GetLayoutTemplateData?adCode=MobileHome_SpCatRecommendedBrand_ShopCategory_${t}&shopId=${n}`,e,!0);return((e=[])=>e.map((({Title:e,Link:t,PicturePath:{FullUrl:n=""}={FullUrl:""}})=>({alt:e,imgSrc:n,link:t}))))(yield Zn(i))}catch(i){return ze.error(`[ERROR] fetchRecommendedBrandList failed: ${je(i)}: ${Je(i)}: shopId: ${n}, categoryId: ${t}`),Promise.reject(i)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:i,payload:t});Q(new Map(G.set(e,n)))}catch(r){ze.error(`[ERROR] fetchRecommendedBrand failed: ${je(r)}: ${Je(r)}, ShopId: ${o}, categoryId: ${e}`)}},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n}),[G]);(0,z.useEffect)((()=>{!(0,j.isNil)(C[0])&&_e()&&_.current!==C[0]&&(_.current=C[0],G.get(C[0])||(S.current&&clearTimeout(S.current),S.current=setTimeout((()=>{U(C[0])}),500)))}),[C,U]);const R=(0,z.useMemo)((()=>G.get(C[0])),[C,G]);(0,z.useEffect)((()=>{R&&(R.length?A(2):A(3))}),[R]);const X=null==(a=null==(r=null==o?void 0:o.icon)?void 0:r.display)||a;return z.createElement("li",{className:"nav-menu-li header-category-menu-li shop-category-multi-level-menu-li",onMouseEnter:()=>{l(!0),T()},onMouseLeave:()=>{l(!1),T()}},z.createElement("a",{className:"nav-menu-link"},z.createElement(ik,{style:i,weight:`${(null==(s=null==o?void 0:o.font)?void 0:s.weight)||""}`},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.CATEGORY})),X&&z.createElement("i",{style:i,className:c?"ico ico-close":"ico ico-chevron-down"})),c&&z.createElement(nk,{isShowMenu:c},u.map(((e,t)=>{const n=t+1;return n<=2&&z.createElement($x,{key:n,layerLevel:n},e.map((e=>z.createElement(ek,{isActive:C.indexOf(e.Id)===t,hasChild:e.ChildList.length>0,layerLevel:n,onMouseEnter:()=>w(e),onClick:()=>{k(e)},key:e.Id},z.createElement(tk,{href:x(e)},z.createElement(ok,{layerLevel:n},e.Name),n<=2&&e.ChildList.length>0&&z.createElement("i",{className:"ico ico-chevron-right"}))))))})),u.length>2&&z.createElement(lk,{level3ColumCount:B},z.createElement(sk,null,z.createElement(ck,null,g)),b>1&&z.createElement(rk,null,z.createElement(dk,{sliderColor:J.blackThree,onClick:()=>{F("prev")}},1!==I&&z.createElement("i",{className:"ico ico-chevron-left"})),z.createElement(gk,null,I,"/",b),z.createElement(dk,{sliderColor:J.blackThree,onClick:()=>{F("next")}},I!==b&&z.createElement("i",{className:"ico ico-chevron-right"}))),u.length>2&&z.createElement(bk,{checkLength:u.length,refFunction:e=>f(e),sliderSettingProps:qx({},E)},u.map(((e,t)=>{const n=t+1;return n>=3&&z.createElement(ak,{key:n},z.createElement($x,{layerLevel:n},e.map((e=>z.createElement(ek,{isActive:C.includes(e.Id),onClick:()=>{k(e)},hasChild:e.ChildList.length>0,layerLevel:n,key:e.Id},z.createElement(tk,{href:x(e)},z.createElement(ok,{layerLevel:n},e.Name)))))))})))),!!(null==R?void 0:R.length)&&z.createElement(pk,null,z.createElement(sk,null,z.createElement(ck,null,z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.RECOMMENDED_BRAND}))),z.createElement(mk,null,R.map(((e,t)=>z.createElement(fk,{key:`brand-${e.alt}-${t}`,href:e.link,onClick:()=>{(e=>{(0,Bs.selectContent)({id:"",name:e.alt,contentType:"RecommendedBrands",linkUrl:e.link})})(e)}},z.createElement(Ik,{src:e.imgSrc,alt:e.alt,onError:e=>{e.currentTarget.src=Z}}))))))))}));var Bk=Object.defineProperty,Ak=Object.defineProperties,_k=Object.getOwnPropertyDescriptors,Sk=Object.getOwnPropertySymbols,Gk=Object.prototype.hasOwnProperty,Qk=Object.prototype.propertyIsEnumerable,Ek=(e,t,n)=>t in e?Bk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const Fk=({isEditMode:e,classNamePrefix:t,hasApp:n,navStyle:i,enableSendAppLinkSMS:o,shopId:r,iosAppId:a,shopDomain:s,refUrl:c,androidPackageName:l,sendAppDownloadLink:u,sendAppResult:d,market:g,badgeStyle:p,searchList:m,activityList:f,categoryMenuSwitch:I,activityMenuSwitch:h,customLinkListMenuSwitch:b,activityMenu:y,customLinkListMenu:C,fetchSearchList:v,currentEditingItemKey:B,customLinkListMenuOpenIndex:A,isDownloadAndroidAPK:_,isEnabledMultiShopCategory:S,shopCategoryList:G,promotionTargetList:Q,customerHeaderConfig:E,isEnableStoreExpressPage:F,isEnableSendAppDownLoadLinkReCaptcha:w})=>{var T,x,k;const{navMenu:N={},searchBox:O={}}=E||{},[Z,U]=(0,z.useState)(!1),[R,X]=(0,z.useState)({}),[W,V]=(0,z.useState)("");return(0,z.useEffect)((()=>{var e;_e()&&V(null==(e=null==window?void 0:window.location)?void 0:e.pathname),X({position:(null==N?void 0:N.position)||{}}),U(!0)}),[E]),z.createElement("nav",{className:`${t}__nav-menu nav-menu ${(null==(T=R.position)?void 0:T.navMenuContainer)||""}`},z.createElement("ul",{className:`${t}__nav-menu-sub nav-menu-ul`},n&&z.createElement("li",{className:"sub-nav-li"},z.createElement("a",{className:"nav-submenu-link"},z.createElement("i",{className:"ico ico-mobile nav-submenu-icon",style:i})),z.createElement("div",{className:"download-app-menu nav-download-app-menu"},o&&z.createElement("div",{className:"download-app-menu-text"},z.createElement(es.HT,{value:jn.THEME_CORE.HEADER.DOWNLOAD_APP_DESCRIBE})),z.createElement(s_,{iosAppId:a,androidPackageName:l,shopId:r,sendAppDownloadLink:u,sendAppResult:d,isEnableSendAppLinkSms:o,refUrl:c,type:"header",market:g,isDownloadAndroidAPK:_,isEnableSendAppDownLoadLinkReCaptcha:w}))),z.createElement("li",{className:"sub-nav-li"},z.createElement("a",{className:"nav-submenu-link","data-qe-id":"header-member-logout-text"},z.createElement("i",{className:"ico ico-user nav-submenu-icon",style:i})),z.createElement(ZQ,{shopId:r,shopDomain:s})),z.createElement(Xx,{shopId:r,shopDomain:s,navStyle:i,badgeStyle:p}),z.createElement(Ex,{navStyle:i})),z.createElement("div",{className:`${t}__nav-menu-main`},Z&&z.createElement("ul",{className:`nav-menu-ul ${(null==(x=R.position)?void 0:x.mainNavMenu)||""}`}," ",S?I.isTurnOn&&z.createElement(vk,{shopDomain:s,navStyle:i,customerConfig:N}):I.isTurnOn&&z.createElement(WE,{title:(0,es.t)(jn.THEME_CORE.HEADER.CATEGORY),dataSource:G,navStyle:i,dataType:Ot.CATEGORY,shopDomain:s,promotionTargetList:Q,customerConfig:N}),!F&&!0===h.isTurnOn&&f&&f.length>0&&z.createElement(WE,{title:(null==y?void 0:y.title)||(0,es.t)(jn.THEME_CORE.HEADER.ACTIVITY),dataSource:f,navStyle:i,dataType:Ot.ACTIVITY,customerConfig:N}),!F&&!0===b.isTurnOn&&C&&C.length>0&&C.filter((({isShowOnDesktop:e=!0})=>e)).map(((e,t)=>{const{itemKey:n,text:o,linkUrl:r="",additionalChildList:a=[]}=e;if(e.childList&&e.childList.length>0){const t=a.reduce(((e,t)=>{return n=((e,t)=>{for(var n in t||(t={}))Gk.call(t,n)&&Ek(e,n,t[n]);if(Sk)for(var n of Sk(t))Qk.call(t,n)&&Ek(e,n,t[n]);return e})({},e),i={[t.parentItemKey]:t.itemList.map((e=>({key:e.itemKey,title:e.text,link:e.linkUrl})))},Ak(n,_k(i));var n,i}),{}),s=e.childList.map((e=>{var n;return{key:e.itemKey,title:e.text||(0,es.t)(jn.THEME_CORE.HEADER.LINK_WORD),link:e.linkUrl||"",hasChildList:!!t[e.itemKey]&&(null==(n=t[e.itemKey])?void 0:n.length)>0}}));return z.createElement(xE,{key:n,title:o,link:r,childList:s,additionalChildListData:t,navStyle:i,currentEditingItemKey:B,isDefaultOpen:B===n||(null==s?void 0:s.some((e=>e.key===B))),dataType:Ot.CUSTOM_LINK,customerConfig:N})}return z.createElement(RQ,{key:`custom-link-${t}`,navStyle:i,linkItem:e,customerConfig:N,dataType:Ot.CUSTOM_LINK})}))),z.createElement("span",{className:`sub-nav-li nav-search-box ${(null==(k=R.position)?void 0:k.subNavMenu)||""}`},z.createElement(Hx,{isEditMode:e,shopId:r,shopDomain:s,searchList:m,fetchSearchList:v,navStyle:i,customerConfig:O}))))};class wk extends z.Component{constructor(e){super(e),this.state={isWaiting:!0}}componentDidMount(){this.timer=window.setTimeout((()=>{this.setState({isWaiting:!1})}),this.props.wait)}componentWillUnmount(){clearTimeout(this.timer)}render(){return this.state.isWaiting?null:this.props.children}}wk.defaultProps={wait:250};const Tk=e=>{const{dependencies:t,onFBDialogClick:n}=e,i=Os(t,"shopProfile.ShopThirdPartyConfigInfo.FacebookConfig.AppId"),o=`https://www.facebook.com/plugins/page.php?href=${Os(t,"shopProfile.ShopThirdPartyConfigInfo.FacebookConfig.FansPageUrl")}&tabs=messages&width=340&height=450&small_header=false&adapt_container_width=true&hide_cover=false&show_facepile=true&appId=${i}`;return z.createElement("div",{className:"fb-messenger-dialog"},z.createElement("div",{className:"fb-messenger-dialog__header",onClick:n},z.createElement("div",{className:"fb-messenger-dialog__icon-messenger"},z.createElement("span",{className:"ico ico-messenger"})),z.createElement("div",{className:"fb-messenger-dialog__title"},z.createElement(es.HT,{value:jn.THEME_CORE.TOOLBOX.FB_SEND_MESSEGE})),z.createElement("div",{className:"fb-messenger-dialog__icon-slim-minus"},z.createElement("span",{className:"ico ico-subtract"}))),z.createElement("iframe",{className:"fb-messenger-dialog__iframe",src:o,scrolling:"no",frameBorder:"0",allowTransparency:!0}))},xk=q.default.div`
    position: relative;
    width: 40px;
    height: 40px;
    z-index: 1;
`,kk=q.default.div`
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
    background-color: ${({backgroundColor:e})=>e||"#ffffff"};
    border-radius: 50%;
    box-shadow: 0.03em 0.05em 0.1em 0 rgba(0, 0, 0, 0.25);
    color: ${({color:e})=>e};

    &::after {
        box-sizing: border-box;
        display: ${({isShowBadge:e})=>e?"block":"none"};
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 10px;
        height: 10px;
        border: 2px solid #ffffff;
        border-radius: 50%;
        background-color: #e33d26;
        box-shadow: 0.03em 0 0.1em 0 rgba(0, 0, 0, 0.25);
    }
`,Nk=q.default.i`
    display: block;
`,Ok=q.default.img`
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
`,Zk=q.default.div`
    position: fixed;
    bottom: ${({position:e})=>e.bottom}px;
    right: ${({position:e})=>e.right}px;
    width: 375px;
    height: 70vh;
    max-width: 375px;
    border: none;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
    background-color: #ffffff;
    overflow: hidden;

    // NOTE: 參考 omnichat 的 z-index 設定
    z-index: ${Y};
`,Uk=q.default.iframe`
    width: 100%;
    height: 100%;
    border: none;
`,Rk=(0,z.forwardRef)((({url:e},t)=>K().createElement(Uk,{ref:t,src:e})));Rk.displayName="ChatRoomIframe";const Xk="Nine1ChatEvent",Wk=(e,t)=>{return i=[e,t],o=function*(e,{arg:t}){try{const{shopId:n,isRead:i,streamInjection:o}=t,r=pt(`${e}?shopId=${n}&isRead=${null!=i&&i}`,o,!1),a=yield Zn(r,{method:en.RequestMethod.GET,withCredentials:!0});return Promise.resolve(a)}catch(n){return Promise.reject(n)}},new Promise(((e,t)=>{var r=e=>{try{s(o.next(e))}catch(n){t(n)}},a=e=>{try{s(o.throw(e))}catch(n){t(n)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((o=o.apply(void 0,i)).next())}));var i,o};var Vk=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const Pk=(e,t)=>{const n=new URL(`${e}/V2/Chat/Index`);return t&&Object.entries(t).forEach((([e,t])=>{n.searchParams.set(e,t)})),n.toString()};function Dk(e){var t,n;const{chatbot:i,imageServiceConfig:o,shopId:r,globalStyleData:a,dependencies:s}=e,c=(0,z.useRef)(null),[l,u]=(0,z.useState)({bottom:0,right:96}),{iframeRef:d,iframeUrl:g,hasUnreadMessage:p,isOpenChatRoom:m,openChatRoom:f}=(({shopId:e,dependencies:t})=>{const n=mn(t),{trigger:i}=(0,Rd.A)("ChatRoom/GetMessageCount",Wk,{populateCache:!0,throwOnError:!0}),o=(0,z.useRef)(null),[r,a]=(0,z.useState)(Pk(window.location.origin)),[s,c]=(0,z.useState)(!1),[l,u]=(0,z.useState)(!1),[d,g]=(0,z.useState)(!1),p=e=>Vk(void 0,null,(function*(){try{if(e){if(!(yield bn())){const e=encodeURIComponent(window.location.href.replace(window.location.hash,""));return void(window.location.href=`//${(null==t?void 0:t.shopDomainName)||""}/Login/HttpLoginRelayToHttps/?rt=${e}&reason=notlogin`)}u(!1),g(!0)}else s?f({type:"closeChat"}):g(!1),c(!1)}catch(n){console.error(n)}})),m=(0,z.useCallback)((e=>{var t;if(e.origin===window.location.origin&&e.source===(null==(t=o.current)?void 0:t.contentWindow))try{const t=e.data;switch(null==t?void 0:t.type){case"disconnected":g(!1),c(!1);break;case"connected":c(!0)}}catch(n){console.error(n)}}),[o]),f=(0,z.useCallback)((e=>{var t;(null==(t=o.current)?void 0:t.contentWindow)&&o.current.contentWindow.postMessage(e,window.location.origin)}),[o]);return(0,z.useEffect)((()=>(window.addEventListener("message",m),()=>{window.removeEventListener("message",m)})),[m]),(0,z.useEffect)((()=>{const e=e=>{if(!e.detail)return;const{type:t,data:n}=e.detail;"openChat"===t&&(n.text&&a(Pk(window.location.origin,{message:n.text})),p((null==n?void 0:n.isOpen)||!1))};return window.addEventListener(Xk,e),()=>{window.removeEventListener(Xk,e)}}),[]),(0,z.useEffect)((()=>{d||Vk(void 0,null,(function*(){try{const{MessageCount:t}=yield i({shopId:e,streamInjection:n});return u(t>0),Promise.resolve()}catch(t){return Promise.reject(t)}})).catch((e=>console.error(e)))}),[d]),{hasUnreadMessage:l,iframeRef:o,iframeUrl:r,isOpenChatRoom:d,openChatRoom:p}})({shopId:r,dependencies:s}),I=(0,q.useTheme)(),h=(null==(t=null==I?void 0:I.buttonStyle)?void 0:t.primaryBtnBgColor)||(null==(n=null==a?void 0:a.buttonStyle)?void 0:n.primaryBtnBgColor)||ue.A.buttonStyle.primaryBtnBgColor;return(0,z.useEffect)((()=>{const e=()=>{const e=c.current.getBoundingClientRect(),t=window.innerHeight-e.bottom,n=window.innerWidth-e.left+20;u({bottom:t,right:n})};return m&&(e(),window.addEventListener("resize",e)),()=>{window.removeEventListener("resize",e)}}),[c,m]),K().createElement(K().Fragment,null,K().createElement(xk,null,K().createElement(kk,{ref:c,color:h,backgroundColor:i?"#ffffff":"transparent",onClick:()=>f(!m),isShowBadge:p},i?K().createElement(Ok,{src:Or(r,o,i.imageUrlMobile)}):K().createElement(Nk,{className:"ico ico-message"}))),m&&(0,Lc.createPortal)(K().createElement(Zk,{position:l},K().createElement(Rk,{ref:d,url:g})),document.body))}const Hk=e=>{var t,n;const{shopCustomerServiceInfo:i,chatbot:o,imageServiceConfig:r,shopId:a,globalStyleData:s}=e,c=(0,z.useRef)(null),l=(0,q.useTheme)(),u=(null==(t=null==l?void 0:l.buttonStyle)?void 0:t.primaryBtnBgColor)||(null==(n=null==s?void 0:s.buttonStyle)?void 0:n.primaryBtnBgColor)||ue.A.buttonStyle.primaryBtnBgColor;return(0,z.useEffect)((()=>{const t={display:"flex","align-items":"center","justify-content":"center",position:"relative",width:"40px",height:"40px",left:"unset",right:"unset",bottom:"unset","font-size":"40px",background:"transparent","border-radius":"unset"};if(!document.querySelector("style#omnichat-style")){const e=document.createElement("style");e.setAttribute("id","omnichat-style"),e.innerHTML=`\n                #easychat-floating-button, #easychat-floating-button-left {\n                ${Object.entries(t).reduce(((e,t)=>{const[n,i]=t;return[...e,`${n}: ${i} !important;`]}),[]).join("\n")}\n                }\n    \n                #easychat-floating-button-container {\n                    position: absolute;\n                    width: 100%;\n                    height: 100%;\n                    display: flex;\n                    align-items: center;\n                    justify-content: center;\n                    z-index: 1;\n                }\n\n                #custom-icon-img {\n                    display: none !important;\n                }\n            `,document.body.appendChild(e)}const n=()=>{(0,Bs.selectContent)({contentType:"FloatButton",name:i.Vendor,linkUrl:i.ExtensionMarketplaceUrl,id:i.Vendor})};let r;if(c.current){document.getElementById("easychat-floating-button")?r=document.getElementById("easychat-floating-button"):document.getElementById("easychat-floating-button-left")?r=document.getElementById("easychat-floating-button-left"):(r=document.createElement("a"),r.setAttribute("id","easychat-floating-button")),r.innerHTML="",Object.entries(t).forEach((([e,t])=>{r.style.setProperty(e,t,"important")})),c.current.appendChild(r);const i=document.createElement("div");if(i.setAttribute("id","easychat-floating-button-container"),r.appendChild(i),r.addEventListener("click",n),r.classList.remove("easychat-float-botton-hide"),r.classList.add("easychat-float-botton-show"),o){const t=document.createElement("img");t.style.width="100%",t.style.height="100%";const n=()=>{const{imageServiceConfig:t,shopId:n}=e;return Or(n,t,o.imageUrlMobile)};t.src=n(),i.appendChild(t),i.style.setProperty("border-radius","0px","important"),i.style.setProperty("background","transparent","important"),r.style.setProperty("box-shadow","none","important"),r.style.setProperty("border-radius","0px","important")}else{const e=document.createElement("i");e.style.fontSize="24px",e.style.setProperty("color",u),e.classList.add("ico","ico-omnichat"),i.appendChild(e),i.style.setProperty("border-radius","50%","important"),i.style.setProperty("background","#fff","important"),r.style.setProperty("box-shadow","0.03em .05em .1em 0 rgba(0, 0, 0, .25)","important"),r.style.setProperty("border-radius","50%","important")}}return()=>{r&&r.removeEventListener("click",n)}}),[o,r,a,u]),z.createElement("div",{ref:c})};var Lk=Object.defineProperty,Yk=Object.getOwnPropertySymbols,Mk=Object.prototype.hasOwnProperty,Jk=Object.prototype.propertyIsEnumerable,jk=(e,t,n)=>t in e?Lk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;class zk extends z.Component{constructor(e){super(e),this.tooltipElem=e=>z.createElement(Wv,{type:"dark",tooltipCustomClass:"toolbox__tooltip",place:"left",isCustomTriggerNode:!0,id:e.itemKey,wording:e.id===eo.CUSTOM&&e.customName?e.customName:(0,es.t)(`theme_core.toolbox.${e.id}`)}),this.toolboxButtonElem=(e,t=14)=>{const{dependencies:{imageServiceConfig:n,shopId:i}}=this.props,o=e.id===eo.FACEBOOK_MESSENGER?this.onFBDialogClick:void 0,r=eo.CUSTOM&&e.customName?e.customName:(0,es.t)(`theme_core.toolbox.${e.id}`);return z.createElement(Uv,{imageServiceConfig:n,shopId:i,size:t,id:e.id,imageUrl:e.imageUrlMobile,href:e.linkUrl,onClick:o,customTitle:e.customName,eventLabel:r})},this.chatbotButtonElem=e=>{const{globalStyleData:t,dependencies:n}=this.props,{imageServiceConfig:i,shopId:o,shopProfile:r}=n,{ShopCustomerServiceInfo:a}=r,s={Omnichat:{component:Hk,props:{shopCustomerServiceInfo:a,chatbot:e,imageServiceConfig:i,shopId:o,globalStyleData:t}},"91APP":{component:Dk,props:{shopCustomerServiceInfo:a,chatbot:e,imageServiceConfig:i,shopId:o,globalStyleData:t,dependencies:n}}}[a.Vendor];if(!s)return null;const{component:c,props:l}=s;return z.createElement(c,((e,t)=>{for(var n in t||(t={}))Mk.call(t,n)&&jk(e,n,t[n]);if(Yk)for(var n of Yk(t))Jk.call(t,n)&&jk(e,n,t[n]);return e})({},l||{}))},this.onFBDialogClick=()=>{this.setState((e=>({isShowFBMessengerDialog:!e.isShowFBMessengerDialog})))},this.state={isShowFBMessengerDialog:!1}}render(){const{itemList:e,dependencies:t,chatbot:n}=this.props,{isShowFBMessengerDialog:i}=this.state,o=e.find((e=>e.isPinned)),r=e.filter((e=>!e.isPinned)),a=t.shopProfile.ShopCustomerServiceInfo;return z.createElement(z.Fragment,null,z.createElement(wk,{wait:1e3},z.createElement("div",{className:"toolbox__container toolbox--bounce-in"},r.map((e=>z.createElement("div",{className:"toolbox__item",key:e.itemKey},z.createElement("div",{"data-for":e.itemKey,"data-tip":"tooltip"},this.toolboxButtonElem(e,40)),this.tooltipElem(e)))),a.ChatBotEnabled&&z.createElement("div",{className:"toolbox__item"},z.createElement("div",{"data-for":(null==n?void 0:n.itemKey)||Va(10),"data-tip":"tooltop"},this.chatbotButtonElem(n))),z.createElement("div",{className:"toolbox__item"},z.createElement(cv,{showAtPosition:0},z.createElement(Uv,{size:40,id:"top"}))),o&&z.createElement(z.Fragment,null,z.createElement("div",{"data-for":o.itemKey,"data-tip":"tooltip"},this.toolboxButtonElem(o,50)),this.tooltipElem(o)))),i&&z.createElement(Tk,{onFBDialogClick:this.onFBDialogClick,dependencies:t}))}}zk.defaultProps={itemList:[]};var Kk=Object.defineProperty,qk=Object.getOwnPropertySymbols,$k=Object.prototype.hasOwnProperty,eN=Object.prototype.propertyIsEnumerable,tN=(e,t,n)=>t in e?Kk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const nN=e=>{class t extends z.Component{componentDidMount(){const{fetchActivityList:e,fetchAuthIsLogin:t,fetchShoppingCartCount:n,fetchFavoriteCount:i,fetchFavoriteList:o,fetchMemberCollectionIdList:r,fetchUserRetailStoreExpress:a}=this.props;e(),t(),n(),i(),o(),r(),a()}render(){return z.createElement(e,((e,t)=>{for(var n in t||(t={}))$k.call(t,n)&&tN(e,n,t[n]);if(qk)for(var n of qk(t))eN.call(t,n)&&tN(e,n,t[n]);return e})({},this.props))}}const{mapStateToProps:n,mapDispatchToProps:i}=Ca([u,m,I,C,B,v,y,p]);return(0,El.connect)(n,i)(t)};Object.defineProperty,Object.getOwnPropertyDescriptor;let iN=class extends z.Component{constructor(e){super(e),this.headerMenuHeight=100,this.headerBottomEleRef=z.createRef(),this.topMsgElemRef=z.createRef(),this.calculatePaddingTop=()=>{if(!this.headerBottomEleRef.current)return;const e=this.checkIsViewOnTop(),t=this.topMsgElemRef.current;let n=0,i=0;this.props.topMessageData.isTurnOn?(n=e?(null==t?void 0:t.clientHeight)+this.headerMenuHeight:null==t?void 0:t.clientHeight,i=e?134:34):(n=e?this.headerMenuHeight:0,i=e?100:0),this.setState({carouselPaddingTop:n||i})},this.fixHeader=()=>{var e;const{headerStyle:t}=this.props;if(window.pageYOffset>this.fixedOffset&&this.$fixHeaderElem){const n=null==t?void 0:t.backgroundColor;this.$fixHeaderElem.style.backgroundColor=this.state.storeExpressPageInfo?null==(e=this.state.storeExpressPageInfo)?void 0:e.headerBackgroundColor:n||"#FFF"}else this.$fixHeaderElem.style.backgroundColor="transparent"},this.resetToastState=()=>{const{toastStatus:e}=this.state;if("logoutSuccess"===e){const{dependencies:{shopDomainName:e}}=this.props;window.location.href=(0,Ee.getPageUrl)(e,Ee.PAGE_TYPE.INDEX)}this.setState({isOpenToast:!1,toastType:"",toastStatus:"",toastMessage:""})},this.checkIsEnableIndexPageFeature=()=>{const{isDisableIndexPageFeature:e,dependencies:t}=this.props,{pageName:n,previewPageName:i}=t;return!e&&(n===Ee.PAGE_NAME.INDEX||i===Ee.PAGE_NAME.INDEX)},this.checkIsRetailStoreExpress=e=>{const{isEnableStoreExpressPage:t}=(null==e?void 0:e.serverRenderData)||{},n=mn(e),{type:i,id:o}=YG();t&&LG(n,{shopId:e.shopId,type:i,id:o}).then((e=>{const{HeaderBackgroundColor:t,IsRetailStoreExpress:n,LogoUrl:i}=(null==e?void 0:e.IsRetailStoreExpress)?e:{HeaderBackgroundColor:"",IsRetailStoreExpress:!1,LogoUrl:""},o={headerBackgroundColor:t,isRetailStoreExpress:n,logoUrl:i};return n||(0,v_.deleteCookie)("locationId"),this.setState({storeExpressPageInfo:n?o:null}),o})).catch((()=>{this.setState({storeExpressPageInfo:null})}))},this.checkIsViewOnTop=()=>{var e;return(null==(e=this.props.headerStyle)?void 0:e.backgroundStyle)===Mi.VIEW_ON_TOP};const{isEditMode:t,unlimitedHeightCarouselItems:n,dependencies:i,moduleId:o,moduleKey:r}=e;this.defaultImageRectangle=t?Jo:zo;const a=It({dataSource:n,defaultImage:this.defaultImageRectangle,dependencies:i,isMobile:!1});this.state={isOpenToast:!1,customCssClass:"",toastType:"",toastStatus:"",toastMessage:"",carouselData:a,carouselPaddingTop:0,storeExpressPageInfo:null,pathnameUrl:""}}componentDidMount(){var e,t;const{headerStyle:n,dependencies:i}=this.props;this.$fixHeaderElem=document.getElementsByClassName("headerA__wrapper")[0];const o=this.checkIsViewOnTop(),r=Po();if(this.checkIsRetailStoreExpress(i),this.setState({customerHeaderConfig:r}),!o){const n=(null==(e=this.$fixHeaderElem)?void 0:e.clientHeight)||0,i=(null==(t=this.$fixHeaderElem)?void 0:t.offsetTop)||0;this.fixedOffset=n+i,window.addEventListener("scroll",this.fixHeader)}this.calculatePaddingTop()}componentDidUpdate(e){var t,n;const{text:i,isTurnOn:o}=this.props.topMessageData,{text:r,isTurnOn:a}=e.topMessageData;!this.props.isEditMode||i===r&&o===a&&(null==(t=this.props.headerStyle)?void 0:t.backgroundStyle)===(null==(n=e.headerStyle)?void 0:n.backgroundStyle)||this.calculatePaddingTop()}UNSAFE_componentWillReceiveProps(e){var t,n;const{isLogin:i,shoppingCartPreviewList:o,unlimitedHeightCarouselItems:r,dependencies:a}=this.props;if(this.state.pathnameUrl!==(null==(t=null==window?void 0:window.location)?void 0:t.pathname)){const{type:e}=YG();e!==HG.ShopCategory&&e!==HG.Location||(this.checkIsRetailStoreExpress(a),this.setState({pathnameUrl:(null==(n=null==window?void 0:window.location)?void 0:n.pathname)||""}))}if(i!==e.isLogin&&i&&!e.isLogin){const e=gs(ls.LOGOUT_SUCCESS);this.setState({isOpenToast:!0,customCssClass:"goya-toast--dark",toastType:e.type,toastStatus:e.status,toastMessage:e.message})}if(o!==e.shoppingCartPreviewList&&e.shoppingCartPreviewList.length<o.length){const e=gs(ls.REMOVE_SUCCESS);this.setState({isOpenToast:!0,customCssClass:"",toastType:e.type,toastStatus:e.status,toastMessage:e.message})}if(r!==e.unlimitedHeightCarouselItems){const t=It({dataSource:e.unlimitedHeightCarouselItems,defaultImage:this.defaultImageRectangle,dependencies:a,isMobile:!1});this.setState({carouselData:t})}}componentWillUnmount(){window.removeEventListener("scroll",this.fixHeader)}render(){var e,t,n,i,o,r,a,s,c,l;const{dependencies:u,logoSrc:d,navStyle:g,headerStyle:p,badgeStyle:m,isEditMode:f,topMessageData:I,sendAppDownloadLink:h,sendAppResult:b,categoryMenuSwitch:y,activityMenuSwitch:C,activityMenu:v,activityList:B,customLinkListMenuSwitch:A,customLinkListMenu:_,fetchSearchList:S,searchList:G,unlimitedHeightCarouselItems:Q,toolbox:E,customLinkListMenuOpenIndex:F,currentEditingItemKey:w,moduleId:T,moduleKey:x,shopCategoryList:k,promotionTargetList:N,globalStyleData:O}=this.props,{shopProfile:{ShopBasicInfo:{ShopName:Z,HasApp:U,EnableSendAppLinkSMS:R,IosAppId:X,AndroidPackageName:W,ShopDomain:V,RefUrl:P,IsDownloadAndroidAPK:D}},shopId:H,market:L}=u,Y=(null==(t=null==(e=null==u?void 0:u.shopProfile)?void 0:e.ShopFunction)?void 0:t.IsEnabledMultiShopCategory)||!1,M=(null==(i=null==(n=null==u?void 0:u.shopProfile)?void 0:n.ShopFunction)?void 0:i.IsEnableSendAppDownLoadLinkReCaptcha)||!1,{carouselData:J,customCssClass:j,isOpenToast:K,toastType:q,toastMessage:$,customerHeaderConfig:ee}=this.state,te=this.checkIsViewOnTop();return z.createElement("header",{className:nu()("headerA",{"headerA--nonindex":!this.checkIsEnableIndexPageFeature()})},z.createElement("div",{className:nu()("headerA__top",f?"headerA__top--absolute":"headerA__top--fix"),style:{backgroundColor:(!this.checkIsEnableIndexPageFeature()||te)&&(this.state.storeExpressPageInfo?null==(o=this.state.storeExpressPageInfo)?void 0:o.headerBackgroundColor:(null==p?void 0:p.backgroundColor)||"#FFF")}},I.isTurnOn&&this.checkIsEnableIndexPageFeature()&&z.createElement(sv,{ref:this.topMsgElemRef,backgroundColor:I.backgroundColor,color:I.color,text:I.text,urlType:I.urlType,linkInfo:I.linkInfo,linkUrl:I.linkUrl,isEditMode:f}),z.createElement("div",{className:"headerA__wrapper"},z.createElement("div",{className:nu()("headerA__inner-wrapper",{"navMenu-horizontal-align-logo":null==(r=null==ee?void 0:ee.navMenu)?void 0:r.position})},z.createElement(TQ,{customCssClass:(null==(s=null==(a=null==ee?void 0:ee.headerLogo)?void 0:a.position)?void 0:s.logoContainer)?`headerA__${null==(l=null==(c=null==ee?void 0:ee.headerLogo)?void 0:c.position)?void 0:l.logoContainer}`:"headerA__logo",shopName:Z,dependencies:u,logoSrc:d}),this.state.storeExpressPageInfo&&_e()&&z.createElement(tQ,{isMobile:!1}),z.createElement(Fk,{isEditMode:f,classNamePrefix:"headerA",hasApp:U,shopId:H,market:L,navStyle:g,enableSendAppLinkSMS:R,iosAppId:X,androidPackageName:W,sendAppDownloadLink:h,sendAppResult:b,shopDomain:V,refUrl:P,badgeStyle:m,categoryMenuSwitch:y,activityMenuSwitch:C,activityList:B,fetchSearchList:S,searchList:G,customLinkListMenuSwitch:A,activityMenu:v,customLinkListMenu:_,currentEditingItemKey:w,customLinkListMenuOpenIndex:F,isDownloadAndroidAPK:D,isEnabledMultiShopCategory:Y,shopCategoryList:k,promotionTargetList:N,customerHeaderConfig:ee,isEnableStoreExpressPage:!!this.state.storeExpressPageInfo,isEnableSendAppDownLoadLinkReCaptcha:M})))),this.checkIsEnableIndexPageFeature()&&z.createElement("div",{className:nu()("headerA__bottom"),ref:this.headerBottomEleRef,style:{paddingTop:`${this.state.carouselPaddingTop}px`}},Q&&z.createElement(FQ,{isEditMode:f,dataSource:J,materialName:"輪播廣告",isDisplayArrow:!f,moduleId:T,moduleKey:x,moduleName:"品牌導覽",isShowModuleKey:!1,dependencies:u,defaultImage:this.defaultImageRectangle})),z.createElement(Du,{customCssClass:j,isOpen:K,type:q,message:$,afterClose:this.resetToastState}),_e()&&!this.state.storeExpressPageInfo&&z.createElement(zk,{itemList:E.toolboxList||[],chatbot:E.chatbot,dependencies:u,globalStyleData:O}))}};iN.defaultProps={isEditMode:!1,isLogin:!1,categoryMenuSwitch:{isTurnOn:!0},activityMenuSwitch:{isTurnOn:!1},customLinkListMenuSwitch:{isTurnOn:!1},shoppingCartPreviewList:[],searchList:[],sendAppResult:{},activityList:[],customLinkListMenu:[],topMessageData:{isTurnOn:!1},unlimitedHeightCarouselItems:{materialList:[{linkUrl:"",title:"",itemIndex:0},{linkUrl:"",title:"",itemIndex:1}]},toolbox:{toolboxList:[]},isDisableIndexPageFeature:!1,shopCategoryList:{List:[],MaxChildListCount:0,Count:0},promotionTargetList:{freeGift:[]}},iN=((e,t)=>{for(var n,i=t,o=e.length-1;o>=0;o--)(n=e[o])&&(i=n(i)||i);return i})([nN],iN);var oN=Object.defineProperty,rN=Object.defineProperties,aN=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),sN=Object.getOwnPropertySymbols,cN=Object.prototype.hasOwnProperty,lN=Object.prototype.propertyIsEnumerable,uN=(e,t,n)=>t in e?oN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,dN=(e,t)=>{for(var n in t||(t={}))cN.call(t,n)&&uN(e,n,t[n]);if(sN)for(var n of sN(t))lN.call(t,n)&&uN(e,n,t[n]);return e},gN=(e,t)=>rN(e,aN(t));let pN=class extends z.Component{constructor(e){super(e),this.fixedClassName="headerB__top--fix",this.moduleName="品牌導覽",this.resetToastState=()=>{const{toastStatus:e}=this.state;if("logoutSuccess"===e){const{dependencies:{shopDomainName:e}}=this.props;window.location.href=(0,Ee.getPageUrl)(e,Ee.PAGE_TYPE.INDEX)}this.setState({isOpenToast:!1,toastType:"",toastStatus:"",toastMessage:""})},this.onStaticBannerTrackClick=e=>{const{linkUrl:t,position:n}=e,{isEditMode:i,moduleId:o,moduleKey:r}=this.props;if(!i){const e={materialName:"靜態廣告",moduleId:o,moduleName:this.moduleName,moduleKey:r,position:n,isShowModuleKey:!1},{eventCategory:i,eventAction:a,eventLabel:s,contentType:c}=ic(e);Gc(i,a,s),Qc({contentType:c,id:o,name:this.moduleName,linkUrl:t})}},this.checkIsEnableIndexPageFeature=()=>{const{isDisableIndexPageFeature:e,dependencies:t}=this.props,{pageName:n,previewPageName:i}=t;return!e&&(n===Ee.PAGE_NAME.INDEX||i===Ee.PAGE_NAME.INDEX)},this.getImageUrl=e=>{const{dependencies:t}=this.props;return rt(t.shopId,t.imageServiceConfig,this.defaultImageSquare,e)},this.checkIsRetailStoreExpress=e=>{const{isEnableStoreExpressPage:t}=(null==e?void 0:e.serverRenderData)||{},n=mn(e),{type:i,id:o}=YG();t&&LG(n,{shopId:e.shopId,type:i,id:o}).then((e=>{const{HeaderBackgroundColor:t,IsRetailStoreExpress:n,LogoUrl:i}=(null==e?void 0:e.IsRetailStoreExpress)?e:{HeaderBackgroundColor:"",IsRetailStoreExpress:!1,LogoUrl:""},o={headerBackgroundColor:t,isRetailStoreExpress:n,logoUrl:i};return n||(0,v_.deleteCookie)("locationId"),this.setState({storeExpressPageInfo:n?o:null}),o})).catch((()=>{this.setState({storeExpressPageInfo:null})}))};const{isEditMode:t,carouselItems:n,dependencies:i,staticBanner:o,moduleKey:r,moduleId:a}=e;this.defaultImageRectangle=t?Jo:zo,this.defaultImageSquare=t?Mo:jo;const s=It({dataSource:n,defaultImage:this.defaultImageRectangle,dependencies:i,isMobile:!1}),c=It({dataSource:o,defaultImage:this.defaultImageSquare,dependencies:i,isMobile:!1});this.state={isOpenToast:!1,customCssClass:"",toastType:"",toastStatus:"",toastMessage:"",carouselData:s,imageData:c,storeExpressPageInfo:null,pathnameUrl:""},this.inheritProps={dependencies:i,trackEvent:Gc,moduleId:a,moduleKey:r,moduleName:this.moduleName,isShowModuleKey:!1}}componentDidMount(){var e;const{isEditMode:t}=this.props,n=Po();if(this.setState({customerHeaderConfig:n}),this.checkIsRetailStoreExpress(this.props.dependencies),!t){this.$fixHeaderElem=document.getElementsByClassName("layout-header-fix")[0];const t=this.$fixHeaderElem?this.$fixHeaderElem.clientHeight:0,n=(null==(e=this.props.topMessageData)?void 0:e.isTurnOn)?134:100;this.setState({carouselStyle:{marginTop:`${t||n}px`}}),this.$fixHeaderElem&&!this.$fixHeaderElem.classList.contains(this.fixedClassName)&&this.$fixHeaderElem.classList.add(this.fixedClassName)}}UNSAFE_componentWillReceiveProps(e){var t,n;const{isLogin:i,shoppingCartPreviewList:o,carouselItems:r,dependencies:a,staticBanner:s}=this.props;if(this.state.pathnameUrl!==(null==(t=null==window?void 0:window.location)?void 0:t.pathname)){const{type:e}=YG();e!==HG.ShopCategory&&e!==HG.Location||(this.checkIsRetailStoreExpress(a),this.setState({pathnameUrl:(null==(n=null==window?void 0:window.location)?void 0:n.pathname)||""}))}if(i!==e.isLogin&&i&&!e.isLogin){const e=gs(ls.LOGOUT_SUCCESS);this.setState({isOpenToast:!0,customCssClass:"goya-toast--dark",toastType:e.type,toastStatus:e.status,toastMessage:e.message})}if(o!==e.shoppingCartPreviewList&&e.shoppingCartPreviewList.length<o.length){const e=gs(ls.REMOVE_SUCCESS);this.setState({isOpenToast:!0,customCssClass:"",toastType:e.type,toastStatus:e.status,toastMessage:e.message})}if(r!==e.carouselItems){const t=It({dataSource:e.carouselItems,defaultImage:this.defaultImageRectangle,dependencies:a,isMobile:!1});this.setState({carouselData:t})}if(s!==e.staticBanner){const t=It({dataSource:e.staticBanner,defaultImage:this.defaultImageSquare,dependencies:a,isMobile:!1});this.setState({imageData:t})}}componentWillUnmount(){this.setState=()=>!1}render(){var e,t,n,i,o,r,a,s,c,l;const{dependencies:u,logoSrc:d,navStyle:g,headerStyle:p,badgeStyle:m,isEditMode:f,topMessageData:I,sendAppDownloadLink:h,sendAppResult:b,categoryMenuSwitch:y,activityMenuSwitch:C,activityMenu:v,activityList:B,customLinkListMenuSwitch:A,customLinkListMenu:_,fetchSearchList:S,searchList:G,carouselItems:Q,staticBanner:E,toolbox:F,currentEditingItemKey:w,customLinkListMenuOpenIndex:T,shopCategoryList:x,promotionTargetList:k,globalStyleData:N}=this.props,{shopProfile:{ShopBasicInfo:{ShopName:O,HasApp:Z,EnableSendAppLinkSMS:U,IosAppId:R,AndroidPackageName:X,ShopDomain:W,RefUrl:V,IsDownloadAndroidAPK:P}},shopId:D,market:H}=u,L=(null==(t=null==(e=null==u?void 0:u.shopProfile)?void 0:e.ShopFunction)?void 0:t.IsEnabledMultiShopCategory)||!1,Y=(null==(i=null==(n=null==u?void 0:u.shopProfile)?void 0:n.ShopFunction)?void 0:i.IsEnableSendAppDownLoadLinkReCaptcha)||!1,{carouselStyle:M,carouselData:J,customCssClass:j,isOpenToast:K,toastType:q,toastMessage:$,imageData:ee,customerHeaderConfig:te}=this.state;return z.createElement("header",{className:nu()("headerB",{"headerB--nonindex":!this.checkIsEnableIndexPageFeature()})},z.createElement("div",{className:"layout-header-fix headerB__top"},I.isTurnOn&&this.checkIsEnableIndexPageFeature()&&z.createElement(sv,{backgroundColor:I.backgroundColor,color:I.color,text:I.text,urlType:I.urlType,linkInfo:I.linkInfo,linkUrl:I.linkUrl,isEditMode:f}),z.createElement("div",{className:"headerB__wrapper",style:this.state.storeExpressPageInfo?gN(dN({},p),{backgroundColor:null==(o=this.state.storeExpressPageInfo)?void 0:o.headerBackgroundColor}):p},z.createElement("div",{className:nu()("headerB__inner-wrapper",{"navMenu-horizontal-align-logo":null==(r=null==te?void 0:te.navMenu)?void 0:r.position})},z.createElement(TQ,{customCssClass:(null==(s=null==(a=null==te?void 0:te.headerLogo)?void 0:a.position)?void 0:s.logoContainer)?`headerB__${null==(l=null==(c=null==te?void 0:te.headerLogo)?void 0:c.position)?void 0:l.logoContainer}`:"headerB__logo",shopName:O,dependencies:u,logoSrc:d}),this.state.storeExpressPageInfo&&_e()&&z.createElement(tQ,{isMobile:!1}),z.createElement(Fk,{isEditMode:f,classNamePrefix:"headerB",hasApp:Z,shopId:D,market:H,navStyle:g,enableSendAppLinkSMS:U,iosAppId:R,androidPackageName:X,sendAppDownloadLink:h,sendAppResult:b,shopDomain:W,refUrl:V,badgeStyle:m,categoryMenuSwitch:y,activityMenuSwitch:C,activityList:B,fetchSearchList:S,searchList:G,customLinkListMenuSwitch:A,activityMenu:v,currentEditingItemKey:w,customLinkListMenu:_,customLinkListMenuOpenIndex:T,isDownloadAndroidAPK:P,isEnabledMultiShopCategory:L,shopCategoryList:x,promotionTargetList:k,customerHeaderConfig:te,isEnableStoreExpressPage:!!this.state.storeExpressPageInfo,isEnableSendAppDownLoadLinkReCaptcha:Y})))),this.checkIsEnableIndexPageFeature()&&z.createElement("div",{className:"headerB__bottom",style:M},(null==Q?void 0:Q.materialList)&&z.createElement("div",{className:"headerB__bottom-carousel"},z.createElement(FQ,dN({dataSource:J,isEditMode:f,materialName:"輪播廣告",defaultImage:this.defaultImageRectangle},this.inheritProps))),E&&z.createElement("ul",{className:"headerB__bottom-banner"},ee.map(((e,t)=>{const{moduleId:n}=this.props,i=xs(e);return f&&(null==i?void 0:i.scheduleList)&&i.scheduleList.forEach((e=>{qa()().isBetween(null==e?void 0:e.startTime,null==e?void 0:e.endTime)&&(i.imageUrl=this.getImageUrl(e))})),z.createElement("li",{className:"headerB__bottom-banner__item",key:t},z.createElement(mQ,gN(dN({},i),{onTrackClick:this.onStaticBannerTrackClick,itemIndex:t,altText:i.altText||qe(Ke.STATIC_BANNER,n,t),isEditMode:f})))})))),z.createElement(Du,{customCssClass:j,isOpen:K,message:$,type:q,afterClose:this.resetToastState}),_e()&&!this.state.storeExpressPageInfo&&z.createElement(zk,{itemList:F.toolboxList||[],chatbot:F.chatbot,dependencies:u,globalStyleData:N}))}};pN.defaultProps={isEditMode:!1,categoryMenuSwitch:{isTurnOn:!0},activityMenuSwitch:{isTurnOn:!1},customLinkListMenuSwitch:{isTurnOn:!1},searchList:[],sendAppResult:{},activityList:[],customLinkList:[],topMessageData:{isTurnOn:!1},carouselItems:{materialList:[{linkUrl:"",title:"",itemIndex:0},{linkUrl:"",title:"",itemIndex:1}]},staticBanner:{materialList:[{linkUrl:"",title:"banner 01",itemIndex:0},{linkUrl:"",title:"banner 02",itemIndex:1}]},toolbox:{toolboxList:[]},isDisableIndexPageFeature:!1,shopCategoryList:{List:[],MaxChildListCount:0,Count:0},promotionTargetList:{freeGift:[]}},pN=((e,t)=>{for(var n,i=t,o=e.length-1;o>=0;o--)(n=e[o])&&(i=n(i)||i);return i})([nN],pN);class mN extends z.Component{constructor(e){var t;super(e),this.onCloseModalHandle=()=>{this.setState({isOpenModal:!1})};const n=null==(t=e.dependencies)?void 0:t.imageServiceConfig;this.linePopupNoteCloseBarImage=ot(n,hr),this.linePopupNoteImage=ot(n,fr),this.linePopupNoteCloseButtonImage=ot(n,Ir),this.state={isOpenModal:!1}}componentDidMount(){var e,t;const n=(null==(t=null==(e=this.props.dependencies)?void 0:e.shopProfile)?void 0:t.ShopThirdPartyConfigInfo)?this.props.dependencies.shopProfile.ShopThirdPartyConfigInfo.LineConfig:null;this.setState({isOpenModal:Mr(n)&&!_n()})}render(){return z.createElement(z.Fragment,null,z.createElement(Gv,{isOpen:this.state.isOpenModal,customCssClass:"line-shop-popup",isShowClose:!1,isMaskOpacity:!0},z.createElement("div",{className:"line-shop-popup__note"},z.createElement("img",{loading:"lazy",className:"image",src:this.linePopupNoteImage,alt:"line-shop-popup"}),z.createElement("img",{loading:"lazy",className:"close-btn",src:this.linePopupNoteCloseButtonImage,onClick:this.onCloseModalHandle,alt:"line-shop-popup-close"}),z.createElement("img",{loading:"lazy",className:"close-btn-bar",src:this.linePopupNoteCloseBarImage,onClick:this.onCloseModalHandle,alt:"line-shop-popup-close"}))))}}const fN=mN,IN=({isLoading:e})=>z.createElement("div",{className:"loading-container"},z.createElement(lu,{isLoading:e}));IN.propTypes={isLoading:Pu.bool},IN.defaultProps={isLoading:!1};const hN=(0,El.connect)(gA,pA)(IN);class bN extends z.Component{constructor(e){super(e),this.onLeaveHandle=()=>{Xr()&&(window.sessionStorage.clear(),window.location.href="https://www.google.com.tw/")},this.onEnterHandle=()=>{this.props.onCloseModalHandle&&Xr()&&(window.sessionStorage.setItem("type","Ristriction"),this.props.onCloseModalHandle())};const{imageServiceConfig:t}=ke();this.defaultImage=ot(t,pr)}render(){return z.createElement("div",{className:"ristrict-note"},z.createElement("img",{loading:"lazy",className:"ristrict-note__image",src:this.defaultImage,alt:"ristrict-note"}),z.createElement("div",{className:"ristrict-note__title"},"限制級商品"),z.createElement("div",{className:"ristrict-note__content"},z.createElement("div",{className:"ristrict-note__label"},"本商品為限制級商品"),z.createElement("div",null,"限",z.createElement("span",{className:"ristrict-note__text"},"18歲以上"),"會員才可瀏覽與購買")),z.createElement("div",{className:"ristrict-note__container-btn"},z.createElement("button",{type:"button",className:"ristrict-note__btn-leave",onClick:this.onLeaveHandle},"我未滿18歲，",z.createElement("span",{className:"ristrict-note__btn-text"},"離開")),z.createElement("button",{type:"button",className:"ristrict-note__btn-enter",onClick:this.onEnterHandle},"我已滿18歲，",z.createElement("span",{className:"ristrict-note__btn-text"},"進入"))),z.createElement("div",{className:"ristrict-note__warn"},"*選擇離開將自動關閉分頁"))}}const yN=bN;class CN extends z.Component{constructor(e){super(e),this.onCloseModalHandle=()=>{this.setState({isOpenModal:!1})},this.state={isOpenModal:!1}}componentDidMount(){const e=Os(this.props.dependencies,"shopProfile.ShopBasicInfo")||null,t=!(!Xr()||"Ristriction"!==window.sessionStorage.getItem("type"));this.setState({isOpenModal:e.IsAdultShop&&!t&&!_n()})}render(){return z.createElement("div",{id:"ristrict-container"},z.createElement(Gv,{isOpen:this.state.isOpenModal,isShowClose:!1,isMaskOpacity:!1},z.createElement(yN,{onCloseModalHandle:this.onCloseModalHandle})))}}const vN=CN;var BN=n(3978);const{tagStyle:AN}=ue.A,_N=q.default.div`
    display: flex;
    flex-direction: column;
`,SN=(0,q.default)(_N)`
    width: 265px;
`,GN=(0,q.default)(_N)`
    ${e=>e.isOpen&&`background-color: ${J.whiteFive};`};
`,QN=(0,q.default)(_N)`
    width: 100%;

    flex-shrink: 0;
`,EN=q.default.div`
    display: flex;
    align-items: center;
    flex-shrink: 0;

    padding: 5px 0;
    width: 100%;
    min-height: 20px;
    ${e=>e.isOpen&&`background-color: ${J.whiteFour};`};
    :hover {
        background-color: ${J.whiteFour};
    }
`,FN=q.default.div`
    flex: 1;
    display: flex;
    flex-wrap: wrap;

    ${e=>e.isSubMenu&&"\n        padding-left: 15px;\n        padding-right: 36px;\n    "};
`,wN=q.default.a`
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;

    margin-right: 5px;

    line-height: 20px;
    font-size: 14px;
    border-bottom: 1px solid transparent;
    color: ${J.nightGrey};
    text-decoration: none;

    cursor: pointer;
`,TN=q.default.div`
    display: flex;
    justify-content: center;
    align-items: center;

    width: 45px;
`,xN=q.default.i`
    ${e=>e.isOpen?"transform: rotate(180deg);":"transform: rotate(0deg);"}
    transition: transform 0.25s;

    cursor: pointer;
`,kN=q.default.div`
    display: inline-block;

    padding: 4px;
    border-radius: 2px;
    ${e=>e.isInline&&"\n        margin-left: 5px;\n    "}

    line-height: normal;
    font-size: 11px;
    color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.tagStyle)?void 0:t.generalTagTextColor)||AN.generalTagTextColor}};
    background-color: ${({theme:e})=>{var t;return(null==(t=null==e?void 0:e.tagStyle)?void 0:t.generalTagBgColor)||AN.generalTagBgColor}};
`,NN=({list:e,freeGiftSet:t,onItemClick:n,isOpen:i})=>z.createElement(GN,{isOpen:i},e.map(((e,i)=>{const o=t.has(e.id),r=o?26:28,a=e.name.length>r,s=`${Vi}/${e.id}`;return z.createElement(EN,{isSubMenu:!0,key:i},z.createElement(FN,{isSubMenu:!0},z.createElement(wN,{href:s,isSubMenu:!0,onClick:n(e)},e.name,o&&!a&&z.createElement(kN,{isInline:!0},z.createElement(es.HT,{value:jn.THEME_CORE.SHOP_CATEGORY.GIFT}))),o&&a&&z.createElement(kN,null,z.createElement(es.HT,{value:jn.THEME_CORE.SHOP_CATEGORY.GIFT}))))}))),ON=()=>{var e;const t=(0,El.useDispatch)(),{shopId:n,shopProfile:i}=ke(),o=(null==(e=null==i?void 0:i.ShopFunction)?void 0:e.IsEnabledMultiShopCategory)||!1,r=(0,El.useSelector)((e=>e.promotion.promotionTargetList.freeGift)),a=new Set(r),[s,c]=(0,z.useState)(new Map),l=e=>t=>{t.preventDefault(),Gc("left_商品分類","click",e.name),window.location.href=`${Vi}/${e.id}`},u=(0,El.useSelector)((e=>e.shop.multiShopCategoryBreadcrumbList)),[d,g]=(0,z.useState)(u),p=(0,El.useSelector)((e=>e.user.retailStoreExpressLocationId));(0,z.useEffect)((()=>{o&&(!u.allTreeWithLevel1AndLevel2List||u.allTreeWithLevel1AndLevel2List.length<=0)&&t(Oh({categoryId:0,locationId:p}))}),[o,u.allTreeWithLevel1AndLevel2List,p]),(0,z.useEffect)((()=>{g(u)}),[u]);const m=e=>{Gc("left_商品分類","click",e.Name);const t=`${Vi}/${e.Id}`;window.location.href=t};if(o){const e=d.allTreeWithLevel1AndLevel2List||[],t=d.breadcrumbList||[],n=d.categoryId||0;return d.isFetching?z.createElement(Ay,null):z.createElement(Yl,{categoryList:e,breadcrumbList:t,categoryId:n,itemSelectClick:m,withSubmitButton:!1,withSelectTitle:!1,blockHeight:"auto",layoutMode:"narrow",scrollWhenOpen:!1})}{const{loading:e,data:t}=(0,BN.IT)(fi,{variables:{shopId:n}}),{shopCategoryList:{categoryList:i}}=t||{shopCategoryList:{categoryList:[]}};return e?z.createElement(Ay,null):z.createElement(SN,null,i.map((e=>{const t=(e=>e.childList&&e.childList.length>0)(e),n=s.has(e.id)&&s.get(e.id),i=a.has(e.id),o=i?27:30,r=e.name.length>o,u=`${Vi}/${e.id}`;return z.createElement(QN,{key:e.id},z.createElement(EN,{isOpen:t&&n},z.createElement(FN,null,z.createElement(wN,{href:u,onClick:l(e)},e.name,i&&!r&&z.createElement(kN,{isInline:!0},z.createElement(es.HT,{value:jn.THEME_CORE.SHOP_CATEGORY.GIFT}))),i&&r&&z.createElement(kN,null,z.createElement(es.HT,{value:jn.THEME_CORE.SHOP_CATEGORY.GIFT}))),z.createElement(TN,null,t&&z.createElement(xN,{className:"ico ico-chevron-down",isOpen:n,onClick:(d=e.id,()=>{if(s.has(d)){const e=s.get(d);c(new Map(s.set(d,!e)))}else c(new Map(s.set(d,!0)))})}))),t&&n&&z.createElement(NN,{list:e.childList,freeGiftSet:a,onItemClick:l,isOpen:n}));var d})))}},ZN={boardModule:{boardContent:{boards:[{workContent:{works:[],paging:{next:0,length:0,totalLength:0}}}]}}},UN=mi()`
    query ($shopId: Int!, $boardPagingOpts: PagingInput, $workPagingOpts: PagingInput) {
        boardModule(shopId: $shopId) {
            boardContent(boardPaging: $boardPagingOpts) {
                boards {
                    workContent(workPaging: $workPagingOpts) {
                        works {
                            workId
                            primaryId
                            primaryTitle
                            secondaryId
                            secondaryTitle
                            information
                            resizedMainImages {
                                l
                                m
                                origin
                                s
                            }
                            contents {
                                resizeImage {
                                    s
                                    m
                                    l
                                    origin
                                }
                                video {
                                    url
                                }
                            }
                            hasVideoContent
                            videoContentIndex
                        }
                        paging {
                            next
                            length
                            totalLength
                            previous
                        }
                    }
                }
            }
        }
    }
`,RN=mi()`
    query ($shopId: Int!, $boardPagingOpts: PagingInput) {
        boardModule(shopId: $shopId) {
            boardContent(boardPaging: $boardPagingOpts) {
                boards {
                    filters {
                        key
                        displayName
                        data {
                            value
                            displayValue
                            type
                        }
                    }
                }
            }
        }
    }
`,XN=mi()`
    query getStaffBoardList(
        $shopId: Int!
        $boardPagingOpts: PagingInput
        $workPagingOpts: PagingInput
        $workFilters: [WorkFilterInput]
        $orderBy: String
    ) {
        boardModule(shopId: $shopId) {
            boardContent(boardPaging: $boardPagingOpts) {
                boards {
                    workContent(workFilters: $workFilters, workPaging: $workPagingOpts, orderBy: $orderBy) {
                        works {
                            workId
                            primaryId
                            primaryTitle
                            secondaryId
                            secondaryTitle
                            information
                            resizedMainImages {
                                s
                                m
                                l
                                origin
                            }
                            contents {
                                resizeImage {
                                    s
                                    m
                                    l
                                    origin
                                }
                                video {
                                    url
                                }
                            }
                            hasVideoContent
                            videoContentIndex
                        }
                        paging {
                            totalLength
                        }
                    }
                }
            }
        }
    }
`;var WN=Object.defineProperty,VN=Object.getOwnPropertySymbols,PN=Object.prototype.hasOwnProperty,DN=Object.prototype.propertyIsEnumerable,HN=(e,t,n)=>t in e?WN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const LN=e=>{return n=[e],i=function*({shopId:e,pageType:t}){try{const n=`${ft()}/salepage-listing/api/recommendation/config/${e}?channel=web&version=1.0`,{data:i}=yield Zn(n);if((null==i?void 0:i.channel)&&"web"!==i.channel.toLowerCase())throw new Error(`Invalid Channel: ${null==i?void 0:i.channel}`);return((e,t)=>{var n;return((e,t)=>{for(var n in t||(t={}))PN.call(t,n)&&HN(e,n,t[n]);if(VN)for(var n of VN(t))DN.call(t,n)&&HN(e,n,t[n]);return e})({isEnable:(null==e?void 0:e.isEnable)||!1},(e=>{var n,i,o,r;if(!e)return null;switch(t){case oi.salePageList:return{recommendationA:null==(n=e.placement)?void 0:n.recommendationA,recommendationB:null==(i=e.placement)?void 0:i.recommendationB};case oi.searchResultPage:return{recommendationA:null==(o=e.placement)?void 0:o.recommendationA};case oi.tagCategory:return{recommendationA:null==(r=e.placement)?void 0:r.recommendationA};default:return null}})(null==(n=null==e?void 0:e.page)?void 0:n[t]))})(i,t)}catch(n){return ze.error(`[ERROR] fetchRecommendationConfig failed: ${je(n)}: ${Je(n)}. shopId: ${e}, pageType: ${t}`),Promise.reject(n)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i},YN=e=>{const t=ke(),{shopId:n}=t,[i,o]=(0,z.useState)(!1),[r,a]=(0,z.useState)(null),[s,c]=(0,z.useState)(null);return(0,z.useEffect)((()=>{var i;i=function*(){try{const{isEnable:t=!1,recommendationA:i={},recommendationB:r={}}=yield LN({shopId:n,pageType:e});o(t),a(i),c(r)}catch(t){a({}),c({})}},new Promise(((e,n)=>{var o=e=>{try{a(i.next(e))}catch(t){n(t)}},r=e=>{try{a(i.throw(e))}catch(t){n(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}))}),[]),{isEnableRecommendation:i,recommendationAConfig:r,recommendationBConfig:s}},MN=(e,t)=>{var n;const i=[];return null==(n=null==e?void 0:e.filterItemList)||n.forEach((e=>{const{typeId:n}=e;-1!==t.indexOf(n)&&i.push(n)})),i},JN=(e,t,n)=>{return{filterItemList:(i=e,o=t,i.map((e=>{const{typeId:t,typeName:n}=e,i=o.some((e=>e===t));return{typeId:t,typeName:n,checked:i}}))),title:n,groupToggleStatus:!0};var i,o},jN=(e,t)=>e?+(e/t).toFixed(2):null;var zN=n(794);const{buttonStyle:KN}=ue.A,qN=q.default.div`
    position: fixed;
    z-index: 1050;
    width: 100%;
    height: 100%;
    top: 0;
    opacity: 0.2;
    background: ${J.blackTwo};
`,$N=q.default.div`
    position: fixed;
    z-index: 1050;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: ${({isDesktop:e})=>e?"430px":"290px"};
    margin: auto;
    height: fit-content;
    border-radius: 8px;
    padding: ${({isDesktop:e})=>e?"30px":"15px"};
    background-color: ${J.white};
    box-shadow: ${({isDesktop:e})=>e?"0px 2px 12px 0px rgba(0, 0, 0, 0.10)":"0px 0px 10px 0px rgba(0, 0, 0, 0.25)"};
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    gap: ${({isDesktop:e})=>e?"40px":"15px"};
`,eO=q.default.div`
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: ${({isDesktop:e})=>e?"24px":"16px"};
    font-weight: 500;
    line-height: ${({isDesktop:e})=>e?"28px":"24px"};
    ${({isDesktop:e})=>e?"letter-spacing: 0.87px;":""}
    color: ${J.blackTwo};
`,tO=q.default.div`
    color: ${J.blackThree};
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    display: flex;
    flex-direction: column;
    ${({isDesktop:e})=>e?"margin-bottom: 15px;":""}
`,nO=q.default.div`
    display: flex;
    justify-content: space-between;
`,iO=q.default.button`
    cursor: pointer;
    border-radius: 5px;
    font-size: 15px;
    line-height: 15px;
    width: ${({isDesktop:e})=>e?"180px":"125px"};
    height: 44px;
    padding: ${({isDesktop:e})=>e?"14px 10.384px 15px 10.385px":"13px 11px"};
    display: flex;
    justify-content: center;
    align-items: center;
`,oO=(0,q.default)(iO)`
    color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.primaryBtnTextColor)||KN.primaryBtnTextColor}};
    background-color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.primaryBtnBgColor)||KN.primaryBtnBgColor}};
`,rO=(0,q.default)(iO)`
    color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.secondBtnTextColor)||KN.secondBtnTextColor}};
    background-color: ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.secondBtnBgColor)||KN.secondBtnBgColor}};
    border: 1px solid ${e=>{var t,n;return(null==(n=null==(t=e.theme)?void 0:t.buttonStyle)?void 0:n.secondBtnBorderColor)||KN.secondBtnBorderColor}};
`,aO=({isDesktop:e})=>{const{i18n:t}=xe(),{salesMarketSettings:n}=t||{},{salesMarket:i}=n||{},o=(null==i?void 0:i.toLowerCase())===Wt.HK,[r,a]=(0,z.useState)(!1),[s,c]=(0,z.useState)(null),{setIsClickEntryButton:l,setHandlePopUpToggleFn:u}=(0,z.useContext)(Gp),d=(e,t)=>{a(e),t&&c((()=>t))};return(0,z.useEffect)((()=>{u((()=>d))}),[]),r&&z.createElement("div",{id:"restricted-popup"},z.createElement(qN,null),z.createElement($N,{isDesktop:e},z.createElement(eO,{isDesktop:e},(0,es.t)(jn.THEME_CORE.DEFAULT.RESTRICTED_POPUP_TITLE)),z.createElement(tO,{isDesktop:e},o&&z.createElement("span",null,(0,es.t)(jn.THEME_CORE.DEFAULT.RESTRICTED_POPUP_CONTENT_HK)),!o&&z.createElement(z.Fragment,null,z.createElement("span",null,(0,es.t)(jn.THEME_CORE.DEFAULT.RESTRICTED_POPUP_CONTENT_INFO)),z.createElement("span",null,(0,es.t)(jn.THEME_CORE.DEFAULT.RESTRICTED_POPUP_CONTENT_CHECK_AGE)))),z.createElement(nO,null,z.createElement(rO,{isDesktop:e,onClick:()=>{a(!1)}},(0,es.t)(jn.THEME_CORE.DEFAULT.RESTRICTED_POPUP_LEAVE)),z.createElement(oO,{isDesktop:e,onClick:()=>{a(!1),l(!0),s&&s(),Xr()&&(0,vn.addCookie)("isRestricted","false")}},(0,es.t)(jn.THEME_CORE.DEFAULT.RESTRICTED_POPUP_ENTER)))))};var sO=n(8477),cO=n(4937),lO=n(5981),uO=n(4945),dO=n.n(uO);const gO=(0,z.createContext)({isShowPopover:!1,setIsShowPopover:e=>{},isLoadedActiveOrders:!1,setIsLoadedActiveOrders:e=>{}}),pO=({children:e})=>{const[t,n]=(0,z.useState)(!1),[i,o]=(0,z.useState)(!1),r=(0,z.useMemo)((()=>({isShowPopover:t,setIsShowPopover:n,isLoadedActiveOrders:i,setIsLoadedActiveOrders:o})),[t,i]);return z.createElement(gO.Provider,{value:r},e)},mO=({children:e,reCaptchaKey:t,isEnableSendAppDownLoadLinkReCaptcha:n})=>{const i=!!_e()&&dt(window.location.pathname);return n&&i?K().createElement(t_.G3,{reCaptchaKey:t,language:da(),useEnterprise:!0,scriptProps:{async:!0}},e):K().createElement(K().Fragment,null,e)};class fO extends K().Component{constructor(e){super(e),this.observer=null}componentDidMount(){if(_e()&&dt(window.location.pathname)){const e=new MutationObserver((()=>{const e=document.querySelector(".grecaptcha-badge");e&&(e.style.display="none",e.style.visibility="hidden")})),t={attributes:!0,childList:!0,subtree:!0};e.observe(document.body,t),this.observer=e}}componentWillUnmount(){this.observer&&this.observer.disconnect()}}const IO=fO;var hO=Object.defineProperty,bO=Object.defineProperties,yO=Object.getOwnPropertyDescriptors,CO=Object.getOwnPropertySymbols,vO=Object.prototype.hasOwnProperty,BO=Object.prototype.propertyIsEnumerable,AO=(e,t,n)=>t in e?hO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_O=(e,t)=>{for(var n in t||(t={}))vO.call(t,n)&&AO(e,n,t[n]);if(CO)for(var n of CO(t))BO.call(t,n)&&AO(e,n,t[n]);return e},SO=(e,t)=>bO(e,yO(t));const GO=(0,El.connect)((e=>_O({},Object.keys(A).reduce(((t,n)=>{const i=A[n].mapStateToProps(e);return _O(_O({},t),i)}),{}))),(e=>_O({},Object.keys(A).reduce(((t,n)=>{const i=A[n].mapDispatchToProps(e);return _O(_O({},t),i)}),{}))))(class extends IO{constructor(e){super(e),this.layoutList=["header","center","footer"],this.getComponent=(e,t)=>{const n=t[0].toUpperCase()+t.substr(1);return this.props.themeComponents[n]},this.getReCaptchaSiteKey=()=>{var e,t;return(null==(t=null==(e=(_e()?window.nineyi.dependencies:this.props.dependencies).shopProfile)?void 0:e.ShopBasicInfo)?void 0:t.RecaptchaEnterpriseSiteKey)||""};const{construct:t,dependencies:n}=this.props,{ShopThirdPartyConfigInfo:i,ShopBasicInfo:o}=(null==n?void 0:n.shopProfile)||{},{FacebookConfig:r,LineConfig:a,InstagramConfig:s}=i||{},{ShopDomain:c,ShopId:l}=o||{},u={fbFansPageUrl:null==r?void 0:r.FansPageUrl,lineUserId:null==a?void 0:a.LineUserId,instagramUrl:null==s?void 0:s.ShopInstagramUrl,shopDomain:c,shopId:l};this.replacedThemeConfig=vs(lt(t),u);const d=(0,lO.$)({uri:mt(),fetch:dO(),useGETForQueries:!0});this.apolloClient=new cO.Ri({link:d,cache:new sO.D9})}render(){var e,t;const{dependencies:n,pageComponent:i,globalStyleData:o={},themeComponents:r}=this.props,a=this.getReCaptchaSiteKey(),s=(null==(t=null==(e=null==n?void 0:n.shopProfile)?void 0:e.ShopFunction)?void 0:t.IsEnableSendAppDownLoadLinkReCaptcha)||!1,{LoadingContainer:c,RistrictContainer:l,LinePopup:u,CookiePrivacyTip:d,FullScreenAdPopover:g}=r,p=Object.keys(o).length>0?o:ue.A;return z.createElement(q.ThemeProvider,{theme:p},z.createElement(zN.XM,{client:this.apolloClient},z.createElement("div",{className:"container-component"},z.createElement(pO,null,z.createElement(Qp,null,z.createElement(Sp,null,z.createElement(mO,{reCaptchaKey:a,isEnableSendAppDownLoadLinkReCaptcha:s},this.layoutList.map(((e,t)=>{const o="header"===e,r=this.replacedThemeConfig[e];return r&&r.length>0&&z.createElement("div",{className:`layout-${e}`,key:t},this.replacedThemeConfig[e].map(((e,t)=>{const{componentType:r,id:a}=e,s=this.getComponent(r,a),c="injectComponent"===e.componentType?i:s;if(!c)return null;const l=e.attributes,u=SO(_O({},l),{moduleId:e.id,moduleKey:e.moduleKey,dependencies:n});return(o||_e())&&z.createElement(c,SO(_O({},u),{key:t}))})))}))),z.createElement(c,null),z.createElement(aO,{isDesktop:!0}),z.createElement(l,{dependencies:n}),z.createElement(u,{dependencies:n}),z.createElement(d,null),z.createElement(g,{browsingMode:n.browsingMode}),z.createElement(NC,null)))))))}});var QO=n(7437),EO=n(9610),FO=n(8100);const wO=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(uI)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=function*(){const t=pt("Activity/GetActivityList",e,!0);return(({Data:e=[]})=>e.map((e=>({title:e.Activity_Name||"",mediaUrlList:[e.Activity_Url],link:`/v2/activity/${e.Activity_Id}`}))))(yield Zn(t))},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(e)).pipe((0,FO.T)((e=>dI(e))),(0,dn.W)((e=>(0,ln.of)(gI(nn(e))))))))))),TO=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(pI)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=function*(){const{shopId:t}=e,n=pt(`Coupon/GetCouponList/${t}`,e,!0);ze.info(`[INFO] fetchCouponList apiUrl: ${n}`);const i=(({data:e=[]})=>e.map((e=>({title:e.Title||"",mediaUrlList:[e.Gallery],link:`/Coupon/Detail/${e.Id}`}))))(yield Zn(n));return ze.info(`[INFO] fetchCouponListFn finish: ${i}`),i},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(e)).pipe((0,FO.T)((e=>mI(e))),(0,dn.W)((e=>(0,ln.of)(fI(nn(e))))))))))),xO=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(II)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=function*(){const t=pt("ECoupon/GetOfficialECouponList",e,!0);return(({ShopECouponList:e=[]})=>(e.length>0&&e[0]&&e[0].ECouponList||[]).map((({Name:e,TypeDef:t,ImgUrl:n,Id:i,DiscountPrice:o,StartDateTime:r,EndDateTime:a})=>({title:e||"",typeDef:t||"",mediaUrlList:[n],link:`/ECoupon/Detail/${i}`,price:o,currency:null,startDate:r,endDate:a}))))(yield Zn(t))},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(e)).pipe((0,FO.T)((e=>hI(e))),(0,dn.W)((e=>(0,ln.of)(bI(nn(e)))))))))));var kO=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));const NO=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(BI)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>kO(void 0,null,(function*(){const{shopId:t}=e,n=pt("TraceSalePageList/GetCount",e,!1),i={method:en.RequestMethod.POST,body:JSON.stringify({shopId:t})};return yield Zn(n,i)})))(e)).pipe((0,FO.T)((e=>AI(e))),(0,dn.W)((e=>(0,ln.of)(_I(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(yI)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>kO(void 0,null,(function*(){const t=pt("TraceSalePageList/GetTraceSalePageIds",e,!1),n=yield Zn(t);return(null==n?void 0:n.data)||[]})))(e)).pipe((0,FO.T)((e=>CI(e))),(0,dn.W)((e=>(0,ln.of)(vI(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(SI)),(0,un.ZZ)((e=>{const i=mn(n),o=e.payload.productInfo.id,r={payload:{salePageId:o},streamInjection:i},a=t.value.favorite.favoriteCount,s=t.value.favorite.favoriteList;return(0,sn.H)((c=r,kO(void 0,[c],(function*({streamInjection:e,payload:{salePageId:t}}){const n=pt(`TraceSalePageList/InsertItem?salePageId=${t}`,e,!1);return yield Zn(n)})))).pipe((0,un.ZZ)((()=>(Tc(e.payload.productInfo),(0,ln.of)(GI({favoriteCount:a+1,favoriteList:s.concat(o)}))))),(0,dn.W)((e=>(0,ln.of)(QI(nn(e))))));var c})))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(EI)),(0,un.ZZ)((e=>{const i=mn(n),o={payload:{salePageId:e.id},streamInjection:i},r=t.value.favorite.favoriteCount,a=t.value.favorite.favoriteList;return(0,sn.H)((s=o,kO(void 0,[s],(function*({streamInjection:e,payload:{salePageId:t}}){const n=pt(`TraceSalePageList/DeleteItem?salePageId=${t}`,e,!1);return yield Zn(n)})))).pipe((0,FO.T)((()=>(xc(e),FI({favoriteCount:r-1,favoriteList:a.filter((t=>t!==e.id))})))),(0,dn.W)((e=>(0,ln.of)(wI(nn(e))))));var s}))))),OO=(e,{ReturnCode:t})=>{let n="系統錯誤，請稍後再試";return"API0001"===t?n=(0,es.t)(jn.THEME_CORE.HEADER.APP_DOWNLOAD_SEND_TO_PHONE):"API0003"===t?n=(0,es.t)(jn.THEME_CORE.HEADER.APP_DOWNLOAD_SEND_TO_NUMBER,{phoneNumber:e}):"API0004"===t?n=(0,es.t)(jn.THEME_CORE.HEADER.APP_DOWNLOAD_USE_QR_CODE):"API0005"===t&&(n="reCAPTCHA 驗證失敗，請稍後再試"),{message:n,sendedPhoneNumber:e,isSendOnLimited:"API0004"===t,returnCode:t}},ZO=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(RI)),(0,un.ZZ)((e=>{const t=mn(n),{phoneNumber:i,reCaptchaToken:o}=e,r={streamInjection:t,payload:{phoneNumber:i,reCaptchaToken:o}};return(0,sn.H)((e=>{return n=[e],i=function*({streamInjection:e,payload:{phoneNumber:t,reCaptchaToken:n}}){const{shopId:i}=e,o=window.location.pathname.includes("/Login/")?"salePage":"";try{const r=pt("Official/SendAppDownLoadLink",e,!1),a={method:en.RequestMethod.POST,body:JSON.stringify({shopId:i,cellPhone:t,pagefrom:o,source:"Web",reCaptchaToken:n})},s=yield Zn(r,a);return OO(t,s)}catch(r){return ze.error(`[ERROR] sendAppDownloadLink failed: ${je(r)}: ${Je(r)}: shopId: ${i}`),OO(t,{ReturnCode:"API0000",Data:!1,Message:""})}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})(r)).pipe((0,FO.T)((e=>XI(e))),(0,dn.W)((e=>(0,ln.of)(WI(e)))))})))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(OI)),(0,un.ZZ)((e=>{const t={streamInjection:mn(n)};return(0,sn.H)((i=t,((e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())})))(void 0,[i],(function*({streamInjection:e}){var t;const{shopId:n}=e,i=pt(`AuthV4/GetSSOEnabledKey?shopId=${n}`,e,!0),o={method:en.RequestMethod.POST},r=yield Zn(i,o);return r&&"API3601"===r.ReturnCode?null==(t=r.Data)?void 0:t.RecaptchaSiteKey:""})))).pipe((0,FO.T)((e=>ZI(e))),(0,dn.W)((e=>(0,ln.of)(UI(nn(e))))));var i})))));var UO=n(4833);const RO=(0,QO.E)((e=>e.pipe((0,EO.p)((0,lI.isActionOf)(DI)),(0,un.ZZ)((()=>UO.w)))));var XO=n(8988),WO=(e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())}));qa().extend(iQ());const VO={LATEST:jn.THEME_CORE.PROMOTION.LATEST,COME_TO_END:jn.THEME_CORE.PROMOTION.COME_TO_END},PO=(e,t,n,i)=>{const o=e.isBetween(qa()().subtract(1,"days"),qa()()),r=t.isBetween(qa()(),qa()().add(1,"days")),a={mobileTagList:[],desktopTagList:[]};return o&&(a.mobileTagList=[VO.LATEST],a.desktopTagList=[VO.LATEST]),r&&(a.mobileTagList=[VO.COME_TO_END]),n.length&&(a.mobileTagList.unshift(...n),a.desktopTagList.unshift(...n)),i&&(a.mobileTagList.unshift(i),a.desktopTagList.unshift(i)),a},DO=({Data:{PromotionList:e=[]}})=>({promotionList:e.map((e=>{const t=qa()($a(e.StartDateTime)),n=qa()($a(e.EndDateTime)),i=e.PromotionLabelList||[],o=e.PromotionTopLabel||"";return{promotionId:e.PromotionId,title:e.Name,endDateTime:n,startDateTime:t,startDateString:t.format("YYYY/MM/DD"),endDateString:n.format("YYYY/MM/DD"),isPromotionEngine:e.IsPromotionEngine,isOver:qa()().isAfter(n),isComingSoon:qa()().isBefore(t),mediaUrlList:e.SalePageList.map((e=>e.SalePageImageUrl)),tagInfo:PO(t,n,i,o),periodWeekText:e.ExtraDateTimeText,isRegular:e.IsRegular,displaySetting:e.DisplaySetting,targetMemberTypeDef:e.TargetMemberTypeDef}}))});var HO=Object.getOwnPropertySymbols,LO=Object.prototype.hasOwnProperty,YO=Object.prototype.propertyIsEnumerable;const MO=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(LI)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=function*(){const{shopId:t}=e,n=pt(`PromotionV2/GetList/${t}?orderBy=Newest&startIndex=0&maxCount=1&typeDef=All&source=Web`,e,!0),{Data:{PromotionCount:i}}=yield Zn(n);return i},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(e)).pipe((0,FO.T)((e=>YI(e))),(0,dn.W)((e=>(0,ln.of)(MI(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(JI)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=function*(){const{shopId:t}=e,n=pt(`Official/GetOfficialPromotionTargetList/${t}`,e,!0);return(({Data:e=[]})=>({freeGift:e.reduce(((e,t)=>"FreeGift"===t.ConditionDiscountTypeDef?[...e,...t.Targets]:e),[])}))(yield Zn(n))},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(e)).pipe((0,FO.T)((e=>jI(e))),(0,dn.W)((e=>(0,ln.of)(zI(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(KI)),(0,FO.T)((({moduleKey:e,orderBy:t,startIndex:i,maxCount:o,typeDef:r,promotionListFromType:a})=>({moduleKey:e,streamInjection:mn(n),payload:{maxCount:o,orderBy:t,startIndex:i,typeDef:r,promotionListFromType:a}}))),(0,un.ZZ)((e=>{var t,n=e,{moduleKey:i}=n,o=((e,t)=>{var n={};for(var i in e)LO.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&HO)for(var i of HO(e))t.indexOf(i)<0&&YO.call(e,i)&&(n[i]=e[i]);return n})(n,["moduleKey"]);return(0,sn.H)((t=o,WO(void 0,[t],(function*({streamInjection:e,payload:{orderBy:t,startIndex:n,maxCount:i,typeDef:o,promotionListFromType:r}}){const{shopId:a}=e,s=pt(`PromotionV2/GetList/${a}?orderBy=${t}&startIndex=${n}&maxCount=${i}&typeDef=${o}&source=Web&v=0&r=t&from=${r}`,e,!0),c=yield Zn(s);return DO(c)})))).pipe((0,FO.T)((e=>qI(i,e))),(0,dn.W)((e=>(0,ln.of)($I(nn(e))))))})))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(eh)),(0,FO.T)((({moduleKey:e,promotionIdList:t,promotionListFromType:i})=>({moduleKey:e,promotionIdList:t,params:{streamInjection:mn(n),payload:{promotionIdList:t,promotionListFromType:i}}}))),(0,un.ZZ)((({moduleKey:e,promotionIdList:t,params:n})=>{return(0,XO.T)((()=>0===t.length),(0,ln.of)(th(e,{promotionList:[]})),(0,sn.H)((i=n,WO(void 0,[i],(function*({streamInjection:e,payload:{promotionIdList:t,promotionListFromType:n}}){if(!t||0===t.length)return;const{shopId:i}=e,o=t.join(","),r=pt(`PromotionEngine/GetListById/${i}?promotionIds=${o}&from=${n}`,e,!0),a=yield Zn(r);return DO(a)})))).pipe((0,FO.T)((t=>th(e,t))),(0,dn.W)((e=>(0,ln.of)(nh(nn(e)))))));var i})))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(ih)),(0,un.ZZ)((e=>{const{payload:{categoryId:t}}=e,i={streamInjection:mn(n),payload:{categoryId:t,shopDomain:Os(n,"shopProfile.ShopBasicInfo.ShopDomain")}};return(0,sn.H)((e=>WO(void 0,[e],(function*({streamInjection:e,payload:{categoryId:t,shopDomain:n}}){const{shopId:i}=e,o=pt(`shopCategory/GetPromotionList/${i}/${t}?shopId=${i}`,e,!0);return(({Data:e=[]},t)=>e.map((e=>({id:e.Id,name:e.Name,startTimeString:qa()($a(e.StartTime)).format("YYYY/MM/DD hh:mm"),endTimeString:qa()($a(e.EndTime)).format("YYYY/MM/DD hh:mm"),rules:e.Rules,promotionConditionDiscountType:e.PromotionConditionDiscountType,promotionConditionType:e.PromotionConditionType,link:(0,Ee.getPageUrl)(t,Ee.PAGE_TYPE.PROMOTION,{id:e.Id})}))))(yield Zn(o),n)})))(i)).pipe((0,FO.T)((e=>oh(e))),(0,dn.W)((e=>(0,ln.of)(rh(nn(e))))))}))))),JO=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(ah)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=function*(){const t=pt("/VIPMember/GetVipMemberCustomLinkSettings",e,!0);return(({Data:e=[]})=>e.filter((e=>{const{IsEnable:t,ShowPositions:n}=e;return t&&n.includes("MobileWebSideBar")})).map((({DisplayText:e,GroupName:t})=>({displayText:e,groupName:t}))))(yield Zn(t))},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(e)).pipe((0,FO.T)((e=>sh(e))),(0,dn.W)((e=>(0,ln.of)(ch(nn(e)))))))))));var jO=Object.defineProperty,zO=Object.defineProperties,KO=Object.getOwnPropertyDescriptors,qO=Object.getOwnPropertySymbols,$O=Object.prototype.hasOwnProperty,eZ=Object.prototype.propertyIsEnumerable,tZ=(e,t,n)=>t in e?jO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;const nZ=e=>{return n=[e],i=function*({streamInjection:e,payload:t}){const n=pt("ProductStock/GetSellingQtyListNew",e,!1),i={method:en.RequestMethod.POST,body:JSON.stringify({ids:t.skuIdList.toString()})};return((e,t)=>{const n=(0,j.keyBy)(e,"SaleProductSKUId");return t.map((e=>{return t=((e,t)=>{for(var n in t||(t={}))$O.call(t,n)&&tZ(e,n,t[n]);if(qO)for(var n of qO(t))eZ.call(t,n)&&tZ(e,n,t[n]);return e})({},e),i={sellingQty:n[e.skuId].SellingQty},zO(t,KO(i));var t,i}))})(yield Zn(n,i),t.skuInfoList)},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i};var iZ=n(2596),oZ=n(5937),rZ=Object.defineProperty,aZ=Object.defineProperties,sZ=Object.getOwnPropertyDescriptors,cZ=Object.getOwnPropertySymbols,lZ=Object.prototype.hasOwnProperty,uZ=Object.prototype.propertyIsEnumerable,dZ=(e,t,n)=>t in e?rZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gZ=(e,t)=>{for(var n in t||(t={}))lZ.call(t,n)&&dZ(e,n,t[n]);if(cZ)for(var n of cZ(t))uZ.call(t,n)&&dZ(e,n,t[n]);return e};const pZ=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(lh)),(0,FO.T)((e=>{const t=mn(n);return{payload:{salePageIds:e.salePageIds},streamInjection:t}})),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=[e],i=function*({streamInjection:e,payload:{salePageIds:t}}){const n=pt(`salepage/GetSalepageDataByIds?ids=${t}`,e,!1);return(({SalepageList:e=[]})=>e.map((e=>({id:e.SalePageId,title:e.Title||"",mediaUrlList:[e.PicUrl],link:`/SalePage/Index/${e.SalePageId}?garefersrc=BrowseHistory`,price:e.Price,suggestPrice:e.SuggestPrice}))).reverse())(yield Zn(n))},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})(e)).pipe((0,FO.T)((e=>uh(e))),(0,dn.W)((e=>(0,ln.of)(dh(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(gh)),(0,FO.T)((e=>{const t=mn(n);return{payload:{salePageId:e.salePageId},streamInjection:t}})),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=[e],i=function*({streamInjection:e,payload:{salePageId:t}}){const{shopId:n}=e,i=pt(`Sku/GetSkuPopupInfo/${n}/${t}?hasShow2LevelAllImageList=true&source=Web`,e,!1);return(({Data:{MajorList:[{SKUList:e}],SKUPropertySetList:t,ImageList:n,Id:i,StatusDef:o,Price:r,Title:a,SaleProductSKUIdList:s,SuggestPrice:c}})=>{let l=2;1===e.length&&(l="-1"===e[0].Title?0:1);const u=(0,j.map)(e[0].PropertyList,(e=>({skuName:e.Name,skuKey:e.PropertyNameSet}))),d={skuGroupName:e[0].Title,skuKeyList:u},g=2===l?(0,j.map)(e[1].PropertyList,(e=>({skuName:e.Name,skuKey:e.PropertyNameSet}))):[],p=2===l?{skuGroupName:e[1].Title,skuKeyList:g}:null,m=(0,j.map)(t,(({IsShow:e,PropertyNameSet:t,SaleProductSKUId:n,SellingQty:i})=>({isShow:e,skuKey:t,skuId:n,sellingQty:i})));return{salePageInfo:{maxSkuLevel:l,skuGroupLevel1:d,skuGroupLevel2:p,id:i,status:o,mainImageUrl:(0,j.map)(n,(({Id:e,SKUPropertyNameSet:t,PicUrl:n})=>({skuId:e,skuName:t,imageSrc:n}))),price:r,title:a,skuIdList:s,suggestPrice:c,currency:"$"},skuInfoList:m}})(yield Zn(i))},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})(e)).pipe((0,un.ZZ)((({salePageInfo:t,skuInfoList:n})=>(0,sn.H)(Rn(e)).pipe((0,un.ZZ)((e=>{const i={salePageInfo:(o=gZ({},t),r={status:e},aZ(o,sZ(r))),skuInfoList:n};var o,r;return(0,ln.of)(ph(i),bh())})),(0,dn.W)((e=>(0,ln.of)(mh(nn(e))))))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(fh)),(0,FO.T)((e=>{const t=mn(n);return{payload:{salePageId:e.salePageId},streamInjection:t}})),(0,un.ZZ)((e=>(0,sn.H)(Rn(e)).pipe((0,FO.T)((e=>Ih(e))),(0,dn.W)((e=>(0,ln.of)(hh(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(bh)),(0,FO.T)((()=>{const{salePageInfo:e,skuInfoList:i}=t.value.salePage,{skuIdList:o}=e;return{payload:{skuIdList:o,skuInfoList:i},streamInjection:mn(n)}})),(0,iZ.n)((e=>(0,sn.H)(nZ(e)).pipe((0,FO.T)((e=>yh(e))),(0,dn.W)((e=>(0,ln.of)(Ch()))),(0,oZ.c)(1e3)))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(vh)),(0,un.ZZ)((e=>{const{salePageIds:t}=e,i={payload:{salePageIds:t},streamInjection:mn(n)};return(0,sn.H)(Fp(i)).pipe((0,FO.T)((t=>Bh(e.dataKey,t))),(0,dn.W)((t=>(0,ln.of)(Ah(e.dataKey)))))})))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(_h)),(0,un.ZZ)((e=>{return o=function*(){try{const i=mn(n),{LocationId:o}=yield(t={streamInjection:i},((e,t,n)=>new Promise(((i,o)=>{var r=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(r,a);s((n=n.apply(e,t)).next())})))(void 0,null,(function*(){const{streamInjection:e}=t,{shopId:n}=e;try{const t=pt("Retailstore/HadSelectedService",e,!1),n=yield Zn(t);return n&&"API0001"===n.ReturnCode?(({Data:e})=>e)(n):(ze.error("[streams/retailStore/fetchRetailStore.stream] fetchRetailStoreInfo failed, ReturnCode is not API0001"),null)}catch(i){return ze.error("[streams/retailStore/fetchRetailStore.stream] fetchRetailStoreInfo error",{errorName:je(i),errorMessage:Je(i),shopId:n}),null}}))),{outerIds:r,defaultLocationId:a,isPreview:s}=e,c=yield((e,t,n=0,i,o)=>Ep(void 0,null,(function*(){const r=encodeURIComponent(t.join()),{shopId:a}=e,s=pt(`SalePageV2/GetSalePageListByOuterId/${a}?outerIds=${r}&locationId=${n}&isPreview=${i}`,e,!0);return function({Data:e},t){return{productList:Object.keys(e).map((t=>e[t][0])).filter((e=>!!e)).map((({Id:e,Title:n="",PicUrl:i="",SalePageCode:o,Price:r,SuggestPrice:a,IsSoldOut:s,IsComingSoon:c,SoldOutActionType:l="",IsRestricted:u})=>({id:e,title:n,imageSrc:i,salePageCode:o,link:`/SalePage/Index/${o||e}`,currency:"$",price:r,suggestPrice:a,isFav:!!t&&(0,j.indexOf)(t,e)>=0,isSoldOut:s,isComingSoon:c,soldOutActionType:l,isRestricted:u})))}}(yield Zn(s),o)})))(i,r,o||a,s);return Sh(e.dataKey,c)}catch(i){return Gh(nn(i))}var t},new Promise(((e,n)=>{var i=e=>{try{a(o.next(e))}catch(t){n(t)}},r=e=>{try{a(o.throw(e))}catch(t){n(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(i,r);a((o=o.apply(void 0,null)).next())}));var o}))))),mZ=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Qh)),(0,FO.T)((e=>{const{keyword:t}=e,i=mn(n),{shopId:o}=i;return{keyword:t,streamInjection:i,shopId:o}})),(0,iZ.n)((({keyword:e,streamInjection:t,shopId:n})=>(0,sn.H)((e=>{return n=[e],i=function*({keyword:e,streamInjection:t}){const{shopId:n}=t;try{const n=pt(`Search/GetShopSalePageTermListByKeyword?keyword=${e}&shopId=${t.shopId}`,t,!0);return(yield Zn(n)).map((({SalePageTermText:e})=>e))}catch(i){throw ze.error(`[ERROR] fetchSalePageListByKeyowrd failed: ${je(i)}: ${Je(i)}: shopId: ${n}, keyword: ${e}`),i}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({keyword:e,streamInjection:t})).pipe((0,FO.T)((e=>Eh(n,e))),(0,dn.W)((e=>(0,ln.of)(Fh(n,nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(wh)),(0,FO.T)((()=>({streamInjection:mn(n)}))),(0,iZ.n)((({streamInjection:e})=>{const{shopId:t}=e;return(0,sn.H)((e=>{return n=[e],i=function*({streamInjection:e}){const{shopId:t}=e;try{const n=pt(`SearchV2/GetShopHotKeywordList?shopId=${t}`,e,!0);return(yield Zn(n)).Data||[]}catch(n){throw ze.error(`[ERROR] fetchHotSearchList failed: ${je(n)}: ${Je(n)}: shopId: ${t}`),n}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:e})).pipe((0,FO.T)((e=>Th(t,e))),(0,dn.W)((e=>(0,ln.of)(xh(t,nn(e))))))}))))),fZ=e=>{return n=[e],i=function*({streamInjection:e,payload:t}){try{const{shopId:n}=e,{categoryId:i,maxCount:o,orderBy:r="",startIndex:a=0,favList:s}=t,c=!!(0,j.isUndefined)(t.isCuratorable)||t.isCuratorable,l=pt(`shopCategory/GetSalePageList/${n}/${i}?order=${r}&startIndex=${a}&maxCount=${o}&isCuratorable=${c}`,e,!0),u=(({Data:{ShopCategoryName:e,ShopCategoryId:t,TotalSize:n,SalePageList:i=[],OrderByDef:o}},r)=>({productList:i.map((({Id:e,Title:t="",PicUrl:n="",PicList:i=[],Price:o,SuggestPrice:a,IsComingSoon:s,IsSoldOut:c,SoldOutActionType:l="",PairsPoints:u,PairsPrice:d,PriceDisplayType:g,DisplayTags:p=[],PromotionPriceList:m=[],IsRestricted:f,EnableIsComingSoon:I,IsShowSellingStartDateTime:h,SellingStartDateTime:b,ListingStartDateTime:y,Metafields:C})=>({id:e,title:t,imageSrc:n,imageList:i,link:`/SalePage/Index/${e}`,currency:"$",price:o,suggestPrice:a,isFav:!!r&&(0,j.indexOf)(r,e)>=0,isComingSoon:s,isSoldOut:c,soldOutActionType:l,pairsPoints:u,pairsPrice:d,priceDisplayType:g,displayTags:p,promotionPriceList:m,isRestricted:f,enableIsComingSoon:I,isShowSellingStartDateTime:h,sellingStartDateTime:b,listingStartDateTime:y,metafields:Us(C)}))),categoryName:e,categoryId:t,totalSize:n,orderBy:o}))(yield Zn(l),s);return u}catch(n){const{shopId:o}=e,{categoryId:r}=t;return ze.error(`[ERROR] fetchCategorySalePageList failed: ${je(n)}: ${Je(n)}: shopId: ${o}, categoryId: ${r}`),Promise.reject(n)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i},IZ=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(kh)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)(Fd(e)).pipe((0,FO.T)((e=>Xh(e))),(0,dn.W)((e=>(0,ln.of)(Vh(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Rh)),(0,FO.T)((e=>{const t=mn(n),{serviceType:i,locationId:o}=e;return{payload:{serviceType:i,locationId:o},streamInjection:t}})),(0,un.ZZ)((e=>(0,sn.H)(xd(e)).pipe((0,FO.T)((e=>Xh(e))),(0,dn.W)((e=>(0,ln.of)(Vh(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Dh)),(0,un.ZZ)((e=>{const t=mn(n),{categoryId:i,orderBy:o,startIndex:r,maxCount:a,isCuratorable:s,dataKey:c}=e,l={streamInjection:t,payload:{categoryId:i,orderBy:o,startIndex:r,maxCount:a,isCuratorable:s}};return(0,sn.H)(fZ(l)).pipe((0,FO.T)((e=>Hh(e,{dataKey:c}))),(0,dn.W)((e=>(0,ln.of)(Lh(c)))))})))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Yh)),(0,iZ.n)((()=>(0,sn.H)((e=>{return n=function*(){const{shopId:t}=e,n=pt(`ShopProfile/GetRetailStoreChannel/${t}`,e,!0),i=yield Zn(n);return null==(o=null==i?void 0:i.Data)?void 0:o.map((({TypeDef:e,DisplayText:t,PageCode:n,IsShowAddress:i,SelectedColor:o,NotSelectedColor:r})=>({type:e,text:t,pageCode:n,isShowAddress:i,selectedColor:o,notSelectedColor:r})));var o},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(mn(n))).pipe((0,FO.T)((e=>Mh(e))),(0,dn.W)((e=>(0,ln.of)(Jh(e))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Nh)),(0,FO.T)((e=>{const{locationId:t}=e.payload;return{streamInjection:mn(n),locationId:t}})),(0,un.ZZ)((({streamInjection:e,locationId:t})=>(0,sn.H)(wd(e,t)).pipe((0,FO.T)((e=>Zh(e))),(0,dn.W)((e=>(0,ln.of)(Vh(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(zh)),(0,iZ.n)((()=>(0,sn.H)((e=>{return n=function*(){const{shopId:t}=e,n=pt(`Shop/GetEnableDisplayStoreList/${t}`,e,!0),i={method:en.RequestMethod.GET};return yield Zn(n,i)},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(mn(n))).pipe((0,FO.T)((e=>Kh(e))),(0,dn.W)((e=>(0,ln.of)(qh(e))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Oh)),(0,FO.T)((e=>{const{categoryId:t,updateSingleTree:i,locationId:o}=e.payload;return{streamInjection:mn(n),categoryId:t,updateSingleTree:i,locationId:o}})),(0,un.ZZ)((({streamInjection:e,categoryId:t,updateSingleTree:n,locationId:i})=>(0,sn.H)(Td(e,t,n,i)).pipe((0,FO.T)((e=>Uh(e))),(0,dn.W)((e=>(0,ln.of)(Ph(nn(e))))))))))),hZ=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)($h)),(0,FO.T)((()=>({streamInjection:mn(n),locationId:t.value.user.retailStoreExpressLocationId}))),(0,un.ZZ)((({streamInjection:e,locationId:t})=>(0,sn.H)(kd(e,t)).pipe((0,FO.T)((e=>eb(e))),(0,dn.W)((e=>(0,ln.of)(tb(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(nb)),(0,FO.T)((()=>({streamInjection:mn(n),locationId:t.value.user.retailStoreExpressLocationId}))),(0,un.ZZ)((({streamInjection:e,locationId:t})=>(0,sn.H)(Ws(e,t)).pipe((0,FO.T)((e=>ib(e))),(0,dn.W)((e=>(0,ln.of)(ob(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(cb)),(0,FO.T)((e=>{const t=mn(n),{id:i,salePageSeq:o,skuId:r,optionalTypeId:a,optionalTypeDef:s,shoppingCartId:c,cartExtendInfoItemGroup:l}=e.payload;return{action:e,params:{payload:{id:i,salePageSeq:o,skuId:r,optionalTypeId:a,optionalTypeDef:s,shoppingCartId:c,cartExtendInfoItemGroup:l},streamInjection:t}}})),(0,un.ZZ)((({action:e,params:t})=>(0,sn.H)((e=>{return n=[e],i=function*({streamInjection:e,payload:{id:t,salePageSeq:n,skuId:i,optionalTypeId:o,optionalTypeDef:r,shoppingCartId:a,cartExtendInfoItemGroup:s}}){const{shopId:c}=e,l=pt("ShoppingCartV2/RemoveItem",e,!1),u={method:en.RequestMethod.POST,body:JSON.stringify({shopId:c,salePageId:t,salePageSeq:n,saleProductSKUId:i,optionalTypeId:o,optionalTypeDef:r,shoppingCartId:a,cartExtendInfoItemGroup:s})};return yield Zn(l,u)},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})(t)).pipe((0,un.ZZ)((()=>{const t={id:e.payload.id,skuId:e.payload.skuId,price:e.payload.price,suggestPrice:e.payload.suggestPrice,name:e.payload.name};return wc(t),(0,ln.of)(lb(),nb(),$h())})),(0,dn.W)((e=>(0,ln.of)(ub(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(rb)),(0,FO.T)((e=>{const t=mn(n);return{action:e,params:{payload:{salePageId:e.payload.productInfo.id,skuId:e.payload.productInfo.skuId,quantity:e.payload.productInfo.quantity},streamInjection:t}}})),(0,un.ZZ)((({action:e,params:t})=>(0,sn.H)(zu(t)).pipe((0,un.ZZ)((t=>{if("success"===t.executeResultMsg.type){const{productInfo:t}=e.payload;Fc(t,t.quantity)}return(0,ln.of)(ab(t),$h(),nb())})),(0,dn.W)((e=>(0,ln.of)(sb(nn(e)))))))))),(e=>e.pipe((0,EO.p)((0,lI.isActionOf)(db)),(0,un.ZZ)((e=>(0,ln.of)(gb(e.payload),gh(e.payload.productInfo.id)))),(0,dn.W)((e=>(0,ln.of)(pb(nn(e)))))))),bZ=e=>{return n=function*(){const t=ke(),n=mn(t),{shopId:i}=n,o=pt(`MemberService/GetMemberCollection/${i}/${e}`,n,!0);try{const e=yield Zn(o);return Promise.resolve((null==e?void 0:e.Data)||[])}catch(r){return ze.error(`[ERROR] fetchMemberCollectionIdList failed: ${je(r)}: ${Je(r)}: shopId: ${i}, memberCode: ${e}`),Promise.reject(r)}},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n},yZ=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(hb)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)(bn()).pipe((0,FO.T)((e=>bb(e))),(0,dn.W)((e=>(0,ln.of)(yb(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Cb)),(0,FO.T)((e=>e.payload)),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=[e],i=function*({streamInjection:e,payload:t}){try{const{shopId:n,accessToken:i,targetPageType:o}=t,r=pt("AuthV4/LoginLineMember",e,!1),a={method:en.RequestMethod.POST,body:JSON.stringify({shopId:n,accessToken:i,source:"Web",device:"Mobile",appVer:null,unloginId:"",appRefereeSourceTypeDef:null,locationId:null,locationEmployeeId:null,linkClickedTime:null,targetPageType:o})},s=yield Zn(r,a),{ReturnCode:c,Message:l}=s||{};return"API3341"===c||(ze.error(`[ERROR] loginLineMember failed ER01: ReturnCode: ${c}, Message: ${l}, payload: ${JSON.stringify(t)}`),!1)}catch(n){return ze.error(`[ERROR] loginLineMember failed ER02: ${je(n)}: ${Je(n)}: payload: ${JSON.stringify(t)}`),!1}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})(e)).pipe((0,FO.T)((e=>bb(e))),(0,dn.W)((e=>(0,ln.of)(vb(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Bb)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=function*(){const t=pt("Auth/Logout",e,!1),n=yield Zn(t);return localStorage.removeItem("ph"),localStorage.removeItem("em"),n},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(e)).pipe((0,FO.T)((e=>Ab(e))),(0,dn.W)((e=>(0,ln.of)(_b(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(mb)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((()=>(0,sn.H)(bn()).pipe((0,un.ZZ)((e=>{var t;if(!e)throw new Error;const i=null!=(t=(0,vn.getCookie)("MID"))?t:null;return i?(0,sn.H)(bZ(i)).pipe((0,FO.T)((e=>fb(e))),(0,dn.W)((e=>(0,ln.of)(Ib(nn(e)))))):(0,sn.H)(Ls(mn(n))).pipe((0,un.ZZ)((e=>{var t;const n=null!=(t=null==e?void 0:e.MemberCode)?t:null;return n?(0,sn.H)(bZ(n)).pipe((0,FO.T)((e=>fb(e))),(0,dn.W)((e=>(0,ln.of)(Ib(nn(e)))))):UO.w})),(0,dn.W)((e=>(0,ln.of)(Ib(nn(e))))))})),(0,dn.W)((e=>(0,ln.of)(Ib(nn(e)))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Gb)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>{const{isEnableStoreExpressPage:t}=(null==n?void 0:n.serverRenderData)||{},{type:i,id:o}=YG();return t?(0,sn.H)(LG(e,{shopId:n.shopId,type:i,id:o})).pipe((0,un.ZZ)((e=>e.IsRetailStoreExpress?(0,ln.of)(Fb(),Qb({isRetailStoreExpress:e.IsRetailStoreExpress,logoUrl:e.LogoUrl,headerBackgroundColor:e.HeaderBackgroundColor})):(0,ln.of)(Qb({isRetailStoreExpress:e.IsRetailStoreExpress,logoUrl:e.LogoUrl,headerBackgroundColor:e.HeaderBackgroundColor})))),(0,dn.W)((e=>(0,ln.of)(Eb(nn(e)))))):(0,ln.of)(Qb({isRetailStoreExpress:!1,logoUrl:"",headerBackgroundColor:""}))})),(0,dn.W)((e=>(0,ln.of)(Eb(nn(e))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Fb)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)(DG(e,n.shopId)).pipe((0,un.ZZ)((e=>{var t,n,i,o;return(null==(t=null==e?void 0:e.RetailStore)?void 0:t.LocationId)?(0,ln.of)(wb((null==(n=null==e?void 0:e.RetailStore)?void 0:n.LocationId)||0),Nh({locationId:null==(i=null==e?void 0:e.RetailStore)?void 0:i.LocationId}),$h(),nb()):(0,ln.of)(wb((null==(o=null==e?void 0:e.RetailStore)?void 0:o.LocationId)||0))})),(0,dn.W)((e=>(0,ln.of)(Tb(nn(e)))))))))));var CZ=Object.defineProperty,vZ=Object.defineProperties,BZ=Object.getOwnPropertyDescriptors,AZ=Object.getOwnPropertySymbols,_Z=Object.prototype.hasOwnProperty,SZ=Object.prototype.propertyIsEnumerable,GZ=(e,t,n)=>t in e?CZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QZ=(e,t)=>{for(var n in t||(t={}))_Z.call(t,n)&&GZ(e,n,t[n]);if(AZ)for(var n of AZ(t))SZ.call(t,n)&&GZ(e,n,t[n]);return e};const EZ=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)([Rb,Vb,Hb])),(0,FO.T)((e=>{const i=mn(n),o=Qi;if((0,lI.isActionOf)(Rb,e)){const{categoryId:t,isShowCurator:n}=e.payload;return{action:e,streamInjection:i,categoryId:t,orderBy:"",isShowCurator:n,cursor:0,maxCount:o}}if((0,lI.isActionOf)(Vb,e)){const n=e.payload,{categoryId:r,isShowCurator:a}=t.value.shopCategory;return{action:e,streamInjection:i,categoryId:r,orderBy:n,isShowCurator:a,cursor:0,maxCount:o}}if((0,lI.isActionOf)(Hb,e)){const{categoryId:n,orderBy:r,isShowCurator:a,cursor:s}=t.value.shopCategory;return{action:e,streamInjection:i,categoryId:n,orderBy:r,isShowCurator:a,cursor:s,maxCount:o}}})),(0,iZ.n)((e=>{var n,i,o=e,{action:r,streamInjection:a}=o,s=((e,t)=>{var n={};for(var i in e)_Z.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&AZ)for(var i of AZ(e))t.indexOf(i)<0&&SZ.call(e,i)&&(n[i]=e[i]);return n})(o,["action","streamInjection"]);return(0,XO.T)((()=>{const{totalSize:e}=t.value.shopCategory;return 0!==e&&s.cursor>=e}),(0,ln.of)(Yb()),(0,sn.H)(fZ({streamInjection:a,payload:(n=QZ({},s),i={isCuratorable:s.isShowCurator,startIndex:s.cursor},vZ(n,BZ(i)))})).pipe((0,FO.T)((({categoryName:e,categoryId:t,orderBy:n,productList:i,totalSize:o})=>{if((0,lI.isActionOf)(Rb,r)){const r=i.length,{isShowCurator:a}=s;return Xb({isExist:null!==e,categoryId:t,isShowCurator:a,orderBy:n,productList:i,cursor:r,totalSize:o})}if((0,lI.isActionOf)(Vb,r)){const e=i.length;return Pb({orderBy:n,productList:i,cursor:e,totalSize:o})}if((0,lI.isActionOf)(Hb,r)){const{cursor:e}=s,t=e+i.length;return Lb({productList:i,cursor:t,totalSize:o})}})),(0,dn.W)((e=>(0,lI.isActionOf)(Rb,r)?(0,ln.of)(Lh(nn(e)),Wb()):(0,lI.isActionOf)(Vb,r)?(0,ln.of)(Lh(nn(e)),Db()):(0,lI.isActionOf)(Hb,r)?(0,ln.of)(Lh(nn(e)),Mb()):void 0))))}))))),FZ=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(xb)),(0,FO.T)((({payload:{categoryId:e}})=>({streamInjection:mn(n),categoryId:e}))),(0,un.ZZ)((({streamInjection:e,categoryId:t})=>(0,XO.T)((()=>0===t),(0,ln.of)(kb([])),(0,sn.H)((e=>{return n=[e],i=function*({streamInjection:e,payload:{categoryId:t}}){const{shopId:n}=e,i=pt(`LayoutTemplateData/GetLayoutTemplateData?adCode=MobileHome_SpCatAdOfficial_ShopCategory_${t}&shopId=${n}`,e,!0);return((e=[])=>e.map((({Title:e,Link:t,PicturePath:{FullUrl:n=""}={FullUrl:""}})=>({title:e,link:t,imgUrl:n.replace("/t/","/s/")}))))(yield Zn(i))},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:e,payload:{categoryId:t}})).pipe((0,FO.T)((e=>kb(e))),(0,dn.W)((e=>(0,ln.of)(Nb(nn(e))))))))))),((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Ob)),(0,FO.T)((()=>mn(n))),(0,un.ZZ)((e=>(0,sn.H)((e=>{return n=function*(){const{shopId:t}=e,n=pt(`LayoutTemplateDataV2/GetOfficialCustomLink?shopId=${t}`,e,!0);return(({Data:e=[]})=>{const t=e.filter((e=>e.Data.length)).map((({Data:e})=>e.map((({Title:e,Link:t})=>({title:e,link:t})))));return[].concat(...t)})(yield Zn(n))},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(e)).pipe((0,FO.T)((e=>Zb(e))),(0,dn.W)((e=>(0,ln.of)(Ub(nn(e))))))))))),wZ=(0,QO.E)(((e,t,n)=>e.pipe((0,EO.p)((0,lI.isActionOf)(Jb)),(0,FO.T)((({payload:{categoryId:e}})=>({streamInjection:mn(n),categoryId:e}))),(0,un.ZZ)((({streamInjection:e,categoryId:t})=>(0,sn.H)((e=>{return n=[e],i=function*({streamInjection:e,payload:{categoryId:t}}){try{const{shopId:n}=e,i=`/cms/api/tagCategory/relativeTags/${n}/${t}`,o={method:en.RequestMethod.GET};return(yield Zn(i,o)).tags.map((e=>({tags:e.text||"",link:`/tagCategory/${e.link}`})))}catch(n){return Promise.reject(n)}},new Promise(((e,o)=>{var r=e=>{try{s(i.next(e))}catch(t){o(t)}},a=e=>{try{s(i.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(r,a);s((i=i.apply(void 0,n)).next())}));var n,i})({streamInjection:e,payload:{categoryId:t}})).pipe((0,FO.T)((e=>jb(e))),(0,dn.W)((e=>(0,ln.of)(zb(nn(e))))))))))),TZ=(0,QO.E)(wO,TO,xO,NO,ZO,RO,MO,pZ,mZ,IZ,hZ,JO,yZ,EZ,FZ,wZ);var xZ=n(1409),kZ=n(1265),NZ=Object.defineProperty,OZ=Object.defineProperties,ZZ=Object.getOwnPropertyDescriptors,UZ=Object.getOwnPropertySymbols,RZ=Object.prototype.hasOwnProperty,XZ=Object.prototype.propertyIsEnumerable,WZ=(e,t,n)=>t in e?NZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,VZ=(e,t)=>{for(var n in t||(t={}))RZ.call(t,n)&&WZ(e,n,t[n]);if(UZ)for(var n of UZ(t))XZ.call(t,n)&&WZ(e,n,t[n]);return e};const PZ=(e,t,n)=>{return o=function*(){try{const{defaultCurrency:i,defaultLanguage:o,availableCurrencies:r=[],exchangeRates:a=[],isEnableCurrency:s=!1,salesMarketSettings:c}=t,{locale:l}=n,u=l||o,{salesCurrency:d}=c||{},g=tt("currency")||(0,vn.getCookie)("currency");let p=g||d||i;if(!g){const e=yield((e,t)=>{return i=function*(){const{shopId:n}=e;try{const i=pt(`Shop/GetShopAvailLanguages?shopId=${n}&lang=${t}`,e,!0),r=yield Zn(i);return"API0001"!==(null==r?void 0:r.ReturnCode)?Promise.reject(new Error("fetchPreferredCurrency failed, ReturnCode is not API0001")):{isEnableAutoDetectCurrency:(o=null==r?void 0:r.Data).IsEnableAutoDetectCurrency,preferredCurrency:o.PreferredCurrency}}catch(i){return ze.error(`[ERROR] fetchPreferredCurrency failed: ${je(i)}: ${Je(i)}: shopId: ${n}, lang: ${t}`),Promise.reject(i)}var o},new Promise(((e,t)=>{var o=e=>{try{a(i.next(e))}catch(n){t(n)}},r=e=>{try{a(i.throw(e))}catch(n){t(n)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((i=i.apply(void 0,null)).next())}));var i})(mn(n),u);e.isEnableAutoDetectCurrency&&e.preferredCurrency&&(p=e.preferredCurrency)}const{rates:m}=a.find((e=>e.base===d))||{};m&&(e.dispatch(TI(m)),e.dispatch(xI(s?r:[]))),(0,vn.addCookie)("currency",p),e.dispatch(kI(p))}catch(i){ze.error(`[ERROR] initCurrency execution failed: ${je(i)}: ${Je(i)}: clientCurrency: ${tt("currency")||(0,vn.getCookie)("currency")}`)}},new Promise(((e,t)=>{var n=e=>{try{r(o.next(e))}catch(n){t(n)}},i=e=>{try{r(o.throw(e))}catch(n){t(n)}},r=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,i);r((o=o.apply(void 0,null)).next())}));var o},DZ=e=>{(e=>{return n=function*(){const t=tt("fr"),n=tt("fr2"),{shopId:i}=e;try{if(t&&n){const o=pt("Fr/Set",e,!1),r={shopId:i,fr:t,fr2:n},a={method:en.RequestMethod.POST,body:JSON.stringify(r)};return yield Zn(o,a)}}catch(a){ze.error(`[ERROR] updateFrInfo Fr/Set failed: ${je(a)}: ${Je(a)}: shopId: ${i}, fr: ${t}, fr2: ${n}`)}const o=tt("utm_source"),r=tt("utm_medium");if("affiliate"===o&&["shopback","affiliates","ichannels","shopdotcom"].includes(r)){const t=(0,vn.getCookie)("trace-fr");"lineshopping"!==t&&"lineoa"!==t||((0,vn.deleteCookie)("trace-fr"),(0,vn.deleteCookie)("trace-fr2"),(0,vn.deleteCookie)("trace-act"));try{const t=pt(`fr/remove/${i}/lineshopping`,e,!1),n=pt(`fr/remove/${i}/lineoa`,e,!1),o={method:en.RequestMethod.DELETE},r=Zn(t,o),a=Zn(n,o);return yield Promise.all([r,a])}catch(a){ze.error(`[ERROR] updateFrInfo Fr/Remove failed: ${je(a)}: ${Je(a)}: shopId: ${i}`)}}},new Promise(((e,i)=>{var o=e=>{try{a(n.next(e))}catch(t){i(t)}},r=e=>{try{a(n.throw(e))}catch(t){i(t)}},a=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,r);a((n=n.apply(void 0,null)).next())}));var n})(mn(e)),vo()};var HZ,LZ,YZ=Object.defineProperty,MZ=Object.defineProperties,JZ=Object.getOwnPropertyDescriptors,jZ=Object.getOwnPropertySymbols,zZ=Object.prototype.hasOwnProperty,KZ=Object.prototype.propertyIsEnumerable,qZ=(e,t,n)=>t in e?YZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;window.ThemeCore=(HZ=((e,t)=>{for(var n in t||(t={}))zZ.call(t,n)&&qZ(e,n,t[n]);if(jZ)for(var n of jZ(t))KZ.call(t,n)&&qZ(e,n,t[n]);return e})({},va),LZ={Constants:i,Cross:l,Desktop:S,commonActions:w,renderClientHtml:({dependencies:e,i18n:t,injectRootEpic:n,injectRootReducer:i,isStopRenderedCallbackOnReady:o=!1,onBeforeRenderCallback:r,pageComponent:a,preloadedState:s})=>{var c;try{const c=((e,t,n={},i=[])=>{const o=(0,VE.HY)(VZ({construct:WF,pageMetaData:PF,globalStyleData:VF,dependencies:DF,activity:jE,coupon:iF,ecoupon:dF,favorite:CF,official:wF,messageData:HF,promotion:tw,salePage:yw,search:Qw,shop:Uw,shoppingCart:Mw,retailStore:lw,user:oT,locale:fT,layoutTemplateData:ST,shopCategory:OT,tagCategory:LT,trackingData:LF},n)),r=(0,QO.E)(TZ,...i),a=(0,xZ.C)({dependencies:t}),s=_e()&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||VE.Zz,c=(0,VE.y$)(o,(l=VZ({},e),OZ(l,ZZ({dependencies:t}))),s((0,VE.Tw)(a,kZ.A)));var l;return a.run(r),c})(s,e,i,n),{translationsData:l,locale:u}=e,{pageType:d}=xe();((e,t)=>{if(!t||!e)return(0,es.oA)((()=>"")),void ze.warn("[render/utilities/initTranslation] no translationsData");(0,es.Lw)(t),(0,es.xS)(e)})(u,l),t&&(((e,t,n)=>{const{defaultLanguage:i,isEnableLanguage:o,allLanguages:r}=n;if(!r)return void ze.warn("[render/utilities/initLangs] initLangs error, reason: no allLanguages data");const a=o?n.availableLanguages:[],s=t||i;e.dispatch(NI({preferredLanguage:s,allLanguages:r,availableLanguages:a}))})(c,u,t),PZ(c,t,e)),r&&r(c),Lc.render(z.createElement(El.Provider,{store:c},z.createElement(GO,{pageComponent:a,dependencies:e,themeComponents:S})),document.getElementById("root")),o?DZ(e):document.addEventListener("DOMContentLoaded",(()=>{_c(),c.dispatch(HI()),d!==Ee.PAGE_TYPE.CATEGORY&&d!==Ee.PAGE_TYPE.SEARCH&&d!==Ee.PAGE_TYPE.STREAM&&d!==Ee.PAGE_TYPE.TAG_CATEGORY&&Sc(),DZ(e)}))}catch(l){ze.error(JSON.stringify({msg:"[render/ui.render.client.desktop] renderDesktopClientHtml error",stack:l.stack})),null==(c=Me)||c.sendLogs([{severity:"ERROR",message:"[render/ui.render.client.desktop] renderDesktopClientHtml error",customPayload:{stack:l.stack,dependencies:e}}])}},styles:F,utilities:o,providers:r,configs:s,selectors:c,gqls:Q,streams:a,hooks:E,contexts:G},MZ(HZ,JZ(LZ)))},5413:()=>{},2254:()=>{},5785:(e,t,n)=>{"use strict";n.d(t,{g:()=>i});const i={PAGE:"page",GLOBAL_SETTING:"globalSetting"}},9057:(e,t,n)=>{"use strict";n.d(t,{O:()=>o,x:()=>i});var i=(e=>(e.BackInStockAlert="BackInStockAlert",e.NoRestock="NoRestock",e.OutOfStock="OutOfStock",e.Restock="Restock",e))(i||{}),o=(e=>(e[e.OutOfStock=0]="OutOfStock",e[e.Restock=1]="Restock",e))(o||{})},1811:()=>{},814:()=>{},6841:()=>{},552:()=>{},1772:(e,t,n)=>{"use strict";n.d(t,{V:()=>i});var i=(e=>(e.SubCategory="SubCategory",e.Category="Category",e.CustomLink="CustomLink",e))(i||{})},1767:()=>{},9126:()=>{},382:()=>{},9:(e,t,n)=>{"use strict";var i;n.d(t,{yb:()=>o,CJ:()=>a,SX:()=>c()}),(e=>{let t;(e=>{let t;(e=>{let t;(e=>{let t,n,i,o,r,a,s,c,l,u,d;(e=>{let t;var n;(n=t=e.DeviceModeEnum||(e.DeviceModeEnum={}))[n.Unknown=0]="Unknown",n[n.Desktop=1]="Desktop",n[n.Mobile=2]="Mobile"})(t=e.Device||(e.Device={})),(e=>{let t;var n;(n=t=e.InfoModuleTypeEnum||(e.InfoModuleTypeEnum={}))[n.Album=0]="Album",n[n.Article=1]="Article",n[n.Video=2]="Video"})(n=e.InfoModule||(e.InfoModule={})),(e=>{let t;var n;let i;var o;let r;var a;let s;var c;let l;var u;let d;var g;(n=t=e.LayoutAreaDisplayEnum||(e.LayoutAreaDisplayEnum={}))[n.Default=0]="Default",n[n.TopBottom=1]="TopBottom",n[n.Top=2]="Top",n[n.TopLeft=3]="TopLeft",(o=i=e.LayoutTemplateTypeEnum||(e.LayoutTemplateTypeEnum={}))[o.Default=0]="Default",o[o.Index=1]="Index",o[o.ShoppingCar=2]="ShoppingCar",o[o.Activity=3]="Activity",(a=r=e.LeftAsideTypeEnum||(e.LeftAsideTypeEnum={}))[a.Category=0]="Category",a[a.Brand=1]="Brand",a[a.Payment=2]="Payment",a[a.MyAccount=3]="MyAccount",a[a.Empty=4]="Empty",(c=s=e.OfficialShopLayoutTypeEnum||(e.OfficialShopLayoutTypeEnum={}))[c.Activity=0]="Activity",c[c.Content=1]="Content",c[c.Image=2]="Image",(u=l=e.OfficialShopStatusDefEnum||(e.OfficialShopStatusDefEnum={}))[u.InProcess=0]="InProcess",u[u.Open=1]="Open",u[u.Closed=2]="Closed",(g=d=e.OfficialShopTypeDefEnum||(e.OfficialShopTypeDefEnum={}))[g.SelfOwned=0]="SelfOwned",g[g.SubDomain=1]="SubDomain"})(i=e.Official||(e.Official={})),(e=>{let t;var n;let i;var o;let r;var a;(n=t=e.PromotionConditionDiscountTypeV2Enum||(e.PromotionConditionDiscountTypeV2Enum={}))[n.DiscountPrice=1]="DiscountPrice",n[n.DiscountRate=2]="DiscountRate",n[n.FixedPrice=4]="FixedPrice",n[n.FreeGift=8]="FreeGift",n[n.All=15]="All",(o=i=e.PromotionConditionTypeV2Enum||(e.PromotionConditionTypeV2Enum={}))[o.TotalPrice=1]="TotalPrice",o[o.TotalQty=2]="TotalQty",o[o.ReachQty=4]="ReachQty",o[o.TotalPriceV2=8]="TotalPriceV2",o[o.TotalQtyV2=16]="TotalQtyV2",o[o.CrmMemberTierTotalPrice=32]="CrmMemberTierTotalPrice",o[o.All=63]="All",(a=r=e.PromotionTargetTypeV2Enum||(e.PromotionTargetTypeV2Enum={}))[a.Shop=1]="Shop",a[a.Category=2]="Category",a[a.SalePage=4]="SalePage",a[a.PromotionSalePage=8]="PromotionSalePage",a[a.All=15]="All"})(o=e.Promotion||(e.Promotion={})),(e=>{let t;var n;let i;var o;(n=t=e.SaleProductShippingTypeEnum||(e.SaleProductShippingTypeEnum={}))[n.Normal=1]="Normal",n[n.PreOrderWithStartDate=2]="PreOrderWithStartDate",n[n.CustomMade=3]="CustomMade",n[n.CustomerAppointment=4]="CustomerAppointment",n[n.PreOrderWithStartDateAndEndDate=5]="PreOrderWithStartDateAndEndDate",(o=i=e.SaleProductTemperatureTypeEnum||(e.SaleProductTemperatureTypeEnum={}))[o.Normal=1]="Normal",o[o.Refrigerator=2]="Refrigerator",o[o.Freezer=3]="Freezer"})(r=e.SalePage||(e.SalePage={})),(e=>{let t;var n;let i;var o;(n=t=e.SalePageVideoPositionTypeEnum||(e.SalePageVideoPositionTypeEnum={}))[n.Front=0]="Front",n[n.Last=1]="Last",(o=i=e.SalePageVideoTypeEnum||(e.SalePageVideoTypeEnum={}))[o.MainImage=0]="MainImage",o[o.SaleProductDesc=1]="SaleProductDesc"})(a=e.SalePageV2||(e.SalePageV2={})),(e=>{let t;var n;(n=t=e.SearchDataSourceEnum||(e.SearchDataSourceEnum={}))[n.ES=0]="ES",n[n.DB=1]="DB"})(s=e.Search||(e.Search={})),(e=>{let t;var n;let i;var o;(n=t=e.ShippingFeeTypeDefEnum||(e.ShippingFeeTypeDefEnum={}))[n.Free=0]="Free",n[n.OverPrice=1]="OverPrice",n[n.Fixed=2]="Fixed",(o=i=e.ShippingProfileTypeDefEnum||(e.ShippingProfileTypeDefEnum={}))[o.Home=1]="Home",o[o.Family=2]="Family",o[o.SevenEleven=4]="SevenEleven",o[o.FamilyPickup=8]="FamilyPickup",o[o.SevenElevenPickup=16]="SevenElevenPickup",o[o.LocationPickup=32]="LocationPickup",o[o.CashOnDelivery=64]="CashOnDelivery",o[o.All=127]="All"})(c=e.ShippingProfile||(e.ShippingProfile={})),(e=>{let t;var n;let i;var o;(n=t=e.ShopHeaderStyleDefEnum||(e.ShopHeaderStyleDefEnum={}))[n.None=0]="None",n[n.Black=1]="Black",n[n.Blue=2]="Blue",n[n.Purple=3]="Purple",n[n.Pink=4]="Pink",n[n.Green=5]="Green",n[n.Grey=6]="Grey",n[n.Orange=7]="Orange",n[n.Peach=8]="Peach",n[n.Light=9]="Light",n[n.Red=10]="Red",n[n.Cyan=11]="Cyan",(o=i=e.ShopTypeDefEnum||(e.ShopTypeDefEnum={}))[o.Ordinary=0]="Ordinary",o[o.Main=1]="Main",o[o.Medium=2]="Medium",o[o.Small=3]="Small",o[o.Lite=4]="Lite",o[o.Free=5]="Free"})(l=e.Shop||(e.Shop={})),(e=>{let t;var n;let i;var o;let r;var a;let s;var c;(n=t=e.ShoppingCartPayTypeEnum||(e.ShoppingCartPayTypeEnum={}))[n.CreditCardOnce=0]="CreditCardOnce",n[n.CreditCardInstallment=1]="CreditCardInstallment",n[n.Family=2]="Family",n[n.SevenEleven=3]="SevenEleven",(o=i=e.ShoppingCartTrackChannelTypeDefEnum||(e.ShoppingCartTrackChannelTypeDefEnum={}))[o.Unknown=0]="Unknown",o[o.Mall=1]="Mall",o[o.Brand=2]="Brand",(a=r=e.ShoppingCartTrackDeviceTypeDefEnum||(e.ShoppingCartTrackDeviceTypeDefEnum={}))[a.Unknown=0]="Unknown",a[a.PC=1]="PC",a[a.Mobile=2]="Mobile",a[a.Pad=3]="Pad",(c=s=e.ShoppingCartTrackSourceTypeDefEnum||(e.ShoppingCartTrackSourceTypeDefEnum={}))[c.Unknown=0]="Unknown",c[c.Web=1]="Web",c[c.iOSApp=2]="iOSApp",c[c.AndroidApp=3]="AndroidApp",c[c.LocationWizard=4]="LocationWizard"})(u=e.ShoppingCart||(e.ShoppingCart={})),(e=>{let t;var n;(n=t=e.SoldOutTypeEnum||(e.SoldOutTypeEnum={}))[n.OutOfStock=0]="OutOfStock",n[n.Restock=1]="Restock"})(d=e.ShopProfile||(e.ShopProfile={}))})(t=e.BE||(e.BE={}))})(t=e.Frontend||(e.Frontend={}))})(t=e.WebStore||(e.WebStore={}))})(i||(i={}));const o=i;var r;(e=>{let t;(e=>{let t;(e=>{let t;(e=>{let t;(e=>{let t;(e=>{let t;var n;let i;var o;(n=t=e.ImageUploadTypeEnum||(e.ImageUploadTypeEnum={}))[n.Upload=0]="Upload",n[n.Material=1]="Material",n[n.Temp=2]="Temp",(o=i=e.ImageOperationTypeEnum||(e.ImageOperationTypeEnum={}))[o.NoChange=0]="NoChange",o[o.New=1]="New",o[o.Delete=2]="Delete",o[o.Clone=3]="Clone"})(t=e.Images||(e.Images={}))})(t=e.BE||(e.BE={}))})(t=e.BL||(e.BL={}))})(t=e.Sms||(e.Sms={}))})(t=e.NineYi||(e.NineYi={}))})(r||(r={}));const a=r;var s=n(382),c=n.n(s)},4546:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EDIT_TYPE:()=>a.g,MWebApi:()=>I.yb,Model:()=>l.a,OsmApi:()=>I.CJ,ProductModuleOrderBy:()=>h.By,SalepageMetafieldDisplayTypeEnum:()=>h.ZL,SlideMenuType:()=>p.V,SoldOutActionType:()=>s.x,SoldOutTypeEnum:()=>s.O,SortDirection:()=>h.UE,SortType:()=>h.r3,TemplateKeyEnum:()=>h.DY,ThemeTable:()=>I.SX});var i=n(5413),o={};for(const b in i)["default","Model"].indexOf(b)<0&&(o[b]=()=>i[b]);n.d(t,o);var r=n(2254);o={};for(const b in r)["default","Model"].indexOf(b)<0&&(o[b]=()=>r[b]);n.d(t,o);var a=n(5785),s=n(9057),c=n(1811),l=n.n(c),u=n(814);o={};for(const b in u)["default","Model","EDIT_TYPE","SoldOutActionType","SoldOutTypeEnum"].indexOf(b)<0&&(o[b]=()=>u[b]);n.d(t,o);var d=n(6841);o={};for(const b in d)["default","Model","EDIT_TYPE","SoldOutActionType","SoldOutTypeEnum"].indexOf(b)<0&&(o[b]=()=>d[b]);n.d(t,o);var g=n(552);o={};for(const b in g)["default","Model","EDIT_TYPE","SoldOutActionType","SoldOutTypeEnum"].indexOf(b)<0&&(o[b]=()=>g[b]);n.d(t,o);var p=n(1772),m=n(1767);o={};for(const b in m)["default","Model","EDIT_TYPE","SoldOutActionType","SoldOutTypeEnum","SlideMenuType"].indexOf(b)<0&&(o[b]=()=>m[b]);n.d(t,o);var f=n(9126);o={};for(const b in f)["default","Model","EDIT_TYPE","SoldOutActionType","SoldOutTypeEnum","SlideMenuType"].indexOf(b)<0&&(o[b]=()=>f[b]);n.d(t,o);var I=n(9),h=n(7837)},7837:(e,t,n)=>{"use strict";n.d(t,{By:()=>r,DY:()=>s,UE:()=>i,ZL:()=>a,r3:()=>o});var i=(e=>(e.ASC="ASC",e.DESC="DESC",e))(i||{}),o=(e=>(e.SPECIAL_PRICE="SPECIAL_PRICE",e))(o||{}),r=(e=>(e.PRICE_HIGH_TO_LOW="PriceHighToLow",e.PRICE_LOW_TO_HIGH="PriceLowToHigh",e.PAGE_VIEW="PageView",e.NEWEST="Newest",e.SALES="Sales",e.CURATOR="Curator",e))(r||{}),a=(e=>(e.TEXT="Text",e.PRIMARY_LABEL="PrimaryLabel",e.SECONDARY_LABEL="SecondaryLabel",e))(a||{}),s=(e=>(e.SALEPAGE_TITLE="salepage_title",e))(s||{})},5927:e=>{"use strict";e.exports=t},8709:e=>{"use strict";e.exports=o},3559:e=>{"use strict";e.exports=r},7450:t=>{"use strict";t.exports=e},8068:e=>{"use strict";e.exports=n},9310:e=>{"use strict";e.exports=i},2634:()=>{},2623:()=>{}},c={};function l(e){var t=c[e];if(void 0!==t)return t.exports;var n=c[e]={id:e,loaded:!1,exports:{}};return s[e].call(n.exports,n,n.exports,l),n.loaded=!0,n.exports}l.m=s,a=[],l.O=(e,t,n,i)=>{if(!t){var o=1/0;for(u=0;u<a.length;u++){for(var[t,n,i]=a[u],r=!0,s=0;s<t.length;s++)(!1&i||o>=i)&&Object.keys(l.O).every((e=>l.O[e](t[s])))?t.splice(s--,1):(r=!1,i<o&&(o=i));if(r){a.splice(u--,1);var c=n();void 0!==c&&(e=c)}}return e}i=i||0;for(var u=a.length;u>0&&a[u-1][2]>i;u--)a[u]=a[u-1];a[u]=[t,n,i]},l.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return l.d(t,{a:t}),t},l.d=(e,t)=>{for(var n in t)l.o(t,n)&&!l.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),l.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={818:0};l.O.j=t=>0===e[t];var t=(t,n)=>{var i,o,[r,a,s]=n,c=0;if(r.some((t=>0!==e[t]))){for(i in a)l.o(a,i)&&(l.m[i]=a[i]);if(s)var u=s(l)}for(t&&t(n);c<r.length;c++)o=r[c],l.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return l.O(u)},n=self.webpackChunk_91app_nineyi_lib_themecore=self.webpackChunk_91app_nineyi_lib_themecore||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),l.nc=void 0;var u=l.O(void 0,[121],(()=>l(6006)));return l.O(u)})(),e.exports=i(n("./node_modules/lodash/lodash.js"),n("react"),n("./node_modules/jsonpath/jsonpath.js"),n("@91app/nineyi.utility.tracking"),n("react-dom"),n("react-redux"))},"./node_modules/@91app/nineyi.lib.themecore/public/themecore/js/nineyi.themeCore.desktop.vendor.module.js":()=>{(self.webpackChunk_91app_nineyi_lib_themecore=self.webpackChunk_91app_nineyi_lib_themecore||[]).push([[121],{1064:function(e,t){!function(e){"use strict";const t={isShowSFTPContractNote:!0,isHideStoreCustomerService:!1,isHideMembershipDescription:!1,noServiceAreaExcludeZipCode:[],isEnableshippingCartMoreStorePayMethod:!1,customerHeaderConfig:"",customerSalePageImgConfig:"",isShowSalePageProductId:!0,isProductCardTargetBlankOnCategoryPage:!1,isChannelActive:!1,isChannelSwitchActive:!1,isDirectlyAddToCart:!1,isBreadcrumbsActive:!0,isUseFastBuy:!1,isNewPXProductList:!1,isBubbleAddToCart:!1,customerServiceMessageConfig:"",customerUIConfig:{},isShopsDesktopImageNeedCompress:!1,isMujiCustomerFooter:!1,isHideTypeButton:!1,isEnableAdidasCustom:!1,isCustomUnableChangePasswordPrompt:!1,customVipMemberTradesSumTitle:!1,customCarouselAutoplaySecond:3},n={isShowSFTPContractNote:!0,isHideStoreCustomerService:!1,isHideMembershipDescription:!1,noServiceAreaExcludeZipCode:[],isEnableshippingCartMoreStorePayMethod:!1,customerHeaderConfig:"",customerSalePageImgConfig:"",isShowSalePageProductId:!0,isProductCardTargetBlankOnCategoryPage:!1,isChannelActive:!1,isChannelSwitchActive:!1,isDirectlyAddToCart:!1,isBreadcrumbsActive:!0,isUseFastBuy:!1,isNewPXProductList:!1,isBubbleAddToCart:!1,customerServiceMessageConfig:"",customerUIConfig:{},isShopsDesktopImageNeedCompress:!1,isMujiCustomerFooter:!1,isHideTypeButton:!1,isEnableAdidasCustom:!1,isCustomUnableChangePasswordPrompt:!1,customVipMemberTradesSumTitle:!1,customCarouselAutoplaySecond:3},i={dev:{default:t,tw:{22:{isChannelActive:!0,isChannelSwitchActive:!0,isDirectlyAddToCart:!0,isUseFastBuy:!0,isNewPXProductList:!0,isBubbleAddToCart:!0},225:{isHideStoreCustomerService:!0,isHideMembershipDescription:!0,customerSalePageImgConfig:"_碧兒泉",isBreadcrumbsActive:!1,customerServiceMessageConfig:"線上購物問與答",isShopsDesktopImageNeedCompress:!0},231:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},233:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0},235:{isProductCardTargetBlankOnCategoryPage:!0},10230:{isEnableshippingCartMoreStorePayMethod:!0},12202:{isShowSalePageProductId:!1},12209:{isShowSFTPContractNote:!1},12488:{isCustomUnableChangePasswordPrompt:!0,customVipMemberTradesSumTitle:!0},12868:{noServiceAreaExcludeZipCode:["882","896","883"]}},hk:{},my:{}},qa:{default:t,tw:{225:{isHideStoreCustomerService:!0,customerServiceMessageConfig:"線上購物問與答",customCarouselAutoplaySecond:5},231:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},233:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isShopsDesktopImageNeedCompress:!0,isHideTypeButton:!0,isEnableAdidasCustom:!0},10230:{isEnableshippingCartMoreStorePayMethod:!0},10490:{isEnableshippingCartMoreStorePayMethod:!0},12157:{customerSalePageImgConfig:"_碧兒泉"},12202:{isShowSalePageProductId:!1},12209:{isShowSFTPContractNote:!1},12294:{isHideMembershipDescription:!0},12488:{isCustomUnableChangePasswordPrompt:!0,customVipMemberTradesSumTitle:!0},12868:{isEnableshippingCartMoreStorePayMethod:!0,noServiceAreaExcludeZipCode:["882","896","883"]}},hk:{2:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5}},my:{}},qa11:{default:t,tw:{231:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},233:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0}}},stage:{default:n,tw:{8:{isShopsDesktopImageNeedCompress:!0},360:{noServiceAreaExcludeZipCode:["882","896","883"],isEnableshippingCartMoreStorePayMethod:!0},2325:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},2373:{noServiceAreaExcludeZipCode:["882","896","883"]},40589:{customerSalePageImgConfig:"_碧兒泉",isShopsDesktopImageNeedCompress:!0},40625:{customerSalePageImgConfig:"_碧兒泉"},41337:{isHideStoreCustomerService:!0,customerServiceMessageConfig:"線上購物問與答"},41364:{isEnableshippingCartMoreStorePayMethod:!0},41426:{isEnableshippingCartMoreStorePayMethod:!0},41566:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isShowSalePageProductId:!1,isMujiCustomerFooter:!0},41571:{isShowSFTPContractNote:!1,customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0},41591:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0}},hk:{20:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},21:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},76:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},77:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5}}},prod:{default:n,tw:{8:{isShopsDesktopImageNeedCompress:!0},360:{noServiceAreaExcludeZipCode:["882","896","883"],isEnableshippingCartMoreStorePayMethod:!0},2325:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isMujiCustomerFooter:!0},2373:{noServiceAreaExcludeZipCode:["882","896","883"]},40522:{isCustomUnableChangePasswordPrompt:!0},40589:{customerSalePageImgConfig:"_碧兒泉",isShopsDesktopImageNeedCompress:!0},40625:{customerSalePageImgConfig:"_碧兒泉"},40916:{customVipMemberTradesSumTitle:!0},41337:{isHideStoreCustomerService:!0,customerServiceMessageConfig:"線上購物問與答"},41364:{isEnableshippingCartMoreStorePayMethod:!0},41426:{isEnableshippingCartMoreStorePayMethod:!0},41566:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"}},searchBox:{backgroundColor:"F5F5F5"}},isShowSalePageProductId:!1,isMujiCustomerFooter:!0},41571:{isShowSFTPContractNote:!1,customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0},41591:{customerHeaderConfig:{headerLogo:{position:{logoContainer:"logo-center"}},navMenu:{position:{navMenuContainer:"nav-menu-center",mainNavMenu:"nav-menu-main-center",subNavMenu:"sub-nav-li-center"},font:{weight:"700"},icon:{display:!1}},searchBox:{radius:"rectangle",backgroundColor:"ECEFF1"}},isHideTypeButton:!0,isEnableAdidasCustom:!0},41602:{isHideMembershipDescription:!0}},hk:{20:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},21:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},76:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5},77:{isProductCardTargetBlankOnCategoryPage:!0,customCarouselAutoplaySecond:5}},my:{}}},o=e=>{var n;return(null==(n=i[null==e?void 0:e.toLowerCase()])?void 0:n.default)||t},r=(e,t)=>{var n;const r=o(e);return(null==(n=i[null==e?void 0:e.toLowerCase()])?void 0:n[null==t?void 0:t.toLowerCase()])||r};var a=(e=>(e.isHideStoreCustomerService="isHideStoreCustomerService",e.isShowSFTPContractNote="isShowSFTPContractNote",e.isHideMembershipDescription="isHideMembershipDescription",e.customerSalePageImgConfig="customerSalePageImgConfig",e.isShowSalePageProductId="isShowSalePageProductId",e.isChannelActive="isChannelActive",e.isChannelSwitchActive="isChannelSwitchActive",e.isDirectlyAddToCart="isDirectlyAddToCart",e.isBreadcrumbsActive="isBreadcrumbsActive",e.isUseFastBuy="isUseFastBuy",e.isNewPXProductList="isNewPXProductList",e.isBubbleAddToCart="isBubbleAddToCart",e.customerUIConfig="customerUIConfig",e.customerServiceMessageConfig="customerServiceMessageConfig",e.noServiceAreaExcludeZipCode="noServiceAreaExcludeZipCode",e.isEnableshippingCartMoreStorePayMethod="isEnableshippingCartMoreStorePayMethod",e.isProductCardTargetBlankOnCategoryPage="isProductCardTargetBlankOnCategoryPage",e.isShopsDesktopImageNeedCompress="isShopsDesktopImageNeedCompress",e.isMujiCustomerFooter="isMujiCustomerFooter",e.isHideTypeButton="isHideTypeButton",e.isEnableAdidasCustom="isEnableAdidasCustom",e.customerHeaderConfig="customerHeaderConfig",e.isCustomUnableChangePasswordPrompt="isCustomUnableChangePasswordPrompt",e.customVipMemberTradesSumTitle="customVipMemberTradesSumTitle",e.customCarouselAutoplaySecond="customCarouselAutoplaySecond",e))(a||{});e.getSetting=(e,t,n,i)=>{var a;if(!(e&&t&&n&&i))return null;const s=o(e),c=null==(a=r(e,t)[n])?void 0:a[i];return void 0!==c?c:null==s?void 0:s[i]},e.settingNameEnum=a,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(t)},3813:function(e,t){!function(e){"use strict";var t,n=((t=n||{}).frontend_common_vip_member_zone="frontend_common_vip_member_zone",t.frontend_common_vip_member_zone_entrance="frontend_common_vip_member_zone_entrance",t.frontend_common_back_to_vip_member_zone="frontend_common_back_to_vip_member_zone",t.frontend_common_order_search="frontend_common_order_search",t.frontend_trades_order_trades_order_list_order_list="frontend_trades_order_trades_order_list_order_list",t.frontend_vip_member_index_check_order="frontend_vip_member_index_check_order",t.frontend_common_back_to_order_search="frontend_common_back_to_order_search",t.frontend_common_my_ecoupon="frontend_common_my_ecoupon",t.frontend_common_ecoupon_zone="frontend_common_ecoupon_zone",t.frontend_common_go_to_ecoupon_zone="frontend_common_go_to_ecoupon_zone",t.frontend_common_ecoupon="frontend_common_ecoupon",t.frontend_vip_member_email_notification_sms_subscribe="frontend_vip_member_email_notification_sms_subscribe",t.frontend_vip_member_email_notification_promotion_sms="frontend_vip_member_email_notification_promotion_sms",t.frontend_shop_introduce_cancel_order_description="frontend_shop_introduce_cancel_order_description",t.frontend_shop_introduce_why_not_receive_einvoice_description="frontend_shop_introduce_why_not_receive_einvoice_description",t.frontend_shop_introduce_einvoice_donation_description="frontend_shop_introduce_einvoice_donation_description",t.frontend_shop_introduce_how_to_redeem_einvoice_prize_description="frontend_shop_introduce_how_to_redeem_einvoice_prize_description",t.frontend_shop_introduce_non_winning_einvoice_delivery_description="frontend_shop_introduce_non_winning_einvoice_delivery_description",t.frontend_shop_introduce_einvoice_return_user_description="frontend_shop_introduce_einvoice_return_user_description",t.frontend_common_points="frontend_common_points",t.frontend_common_points_unit="frontend_common_points_unit",t.frontend_common_not_yet_open_for_sale="frontend_common_not_yet_open_for_sale",t.frontend_common_cannot_purchase="frontend_common_cannot_purchase",t),i=(e=>(e.mweb="mweb",e.osm="osm",e))(i||{}),o=(e=>(e.frontend="frontend",e.backend="backend",e.cms="cms",e.app="app",e))(o||{}),r=(e=>(e.dev="dev",e.qa="qa",e.pp="pp",e.stage="stage",e.prod="prod",e))(r||{}),a=(e=>(e.tw="tw",e.hk="hk",e.my="my",e))(a||{});const s={mweb:{frontend:{hk:{5:{frontend_common_not_yet_open_for_sale:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5",frontend_common_cannot_purchase:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5"},11:{frontend_common_vip_member_zone:"hk_qa.mweb.frontend.common.vipmember_zone_11",frontend_common_vip_member_zone_entrance:"hk_qa.mweb.frontend.common.vipmember_zone_entrance_11",frontend_common_back_to_vip_member_zone:"hk_qa.mweb.frontend.common.back_to_vipmember_zone_11",frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_11",frontend_vip_member_index_check_order:"hk_qa.mweb.frontend.vip_member.index.check_order_11",frontend_common_back_to_order_search:"hk_qa.mweb.frontend.common.back_to_order_search_11",frontend_trades_order_trades_order_list_order_list:"hk_qa.mweb.frontend.trades_order_trades_order_list.order_list_11",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_11",frontend_common_ecoupon_zone:"hk_qa.mweb.frontend.common.ecoupon_zone_11",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_11",frontend_vip_member_email_notification_sms_subscribe:"hk_qa.mweb.frontend.vip_member.email_notification.sms_subscribe_11",frontend_vip_member_email_notification_promotion_sms:"hk_qa.mweb.frontend.vip_member.email_notification.promotion_sms_11"},24:{frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_24",frontend_vip_member_index_check_order:"hk_qa.mweb.frontend.vip_member.index.check_order_24",frontend_common_back_to_order_search:"hk_qa.mweb.frontend.common.back_to_order_search_24",frontend_trades_order_trades_order_list_order_list:"hk_qa.mweb.frontend.trades_order_trades_order_list.order_list_24",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_24",frontend_common_ecoupon_zone:"hk_qa.mweb.frontend.common.ecoupon_zone_24",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_24",frontend_common_points:"hk_qa.mweb.frontend.common.points_24",frontend_common_points_unit:"hk_qa.mweb.frontend.common.points_unit_24"}},tw:{233:{frontend_shop_introduce_why_not_receive_einvoice_description:"tw_qa.mweb.frontend.shop_introduce.why_not_receive_einvoice_description_233",frontend_shop_introduce_einvoice_donation_description:"tw_qa.mweb.frontend.shop_introduce.einvoice_donation_description_233",frontend_shop_introduce_how_to_redeem_einvoice_prize_description:"tw_qa.mweb.frontend.shop_introduce.how_to_redeem_einvoice_prize_description_233",frontend_shop_introduce_non_winning_einvoice_delivery_description:"tw_qa.mweb.frontend.shop_introduce.non_winning_einvoice_delivery_description_233",frontend_shop_introduce_einvoice_return_user_description:"tw_qa.mweb.frontend.shop_introduce.einvoice_return_user_description_233"},12868:{frontend_shop_introduce_cancel_order_description:"tw_qa.mweb.frontend.shop_introduce.cancel_order_description_12868"}}},backend:null,cms:{hk:{5:{frontend_common_not_yet_open_for_sale:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5",frontend_common_cannot_purchase:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5"},11:{frontend_common_vip_member_zone:"hk_qa.mweb.frontend.common.vipmember_zone_11",frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_11",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_11",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_11"},24:{frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_24",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_24"}}},app:{hk:{5:{frontend_common_not_yet_open_for_sale:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5",frontend_common_cannot_purchase:"hk_qa.mweb.frontend.common.not_yet_open_for_sale_5"},11:{frontend_common_vip_member_zone:"hk_qa.mweb.frontend.common.vipmember_zone_11",frontend_common_vip_member_zone_entrance:"hk_qa.mweb.frontend.common.vipmember_zone_entrance_11",frontend_common_back_to_vip_member_zone:"hk_qa.mweb.frontend.common.back_to_vipmember_zone_11",frontend_common_order_search:"hk_qa.mweb.frontend.common.order_search_11",frontend_vip_member_index_check_order:"hk_qa.mweb.frontend.vip_member.index.check_order_11",frontend_common_back_to_order_search:"hk_qa.mweb.frontend.common.back_to_order_search_11",frontend_common_my_ecoupon:"hk_qa.mweb.frontend.common.my_ecoupon_11",frontend_common_ecoupon_zone:"hk_qa.mweb.frontend.common.ecoupon_zone_11",frontend_common_ecoupon:"hk_qa.mweb.frontend.common.ecoupon_11",frontend_vip_member_email_notification_sms_subscribe:"hk_qa.mweb.app.vip_member.email_notification.sms_subscribe_11",frontend_vip_member_email_notification_promotion_sms:"hk_qa.mweb.frontend.vip_member.email_notification.promotion_sms_11"}}}}},c={mweb:{frontend:{hk:{7:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_7",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_7",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_7",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_7",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_7",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_7",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_7",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_7",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_7",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_7",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.frontend.vip_member.email_notification.sms_subscribe_7",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_7"},17:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_17",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_17",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_17",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_17",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_17",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_17",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_17",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_17",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_17",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_17",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.frontend.vip_member.email_notification.sms_subscribe_17",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_17"},25:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_25",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_25",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_25",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_25",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_25",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_25",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_25",frontend_common_points:"hk_prod.mweb.frontend.common.points_25",frontend_common_points_unit:"hk_prod.mweb.frontend.common.points_unit_25"},28:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_28",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_28",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_28",frontend_trades_order_trades_order_list_order_list:"hk_prod.mweb.frontend.trades_order_trades_order_list.order_list_28",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_28",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_28",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_28",frontend_common_points:"hk_prod.mweb.frontend.common.points_28",frontend_common_points_unit:"hk_prod.mweb.frontend.common.points_unit_28"},85:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"},86:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"}},tw:{360:{frontend_shop_introduce_cancel_order_description:"tw_prod.mweb.frontend.shop_introduce.cancel_order_description_360"},41426:{frontend_shop_introduce_cancel_order_description:"tw_prod.mweb.frontend.shop_introduce.cancel_order_description_41426"},41571:{frontend_shop_introduce_why_not_receive_einvoice_description:"tw_prod.mweb.frontend.shop_introduce.why_not_receive_einvoice_description_41571",frontend_shop_introduce_einvoice_donation_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_donation_description_41571",frontend_shop_introduce_how_to_redeem_einvoice_prize_description:"tw_prod.mweb.frontend.shop_introduce.how_to_redeem_einvoice_prize_description_41571",frontend_shop_introduce_non_winning_einvoice_delivery_description:"tw_prod.mweb.frontend.shop_introduce.non_winning_einvoice_delivery_description_41571",frontend_shop_introduce_einvoice_return_user_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_return_user_description_41571"},41591:{frontend_shop_introduce_why_not_receive_einvoice_description:"tw_prod.mweb.frontend.shop_introduce.why_not_receive_einvoice_description_41591",frontend_shop_introduce_einvoice_donation_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_donation_description_41591",frontend_shop_introduce_how_to_redeem_einvoice_prize_description:"tw_prod.mweb.frontend.shop_introduce.how_to_redeem_einvoice_prize_description_41591",frontend_shop_introduce_non_winning_einvoice_delivery_description:"tw_prod.mweb.frontend.shop_introduce.non_winning_einvoice_delivery_description_41591",frontend_shop_introduce_einvoice_return_user_description:"tw_prod.mweb.frontend.shop_introduce.einvoice_return_user_description_41591"}}},backend:null,cms:{hk:{7:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_7",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_7",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_7",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_7"},17:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_17",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_17",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_17",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_17"},25:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_25",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_25"},28:{frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_28",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_28"},85:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"},86:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"}}},app:{hk:{7:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_7",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_7",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_7",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_7",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_7",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_7",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_7",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_7",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_7",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.app.vip_member.email_notification.sms_subscribe_7",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_7"},17:{frontend_common_vip_member_zone:"hk_prod.mweb.frontend.common.vipmember_zone_17",frontend_common_vip_member_zone_entrance:"hk_prod.mweb.frontend.common.vipmember_zone_entrance_17",frontend_common_back_to_vip_member_zone:"hk_prod.mweb.frontend.common.back_to_vipmember_zone_17",frontend_common_order_search:"hk_prod.mweb.frontend.common.order_search_17",frontend_vip_member_index_check_order:"hk_prod.mweb.frontend.vip_member.index.check_order_17",frontend_common_back_to_order_search:"hk_prod.mweb.frontend.common.back_to_order_search_17",frontend_common_my_ecoupon:"hk_prod.mweb.frontend.common.my_ecoupon_17",frontend_common_ecoupon_zone:"hk_prod.mweb.frontend.common.ecoupon_zone_17",frontend_common_ecoupon:"hk_prod.mweb.frontend.common.ecoupon_17",frontend_vip_member_email_notification_sms_subscribe:"hk_prod.mweb.app.vip_member.email_notification.sms_subscribe_17",frontend_vip_member_email_notification_promotion_sms:"hk_prod.mweb.frontend.vip_member.email_notification.promotion_sms_17"},85:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_85"},86:{frontend_common_not_yet_open_for_sale:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_86",frontend_common_cannot_purchase:"hk_prod.mweb.frontend.common.not_yet_open_for_sale_86"}}}}};e.envEnum=r,e.isHasCustomTransModuleSetting=({platform:e,moduleType:t,env:n,market:i,shopId:o})=>{var a,l;const u=null==(a=((e=>{switch(e){case r.dev:case r.qa:return r.qa;case r.pp:case r.stage:case r.prod:return r.prod;default:return e}})(n)===r.prod?c:s)[e])?void 0:a[t];return!!u&&!(null==(l=u[i])||!l[o])},e.marketEnum=a,e.moduleTypeEnum=o,e.mwebTranslationKeyEnum=n,e.platformKeyEnum=i,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}(t)},8196:function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},o=this&&this.__assign||function(){return o=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},o.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProductToCart=void 0;var r=n(5927),a=n(5927),s=n(7450),c=n(2568),l=n(595),u=n(3950),d=n(5601),g=n(4736),p=n(1815),m=n(6395),f=n(1241),I=n(882),h={};t.ProductToCart=function(e){return r.createElement(c.ThemeProvider,{theme:e.theme||h},e.salePageType===u.SalePageTypeEnum.Bundle&&r.createElement(C,{curStep:e.curStep,includeTheseSalePagesText:e.includeTheseSalePagesText,skuSelectPlaceholder:e.skuSelectPlaceholder,skuSelectWarningText:e.skuSelectWarningText,onClickSkuSelect:e.onClickSkuSelect,confirmSelectedSkuText:e.confirmSelectedSkuText,onClickConfirmSelectedSku:e.onClickConfirmSelectedSku,bundleBlocks:e.bundleBlocks,maxQuantity:e.maxQuantity,buttonDisplayText:e.buttonDisplayText,customStyles:e.customStyles,decimal:e.decimal,handleProductToCart:e.handleProductToCart,isDisplayProductImage:e.isDisplayProductImage,isEnableCartButton:e.isEnableCartButton,isEnableAdidasCustom:e.isEnableAdidasCustom,customIconImg:e.customIconImg,productInfoSubTitle:e.productInfoSubTitle,productToCartStyle:e.productToCartStyle,rate:e.rate,mainSalePageInfo:e.mainSalePageInfo,selectedValue:e.selectedValue,QtyHintBlock:e.QtyHintBlock,skuSoldOutText:e.skuSoldOutText,skuUpdatedText:e.skuUpdatedText,symbol:e.symbol,isPriceOnTop:e.isPriceOnTop,isSuggestPriceShowPrice:e.isSuggestPriceShowPrice,isEnableOriginalPrice:e.isEnableOriginalPrice,specChartData:e.specChartData,handleOpenSpecChart:e.handleOpenSpecChart,subSalePageInfo:e.subSalePageInfo,DEFAULT_SKU_ID:e.DEFAULT_SKU_ID,DEFAULT_MAX_QUANTITY:e.DEFAULT_MAX_QUANTITY,defaultSelectedSubSalePageSkuIds:e.defaultSelectedSubSalePageSkuIds,salePageRemovedPlaceholder:e.salePageRemovedPlaceholder,notSellingMaskLabelText:e.notSellingMaskLabelText,browsingMode:e.browsingMode,isSubSalePageClosed:e.isSubSalePageClosed,isSubSalePageSoldout:e.isSubSalePageSoldout,salePageBundleSellingQty:e.salePageBundleSellingQty}),(e.salePageType===u.SalePageTypeEnum.Normal||void 0===e.salePageType)&&r.createElement(y,{backInStockButtonDisplayText:e.backInStockButtonDisplayText,buttonDisplayText:e.buttonDisplayText,customStyles:e.customStyles,decimal:e.decimal,handleAddQuantity:e.handleAddQuantity,handleProductToCart:e.handleProductToCart,handleRemoveQuantity:e.handleRemoveQuantity,handleUpdateSelectedSkuIdCallBack:e.handleUpdateSelectedSkuIdCallBack,isDisplayProductImage:e.isDisplayProductImage,isEnableBackInStock:e.isEnableBackInStock,isEnableCartButton:e.isEnableCartButton,isEnablePurchaseMethod:e.isEnablePurchaseMethod,isBackInStockSubscribedSkuId:e.isBackInStockSubscribedSkuId,isEnableAdidasCustom:e.isEnableAdidasCustom,customIconImg:e.customIconImg,productInfoSubTitle:e.productInfoSubTitle,productToCartStyle:e.productToCartStyle,purchaseMethodInfo:e.purchaseMethodInfo,rate:e.rate,rawSalePageInfo:e.rawSalePageInfo,rawSkuInfoList:e.rawSkuInfoList,selectedValue:e.selectedValue,serviceType:e.serviceType,setQtyHintText:e.setQtyHintText,shopId:e.shopId,skuSoldOutText:e.skuSoldOutText,skuUpdatedText:e.skuUpdatedText,symbol:e.symbol,userSettingMaxValue:e.userSettingMaxValue,isPriceOnTop:e.isPriceOnTop,isSuggestPriceShowPrice:e.isSuggestPriceShowPrice,specialPriceList:e.specialPriceList,selectedSpecialPriceData:e.selectedSpecialPriceData,salePagePriceList:e.salePagePriceList,isEnableOriginalPrice:e.isEnableOriginalPrice,specChartData:e.specChartData,handleOpenSpecChart:e.handleOpenSpecChart,stockQtyTitle:e.stockQtyTitle,isShowStockQty:e.isShowStockQty},e.children))};var b,y=function(e){var t=e.backInStockButtonDisplayText,n=void 0===t?"貨到通知我":t,i=e.buttonDisplayText,c=void 0===i?"加入購物車":i,g=e.children,I=e.customStyles,h=void 0===I?{}:I,b=e.decimal,y=e.handleAddQuantity,C=e.handleProductToCart,v=e.handleRemoveQuantity,B=e.handleUpdateSelectedSkuIdCallBack,A=e.isDisplayProductImage,_=void 0===A||A,S=e.isEnableBackInStock,G=void 0!==S&&S,Q=e.isEnableCartButton,E=void 0===Q||Q,F=e.isEnablePurchaseMethod,w=void 0===F||F,T=e.isBackInStockSubscribedSkuId,x=void 0!==T&&T,k=e.isEnableAdidasCustom,N=void 0!==k&&k,O=e.customIconImg,Z=e.productInfoSubTitle,U=e.productToCartStyle,R=void 0===U?{}:U,X=e.purchaseMethodInfo,W=e.rate,V=e.rawSalePageInfo,P=e.rawSkuInfoList,D=e.selectedValue,H=e.serviceType,L=e.setQtyHintText,Y=e.shopId,M=e.skuSoldOutText,J=e.skuUpdatedText,j=e.symbol,z=e.userSettingMaxValue,K=void 0===z?-1:z,q=e.isPriceOnTop,$=void 0!==q&&q,ee=e.isSuggestPriceShowPrice,te=void 0!==ee&&ee,ne=e.specialPriceList,ie=void 0===ne?[]:ne,oe=e.selectedSpecialPriceData,re=void 0===oe?null:oe,ae=e.salePagePriceList,se=void 0===ae?[]:ae,ce=e.isEnableOriginalPrice,le=void 0===ce||ce,ue=e.specChartData,de=e.handleOpenSpecChart,ge=e.stockQtyTitle,pe=void 0===ge?"":ge,me=e.isShowStockQty,fe=void 0!==me&&me,Ie=a.useMemo((function(){return p.getSalePageInfo(V,se)}),[V,se]),he=a.useMemo((function(){return p.getSkuInfoList(V,P)}),[V,P]),be=a.useState(1),ye=be[0],Ce=be[1],ve=a.useState(-1),Be=ve[0],Ae=ve[1],_e=(null==Ie?void 0:Ie.pointsPayPairsList[0])||null,Se=a.useState(_e),Ge=Se[0],Qe=Se[1],Ee=a.useState(""),Fe=Ee[0],we=Ee[1],Te=a.useState(0),xe=Te[0],ke=Te[1],Ne=a.useState(1),Oe=Ne[0],Ze=Ne[1],Ue=a.useState(re),Re=Ue[0],Xe=Ue[1],We=h.productInfoStyle,Ve=h.skuListStyle,Pe=h.purchaseMethodStyle,De=h.qtySelectorSectionStyle,He=h.qtySelectorStyle,Le=h.cartButtonStyle,Ye=R.topStyle,Me=R.contentStyle,Je=R.bottomStyle,je=Ie.skuGroupLevel1,ze=Ie.skuGroupLevel2,Ke=Ie.maxSkuLevel,qe=Ie.status,$e=Ie.skuIdList,et=Ie.mainImageUrl,tt=Ie.id,nt=Ie.hasPointPayOption,it=Ie.pointsPayPairsList,ot=Ie.title,rt=Ie.price,at=Ie.suggestPrice,st=function(e){var t=e.serviceType,n=e.isEnableCartButton,i=e.maxValue,o=e.status;return n?!e.isEnableBackInStock&&(t===u.ServiceType.BACK_STAGE?i<=0:t===u.ServiceType.FRONT_STAGE?i<0:o===m.SALE_STATUS[o]):!n}({serviceType:H,isEnableBackInStock:G,isEnableCartButton:E,maxValue:xe,status:qe}),ct=a.useCallback((function(){if(L)return L(xe)}),[xe,L]),lt=function(){var e,t,n;return{mainImageUrl:(null===(e=et.find((function(e){return e.skuId===Be})))||void 0===e?void 0:e.imageSrc)||et[0].imageSrc,optionalTypeDef:nt&&(null==Ge?void 0:Ge.PairsPoints)>0?"PointsPay":"",optionalTypeId:nt&&(null==Ge?void 0:Ge.PairsPoints)>0?null==Ge?void 0:Ge.PointsPayId:0,points:(null==Ge?void 0:Ge.PairsPoints)||0,price:(null==Ge?void 0:Ge.PairsPrice)||(null===(t=he.find((function(e){return e.skuId===Be})))||void 0===t?void 0:t.price)||rt||0,quantity:ye,salePageId:tt,sellingQty:(null===(n=he.find((function(e){return e.skuId===Be})))||void 0===n?void 0:n.sellingQty)||0,shopId:Y,skuId:Be,skuKey:Fe,suggestPrice:at,title:ot,specialPrice:(null==Re?void 0:Re.Price)||0}},ut=a.useCallback((function(e,t){s.map(e,(function(e){if(e.skuId===t)if(e.sellingQty>0){var n=K>-1&&K<e.sellingQty?K:e.sellingQty;ke(n),Ce(1),Ze(1)}else ke(0),Ce(1),Ze(1)}))}),[K]),dt=function(e){var t;void 0===e&&(e=-1),Ae(e),ut(he,e);var n=(null===(t=s.find(he,(function(t){return t.skuId===e})))||void 0===t?void 0:t.price)||0;Xe(l.getSalePageSpecialPriceTagData(ie,e,n)),B&&B(e)},gt=a.useCallback((function(e){var t;if(Qe(o(o({},Ge),e)),e.PairsPoints>0)Xe(null);else if(Be>0&&ie.length>0){var n=(null===(t=s.find(he,(function(e){return e.skuId===Be})))||void 0===t?void 0:t.price)||0;Xe(l.getSalePageSpecialPriceTagData(ie,Be,n))}else Xe(re)}),[Ge,ie,Be,he,re]),pt=a.useCallback((function(){if((null==D?void 0:D.selectedSkuID)&&(null==D?void 0:D.selectedSkuID)>-1){var e=D.selectedSkuKey,t=D.selectedSkuID,n=D.selectedQuantity,i=D.selectedPointPayOptionId;if(dt(t),we(e||""),Ce(n||1),i){var o=s.find(Ie.pointsPayPairsList,(function(e){return e.PointsPayId===i}));o&&Qe(o)}}}),[Ie.pointsPayPairsList,D,he,ut]);a.useEffect((function(){var e;0!==Ke&&1!==$e.length||(we((null===(e=null==je?void 0:je.skuKeyList[0])||void 0===e?void 0:e.skuKey)||""),dt($e[0])),pt()}),[]);var mt=!(!G||!(xe<=0&&Be>0||G&&qe===m.SALE_STATUS.SoldOut));return r.createElement(f.ProductToCartContainer,null,r.createElement(f.Top,{topStyle:Ye},Ie&&he&&r.createElement(d.ProductInfo,{salePageInfo:Ie,skuInfoList:he,selectedPurchaseMethod:Ge,skuId:Be,decimal:b,symbol:j,rate:W,productInfoStyle:We||{},isDisplayImage:_,subTitle:Z,isPriceOnTop:$,pointText:null==X?void 0:X.pointText,isSuggestPriceShowPrice:te,selectedSpecialPriceData:Re,isEnableOriginalPrice:le,stockQtyTitle:pe,isShowStockQty:fe}),(null==ue?void 0:ue.specChartId)&&r.createElement(f.SpecChartButton,{onClick:de},null==ue?void 0:ue.title,r.createElement("i",{className:"ico ico-chevron-right"}))),r.createElement(f.Content,{contentStyle:Me},g,Ke>0&&he&&r.createElement(d.SkuList,{skuInfoList:he,skuGroup:{skuGroupLevel1:je,skuGroupLevel2:ze},maxSkuLevel:Ke,updateSelectedSkuId:function(e,t){we(t),dt(e)},skuListStyle:Ve||{},initSkuKey:Fe,skuSoldOutText:M,skuUpdatedText:J,isEnableBackInStock:G}),w&&nt&&r.createElement(d.PurchaseMethod,{purchaseMethodList:it,selectedPurchaseMethod:Ge,onSelectPurchaseMethod:gt,decimal:b,symbol:j,rate:W,title:(null==X?void 0:X.title)||"請選擇購買方式",subTitle:null==X?void 0:X.subTitle,purchaseMethodStyle:Pe||{},pointText:null==X?void 0:X.pointText})),r.createElement(f.BottomContainer,null,r.createElement(f.Bottom,{bottomStyle:Je},r.createElement(f.Qty,{qtySelectorSectionStyle:De},mt?r.createElement(a.Fragment,null,M):r.createElement(a.Fragment,null,r.createElement(d.QtySelector,{currentValue:ye,maxValue:xe,minValue:Oe,onIncreaseValue:function(){if(!(Be>0&&ye>=xe)&&(Ce(ye+1),y)){var e=lt();y(e)}},onDecreaseValue:function(){var e=+ye-1;if(Ce(e>=Oe?e:Oe),v){var t=lt();v(t)}},onChangeValue:function(e){var t,n=null!==(t=parseInt(e.target.value,10))&&void 0!==t?t:0;Ce(Be>0&&n>=xe?xe:n)},qtySelectorStyle:He||{},disabledButton:st}),!st&&xe>0&&ye>=xe&&ct())),r.createElement(d.CartButton,{isEnableAdidasCustom:N,customIconImg:O,isBackInStockSubscribedSkuId:x,disabled:st,onClicked:function(){var e=lt();C(e)},cartButtonStyle:Le||{},displayText:mt?n:c}))))},C=function(e){var t,n,s=e.buttonDisplayText,l=void 0===s?"加入購物車":s,u=e.customStyles,m=void 0===u?{}:u,y=e.decimal,C=e.handleProductToCart,v=e.isDisplayProductImage,B=void 0===v||v,A=e.isEnableCartButton,_=void 0===A||A,S=e.isEnableAdidasCustom,G=void 0!==S&&S,Q=e.customIconImg,E=e.productInfoSubTitle,F=e.productToCartStyle,w=void 0===F?{}:F,T=e.rate,x=e.mainSalePageInfo,k=e.QtyHintBlock,N=e.skuSoldOutText,O=e.skuUpdatedText,Z=e.symbol,U=e.isPriceOnTop,R=void 0!==U&&U,X=e.isSuggestPriceShowPrice,W=void 0!==X&&X,V=e.isEnableOriginalPrice,P=void 0===V||V,D=e.specChartData,H=e.handleOpenSpecChart,L=e.curStep,Y=void 0===L?0:L,M=e.includeTheseSalePagesText,J=void 0===M?"內含以下商品":M,j=e.skuSelectPlaceholder,z=void 0===j?"請選擇商品選項":j,K=e.skuSelectWarningText,q=void 0===K?"此選項庫存不足，請重新選擇":K,$=e.onClickSkuSelect,ee=e.confirmSelectedSkuText,te=void 0===ee?"確認":ee,ne=e.onClickConfirmSelectedSku,ie=e.bundleBlocks,oe=void 0===ie?[]:ie,re=e.maxQuantity,ae=void 0===re?1:re,se=e.subSalePageInfo,ce=e.DEFAULT_SKU_ID,le=e.DEFAULT_MAX_QUANTITY,ue=e.defaultSelectedSubSalePageSkuIds,de=e.salePageRemovedPlaceholder,ge=void 0===de?"此商品已下架":de,pe=e.notSellingMaskLabelText,me=void 0===pe?"暫停販售":pe,fe=e.browsingMode,Ie=e.isSubSalePageClosed,he=e.isSubSalePageSoldout,be=e.salePageBundleSellingQty,ye=a.useState(1),Ce=ye[0],ve=ye[1],Be=a.useState({p1:ue.concat(),p2:ue.concat()}),Ae=Be[0],_e=Be[1],Se=a.useState(-1),Ge=Se[0],Qe=Se[1],Ee=w.topStyle,Fe=w.contentStyle,we=w.bottomStyle,Te=m.productInfoStyle,xe=m.skuListStyle,ke=m.qtySelectorSectionStyle,Ne=m.qtySelectorStyle,Oe=m.cartButtonStyle,Ze=o(o({},Oe||h),{customStyle:c.css(b||(b=i(["\n            "," width: 100%\n        "],["\n            "," width: 100%\n        "])),null==Oe?void 0:Oe.customStyle)}),Ue=a.useMemo((function(){return p.getSalePageInfo(x)}),[x]),Re=a.useMemo((function(){return p.getSkuInfoList(x)}),[x]),Xe=a.useMemo((function(){return se?p.getSalePageInfo(se):void 0}),[se]),We=a.useMemo((function(){return se?p.getSkuInfoList(se):[]}),[se]),Ve=a.useMemo((function(){return{skuGroupLevel1:null==Xe?void 0:Xe.skuGroupLevel1,skuGroupLevel2:null==Xe?void 0:Xe.skuGroupLevel2}}),[Xe]),Pe=a.useMemo((function(){var e=Ae.p2[Ge];if(e!==ce){var t=We.find((function(t){return t.skuId===e}));return null==t?void 0:t.skuKey}}),[Ge,Ae,We]);function De(e,t){var n;if(!e.salepageScopes[0].hasSku)return"";var i=Ae.p1[t];if(i===ce)return z;var o=g.safeArray(null===(n=null==e?void 0:e.salepageScopes[0])||void 0===n?void 0:n.skuInfo).find((function(e){return e.skuId===i}));return o?g.safeArray(null==o?void 0:o.propertyInfo).map((function(e){return e.displayPropertyName})).join("/"):z}function He(e,t){var n,i=Ae.p1[t],o=e.salepageScopes[0].picUrl;return i===ce?o:(null===(n=g.safeArray((null==Xe?void 0:Xe.mainImageUrl)||[]).find((function(e){return e.skuId===i})))||void 0===n?void 0:n.imageSrc)||o}function Le(e){var t,n;return 0===(null===(n=null===(t=g.safeArray(be)[e])||void 0===t?void 0:t.blockSkuSellingQtyList.find((function(t){return t.saleProductSkuId===Ae.p1[e]})))||void 0===n?void 0:n.sellingQty)&&Ae.p1.every((function(e){return e!==ce}))&&0===ae}return r.createElement(f.CarouselContainer,null,r.createElement(f.CarouselViewport,{curStep:Y},r.createElement(f.CarouselSlide,{"data-step":0},r.createElement(f.CarouselSlideScrollableArea,null,r.createElement(f.SalePageBundleInfoTop,{topStyle:Ee},r.createElement(I.ProductInfoForSalePageBundle,{title:Ue.title,imgSrc:null===(t=Ue.mainImageUrl[0])||void 0===t?void 0:t.imageSrc,skuItem:Re[0],decimal:y,symbol:Z,rate:T,productInfoStyle:Te||h,isDisplayImage:B,subTitle:E,isPriceOnTop:R,isSuggestPriceShowPrice:W,selectedSpecialPriceData:void 0,isEnableOriginalPrice:P,browsingMode:fe}),(null==D?void 0:D.specChartId)&&r.createElement(f.SpecChartButton,{onClick:H},null==D?void 0:D.title,r.createElement("i",{className:"ico ico-chevron-right"}))),r.createElement(f.SubSalePagesContent,{contentStyle:Fe,browsingMode:fe},r.createElement(f.SubSalePagesBlockTitle,null,J),oe.map((function(e,t){var n;return Ie(e)?r.createElement(I.ProductInfoClosed,{productInfoStyle:Te,salePageRemovedPlaceholder:ge}):he(e,g.safeArray(null===(n=g.safeArray(be)[t])||void 0===n?void 0:n.blockSkuSellingQtyList))?r.createElement(I.ProductInfoSoldout,{browsingMode:fe,title:e.salepageScopes[0].title,imgSrc:e.salepageScopes[0].picUrl,productInfoStyle:Te,totalCount:e.blockQtyMust,hasMultiSku:e.salepageScopes[0].skuInfo.length>=2,notSellingMaskLabelText:me,selectedSkuValueString:De(e,t)}):r.createElement(d.ProductInfoWithSkuSelectAndCounter,{key:e.blockId,title:e.salepageScopes[0].title,imgSrc:He(e,t),productInfoStyle:Te,shouldRenderSkuSelect:e.salepageScopes[0].skuInfo.length>=2,onClickSkuSelect:function(){Qe(t),$(e,t)},totalCount:e.blockQtyMust,selectedSkuValueString:De(e,t),isSkuSoldOut:e.salepageScopes[0].hasSku&&Le(t),skuWarningText:q})})))),r.createElement(f.BottomContainer,null,r.createElement(f.Bottom,{bottomStyle:we},r.createElement(f.Qty,{qtySelectorSectionStyle:ke},r.createElement(d.QtySelector,{currentValue:Ce,maxValue:ae,minValue:1,onIncreaseValue:function(){return ve((function(e){return e+1}))},onDecreaseValue:function(){return ve((function(e){return e-1}))},qtySelectorStyle:Ne||h,disabledButton:!1}),_&&Ce>=ae&&ae!==le&&r.createElement(k,{maxQuantity:ae})),r.createElement(d.CartButton,{isEnableAdidasCustom:G,customIconImg:Q,disabled:!_,onClicked:function(e){e.stopPropagation(),C({curQuantity:Ce,selectedSubSalePageSkuIds:Ae.p1})},cartButtonStyle:Oe||h,displayText:l})))),Xe&&r.createElement(f.CarouselSlide,{"data-step":1},r.createElement(f.CarouselSlideScrollableArea,null,r.createElement(f.SalePageBundleInfoTop,{topStyle:Ee},r.createElement(d.SimpleProductInfo,{browsingMode:fe,title:null===(n=oe[Ge])||void 0===n?void 0:n.salepageScopes[0].title,skuId:Ae.p2[Ge],productImageInfoList:Xe.mainImageUrl,productInfoStyle:Te||h})),r.createElement(f.SalePageBundleP2Content,{contentStyle:Fe},r.createElement(d.SkuList,{key:Ge,initSkuKey:Pe,skuInfoList:We,skuGroup:Ve,maxSkuLevel:Xe.maxSkuLevel,updateSelectedSkuId:function(e){_e((function(t){return t.p2[Ge]=e,o({},t)}))},skuListStyle:xe||h,skuSoldOutText:N,skuUpdatedText:O,isEnableBackInStock:!1}))),r.createElement(f.BottomContainer,null,r.createElement(f.Bottom,{bottomStyle:we},r.createElement(d.CartButton,{disabled:!1,isEnableAdidasCustom:G,customIconImg:Q,onClicked:function(){var e=function(){var e=o({},Ae);return e.p1=e.p1.concat(),e.p1[Ge]=e.p2[Ge],_e(e),e}();ve(1),ne({p1SelectedSubSalePageSkuIds:e.p1,bundleBlockIdx:Ge})},cartButtonStyle:Ze||h,displayText:te}))))))}},5493:function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0});var o,r=n(5927),a=n(2568),s=n(5927),c=n(8103),l=a.default.div(o||(o=i(["\n    display: inline-block;\n    text-decoration: ",";\n    color: inherit;\n"],["\n    display: inline-block;\n    text-decoration: ",";\n    color: inherit;\n"])),(function(e){return e.isThrough?"line-through":"none"}));t.default=function(e){var t=e.isThrough,n=void 0!==t&&t,i=e.decimal,o=void 0===i?0:i,a=e.value,u=void 0===a?0:a,d=e.symbol,g=void 0===d?"$":d,p=e.rate,m=void 0===p?1:p,f=e.disableTheme,I=void 0!==f&&f;return r.createElement(l,{isThrough:n,disableTheme:I},"number"==typeof u&&r.createElement(s.Fragment,null,c.formatMoney(u*m,g,o)))}},6115:function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.CartButton=void 0;var o,r,a,s,c=n(5927),l=n(2568),u=l.default.button(a||(a=i(["\n    cursor: pointer;\n    border-radius: 4px;\n    font-size: 1rem;\n    text-align: center;\n    box-sizing: border-box;\n    display: inline-block;\n    background-color: #dddddd;\n\n    width: 100px;\n    ",";\n"],["\n    cursor: pointer;\n    border-radius: 4px;\n    font-size: 1rem;\n    text-align: center;\n    box-sizing: border-box;\n    display: inline-block;\n    background-color: #dddddd;\n\n    width: 100px;\n    ",";\n"])),(function(e){var t=e.disabled,n=e.customStyle,a=e.disabledStyle;return t?function(e){return e?l.css(o||(o=i(["\n            pointer-events: none;\n            cursor: not-allowed;\n            ","\n        "],["\n            pointer-events: none;\n            cursor: not-allowed;\n            ","\n        "])),e||null):l.css(r||(r=i(["\n        pointer-events: none;\n        color: #ffffff;\n        border: 1px solid #dddddd;\n        background-color: #dddddd;\n        cursor: not-allowed;\n    "],["\n        pointer-events: none;\n        color: #ffffff;\n        border: 1px solid #dddddd;\n        background-color: #dddddd;\n        cursor: not-allowed;\n    "])))}(a):n||void 0})),d=l.default.img(s||(s=i(["\n    padding-right: 16px;\n    font-size: 28px;\n"],["\n    padding-right: 16px;\n    font-size: 28px;\n"])));t.CartButton=function(e){var t=e.onClicked,n=e.disabled,i=void 0!==n&&n,o=e.displayText,r=e.cartButtonStyle,a=e.isBackInStockSubscribedSkuId,s=e.isEnableAdidasCustom,l=e.customIconImg,g=r.disabledStyle,p=r.customStyle;return c.createElement(u,{onClick:function(e){e.preventDefault(),e.stopPropagation(),t(e)},disabled:i,customStyle:p,disabledStyle:g},o,s&&!a&&l&&c.createElement(d,{src:l,alt:"ico ico-arrow-long-forward"}))}},882:function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.ProductInfoSuspended=t.ProductInfoSoldout=t.ProductInfoClosed=t.ProductInfoWithSkuSelectAndCounter=t.SimpleProductInfo=t.ProductInfoForSalePageBundle=t.ProductInfo=t.StockQty=t.Title=t.MainInfoFigure=t.MainInfoImage=t.MainInfoContainerForSalePageBundle=t.MainInfoContainer=t.MainInfo=void 0;var o=n(5927),r=n(7450),a=n(2568),s=n(595),c=n(3950),l=n(5493),u=n(8181);t.MainInfo=a.default.div(F||(F=i(["\n    margin: 0;\n    position: relative;\n    display: flex;\n    height: ",";\n    ","\n"],["\n    margin: 0;\n    position: relative;\n    display: flex;\n    height: ",";\n    ","\n"])),(function(e){return e.height||"100%"}),(function(e){return e.containerStyle||null})),t.MainInfoContainer=a.default.div(w||(w=i(["\n    position: relative;\n    width: calc(100% - 130px);\n    text-align: left;\n    box-sizing: border-box;\n    ","\n"],["\n    position: relative;\n    width: calc(100% - 130px);\n    text-align: left;\n    box-sizing: border-box;\n    ","\n"])),(function(e){return e.mainInfoStyle||null})),t.MainInfoContainerForSalePageBundle=a.default.div(T||(T=i(["\n    position: relative;\n    min-width: 1px;\n    flex-grow: 1;\n    text-align: left;\n    box-sizing: border-box;\n    ","\n    padding-left:  ","\n"],["\n    position: relative;\n    min-width: 1px;\n    flex-grow: 1;\n    text-align: left;\n    box-sizing: border-box;\n    ","\n    padding-left:  ","\n"])),(function(e){return e.mainInfoStyle||null}),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"8px":"16px"})),t.MainInfoImage=a.default.img(x||(x=i(["\n    width: ",";\n    height: ",";\n    object-fit: contain;\n"],["\n    width: ",";\n    height: ",";\n    object-fit: contain;\n"])),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"80px":"120px"}),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"80px":"120px"}));var d=a.default.div(k||(k=i(["\n    width: ",";\n    height: ",";\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background-color: #f9f9f9;\n    border: 1px solid #d7dde4;\n    box-sizing: border-box;\n"],["\n    width: ",";\n    height: ",";\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background-color: #f9f9f9;\n    border: 1px solid #d7dde4;\n    box-sizing: border-box;\n"])),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"80px":"120px"}),(function(e){return e.browsingMode===c.BROWSING_MODE.MOBILE?"80px":"120px"})),g=a.default.div(N||(N=i(["\n    position: relative;\n"],["\n    position: relative;\n"])));t.MainInfoFigure=a.default.figure(O||(O=i(["\n    display: flex;\n"],["\n    display: flex;\n"]))),t.Title=a.default.h3(Z||(Z=i(["\n    font-size: 14px;\n    line-height: 150%;\n    color: #4a4e5c;\n    font-weight: normal;\n    display: -webkit-box;\n    overflow: hidden;\n    white-space: normal;\n    text-overflow: ellipsis;\n    word-break: break-all;\n    -webkit-box-orient: vertical;\n    -webkit-line-clamp: 2;\n    ","\n"],["\n    font-size: 14px;\n    line-height: 150%;\n    color: #4a4e5c;\n    font-weight: normal;\n    display: -webkit-box;\n    overflow: hidden;\n    white-space: normal;\n    text-overflow: ellipsis;\n    word-break: break-all;\n    -webkit-box-orient: vertical;\n    -webkit-line-clamp: 2;\n    ","\n"])),(function(e){return e.titleStyle||null}));var p=a.default.div(U||(U=i(["\n    position: absolute;\n    bottom: 0;\n"],["\n    position: absolute;\n    bottom: 0;\n"]))),m=a.default.div(R||(R=i(["\n    display: flex;\n    flex-direction: ",";\n"],["\n    display: flex;\n    flex-direction: ",";\n"])),(function(e){return e.isPriceOnTop?"column-reverse":"column"})),f=a.default.div(X||(X=i(["\n    display: flex;\n    flex-wrap: wrap;\n    gap: 4px;\n"],["\n    display: flex;\n    flex-wrap: wrap;\n    gap: 4px;\n"]))),I=a.default.div(W||(W=i(["\n    padding: 0 4px;\n    font-size: 12px;\n    border-radius: 2px;\n    height: 20px;\n    box-sizing: border-box;\n    line-height: 20px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    ","\n"],["\n    padding: 0 4px;\n    font-size: 12px;\n    border-radius: 2px;\n    height: 20px;\n    box-sizing: border-box;\n    line-height: 20px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    ","\n"])),(function(e){return e.tagStyle||null})),h=a.default.div(V||(V=i(["\n    color: #aaa;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"],["\n    color: #aaa;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"])),(function(e){return e.subTitleStyle||null})),b=a.default.div(P||(P=i(["\n    font-size: 1rem;\n    line-height: 1.5;\n    color: #ff5353;\n    ","\n"],["\n    font-size: 1rem;\n    line-height: 1.5;\n    color: #ff5353;\n    ","\n"])),(function(e){return e.priceStyle||null})),y=a.default.div(D||(D=i(["\n    font-size: 0.8rem;\n    line-height: 1.5;\n    color: #aaa;\n    text-decoration: line-through;\n    ","\n"],["\n    font-size: 0.8rem;\n    line-height: 1.5;\n    color: #aaa;\n    text-decoration: line-through;\n    ","\n"])),(function(e){return e.suggestPriceStyle||null})),C=a.default.div(H||(H=i(["\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-top: 4px;\n"],["\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-top: 4px;\n"]))),v=a.default.div(L||(L=i(["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 8px;\n    border: ",";\n    flex-grow: 1;\n    min-width: 1px;\n    cursor: ",";\n    ","\n"],["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 8px;\n    border: ",";\n    flex-grow: 1;\n    min-width: 1px;\n    cursor: ",";\n    ","\n"])),(function(e){return e.warning?"1px solid #ff5353":"1px solid #ececec"}),(function(e){return e.disabled?"not-allowed":"pointer"}),(function(e){return e.disabled?"background-color: #F8F8F8;":""})),B=a.default.div(Y||(Y=i(["\n    font-size: 12px;\n    line-height: 1.5;\n    color: #666666;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n"],["\n    font-size: 12px;\n    line-height: 1.5;\n    color: #666666;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n"]))),A=a.default.div(M||(M=i(["\n    font-size: 14px;\n    line-height: 1.5;\n    color: #666666;\n    flex-grow: 1;\n    min-width: 1px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n"],["\n    font-size: 14px;\n    line-height: 1.5;\n    color: #666666;\n    flex-grow: 1;\n    min-width: 1px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n"]))),_=a.default.div(J||(J=i(["\n    font-size: 14px;\n    line-height: 1.5;\n    color: #666666;\n    min-width: 98px;\n    text-align: right;\n    margin-left: auto;\n"],["\n    font-size: 14px;\n    line-height: 1.5;\n    color: #666666;\n    min-width: 98px;\n    text-align: right;\n    margin-left: auto;\n"]))),S=a.default.div(j||(j=i(["\n    color: #ff5353;\n    font-size: 12px;\n    line-height: 1.5;\n    margin-top: 2px;\n"],["\n    color: #ff5353;\n    font-size: 12px;\n    line-height: 1.5;\n    margin-top: 2px;\n"]))),G=a.default.div(z||(z=i(["\n    position: absolute;\n    left: 0px;\n    top: 0px;\n    bottom: 0;\n    right: 0;\n    background-color: rgba(255, 255, 255, 0.75);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n"],["\n    position: absolute;\n    left: 0px;\n    top: 0px;\n    bottom: 0;\n    right: 0;\n    background-color: rgba(255, 255, 255, 0.75);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n"]))),Q=a.default.div(K||(K=i(["\n    font-size: 12px;\n    line-height: 1.5;\n    padding: 5px 10px;\n    background-color: rgba(0, 0, 0, 0.6);\n    border-radius: 99px;\n    color: white;\n"],["\n    font-size: 12px;\n    line-height: 1.5;\n    padding: 5px 10px;\n    background-color: rgba(0, 0, 0, 0.6);\n    border-radius: 99px;\n    color: white;\n"]))),E=a.default.div(q||(q=i(["\n    color: #333;\n    font-size: 0.75rem;\n    line-height: 1.333;\n"],["\n    color: #333;\n    font-size: 0.75rem;\n    line-height: 1.333;\n"])));t.StockQty=function(e){var t=e.stockQtyTitle,n=void 0===t?"":t;return o.createElement(E,null,n)};var F,w,T,x,k,N,O,Z,U,R,X,W,V,P,D,H,L,Y,M,J,j,z,K,q,$=function(e,t){var n,i=r.find(e,(function(e){return e.skuId===t}));return(null==i?void 0:i.imageSrc)||(null===(n=e[0])||void 0===n?void 0:n.imageSrc)||""};t.ProductInfo=function(e){var n=e.salePageInfo,i=e.skuInfoList,a=e.skuId,c=e.decimal,d=e.symbol,g=e.rate,C=e.selectedPurchaseMethod,v=e.isDisplayImage,B=void 0===v||v,A=e.productInfoStyle,_=void 0===A?{}:A,S=e.subTitle,G=e.isPriceOnTop,Q=void 0===G||G,E=e.pointText,F=void 0===E?"點":E,w=e.isSuggestPriceShowPrice,T=void 0!==w&&w,x=e.selectedSpecialPriceData,k=void 0===x?null:x,N=e.isEnableOriginalPrice,O=void 0===N||N,Z=e.stockQtyTitle,U=void 0===Z?"":Z,R=e.isShowStockQty,X=void 0!==R&&R,W=n.title,V=n.mainImageUrl,P=n.maxPrice,D=n.maxSuggestPrice,H=n.minPrice,L=n.minSuggestPrice,Y=n.hasPointPayOption,M=_.discountPriceStyle,J=_.mainInfoStyle,j=_.priceStyle,z=_.containerStyle,K=_.suggestPriceStyle,q=_.subTitleStyle,ee=_.titleStyle,te=_.tagStyle,ne=r.find(i,(function(e){return e.skuId===a})),ie=a>0,oe=Y&&(null==C?void 0:C.PairsPoints)>0,re=oe?"PointPay":"Price",ae=oe?C.PairsPrice:0,se=s.isShowSuggestPrice(re,H,L,ae)||s.isShowSuggestPrice(re,P,D,ae),ce=k,le=(null==ne?void 0:ne.suggestPrice)||0,ue=(null==ne?void 0:ne.price)||0,de=(null==ce?void 0:ce.Price)||0,ge=oe?le:s.getDisplaySuggestPrice(ue,le,de,T),pe=s.getDisplayPrice(ue,de),me=!(!ne||!O)&&s.isShowSuggestPrice(re,pe,ge,ae),fe=P>H&&!ie&&!oe,Ie=ce?[ce.Label]:[];return o.createElement(t.MainInfo,{containerStyle:z},B&&V.length>0&&o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{src:$(V,a),alt:"img"})),o.createElement(t.MainInfoContainer,{mainInfoStyle:J},o.createElement(t.Title,{titleStyle:ee},W),ie?o.createElement(p,null,o.createElement(h,{subTitleStyle:q}," ",S," "),(null==Ie?void 0:Ie.length)>0&&o.createElement(f,null,Ie.map((function(e,t){return o.createElement(I,{tagStyle:te,key:t+"_"+e},e)}))),o.createElement(m,{isPriceOnTop:Q},me&&o.createElement(y,{suggestPriceStyle:K},o.createElement(l.default,{value:ge,decimal:c,symbol:d,rate:g,isThrough:!0,disableTheme:!0})),!Y&&o.createElement(b,{priceStyle:me&&M?M:j},o.createElement(l.default,{value:pe,decimal:c,symbol:d,rate:g})),Y&&o.createElement(b,{priceStyle:me&&M?M:j},o.createElement(u.PointPlusPrice,{selectedPurchaseMethod:C,decimal:c,symbol:d,rate:g,pointText:F,price:pe,salePageInfo:n,isShowRangePrice:fe,priceStyle:j}))),X&&o.createElement(t.StockQty,{stockQtyTitle:U})):o.createElement(p,null,o.createElement(h,{subTitleStyle:q}," ",S," "),(null==Ie?void 0:Ie.length)>0&&o.createElement(f,null,Ie.map((function(e,t){return o.createElement(I,{tagStyle:te,key:t+"_"+e},e)}))),o.createElement(m,{isPriceOnTop:Q},se&&o.createElement(y,{suggestPriceStyle:K},o.createElement(l.default,{value:L,decimal:c,symbol:d,rate:g,isThrough:!0,disableTheme:!0}),D>L&&o.createElement("span",null,"~",o.createElement(l.default,{value:D,decimal:c,symbol:d,rate:g,isThrough:!0,disableTheme:!0}))),!Y&&o.createElement(b,{priceStyle:se&&M?M:j},o.createElement(l.default,{value:H,decimal:c,symbol:d,rate:g}),P>H&&o.createElement("span",null,"~",o.createElement(l.default,{value:P,decimal:c,symbol:d,rate:g}))),Y&&o.createElement(b,{priceStyle:se&&M?M:j},o.createElement(u.PointPlusPrice,{selectedPurchaseMethod:C,decimal:c,symbol:d,rate:g,pointText:F,salePageInfo:n,isShowRangePrice:fe,priceStyle:se&&M?M:j}))),X&&o.createElement(t.StockQty,{stockQtyTitle:U}))))},t.ProductInfoForSalePageBundle=function(e){var n=e.title,i=e.imgSrc,r=e.skuItem,a=e.decimal,c=e.symbol,u=e.rate,d=e.isDisplayImage,g=void 0===d||d,C=e.productInfoStyle,v=void 0===C?{}:C,B=e.subTitle,A=e.isPriceOnTop,_=void 0===A||A,S=e.isSuggestPriceShowPrice,G=void 0!==S&&S,Q=e.selectedSpecialPriceData,E=e.isEnableOriginalPrice,F=void 0===E||E,w=e.browsingMode,T=v.discountPriceStyle,x=v.mainInfoStyle,k=v.priceStyle,N=v.containerStyle,O=v.suggestPriceStyle,Z=v.subTitleStyle,U=v.titleStyle,R=v.tagStyle,X=(null==r?void 0:r.suggestPrice)||0,W=(null==r?void 0:r.price)||0,V=(null==Q?void 0:Q.Price)||0,P=s.getDisplaySuggestPrice(W,X,V,G),D=s.getDisplayPrice(W,V),H=!(!r||!F)&&s.isShowSuggestPrice("Price",D,P,0),L=Q?[Q.Label]:[];return o.createElement(t.MainInfo,{containerStyle:N,height:"unset"},g&&o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{src:i,alt:"img",browsingMode:w})),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:x,browsingMode:w},o.createElement(t.Title,{titleStyle:U},n),o.createElement(p,null,o.createElement(h,{subTitleStyle:Z},B),(null==L?void 0:L.length)>0&&o.createElement(f,null,L.map((function(e,t){return o.createElement(I,{tagStyle:R,key:t+"_"+e},e)}))),o.createElement(m,{isPriceOnTop:_},H&&o.createElement(y,{suggestPriceStyle:O},o.createElement(l.default,{value:P,decimal:a,symbol:c,rate:u,isThrough:!0,disableTheme:!0})),o.createElement(b,{priceStyle:H&&T?T:k},o.createElement(l.default,{value:D,decimal:a,symbol:c,rate:u}))))))},t.SimpleProductInfo=function(e){var n=e.title,i=e.productImageInfoList,r=e.skuId,a=e.productInfoStyle,s=void 0===a?{}:a,c=e.browsingMode,l=s.mainInfoStyle,u=s.containerStyle,d=s.titleStyle;return o.createElement(t.MainInfo,{containerStyle:u,height:"unset"},o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{src:$(i,r),alt:"img",browsingMode:c})),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:l,browsingMode:c},o.createElement(t.Title,{titleStyle:d},n)))},t.ProductInfoWithSkuSelectAndCounter=function(e){var n=e.title,i=e.imgSrc,r=e.productInfoStyle,a=void 0===r?{}:r,s=e.shouldRenderSkuSelect,l=e.onClickSkuSelect,u=e.totalCount,d=e.selectedSkuValueString,g=e.isSkuSoldOut,p=e.skuWarningText,m=a.mainInfoStyle,f=a.containerStyle,I=a.titleStyle;return o.createElement(t.MainInfo,{containerStyle:f,height:"unset"},o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{src:i,alt:"img",browsingMode:c.BROWSING_MODE.MOBILE})),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:m,browsingMode:c.BROWSING_MODE.MOBILE},o.createElement(t.Title,{titleStyle:I},n),o.createElement(C,null,s?o.createElement(v,{onClick:l,warning:g},o.createElement(B,null,d),o.createElement("i",{className:"ico ico-chevron-down"})):o.createElement(A,null,d),o.createElement(_,null,"x",u)),g&&o.createElement(S,null,p)))},t.ProductInfoClosed=function(e){var n=e.productInfoStyle,i=void 0===n?{}:n,r=e.salePageRemovedPlaceholder,a=void 0===r?"此商品已下架":r,s=i.mainInfoStyle,l=i.containerStyle,u=i.titleStyle;return o.createElement(t.MainInfo,{containerStyle:l,height:"unset"},o.createElement(d,{browsingMode:c.BROWSING_MODE.MOBILE},o.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"42",height:"42",viewBox:"0 0 42 42",fill:"none"},o.createElement("path",{d:"M10.6153 5.42278C7.74779 5.42278 5.42302 7.74755 5.42302 10.6151C5.42302 13.4826 7.74779 15.8074 10.6153 15.8074C13.4829 15.8074 15.8076 13.4826 15.8076 10.6151C15.8076 7.74755 13.4829 5.42278 10.6153 5.42278ZM10.6153 13.2112C10.2744 13.2114 9.93671 13.1443 9.62168 13.0139C9.30664 12.8834 9.0204 12.6922 8.7793 12.4511C8.5382 12.21 8.34697 11.9238 8.21655 11.6087C8.08612 11.2937 8.01905 10.956 8.01917 10.6151C8.01917 10.1016 8.17144 9.59968 8.4567 9.17274C8.74197 8.74581 9.14744 8.41305 9.62183 8.21655C10.0962 8.02005 10.6182 7.96864 11.1218 8.06882C11.6254 8.16899 12.088 8.41625 12.4511 8.77932C12.8142 9.1424 13.0614 9.60499 13.1616 10.1086C13.2618 10.6122 13.2104 11.1342 13.0139 11.6086C12.8174 12.083 12.4846 12.4884 12.0577 12.7737C11.6307 13.059 11.1288 13.2112 10.6153 13.2112ZM36.5769 0.230469H5.42302C2.55548 0.230469 0.230713 2.55524 0.230713 5.42278V36.5766C0.230713 39.4442 2.55548 41.7689 5.42302 41.7689H36.5769C39.4444 41.7689 41.7692 39.4442 41.7692 36.5766V5.42278C41.7692 2.55524 39.4444 0.230469 36.5769 0.230469ZM5.42302 39.1728C4.73448 39.1728 4.07413 38.8993 3.58726 38.4124C3.10039 37.9255 2.82687 37.2652 2.82687 36.5766V35.3563L13.1399 26.1209L26.1936 39.1728H5.42302ZM39.173 36.5766C39.173 37.2652 38.8995 37.9255 38.4126 38.4124C37.9258 38.8993 37.2654 39.1728 36.5769 39.1728H29.8684L20.3044 29.4828L31.3846 18.4022L39.173 26.1906V36.5766ZM39.173 22.4642L31.3846 14.5091L18.479 27.6343L13.2115 22.2975L2.82687 31.8205V5.42278C2.82687 4.73423 3.10039 4.07389 3.58726 3.58702C4.07413 3.10014 4.73448 2.82662 5.42302 2.82662H36.5769C37.2654 2.82662 37.9258 3.10014 38.4126 3.58702C38.8995 4.07389 39.173 4.73423 39.173 5.42278V22.4642Z",fill:"#B6BEC7",fillOpacity:"0.5"}))),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:s,browsingMode:c.BROWSING_MODE.MOBILE},o.createElement(t.Title,{titleStyle:u},a)))},t.ProductInfoSoldout=function(e){var n=e.title,i=e.imgSrc,r=e.productInfoStyle,a=void 0===r?{}:r,s=e.totalCount,l=e.hasMultiSku,u=e.notSellingMaskLabelText,d=void 0===u?"暫停販售":u,p=e.selectedSkuValueString,m=a.mainInfoStyle,f=a.containerStyle,I=a.titleStyle;return o.createElement(t.MainInfo,{containerStyle:f,height:"unset"},o.createElement(g,null,o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{browsingMode:c.BROWSING_MODE.MOBILE,src:i,alt:"img"})),o.createElement(G,null,o.createElement(Q,null,d))),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:m,browsingMode:c.BROWSING_MODE.MOBILE},o.createElement(t.Title,{titleStyle:I},n),o.createElement(C,null,l?o.createElement(v,{"aria-disabled":!0,disabled:!0},o.createElement(B,null,p),o.createElement("i",{className:"ico ico-chevron-down"})):o.createElement(A,null,p),o.createElement(_,null,"x",s))))},t.ProductInfoSuspended=function(e){var n=e.title,i=e.imgSrc,r=e.productInfoStyle,a=void 0===r?{}:r,s=e.notSellingMaskLabelText,l=void 0===s?"暫停販售":s,u=a.mainInfoStyle,d=a.containerStyle,p=a.titleStyle;return o.createElement(t.MainInfo,{containerStyle:d,height:"unset"},o.createElement(g,null,o.createElement(t.MainInfoFigure,null,o.createElement(t.MainInfoImage,{browsingMode:c.BROWSING_MODE.MOBILE,src:i,alt:"img"})),o.createElement(G,null,o.createElement(Q,null,l))),o.createElement(t.MainInfoContainerForSalePageBundle,{mainInfoStyle:u,browsingMode:c.BROWSING_MODE.MOBILE},o.createElement(t.Title,{titleStyle:p},n)))}},8181:function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.PointPlusPrice=t.MainInfoPrice=void 0;var o,r,a,s=n(5927),c=n(2568),l=n(5493),u=c.default.div(o||(o=i(["\n    font-size: inherit;\n    line-height: 1.5;\n    color: inherit;\n"],["\n    font-size: inherit;\n    line-height: 1.5;\n    color: inherit;\n"]))),d=c.default.span(r||(r=i(["\n    display: flex;\n    flex-wrap: wrap;\n"],["\n    display: flex;\n    flex-wrap: wrap;\n"])));t.MainInfoPrice=c.default.div(a||(a=i(["\n    font-size: 1rem;\n    line-height: 1.5;\n    color: #ff5353;\n    ","\n"],["\n    font-size: 1rem;\n    line-height: 1.5;\n    color: #ff5353;\n    ","\n"])),(function(e){return e.priceStyle||null})),t.PointPlusPrice=function(e){var n=e.selectedPurchaseMethod,i=e.decimal,o=e.symbol,r=e.rate,a=e.pointText,c=void 0===a?"點":a,g=e.price,p=void 0===g?0:g,m=e.salePageInfo,f=void 0===m?null:m,I=e.isShowRangePrice,h=void 0!==I&&I,b=e.priceStyle,y=n.PairsPoints,C=n.PairsPrice,v=p||C,B=f||{maxPrice:0,minPrice:0},A=B.maxPrice,_=B.minPrice;return s.createElement(u,null,0===y&&C>0&&s.createElement(s.Fragment,null,h?s.createElement(t.MainInfoPrice,{priceStyle:b},s.createElement(l.default,{value:_,decimal:i,symbol:o,rate:r}),s.createElement("span",null,"~",s.createElement(l.default,{value:A,decimal:i,symbol:o,rate:r}))):s.createElement(l.default,{value:v,decimal:i,symbol:o,rate:r,disableTheme:!0})),0===C&&y>0&&s.createElement("div",null,y,c),y>0&&C>0&&s.createElement(d,null,s.createElement("span",null,y,c),s.createElement("span",null,"＋"),s.createElement(l.default,{value:C,decimal:i,symbol:o,rate:r,disableTheme:!0})))}},5828:function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.PurchaseMethod=t.PointpayOption=void 0;var o=n(5927),r=n(2568),a=n(8181),s=r.default.div(g||(g=i(["\n    padding-bottom: 16px;\n"],["\n    padding-bottom: 16px;\n"]))),c=r.default.h6(p||(p=i(["\n    color: #4a4e5c;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"],["\n    color: #4a4e5c;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"])),(function(e){return e.titleStyle||null})),l=r.default.div(m||(m=i(["\n    padding: 0 2px;\n"],["\n    padding: 0 2px;\n"]))),u=r.default.div(f||(f=i(["\n    color: #aaa;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    padding-top: 5px;\n    ","\n"],["\n    color: #aaa;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    padding-top: 5px;\n    ","\n"])),(function(e){return e.subTitleStyle||null})),d=r.default.span(I||(I=i(["\n    vertical-align: text-bottom;\n    display: inline-block;\n    padding-left: 5px;\n"],["\n    vertical-align: text-bottom;\n    display: inline-block;\n    padding-left: 5px;\n"])));t.PointpayOption=r.default.button(y||(y=i(["\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    background-color: white;\n    border-radius: 3px;\n    box-shadow: 0 0 0 1px #ddd;\n    box-sizing: border-box;\n    color: #666;\n    cursor: pointer;\n    display: inline-block;\n    font-size: 0.8rem;\n    line-height: 1.2;\n    margin: 8px 8px 0 0;\n    min-width: 46px;\n    padding: 10px 12px;\n    text-align: center;\n\n    ","\n"],["\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    background-color: white;\n    border-radius: 3px;\n    box-shadow: 0 0 0 1px #ddd;\n    box-sizing: border-box;\n    color: #666;\n    cursor: pointer;\n    display: inline-block;\n    font-size: 0.8rem;\n    line-height: 1.2;\n    margin: 8px 8px 0 0;\n    min-width: 46px;\n    padding: 10px 12px;\n    text-align: center;\n\n    ","\n"])),(function(e){var t=e.actived,n=e.customStyle,o=e.activeStyle;return t?function(e){return e||r.css(h||(h=i(["\n        background-color: white;\n        box-shadow: 0 0 0 1px #ff5353;\n        color: #ff5353;\n    "],["\n        background-color: white;\n        box-shadow: 0 0 0 1px #ff5353;\n        color: #ff5353;\n    "])))}(o):n||r.css(b||(b=i(["\n            &:hover {\n                background-color: white;\n                box-shadow: 0 0 0 2px #ff5353;\n                color: #ff5353;\n            }\n        "],["\n            &:hover {\n                background-color: white;\n                box-shadow: 0 0 0 2px #ff5353;\n                color: #ff5353;\n            }\n        "])))}));var g,p,m,f,I,h,b,y,C,v=r.default.i(C||(C=i(["\n    :before {\n        line-height: 15.4px;\n    }\n"],["\n    :before {\n        line-height: 15.4px;\n    }\n"])));t.PurchaseMethod=function(e){var n=e.purchaseMethodList,i=e.selectedPurchaseMethod,r=e.onSelectPurchaseMethod,g=e.decimal,p=e.symbol,m=e.rate,f=e.purchaseMethodStyle,I=void 0===f?{}:f,h=e.title,b=e.subTitle,y=e.pointText,C=I.customStyle,B=I.activeStyle,A=I.subTitleStyle,_=I.titleStyle;return o.createElement(s,null,n&&h&&o.createElement(c,{titleStyle:_},h),n&&b&&o.createElement(u,{subTitleStyle:A},o.createElement(v,{className:"ico ico-alert"}),o.createElement(d,null,b)),o.createElement(l,null,n.map((function(e,n){return o.createElement(t.PointpayOption,{customStyle:C,activeStyle:B,key:n,onClick:function(){return r(e)},actived:e.PointsPayId===i.PointsPayId},o.createElement(a.PointPlusPrice,{selectedPurchaseMethod:e,decimal:g,symbol:p,rate:m,pointText:y}))}))))}},8491:function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.QtySelector=void 0;var o,r,a,s,c,l,u,d=n(5927),g=n(2568),p=n(3771),m=n(2330),f=function(e){return e||g.css(o||(o=i(["\n        color: #aaa;\n        &:hover {\n            cursor: not-allowed !important;\n        }\n    "],["\n        color: #aaa;\n        &:hover {\n            cursor: not-allowed !important;\n        }\n    "])))},I=g.css(r||(r=i(["\n    cursor: pointer;\n    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n    color: #aaa;\n"],["\n    cursor: pointer;\n    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n    color: #aaa;\n"]))),h=g.default.div(a||(a=i(["\n    display: flex;\n    text-align: center;\n    ","\n"],["\n    display: flex;\n    text-align: center;\n    ","\n"])),(function(e){return e.containerStyle||null})),b=g.default.button(s||(s=i(["\n    ","\n\n    ",";\n"],["\n    ","\n\n    ",";\n"])),I,(function(e){var t=e.disabled,n=e.plusButtonStyle,i=e.disabledButtonStyle;return t?f(i):n||void 0})),y=g.default.button(c||(c=i(["\n    ","\n    ",";\n"],["\n    ","\n    ",";\n"])),I,(function(e){var t=e.disabled,n=e.minusButtonStyle,i=e.disabledButtonStyle;return t?f(i):n||void 0})),C=g.default.div(l||(l=i(["\n    min-width: 100px;\n    display: flex;\n    align-items: center;\n    ","\n"],["\n    min-width: 100px;\n    display: flex;\n    align-items: center;\n    ","\n"])),(function(e){return e.inputBoxStyle||null})),v=g.default.input(u||(u=i(["\n    ::-webkit-outer-spin-button {\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        margin: 0;\n    }\n    ::-webkit-inner-spin-button {\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        margin: 0;\n    }\n    font-size: 1rem;\n    width: 100%;\n    text-align: center;\n    :focus {\n        outline: none;\n    }\n    ","\n"],["\n    ::-webkit-outer-spin-button {\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        margin: 0;\n    }\n    ::-webkit-inner-spin-button {\n        -webkit-appearance: none;\n        -moz-appearance: none;\n        appearance: none;\n        margin: 0;\n    }\n    font-size: 1rem;\n    width: 100%;\n    text-align: center;\n    :focus {\n        outline: none;\n    }\n    ","\n"])),(function(e){return e.inputStyle||null}));t.QtySelector=function(e){var t=e.currentValue,n=e.maxValue,i=e.minValue,o=e.onIncreaseValue,r=e.onDecreaseValue,a=e.onChangeValue,s=e.qtySelectorStyle,c=void 0===s?{}:s,l=e.disabledButton,u=void 0!==l&&l,g=p.getBrowsingMode()===m.BROWSING_MODE.DESKTOP?"number":"tel",f=c.plusButtonStyle,I=c.minusButtonStyle,B=c.disabledButtonStyle,A=c.containerStyle,_=c.inputStyle,S=c.inputBoxStyle;return d.createElement(h,{containerStyle:A},d.createElement(y,{disabled:t<=i||u,onClick:r,minusButtonStyle:I,disabledButtonStyle:B},d.createElement("i",{className:"ico ico-subtract"})),d.createElement(C,{inputBoxStyle:S},d.createElement(v,{readOnly:!0,type:g,name:"qtyInput",pattern:"[0-9]*",min:i,max:n,value:t,onChange:a,inputStyle:_})),d.createElement(b,{disabled:!n||t>=n||u,onClick:o,plusButtonStyle:f,disabledButtonStyle:B},d.createElement("i",{className:"ico ico-add"})))}},7186:function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.SkuElement=t.SkuItem=t.SkuElementsTitle=t.SkuElementsLevel=t.SkuElementsContainer=t.SkuElementActivedStyle=void 0;var o,r,a,s,c,l,u,d,g=n(5927),p=n(2568);t.SkuElementActivedStyle=function(e){var t=e.activeStyle,n=e.isEnableBackInStock;return p.css(a||(a=i(["\n        box-shadow: 0 0 0 1px #ff5353;\n        color: #ff5353;\n        ","\n        ","\n    "],["\n        box-shadow: 0 0 0 1px #ff5353;\n        color: #ff5353;\n        ","\n        ","\n    "])),t||null,n?"text-decoration: line-through;":null)},t.SkuElementsContainer=p.default.div(s||(s=i(["\n    padding-bottom: 16px;\n"],["\n    padding-bottom: 16px;\n"]))),t.SkuElementsLevel=p.default.div(c||(c=i([""],[""]))),t.SkuElementsTitle=p.default.h6(l||(l=i(["\n    color: #4a4e5c;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"],["\n    color: #4a4e5c;\n    font-size: 0.8rem;\n    line-height: 1.5;\n    ","\n"])),(function(e){return e.titleStyle||null})),t.SkuItem=p.default.button(d||(d=i(["\n    display: ",";\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    background-color: white;\n    border-radius: 3px;\n    box-shadow: 0 0 0 1px #ddd;\n    box-sizing: border-box;\n    color: #666;\n    cursor: pointer;\n    font-size: 0.8rem;\n    line-height: 1.2;\n    margin: 8px 8px 0 0;\n    min-width: 46px;\n    padding: 10px 12px;\n    text-align: center;\n    ","\n"],["\n    display: ",";\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n    background-color: white;\n    border-radius: 3px;\n    box-shadow: 0 0 0 1px #ddd;\n    box-sizing: border-box;\n    color: #666;\n    cursor: pointer;\n    font-size: 0.8rem;\n    line-height: 1.2;\n    margin: 8px 8px 0 0;\n    min-width: 46px;\n    padding: 10px 12px;\n    text-align: center;\n    ","\n"])),(function(e){return e.hidden?"none":"inline-block"}),(function(e){var n=e.disabled,a=e.actived,s=e.customStyle,c=e.activeStyle,l=e.disabledStyle,d=e.isEnableBackInStock;return n?function(e){return p.css(o||(o=i(["\n        background: #f0f0f0;\n        cursor: pointer;\n        position: relative;\n        text-decoration: line-through;\n        /* tooltip style */\n        &:before {\n            animation: fade-in 0.2s ease-out;\n            background-color: #666;\n            border-radius: 3px;\n            box-sizing: border-box;\n            color: #fff;\n            content: attr(data-tooltip-content);\n            font-size: 0.8rem;\n            left: 50%;\n            min-width: 70px;\n            padding: 4px;\n            position: absolute;\n            text-align: center;\n            top: 100%;\n            transform: translateX(-50%);\n            visibility: hidden;\n            z-index: 1;\n            word-break: keep-all;\n        }\n        /* tooltip 小箭頭 */\n        &:after {\n            border-color: transparent transparent #666666 transparent;\n            border-style: solid;\n            border-width: 6px;\n            content: '';\n            height: 0;\n            left: 50%;\n            position: absolute;\n            top: calc(100% - 11px);\n            transform: translateX(-50%);\n            visibility: hidden;\n            width: 0;\n        }\n        &:hover {\n            &:before,\n            &:after {\n                visibility: visible;\n            }\n        }\n        ","\n    "],["\n        background: #f0f0f0;\n        cursor: pointer;\n        position: relative;\n        text-decoration: line-through;\n        /* tooltip style */\n        &:before {\n            animation: fade-in 0.2s ease-out;\n            background-color: #666;\n            border-radius: 3px;\n            box-sizing: border-box;\n            color: #fff;\n            content: attr(data-tooltip-content);\n            font-size: 0.8rem;\n            left: 50%;\n            min-width: 70px;\n            padding: 4px;\n            position: absolute;\n            text-align: center;\n            top: 100%;\n            transform: translateX(-50%);\n            visibility: hidden;\n            z-index: 1;\n            word-break: keep-all;\n        }\n        /* tooltip 小箭頭 */\n        &:after {\n            border-color: transparent transparent #666666 transparent;\n            border-style: solid;\n            border-width: 6px;\n            content: '';\n            height: 0;\n            left: 50%;\n            position: absolute;\n            top: calc(100% - 11px);\n            transform: translateX(-50%);\n            visibility: hidden;\n            width: 0;\n        }\n        &:hover {\n            &:before,\n            &:after {\n                visibility: visible;\n            }\n        }\n        ","\n    "])),e||null)}(l):a?t.SkuElementActivedStyle({activeStyle:c,isEnableBackInStock:d}):d?function(e){return p.css(r||(r=i(["\n        ","\n        text-decoration: line-through;\n        color: #999999;\n    "],["\n        ","\n        text-decoration: line-through;\n        color: #999999;\n    "])),e||null)}(s):s?s||null:p.css(u||(u=i(["\n            &:hover {\n                box-shadow: 0 0 0 2px #ff5353;\n                color: #ff5353;\n            }\n        "],["\n            &:hover {\n                box-shadow: 0 0 0 2px #ff5353;\n                color: #ff5353;\n            }\n        "])))})),t.SkuElement=function(e){var n=e.level,i=e.optionName,o=e.optionList,r=e.isSkuStockUpdated,a=e.selectedKey,s=e.onSelectOption,c=e.customStyle,l=e.activeStyle,u=e.disabledStyle,d=e.titleStyle,p=e.skuSoldOutText,m=void 0===p?"缺貨中":p,f=e.skuUpdatedText,I=void 0===f?"更新中\b":f,h=e.isEnableBackInStock;return g.createElement(t.SkuElementsContainer,null,o&&o.length>0&&g.createElement(t.SkuElementsLevel,null,g.createElement(t.SkuElementsTitle,{titleStyle:d},i),o.map((function(e,i){return g.createElement(t.SkuItem,{key:i,"data-tooltip-content":r?m:I,actived:e.isSelling&&e.skuKey===a||!e.isSelling&&h&&e.skuKey===a,hidden:!e.isShow,disabled:!e.isSelling&&!h,isEnableBackInStock:!e.isSelling&&h,customStyle:c,activeStyle:l,disabledStyle:u,"data-sku-key":e.skuKey,"data-sku-name":e.skuName,"data-is-selling":e.isSelling,"data-selected-sku-level":n,onClick:s},e.skuName)}))))}},2988:function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.SkuList=void 0;var o=n(5927),r=n(5927),a=n(7450),s=n(7186),c=function(e,t){var n=t.split(";"),i=t;""===n[1]&&(i=n[0]);var o=a.find(e,(function(e){return e.skuKey===i}));return(null==o?void 0:o.skuId)||0},l=function(e,t,n,o,r,s){var c;return 1===n?c=t.skuKeyList.map((function(t){var n=a.find(e,(function(e){return e.skuKey===t.skuKey}));return i({isShow:(null==n?void 0:n.isShow)||!1,isSelling:(null==n?void 0:n.sellingQty)&&(null==n?void 0:n.sellingQty)>0||!1},t)})):2===n&&(c=t.skuKeyList.map((function(t){var n=!1,c=!1;if(1===o&&""!==s)c=(l=a.find(e,(function(e){return t.skuKey+";"+s===e.skuKey})))&&l.sellingQty>0||!1,n=(null==l?void 0:l.isShow)||!1;else if(2===o&&""!==r){var l;c=(l=a.find(e,(function(e){return r+";"+t.skuKey===e.skuKey})))&&l.sellingQty>0||!1,n=(null==l?void 0:l.isShow)||!1}else if(""===r||""===s){var u=a.filter(e,(function(e){return function(e,t,n){return 2===e?n.split(";")[1]===t:n.split(";")[0]===t}(o,t.skuKey,e.skuKey)}));if(0===u.length)c=!1,n=!1;else{var d=a.find(u,(function(e){return e.sellingQty>0})),g=a.find(u,(function(e){return!0===e.isShow}));c=d&&d.sellingQty>0||!1,n=(null==g?void 0:g.isShow)||!1}}return i({isShow:n,isSelling:c},t)}))),c},u=function(e){for(var t="",n=0;n<e.length;n++)if(e[n].isSelling){t=e[n].skuKey;break}return t};t.SkuList=function(e){var t,n,i=e.skuInfoList,a=e.skuGroup,d=e.maxSkuLevel,g=e.updateSelectedSkuId,p=e.skuListStyle,m=void 0===p?{}:p,f=e.initSkuKey,I=e.skuSoldOutText,h=e.skuUpdatedText,b=e.isEnableBackInStock,y=r.useState(""),C=y[0],v=y[1],B=r.useState(""),A=B[0],_=B[1],S=r.useState(!0),G=S[0],Q=S[1],E=m.customStyle,F=m.activeStyle,w=m.disabledStyle,T=m.titleStyle,x=a.skuGroupLevel1?l(i,a.skuGroupLevel1,d,1,C,A):null,k=a.skuGroupLevel2?l(i,a.skuGroupLevel2,d,2,C,A):null;r.useEffect((function(){if(f){var e=f.split(";");return v(e[0]),void _(e[1]||"")}1!==(null==x?void 0:x.length)||k||(e=x[0].skuKey.split(";"),v(e[0]),_(""))}),[f]),r.useEffect((function(){var e=0,t="",n="";G||(1===d?e=c(i,C):(""===A&&k?(n=u(k),t=C+";"+n,_(n)):""===C&&x?(t=(n=u(x))+";"+A,v(n)):t=C+";"+A,e=c(i,t)),Q(!0),g&&g(e,t||C))}),[G,d,x,k,C,A,i,g]);var N=function(e){e.preventDefault(),e.stopPropagation();var t=e.currentTarget,n=t.getAttribute("data-sku-key")||"",i=JSON.parse(t.getAttribute("data-is-selling")||""),o=parseInt(t.getAttribute("data-selected-sku-level")||"",10);(i||b)&&C!==n&&A!==n&&(1===d?v(n):(1===o&&v(n),2===o&&_(n)),Q(!1))};return o.createElement(r.Fragment,null,x&&o.createElement(s.SkuElement,{level:1,isSkuStockUpdated:G,optionName:null===(t=a.skuGroupLevel1)||void 0===t?void 0:t.skuGroupName,optionList:x,selectedKey:C,onSelectOption:N,customStyle:E,activeStyle:F,disabledStyle:w,titleStyle:T,skuSoldOutText:I,skuUpdatedText:h,isEnableBackInStock:b}),k&&o.createElement(s.SkuElement,{level:2,isSkuStockUpdated:G,optionName:null===(n=a.skuGroupLevel2)||void 0===n?void 0:n.skuGroupName,optionList:k,selectedKey:A,onSelectOption:N,customStyle:E,activeStyle:F,disabledStyle:w,titleStyle:T,skuSoldOutText:I,skuUpdatedText:h,isEnableBackInStock:b}))}},5601:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PurchaseMethod=t.QtySelector=t.SkuList=t.ProductInfoClosed=t.ProductInfoSoldout=t.ProductInfoWithSkuSelectAndCounter=t.SimpleProductInfo=t.ProductInfo=t.CartButton=void 0;var i=n(6115);Object.defineProperty(t,"CartButton",{enumerable:!0,get:function(){return i.CartButton}});var o=n(882);Object.defineProperty(t,"ProductInfo",{enumerable:!0,get:function(){return o.ProductInfo}}),Object.defineProperty(t,"SimpleProductInfo",{enumerable:!0,get:function(){return o.SimpleProductInfo}}),Object.defineProperty(t,"ProductInfoWithSkuSelectAndCounter",{enumerable:!0,get:function(){return o.ProductInfoWithSkuSelectAndCounter}}),Object.defineProperty(t,"ProductInfoSoldout",{enumerable:!0,get:function(){return o.ProductInfoSoldout}}),Object.defineProperty(t,"ProductInfoClosed",{enumerable:!0,get:function(){return o.ProductInfoClosed}});var r=n(2988);Object.defineProperty(t,"SkuList",{enumerable:!0,get:function(){return r.SkuList}});var a=n(8491);Object.defineProperty(t,"QtySelector",{enumerable:!0,get:function(){return a.QtySelector}});var s=n(5828);Object.defineProperty(t,"PurchaseMethod",{enumerable:!0,get:function(){return s.PurchaseMethod}})},2330:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BROWSING_MODE=void 0,t.BROWSING_MODE={DESKTOP:"desktop",MOBILE:"mobile"}},6395:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SALE_STATUS=void 0,function(e){e.NotFound="NotFound",e.IsClosed="IsClosed",e.UnListing="UnListing",e.NoStart="NoStart",e.SoldOut="SoldOut",e.NotStartSell="NotStartSell"}(t.SALE_STATUS||(t.SALE_STATUS={}))},2680:(e,t,n)=>{"use strict";t.nW=t.l7=void 0;var i=n(5601);Object.defineProperty(t,"l7",{enumerable:!0,get:function(){return i.CartButton}});var o=n(8196);Object.defineProperty(t,"nW",{enumerable:!0,get:function(){return o.ProductToCart}})},1241:function(e,t,n){"use strict";var i=this&&this.__makeTemplateObject||function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e};Object.defineProperty(t,"__esModule",{value:!0}),t.SpecChartButton=t.Qty=t.Bottom=t.BottomContainer=t.SubSalePagesBlockTitle=t.SubSalePagesContent=t.SalePageBundleP2Content=t.Content=t.SalePageBundleInfoTop=t.Top=t.CarouselSlideScrollableArea=t.CarouselSlide=t.CarouselViewport=t.CarouselContainer=t.ProductToCartContainer=void 0;var o,r,a,s,c,l,u,d,g,p,m,f,I,h,b,y=n(2568),C=n(3950);t.ProductToCartContainer=y.default.div(o||(o=i(["\n    position: relative;\n    width: 100%;\n    background-color: inherit;\n    display: flex;\n    flex-direction: column;\n    max-height: inherit;\n    align-self: flex-start;\n"],["\n    position: relative;\n    width: 100%;\n    background-color: inherit;\n    display: flex;\n    flex-direction: column;\n    max-height: inherit;\n    align-self: flex-start;\n"]))),t.CarouselContainer=y.default.div(r||(r=i(["\n    overflow: hidden;\n    height: inherit;\n"],["\n    overflow: hidden;\n    height: inherit;\n"]))),t.CarouselViewport=y.default.div(a||(a=i(["\n    display: flex;\n    & > * {\n        min-width: 100%;\n    }\n    transition: transform 0.5s;\n    transform: translateX(",");\n    height: inherit;\n"],["\n    display: flex;\n    & > * {\n        min-width: 100%;\n    }\n    transition: transform 0.5s;\n    transform: translateX(",");\n    height: inherit;\n"])),(function(e){return"-"+100*e.curStep+"%"})),t.CarouselSlide=y.default(t.ProductToCartContainer)(s||(s=i(["\n    height: inherit;\n"],["\n    height: inherit;\n"]))),t.CarouselSlideScrollableArea=y.default.div(c||(c=i(["\n    flex-grow: 1;\n    min-height: 1px;\n    overflow-y: auto;\n"],["\n    flex-grow: 1;\n    min-height: 1px;\n    overflow-y: auto;\n"]))),t.Top=y.default.div(l||(l=i(["\n    padding: 16px;\n    border-bottom: 1px solid #dddddd;\n    flex: 1;\n    ","\n"],["\n    padding: 16px;\n    border-bottom: 1px solid #dddddd;\n    flex: 1;\n    ","\n"])),(function(e){return e.topStyle||null})),t.SalePageBundleInfoTop=y.default(t.Top)(u||(u=i(["\n    flex: unset;\n"],["\n    flex: unset;\n"]))),t.Content=y.default.div(d||(d=i(["\n    overflow-y: auto;\n    overflow-x: hidden;\n    padding: 0 16px;\n    ","\n"],["\n    overflow-y: auto;\n    overflow-x: hidden;\n    padding: 0 16px;\n    ","\n"])),(function(e){return e.contentStyle||null})),t.SalePageBundleP2Content=y.default(t.Content)(g||(g=i(["\n    overflow-y: unset;\n    overflow-x: unset;\n"],["\n    overflow-y: unset;\n    overflow-x: unset;\n"]))),t.SubSalePagesContent=y.default(t.Content)(p||(p=i(["\n    padding: unset;\n    margin: 0 16px;\n    padding-top: 16px;\n    padding-bottom: 16px;\n    border-top: 1px solid #dee2e6;\n    display: flex;\n    flex-direction: column;\n    gap: ","px;\n    flex-grow: 1;\n"],["\n    padding: unset;\n    margin: 0 16px;\n    padding-top: 16px;\n    padding-bottom: 16px;\n    border-top: 1px solid #dee2e6;\n    display: flex;\n    flex-direction: column;\n    gap: ","px;\n    flex-grow: 1;\n"])),(function(e){return e.browsingMode===C.BROWSING_MODE.DESKTOP?"16":"12"})),t.SubSalePagesBlockTitle=y.default.div(m||(m=i(["\n    font-size: 14px;\n    font-weight: 500;\n    line-height: 150%;\n"],["\n    font-size: 14px;\n    font-weight: 500;\n    line-height: 150%;\n"]))),t.BottomContainer=y.default.div(f||(f=i(["\n    width: 100%;\n"],["\n    width: 100%;\n"]))),t.Bottom=y.default.div(I||(I=i(["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 16px;\n    box-shadow: 0 0 6px 0 rgba(102, 102, 102, 0.25);\n    ","\n"],["\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 16px;\n    box-shadow: 0 0 6px 0 rgba(102, 102, 102, 0.25);\n    ","\n"])),(function(e){return e.bottomStyle||null})),t.Qty=y.default.div(h||(h=i(["\n    display: flex;\n    align-items: center;\n    ","\n"],["\n    display: flex;\n    align-items: center;\n    ","\n"])),(function(e){return e.qtySelectorSectionStyle||null})),t.SpecChartButton=y.default.button(b||(b=i(["\n    display: flex;\n    align-items: center;\n    margin-left: auto;\n    color: #667079;\n    font-size: 0.8rem;\n    background-color: inherit;\n    cursor: pointer;\n\n    & > i {\n        color: #333333;\n    }\n"],["\n    display: flex;\n    align-items: center;\n    margin-left: auto;\n    color: #667079;\n    font-size: 0.8rem;\n    background-color: inherit;\n    cursor: pointer;\n\n    & > i {\n        color: #333333;\n    }\n"])))},3950:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BROWSING_MODE=t.ServiceType=t.SalePageTypeEnum=void 0,function(e){e.Normal="Normal",e.Bundle="Bundle"}(t.SalePageTypeEnum||(t.SalePageTypeEnum={})),function(e){e.BACK_STAGE="BACK_STAGE",e.FRONT_STAGE="FRONT_STAGE"}(t.ServiceType||(t.ServiceType={})),function(e){e.DESKTOP="desktop",e.MOBILE="mobile"}(t.BROWSING_MODE||(t.BROWSING_MODE={}))},4736:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.safeArray=void 0,t.safeArray=function(e){return Array.isArray(e)?e:[]}},3771:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMobile=t.getBrowsingMode=void 0;var i=n(2330);t.getBrowsingMode=function(){return"DeskTop"===(document.cookie.match("(^|; )BrowsingMode=([^;]*)")||[])[2]?i.BROWSING_MODE.DESKTOP:/android|webOS|iPhone|iPod|iOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)||/(tablet|ipad|playbook|silk)|(android(?!.*mobile))/i.test(navigator.userAgent)?i.BROWSING_MODE.MOBILE:i.BROWSING_MODE.DESKTOP},t.isMobile=function(){return t.getBrowsingMode()===i.BROWSING_MODE.MOBILE}},1815:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSkuInfoList=t.getSalePageInfo=void 0;var i=n(7450);t.getSalePageInfo=function(e,t){var n,o=e.MajorList[0].SKUList,r=(n=o&&o.length>0?1===o.length?"-1"===o[0].Title?0:1:2:0)>0?i.map(o[0].PropertyList,(function(e){return{skuName:e.Name,skuKey:e.PropertyNameSet}})):[],a=2===n?i.map(o[1].PropertyList,(function(e){return{skuName:e.Name,skuKey:e.PropertyNameSet}})):[],s={skuGroupName:o.length>0?o[0].Title:"-1",skuKeyList:r},c=2===n?{skuGroupName:o[1].Title,skuKeyList:a}:null,l=i.map(e.ImageList,(function(e){return{skuId:e.Id,skuName:e.SKUPropertyNameSet,imageSrc:e.PicUrl}})),u=e.SKUPropertySetList.reduce((function(e,t){return t.SaleProductSKUId&&t.IsShow&&e.push(t.SaleProductSKUId),e}),[]),d=i.maxBy(t,"Price"),g=i.maxBy(t,"SuggestPrice"),p=i.minBy(t,"Price"),m=i.minBy(t,"SuggestPrice"),f=(null==d?void 0:d.Price)||e.MaxPrice,I=(null==g?void 0:g.SuggestPrice)||e.MaxSuggestPrice,h=(null==p?void 0:p.Price)||e.MinPrice,b=(null==m?void 0:m.SuggestPrice)||e.MinSuggestPrice;return{maxSkuLevel:n,skuGroupLevel1:s,skuGroupLevel2:c,id:e.Id,status:e.StatusDef,mainImageUrl:l,price:e.Price,title:e.Title,skuIdList:u,suggestPrice:e.SuggestPrice,maxPrice:f,maxSuggestPrice:I,minPrice:h,minSuggestPrice:b,hasPointPayOption:e.PointsPayPairsList&&e.PointsPayPairsList.length>0,pointsPayPairsList:e.PointsPayPairsList||[]}},t.getSkuInfoList=function(e,t){var n=i.map(e.SKUPropertySetList,(function(e){return{isShow:e.IsShow,skuKey:e.PropertyNameSet,skuId:e.SaleProductSKUId,sellingQty:e.SellingQty,price:e.Price,suggestPrice:e.SuggestPrice}}));return t?function(e,t){var n=i.keyBy(t,"SaleProductSKUId");return i.each(e,(function(e){var t;e.sellingQty=null===(t=n[e.skuId])||void 0===t?void 0:t.SellingQty})),e}(n,t):n}},4244:(e,t)=>{"use strict";t.A={generalStyle:{linkColor:"#428bca",moneyColor:"#ff5353",discountMoneyColor:"#ff5353"},buttonStyle:{primaryBtnBgColor:"#ff5353",primaryBtnTextColor:"#ffffff",secondBtnVariant:"outline",secondBtnBgColor:"#ffffff",secondBtnTextColor:"#ff5353",secondBtnBorderColor:"#ff5353",primaryHeartBtnBgColor:"#ff5353",secondHeartBtnBgColor:"#333333"},tagStyle:{generalTagBgColor:"#fff2f2",generalTagTextColor:"#ff5353",emphasisTagBgColor:"#ff5353",emphasisTagTextColor:"#ffffff",keyWordTagTextColor:"#666666"}}},6449:function(e){var t;t=this,e.exports?e.exports={allCurrencies:[{code:"TWD",symbol:"NT$",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"新台幣"},{code:"USD",symbol:"US$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"US dollar"},{code:"HKD",symbol:"HK$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"港幣"},{code:"MOP",symbol:"MOP",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Pataca"},{code:"CNY",symbol:"¥",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"人民币"},{code:"MYR",symbol:"RM",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Ringgit Malaysia"},{code:"SGD",symbol:"S$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Singapore dollar"},{code:"THB",symbol:"฿",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"บาท"},{code:"VND",symbol:"₫",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Đồng"},{code:"PHP",symbol:"₱",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Philippine peso"},{code:"KRW",symbol:"₩",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"대한민국 원"},{code:"JPY",symbol:"¥",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"日本円"},{code:"AUD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Australian dollar"},{code:"EUR",symbol:"€",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Euro"},{code:"GBP",symbol:"£",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Pound sterling"},{code:"CAD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Canadian dollar"},{code:"IDR",symbol:"Rp",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Rupiah"},{code:"NZD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"New Zealand dollar"},{code:"SEK",symbol:"kr",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Svensk krona"}]}:(t.nineyi=t.nineyi||{},t.nineyi.i18n=t.nineyi.i18n||{},t.nineyi.i18n.allCurrencies=[{code:"TWD",symbol:"NT$",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"新台幣"},{code:"USD",symbol:"US$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"US dollar"},{code:"HKD",symbol:"HK$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"港幣"},{code:"MOP",symbol:"MOP",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Pataca"},{code:"CNY",symbol:"¥",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"人民币"},{code:"MYR",symbol:"RM",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Ringgit Malaysia"},{code:"SGD",symbol:"S$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Singapore dollar"},{code:"THB",symbol:"฿",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"บาท"},{code:"VND",symbol:"₫",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Đồng"},{code:"PHP",symbol:"₱",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Philippine peso"},{code:"KRW",symbol:"₩",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"대한민국 원"},{code:"JPY",symbol:"¥",decimalDigits:0,decimalSeparator:".",groupSeparator:",",display:"日本円"},{code:"AUD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Australian dollar"},{code:"EUR",symbol:"€",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Euro"},{code:"GBP",symbol:"£",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Pound sterling"},{code:"CAD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Canadian dollar"},{code:"IDR",symbol:"Rp",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Rupiah"},{code:"NZD",symbol:"$",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"New Zealand dollar"},{code:"SEK",symbol:"kr",decimalDigits:2,decimalSeparator:".",groupSeparator:",",display:"Svensk krona"}])},1470:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsSupportSessionStorage=t.checkIsSupportLocalStorage=void 0,t.checkIsSupportLocalStorage=function(){return"undefined"!=typeof localStorage},t.checkIsSupportSessionStorage=function(){return"undefined"!=typeof sessionStorage}},9818:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCookie=t.deleteCookie=t.addCookie=void 0;var i=n(2430);t.addCookie=function(e,t,n){if((0,i.checkIsClientRender)()){var o="";if(n){var r=new Date;r.setTime(r.getTime()+24*n*60*60*1e3),o="; expires=".concat(r.toUTCString())}document.cookie="".concat(e,"=").concat(t).concat(o,"; path=/")}},t.deleteCookie=function(e){if((0,i.checkIsClientRender)()){var t=new Date;document.cookie="".concat(e,"=;expires=").concat(t.toUTCString(),";path=/")}},t.getCookie=function(e){if(!(0,i.checkIsClientRender)())return"";var t=document.cookie.match(new RegExp("(^| )".concat(e,"=([^;]*)(;|$)")));return t?t[2]:""}},8856:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n(1470),t),o(n(9818),t),o(n(1950),t),o(n(8379),t),o(n(2430),t),o(n(31),t),o(n(4098),t),o(n(5334),t),o(n(907),t)},1950:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsMatchNumberKeyCodeAllowed=void 0,t.checkIsMatchNumberKeyCodeAllowed=function(e){return e>47&&e<58||e>95&&e<106||e>36&&e<41||8===e||46===e||102===e||190===e}},8379:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.merge=t.deepClone=t.checkIsArray=t.checkIsObject=void 0;var i=n(7450);t.checkIsObject=function(e){return e===Object(e)&&!Array.isArray(e)},t.checkIsArray=function(e){return Array.isArray(e)},t.deepClone=function(e){return JSON.parse(JSON.stringify(e))},t.merge=function(e,n,o){if(!e||!n)return e||n||{};var r=(0,t.deepClone)(e),a=(0,t.deepClone)(n);return o?(0,i.mergeWith)(r,a,o):(0,i.merge)(r,a)}},2430:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsServerRender=t.checkIsClientRender=void 0,t.checkIsClientRender=function(){return"undefined"!=typeof window},t.checkIsServerRender=function(){return"undefined"==typeof window}},31:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeQueryStringParam=t.appendQueryParam=t.getQueryString=void 0,t.getQueryString=function(e,t){try{var n=RegExp("[?&]".concat(e,"=([^&]*)")).exec(t||document.location.search);return n&&decodeURIComponent(decodeURIComponent(n[1].replace(/\+/g," ")))}catch(i){return null}},t.appendQueryParam=function(e,t,n,i){void 0===i&&(i=!1);var o="",r=e.length;e.indexOf("#")>0&&(r=e.indexOf("#"),o=e.substring(e.indexOf("#"),e.length));var a=e.substring(0,r).split("?"),s="";if(a.length>1)for(var c=a[1].split("&"),l=0;l<c.length;l++){var u=c[l].split("=");u[0]!==t&&(""===s?s="?":s+="&",s+="".concat(u[0],"=").concat(u[1]?u[1]:""))}return""===s&&(s="?"),i?s="?".concat(t,"=").concat(n+(s.length>1?"&".concat(s.substring(1)):"")):(""!==s&&"?"!==s&&(s+="&"),s+="".concat(t,"=").concat(n||"")),a[0]+s+o},t.removeQueryStringParam=function(e,t){var n=t.split("?")[0],i=[],o=t.includes("?")?t.split("?")[1]:"";if(""!==o){for(var r=(i=o.split("&")).length-1;r>=0;r-=1)i[r].split("=")[0]===e&&i.splice(r,1);n="".concat(n,"?").concat(i.join("&"))}return n}},4098:(e,t)=>{"use strict";var n,i;Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsBot=t.getDeviceOS=t.checkIsIE=t.checkIsSafari=t.checkIsChrome=t.checkIsFirefox=t.DeviceOS=t.Browser=void 0,function(e){e.Chrome="Chrome",e.Firefox="Firefox",e.MSIE="MSIE",e.Safari="Safari",e.Trident="Trident"}(n=t.Browser||(t.Browser={})),function(e){e.Android="Android",e.Bot="Bot",e.UnKnown="UnKnown",e.iOS="iOS"}(i=t.DeviceOS||(t.DeviceOS={})),t.checkIsFirefox=function(e){return e.includes(n.Firefox)},t.checkIsChrome=function(e){return e.includes(n.Chrome)},t.checkIsSafari=function(e){return!e.includes(n.Chrome)&&e.includes(n.Safari)},t.checkIsIE=function(e){return e.indexOf(n.Trident)>0||e.indexOf(n.MSIE)>0},t.getDeviceOS=function(e){return/android/i.test(e)?i.Android:/(iPhone|iPad|iPod|iOS)/i.test(e)?i.iOS:/bot|spider|crawl/i.test(e)?i.Bot:i.UnKnown},t.checkIsBot=function(){return"undefined"!=typeof window&&window.navigator&&/bot|spider|crawl/i.test(navigator.userAgent)}},5334:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsEmail=void 0,t.checkIsEmail=function(e){return/(.+)@(.+)\.(.+)/.test(e)}},907:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkIsBooleanString=t.checkIsNumberString=t.checkIsString=t.checkIsUndefined=void 0,t.checkIsUndefined=function(e){return void 0===e},t.checkIsString=function(e){return"string"==typeof e},t.checkIsNumberString=function(e){return!!e&&(0,t.checkIsString)(e)&&!Number.isNaN(Number(e))},t.checkIsBooleanString=function(e){return"true"===e||"false"===e}},595:(e,t,n)=>{"use strict";var i;n.r(t),n.d(t,{filterSalePageSpecialPriceData:()=>g,getDisplayPrice:()=>u,getDisplaySuggestPrice:()=>d,getSalePagePriceRange:()=>I,getSalePageSpecialPriceTagData:()=>f,isShowComingSoon:()=>b,isShowSuggestPrice:()=>h,mappingSalePagePriceRangeData:()=>m,mappingSalePageSpecialPriceList:()=>p,mappingSpecialPriceData:()=>c,mappingSpecialPriceDataLabel:()=>l}),function(e){e.POINT_PAY="PointPay",e.PRICE="Price"}(i||(i={}));var o=["-1"],r=function(e){return"/Date(-62135596800000)/"===e?new Date(0):new Date(parseInt(e.replace("/Date(","").replace(")/",""),10))},a=function(e){return!!/^\/Date/.test(e)},s=function(e,t,n){var i=n.getTime(),o=a("".concat(e))?new Date(r("".concat(e))).getTime():new Date(e).getTime(),s=a("".concat(t))?new Date(r("".concat(t))).getTime():new Date(t).getTime();return o<i&&s>i},c=function(e,t,n){if(void 0===t&&(t=o),void 0===n&&(n=new Date),!e||0===e.length)return null;var i=e.filter((function(e){return s(e.StartDateTime,e.EndDateTime,n)&&t.includes(e.MemberCollectionId)}));if(i.length>0){var r=i.sort((function(e,t){return e.Price!==t.Price?e.Price-t.Price:t.PromotionEngineId-e.PromotionEngineId}))[0];return{price:r.Price,label:r.Label}}return null},l=function(e,t,n){return e&&e.price<=t&&n===i.PRICE?e.label:null},u=function(e,t){return t>0&&t<=e?t:e},d=function(e,t,n,i){return n>0&&n<=e&&i?e:t},g=function(e,t,n){return void 0===n&&(n=new Date),e.filter((function(e){return s(e.StartDateTime,e.EndDateTime,n)&&t.indexOf(e.MemberCollectionId)>=0}))},p=function(e){var t=[];return e.forEach((function(e){e.PriceList.forEach((function(n){var i=t.find((function(e){return e.SkuId===n.SkuId})),o=t.map((function(e){return e.SkuId})).indexOf(n.SkuId),r={PromotionEngineId:e.PromotionEngineId,MemberCollectionId:e.MemberCollectionId,StartDateTime:e.StartDateTime,EndDateTime:e.EndDateTime,SkuId:n.SkuId,Price:n.Price,Label:e.Label};i&&(r.Price<i.Price||r.Price===i.Price&&r.PromotionEngineId>i.PromotionEngineId)&&(t[o]=r),i||t.push(r)}))})),t.sort((function(e,t){return e.Price!==t.Price?e.Price-t.Price:t.PromotionEngineId-e.PromotionEngineId}))},m=function(e,t,n,i){return e.map((function(e){var o,r=t.find((function(t){return t.SkuId===e.SkuId}));if(r){var a=r.Price,s=(null===(o=i.find((function(e){return e.SkuId===r.SkuId})))||void 0===o?void 0:o.Price)||Number.MIN_VALUE;a<=s&&(n&&(e.SuggestPrice=s),e.Price=a)}return e}))},f=function(e,t,n,i){if(void 0===i&&(i=!1),!e)return null;var o=e.find((function(e){return e.SkuId===t}));return o&&o.Price<=(n||Number.MIN_VALUE)&&!i?o:null},I=function(e,t){return e&&e.length>0?(e.sort((function(e,n){return e[t]-n[t]})),{min:e[0][t],max:e[e.length-1][t]}):null},h=function(e,t,n,o){switch(e){case i.POINT_PAY:return n>o;case i.PRICE:return n>t;default:return!1}},b=function(e,t,n){var i=new Date;return!(!e||!t)&&t<=i&&i<e&&n}},2688:function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n(9798)),s=new WeakMap,c=function(){function e(e,t,n){if(!(null==e?void 0:e.length)||!(null==t?void 0:t.length))throw new Error("請正確設定 projectId 與 serviceName 初始化 AgathaReporter");s.set(this,{bufferedLogs:[],clientInfo:null!=n?n:null,defaultCustomPayload:null,excludeLogMessages:[],projectId:e,serviceName:"".concat(t.toLowerCase(),"-service")}),this.agatha=null,this.catchException(),this.init()}return e.instance=function(t){return e._instance||(e._instance=new e(t.projectId,t.serviceName,t.clientInfo)),e._instance},e.prototype.catchException=function(){var e=this,t=window.onerror||null,n=window.onunhandledrejection||null;window.onerror=function(n,o,r,a,s){var c,l;if(s){var u=(null===(c=null==s?void 0:s.message)||void 0===c?void 0:c.length)?s.message:(null==n?void 0:n.toString())||null,d=(null===(l=null==s?void 0:s.stack)||void 0===l?void 0:l.length)?s.stack:null;(null==u?void 0:u.length)&&e.sendLogs([{severity:"ERROR",message:u,customPayload:i(i(i(i(i({},d?{stack:d}:{}),o?{source:o}:{}),r?{lineno:r}:{}),a?{colno:a}:{}),{logType:"exception"})}])}return t&&t.call(window,n,o,r,a,s),!0},window.onunhandledrejection=function(t){if(t){var i=null;t.reason&&("string"==typeof t.reason?i=t.reason:t.reason instanceof Error?i=t.reason.message:"object"==typeof t.reason&&(i=JSON.stringify(t.reason))),(null==i?void 0:i.length)&&e.sendLogs([{severity:"ERROR",message:i,customPayload:{logType:"exception"}}])}return n&&n.call(window,t),!0}},e.prototype.init=function(){var e=this,t=s.get(this);t&&(this.agatha=new a.default(i(i({projectId:t.projectId,logName:t.serviceName},t.clientInfo?{clientInfo:t.clientInfo}:{}),{onSuccess:function(){t.bufferedLogs.length&&e.setPrivateValue("bufferedLogs",[])},onError:function(e){console.error("Agatha send log failure: ".concat(e.errorMsg))}})),t.bufferedLogs.length&&this.sendLogs(t.bufferedLogs))},e.prototype.sendLogs=function(e){var t=this,n=s.get(this);if(n)if(this.agatha){var r=o(o([],n.bufferedLogs,!0),e,!0).filter((function(e){return t.isAllowSendLog(e.message)}));this.agatha.sendLogs(r.map((function(e){var n,o,r,a,s;return i(i({},e),{severity:null!==(n=e.severity)&&void 0!==n?n:"ERROR",customPayload:i(i(i({},t.defaultCustomPayload?i({},t.defaultCustomPayload):{}),e.customPayload?i({},e.customPayload):{}),{logType:null!==(r=null===(o=e.customPayload)||void 0===o?void 0:o.logType)&&void 0!==r?r:"javascript-".concat(e.severity.toLowerCase()),href:null!==(s=null===(a=e.customPayload)||void 0===a?void 0:a.href)&&void 0!==s?s:window.location.href})})})))}else this.setPrivateValue("bufferedLogs",o(o([],n.bufferedLogs,!0),e,!0))},e.prototype.isAllowSendLog=function(e){var t,n,i,o=s.get(this);return!(null===(t=null==o?void 0:o.excludeLogMessages)||void 0===t?void 0:t.length)||!(null===(i=null===(n=null==o?void 0:o.excludeLogMessages)||void 0===n?void 0:n.filter((function(t){return e.toLowerCase().includes(t.toLowerCase())})))||void 0===i?void 0:i.length)},e.prototype.setPrivateValue=function(e,t){var n=s.get(this);n&&(n[e]=t,s.set(this,n))},Object.defineProperty(e.prototype,"clientInfo",{set:function(e){var t;this.setPrivateValue("clientInfo",e),null===(t=this.agatha)||void 0===t||t.updateClientInfo(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"excludeLogMessages",{get:function(){var e;return(null===(e=s.get(this))||void 0===e?void 0:e.excludeLogMessages)||[]},set:function(e){this.setPrivateValue("excludeLogMessages",e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultCustomPayload",{get:function(){var e;return null===(e=s.get(this))||void 0===e?void 0:e.defaultCustomPayload},set:function(e){this.setPrivateValue("defaultCustomPayload",e)},enumerable:!1,configurable:!0}),e}();t.default=c},5102:function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AgathaReporter=t.registeErrorHandler=t.initalizeLogger=t.log=void 0;var o=i(n(3065)),r=n(9833);Object.defineProperty(t,"registeErrorHandler",{enumerable:!0,get:function(){return r.registeErrorHandler}});var a=i(n(2688));t.AgathaReporter=a.default;var s=o.default;t.log=s,t.initalizeLogger=function(e){s.setDefaultLevel(e)}},9833:function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.registeErrorHandler=void 0;var o=i(n(8627));t.registeErrorHandler=function(e){var t=e.envName,n=void 0===t?"":t,i=e.stackDriverConfig,r=void 0===i?{name:"",version:""}:i,a=r.name,s=r.version;if(""===r.name)throw new Error("stackDriverConfig is invalid!!");var c=a.split(/[. ]+/).pop(),l=n,u=new o.default;return u.start({key:"AIzaSyDI_CdmrnZjKAg5bR4zpwJ2lvhtYG1XktY",projectId:"k8s-91app-dev",service:"".concat(c,"-service-").concat(l),version:s}),u}},8819:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.shopIntroduceCustomerService=t.shopIntroduceShoppingGuide=t.shopIntroducePageInfo=t.officialBrandStory=t.backInStockAlertList=t.traceSalePageList=t.vipMemberIndexPageInfo=t.unknownPageInfo=t.loginIndexPageInfo=t.appDownloadPage=t.payFinishPageInfo=t.payLandingPageInfo=t.payIndexPageInfo=t.shoppingCart=t.eCouponHowToUse=t.collectionDetail=t.collectionViewAll=t.tagCategory=t.loyaltyPointCenter=t.loyaltyPointECouponDetail=t.loyaltyPointECouponList=t.fsEvent=t.newestSalePage=t.storeSidebarCustomLink=t.infoModuleVideoDetail=t.infoModuleVideoList=t.infoModuleAlbumDetail=t.infoModuleAlbumList=t.infoModuleArticleDetail=t.infoModuleArticleList=t.infoModuleList=t.promotionEngine=t.custom=t.hidden=t.vipMemberProfile=t.search=t.hotSaleRanking=t.couponDetail=t.couponList=t.shopStoreDetail=t.shopStoreList=t.promotionDetail=t.promotionList=t.eCouponHistory=t.ecouponDetail=t.ecouponList=t.activityPageInfo=t.salePageInfo=t.shopCategoryPageInfo=t.indexPageInfo=void 0,t.extraPurchaseList=t.addOnsSalePage=t.shoppingCartBatchInsert=t.ecouponIdForLoyaltyPoint=t.ecouponCustomList=t.stampRecordHistory=t.pointHistory=t.walletHistoryTopped=t.walletHistoryCard=t.walletHistoryAll=t.consumptionHistoryOffline=t.consumptionHistoryOnline=t.outerSalesOrder=t.crmShopMemberCardDescPage=t.brandPageWrapper=t.brandIndexWrapper=t.inlineWrapper=t.invitingHistory=t.invitingFriends=t.notFoundPage=t.activityPreparation=t.activityClosed=t.officialClosed=t.serviceInfo=t.preparation=t.payFinishExpressCheckout=t.expressCheckout=t.expressSalePage=t.salePageCommentList=t.gameModuleEvent=t.changeGoodsRequest=t.returnGoodsRequest=t.cancelGoodsRequest=t.promotionGift=t.locationPickupSelectLocation=t.browsingHistory=t.preview=t.questionInsertPageInfo=t.emailNotificationPageInfo=t.agreePrivacyPageInfo=t.myAccountChangePassword=t.invoiceListPageInfo=t.questionCustomerServiceCenter=t.ecouponMyEcoupon=t.tradesOrderDetail=t.tradesOrderList=t.myAccountLocationBooksPageInfo=t.myAccountVipMemberBenefits=t.myAccountPrivacy=t.helpServicePageInfo=void 0,t.streamPage=void 0;var i=n(7031);t.indexPageInfo={pageType:i.PAGE_TYPE.INDEX,pageTitle:"首頁",viewType:"Home",routerPathFunc:function(){return"/"}},t.shopCategoryPageInfo={pageType:i.PAGE_TYPE.CATEGORY,pageTitle:"小分類頁",viewType:"SalePageCategory",routerPathFunc:function(e){var t=e.id;return"/v2/official/SalePageCategory/"+(void 0===t?"":t)}},t.salePageInfo={pageType:i.PAGE_TYPE.SALEPAGE,pageTitle:"商品頁",viewType:"SalePage",routerPathFunc:function(e){var t=e.id;return"/SalePage/Index/"+(void 0===t?"":t)}},t.activityPageInfo={pageType:i.PAGE_TYPE.ACTIVITY,pageTitle:"活動頁公版",viewType:"Activity",routerPathFunc:function(e){var t=e.id;return"/v2/activity/"+(void 0===t?"":t)}},t.ecouponList={pageType:i.PAGE_TYPE.ECOUPON_LIST,pageTitle:"優惠券專區 全部列表",viewType:"ECouponList",routerPathFunc:function(){return"/v2/ECoupon/List"}},t.ecouponDetail={pageType:i.PAGE_TYPE.ECOUPON,pageTitle:"優惠券詳細頁",viewType:"ECouponDetail",routerPathFunc:function(e){var t=e.id;return"/v2/ECoupon/Detail/"+(void 0===t?"":t)}},t.eCouponHistory={pageType:i.PAGE_TYPE.ECOUPON_HISTORY,pageTitle:"優惠券紀錄",viewType:"ECouponECouponHistory",routerPathFunc:function(){return"/V2/ECoupon/ECouponHistory"}},t.promotionList={pageType:i.PAGE_TYPE.PROMOTION_LIST,pageTitle:"折扣活動列表頁",viewType:"PromotionList",routerPathFunc:function(){return"/v2/Promotion/List"}},t.promotionDetail={pageType:i.PAGE_TYPE.PROMOTION,pageTitle:"折扣活動內容頁-現折活動",viewType:"PromotionDetail",routerPathFunc:function(e){var t=e.id;return"/Promotion/Detail/"+(void 0===t?"":t)}},t.shopStoreList={pageType:i.PAGE_TYPE.SHOP_STORE_LIST,pageTitle:"門市資訊",viewType:"StoreList",routerPathFunc:function(e){return"/v2/Shop/StoreList/"+(e.shopId||"")}},t.shopStoreDetail={pageType:i.PAGE_TYPE.SHOP_STORE_DETAIL,pageTitle:"門市詳細",viewType:"StoreDetail",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/Shop/StoreDetail/"+(t||"")+"/"+(void 0===n?"":n)}},t.couponList={pageType:i.PAGE_TYPE.COUPON_LIST,pageTitle:"門市優惠券列表",viewType:"ECouponListCoupon",routerPathFunc:function(){return"/v2/ECoupon/List/Coupon"}},t.couponDetail={pageType:i.PAGE_TYPE.COUPON,pageTitle:"門市優惠券",viewType:"CouponDetail",routerPathFunc:function(e){var t=e.id;return"/Coupon/Detail/"+(void 0===t?"":t)}},t.hotSaleRanking={pageType:i.PAGE_TYPE.HOT_SALE_RANKING,pageTitle:"熱銷排行榜",viewType:"HotSaleRanking",routerPathFunc:function(e){return"/Shop/HotSaleRanking/"+(e.shopId||"")+"?period=Weekly"}},t.search={pageType:i.PAGE_TYPE.SEARCH,pageTitle:"搜尋結果",viewType:"Search",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/Search?q="+encodeURI(String(n))+"&shopId="+(t||"")}},t.vipMemberProfile={pageType:i.PAGE_TYPE.VIP_MEMBER_PROFILE,pageTitle:"會員基本資料",viewType:"VipMemberProfile",routerPathFunc:function(){return"/v2/VipMember/Profile"}},t.hidden={pageType:i.PAGE_TYPE.HIDDEN,pageTitle:"隱形活動頁",viewType:"HiddenPage",routerPathFunc:function(e){var t=e.id;return"/hidden/"+(void 0===t?"":t)}},t.custom={pageType:i.PAGE_TYPE.CUSTOM,pageTitle:"自訂頁",viewType:"CustomPage",routerPathFunc:function(e){var t=e.id;return"/page/"+(void 0===t?"":t)}},t.promotionEngine={pageType:i.PAGE_TYPE.PROMOTION_ENGINE,pageTitle:"促購引擎折扣活動內容頁",viewType:"PromotionEngineDetail",routerPathFunc:function(e){var t=e.id;return"/v2/PromotionEngine/Detail/"+(void 0===t?"":t)}},t.infoModuleList={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_LIST,pageTitle:"資訊模組列表頁",viewType:"InfoModule",routerPathFunc:function(){return"/v2/shop/InfoModuleList#/"}},t.infoModuleArticleList={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_ARTICLE_LIST,pageTitle:"文章列表頁",viewType:"Article",routerPathFunc:function(){return"/v2/shop/InfoModuleList#!/ArticleList"}},t.infoModuleArticleDetail={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_ARTICLE_DETAIL,pageTitle:"圖文模組頁",viewType:"ArticleDetail",routerPathFunc:function(e){var t=e.id;return"/Article/Detail/"+(void 0===t?"":t)}},t.infoModuleAlbumList={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_ALBUM_LIST,pageTitle:"相簿列表頁",viewType:"Album",routerPathFunc:function(){return"/v2/shop/InfoModuleList#!/AlbumList"}},t.infoModuleAlbumDetail={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_ALBUM_DETAIL,pageTitle:"相簿模組頁",viewType:"AlbumDetail",routerPathFunc:function(e){var t=e.id;return"/Album/Detail/"+(void 0===t?"":t)}},t.infoModuleVideoList={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_VIDEO_LIST,pageTitle:"影片列表頁",viewType:"Video",routerPathFunc:function(){return"/v2/shop/InfoModuleList#!/VideoList"}},t.infoModuleVideoDetail={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_VIDEO_DETAIL,pageTitle:"影音模組頁",viewType:"VideoDetail",routerPathFunc:function(e){var t=e.id;return"/Video/Detail/"+(void 0===t?"":t)}},t.storeSidebarCustomLink={pageType:i.PAGE_TYPE.STORE_SIDEBAR_CUSTOM_LINK,pageTitle:"側欄門市自訂連結",viewType:"VIPMemberCustomLinkRelay",routerPathFunc:function(e){var t=e.id;return"/v2/VIPMember/CustomLinkRelay/"+(void 0===t?"":t)}},t.newestSalePage={pageType:i.PAGE_TYPE.NEWEST_SALEPAGE,pageTitle:"最新商品頁",viewType:"NewestSalePage",routerPathFunc:function(){return"/v2/Official/NewestSalePage"}},t.fsEvent={pageType:i.PAGE_TYPE.FS_EVENT,pageTitle:"Fever social 活動頁",viewType:"NewestSalePage",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/FSevent/"+(t||"")+"/"+(void 0===n?"":n)}},t.loyaltyPointECouponList={pageType:i.PAGE_TYPE.LOYALTY_POINT_ECOUPON_LIST,pageTitle:"會員點數兌換專區",viewType:"LoyaltyPointToECouponList",routerPathFunc:function(){return"/v2/LoyaltyPoint/ECouponList"}},t.loyaltyPointECouponDetail={pageType:i.PAGE_TYPE.LOYALTY_POINT_ECOUPON_DETAIL,pageTitle:"紅利點數折價券詳細頁",viewType:"LoyaltyPointToECouponDetail",routerPathFunc:function(){return"/v2/LoyaltyPoint/ECouponDetail"}},t.loyaltyPointCenter={pageType:i.PAGE_TYPE.LOYALTY_POINT_CENTER,pageTitle:"會員點數中心",viewType:"LoyaltyPointCenter",routerPathFunc:function(){return"/V2/LoyaltyPoint/Index"}},t.tagCategory={pageType:i.PAGE_TYPE.TAG_CATEGORY,pageTitle:"標籤分類頁",viewType:"TagCategory",routerPathFunc:function(e){var t=e.id;return"/tagCategory/"+(void 0===t?"":t)}},t.collectionViewAll={pageType:i.PAGE_TYPE.COLLECTION_VIEW_ALL,pageTitle:"穿搭一覽頁",viewType:"CollectionList",routerPathFunc:function(){return"/catalog/collectionList"}},t.collectionDetail={pageType:i.PAGE_TYPE.COLLECTION_DETAIL,pageTitle:"穿搭詳細頁",viewType:"CollectionDetail",routerPathFunc:function(e){var t=e.id;return"/catalog/collectionDetail/"+(void 0===t?"":t)}},t.eCouponHowToUse={pageType:i.PAGE_TYPE.ECOUPON_HOW_TO_USE,pageTitle:"折價券使用說明",viewType:"ECouponHowToUse",routerPathFunc:function(){return"ECoupon/HowToUse"}},t.shoppingCart={pageType:i.PAGE_TYPE.SHOPPING_CART,pageTitle:"購物車",viewType:"ShoppingCart",routerPathFunc:function(e){return"/v2/ShoppingCart/Index?shopId="+(e.shopId||"")+"#/Info/Index"}},t.payIndexPageInfo={pageType:i.PAGE_TYPE.PAY_INDEX,pageTitle:"結帳付款頁",viewType:"Pay",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/Pay?k="+(void 0===n?"":n)+"shopId="+(t||"")+"#/Info/PayAdvanced"}},t.payLandingPageInfo={pageType:i.PAGE_TYPE.PAY_LANDING,pageTitle:"結帳付款頁等待頁",viewType:"PayLanding",routerPathFunc:function(){return"/v2/Pay/Landing"}},t.payFinishPageInfo={pageType:i.PAGE_TYPE.PAY_FINISH,pageTitle:"結帳完成頁",viewType:"PayFinish",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/Pay/Finish?k="+(void 0===n?"":n)+"&shopId="+(t||"")}},t.appDownloadPage={pageType:i.PAGE_TYPE.APP_DOWNLOAD,pageTitle:"導下載頁",viewType:"AppDownload",routerPathFunc:function(){return"/app/download"}},t.loginIndexPageInfo={pageType:i.PAGE_TYPE.LOGIN,pageTitle:"登入",viewType:"Login",routerPathFunc:function(){return"/V2/Login/Index"}},t.unknownPageInfo={pageType:null,pageTitle:"不明的頁面",viewType:"unknown",routerPathFunc:function(){return""}},t.vipMemberIndexPageInfo={pageType:i.PAGE_TYPE.VIP_MEMBER,viewType:"VipMember",pageTitle:"會員專區",routerPathFunc:function(){return"/V2/VipMember/Index"}},t.traceSalePageList={viewType:"WishList",pageType:i.PAGE_TYPE.TRACE_SALE_PAGE_LIST,pageTitle:"我的收藏",routerPathFunc:function(){return"/TraceSalePageList/TraceSalePageList"}},t.backInStockAlertList={viewType:"BackInStockAlertList",pageType:i.PAGE_TYPE.BACK_IN_STOCK_ALERT_LIST,pageTitle:"貨到通知",routerPathFunc:function(){return"/v2/BackInStockAlertList"}},t.officialBrandStory={viewType:"BrandStory",pageType:i.PAGE_TYPE.OFFICIAL_BRAND_STORY,pageTitle:"品牌故事",routerPathFunc:function(){return"/v2/Official/BrandStory"}},t.shopIntroducePageInfo={viewType:"Introduce",pageType:i.PAGE_TYPE.SHOP_INTRODUCE,pageTitle:"商店簡介",routerPathFunc:function(e){return"/shop/introduce/"+(e.shopId||"")+"?t=1"}},t.shopIntroduceShoppingGuide={viewType:"Introduce",pageType:i.PAGE_TYPE.SHOP_INTRODUCE_SHOPPING_GUIDE,pageTitle:"購物說明",routerPathFunc:function(e){return"/shop/introduce/"+(e.shopId||"")+"?t=2"}},t.shopIntroduceCustomerService={viewType:"Introduce",pageType:i.PAGE_TYPE.SHOP_INTRODUCE_CUSTOMER_SERVICE,pageTitle:"商店客服",routerPathFunc:function(e){return"/shop/introduce/"+(e.shopId||"")+"?t=3"}},t.helpServicePageInfo={pageType:null,viewType:"",pageTitle:"購物說明",routerPathFunc:function(e){return"/shop/introduce/"+(e.shopId||"")+"?t=2"}},t.myAccountPrivacy={pageType:i.PAGE_TYPE.MY_ACCOUNT_PRIVACY,pageTitle:"隱私權條款頁",viewType:"Privacy",routerPathFunc:function(){return"/MyAccount/Privacy"}},t.myAccountVipMemberBenefits={pageType:i.PAGE_TYPE.MY_ACCOUNT_VIP_MEMBER_BENEFITS,viewType:"VipMemberBenefits",pageTitle:"會員權益說明",routerPathFunc:function(){return"/V2/MyAccount/VipMemberBenefits"}},t.myAccountLocationBooksPageInfo={pageType:null,viewType:"",pageTitle:"常用收件人",routerPathFunc:function(){return"/MyAccount/LocationBooks"}},t.tradesOrderList={pageType:i.PAGE_TYPE.TRADES_ORDER_LIST,viewType:"TradesOrderList",pageTitle:"訂單列表",routerPathFunc:function(){return"/V2/TradesOrder/TradesOrderList"}},t.tradesOrderDetail={pageType:i.PAGE_TYPE.TRADES_ORDER_LIST,viewType:"TradesOrderDetail",pageTitle:"訂單明細",routerPathFunc:function(){return"/V2/TradesOrder/TradesOrderDetail"}},t.ecouponMyEcoupon={pageType:i.PAGE_TYPE.ECOUPON_MY_ECOUPON,pageTitle:"我的優惠券",viewType:"ECouponMyECoupon",routerPathFunc:function(){return"/V2/ECoupon/MyECoupon"}},t.questionCustomerServiceCenter={pageType:i.PAGE_TYPE.QUESTION_CUSTOMER_SERVICE_CENTER,viewType:"CustomerServiceCenter",pageTitle:"常見問題",routerPathFunc:function(){return"/Question/CustomerServiceCenter"}},t.invoiceListPageInfo={pageType:null,viewType:"",pageTitle:"常用統一編號",routerPathFunc:function(){return"/MyAccount/InvoiceList"}},t.myAccountChangePassword={pageType:i.PAGE_TYPE.MY_ACCOUNT_CHANGE_PASSWORD,viewType:"ChangePassword",pageTitle:"修改密碼",routerPathFunc:function(){return"/V2/MyAccount/ChangePassword"}},t.agreePrivacyPageInfo={pageType:null,viewType:"",pageTitle:"會員權益聲明",routerPathFunc:function(){return"/V2/VipMember/agreePrivacy"}},t.emailNotificationPageInfo={pageType:null,viewType:"",pageTitle:"通知相關設定",routerPathFunc:function(){return"/V2/VipMember/EmailNotification"}},t.questionInsertPageInfo={pageType:i.PAGE_TYPE.QUESTION_INSERT,viewType:"QuestionInsert",pageTitle:"客服留言/問答紀錄",routerPathFunc:function(e){return"/Question/QuestionInsert/0?sId="+(e.shopId||"")}},t.preview={pageType:i.PAGE_TYPE.PRIVIEW,viewType:"Preview",pageTitle:"預覽頁",routerPathFunc:function(e){var t=e.id;return"/preview/"+(void 0===t?"":t)}},t.browsingHistory={pageType:i.PAGE_TYPE.BROWSING_HISTORY,viewType:"BrowsingHistory",pageTitle:"瀏覽紀錄",routerPathFunc:function(){return"/v2/browsingHistory"}},t.locationPickupSelectLocation={pageType:i.PAGE_TYPE.LOCATION_PICK_UP_SELECT_LOCATION,viewType:"LocationPickup",pageTitle:"選擇門市",routerPathFunc:function(){return"/V2/LocationPickup/SelectLocation"}},t.promotionGift={pageType:i.PAGE_TYPE.PROMOTION_GIFT,viewType:"PromotionGift",pageTitle:"贈品詳細",routerPathFunc:function(){return"/V2/Promotion/Gift"}},t.cancelGoodsRequest={pageType:i.PAGE_TYPE.CANCEL_GOODS_REQUEST,viewType:"CancelGoodsRequest",pageTitle:"訂單取消",routerPathFunc:function(){return"/V2/CancelGoodsRequest/list"}},t.returnGoodsRequest={pageType:i.PAGE_TYPE.RETURN_GOODS_REQUEST,viewType:"ReturnGoodsRequest",pageTitle:"訂單退貨",routerPathFunc:function(){return"/V2/ReturnGoodsRequest/list"}},t.changeGoodsRequest={pageType:i.PAGE_TYPE.CHANGE_GOODS_REQUEST,viewType:"ChangeGoodsRequest",pageTitle:"訂單換貨",routerPathFunc:function(){return"/V2/ChangeGoodsRequest/list"}},t.gameModuleEvent={pageType:i.PAGE_TYPE.GAME_MODULE_EVENT,pageTitle:"遊戲產生器活動頁",viewType:"GameModuleEvent",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/V2/GameModule/"+(t||"")+"/gpc001/"+(void 0===n?"":n)}},t.salePageCommentList={pageType:i.PAGE_TYPE.SALEPAGE_COMMENT_LIST,pageTitle:"評價列表頁",viewType:"SalePageComment",routerPathFunc:function(e){var t=e.id;return"/v2/SalePageComment/List?salePageId="+(void 0===t?"":t)}},t.expressSalePage={pageType:i.PAGE_TYPE.EXPRESS_SALEPAGE,pageTitle:"商品頁_express",viewType:"ExpressSalePage",routerPathFunc:function(e){var t=e.id;return"/cms/liff/tall/expressSalePage/"+(void 0===t?"":t)}},t.expressCheckout={pageType:i.PAGE_TYPE.EXPRESS_CHECKOUT,pageTitle:"快速結帳",viewType:"ExpressCheckout",routerPathFunc:function(e){var t=e.id;return"/v2/checkouts/"+(void 0===t?"":t)+"?pageType=express"}},t.payFinishExpressCheckout={pageType:i.PAGE_TYPE.EXPRESS_CHECKOUT_PAY_FINISH,pageTitle:"結帳完成頁",viewType:"ExpressCheckout",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/Pay/Finish?k="+(void 0===n?"":n)+"&shopId="+(t||"")+"&pageType=express"}},t.preparation={pageType:i.PAGE_TYPE.PREPARATION,pageTitle:"網站準備中",viewType:"Preparation",routerPathFunc:function(e){return"/V2/Static/Official/OfficialPreparation.htm?shopId="+e.shopId+"&reason=InProcess"}},t.serviceInfo={pageType:i.PAGE_TYPE.SERVICEINFO,pageTitle:"例行系統維護中",viewType:"ServiceInfo",routerPathFunc:function(){return"/service_info.htm"}},t.officialClosed={pageType:i.PAGE_TYPE.OFFICIAL_CLOSED,pageTitle:"網站關閉",viewType:"OfficialClosed",routerPathFunc:function(){return"/V2/Static/Official/Officialclosed.htm"}},t.activityClosed={pageType:i.PAGE_TYPE.ACTIVITY_CLOSED,pageTitle:"活動已結束",viewType:"Activityclosed",routerPathFunc:function(){return"/v2/Static/Activity/Activityclosed.html"}},t.activityPreparation={pageType:i.PAGE_TYPE.ACTIVITY_PREPARATION,pageTitle:"活動尚未開始",viewType:"ActivityPreparation",routerPathFunc:function(){return"/v2/Static/Activity/ActivityPreparation.html"}},t.notFoundPage={pageType:i.PAGE_TYPE.NOT_FOUND_PAGE,pageTitle:"找不到該頁面",viewType:"NotFoundPage",routerPathFunc:function(){return"/404V2.html"}},t.invitingFriends={pageType:i.PAGE_TYPE.INVITING_FRIENDS,pageTitle:"邀請好友",viewType:"SharedInvitation",routerPathFunc:function(){return"/V2/MyAccount/InvitingFriends"}},t.invitingHistory={pageType:i.PAGE_TYPE.INVITING_HISTORY,pageTitle:"邀請紀錄",viewType:"InvitingHistory",routerPathFunc:function(){return"/V2/MyAccount/InvitingHistory"}},t.inlineWrapper={pageType:i.PAGE_TYPE.INLINE_WRAPPER,pageTitle:"inline ifarme 頁",viewType:"IfarmeWrappery",routerPathFunc:function(e){return"/catalog/inlineWrapper/"+e.serviceType+"/"+e.id}},t.brandIndexWrapper={pageType:i.PAGE_TYPE.BRAND_INDEX,pageTitle:"品牌總覽頁",viewType:"ProductBrandOverview",routerPathFunc:function(){return"/V2/Brand"}},t.brandPageWrapper={pageType:i.PAGE_TYPE.BRAND_PAGE,pageTitle:"商品品牌頁",viewType:"BrandPage",routerPathFunc:function(e){var t=e.id;return"/V2/Brand/"+(void 0===t?"":t)}},t.crmShopMemberCardDescPage={pageType:i.PAGE_TYPE.MEMBER_CARD_DESC,pageTitle:"會員專區_會員制度說明頁",viewType:"CRMShopMemberCard",routerPathFunc:function(){return"/V2/CRMShopMemberCard/Description.html"}},t.outerSalesOrder={pageType:i.PAGE_TYPE.OUTER_SLAES_ORDER,pageTitle:"交易紀錄頁",viewType:"OuterSalesOrder",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/"}},t.consumptionHistoryOnline={pageType:i.PAGE_TYPE.CONSUMPTION_HISTORY_ONLINE,pageTitle:"交易紀錄頁_消費紀錄_線上",viewType:"ConsumptionHistoryOnline",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/consumption-history/online"}},t.consumptionHistoryOffline={pageType:i.PAGE_TYPE.CONSUMPTION_HISTORY_ONLINE,pageTitle:"交易紀錄頁_消費紀錄_門市",viewType:"ConsumptionHistoryOffline",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/consumption-history/offline"}},t.walletHistoryAll={pageType:i.PAGE_TYPE.WALLET_HISTORY_ALL,pageTitle:"交易紀錄頁_POYABuy紀錄_全部",viewType:"WalletHistoryAll",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/wallet-history/all"}},t.walletHistoryCard={pageType:i.PAGE_TYPE.WALLET_HISTORY_CARD,pageTitle:"交易紀錄頁_POYABuy紀錄_信用卡",viewType:"WalletHistoryCard",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/wallet-history/card"}},t.walletHistoryTopped={pageType:i.PAGE_TYPE.WALLET_HISTORY_CARD,pageTitle:"交易紀錄頁_POYABuy紀錄_儲值金",viewType:"WalletHistoryTopped",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/wallet-history/topped"}},t.pointHistory={pageType:i.PAGE_TYPE.POINT_HISTORY,pageTitle:"交易紀錄頁_點數紀錄",viewType:"PointHistory",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/point-history"}},t.stampRecordHistory={pageType:i.PAGE_TYPE.STAMP_RECORD_HISTORY,pageTitle:"交易紀錄頁_印花紀錄",viewType:"StampRecordHistory",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/stampRecord-history"}},t.ecouponCustomList={pageType:i.PAGE_TYPE.ECOUPON_CUSTOM_LIST,pageTitle:"優惠券專區 自訂券列表",viewType:"ecouponCustomList",routerPathFunc:function(e){var t=e.id;return"/v2/ECoupon/List?TypeDef=ECouponCustom&ECouponCustomId="+(void 0===t?"":t)}},t.ecouponIdForLoyaltyPoint={pageType:i.PAGE_TYPE.ECOUPON_ID_FOR_LOYALTY_POINT,pageTitle:"優惠券詳細頁(紅利點數兌換)",viewType:"ecouponIdForLoyaltyPoint",routerPathFunc:function(e){var t=e.id;return"/v2/LoyaltyPoint/ECouponDetail?eCouponId="+(void 0===t?"":t)}},t.shoppingCartBatchInsert={pageType:i.PAGE_TYPE.SHOPPING_CART_BATCH_INSERT,pageTitle:"購物車批次新增轉導頁",viewType:"ShoppingCartBatchInsert",routerPathFunc:function(){return"/v2/ShoppingCart/BatchInsert"}},t.addOnsSalePage={pageType:i.PAGE_TYPE.ADD_ONS_SALEPAGE,pageTitle:"商品頁",viewType:"AddOnsSalePage",routerPathFunc:function(e){var t=e.id;return"/AddOnsSalePage/Index/"+(void 0===t?"":t)}},t.extraPurchaseList={pageType:i.PAGE_TYPE.EXTRA_PURCHASE_LIST,pageTitle:"加價購專區",viewType:"AddOnsSalePageArea",routerPathFunc:function(e){var t=e.id;return"/V2/AddOnsSalePage/ExtraPurchaseList/"+(void 0===t?"":t)}},t.streamPage={pageType:i.PAGE_TYPE.STREAM,pageTitle:"影片頁",viewType:"StreamPage",routerPathFunc:function(e){var t=e.id;return"/catalog/stream/"+(void 0===t?"":t)}}},7031:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PAGE_NAME=t.URL_TYPE=t.PAGE_TYPE=void 0,t.PAGE_TYPE={INDEX:"p01",CATEGORY:"p02",SALEPAGE:"p03",ACTIVITY:"p04",ECOUPON_LIST:"p05",ECOUPON:"p06",PROMOTION_LIST:"p07",PROMOTION:"p08",SHOP_STORE_LIST:"p09",SHOP_STORE_DETAIL:"p10",COUPON_LIST:"p11",COUPON:"p12",HOT_SALE_RANKING:"p13",SEARCH:"p14",VIP_MEMBER_PROFILE:"p15",HIDDEN:"p16",CUSTOM:"p17",PROMOTION_ENGINE:"p18",SHOP_INFO_MODULE_LIST:"p19",SHOP_INFO_MODULE_ARTICLE_LIST:"p20",SHOP_INFO_MODULE_ARTICLE_DETAIL:"p21",SHOP_INFO_MODULE_ALBUM_LIST:"p22",SHOP_INFO_MODULE_ALBUM_DETAIL:"p23",SHOP_INFO_MODULE_VIDEO_LIST:"p24",SHOP_INFO_MODULE_VIDEO_DETAIL:"p25",STORE_SIDEBAR_CUSTOM_LINK:"p26",NEWEST_SALEPAGE:"p27",FS_EVENT:"p28",LOYALTY_POINT_ECOUPON_LIST:"p29",TAG_CATEGORY:"p30",COLLECTION_VIEW_ALL:"p31",COLLECTION_DETAIL:"p32",ECOUPON_HOW_TO_USE:"p33",SHOPPING_CART:"p34",PAY_INDEX:"p35",PAY_LANDING:"p36",PAY_FINISH:"p37",APP_DOWNLOAD:"p38",LOGIN:"p39",TRADES_ORDER_LIST:"p40",PRIVIEW:"p41",BROWSING_HISTORY:"p42",SHOP_INTRODUCE:"p43",VIP_MEMBER:"p44",LOCATION_PICK_UP_SELECT_LOCATION:"p45",OFFICIAL_BRAND_STORY:"p46",SHOP_INTRODUCE_CUSTOMER_SERVICE:"p47",SHOP_INTRODUCE_SHOPPING_GUIDE:"p48",QUESTION_INSERT:"p49",QUESTION_CUSTOMER_SERVICE_CENTER:"p50",MY_ACCOUNT_PRIVACY:"p51",MY_ACCOUNT_VIP_MEMBER_BENEFITS:"p52",MY_ACCOUNT_CHANGE_PASSWORD:"p53",PROMOTION_GIFT:"p54",LOYALTY_POINT_CENTER:"p55",ECOUPON_HISTORY:"p56",ECOUPON_MY_ECOUPON:"p57",TRACE_SALE_PAGE_LIST:"p58",CANCEL_GOODS_REQUEST:"p59",RETURN_GOODS_REQUEST:"p60",CHANGE_GOODS_REQUEST:"p61",GAME_MODULE_EVENT:"p62",BACK_IN_STOCK_ALERT_LIST:"p63",SALEPAGE_COMMENT_LIST:"p64",EXPRESS_SALEPAGE:"p65",LOYALTY_POINT_ECOUPON_DETAIL:"p66",EXPRESS_CHECKOUT:"p67",EXPRESS_CHECKOUT_PAY_FINISH:"p68",PREVIEW:"p69",PREPARATION:"p70",SERVICEINFO:"p71",OFFICIAL_CLOSED:"p72",ACTIVITY_CLOSED:"p73",ACTIVITY_PREPARATION:"p74",NOT_FOUND_PAGE:"p75",INVITING_FRIENDS:"p76",INVITING_HISTORY:"p77",INLINE_WRAPPER:"P78",BRAND_INDEX:"P79",BRAND_PAGE:"P80",MEMBER_CARD_DESC:"p81",OUTER_SLAES_ORDER:"p82",CONSUMPTION_HISTORY_ONLINE:"p83",CONSUMPTION_HISTORY_OFFLINE:"p84",WALLET_HISTORY_ALL:"p85",WALLET_HISTORY_CARD:"p86",WALLET_HISTORY_TOPPED:"p87",POINT_HISTORY:"p88",STAMP_RECORD_HISTORY:"p89",ECOUPON_CUSTOM_LIST:"p90",ECOUPON_ID_FOR_LOYALTY_POINT:"p91",SHOPPING_CART_BATCH_INSERT:"p92",ADD_ONS_SALEPAGE:"p93",EXTRA_PURCHASE_LIST:"p94",STREAM:"p95",UNKNOWN:"unknown"},t.URL_TYPE={CUSTOM:"custom",INTERNAL:"internal",NONE:"none"},t.PAGE_NAME={INDEX:"index",HIDDEN:"hidden",PREVIEW:"preview",CUSTOM:"custom",CATEGORY:"category",TAG_CATEGORY:"tagCategory",COLLECTION_LIST:"collectionList",COLLECTION_DETAIL:"collectionDetail",BROWSING_HISTORY:"browsingHistory",DOWNLOAD:"download",HOT_SALE_RANKING:"hotSaleRanking",EXPRESS_SALEPAGE:"expressSalePage",SEARCH:"search",NEWEST_SALE_PAGE:"newestSalePage",LINE_EXPRESS_RELAY:"lineExpressRelay",INLINE_WRAPPER:"inlineWrapper",LINE:"line",STREAM:"stream"}},3718:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n(7031),t),o(n(9311),t)},9311:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getPageUrl=t.getPageInfoByPageType=t.getPageInfoByPathRegex=t.PageInfoMap=void 0;var a=n(7031),s=r(n(8819));t.PageInfoMap=new Map([[a.PAGE_TYPE.INDEX,s.indexPageInfo],[a.PAGE_TYPE.CATEGORY,s.shopCategoryPageInfo],[a.PAGE_TYPE.SALEPAGE,s.salePageInfo],[a.PAGE_TYPE.ACTIVITY,s.activityPageInfo],[a.PAGE_TYPE.ECOUPON_LIST,s.ecouponList],[a.PAGE_TYPE.ECOUPON,s.ecouponDetail],[a.PAGE_TYPE.PROMOTION_LIST,s.promotionList],[a.PAGE_TYPE.PROMOTION,s.promotionDetail],[a.PAGE_TYPE.SHOP_STORE_LIST,s.shopStoreList],[a.PAGE_TYPE.SHOP_STORE_DETAIL,s.shopStoreDetail],[a.PAGE_TYPE.COUPON_LIST,s.couponList],[a.PAGE_TYPE.COUPON,s.couponDetail],[a.PAGE_TYPE.HOT_SALE_RANKING,s.hotSaleRanking],[a.PAGE_TYPE.SEARCH,s.search],[a.PAGE_TYPE.VIP_MEMBER_PROFILE,s.vipMemberProfile],[a.PAGE_TYPE.HIDDEN,s.hidden],[a.PAGE_TYPE.CUSTOM,s.custom],[a.PAGE_TYPE.PROMOTION_ENGINE,s.promotionEngine],[a.PAGE_TYPE.SHOP_INFO_MODULE_LIST,s.infoModuleList],[a.PAGE_TYPE.SHOP_INFO_MODULE_ARTICLE_LIST,s.infoModuleArticleList],[a.PAGE_TYPE.SHOP_INFO_MODULE_ARTICLE_DETAIL,s.infoModuleArticleDetail],[a.PAGE_TYPE.SHOP_INFO_MODULE_ALBUM_LIST,s.infoModuleAlbumList],[a.PAGE_TYPE.SHOP_INFO_MODULE_ALBUM_DETAIL,s.infoModuleAlbumDetail],[a.PAGE_TYPE.SHOP_INFO_MODULE_VIDEO_LIST,s.infoModuleVideoList],[a.PAGE_TYPE.SHOP_INFO_MODULE_VIDEO_DETAIL,s.infoModuleVideoDetail],[a.PAGE_TYPE.STORE_SIDEBAR_CUSTOM_LINK,s.storeSidebarCustomLink],[a.PAGE_TYPE.NEWEST_SALEPAGE,s.newestSalePage],[a.PAGE_TYPE.FS_EVENT,s.fsEvent],[a.PAGE_TYPE.LOYALTY_POINT_ECOUPON_LIST,s.loyaltyPointECouponList],[a.PAGE_TYPE.TAG_CATEGORY,s.tagCategory],[a.PAGE_TYPE.COLLECTION_VIEW_ALL,s.collectionViewAll],[a.PAGE_TYPE.COLLECTION_DETAIL,s.collectionDetail],[a.PAGE_TYPE.ECOUPON_HOW_TO_USE,s.eCouponHowToUse],[a.PAGE_TYPE.SHOPPING_CART,s.shoppingCart],[a.PAGE_TYPE.SHOPPING_CART_BATCH_INSERT,s.shoppingCartBatchInsert],[a.PAGE_TYPE.PAY_INDEX,s.payIndexPageInfo],[a.PAGE_TYPE.PAY_LANDING,s.payLandingPageInfo],[a.PAGE_TYPE.PAY_FINISH,s.payFinishPageInfo],[a.PAGE_TYPE.APP_DOWNLOAD,s.appDownloadPage],[a.PAGE_TYPE.UNKNOWN,s.unknownPageInfo],[a.PAGE_TYPE.LOGIN,s.loginIndexPageInfo],[a.PAGE_TYPE.TRADES_ORDER_LIST,s.tradesOrderList],[a.PAGE_TYPE.PRIVIEW,s.preview],[a.PAGE_TYPE.BROWSING_HISTORY,s.browsingHistory],[a.PAGE_TYPE.SHOP_INTRODUCE,s.shopIntroducePageInfo],[a.PAGE_TYPE.SHOP_INTRODUCE_SHOPPING_GUIDE,s.shopIntroduceShoppingGuide],[a.PAGE_TYPE.SHOP_INTRODUCE_CUSTOMER_SERVICE,s.shopIntroduceCustomerService],[a.PAGE_TYPE.VIP_MEMBER,s.vipMemberIndexPageInfo],[a.PAGE_TYPE.LOCATION_PICK_UP_SELECT_LOCATION,s.locationPickupSelectLocation],[a.PAGE_TYPE.OFFICIAL_BRAND_STORY,s.officialBrandStory],[a.PAGE_TYPE.QUESTION_INSERT,s.questionInsertPageInfo],[a.PAGE_TYPE.QUESTION_CUSTOMER_SERVICE_CENTER,s.questionCustomerServiceCenter],[a.PAGE_TYPE.MY_ACCOUNT_PRIVACY,s.myAccountPrivacy],[a.PAGE_TYPE.MY_ACCOUNT_VIP_MEMBER_BENEFITS,s.myAccountVipMemberBenefits],[a.PAGE_TYPE.MY_ACCOUNT_CHANGE_PASSWORD,s.myAccountChangePassword],[a.PAGE_TYPE.PROMOTION_GIFT,s.promotionGift],[a.PAGE_TYPE.LOYALTY_POINT_CENTER,s.loyaltyPointCenter],[a.PAGE_TYPE.ECOUPON_HISTORY,s.eCouponHistory],[a.PAGE_TYPE.ECOUPON_MY_ECOUPON,s.ecouponMyEcoupon],[a.PAGE_TYPE.TRACE_SALE_PAGE_LIST,s.traceSalePageList],[a.PAGE_TYPE.CANCEL_GOODS_REQUEST,s.cancelGoodsRequest],[a.PAGE_TYPE.RETURN_GOODS_REQUEST,s.returnGoodsRequest],[a.PAGE_TYPE.CHANGE_GOODS_REQUEST,s.changeGoodsRequest],[a.PAGE_TYPE.GAME_MODULE_EVENT,s.gameModuleEvent],[a.PAGE_TYPE.BACK_IN_STOCK_ALERT_LIST,s.backInStockAlertList],[a.PAGE_TYPE.SALEPAGE_COMMENT_LIST,s.salePageCommentList],[a.PAGE_TYPE.EXPRESS_SALEPAGE,s.expressSalePage],[a.PAGE_TYPE.LOYALTY_POINT_ECOUPON_DETAIL,s.loyaltyPointECouponDetail],[a.PAGE_TYPE.EXPRESS_CHECKOUT,s.expressCheckout],[a.PAGE_TYPE.EXPRESS_CHECKOUT_PAY_FINISH,s.payFinishExpressCheckout],[a.PAGE_TYPE.PREVIEW,s.preview],[a.PAGE_TYPE.PREPARATION,s.preparation],[a.PAGE_TYPE.SERVICEINFO,s.serviceInfo],[a.PAGE_TYPE.OFFICIAL_CLOSED,s.officialClosed],[a.PAGE_TYPE.ACTIVITY_CLOSED,s.activityClosed],[a.PAGE_TYPE.ACTIVITY_PREPARATION,s.activityPreparation],[a.PAGE_TYPE.INVITING_FRIENDS,s.invitingFriends],[a.PAGE_TYPE.INVITING_HISTORY,s.invitingHistory],[a.PAGE_TYPE.INLINE_WRAPPER,s.inlineWrapper],[a.PAGE_TYPE.BRAND_INDEX,s.brandIndexWrapper],[a.PAGE_TYPE.BRAND_PAGE,s.brandPageWrapper],[a.PAGE_TYPE.NOT_FOUND_PAGE,s.notFoundPage],[a.PAGE_TYPE.MEMBER_CARD_DESC,s.crmShopMemberCardDescPage],[a.PAGE_TYPE.OUTER_SLAES_ORDER,s.outerSalesOrder],[a.PAGE_TYPE.CONSUMPTION_HISTORY_ONLINE,s.consumptionHistoryOnline],[a.PAGE_TYPE.CONSUMPTION_HISTORY_OFFLINE,s.consumptionHistoryOffline],[a.PAGE_TYPE.WALLET_HISTORY_ALL,s.walletHistoryAll],[a.PAGE_TYPE.WALLET_HISTORY_CARD,s.walletHistoryCard],[a.PAGE_TYPE.WALLET_HISTORY_TOPPED,s.walletHistoryTopped],[a.PAGE_TYPE.POINT_HISTORY,s.pointHistory],[a.PAGE_TYPE.STAMP_RECORD_HISTORY,s.stampRecordHistory],[a.PAGE_TYPE.ECOUPON_CUSTOM_LIST,s.ecouponCustomList],[a.PAGE_TYPE.ECOUPON_ID_FOR_LOYALTY_POINT,s.ecouponIdForLoyaltyPoint],[a.PAGE_TYPE.ADD_ONS_SALEPAGE,s.addOnsSalePage],[a.PAGE_TYPE.EXTRA_PURCHASE_LIST,s.extraPurchaseList],[a.PAGE_TYPE.STREAM,s.streamPage]]),t.getPageInfoByPathRegex=function(e,n,i){if(!e)return s.unknownPageInfo;var o,r=n||"undefined"!=typeof window?window.location.search:"",c=i||"undefined"!=typeof window?window.location.hash:"";switch(!0){case/(\/v2\/official\/$)|(\/v2\/official$)|^$|(^\/$)|(\/v2\/official\/Index$)|(\/v2\/official\/Index\/)/gi.test(e):o=s.indexPageInfo;break;case/\/v2\/official\/salepagecategory\/*/gi.test(e):o=s.shopCategoryPageInfo;break;case/\/salepage\/index\/*/gi.test(e):o=s.salePageInfo;break;case/\/v2\/activity\/*/gi.test(e):o=s.activityPageInfo;break;case/\/preview\/*/gi.test(e):o=s.preview;break;case/\/ecoupon\/list\/*/gi.test(e):o=/TypeDef=ECouponCustom/gi.test(r)?s.ecouponCustomList:s.ecouponList;break;case/\/v2\/ecoupon\/detail\/*/gi.test(e):o=s.ecouponDetail;break;case/\/v2\/promotion\/list\/*/gi.test(e):o=s.promotionList;break;case/\/promotion\/detail\/*/gi.test(e):o=s.promotionDetail;break;case/\/v2\/promotion\/gift\/*/gi.test(e):o=s.promotionGift;break;case/\/v2\/shop\/storeList\/*/gi.test(e):o=s.shopStoreList;break;case/\/shop\/storeDetail\/*/gi.test(e):o=s.shopStoreDetail;break;case/\/ecoupon\/list\/coupon\/*/gi.test(e):o=s.couponList;break;case/\/coupon\/detail\/*/gi.test(e):o=s.couponDetail;break;case/\/shop\/hotSaleRanking\/*/gi.test(e):o=s.hotSaleRanking;break;case/\/search\/*/gi.test(e):o=s.search;break;case/\/v2\/vipMember\/profile\/*/gi.test(e):o=s.vipMemberProfile;break;case/\/hidden\/*/gi.test(e):o=s.hidden;break;case/\/page\/*/gi.test(e):o=s.custom;break;case/\/v2\/promotionengine\/detail\/*/gi.test(e):o=s.promotionEngine;break;case/\/v2\/shop\/InfoModuleList\/*/gi.test(e):o="#/AlbumList"===c?s.infoModuleAlbumList:"#/ArticleList"===c?s.infoModuleArticleList:"#/VideoList"===c?s.infoModuleVideoList:s.infoModuleList;break;case/\/Article\/Detail\/*/gi.test(e):o=s.infoModuleArticleDetail;break;case/\/Album\/Detail\/*/gi.test(e):o=s.infoModuleAlbumDetail;break;case/\/Video\/Detail\/*/gi.test(e):o=s.infoModuleVideoDetail;break;case/\/v2\/official\/newestSalePage\/*/gi.test(e):o=s.newestSalePage;break;case/\/fsevent\/*/gi.test(e):o=s.fsEvent;break;case/\/v2\/LoyaltyPoint\/ECouponList\/*/gi.test(e):o=s.loyaltyPointECouponList;break;case/\/v2\/LoyaltyPoint\/index\/*/gi.test(e):o=s.loyaltyPointCenter;break;case/\/v2\/LoyaltyPoint\/ECouponDetail\/*/gi.test(e):o=/eCouponId=/gi.test(r)?s.ecouponIdForLoyaltyPoint:s.loyaltyPointECouponDetail;break;case/\/tag\/category\/*/gi.test(e):o=s.tagCategory;break;case/\/collectionList\/*/gi.test(e):o=t.PageInfoMap.get(a.PAGE_TYPE.COLLECTION_VIEW_ALL);break;case/\/collectionDetail\/*/gi.test(e):o=t.PageInfoMap.get(a.PAGE_TYPE.COLLECTION_DETAIL);break;case/\/ecoupon\/howToUse\/*/gi.test(e):o=s.eCouponHowToUse;break;case/\/v2\/ShoppingCart\/BatchInsert*/gi.test(e):o=s.shoppingCartBatchInsert;break;case/\/v2\/ShoppingCart*/gi.test(e):o=s.shoppingCart;break;case/\/v2\/pay\/index\/*|\/v2\/pay$/gi.test(e):o=s.payIndexPageInfo;break;case/\/v2\/pay\/landing\/*/gi.test(e):o=s.payLandingPageInfo;break;case/\/v2\/pay\/finish\/*/gi.test(e):var l=(null==r?void 0:r.length)?r.slice(1).split("&").reduce((function(e,t){var n,i=t.split("="),o=i[0],r=i[1];return Object.assign(e,((n={})[o]=r,n))}),{}):null;o=(null==l?void 0:l.pageType)&&"express"===l.pageType?s.payFinishExpressCheckout:s.payFinishPageInfo;break;case/\/app\/download\/*/gi.test(e):o=s.appDownloadPage;break;case/\/v2\/LocationPickup\/SelectLocation\/*/gi.test(e):o=s.locationPickupSelectLocation;break;case/\/TraceSalePageList\/TraceSalePageList\/*/gi.test(e):o=s.traceSalePageList;break;case/\/Official\/BrandStory\/*/gi.test(e):o=s.officialBrandStory;break;case/\/shop\/introduce\/*/gi.test(e):/t=1/gi.test(r)?o=s.shopIntroducePageInfo:/t=2/gi.test(r)?o=s.shopIntroduceShoppingGuide:/t=3/gi.test(r)&&(o=s.shopIntroduceCustomerService);break;case/\/Help\/ServiceInfo\/*/gi.test(e):o=s.helpServicePageInfo;break;case/\/MyAccount\/Privacy\/*/gi.test(e):o=s.myAccountPrivacy;break;case/\/MyAccount\/VipMemberBenefits\/*/gi.test(e):o=s.myAccountVipMemberBenefits;break;case/\/MyAccount\/LocationBooks\/*/gi.test(e):o=s.myAccountLocationBooksPageInfo;break;case/\/V2\/TradesOrder\/TradesOrderList*/gi.test(e):o=s.tradesOrderList;break;case/\/V2\/TradesOrder\/TradesOrderDetail*/gi.test(e):o=s.tradesOrderDetail;break;case/\/ECoupon\/MyECoupon\/*/gi.test(e):o=s.ecouponMyEcoupon;break;case/\/ECoupon\/ECouponHistory\/*/gi.test(e):o=s.eCouponHistory;break;case/\/Question\/CustomerServiceCenter\/*/gi.test(e):o=s.questionCustomerServiceCenter;break;case/\/MyAccount\/InvoiceList\/*/gi.test(e):o=s.invoiceListPageInfo;break;case/\/V2\/MyAccount\/ChangePassword\/*/gi.test(e):o=s.myAccountChangePassword;break;case/\/V2\/VipMember\/AgreePrivacy\/*/gi.test(e):o=s.agreePrivacyPageInfo;break;case/\/V2\/VipMember\/EmailNotification\/*/gi.test(e):o=s.emailNotificationPageInfo;break;case/\/V2\/VipMember\/*/gi.test(e):o=s.vipMemberIndexPageInfo;break;case/\/Login\/Index\/*/gi.test(e):o=s.loginIndexPageInfo;break;case/\/Question\/QuestionInsert\/*/gi.test(e):o=s.questionInsertPageInfo;break;case/\/v2\/browsingHistory\/*/gi.test(e):o=s.browsingHistory;break;case/\/v2\/CancelGoodsRequest\/list*/gi.test(e):o=s.cancelGoodsRequest;break;case/\/v2\/ReturnGoodsRequest\/list*/gi.test(e):o=s.returnGoodsRequest;break;case/\/v2\/ChangeGoodsRequest\/list*/gi.test(e):o=s.changeGoodsRequest;break;case/\/V2\/GameModule\/*/gi.test(e):o=s.gameModuleEvent;break;case/\/v2\/BackInStockAlertList\/*/gi.test(e):o=s.backInStockAlertList;break;case/\/v2\/SalePageComment\/list*/gi.test(e):o=s.salePageCommentList;break;case/(\/cms\/liff\/tall\/expressSalePage\/*)|(\/catalog\/expressSalePage\/*)/gi.test(e):o=s.expressSalePage;break;case/\/v2\/checkouts\/*/gi.test(e):o=s.expressCheckout;break;case/\/v2\/Static\/Official\/OfficialPreparation/gi.test(e):o=s.preparation;break;case/\/service_info/gi.test(e):o=s.serviceInfo;break;case/\/V2\/Static\/Official\/Officialclose/gi.test(e):o=s.officialClosed;break;case/\/v2\/Static\/Activity\/Activityclosed/gi.test(e):o=s.activityClosed;break;case/\/v2\/Static\/Activity\/ActivityPreparation/gi.test(e):o=s.activityPreparation;break;case/\/404V2/gi.test(e):o=s.notFoundPage;break;case/\/V2\/MyAccount\/InvitingFriends/gi.test(e):o=s.invitingFriends;break;case/\/V2\/MyAccount\/InvitingHistory/gi.test(e):o=s.invitingHistory;break;case/\/catalog\/inlineWrapper/gi.test(e):o=s.inlineWrapper;break;case/\/catalog\/stream/gi.test(e):o=s.streamPage;break;case/\/V2\/Brand$/gi.test(e):o=s.brandIndexWrapper;break;case/\/V2\/Brand\/\S/gi.test(e):o=s.brandPageWrapper;break;case/\/V2\/CRMShopMemberCard\/Description/gi.test(e):o=s.crmShopMemberCardDescPage;break;case/\/v2\/MembershipCard\/OuterSalesOrder\/*/gi.test(e):o=c.includes("#/consumption-history/online")?s.consumptionHistoryOnline:c.includes("#/consumption-history/offline")?s.consumptionHistoryOffline:"#/wallet-history/all"===c?s.walletHistoryAll:"#/wallet-history/card"===c?s.walletHistoryCard:"#/wallet-history/topped"===c?s.walletHistoryTopped:"#/point-history"===c?s.pointHistory:"#/stampRecord-history"===c?s.stampRecordHistory:s.outerSalesOrder;break;case/\/AddOnsSalePage\/Index\/*/gi.test(e):o=s.addOnsSalePage;break;case/\/AddOnsSalePage\/ExtraPurchaseList\/*/gi.test(e):o=s.extraPurchaseList}return o||s.unknownPageInfo},t.getPageInfoByPageType=function(e){return t.PageInfoMap.get(e)||s.unknownPageInfo},t.getPageUrl=function(e,n,i){void 0===i&&(i={id:""});var o="//"+e,r=(t.PageInfoMap.get(n)||{}).routerPathFunc,a=r?r(i):"";return n.includes("P78_")?o+"/catalog/inlineWrapper/"+("RESERVATION"===n.split("_")[1]?"TableReservation":"TakeoutOrDelivery"):""+o+a}},9698:function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t},a=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},s=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchApi=t.requestBuilder=t.RequestMethod=void 0;var c,l=n(2403),u=r(n(5734)),d=n(2282);!function(e){e.DELETE="DELETE",e.FORM="FORM",e.GET="GET",e.HEAD="HEAD",e.POST="POST",e.PUT="PUT"}(c=t.RequestMethod||(t.RequestMethod={}));var g=function(e,t,n){return n!==c.PUT&&n!==c.POST&&n!==c.DELETE||e.set("Content-Type","application/json"),t&&e.set(t),e};t.requestBuilder=function(e,t,n){void 0===n&&(n="");var i=t.headers,o=t.body,r=t.formData,a=t.method;if(a===c.GET){var s=u.get(e);return g(s,i,a).query(n)}return a===c.POST?(s=u.post(e),g(s,i,a).query(n).send(o)):a===c.PUT?(s=u.put(e),g(s,i,a).query(n).send(o)):a===c.DELETE?(s=u.delete(e),g(s,i,a).query(n).send(o)):a===c.FORM?(s=u.post(e),g(s,i,a).query(n).send(r)):a===c.HEAD?u.head(e).query(n):void 0},t.fetchApi=function(e,n){return void 0===n&&(n={method:c.GET}),a(this,void 0,void 0,(function(){var i,o,r,a,c,u,g;return s(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),i=e.split("?")[0]||"",o=e.split("?")[1]||"",r=(0,t.requestBuilder)(i,n,o),a=n.timeout||{response:1e4,deadline:2e4},r?[4,r.timeout(a)]:[2,Promise.reject(new Error("request is null"))];case 1:return c=s.sent(),l.redirect[c.status]||l.retry[c.status]?[2,Promise.reject(new Error(c.body))]:[2,Promise.resolve(c.body)];case 2:return(u=s.sent()).timeout?(g=(n||{}).traceId,[2,Promise.reject((0,d.timeoutError)(u,g||""))]):[2,Promise.reject(u)];case 3:return[2]}}))}))}},2282:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.timeoutError=void 0,t.timeoutError=function(e,t){return{name:"TimeoutError",message:(null==e?void 0:e.message)||"Connection timeout. Please try again.",code:"".concat(t,"_E001")}}},794:(e,t,n)=>{"use strict";n.d(t,{K3:()=>g,KG:()=>c,XM:()=>l,Xn:()=>d,lB:()=>s});var i,o=n(5927),r=n.n(o),a=n(1004);function s(){return i||(i=r().createContext({})),i}var c,l=function(e){var t=e.client,n=e.children,i=s();return r().createElement(i.Consumer,null,(function(e){return void 0===e&&(e={}),t&&e.client!==t&&(e=Object.assign({},e,{client:t})),(0,a.V1)(e.client,5),r().createElement(i.Provider,{value:e},n)}))};!function(e){e[e.Query=0]="Query",e[e.Mutation=1]="Mutation",e[e.Subscription=2]="Subscription"}(c||(c={}));var u=new Map;function d(e){var t;switch(e){case c.Query:t="Query";break;case c.Mutation:t="Mutation";break;case c.Subscription:t="Subscription"}return t}function g(e){var t,n,i=u.get(e);if(i)return i;(0,a.V1)(!!e&&!!e.kind,1);var o=e.definitions.filter((function(e){return"FragmentDefinition"===e.kind})),r=e.definitions.filter((function(e){return"OperationDefinition"===e.kind&&"query"===e.operation})),s=e.definitions.filter((function(e){return"OperationDefinition"===e.kind&&"mutation"===e.operation})),l=e.definitions.filter((function(e){return"OperationDefinition"===e.kind&&"subscription"===e.operation}));(0,a.V1)(!o.length||r.length||s.length||l.length,2),(0,a.V1)(r.length+s.length+l.length<=1,3),n=r.length?c.Query:c.Mutation,r.length||s.length||(n=c.Subscription);var d=r.length?r:s.length?s:l;(0,a.V1)(1===d.length,4);var g=d[0];t=g.variableDefinitions||[];var p={name:g.name&&"Name"===g.name.kind?g.name.value:"data",type:n,variables:t};return u.set(e,p),p}},3978:(e,t,n)=>{"use strict";n.d(t,{IT:()=>d});var i=n(794),o=n(5215),r=n(5927),a=n(4937),s=n(2834),c=n(1004),l=function(){function e(e,t){this.isMounted=!1,this.previousOptions={},this.context={},this.options={},this.options=e||{},this.context=t||{}}return e.prototype.getOptions=function(){return this.options},e.prototype.setOptions=function(e,t){void 0===t&&(t=!1),t&&!(0,s.L)(this.options,e)&&(this.previousOptions=this.options),this.options=e},e.prototype.unmount=function(){this.isMounted=!1},e.prototype.refreshClient=function(){var e=this.options&&this.options.client||this.context&&this.context.client;(0,c.V1)(!!e,2);var t=!1;return e!==this.client&&(t=!0,this.client=e,this.cleanup()),{client:this.client,isNew:t}},e.prototype.verifyDocumentType=function(e,t){var n=(0,i.K3)(e);(0,i.Xn)(t),(0,i.Xn)(n.type),(0,c.V1)(n.type===t,3)},e}(),u=function(e){function t(t){var n=t.options,i=t.context,o=t.onNewData,r=e.call(this,n,i)||this;return r.previousData={},r.currentObservable={},r.runLazy=!1,r.runLazyQuery=function(e){r.cleanup(),r.runLazy=!0,r.lazyOptions=e,r.onNewData()},r.getExecuteResult=function(){var e=r.getQueryResult();return r.startQuerySubscription(),e},r.obsRefetch=function(e){return r.currentObservable.query.refetch(e)},r.obsFetchMore=function(e){return r.currentObservable.query.fetchMore(e)},r.obsUpdateQuery=function(e){return r.currentObservable.query.updateQuery(e)},r.obsStartPolling=function(e){r.currentObservable&&r.currentObservable.query&&r.currentObservable.query.startPolling(e)},r.obsStopPolling=function(){r.currentObservable&&r.currentObservable.query&&r.currentObservable.query.stopPolling()},r.obsSubscribeToMore=function(e){return r.currentObservable.query.subscribeToMore(e)},r.onNewData=o,r}return(0,o.C6)(t,e),t.prototype.execute=function(){this.refreshClient();var e=this.getOptions(),t=e.skip,n=e.query;return(t||n!==this.previousData.query)&&(this.removeQuerySubscription(),this.previousData.query=n),this.updateObservableQuery(),this.isMounted&&this.startQuerySubscription(),this.getExecuteSsrResult()||this.getExecuteResult()},t.prototype.executeLazy=function(){return this.runLazy?[this.runLazyQuery,this.execute()]:[this.runLazyQuery,{loading:!1,networkStatus:a.pT.ready,called:!1,data:void 0}]},t.prototype.fetchData=function(){var e=this.getOptions();if(e.skip||!1===e.ssr)return!1;var t=this.currentObservable.query;return!!t.getCurrentResult().loading&&t.result()},t.prototype.afterExecute=function(e){var t=(void 0===e?{}:e).lazy,n=void 0!==t&&t;return this.isMounted=!0,n&&!this.runLazy||this.handleErrorOrCompleted(),this.previousOptions=this.getOptions(),this.unmount.bind(this)},t.prototype.cleanup=function(){this.removeQuerySubscription(),delete this.currentObservable.query,delete this.previousData.result},t.prototype.getOptions=function(){var t=e.prototype.getOptions.call(this);return this.lazyOptions&&(t.variables=(0,o.Cl)((0,o.Cl)({},t.variables),this.lazyOptions.variables),t.context=(0,o.Cl)((0,o.Cl)({},t.context),this.lazyOptions.context)),this.runLazy&&delete t.skip,t},t.prototype.ssrInitiated=function(){return this.context&&this.context.renderPromises},t.prototype.getExecuteSsrResult=function(){var e,t=!1===this.getOptions().ssr,n=this.refreshClient().client.disableNetworkFetches,i=(0,o.Cl)({loading:!0,networkStatus:a.pT.loading,called:!0,data:void 0,stale:!1,client:this.client},this.observableQueryFields());return t&&(this.ssrInitiated()||n)?(this.previousData.result=i,i):(this.ssrInitiated()&&(e=this.context.renderPromises.addQueryPromise(this,this.getExecuteResult)||i),e)},t.prototype.prepareObservableQueryOptions=function(){var e=this.getOptions();this.verifyDocumentType(e.query,i.KG.Query);var t=e.displayName||"Query";return!this.ssrInitiated()||"network-only"!==e.fetchPolicy&&"cache-and-network"!==e.fetchPolicy||(e.fetchPolicy="cache-first"),(0,o.Cl)((0,o.Cl)({},e),{displayName:t,context:e.context,metadata:{reactComponent:{displayName:t}}})},t.prototype.initializeObservableQuery=function(){var e,t;if(this.ssrInitiated()&&(this.currentObservable.query=this.context.renderPromises.getSSRObservable(this.getOptions())),!this.currentObservable.query){var n=this.prepareObservableQueryOptions();this.previousData.observableQueryOptions=(0,o.Cl)((0,o.Cl)({},n),{children:null}),this.currentObservable.query=this.refreshClient().client.watchQuery((0,o.Cl)({},n)),this.ssrInitiated()&&(null===(t=null===(e=this.context)||void 0===e?void 0:e.renderPromises)||void 0===t||t.registerSSRObservable(this.currentObservable.query,n))}},t.prototype.updateObservableQuery=function(){if(this.currentObservable.query){var e=(0,o.Cl)((0,o.Cl)({},this.prepareObservableQueryOptions()),{children:null});(0,s.L)(e,this.previousData.observableQueryOptions)||(this.previousData.observableQueryOptions=e,this.currentObservable.query.setOptions(e).catch((function(){})))}else this.initializeObservableQuery()},t.prototype.startQuerySubscription=function(){var e=this;if(!this.currentObservable.subscription&&!this.getOptions().skip){var t=this.currentObservable.query;this.currentObservable.subscription=t.subscribe({next:function(t){var n=t.loading,i=t.networkStatus,o=t.data,r=e.previousData.result;r&&r.loading===n&&r.networkStatus===i&&(0,s.L)(r.data,o)||e.onNewData()},error:function(t){if(e.resubscribeToQuery(),!t.hasOwnProperty("graphQLErrors"))throw t;var n=e.previousData.result;(n&&n.loading||!(0,s.L)(t,e.previousData.error))&&(e.previousData.error=t,e.onNewData())}})}},t.prototype.resubscribeToQuery=function(){this.removeQuerySubscription();var e=this.currentObservable.query.getLastError(),t=this.currentObservable.query.getLastResult();this.currentObservable.query.resetLastResults(),this.startQuerySubscription(),Object.assign(this.currentObservable.query,{lastError:e,lastResult:t})},t.prototype.getQueryResult=function(){var e=this.observableQueryFields(),t=this.getOptions();if(t.skip)e=(0,o.Cl)((0,o.Cl)({},e),{data:void 0,error:void 0,loading:!1,called:!0});else{var n=this.currentObservable.query.getCurrentResult(),i=n.loading,r=n.partial,s=n.networkStatus,c=n.errors,l=n.error,u=n.data;if(c&&c.length>0&&(l=new a.K4({graphQLErrors:c})),e=(0,o.Cl)((0,o.Cl)({},e),{loading:i,networkStatus:s,error:l,called:!0}),i){var d=this.previousData.result&&this.previousData.result.data;e.data=d&&u?(0,o.Cl)((0,o.Cl)({},d),u):d||u}else if(l)Object.assign(e,{data:(this.currentObservable.query.getLastResult()||{}).data});else{var g=this.currentObservable.query.options.fetchPolicy;if(t.partialRefetch&&!u&&r&&"cache-only"!==g)return Object.assign(e,{loading:!0,networkStatus:a.pT.loading}),e.refetch(),e;e.data=u}}return e.client=this.client,this.previousData.loading=this.previousData.result&&this.previousData.result.loading||!1,this.previousData.result=e,this.currentObservable.query&&this.currentObservable.query.resetQueryStoreErrors(),e},t.prototype.handleErrorOrCompleted=function(){if(this.currentObservable.query&&this.previousData.result){var e=this.previousData.result,t=e.data,n=e.loading,i=e.error;if(!n){var o=this.getOptions(),r=o.query,a=o.variables,c=o.onCompleted,l=o.onError;if(this.previousOptions&&!this.previousData.loading&&(0,s.L)(this.previousOptions.query,r)&&(0,s.L)(this.previousOptions.variables,a))return;c&&!i?c(t):l&&i&&l(i)}}},t.prototype.removeQuerySubscription=function(){this.currentObservable.subscription&&(this.currentObservable.subscription.unsubscribe(),delete this.currentObservable.subscription)},t.prototype.observableQueryFields=function(){return{variables:this.currentObservable.query.variables,refetch:this.obsRefetch,fetchMore:this.obsFetchMore,updateQuery:this.obsUpdateQuery,startPolling:this.obsStartPolling,stopPolling:this.obsStopPolling,subscribeToMore:this.obsSubscribeToMore}},t}(l);function d(e,t){return function(e,t,n){void 0===n&&(n=!1);var a=(0,r.useContext)((0,i.lB)()),c=(0,r.useReducer)((function(e){return e+1}),0),l=c[0],d=c[1],g=t?(0,o.Cl)((0,o.Cl)({},t),{query:e}):{query:e},p=(0,r.useRef)(),m=p.current||new u({options:g,context:a,onNewData:function(){m.ssrInitiated()?d():Promise.resolve().then(d)}});m.setOptions(g),m.context=a,m.ssrInitiated()&&!p.current&&(p.current=m);var f,I,h,b=(f=function(){return n?m.executeLazy():m.execute()},I={options:(0,o.Cl)((0,o.Cl)({},g),{onError:void 0,onCompleted:void 0}),context:a,tick:l},(h=(0,r.useRef)()).current&&(0,s.L)(I,h.current.key)||(h.current={key:I,value:f()}),h.current.value),y=n?b[1]:b;return(0,r.useEffect)((function(){return p.current||(p.current=m),function(){return m.cleanup()}}),[]),(0,r.useEffect)((function(){return m.afterExecute({lazy:n})}),[y.loading,y.networkStatus,y.error,y.data]),b}(e,t,!1)}!function(e){function t(t){var n=t.options,o=t.context,r=t.result,a=t.setResult,s=e.call(this,n,o)||this;return s.runMutation=function(e){void 0===e&&(e={}),s.onMutationStart();var t=s.generateNewMutationId();return s.mutate(e).then((function(e){return s.onMutationCompleted(e,t),e})).catch((function(e){if(s.onMutationError(e,t),!s.getOptions().onError)throw e}))},s.verifyDocumentType(n.mutation,i.KG.Mutation),s.result=r,s.setResult=a,s.mostRecentMutationId=0,s}(0,o.C6)(t,e),t.prototype.execute=function(e){return this.isMounted=!0,this.verifyDocumentType(this.getOptions().mutation,i.KG.Mutation),e.client=this.refreshClient().client,[this.runMutation,e]},t.prototype.afterExecute=function(){return this.isMounted=!0,this.unmount.bind(this)},t.prototype.cleanup=function(){},t.prototype.mutate=function(e){var t=this.getOptions(),n=t.mutation,i=t.variables,r=t.optimisticResponse,a=t.update,s=t.context,c=void 0===s?{}:s,l=t.awaitRefetchQueries,u=void 0!==l&&l,d=t.fetchPolicy,g=(0,o.Cl)({},e),p=Object.assign({},i,g.variables);return delete g.variables,this.refreshClient().client.mutate((0,o.Cl)({mutation:n,optimisticResponse:r,refetchQueries:g.refetchQueries||this.getOptions().refetchQueries,awaitRefetchQueries:u,update:a,context:c,fetchPolicy:d,variables:p},g))},t.prototype.onMutationStart=function(){this.result.loading||this.getOptions().ignoreResults||this.updateResult({loading:!0,error:void 0,data:void 0,called:!0})},t.prototype.onMutationCompleted=function(e,t){var n=this.getOptions(),i=n.onCompleted,o=n.ignoreResults,r=e.data,s=e.errors,c=s&&s.length>0?new a.K4({graphQLErrors:s}):void 0;this.isMostRecentMutation(t)&&!o&&this.updateResult({called:!0,loading:!1,data:r,error:c}),i&&i(r)},t.prototype.onMutationError=function(e,t){var n=this.getOptions().onError;this.isMostRecentMutation(t)&&this.updateResult({loading:!1,error:e,data:void 0,called:!0}),n&&n(e)},t.prototype.generateNewMutationId=function(){return++this.mostRecentMutationId},t.prototype.isMostRecentMutation=function(e){return this.mostRecentMutationId===e},t.prototype.updateResult=function(e){!this.isMounted||this.previousResult&&(0,s.L)(this.previousResult,e)||(this.setResult(e),this.previousResult=e)}}(l),function(e){function t(t){var n=t.options,i=t.context,o=t.setResult,r=e.call(this,n,i)||this;return r.currentObservable={},r.setResult=o,r.initialize(n),r}(0,o.C6)(t,e),t.prototype.execute=function(e){if(!0===this.getOptions().skip)return this.cleanup(),{loading:!1,error:void 0,data:void 0,variables:this.getOptions().variables};var t=e;this.refreshClient().isNew&&(t=this.getLoadingResult());var n=this.getOptions().shouldResubscribe;return"function"==typeof n&&(n=!!n(this.getOptions())),!1!==n&&this.previousOptions&&Object.keys(this.previousOptions).length>0&&(this.previousOptions.subscription!==this.getOptions().subscription||!(0,s.L)(this.previousOptions.variables,this.getOptions().variables)||this.previousOptions.skip!==this.getOptions().skip)&&(this.cleanup(),t=this.getLoadingResult()),this.initialize(this.getOptions()),this.startSubscription(),this.previousOptions=this.getOptions(),(0,o.Cl)((0,o.Cl)({},t),{variables:this.getOptions().variables})},t.prototype.afterExecute=function(){this.isMounted=!0},t.prototype.cleanup=function(){this.endSubscription(),delete this.currentObservable.query},t.prototype.initialize=function(e){this.currentObservable.query||!0===this.getOptions().skip||(this.currentObservable.query=this.refreshClient().client.subscribe({query:e.subscription,variables:e.variables,fetchPolicy:e.fetchPolicy}))},t.prototype.startSubscription=function(){this.currentObservable.subscription||(this.currentObservable.subscription=this.currentObservable.query.subscribe({next:this.updateCurrentData.bind(this),error:this.updateError.bind(this),complete:this.completeSubscription.bind(this)}))},t.prototype.getLoadingResult=function(){return{loading:!0,error:void 0,data:void 0}},t.prototype.updateResult=function(e){this.isMounted&&this.setResult(e)},t.prototype.updateCurrentData=function(e){var t=this.getOptions().onSubscriptionData;this.updateResult({data:e.data,loading:!1,error:void 0}),t&&t({client:this.refreshClient().client,subscriptionData:e})},t.prototype.updateError=function(e){this.updateResult({error:e,loading:!1})},t.prototype.completeSubscription=function(){var e=this.getOptions().onSubscriptionComplete;e&&e(),this.endSubscription()},t.prototype.endSubscription=function(){this.currentObservable.subscription&&(this.currentObservable.subscription.unsubscribe(),delete this.currentObservable.subscription)}}(l),function(){function e(){this.queryPromises=new Map,this.queryInfoTrie=new Map}e.prototype.registerSSRObservable=function(e,t){this.lookupQueryInfo(t).observable=e},e.prototype.getSSRObservable=function(e){return this.lookupQueryInfo(e).observable},e.prototype.addQueryPromise=function(e,t){return this.lookupQueryInfo(e.getOptions()).seen?t():(this.queryPromises.set(e.getOptions(),new Promise((function(t){t(e.fetchData())}))),null)},e.prototype.hasPromises=function(){return this.queryPromises.size>0},e.prototype.consumeAndAwaitPromises=function(){var e=this,t=[];return this.queryPromises.forEach((function(n,i){e.lookupQueryInfo(i).seen=!0,t.push(n)})),this.queryPromises.clear(),Promise.all(t)},e.prototype.lookupQueryInfo=function(e){var t=this.queryInfoTrie,n=e.query,i=e.variables,o=t.get(n)||new Map;t.has(n)||t.set(n,o);var r=JSON.stringify(i),a=o.get(r)||{seen:!1,observable:null};return o.has(r)||o.set(r,a),a}}()},2834:(e,t,n)=>{"use strict";n.d(t,{L:()=>s});var i=Object.prototype,o=i.toString,r=i.hasOwnProperty,a=new Map;function s(e,t){try{return c(e,t)}finally{a.clear()}}function c(e,t){if(e===t)return!0;var n=o.call(e);if(n!==o.call(t))return!1;switch(n){case"[object Array]":if(e.length!==t.length)return!1;case"[object Object]":if(l(e,t))return!0;var i=Object.keys(e),a=Object.keys(t),s=i.length;if(s!==a.length)return!1;for(var u=0;u<s;++u)if(!r.call(t,i[u]))return!1;for(u=0;u<s;++u){var d=i[u];if(!c(e[d],t[d]))return!1}return!0;case"[object Error]":return e.name===t.name&&e.message===t.message;case"[object Number]":if(e!=e)return t!=t;case"[object Boolean]":case"[object Date]":return+e==+t;case"[object RegExp]":case"[object String]":return e==""+t;case"[object Map]":case"[object Set]":if(e.size!==t.size)return!1;if(l(e,t))return!0;for(var g=e.entries(),p="[object Map]"===n;;){var m=g.next();if(m.done)break;var f=m.value,I=f[0],h=f[1];if(!t.has(I))return!1;if(p&&!c(h,t.get(I)))return!1}return!0}return!1}function l(e,t){var n=a.get(e);if(n){if(n.has(t))return!0}else a.set(e,n=new Set);return n.add(t),!1}},8103:function(e,t){
/*!
 * accounting.js v0.4.1
 * Copyright 2014 Open Exchange Rates
 *
 * Freely distributable under the MIT license.
 * Portions of accounting.js are inspired or borrowed from underscore.js
 *
 * Full details and documentation:
 * http://openexchangerates.github.io/accounting.js/
 */
!function(){var n={version:"0.4.1",settings:{currency:{symbol:"$",format:"%s%v",decimal:".",thousand:",",precision:2,grouping:3},number:{precision:0,grouping:3,thousand:",",decimal:"."}}},i=Array.prototype.map,o=Array.isArray,r=Object.prototype.toString;function a(e){return!!(""===e||e&&e.charCodeAt&&e.substr)}function s(e){return o?o(e):"[object Array]"===r.call(e)}function c(e){return e&&"[object Object]"===r.call(e)}function l(e,t){var n;for(n in e=e||{},t=t||{})t.hasOwnProperty(n)&&null==e[n]&&(e[n]=t[n]);return e}function u(e,t,n){var o,r,a=[];if(!e)return a;if(i&&e.map===i)return e.map(t,n);for(o=0,r=e.length;o<r;o++)a[o]=t.call(n,e[o],o,e);return a}function d(e,t){return e=Math.round(Math.abs(e)),isNaN(e)?t:e}function g(e){var t=n.settings.currency.format;return"function"==typeof e&&(e=e()),a(e)&&e.match("%v")?{pos:e,neg:e.replace("-","").replace("%v","-%v"),zero:e}:e&&e.pos&&e.pos.match("%v")?e:a(t)?n.settings.currency.format={pos:t,neg:t.replace("%v","-%v"),zero:t}:t}var p=n.unformat=n.parse=function(e,t){if(s(e))return u(e,(function(e){return p(e,t)}));if("number"==typeof(e=e||0))return e;t=t||n.settings.number.decimal;var i=new RegExp("[^0-9-"+t+"]",["g"]),o=parseFloat((""+e).replace(/\((.*)\)/,"-$1").replace(i,"").replace(t,"."));return isNaN(o)?0:o},m=n.toFixed=function(e,t){t=d(t,n.settings.number.precision);var i=Math.pow(10,t);return(Math.round(n.unformat(e)*i)/i).toFixed(t)},f=n.formatNumber=n.format=function(e,t,i,o){if(s(e))return u(e,(function(e){return f(e,t,i,o)}));e=p(e);var r=l(c(t)?t:{precision:t,thousand:i,decimal:o},n.settings.number),a=d(r.precision),g=e<0?"-":"",I=parseInt(m(Math.abs(e||0),a),10)+"",h=I.length>3?I.length%3:0;return g+(h?I.substr(0,h)+r.thousand:"")+I.substr(h).replace(/(\d{3})(?=\d)/g,"$1"+r.thousand)+(a?r.decimal+m(Math.abs(e),a).split(".")[1]:"")},I=n.formatMoney=function(e,t,i,o,r,a){if(s(e))return u(e,(function(e){return I(e,t,i,o,r,a)}));e=p(e);var m=l(c(t)?t:{symbol:t,precision:i,thousand:o,decimal:r,format:a},n.settings.currency),h=g(m.format);return(e>0?h.pos:e<0?h.neg:h.zero).replace("%s",m.symbol).replace("%v",f(Math.abs(e),d(m.precision),m.thousand,m.decimal))};n.formatColumn=function(e,t,i,o,r,m){if(!e)return[];var I=l(c(t)?t:{symbol:t,precision:i,thousand:o,decimal:r,format:m},n.settings.currency),h=g(I.format),b=h.pos.indexOf("%s")<h.pos.indexOf("%v"),y=0,C=u(e,(function(e,t){if(s(e))return n.formatColumn(e,I);var i=((e=p(e))>0?h.pos:e<0?h.neg:h.zero).replace("%s",I.symbol).replace("%v",f(Math.abs(e),d(I.precision),I.thousand,I.decimal));return i.length>y&&(y=i.length),i}));return u(C,(function(e,t){return a(e)&&e.length<y?b?e.replace(I.symbol,I.symbol+new Array(y-e.length+1).join(" ")):new Array(y-e.length+1).join(" ")+e:e}))},e.exports&&(t=e.exports=n),t.accounting=n}()},8477:(e,t,n)=>{"use strict";n.d(t,{D9:()=>ae});var i=n(5215),o=n(5950);function r(e){return{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"GeneratedClientQuery"},selectionSet:a(e)}]}}function a(e){if("number"==typeof e||"boolean"==typeof e||"string"==typeof e||null==e)return null;if(Array.isArray(e))return a(e[0]);var t=[];return Object.keys(e).forEach((function(n){var i={kind:"Field",name:{kind:"Name",value:n},selectionSet:a(e[n])||void 0};t.push(i)})),{kind:"SelectionSet",selections:t}}var s,c={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:null,variableDefinitions:null,directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:null,name:{kind:"Name",value:"__typename"},arguments:[],directives:[],selectionSet:null}]}}]},l=function(){function e(){}return e.prototype.transformDocument=function(e){return e},e.prototype.transformForLink=function(e){return e},e.prototype.readQuery=function(e,t){return void 0===t&&(t=!1),this.read({query:e.query,variables:e.variables,optimistic:t})},e.prototype.readFragment=function(e,t){return void 0===t&&(t=!1),this.read({query:(0,o.ct)(e.fragment,e.fragmentName),variables:e.variables,rootId:e.id,optimistic:t})},e.prototype.writeQuery=function(e){this.write({dataId:"ROOT_QUERY",result:e.data,query:e.query,variables:e.variables})},e.prototype.writeFragment=function(e){this.write({dataId:e.id,result:e.data,variables:e.variables,query:(0,o.ct)(e.fragment,e.fragmentName)})},e.prototype.writeData=function(e){var t,n,i=e.id,o=e.data;if(void 0!==i){var s=null;try{s=this.read({rootId:i,optimistic:!1,query:c})}catch(d){}var l=s&&s.__typename||"__ClientData",u=Object.assign({__typename:l},o);this.writeFragment({id:i,fragment:(t=u,n=l,{kind:"Document",definitions:[{kind:"FragmentDefinition",typeCondition:{kind:"NamedType",name:{kind:"Name",value:n||"__FakeType"}},name:{kind:"Name",value:"GeneratedClientQuery"},selectionSet:a(t)}]}),data:u})}else this.writeQuery({query:r(o),data:o})},e}();s||(s={});var u=n(2834),d=null,g={},p=1,m="@wry/context:Slot",f=Array,I=f[m]||function(){var e=function(){function e(){this.id=["slot",p++,Date.now(),Math.random().toString(36).slice(2)].join(":")}return e.prototype.hasValue=function(){for(var e=d;e;e=e.parent)if(this.id in e.slots){var t=e.slots[this.id];if(t===g)break;return e!==d&&(d.slots[this.id]=t),!0}return d&&(d.slots[this.id]=g),!1},e.prototype.getValue=function(){if(this.hasValue())return d.slots[this.id]},e.prototype.withValue=function(e,t,n,i){var o,r=((o={__proto__:null})[this.id]=e,o),a=d;d={parent:a,slots:r};try{return t.apply(i,n)}finally{d=a}},e.bind=function(e){var t=d;return function(){var n=d;try{return d=t,e.apply(this,arguments)}finally{d=n}}},e.noContext=function(e,t,n){if(!d)return e.apply(n,t);var i=d;try{return d=null,e.apply(n,t)}finally{d=i}},e}();try{Object.defineProperty(f,m,{value:f[m]=e,enumerable:!1,writable:!1,configurable:!1})}finally{return e}}();function h(){}I.bind,I.noContext;var b=function(){function e(e,t){void 0===e&&(e=1/0),void 0===t&&(t=h),this.max=e,this.dispose=t,this.map=new Map,this.newest=null,this.oldest=null}return e.prototype.has=function(e){return this.map.has(e)},e.prototype.get=function(e){var t=this.getEntry(e);return t&&t.value},e.prototype.getEntry=function(e){var t=this.map.get(e);if(t&&t!==this.newest){var n=t.older,i=t.newer;i&&(i.older=n),n&&(n.newer=i),t.older=this.newest,t.older.newer=t,t.newer=null,this.newest=t,t===this.oldest&&(this.oldest=i)}return t},e.prototype.set=function(e,t){var n=this.getEntry(e);return n?n.value=t:(n={key:e,value:t,newer:null,older:this.newest},this.newest&&(this.newest.newer=n),this.newest=n,this.oldest=this.oldest||n,this.map.set(e,n),n.value)},e.prototype.clean=function(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)},e.prototype.delete=function(e){var t=this.map.get(e);return!!t&&(t===this.newest&&(this.newest=t.older),t===this.oldest&&(this.oldest=t.newer),t.newer&&(t.newer.older=t.older),t.older&&(t.older.newer=t.newer),this.map.delete(e),this.dispose(t.value,e),!0)},e}(),y=new I,C=[],v=[];function B(e,t){if(!e)throw new Error(t||"assertion failure")}function A(e){switch(e.length){case 0:throw new Error("unknown value");case 1:return e[0];case 2:throw e[1]}}var _=function(){function e(t,n){this.fn=t,this.args=n,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],++e.count}return e.prototype.recompute=function(){if(B(!this.recomputing,"already recomputing"),function(e){var t=y.getValue();if(t)return e.parents.add(t),t.childValues.has(e)||t.childValues.set(e,[]),G(e)?F(t,e):w(t,e),t}(this)||!x(this))return G(this)?function(e){var t=k(e);return y.withValue(e,S,[e]),function(e){if("function"==typeof e.subscribe)try{O(e),e.unsubscribe=e.subscribe.apply(null,e.args)}catch(t){return e.setDirty(),!1}return!0}(e)&&function(e){e.dirty=!1,G(e)||E(e)}(e),t.forEach(x),A(e.value)}(this):A(this.value)},e.prototype.setDirty=function(){this.dirty||(this.dirty=!0,this.value.length=0,Q(this),O(this))},e.prototype.dispose=function(){var e=this;k(this).forEach(x),O(this),this.parents.forEach((function(t){t.setDirty(),N(t,e)}))},e.count=0,e}();function S(e){e.recomputing=!0,e.value.length=0;try{e.value[0]=e.fn.apply(null,e.args)}catch(t){e.value[1]=t}e.recomputing=!1}function G(e){return e.dirty||!(!e.dirtyChildren||!e.dirtyChildren.size)}function Q(e){e.parents.forEach((function(t){return F(t,e)}))}function E(e){e.parents.forEach((function(t){return w(t,e)}))}function F(e,t){if(B(e.childValues.has(t)),B(G(t)),e.dirtyChildren){if(e.dirtyChildren.has(t))return}else e.dirtyChildren=v.pop()||new Set;e.dirtyChildren.add(t),Q(e)}function w(e,t){B(e.childValues.has(t)),B(!G(t));var n,i,o,r=e.childValues.get(t);0===r.length?e.childValues.set(t,t.value.slice(0)):(n=r,i=t.value,(o=n.length)>0&&o===i.length&&n[o-1]===i[o-1]||e.setDirty()),T(e,t),G(e)||E(e)}function T(e,t){var n=e.dirtyChildren;n&&(n.delete(t),0===n.size&&(v.length<100&&v.push(n),e.dirtyChildren=null))}function x(e){return 0===e.parents.size&&"function"==typeof e.reportOrphan&&!0===e.reportOrphan()}function k(e){var t=C;return e.childValues.size>0&&(t=[],e.childValues.forEach((function(n,i){N(e,i),t.push(i)}))),B(null===e.dirtyChildren),t}function N(e,t){t.parents.delete(e),e.childValues.delete(t),T(e,t)}function O(e){var t=e.unsubscribe;"function"==typeof t&&(e.unsubscribe=void 0,t())}var Z=function(){function e(e){this.weakness=e}return e.prototype.lookup=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.lookupArray(e)},e.prototype.lookupArray=function(e){var t=this;return e.forEach((function(e){return t=t.getChildTrie(e)})),t.data||(t.data=Object.create(null))},e.prototype.getChildTrie=function(t){var n=this.weakness&&function(e){switch(typeof e){case"object":if(null===e)break;case"function":return!0}return!1}(t)?this.weak||(this.weak=new WeakMap):this.strong||(this.strong=new Map),i=n.get(t);return i||n.set(t,i=new e(this.weakness)),i},e}(),U=new Z("function"==typeof WeakMap);function R(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return U.lookupArray(e)}var X=new Set;function W(e,t){void 0===t&&(t=Object.create(null));var n=new b(t.max||Math.pow(2,16),(function(e){return e.dispose()})),i=!!t.disposable,o=t.makeCacheKey||R;function r(){if(!i||y.hasValue()){var r=o.apply(null,arguments);if(void 0===r)return e.apply(null,arguments);var a=Array.prototype.slice.call(arguments),s=n.get(r);s?s.args=a:(s=new _(e,a),n.set(r,s),s.subscribe=t.subscribe,i&&(s.reportOrphan=function(){return n.delete(r)}));var c=s.recompute();return n.set(r,s),X.add(n),y.hasValue()||(X.forEach((function(e){return e.clean()})),X.clear()),i?void 0:c}}return r.dirty=function(){var e=o.apply(null,arguments),t=void 0!==e&&n.get(e);t&&t.setDirty()},r}var V=n(1004),P=!1;function D(){var e=!P;return(0,o.Nu)()||(P=!0),e}var H=function(){function e(){}return e.prototype.ensureReady=function(){return Promise.resolve()},e.prototype.canBypassInit=function(){return!0},e.prototype.match=function(e,t,n){var i=n.store.get(e.id),o="ROOT_QUERY"===e.id;if(!i)return o;var r=i.__typename,a=void 0===r?o&&"Query":r;return a&&a===t||(D(),"heuristic")},e}(),L=(function(){function e(e){e&&e.introspectionQueryResultData?(this.possibleTypesMap=this.parseIntrospectionResult(e.introspectionQueryResultData),this.isReady=!0):this.isReady=!1,this.match=this.match.bind(this)}e.prototype.match=function(e,t,n){(0,V.V1)(this.isReady,1);var i=n.store.get(e.id),o="ROOT_QUERY"===e.id;if(!i)return o;var r=i.__typename,a=void 0===r?o&&"Query":r;if((0,V.V1)(a,2),a===t)return!0;var s=this.possibleTypesMap[t];return!!(a&&s&&s.indexOf(a)>-1)},e.prototype.parseIntrospectionResult=function(e){var t={};return e.__schema.types.forEach((function(e){"UNION"!==e.kind&&"INTERFACE"!==e.kind||(t[e.name]=e.possibleTypes.map((function(e){return e.name})))})),t}}(),Object.prototype.hasOwnProperty),Y=function(){function e(e){var t=this;void 0===e&&(e=Object.create(null)),this.data=e,this.depend=W((function(e){return t.data[e]}),{disposable:!0,makeCacheKey:function(e){return e}})}return e.prototype.toObject=function(){return this.data},e.prototype.get=function(e){return this.depend(e),this.data[e]},e.prototype.set=function(e,t){t!==this.data[e]&&(this.data[e]=t,this.depend.dirty(e))},e.prototype.delete=function(e){L.call(this.data,e)&&(delete this.data[e],this.depend.dirty(e))},e.prototype.clear=function(){this.replace(null)},e.prototype.replace=function(e){var t=this;e?(Object.keys(e).forEach((function(n){t.set(n,e[n])})),Object.keys(this.data).forEach((function(n){L.call(e,n)||t.delete(n)}))):Object.keys(this.data).forEach((function(e){t.delete(e)}))},e}();function M(e){return new Y(e)}var J=function(){function e(e){var t=this,n=void 0===e?{}:e,i=n.cacheKeyRoot,r=void 0===i?new Z(o.et):i,a=n.freezeResults,s=void 0!==a&&a,c=this,l=c.executeStoreQuery,u=c.executeSelectionSet,d=c.executeSubSelectedArray;this.freezeResults=s,this.executeStoreQuery=W((function(e){return l.call(t,e)}),{makeCacheKey:function(e){var t=e.query,n=e.rootValue,i=e.contextValue,o=e.variableValues,a=e.fragmentMatcher;if(i.store instanceof Y)return r.lookup(i.store,t,a,JSON.stringify(o),n.id)}}),this.executeSelectionSet=W((function(e){return u.call(t,e)}),{makeCacheKey:function(e){var t=e.selectionSet,n=e.rootValue,i=e.execContext;if(i.contextValue.store instanceof Y)return r.lookup(i.contextValue.store,t,i.fragmentMatcher,JSON.stringify(i.variableValues),n.id)}}),this.executeSubSelectedArray=W((function(e){return d.call(t,e)}),{makeCacheKey:function(e){var t=e.field,n=e.array,i=e.execContext;if(i.contextValue.store instanceof Y)return r.lookup(i.contextValue.store,t,n,JSON.stringify(i.variableValues))}})}return e.prototype.readQueryFromStore=function(e){return this.diffQueryAgainstStore((0,i.Cl)((0,i.Cl)({},e),{returnPartialData:!1})).result},e.prototype.diffQueryAgainstStore=function(e){var t=e.store,n=e.query,i=e.variables,r=e.previousResult,a=e.returnPartialData,s=void 0===a||a,c=e.rootId,l=void 0===c?"ROOT_QUERY":c,d=e.fragmentMatcherFunction,g=e.config,p=(0,o.AT)(n);i=(0,o.kp)({},(0,o.wY)(p),i);var m={store:t,dataIdFromObject:g&&g.dataIdFromObject,cacheRedirects:g&&g.cacheRedirects||{}},f=this.executeStoreQuery({query:n,rootValue:{type:"id",id:l,generated:!0,typename:"Query"},contextValue:m,variableValues:i,fragmentMatcher:d}),I=f.missing&&f.missing.length>0;return I&&!s&&f.missing.forEach((function(e){if(!e.tolerable)throw new V.zU(8)})),r&&(0,u.L)(r,f.result)&&(f.result=r),{result:f.result,complete:!I}},e.prototype.executeStoreQuery=function(e){var t=e.query,n=e.rootValue,i=e.contextValue,r=e.variableValues,a=e.fragmentMatcher,s=void 0===a?z:a,c=(0,o.Vn)(t),l=(0,o.zK)(t),u={query:t,fragmentMap:(0,o.JG)(l),contextValue:i,variableValues:r,fragmentMatcher:s};return this.executeSelectionSet({selectionSet:c.selectionSet,rootValue:n,execContext:u})},e.prototype.executeSelectionSet=function(e){var t=this,n=e.selectionSet,r=e.rootValue,a=e.execContext,s=a.fragmentMap,c=a.contextValue,l=a.variableValues,u={result:null},d=[],g=c.store.get(r.id),p=g&&g.__typename||"ROOT_QUERY"===r.id&&"Query"||void 0;function m(e){var t;return e.missing&&(u.missing=u.missing||[],(t=u.missing).push.apply(t,e.missing)),e.result}return n.selections.forEach((function(e){var n;if((0,o.MS)(e,l))if((0,o.dt)(e)){var u=m(t.executeField(g,p,e,a));void 0!==u&&d.push(((n={})[(0,o.ue)(e)]=u,n))}else{var f=void 0;if((0,o.kd)(e))f=e;else if(!(f=s[e.name.value]))throw new V.zU(9);var I=f.typeCondition&&f.typeCondition.name.value,h=!I||a.fragmentMatcher(r,I,c);if(h){var b=t.executeSelectionSet({selectionSet:f.selectionSet,rootValue:r,execContext:a});"heuristic"===h&&b.missing&&(b=(0,i.Cl)((0,i.Cl)({},b),{missing:b.missing.map((function(e){return(0,i.Cl)((0,i.Cl)({},e),{tolerable:!0})}))})),d.push(m(b))}}})),u.result=(0,o.IM)(d),this.freezeResults,u},e.prototype.executeField=function(e,t,n,i){var r=i.variableValues,a=i.contextValue,s=function(e,t,n,i,r,a){var s=a.directives,c=n;(i||s)&&(c=(0,o.o5)(c,i,s));var l=void 0;if(e&&void 0===(l=e[c])&&r.cacheRedirects&&"string"==typeof t){var u=r.cacheRedirects[t];if(u){var d=u[n];d&&(l=d(e,i,{getCacheKey:function(e){var t=r.dataIdFromObject(e);return t&&(0,o.Uw)({id:t,typename:e.__typename})}}))}}return void 0===l?{result:l,missing:[{object:e,fieldName:c,tolerable:!1}]}:((0,o.Wi)(l)&&(l=l.json),{result:l})}(e,t,n.name.value,(0,o.MB)(n,r),a,{resultKey:(0,o.ue)(n),directives:(0,o.i2)(n,r)});return Array.isArray(s.result)?this.combineExecResults(s,this.executeSubSelectedArray({field:n,array:s.result,execContext:i})):n.selectionSet?null==s.result?s:this.combineExecResults(s,this.executeSelectionSet({selectionSet:n.selectionSet,rootValue:s.result,execContext:i})):(j(n,s.result),this.freezeResults,s)},e.prototype.combineExecResults=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return t.forEach((function(t){t.missing&&(e=e||[]).push.apply(e,t.missing)})),{result:t.pop().result,missing:e}},e.prototype.executeSubSelectedArray=function(e){var t,n=this,i=e.field,o=e.array,r=e.execContext;function a(e){return e.missing&&(t=t||[]).push.apply(t,e.missing),e.result}return o=o.map((function(e){return null===e?null:Array.isArray(e)?a(n.executeSubSelectedArray({field:i,array:e,execContext:r})):i.selectionSet?a(n.executeSelectionSet({selectionSet:i.selectionSet,rootValue:e,execContext:r})):(j(i,e),e)})),this.freezeResults,{result:o,missing:t}},e}();function j(e,t){if(!e.selectionSet&&(0,o.d)(t))throw new V.zU(10)}function z(){return!0}var K=function(){function e(e){void 0===e&&(e=Object.create(null)),this.data=e}return e.prototype.toObject=function(){return this.data},e.prototype.get=function(e){return this.data[e]},e.prototype.set=function(e,t){this.data[e]=t},e.prototype.delete=function(e){this.data[e]=void 0},e.prototype.clear=function(){this.data=Object.create(null)},e.prototype.replace=function(e){this.data=e||Object.create(null)},e}(),q=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type="WriteError",t}return(0,i.C6)(t,e),t}(Error),$=function(){function e(){}return e.prototype.writeQueryToStore=function(e){var t=e.query,n=e.result,i=e.store,o=void 0===i?M():i,r=e.variables,a=e.dataIdFromObject,s=e.fragmentMatcherFunction;return this.writeResultToStore({dataId:"ROOT_QUERY",result:n,document:t,store:o,variables:r,dataIdFromObject:a,fragmentMatcherFunction:s})},e.prototype.writeResultToStore=function(e){var t=e.dataId,n=e.result,i=e.document,r=e.store,a=void 0===r?M():r,s=e.variables,c=e.dataIdFromObject,l=e.fragmentMatcherFunction,u=(0,o.Vu)(i);try{return this.writeSelectionSetToStore({result:n,dataId:t,selectionSet:u.selectionSet,context:{store:a,processedData:{},variables:(0,o.kp)({},(0,o.wY)(u),s),dataIdFromObject:c,fragmentMap:(0,o.JG)((0,o.zK)(i)),fragmentMatcherFunction:l}})}catch(d){throw function(e,t){var n=new q("Error writing result to store for query:\n "+JSON.stringify(t));return n.message+="\n"+e.message,n.stack=e.stack,n}(d,i)}},e.prototype.writeSelectionSetToStore=function(e){var t=this,n=e.result,i=e.dataId,r=e.selectionSet,a=e.context,s=a.variables,c=a.store,l=a.fragmentMap;return r.selections.forEach((function(e){var r;if((0,o.MS)(e,s))if((0,o.dt)(e)){var c=(0,o.ue)(e),u=n[c];if(void 0!==u)t.writeFieldToStore({dataId:i,value:u,field:e,context:a});else{var d=!1,g=!1;e.directives&&e.directives.length&&(d=e.directives.some((function(e){return e.name&&"defer"===e.name.value})),g=e.directives.some((function(e){return e.name&&"client"===e.name.value}))),!d&&!g&&a.fragmentMatcherFunction}}else{var p=void 0;(0,o.kd)(e)?p=e:(p=(l||{})[e.name.value],(0,V.V1)(p,3));var m=!0;if(a.fragmentMatcherFunction&&p.typeCondition){var f=i||"self",I=(0,o.Uw)({id:f,typename:void 0}),h={store:new K((r={},r[f]=n,r)),cacheRedirects:{}},b=a.fragmentMatcherFunction(I,p.typeCondition.name.value,h);(0,o.KV)(),m=!!b}m&&t.writeSelectionSetToStore({result:n,selectionSet:p.selectionSet,dataId:i,context:a})}})),c},e.prototype.writeFieldToStore=function(e){var t,n,r,a=e.field,s=e.value,c=e.dataId,l=e.context,d=l.variables,g=l.dataIdFromObject,p=l.store,m=(0,o.Ii)(a,d);if(a.selectionSet&&null!==s)if(Array.isArray(s)){var f=c+"."+m;n=this.processArrayValue(s,f,a.selectionSet,l)}else{var I=c+"."+m,h=!0;if(ee(I)||(I="$"+I),g){var b=g(s);(0,V.V1)(!b||!ee(b),4),(b||"number"==typeof b&&0===b)&&(I=b,h=!1)}ne(I,a,l.processedData)||this.writeSelectionSetToStore({dataId:I,result:s,selectionSet:a.selectionSet,context:l});var y=s.__typename;n=(0,o.Uw)({id:I,typename:y},h);var C=(r=p.get(c))&&r[m];if(C!==n&&(0,o.d)(C)){var v=void 0!==C.typename,B=void 0!==y,A=v&&B&&C.typename!==y;(0,V.V1)(!h||C.generated||A,5),(0,V.V1)(!v||B,6),C.generated&&(A?h||p.delete(C.id):te(C.id,n.id,p))}}else n=null!=s&&"object"==typeof s?{type:"json",json:s}:s;(r=p.get(c))&&(0,u.L)(n,r[m])||p.set(c,(0,i.Cl)((0,i.Cl)({},r),((t={})[m]=n,t)))},e.prototype.processArrayValue=function(e,t,n,i){var r=this;return e.map((function(e,a){if(null===e)return null;var s=t+"."+a;if(Array.isArray(e))return r.processArrayValue(e,s,n,i);var c=!0;if(i.dataIdFromObject){var l=i.dataIdFromObject(e);l&&(s=l,c=!1)}return ne(s,n,i.processedData)||r.writeSelectionSetToStore({dataId:s,result:e,selectionSet:n,context:i}),(0,o.Uw)({id:s,typename:e.__typename},c)}))},e}();function ee(e){return"$"===e[0]}function te(e,t,n){if(e===t)return!1;var r=n.get(e),a=n.get(t),s=!1;Object.keys(r).forEach((function(e){var t=r[e],i=a[e];(0,o.d)(t)&&ee(t.id)&&(0,o.d)(i)&&!(0,u.L)(t,i)&&te(t.id,i.id,n)&&(s=!0)})),n.delete(e);var c=(0,i.Cl)((0,i.Cl)({},r),a);return(0,u.L)(c,a)?s:(n.set(t,c),!0)}function ne(e,t,n){if(!n)return!1;if(n[e]){if(n[e].indexOf(t)>=0)return!0;n[e].push(t)}else n[e]=[t];return!1}var ie={fragmentMatcher:new H,dataIdFromObject:function(e){if(e.__typename){if(void 0!==e.id)return e.__typename+":"+e.id;if(void 0!==e._id)return e.__typename+":"+e._id}return null},addTypename:!0,resultCaching:!0,freezeResults:!1},oe=Object.prototype.hasOwnProperty,re=function(e){function t(t,n,i){var o=e.call(this,Object.create(null))||this;return o.optimisticId=t,o.parent=n,o.transaction=i,o}return(0,i.C6)(t,e),t.prototype.toObject=function(){return(0,i.Cl)((0,i.Cl)({},this.parent.toObject()),this.data)},t.prototype.get=function(e){return oe.call(this.data,e)?this.data[e]:this.parent.get(e)},t}(K),ae=function(e){function t(t){void 0===t&&(t={});var n=e.call(this)||this;n.watches=new Set,n.typenameDocumentCache=new Map,n.cacheKeyRoot=new Z(o.et),n.silenceBroadcast=!1,n.config=(0,i.Cl)((0,i.Cl)({},ie),t),n.config.customResolvers&&(n.config.cacheRedirects=n.config.customResolvers),n.config.cacheResolvers&&(n.config.cacheRedirects=n.config.cacheResolvers),n.addTypename=!!n.config.addTypename,n.data=n.config.resultCaching?new Y:new K,n.optimisticData=n.data,n.storeWriter=new $,n.storeReader=new J({cacheKeyRoot:n.cacheKeyRoot,freezeResults:t.freezeResults});var r=n,a=r.maybeBroadcastWatch;return n.maybeBroadcastWatch=W((function(e){return a.call(n,e)}),{makeCacheKey:function(e){if(!e.optimistic&&!e.previousResult)return r.data instanceof Y?r.cacheKeyRoot.lookup(e.query,JSON.stringify(e.variables)):void 0}}),n}return(0,i.C6)(t,e),t.prototype.restore=function(e){return e&&this.data.replace(e),this},t.prototype.extract=function(e){return void 0===e&&(e=!1),(e?this.optimisticData:this.data).toObject()},t.prototype.read=function(e){if("string"==typeof e.rootId&&void 0===this.data.get(e.rootId))return null;var t=this.config.fragmentMatcher,n=t&&t.match;return this.storeReader.readQueryFromStore({store:e.optimistic?this.optimisticData:this.data,query:this.transformDocument(e.query),variables:e.variables,rootId:e.rootId,fragmentMatcherFunction:n,previousResult:e.previousResult,config:this.config})||null},t.prototype.write=function(e){var t=this.config.fragmentMatcher,n=t&&t.match;this.storeWriter.writeResultToStore({dataId:e.dataId,result:e.result,variables:e.variables,document:this.transformDocument(e.query),store:this.data,dataIdFromObject:this.config.dataIdFromObject,fragmentMatcherFunction:n}),this.broadcastWatches()},t.prototype.diff=function(e){var t=this.config.fragmentMatcher,n=t&&t.match;return this.storeReader.diffQueryAgainstStore({store:e.optimistic?this.optimisticData:this.data,query:this.transformDocument(e.query),variables:e.variables,returnPartialData:e.returnPartialData,previousResult:e.previousResult,fragmentMatcherFunction:n,config:this.config})},t.prototype.watch=function(e){var t=this;return this.watches.add(e),function(){t.watches.delete(e)}},t.prototype.evict=function(e){throw new V.zU(7)},t.prototype.reset=function(){return this.data.clear(),this.broadcastWatches(),Promise.resolve()},t.prototype.removeOptimistic=function(e){for(var t=[],n=0,i=this.optimisticData;i instanceof re;)i.optimisticId===e?++n:t.push(i),i=i.parent;if(n>0){for(this.optimisticData=i;t.length>0;){var o=t.pop();this.performTransaction(o.transaction,o.optimisticId)}this.broadcastWatches()}},t.prototype.performTransaction=function(e,t){var n=this.data,i=this.silenceBroadcast;this.silenceBroadcast=!0,"string"==typeof t&&(this.data=this.optimisticData=new re(t,this.optimisticData,e));try{e(this)}finally{this.silenceBroadcast=i,this.data=n}this.broadcastWatches()},t.prototype.recordOptimisticTransaction=function(e,t){return this.performTransaction(e,t)},t.prototype.transformDocument=function(e){if(this.addTypename){var t=this.typenameDocumentCache.get(e);return t||(t=(0,o.XY)(e),this.typenameDocumentCache.set(e,t),this.typenameDocumentCache.set(t,t)),t}return e},t.prototype.broadcastWatches=function(){var e=this;this.silenceBroadcast||this.watches.forEach((function(t){return e.maybeBroadcastWatch(t)}))},t.prototype.maybeBroadcastWatch=function(e){e.callback(this.diff({query:e.query,variables:e.variables,previousResult:e.previousResult&&e.previousResult(),optimistic:e.optimistic}))},t}(l)},4937:(e,t,n)=>{"use strict";n.d(t,{K4:()=>I,Ri:()=>E,pT:()=>i});var i,o=n(5215),r=n(5950),a=n(2834),s=n(8117),c=n(9356),l=n(9423),u=n(1004),d=n(9111);function g(e){return e<7}!function(e){e[e.loading=1]="loading",e[e.setVariables=2]="setVariables",e[e.fetchMore=3]="fetchMore",e[e.refetch=4]="refetch",e[e.poll=6]="poll",e[e.ready=7]="ready",e[e.error=8]="error"}(i||(i={}));var p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return(0,o.C6)(t,e),t.prototype[l.A]=function(){return this},t.prototype["@@observable"]=function(){return this},t}(s.A);function m(e){return Array.isArray(e)&&e.length>0}var f,I=function(e){function t(n){var i,o,r=n.graphQLErrors,a=n.networkError,s=n.errorMessage,c=n.extraInfo,l=e.call(this,s)||this;return l.graphQLErrors=r||[],l.networkError=a||null,l.message=s||(o="",m((i=l).graphQLErrors)&&i.graphQLErrors.forEach((function(e){var t=e?e.message:"Error message not found.";o+="GraphQL error: "+t+"\n"})),i.networkError&&(o+="Network error: "+i.networkError.message+"\n"),o=o.replace(/\n$/,"")),l.extraInfo=c,l.__proto__=t.prototype,l}return(0,o.C6)(t,e),t}(Error);!function(e){e[e.normal=1]="normal",e[e.refetch=2]="refetch",e[e.poll=3]="poll"}(f||(f={}));var h=function(e){function t(t){var n=t.queryManager,i=t.options,o=t.shouldSubscribe,a=void 0===o||o,s=e.call(this,(function(e){return s.onSubscribe(e)}))||this;s.observers=new Set,s.subscriptions=new Set,s.isTornDown=!1,s.options=i,s.variables=i.variables||{},s.queryId=n.generateQueryId(),s.shouldSubscribe=a;var c=(0,r.Vu)(i.query);return s.queryName=c&&c.name&&c.name.value,s.queryManager=n,s}return(0,o.C6)(t,e),t.prototype.result=function(){var e=this;return new Promise((function(t,n){var i={next:function(n){t(n),e.observers.delete(i),e.observers.size||e.queryManager.removeQuery(e.queryId),setTimeout((function(){o.unsubscribe()}),0)},error:n},o=e.subscribe(i)}))},t.prototype.currentResult=function(){var e=this.getCurrentResult();return void 0===e.data&&(e.data={}),e},t.prototype.getCurrentResult=function(){if(this.isTornDown){var e=this.lastResult;return{data:!this.lastError&&e&&e.data||void 0,error:this.lastError,loading:!1,networkStatus:i.error}}var t,n,r,a=this.queryManager.getCurrentQueryResult(this),s=a.data,c=a.partial,l=this.queryManager.queryStore.get(this.queryId),u=this.options.fetchPolicy,d="network-only"===u||"no-cache"===u;if(l){var p=l.networkStatus;if(n=l,void 0===(r=this.options.errorPolicy)&&(r="none"),n&&(n.networkError||"none"===r&&m(n.graphQLErrors)))return{data:void 0,loading:!1,networkStatus:p,error:new I({graphQLErrors:l.graphQLErrors,networkError:l.networkError})};l.variables&&(this.options.variables=(0,o.Cl)((0,o.Cl)({},this.options.variables),l.variables),this.variables=this.options.variables),t={data:s,loading:g(p),networkStatus:p},l.graphQLErrors&&"all"===this.options.errorPolicy&&(t.errors=l.graphQLErrors)}else{var f=d||c&&"cache-only"!==u;t={data:s,loading:f,networkStatus:f?i.loading:i.ready}}return c||this.updateLastResult((0,o.Cl)((0,o.Cl)({},t),{stale:!1})),(0,o.Cl)((0,o.Cl)({},t),{partial:c})},t.prototype.isDifferentFromLastResult=function(e){var t=this.lastResultSnapshot;return!(t&&e&&t.networkStatus===e.networkStatus&&t.stale===e.stale&&(0,a.L)(t.data,e.data))},t.prototype.getLastResult=function(){return this.lastResult},t.prototype.getLastError=function(){return this.lastError},t.prototype.resetLastResults=function(){delete this.lastResult,delete this.lastResultSnapshot,delete this.lastError,this.isTornDown=!1},t.prototype.resetQueryStoreErrors=function(){var e=this.queryManager.queryStore.get(this.queryId);e&&(e.networkError=null,e.graphQLErrors=[])},t.prototype.refetch=function(e){var t=this.options.fetchPolicy;return"cache-only"===t?Promise.reject(new u.zU(1)):("no-cache"!==t&&"cache-and-network"!==t&&(t="network-only"),(0,a.L)(this.variables,e)||(this.variables=(0,o.Cl)((0,o.Cl)({},this.variables),e)),(0,a.L)(this.options.variables,this.variables)||(this.options.variables=(0,o.Cl)((0,o.Cl)({},this.options.variables),this.variables)),this.queryManager.fetchQuery(this.queryId,(0,o.Cl)((0,o.Cl)({},this.options),{fetchPolicy:t}),f.refetch))},t.prototype.fetchMore=function(e){var t=this;(0,u.V1)(e.updateQuery,2);var n=(0,o.Cl)((0,o.Cl)({},e.query?e:(0,o.Cl)((0,o.Cl)((0,o.Cl)({},this.options),e),{variables:(0,o.Cl)((0,o.Cl)({},this.variables),e.variables)})),{fetchPolicy:"network-only"}),i=this.queryManager.generateQueryId();return this.queryManager.fetchQuery(i,n,f.normal,this.queryId).then((function(o){return t.updateQuery((function(t){return e.updateQuery(t,{fetchMoreResult:o.data,variables:n.variables})})),t.queryManager.stopQuery(i),o}),(function(e){throw t.queryManager.stopQuery(i),e}))},t.prototype.subscribeToMore=function(e){var t=this,n=this.queryManager.startGraphQLSubscription({query:e.document,variables:e.variables}).subscribe({next:function(n){var i=e.updateQuery;i&&t.updateQuery((function(e,t){var o=t.variables;return i(e,{subscriptionData:n,variables:o})}))},error:function(t){e.onError&&e.onError(t)}});return this.subscriptions.add(n),function(){t.subscriptions.delete(n)&&n.unsubscribe()}},t.prototype.setOptions=function(e){var t=this.options.fetchPolicy;this.options=(0,o.Cl)((0,o.Cl)({},this.options),e),e.pollInterval?this.startPolling(e.pollInterval):0===e.pollInterval&&this.stopPolling();var n=e.fetchPolicy;return this.setVariables(this.options.variables,t!==n&&("cache-only"===t||"standby"===t||"network-only"===n),e.fetchResults)},t.prototype.setVariables=function(e,t,n){return void 0===t&&(t=!1),void 0===n&&(n=!0),this.isTornDown=!1,e=e||this.variables,!t&&(0,a.L)(e,this.variables)?this.observers.size&&n?this.result():Promise.resolve():(this.variables=this.options.variables=e,this.observers.size?this.queryManager.fetchQuery(this.queryId,this.options):Promise.resolve())},t.prototype.updateQuery=function(e){var t=this.queryManager,n=t.getQueryWithPreviousResult(this.queryId),i=n.previousResult,o=n.variables,a=n.document,s=(0,r.VL)((function(){return e(i,{variables:o})}));s&&(t.dataStore.markUpdateQueryResult(a,o,s),t.broadcastQueries())},t.prototype.stopPolling=function(){this.queryManager.stopPollingQuery(this.queryId),this.options.pollInterval=void 0},t.prototype.startPolling=function(e){C(this),this.options.pollInterval=e,this.queryManager.startPollingQuery(this.options,this.queryId)},t.prototype.updateLastResult=function(e){var t=this.lastResult;return this.lastResult=e,this.lastResultSnapshot=this.queryManager.assumeImmutableResults?e:(0,r.mg)(e),t},t.prototype.onSubscribe=function(e){var t=this;try{var n=e._subscription._observer;n&&!n.error&&(n.error=b)}catch(o){}var i=!this.observers.size;return this.observers.add(e),e.next&&this.lastResult&&e.next(this.lastResult),e.error&&this.lastError&&e.error(this.lastError),i&&this.setUpQuery(),function(){t.observers.delete(e)&&!t.observers.size&&t.tearDownQuery()}},t.prototype.setUpQuery=function(){var e=this,t=this.queryManager,n=this.queryId;this.shouldSubscribe&&t.addObservableQuery(n,this),this.options.pollInterval&&(C(this),t.startPollingQuery(this.options,n));var r=function(t){e.updateLastResult((0,o.Cl)((0,o.Cl)({},e.lastResult),{errors:t.graphQLErrors,networkStatus:i.error,loading:!1})),y(e.observers,"error",e.lastError=t)};t.observeQuery(n,this.options,{next:function(n){if(e.lastError||e.isDifferentFromLastResult(n)){var i=e.updateLastResult(n),o=e.options,r=o.query,s=o.variables,c=o.fetchPolicy;t.transform(r).hasClientExports?t.getLocalState().addExportedVariables(r,s).then((function(o){var s=e.variables;e.variables=e.options.variables=o,!n.loading&&i&&"cache-only"!==c&&t.transform(r).serverQuery&&!(0,a.L)(s,o)?e.refetch():y(e.observers,"next",n)})):y(e.observers,"next",n)}},error:r}).catch(r)},t.prototype.tearDownQuery=function(){var e=this.queryManager;this.isTornDown=!0,e.stopPollingQuery(this.queryId),this.subscriptions.forEach((function(e){return e.unsubscribe()})),this.subscriptions.clear(),e.removeObservableQuery(this.queryId),e.stopQuery(this.queryId),this.observers.clear()},t}(p);function b(e){}function y(e,t,n){var i=[];e.forEach((function(e){return e[t]&&i.push(e)})),i.forEach((function(e){return e[t](n)}))}function C(e){var t=e.options.fetchPolicy;(0,u.V1)("cache-first"!==t&&"cache-only"!==t,3)}var v=function(){function e(){this.store={}}return e.prototype.getStore=function(){return this.store},e.prototype.get=function(e){return this.store[e]},e.prototype.initMutation=function(e,t,n){this.store[e]={mutation:t,variables:n||{},loading:!0,error:null}},e.prototype.markMutationError=function(e,t){var n=this.store[e];n&&(n.loading=!1,n.error=t)},e.prototype.markMutationResult=function(e){var t=this.store[e];t&&(t.loading=!1,t.error=null)},e.prototype.reset=function(){this.store={}},e}(),B=function(){function e(){this.store={}}return e.prototype.getStore=function(){return this.store},e.prototype.get=function(e){return this.store[e]},e.prototype.initQuery=function(e){var t=this.store[e.queryId];(0,u.V1)(!t||t.document===e.document||(0,a.L)(t.document,e.document),19);var n,o=!1,r=null;e.storePreviousVariables&&t&&t.networkStatus!==i.loading&&((0,a.L)(t.variables,e.variables)||(o=!0,r=t.variables)),n=o?i.setVariables:e.isPoll?i.poll:e.isRefetch?i.refetch:i.loading;var s=[];t&&t.graphQLErrors&&(s=t.graphQLErrors),this.store[e.queryId]={document:e.document,variables:e.variables,previousVariables:r,networkError:null,graphQLErrors:s,networkStatus:n,metadata:e.metadata},"string"==typeof e.fetchMoreForQueryId&&this.store[e.fetchMoreForQueryId]&&(this.store[e.fetchMoreForQueryId].networkStatus=i.fetchMore)},e.prototype.markQueryResult=function(e,t,n){this.store&&this.store[e]&&(this.store[e].networkError=null,this.store[e].graphQLErrors=m(t.errors)?t.errors:[],this.store[e].previousVariables=null,this.store[e].networkStatus=i.ready,"string"==typeof n&&this.store[n]&&(this.store[n].networkStatus=i.ready))},e.prototype.markQueryError=function(e,t,n){this.store&&this.store[e]&&(this.store[e].networkError=t,this.store[e].networkStatus=i.error,"string"==typeof n&&this.markQueryResultClient(n,!0))},e.prototype.markQueryResultClient=function(e,t){var n=this.store&&this.store[e];n&&(n.networkError=null,n.previousVariables=null,t&&(n.networkStatus=i.ready))},e.prototype.stopQuery=function(e){delete this.store[e]},e.prototype.reset=function(e){var t=this;Object.keys(this.store).forEach((function(n){e.indexOf(n)<0?t.stopQuery(n):t.store[n].networkStatus=i.loading}))},e}(),A=function(){function e(e){var t=e.cache,n=e.client,i=e.resolvers,o=e.fragmentMatcher;this.cache=t,n&&(this.client=n),i&&this.addResolvers(i),o&&this.setFragmentMatcher(o)}return e.prototype.addResolvers=function(e){var t=this;this.resolvers=this.resolvers||{},Array.isArray(e)?e.forEach((function(e){t.resolvers=(0,r.D9)(t.resolvers,e)})):this.resolvers=(0,r.D9)(this.resolvers,e)},e.prototype.setResolvers=function(e){this.resolvers={},this.addResolvers(e)},e.prototype.getResolvers=function(){return this.resolvers||{}},e.prototype.runResolvers=function(e){var t=e.document,n=e.remoteResult,i=e.context,r=e.variables,a=e.onlyRunForcedResolvers,s=void 0!==a&&a;return(0,o.sH)(this,void 0,void 0,(function(){return(0,o.YH)(this,(function(e){return t?[2,this.resolveDocument(t,n.data,i,r,this.fragmentMatcher,s).then((function(e){return(0,o.Cl)((0,o.Cl)({},n),{data:e.result})}))]:[2,n]}))}))},e.prototype.setFragmentMatcher=function(e){this.fragmentMatcher=e},e.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},e.prototype.clientQuery=function(e){return(0,r.d8)(["client"],e)&&this.resolvers?e:null},e.prototype.serverQuery=function(e){return this.resolvers?(0,r.er)(e):e},e.prototype.prepareContext=function(e){void 0===e&&(e={});var t=this.cache;return(0,o.Cl)((0,o.Cl)({},e),{cache:t,getCacheKey:function(e){if(t.config)return t.config.dataIdFromObject(e);(0,u.V1)(!1,6)}})},e.prototype.addExportedVariables=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),(0,o.sH)(this,void 0,void 0,(function(){return(0,o.YH)(this,(function(i){return e?[2,this.resolveDocument(e,this.buildRootValueFromCache(e,t)||{},this.prepareContext(n),t).then((function(e){return(0,o.Cl)((0,o.Cl)({},t),e.exportedVariables)}))]:[2,(0,o.Cl)({},t)]}))}))},e.prototype.shouldForceResolvers=function(e){var t=!1;return(0,d.visit)(e,{Directive:{enter:function(e){if("client"===e.name.value&&e.arguments&&(t=e.arguments.some((function(e){return"always"===e.name.value&&"BooleanValue"===e.value.kind&&!0===e.value.value}))))return d.BREAK}}}),t},e.prototype.buildRootValueFromCache=function(e,t){return this.cache.diff({query:(0,r.zc)(e),variables:t,returnPartialData:!0,optimistic:!1}).result},e.prototype.resolveDocument=function(e,t,n,i,a,s){return void 0===n&&(n={}),void 0===i&&(i={}),void 0===a&&(a=function(){return!0}),void 0===s&&(s=!1),(0,o.sH)(this,void 0,void 0,(function(){var c,l,u,d,g,p,m,f,I;return(0,o.YH)(this,(function(h){var b;return c=(0,r.Vn)(e),l=(0,r.zK)(e),u=(0,r.JG)(l),d=c.operation,g=d?(b=d).charAt(0).toUpperCase()+b.slice(1):"Query",m=(p=this).cache,f=p.client,I={fragmentMap:u,context:(0,o.Cl)((0,o.Cl)({},n),{cache:m,client:f}),variables:i,fragmentMatcher:a,defaultOperationType:g,exportedVariables:{},onlyRunForcedResolvers:s},[2,this.resolveSelectionSet(c.selectionSet,t,I).then((function(e){return{result:e,exportedVariables:I.exportedVariables}}))]}))}))},e.prototype.resolveSelectionSet=function(e,t,n){return(0,o.sH)(this,void 0,void 0,(function(){var i,a,s,c,l,d=this;return(0,o.YH)(this,(function(g){return i=n.fragmentMap,a=n.context,s=n.variables,c=[t],l=function(e){return(0,o.sH)(d,void 0,void 0,(function(){var l,d;return(0,o.YH)(this,(function(o){return(0,r.MS)(e,s)?(0,r.dt)(e)?[2,this.resolveField(e,t,n).then((function(t){var n;void 0!==t&&c.push(((n={})[(0,r.ue)(e)]=t,n))}))]:((0,r.kd)(e)?l=e:(l=i[e.name.value],(0,u.V1)(l,7)),l&&l.typeCondition&&(d=l.typeCondition.name.value,n.fragmentMatcher(t,d,a))?[2,this.resolveSelectionSet(l.selectionSet,t,n).then((function(e){c.push(e)}))]:[2]):[2]}))}))},[2,Promise.all(e.selections.map(l)).then((function(){return(0,r.IM)(c)}))]}))}))},e.prototype.resolveField=function(e,t,n){return(0,o.sH)(this,void 0,void 0,(function(){var i,a,s,c,l,u,d,g,p,m=this;return(0,o.YH)(this,(function(o){return i=n.variables,a=e.name.value,s=(0,r.ue)(e),c=a!==s,l=t[s]||t[a],u=Promise.resolve(l),n.onlyRunForcedResolvers&&!this.shouldForceResolvers(e)||(d=t.__typename||n.defaultOperationType,(g=this.resolvers&&this.resolvers[d])&&(p=g[c?a:s])&&(u=Promise.resolve(p(t,(0,r.MB)(e,i),n.context,{field:e,fragmentMap:n.fragmentMap})))),[2,u.then((function(t){return void 0===t&&(t=l),e.directives&&e.directives.forEach((function(e){"export"===e.name.value&&e.arguments&&e.arguments.forEach((function(e){"as"===e.name.value&&"StringValue"===e.value.kind&&(n.exportedVariables[e.value.value]=t)}))})),e.selectionSet?null==t?t:Array.isArray(t)?m.resolveSubSelectedArray(e,t,n):e.selectionSet?m.resolveSelectionSet(e.selectionSet,t,n):void 0:t}))]}))}))},e.prototype.resolveSubSelectedArray=function(e,t,n){var i=this;return Promise.all(t.map((function(t){return null===t?null:Array.isArray(t)?i.resolveSubSelectedArray(e,t,n):e.selectionSet?i.resolveSelectionSet(e.selectionSet,t,n):void 0})))},e}();function _(e){var t=new Set,n=null;return new p((function(i){return t.add(i),n=n||e.subscribe({next:function(e){t.forEach((function(t){return t.next&&t.next(e)}))},error:function(e){t.forEach((function(t){return t.error&&t.error(e)}))},complete:function(){t.forEach((function(e){return e.complete&&e.complete()}))}}),function(){t.delete(i)&&!t.size&&n&&(n.unsubscribe(),n=null)}}))}var S=Object.prototype.hasOwnProperty,G=function(){function e(e){var t=e.link,n=e.queryDeduplication,i=void 0!==n&&n,o=e.store,a=e.onBroadcast,s=void 0===a?function(){}:a,c=e.ssrMode,l=void 0!==c&&c,u=e.clientAwareness,d=void 0===u?{}:u,g=e.localState,p=e.assumeImmutableResults;this.mutationStore=new v,this.queryStore=new B,this.clientAwareness={},this.idCounter=1,this.queries=new Map,this.fetchQueryRejectFns=new Map,this.transformCache=new(r.et?WeakMap:Map),this.inFlightLinkObservables=new Map,this.pollingInfoByQueryId=new Map,this.link=t,this.queryDeduplication=i,this.dataStore=o,this.onBroadcast=s,this.clientAwareness=d,this.localState=g||new A({cache:o.getCache()}),this.ssrMode=l,this.assumeImmutableResults=!!p}return e.prototype.stop=function(){var e=this;this.queries.forEach((function(t,n){e.stopQueryNoBroadcast(n)})),this.fetchQueryRejectFns.forEach((function(e){e(new u.zU(8))}))},e.prototype.mutate=function(e){var t=e.mutation,n=e.variables,i=e.optimisticResponse,a=e.updateQueries,s=e.refetchQueries,c=void 0===s?[]:s,l=e.awaitRefetchQueries,d=void 0!==l&&l,g=e.update,p=e.errorPolicy,f=void 0===p?"none":p,h=e.fetchPolicy,b=e.context,y=void 0===b?{}:b;return(0,o.sH)(this,void 0,void 0,(function(){var e,s,l,p=this;return(0,o.YH)(this,(function(b){switch(b.label){case 0:return(0,u.V1)(t,9),(0,u.V1)(!h||"no-cache"===h,10),e=this.generateQueryId(),t=this.transform(t).document,this.setQuery(e,(function(){return{document:t}})),n=this.getVariables(t,n),this.transform(t).hasClientExports?[4,this.localState.addExportedVariables(t,n,y)]:[3,2];case 1:n=b.sent(),b.label=2;case 2:return s=function(){var e={};return a&&p.queries.forEach((function(t,n){var i=t.observableQuery;if(i){var o=i.queryName;o&&S.call(a,o)&&(e[n]={updater:a[o],query:p.queryStore.get(n)})}})),e},this.mutationStore.initMutation(e,t,n),this.dataStore.markMutationInit({mutationId:e,document:t,variables:n,updateQueries:s(),update:g,optimisticResponse:i}),this.broadcastQueries(),l=this,[2,new Promise((function(a,u){var p,b;l.getObservableFromLink(t,(0,o.Cl)((0,o.Cl)({},y),{optimisticResponse:i}),n,!1).subscribe({next:function(i){(0,r.to)(i)&&"none"===f?b=new I({graphQLErrors:i.errors}):(l.mutationStore.markMutationResult(e),"no-cache"!==h&&l.dataStore.markMutationResult({mutationId:e,result:i,document:t,variables:n,updateQueries:s(),update:g}),p=i)},error:function(t){l.mutationStore.markMutationError(e,t),l.dataStore.markMutationComplete({mutationId:e,optimisticResponse:i}),l.broadcastQueries(),l.setQuery(e,(function(){return{document:null}})),u(new I({networkError:t}))},complete:function(){if(b&&l.mutationStore.markMutationError(e,b),l.dataStore.markMutationComplete({mutationId:e,optimisticResponse:i}),l.broadcastQueries(),b)u(b);else{"function"==typeof c&&(c=c(p));var t=[];m(c)&&c.forEach((function(e){if("string"==typeof e)l.queries.forEach((function(n){var i=n.observableQuery;i&&i.queryName===e&&t.push(i.refetch())}));else{var n={query:e.query,variables:e.variables,fetchPolicy:"network-only"};e.context&&(n.context=e.context),t.push(l.query(n))}})),Promise.all(d?t:[]).then((function(){l.setQuery(e,(function(){return{document:null}})),"ignore"===f&&p&&(0,r.to)(p)&&delete p.errors,a(p)}))}}})}))]}}))}))},e.prototype.fetchQuery=function(e,t,n,i){return(0,o.sH)(this,void 0,void 0,(function(){var a,s,c,l,u,d,g,p,m,h,b,y,C,v,B,A,_,S,G=this;return(0,o.YH)(this,(function(Q){switch(Q.label){case 0:return a=t.metadata,s=void 0===a?null:a,c=t.fetchPolicy,l=void 0===c?"cache-first":c,u=t.context,d=void 0===u?{}:u,g=this.transform(t.query).document,p=this.getVariables(g,t.variables),this.transform(g).hasClientExports?[4,this.localState.addExportedVariables(g,p,d)]:[3,2];case 1:p=Q.sent(),Q.label=2;case 2:if(t=(0,o.Cl)((0,o.Cl)({},t),{variables:p}),b=h="network-only"===l||"no-cache"===l,h||(y=this.dataStore.getCache().diff({query:g,variables:p,returnPartialData:!0,optimistic:!1}),C=y.complete,v=y.result,b=!C||"cache-and-network"===l,m=v),B=b&&"cache-only"!==l&&"standby"!==l,(0,r.d8)(["live"],g)&&(B=!0),A=this.idCounter++,_="no-cache"!==l?this.updateQueryWatch(e,g,t):void 0,this.setQuery(e,(function(){return{document:g,lastRequestId:A,invalidated:!0,cancel:_}})),this.invalidate(i),this.queryStore.initQuery({queryId:e,document:g,storePreviousVariables:B,variables:p,isPoll:n===f.poll,isRefetch:n===f.refetch,metadata:s,fetchMoreForQueryId:i}),this.broadcastQueries(),B){if(S=this.fetchRequest({requestId:A,queryId:e,document:g,options:t,fetchMoreForQueryId:i}).catch((function(t){throw t.hasOwnProperty("graphQLErrors")?t:(A>=G.getQuery(e).lastRequestId&&(G.queryStore.markQueryError(e,t,i),G.invalidate(e),G.invalidate(i),G.broadcastQueries()),new I({networkError:t}))})),"cache-and-network"!==l)return[2,S];S.catch((function(){}))}return this.queryStore.markQueryResultClient(e,!B),this.invalidate(e),this.invalidate(i),this.transform(g).hasForcedResolvers?[2,this.localState.runResolvers({document:g,remoteResult:{data:m},context:d,variables:p,onlyRunForcedResolvers:!0}).then((function(n){return G.markQueryResult(e,n,t,i),G.broadcastQueries(),n}))]:(this.broadcastQueries(),[2,{data:m}])}}))}))},e.prototype.markQueryResult=function(e,t,n,i){var o=n.fetchPolicy,r=n.variables,a=n.errorPolicy;"no-cache"===o?this.setQuery(e,(function(){return{newData:{result:t.data,complete:!0}}})):this.dataStore.markQueryResult(t,this.getQuery(e).document,r,i,"ignore"===a||"all"===a)},e.prototype.queryListenerForObserver=function(e,t,n){var i=this;function o(e,t){if(n[e])try{n[e](t)}catch(i){}}return function(n,r){if(i.invalidate(e,!1),n){var a=i.getQuery(e),s=a.observableQuery,c=a.document,l=s?s.options.fetchPolicy:t.fetchPolicy;if("standby"!==l){var u=g(n.networkStatus),d=s&&s.getLastResult(),p=!(!d||d.networkStatus===n.networkStatus),f=t.returnPartialData||!r&&n.previousVariables||p&&t.notifyOnNetworkStatusChange||"cache-only"===l||"cache-and-network"===l;if(!u||f){var h=m(n.graphQLErrors),b=s&&s.options.errorPolicy||t.errorPolicy||"none";if("none"===b&&h||n.networkError)return o("error",new I({graphQLErrors:n.graphQLErrors,networkError:n.networkError}));try{var y=void 0,C=void 0;if(r)"no-cache"!==l&&"network-only"!==l&&i.setQuery(e,(function(){return{newData:null}})),y=r.result,C=!r.complete;else{var v=s&&s.getLastError(),B="none"!==b&&(v&&v.graphQLErrors)!==n.graphQLErrors;if(d&&d.data&&!B)y=d.data,C=!1;else{var A=i.dataStore.getCache().diff({query:c,variables:n.previousVariables||n.variables,returnPartialData:!0,optimistic:!0});y=A.result,C=!A.complete}}var _=C&&!(t.returnPartialData||"cache-only"===l),S={data:_?d&&d.data:y,loading:u,networkStatus:n.networkStatus,stale:_};"all"===b&&h&&(S.errors=n.graphQLErrors),o("next",S)}catch(G){o("error",new I({networkError:G}))}}}}}},e.prototype.transform=function(e){var t=this.transformCache;if(!t.has(e)){var n=this.dataStore.getCache(),i=n.transformDocument(e),o=(0,r.hX)(n.transformForLink(i)),a=this.localState.clientQuery(i),s=this.localState.serverQuery(o),c={document:i,hasClientExports:(0,r.f2)(i),hasForcedResolvers:this.localState.shouldForceResolvers(i),clientQuery:a,serverQuery:s,defaultVars:(0,r.wY)((0,r.Vu)(i))},l=function(e){e&&!t.has(e)&&t.set(e,c)};l(e),l(i),l(a),l(s)}return t.get(e)},e.prototype.getVariables=function(e,t){return(0,o.Cl)((0,o.Cl)({},this.transform(e).defaultVars),t)},e.prototype.watchQuery=function(e,t){void 0===t&&(t=!0),(0,u.V1)("standby"!==e.fetchPolicy,11),e.variables=this.getVariables(e.query,e.variables),void 0===e.notifyOnNetworkStatusChange&&(e.notifyOnNetworkStatusChange=!1);var n=(0,o.Cl)({},e);return new h({queryManager:this,options:n,shouldSubscribe:t})},e.prototype.query=function(e){var t=this;return(0,u.V1)(e.query,12),(0,u.V1)("Document"===e.query.kind,13),(0,u.V1)(!e.returnPartialData,14),(0,u.V1)(!e.pollInterval,15),new Promise((function(n,i){var o=t.watchQuery(e,!1);t.fetchQueryRejectFns.set("query:"+o.queryId,i),o.result().then(n,i).then((function(){return t.fetchQueryRejectFns.delete("query:"+o.queryId)}))}))},e.prototype.generateQueryId=function(){return String(this.idCounter++)},e.prototype.stopQueryInStore=function(e){this.stopQueryInStoreNoBroadcast(e),this.broadcastQueries()},e.prototype.stopQueryInStoreNoBroadcast=function(e){this.stopPollingQuery(e),this.queryStore.stopQuery(e),this.invalidate(e)},e.prototype.addQueryListener=function(e,t){this.setQuery(e,(function(e){return e.listeners.add(t),{invalidated:!1}}))},e.prototype.updateQueryWatch=function(e,t,n){var i=this,o=this.getQuery(e).cancel;return o&&o(),this.dataStore.getCache().watch({query:t,variables:n.variables,optimistic:!0,previousResult:function(){var t=null,n=i.getQuery(e).observableQuery;if(n){var o=n.getLastResult();o&&(t=o.data)}return t},callback:function(t){i.setQuery(e,(function(){return{invalidated:!0,newData:t}}))}})},e.prototype.addObservableQuery=function(e,t){this.setQuery(e,(function(){return{observableQuery:t}}))},e.prototype.removeObservableQuery=function(e){var t=this.getQuery(e).cancel;this.setQuery(e,(function(){return{observableQuery:null}})),t&&t()},e.prototype.clearStore=function(){this.fetchQueryRejectFns.forEach((function(e){e(new u.zU(16))}));var e=[];return this.queries.forEach((function(t,n){t.observableQuery&&e.push(n)})),this.queryStore.reset(e),this.mutationStore.reset(),this.dataStore.reset()},e.prototype.resetStore=function(){var e=this;return this.clearStore().then((function(){return e.reFetchObservableQueries()}))},e.prototype.reFetchObservableQueries=function(e){var t=this;void 0===e&&(e=!1);var n=[];return this.queries.forEach((function(i,o){var r=i.observableQuery;if(r){var a=r.options.fetchPolicy;r.resetLastResults(),"cache-only"===a||!e&&"standby"===a||n.push(r.refetch()),t.setQuery(o,(function(){return{newData:null}})),t.invalidate(o)}})),this.broadcastQueries(),Promise.all(n)},e.prototype.observeQuery=function(e,t,n){return this.addQueryListener(e,this.queryListenerForObserver(e,t,n)),this.fetchQuery(e,t)},e.prototype.startQuery=function(e,t,n){return this.addQueryListener(e,n),this.fetchQuery(e,t).catch((function(){})),e},e.prototype.startGraphQLSubscription=function(e){var t=this,n=e.query,i=e.fetchPolicy,o=e.variables;n=this.transform(n).document,o=this.getVariables(n,o);var a=function(e){return t.getObservableFromLink(n,{},e,!1).map((function(o){if(i&&"no-cache"===i||(t.dataStore.markSubscriptionResult(o,n,e),t.broadcastQueries()),(0,r.to)(o))throw new I({graphQLErrors:o.errors});return o}))};if(this.transform(n).hasClientExports){var s=this.localState.addExportedVariables(n,o).then(a);return new p((function(e){var t=null;return s.then((function(n){return t=n.subscribe(e)}),e.error),function(){return t&&t.unsubscribe()}}))}return a(o)},e.prototype.stopQuery=function(e){this.stopQueryNoBroadcast(e),this.broadcastQueries()},e.prototype.stopQueryNoBroadcast=function(e){this.stopQueryInStoreNoBroadcast(e),this.removeQuery(e)},e.prototype.removeQuery=function(e){this.fetchQueryRejectFns.delete("query:"+e),this.fetchQueryRejectFns.delete("fetchRequest:"+e),this.getQuery(e).subscriptions.forEach((function(e){return e.unsubscribe()})),this.queries.delete(e)},e.prototype.getCurrentQueryResult=function(e,t){void 0===t&&(t=!0);var n=e.options,i=n.variables,o=n.query,r=n.fetchPolicy,a=n.returnPartialData,s=e.getLastResult(),c=this.getQuery(e.queryId).newData;if(c&&c.complete)return{data:c.result,partial:!1};if("no-cache"===r||"network-only"===r)return{data:void 0,partial:!1};var l=this.dataStore.getCache().diff({query:o,variables:i,previousResult:s?s.data:void 0,returnPartialData:!0,optimistic:t}),u=l.result,d=l.complete;return{data:d||a?u:void 0,partial:!d}},e.prototype.getQueryWithPreviousResult=function(e){var t;if("string"==typeof e){var n=this.getQuery(e).observableQuery;(0,u.V1)(n,17),t=n}else t=e;var i=t.options,o=i.variables,r=i.query;return{previousResult:this.getCurrentQueryResult(t,!1).data,variables:o,document:r}},e.prototype.broadcastQueries=function(){var e=this;this.onBroadcast(),this.queries.forEach((function(t,n){t.invalidated&&t.listeners.forEach((function(i){i&&i(e.queryStore.get(n),t.newData)}))}))},e.prototype.getLocalState=function(){return this.localState},e.prototype.getObservableFromLink=function(e,t,n,i){var a,s=this;void 0===i&&(i=this.queryDeduplication);var l=this.transform(e).serverQuery;if(l){var u=this.inFlightLinkObservables,d=this.link,g={query:l,variables:n,operationName:(0,r.n4)(l)||void 0,context:this.prepareContext((0,o.Cl)((0,o.Cl)({},t),{forceFetch:!i}))};if(t=g.context,i){var m=u.get(l)||new Map;u.set(l,m);var f=JSON.stringify(n);if(!(a=m.get(f))){m.set(f,a=_((0,c.g7)(d,g)));var I=function(){m.delete(f),m.size||u.delete(l),h.unsubscribe()},h=a.subscribe({next:I,error:I,complete:I})}}else a=_((0,c.g7)(d,g))}else a=p.of({data:{}}),t=this.prepareContext(t);var b=this.transform(e).clientQuery;return b&&(a=function(e,t){return new p((function(n){var i=n.next,o=n.error,r=n.complete,a=0,s=!1,c={next:function(e){++a,new Promise((function(n){n(t(e))})).then((function(e){--a,i&&i.call(n,e),s&&c.complete()}),(function(e){--a,o&&o.call(n,e)}))},error:function(e){o&&o.call(n,e)},complete:function(){s=!0,a||r&&r.call(n)}},l=e.subscribe(c);return function(){return l.unsubscribe()}}))}(a,(function(e){return s.localState.runResolvers({document:b,remoteResult:e,context:t,variables:n})}))),a},e.prototype.fetchRequest=function(e){var t,n,o=this,r=e.requestId,a=e.queryId,s=e.document,c=e.options,l=e.fetchMoreForQueryId,u=c.variables,d=c.errorPolicy,g=void 0===d?"none":d,p=c.fetchPolicy;return new Promise((function(e,d){var f=o.getObservableFromLink(s,c.context,u),h="fetchRequest:"+a;o.fetchQueryRejectFns.set(h,d);var b=function(){o.fetchQueryRejectFns.delete(h),o.setQuery(a,(function(e){e.subscriptions.delete(y)}))},y=f.map((function(e){if(r>=o.getQuery(a).lastRequestId&&(o.markQueryResult(a,e,c,l),o.queryStore.markQueryResult(a,e,l),o.invalidate(a),o.invalidate(l),o.broadcastQueries()),"none"===g&&m(e.errors))return d(new I({graphQLErrors:e.errors}));if("all"===g&&(n=e.errors),l||"no-cache"===p)t=e.data;else{var i=o.dataStore.getCache().diff({variables:u,query:s,optimistic:!1,returnPartialData:!0}),f=i.result;(i.complete||c.returnPartialData)&&(t=f)}})).subscribe({error:function(e){b(),d(e)},complete:function(){b(),e({data:t,errors:n,loading:!1,networkStatus:i.ready,stale:!1})}});o.setQuery(a,(function(e){e.subscriptions.add(y)}))}))},e.prototype.getQuery=function(e){return this.queries.get(e)||{listeners:new Set,invalidated:!1,document:null,newData:null,lastRequestId:1,observableQuery:null,subscriptions:new Set}},e.prototype.setQuery=function(e,t){var n=this.getQuery(e),i=(0,o.Cl)((0,o.Cl)({},n),t(n));this.queries.set(e,i)},e.prototype.invalidate=function(e,t){void 0===t&&(t=!0),e&&this.setQuery(e,(function(){return{invalidated:t}}))},e.prototype.prepareContext=function(e){void 0===e&&(e={});var t=this.localState.prepareContext(e);return(0,o.Cl)((0,o.Cl)({},t),{clientAwareness:this.clientAwareness})},e.prototype.checkInFlight=function(e){var t=this.queryStore.get(e);return t&&t.networkStatus!==i.ready&&t.networkStatus!==i.error},e.prototype.startPollingQuery=function(e,t,n){var i=this,r=e.pollInterval;if((0,u.V1)(r,18),!this.ssrMode){var a=this.pollingInfoByQueryId.get(t);a||this.pollingInfoByQueryId.set(t,a={}),a.interval=r,a.options=(0,o.Cl)((0,o.Cl)({},e),{fetchPolicy:"network-only"});var s=function(){var e=i.pollingInfoByQueryId.get(t);e&&(i.checkInFlight(t)?c():i.fetchQuery(t,e.options,f.poll).then(c,c))},c=function(){var e=i.pollingInfoByQueryId.get(t);e&&(clearTimeout(e.timeout),e.timeout=setTimeout(s,e.interval))};n&&this.addQueryListener(t,n),c()}return t},e.prototype.stopPollingQuery=function(e){this.pollingInfoByQueryId.delete(e)},e}(),Q=function(){function e(e){this.cache=e}return e.prototype.getCache=function(){return this.cache},e.prototype.markQueryResult=function(e,t,n,i,o){void 0===o&&(o=!1);var a=!(0,r.to)(e);o&&(0,r.to)(e)&&e.data&&(a=!0),!i&&a&&this.cache.write({result:e.data,dataId:"ROOT_QUERY",query:t,variables:n})},e.prototype.markSubscriptionResult=function(e,t,n){(0,r.to)(e)||this.cache.write({result:e.data,dataId:"ROOT_SUBSCRIPTION",query:t,variables:n})},e.prototype.markMutationInit=function(e){var t,n=this;e.optimisticResponse&&(t="function"==typeof e.optimisticResponse?e.optimisticResponse(e.variables):e.optimisticResponse,this.cache.recordOptimisticTransaction((function(i){var o=n.cache;n.cache=i;try{n.markMutationResult({mutationId:e.mutationId,result:{data:t},document:e.document,variables:e.variables,updateQueries:e.updateQueries,update:e.update})}finally{n.cache=o}}),e.mutationId))},e.prototype.markMutationResult=function(e){var t=this;if(!(0,r.to)(e.result)){var n=[{result:e.result.data,dataId:"ROOT_MUTATION",query:e.document,variables:e.variables}],i=e.updateQueries;i&&Object.keys(i).forEach((function(o){var a=i[o],s=a.query,c=a.updater,l=t.cache.diff({query:s.document,variables:s.variables,returnPartialData:!0,optimistic:!1}),u=l.result;if(l.complete){var d=(0,r.VL)((function(){return c(u,{mutationResult:e.result,queryName:(0,r.n4)(s.document)||void 0,queryVariables:s.variables})}));d&&n.push({result:d,dataId:"ROOT_QUERY",query:s.document,variables:s.variables})}})),this.cache.performTransaction((function(t){n.forEach((function(e){return t.write(e)}));var i=e.update;i&&(0,r.VL)((function(){return i(t,e.result)}))}))}},e.prototype.markMutationComplete=function(e){var t=e.mutationId;e.optimisticResponse&&this.cache.removeOptimistic(t)},e.prototype.markUpdateQueryResult=function(e,t,n){this.cache.write({result:n,dataId:"ROOT_QUERY",variables:t,query:e})},e.prototype.reset=function(){return this.cache.reset()},e}(),E=function(){function e(e){var t=this;this.defaultOptions={},this.resetStoreCallbacks=[],this.clearStoreCallbacks=[];var n=e.cache,i=e.ssrMode,o=void 0!==i&&i,r=e.ssrForceFetchDelay,a=void 0===r?0:r,s=e.connectToDevTools,l=e.queryDeduplication,d=void 0===l||l,g=e.defaultOptions,p=e.assumeImmutableResults,m=void 0!==p&&p,f=e.resolvers,I=e.typeDefs,h=e.fragmentMatcher,b=e.name,y=e.version,C=e.link;if(!C&&f&&(C=c.Ch.empty()),!C||!n)throw new u.zU(4);this.link=C,this.cache=n,this.store=new Q(n),this.disableNetworkFetches=o||a>0,this.queryDeduplication=d,this.defaultOptions=g||{},this.typeDefs=I,a&&setTimeout((function(){return t.disableNetworkFetches=!1}),a),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this),void 0!==s&&s&&"undefined"!=typeof window&&(window.__APOLLO_CLIENT__=this),this.version="2.6.10",this.localState=new A({cache:n,client:this,resolvers:f,fragmentMatcher:h}),this.queryManager=new G({link:this.link,store:this.store,queryDeduplication:d,ssrMode:o,clientAwareness:{name:b,version:y},localState:this.localState,assumeImmutableResults:m,onBroadcast:function(){t.devToolsHookCb&&t.devToolsHookCb({action:{},state:{queries:t.queryManager.queryStore.getStore(),mutations:t.queryManager.mutationStore.getStore()},dataWithOptimisticResults:t.cache.extract(!0)})}})}return e.prototype.stop=function(){this.queryManager.stop()},e.prototype.watchQuery=function(e){return this.defaultOptions.watchQuery&&(e=(0,o.Cl)((0,o.Cl)({},this.defaultOptions.watchQuery),e)),!this.disableNetworkFetches||"network-only"!==e.fetchPolicy&&"cache-and-network"!==e.fetchPolicy||(e=(0,o.Cl)((0,o.Cl)({},e),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(e)},e.prototype.query=function(e){return this.defaultOptions.query&&(e=(0,o.Cl)((0,o.Cl)({},this.defaultOptions.query),e)),(0,u.V1)("cache-and-network"!==e.fetchPolicy,5),this.disableNetworkFetches&&"network-only"===e.fetchPolicy&&(e=(0,o.Cl)((0,o.Cl)({},e),{fetchPolicy:"cache-first"})),this.queryManager.query(e)},e.prototype.mutate=function(e){return this.defaultOptions.mutate&&(e=(0,o.Cl)((0,o.Cl)({},this.defaultOptions.mutate),e)),this.queryManager.mutate(e)},e.prototype.subscribe=function(e){return this.queryManager.startGraphQLSubscription(e)},e.prototype.readQuery=function(e,t){return void 0===t&&(t=!1),this.cache.readQuery(e,t)},e.prototype.readFragment=function(e,t){return void 0===t&&(t=!1),this.cache.readFragment(e,t)},e.prototype.writeQuery=function(e){var t=this.cache.writeQuery(e);return this.queryManager.broadcastQueries(),t},e.prototype.writeFragment=function(e){var t=this.cache.writeFragment(e);return this.queryManager.broadcastQueries(),t},e.prototype.writeData=function(e){var t=this.cache.writeData(e);return this.queryManager.broadcastQueries(),t},e.prototype.__actionHookForDevTools=function(e){this.devToolsHookCb=e},e.prototype.__requestRaw=function(e){return(0,c.g7)(this.link,e)},e.prototype.initQueryManager=function(){return this.queryManager},e.prototype.resetStore=function(){var e=this;return Promise.resolve().then((function(){return e.queryManager.clearStore()})).then((function(){return Promise.all(e.resetStoreCallbacks.map((function(e){return e()})))})).then((function(){return e.reFetchObservableQueries()}))},e.prototype.clearStore=function(){var e=this;return Promise.resolve().then((function(){return e.queryManager.clearStore()})).then((function(){return Promise.all(e.clearStoreCallbacks.map((function(e){return e()})))}))},e.prototype.onResetStore=function(e){var t=this;return this.resetStoreCallbacks.push(e),function(){t.resetStoreCallbacks=t.resetStoreCallbacks.filter((function(t){return t!==e}))}},e.prototype.onClearStore=function(e){var t=this;return this.clearStoreCallbacks.push(e),function(){t.clearStoreCallbacks=t.clearStoreCallbacks.filter((function(t){return t!==e}))}},e.prototype.reFetchObservableQueries=function(e){return this.queryManager.reFetchObservableQueries(e)},e.prototype.extract=function(e){return this.cache.extract(e)},e.prototype.restore=function(e){return this.cache.restore(e)},e.prototype.addResolvers=function(e){this.localState.addResolvers(e)},e.prototype.setResolvers=function(e){this.localState.setResolvers(e)},e.prototype.getResolvers=function(){return this.localState.getResolvers()},e.prototype.setLocalStateFragmentMatcher=function(e){this.localState.setFragmentMatcher(e)},e}()},5981:(e,t,n)=>{"use strict";n.d(t,{$:()=>d});var i=n(5215),o=n(9356),r=n(8117),a=n(585),s=n(1004),c={http:{includeQuery:!0,includeExtensions:!1},headers:{accept:"*/*","content-type":"application/json"},options:{method:"POST"}},l=function(e,t,n){var i=new Error(n);throw i.name="ServerError",i.response=e,i.statusCode=e.status,i.result=t,i},u=function(e,t){var n;try{n=JSON.stringify(e)}catch(o){var i=new s.zU(2);throw i.parseError=o,i}return n},d=function(e){void 0===e&&(e={});var t=e.uri,n=void 0===t?"/graphql":t,d=e.fetch,g=e.includeExtensions,p=e.useGETForQueries,m=(0,i.Tt)(e,["uri","fetch","includeExtensions","useGETForQueries"]);!function(e){if(!e&&"undefined"==typeof fetch)throw new s.zU(1)}(d),d||(d=fetch);var f={http:{includeExtensions:g},options:m.fetchOptions,credentials:m.credentials,headers:m.headers};return new o.Ch((function(e){var t=function(e,t){return e.getContext().uri||("function"==typeof t?t(e):t||"/graphql")}(e,n),s=e.getContext(),g={};if(s.clientAwareness){var m=s.clientAwareness,I=m.name,h=m.version;I&&(g["apollographql-client-name"]=I),h&&(g["apollographql-client-version"]=h)}var b,y=(0,i.Cl)({},g,s.headers),C={http:s.http,options:s.fetchOptions,credentials:s.credentials,headers:y},v=function(e,t){for(var n=[],o=2;o<arguments.length;o++)n[o-2]=arguments[o];var r=(0,i.Cl)({},t.options,{headers:t.headers,credentials:t.credentials}),s=t.http;n.forEach((function(e){r=(0,i.Cl)({},r,e.options,{headers:(0,i.Cl)({},r.headers,e.headers)}),e.credentials&&(r.credentials=e.credentials),s=(0,i.Cl)({},s,e.http)}));var c=e.operationName,l=e.extensions,u=e.variables,d=e.query,g={operationName:c,variables:u};return s.includeExtensions&&(g.extensions=l),s.includeQuery&&(g.query=(0,a.y)(d)),{options:r,body:g}}(e,c,f,C),B=v.options,A=v.body;if(!B.signal){var _=function(){if("undefined"==typeof AbortController)return{controller:!1,signal:!1};var e=new AbortController;return{controller:e,signal:e.signal}}(),S=_.controller,G=_.signal;(b=S)&&(B.signal=G)}if(p&&!e.query.definitions.some((function(e){return"OperationDefinition"===e.kind&&"mutation"===e.operation}))&&(B.method="GET"),"GET"===B.method){var Q=function(e,t){var n=[],i=function(e,t){n.push(e+"="+encodeURIComponent(t))};if("query"in t&&i("query",t.query),t.operationName&&i("operationName",t.operationName),t.variables){var o=void 0;try{o=u(t.variables)}catch(F){return{parseError:F}}i("variables",o)}if(t.extensions){var r=void 0;try{r=u(t.extensions)}catch(F){return{parseError:F}}i("extensions",r)}var a="",s=e,c=e.indexOf("#");-1!==c&&(a=e.substr(c),s=e.substr(0,c));var l=-1===s.indexOf("?")?"?":"&";return{newURI:s+l+n.join("&")+a}}(t,A),E=Q.newURI,F=Q.parseError;if(F)return(0,o.NQ)(F);t=E}else try{B.body=u(A)}catch(F){return(0,o.NQ)(F)}return new r.A((function(n){var i;return d(t,B).then((function(t){return e.setContext({response:t}),t})).then((i=e,function(e){return e.text().then((function(t){try{return JSON.parse(t)}catch(i){var n=i;return n.name="ServerParseError",n.response=e,n.statusCode=e.status,n.bodyText=t,Promise.reject(n)}})).then((function(t){return e.status>=300&&l(e,t,"Response not successful: Received status code "+e.status),Array.isArray(t)||t.hasOwnProperty("data")||t.hasOwnProperty("errors")||l(e,t,"Server response was missing for query '"+(Array.isArray(i)?i.map((function(e){return e.operationName})):i.operationName)+"'."),t}))})).then((function(e){return n.next(e),n.complete(),e})).catch((function(e){"AbortError"!==e.name&&(e.result&&e.result.errors&&e.result.data&&n.next(e.result),n.error(e))})),function(){b&&b.abort()}}))}))};!function(e){(0,i.C6)((function(t){return e.call(this,d(t).request)||this}),e)}(o.Ch)},9356:(e,t,n)=>{"use strict";n.d(t,{Ch:()=>m,NQ:()=>c,g7:()=>f});var i=n(8117),o=n(1004),r=n(5215),a=n(5950);function s(e){return e.request.length<=1}function c(e){return new i.A((function(t){t.error(e)}))}function l(e,t){return t?t(e):i.A.of()}function u(e){return"function"==typeof e?new m(e):e}function d(){return new m((function(){return i.A.of()}))}function g(e){return 0===e.length?d():e.map(u).reduce((function(e,t){return e.concat(t)}))}function p(e,t,n){var o=u(t),r=u(n||new m(l));return s(o)&&s(r)?new m((function(t){return e(t)?o.request(t)||i.A.of():r.request(t)||i.A.of()})):new m((function(t,n){return e(t)?o.request(t,n)||i.A.of():r.request(t,n)||i.A.of()}))}!function(e){(0,r.C6)((function(t,n){var i=e.call(this,t)||this;return i.link=n,i}),e)}(Error);var m=function(){function e(e){e&&(this.request=e)}return e.prototype.split=function(t,n,i){return this.concat(p(t,n,i||new e(l)))},e.prototype.concat=function(e){return function(e,t){var n=u(e);if(s(n))return n;var o=u(t);return s(o)?new m((function(e){return n.request(e,(function(e){return o.request(e)||i.A.of()}))||i.A.of()})):new m((function(e,t){return n.request(e,(function(e){return o.request(e,t)||i.A.of()}))||i.A.of()}))}(this,e)},e.prototype.request=function(e,t){throw new o.zU(1)},e.empty=d,e.from=g,e.split=p,e.execute=f,e}();function f(e,t){return e.request(function(e,t){var n=(0,r.Cl)({},e);return Object.defineProperty(t,"setContext",{enumerable:!1,value:function(e){n="function"==typeof e?(0,r.Cl)({},n,e(n)):(0,r.Cl)({},n,e)}}),Object.defineProperty(t,"getContext",{enumerable:!1,value:function(){return(0,r.Cl)({},n)}}),Object.defineProperty(t,"toKey",{enumerable:!1,value:function(){return function(e){var t=e.query,n=e.variables,i=e.operationName;return JSON.stringify([i,t,n])}(t)}}),t}(t.context,function(e){var t={variables:e.variables||{},extensions:e.extensions||{},operationName:e.operationName,query:e.query};return t.operationName||(t.operationName="string"!=typeof t.query?(0,a.n4)(t.query):""),t}(function(e){for(var t=["query","operationName","variables","extensions","context"],n=0,i=Object.keys(e);n<i.length;n++){var r=i[n];if(t.indexOf(r)<0)throw new o.zU(2)}return e}(t))))||i.A.of()}},5950:(e,t,n)=>{"use strict";n.d(t,{AT:()=>w,D9:()=>ne,IM:()=>ie,Ii:()=>l,JG:()=>x,KV:()=>K,MB:()=>g,MS:()=>C,Nu:()=>q,Uw:()=>h,VL:()=>$,Vn:()=>T,Vu:()=>Q,Wi:()=>b,XY:()=>W,ct:()=>_,d:()=>I,d8:()=>v,dt:()=>m,er:()=>L,et:()=>Y,f2:()=>B,hX:()=>P,i2:()=>y,kd:()=>f,kp:()=>S,mg:()=>J,n4:()=>E,o5:()=>d,to:()=>ee,ue:()=>p,wY:()=>k,zK:()=>F,zc:()=>H});var i=n(9111),o=n(1004),r=n(5215),a=n(2492),s=n.n(a);function c(e,t,n,i){if(function(e){return"IntValue"===e.kind}(n)||function(e){return"FloatValue"===e.kind}(n))e[t.value]=Number(n.value);else if(function(e){return"BooleanValue"===e.kind}(n)||function(e){return"StringValue"===e.kind}(n))e[t.value]=n.value;else if(function(e){return"ObjectValue"===e.kind}(n)){var r={};n.fields.map((function(e){return c(r,e.name,e.value,i)})),e[t.value]=r}else if(function(e){return"Variable"===e.kind}(n)){var a=(i||{})[n.name.value];e[t.value]=a}else if(function(e){return"ListValue"===e.kind}(n))e[t.value]=n.values.map((function(e){var n={};return c(n,t,e,i),n[t.value]}));else if(function(e){return"EnumValue"===e.kind}(n))e[t.value]=n.value;else{if(!function(e){return"NullValue"===e.kind}(n))throw new o.zU(17);e[t.value]=null}}function l(e,t){var n=null;e.directives&&(n={},e.directives.forEach((function(e){n[e.name.value]={},e.arguments&&e.arguments.forEach((function(i){var o=i.name,r=i.value;return c(n[e.name.value],o,r,t)}))})));var i=null;return e.arguments&&e.arguments.length&&(i={},e.arguments.forEach((function(e){var n=e.name,o=e.value;return c(i,n,o,t)}))),d(e.name.value,i,n)}n(2834);var u=["connection","include","skip","client","rest","export"];function d(e,t,n){if(n&&n.connection&&n.connection.key){if(n.connection.filter&&n.connection.filter.length>0){var i=n.connection.filter?n.connection.filter:[];i.sort();var o=t,r={};return i.forEach((function(e){r[e]=o[e]})),n.connection.key+"("+JSON.stringify(r)+")"}return n.connection.key}var a=e;if(t){var c=s()(t);a+="("+c+")"}return n&&Object.keys(n).forEach((function(e){-1===u.indexOf(e)&&(n[e]&&Object.keys(n[e]).length?a+="@"+e+"("+JSON.stringify(n[e])+")":a+="@"+e)})),a}function g(e,t){if(e.arguments&&e.arguments.length){var n={};return e.arguments.forEach((function(e){var i=e.name,o=e.value;return c(n,i,o,t)})),n}return null}function p(e){return e.alias?e.alias.value:e.name.value}function m(e){return"Field"===e.kind}function f(e){return"InlineFragment"===e.kind}function I(e){return e&&"id"===e.type&&"boolean"==typeof e.generated}function h(e,t){return void 0===t&&(t=!1),(0,r.Cl)({type:"id",generated:t},"string"==typeof e?{id:e,typename:void 0}:e)}function b(e){return null!=e&&"object"==typeof e&&"json"===e.type}function y(e,t){if(e.directives&&e.directives.length){var n={};return e.directives.forEach((function(e){n[e.name.value]=g(e,t)})),n}return null}function C(e,t){return void 0===t&&(t={}),(n=e.directives,n?n.filter(A).map((function(e){var t=e.arguments;e.name.value,(0,o.V1)(t&&1===t.length,14);var n=t[0];(0,o.V1)(n.name&&"if"===n.name.value,15);var i=n.value;return(0,o.V1)(i&&("Variable"===i.kind||"BooleanValue"===i.kind),16),{directive:e,ifArgument:n}})):[]).every((function(e){var n=e.directive,i=e.ifArgument,r=!1;return"Variable"===i.value.kind?(r=t[i.value.name.value],(0,o.V1)(void 0!==r,13)):r=i.value.value,"skip"===n.name.value?!r:r}));var n}function v(e,t){return function(e){var t=[];return(0,i.visit)(e,{Directive:function(e){t.push(e.name.value)}}),t}(t).some((function(t){return e.indexOf(t)>-1}))}function B(e){return e&&v(["client"],e)&&v(["export"],e)}function A(e){var t=e.name.value;return"skip"===t||"include"===t}function _(e,t){var n=t,i=[];return e.definitions.forEach((function(e){if("OperationDefinition"===e.kind)throw new o.zU(11);"FragmentDefinition"===e.kind&&i.push(e)})),void 0===n&&((0,o.V1)(1===i.length,12),n=i[0].name.value),(0,r.Cl)((0,r.Cl)({},e),{definitions:(0,r.aN)([{kind:"OperationDefinition",operation:"query",selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:n}}]}}],e.definitions)})}function S(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.forEach((function(t){null!=t&&Object.keys(t).forEach((function(n){e[n]=t[n]}))})),e}function G(e){(0,o.V1)(e&&"Document"===e.kind,2);var t=e.definitions.filter((function(e){return"FragmentDefinition"!==e.kind})).map((function(e){if("OperationDefinition"!==e.kind)throw new o.zU(3);return e}));return(0,o.V1)(t.length<=1,4),e}function Q(e){return G(e),e.definitions.filter((function(e){return"OperationDefinition"===e.kind}))[0]}function E(e){return e.definitions.filter((function(e){return"OperationDefinition"===e.kind&&e.name})).map((function(e){return e.name.value}))[0]||null}function F(e){return e.definitions.filter((function(e){return"FragmentDefinition"===e.kind}))}function w(e){var t=Q(e);return(0,o.V1)(t&&"query"===t.operation,6),t}function T(e){var t;G(e);for(var n=0,i=e.definitions;n<i.length;n++){var r=i[n];if("OperationDefinition"===r.kind){var a=r.operation;if("query"===a||"mutation"===a||"subscription"===a)return r}"FragmentDefinition"!==r.kind||t||(t=r)}if(t)return t;throw new o.zU(10)}function x(e){void 0===e&&(e=[]);var t={};return e.forEach((function(e){t[e.name.value]=e})),t}function k(e){if(e&&e.variableDefinitions&&e.variableDefinitions.length){var t=e.variableDefinitions.filter((function(e){return e.defaultValue})).map((function(e){var t=e.variable,n=e.defaultValue,i={};return c(i,t.name,n),i}));return S.apply(void 0,(0,r.aN)([{}],t))}return{}}function N(e,t,n){var i=0;return e.forEach((function(n,o){t.call(this,n,o,e)&&(e[i++]=n)}),n),e.length=i,e}var O={kind:"Field",name:{kind:"Name",value:"__typename"}};function Z(e,t){return e.selectionSet.selections.every((function(e){return"FragmentSpread"===e.kind&&Z(t[e.name.value],t)}))}function U(e){return Z(Q(e)||function(e){(0,o.V1)("Document"===e.kind,7),(0,o.V1)(e.definitions.length<=1,8);var t=e.definitions[0];return(0,o.V1)("FragmentDefinition"===t.kind,9),t}(e),x(F(e)))?null:e}function R(e){return function(t){return e.some((function(e){return e.name&&e.name===t.name.value||e.test&&e.test(t)}))}}function X(e,t){var n=Object.create(null),o=[],a=Object.create(null),s=[],c=U((0,i.visit)(t,{Variable:{enter:function(e,t,i){"VariableDefinition"!==i.kind&&(n[e.name.value]=!0)}},Field:{enter:function(t){if(e&&t.directives&&e.some((function(e){return e.remove}))&&t.directives&&t.directives.some(R(e)))return t.arguments&&t.arguments.forEach((function(e){"Variable"===e.value.kind&&o.push({name:e.value.name.value})})),t.selectionSet&&D(t.selectionSet).forEach((function(e){s.push({name:e.name.value})})),null}},FragmentSpread:{enter:function(e){a[e.name.value]=!0}},Directive:{enter:function(t){if(R(e)(t))return null}}}));return c&&N(o,(function(e){return!n[e.name]})).length&&(c=function(e,t){var n=function(e){return function(t){return e.some((function(e){return t.value&&"Variable"===t.value.kind&&t.value.name&&(e.name===t.value.name.value||e.test&&e.test(t))}))}}(e);return U((0,i.visit)(t,{OperationDefinition:{enter:function(t){return(0,r.Cl)((0,r.Cl)({},t),{variableDefinitions:t.variableDefinitions.filter((function(t){return!e.some((function(e){return e.name===t.variable.name.value}))}))})}},Field:{enter:function(t){if(e.some((function(e){return e.remove}))){var i=0;if(t.arguments.forEach((function(e){n(e)&&(i+=1)})),1===i)return null}}},Argument:{enter:function(e){if(n(e))return null}}}))}(o,c)),c&&N(s,(function(e){return!a[e.name]})).length&&(c=function(e,t){function n(t){if(e.some((function(e){return e.name===t.name.value})))return null}return U((0,i.visit)(t,{FragmentSpread:{enter:n},FragmentDefinition:{enter:n}}))}(s,c)),c}function W(e){return(0,i.visit)(G(e),{SelectionSet:{enter:function(e,t,n){if(!n||"OperationDefinition"!==n.kind){var i=e.selections;if(i&&!i.some((function(e){return m(e)&&("__typename"===e.name.value||0===e.name.value.lastIndexOf("__",0))}))){var o=n;if(!(m(o)&&o.directives&&o.directives.some((function(e){return"export"===e.name.value}))))return(0,r.Cl)((0,r.Cl)({},e),{selections:(0,r.aN)(i,[O])})}}}}})}var V={test:function(e){var t="connection"===e.name.value;return t&&(!e.arguments||e.arguments.some((function(e){return"key"===e.name.value}))),t}};function P(e){return X([V],G(e))}function D(e){var t=[];return e.selections.forEach((function(e){(m(e)||f(e))&&e.selectionSet?D(e.selectionSet).forEach((function(e){return t.push(e)})):"FragmentSpread"===e.kind&&t.push(e)})),t}function H(e){return"query"===T(e).operation?e:(0,i.visit)(e,{OperationDefinition:{enter:function(e){return(0,r.Cl)((0,r.Cl)({},e),{operation:"query"})}}})}function L(e){G(e);var t=X([{test:function(e){return"client"===e.name.value},remove:!0}],e);return t&&(t=(0,i.visit)(t,{FragmentDefinition:{enter:function(e){if(e.selectionSet&&e.selectionSet.selections.every((function(e){return m(e)&&"__typename"===e.name.value})))return null}}})),t}var Y="function"==typeof WeakMap&&!("object"==typeof navigator&&"ReactNative"===navigator.product),M=Object.prototype.toString;function J(e){return j(e,new Map)}function j(e,t){switch(M.call(e)){case"[object Array]":if(t.has(e))return t.get(e);var n=e.slice(0);return t.set(e,n),n.forEach((function(e,i){n[i]=j(e,t)})),n;case"[object Object]":if(t.has(e))return t.get(e);var i=Object.create(Object.getPrototypeOf(e));return t.set(e,i),Object.keys(e).forEach((function(n){i[n]=j(e[n],t)})),i;default:return e}}function z(e){return("undefined"!=typeof process?"production":"development")===e}function K(){return!0===z("production")}function q(){return!0===z("test")}function $(e){try{return e()}catch(t){console.error&&console.error(t)}}function ee(e){return e.errors&&e.errors.length}var te=Object.prototype.hasOwnProperty;function ne(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return ie(e)}function ie(e){var t=e[0]||{},n=e.length;if(n>1){var i=[];t=ae(t,i);for(var o=1;o<n;++o)t=re(t,e[o],i)}return t}function oe(e){return null!==e&&"object"==typeof e}function re(e,t,n){return oe(t)&&oe(e)?(Object.isExtensible&&!Object.isExtensible(e)&&(e=ae(e,n)),Object.keys(t).forEach((function(i){var o=t[i];if(te.call(e,i)){var r=e[i];o!==r&&(e[i]=re(ae(r,n),o,n))}else e[i]=o})),e):t}function ae(e,t){return null!==e&&"object"==typeof e&&t.indexOf(e)<0&&(e=Array.isArray(e)?e.slice(0):(0,r.Cl)({__proto__:Object.getPrototypeOf(e)},e),t.push(e)),e}Object.create({})},8075:(e,t,n)=>{"use strict";var i=n(453),o=n(487),r=o(i("String.prototype.indexOf"));e.exports=function(e,t){var n=i(e,!!t);return"function"==typeof n&&r(e,".prototype.")>-1?o(n):n}},487:(e,t,n)=>{"use strict";var i=n(6743),o=n(453),r=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),s=o("%Reflect.apply%",!0)||i.call(a,r),c=o("%Object.getOwnPropertyDescriptor%",!0),l=o("%Object.defineProperty%",!0),u=o("%Math.max%");if(l)try{l({},"a",{value:1})}catch(g){l=null}e.exports=function(e){var t=s(i,a,arguments);return c&&l&&c(t,"length").configurable&&l(t,"length",{value:1+u(0,e.length-(arguments.length-1))}),t};var d=function(){return s(i,r,arguments)};l?l(e.exports,"apply",{value:d}):e.exports.apply=d},5971:e=>{function t(e){if(e)return function(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}(e)}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var o=0;o<i.length;o++)if((n=i[o])===t||n.fn===t){i.splice(o,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},t.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),n=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(n){i=0;for(var o=(n=n.slice(0)).length;i<o;++i)n[i].apply(this,t)}return this},t.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},t.prototype.hasListeners=function(e){return!!this.listeners(e).length}},4945:function(e,t){var n="undefined"!=typeof self?self:this,i=function(){function e(){this.fetch=!1,this.DOMException=n.DOMException}return e.prototype=n,new e}();!function(e){!function(t){var n="URLSearchParams"in e,i="Symbol"in e&&"iterator"in Symbol,o="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),r="FormData"in e,a="ArrayBuffer"in e;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function l(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function u(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return i&&(t[Symbol.iterator]=function(){return t}),t}function g(e){this.map={},e instanceof g?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function p(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function m(e){return new Promise((function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function f(e){var t=new FileReader,n=m(t);return t.readAsArrayBuffer(e),n}function I(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function h(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:o&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:r&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&o&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=I(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=I(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var e=p(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?p(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(f)}),this.text=function(){var e,t,n,i=p(this);if(i)return i;if(this._bodyBlob)return e=this._bodyBlob,n=m(t=new FileReader),t.readAsText(e),n;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),i=0;i<t.length;i++)n[i]=String.fromCharCode(t[i]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},r&&(this.formData=function(){return this.text().then(C)}),this.json=function(){return this.text().then(JSON.parse)},this}g.prototype.append=function(e,t){e=l(e),t=u(t);var n=this.map[e];this.map[e]=n?n+", "+t:t},g.prototype.delete=function(e){delete this.map[l(e)]},g.prototype.get=function(e){return e=l(e),this.has(e)?this.map[e]:null},g.prototype.has=function(e){return this.map.hasOwnProperty(l(e))},g.prototype.set=function(e,t){this.map[l(e)]=u(t)},g.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},g.prototype.keys=function(){var e=[];return this.forEach((function(t,n){e.push(n)})),d(e)},g.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),d(e)},g.prototype.entries=function(){var e=[];return this.forEach((function(t,n){e.push([n,t])})),d(e)},i&&(g.prototype[Symbol.iterator]=g.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function y(e,t){var n,i,o=(t=t||{}).body;if(e instanceof y){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new g(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new g(t.headers)),this.method=(i=(n=t.method||this.method||"GET").toUpperCase(),b.indexOf(i)>-1?i:n),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function C(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var n=e.split("="),i=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(o))}})),t}function v(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new g(t.headers),this.url=t.url||"",this._initBody(e)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},h.call(y.prototype),h.call(v.prototype),v.prototype.clone=function(){return new v(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new g(this.headers),url:this.url})},v.error=function(){var e=new v(null,{status:0,statusText:""});return e.type="error",e};var B=[301,302,303,307,308];v.redirect=function(e,t){if(-1===B.indexOf(t))throw new RangeError("Invalid status code");return new v(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(_){t.DOMException=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function A(e,n){return new Promise((function(i,r){var a=new y(e,n);if(a.signal&&a.signal.aborted)return r(new t.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function c(){s.abort()}s.onload=function(){var e,t,n={status:s.status,statusText:s.statusText,headers:(e=s.getAllResponseHeaders()||"",t=new g,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var n=e.split(":"),i=n.shift().trim();if(i){var o=n.join(":").trim();t.append(i,o)}})),t)};n.url="responseURL"in s?s.responseURL:n.headers.get("X-Request-URL");var o="response"in s?s.response:s.responseText;i(new v(o,n))},s.onerror=function(){r(new TypeError("Network request failed"))},s.ontimeout=function(){r(new TypeError("Network request failed"))},s.onabort=function(){r(new t.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&o&&(s.responseType="blob"),a.headers.forEach((function(e,t){s.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",c),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",c)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}A.polyfill=!0,e.fetch||(e.fetch=A,e.Headers=g,e.Request=y,e.Response=v),t.Headers=g,t.Request=y,t.Response=v,t.fetch=A,Object.defineProperty(t,"__esModule",{value:!0})}({})}(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var o=i;(t=o.fetch).default=o.fetch,t.fetch=o.fetch,t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response,e.exports=t},4353:function(e){e.exports=function(){"use strict";var e=6e4,t=36e5,n="millisecond",i="second",o="minute",r="hour",a="day",s="week",c="month",l="quarter",u="year",d="date",g="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,m=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},I=function(e,t,n){var i=String(e);return!i||i.length>=t?e:""+Array(t+1-i.length).join(n)+e},h={s:I,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),i=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+I(i,2,"0")+":"+I(o,2,"0")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var i=12*(n.year()-t.year())+(n.month()-t.month()),o=t.clone().add(i,c),r=n-o<0,a=t.clone().add(i+(r?-1:1),c);return+(-(i+(n-o)/(r?o-a:a-o))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:u,w:s,d:a,D:d,h:r,m:o,s:i,ms:n,Q:l}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},b="en",y={};y[b]=f;var C="$isDayjsObject",v=function(e){return e instanceof S||!(!e||!e[C])},B=function e(t,n,i){var o;if(!t)return b;if("string"==typeof t){var r=t.toLowerCase();y[r]&&(o=r),n&&(y[r]=n,o=r);var a=t.split("-");if(!o&&a.length>1)return e(a[0])}else{var s=t.name;y[s]=t,o=s}return!i&&o&&(b=o),o||!i&&b},A=function(e,t){if(v(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new S(n)},_=h;_.l=B,_.i=v,_.w=function(e,t){return A(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var S=function(){function f(e){this.$L=B(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[C]=!0}var I=f.prototype;return I.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(_.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var i=t.match(p);if(i){var o=i[2]-1||0,r=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)):new Date(i[1],o,i[3]||1,i[4]||0,i[5]||0,i[6]||0,r)}}return new Date(t)}(e),this.init()},I.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},I.$utils=function(){return _},I.isValid=function(){return!(this.$d.toString()===g)},I.isSame=function(e,t){var n=A(e);return this.startOf(t)<=n&&n<=this.endOf(t)},I.isAfter=function(e,t){return A(e)<this.startOf(t)},I.isBefore=function(e,t){return this.endOf(t)<A(e)},I.$g=function(e,t,n){return _.u(e)?this[t]:this.set(n,e)},I.unix=function(){return Math.floor(this.valueOf()/1e3)},I.valueOf=function(){return this.$d.getTime()},I.startOf=function(e,t){var n=this,l=!!_.u(t)||t,g=_.p(e),p=function(e,t){var i=_.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return l?i:i.endOf(a)},m=function(e,t){return _.w(n.toDate()[e].apply(n.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},f=this.$W,I=this.$M,h=this.$D,b="set"+(this.$u?"UTC":"");switch(g){case u:return l?p(1,0):p(31,11);case c:return l?p(1,I):p(0,I+1);case s:var y=this.$locale().weekStart||0,C=(f<y?f+7:f)-y;return p(l?h-C:h+(6-C),I);case a:case d:return m(b+"Hours",0);case r:return m(b+"Minutes",1);case o:return m(b+"Seconds",2);case i:return m(b+"Milliseconds",3);default:return this.clone()}},I.endOf=function(e){return this.startOf(e,!1)},I.$set=function(e,t){var s,l=_.p(e),g="set"+(this.$u?"UTC":""),p=(s={},s[a]=g+"Date",s[d]=g+"Date",s[c]=g+"Month",s[u]=g+"FullYear",s[r]=g+"Hours",s[o]=g+"Minutes",s[i]=g+"Seconds",s[n]=g+"Milliseconds",s)[l],m=l===a?this.$D+(t-this.$W):t;if(l===c||l===u){var f=this.clone().set(d,1);f.$d[p](m),f.init(),this.$d=f.set(d,Math.min(this.$D,f.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},I.set=function(e,t){return this.clone().$set(e,t)},I.get=function(e){return this[_.p(e)]()},I.add=function(n,l){var d,g=this;n=Number(n);var p=_.p(l),m=function(e){var t=A(g);return _.w(t.date(t.date()+Math.round(e*n)),g)};if(p===c)return this.set(c,this.$M+n);if(p===u)return this.set(u,this.$y+n);if(p===a)return m(1);if(p===s)return m(7);var f=(d={},d[o]=e,d[r]=t,d[i]=1e3,d)[p]||1,I=this.$d.getTime()+n*f;return _.w(I,this)},I.subtract=function(e,t){return this.add(-1*e,t)},I.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||g;var i=e||"YYYY-MM-DDTHH:mm:ssZ",o=_.z(this),r=this.$H,a=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,o,r){return e&&(e[n]||e(t,i))||o[n].slice(0,r)},p=function(e){return _.s(r%12||12,e,"0")},f=u||function(e,t,n){var i=e<12?"AM":"PM";return n?i.toLowerCase():i};return i.replace(m,(function(e,i){return i||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return _.s(t.$y,4,"0");case"M":return s+1;case"MM":return _.s(s+1,2,"0");case"MMM":return d(n.monthsShort,s,l,3);case"MMMM":return d(l,s);case"D":return t.$D;case"DD":return _.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return d(n.weekdaysMin,t.$W,c,2);case"ddd":return d(n.weekdaysShort,t.$W,c,3);case"dddd":return c[t.$W];case"H":return String(r);case"HH":return _.s(r,2,"0");case"h":return p(1);case"hh":return p(2);case"a":return f(r,a,!0);case"A":return f(r,a,!1);case"m":return String(a);case"mm":return _.s(a,2,"0");case"s":return String(t.$s);case"ss":return _.s(t.$s,2,"0");case"SSS":return _.s(t.$ms,3,"0");case"Z":return o}return null}(e)||o.replace(":","")}))},I.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},I.diff=function(n,d,g){var p,m=this,f=_.p(d),I=A(n),h=(I.utcOffset()-this.utcOffset())*e,b=this-I,y=function(){return _.m(m,I)};switch(f){case u:p=y()/12;break;case c:p=y();break;case l:p=y()/3;break;case s:p=(b-h)/6048e5;break;case a:p=(b-h)/864e5;break;case r:p=b/t;break;case o:p=b/e;break;case i:p=b/1e3;break;default:p=b}return g?p:_.a(p)},I.daysInMonth=function(){return this.endOf(c).$D},I.$locale=function(){return y[this.$L]},I.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),i=B(e,t,!0);return i&&(n.$L=i),n},I.clone=function(){return _.w(this.$d,this)},I.toDate=function(){return new Date(this.valueOf())},I.toJSON=function(){return this.isValid()?this.toISOString():null},I.toISOString=function(){return this.$d.toISOString()},I.toString=function(){return this.$d.toUTCString()},f}(),G=S.prototype;return A.prototype=G,[["$ms",n],["$s",i],["$m",o],["$H",r],["$W",a],["$M",c],["$y",u],["$D",d]].forEach((function(e){G[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),A.extend=function(e,t){return e.$i||(e(t,S,A),e.$i=!0),A},A.locale=B,A.isDayjs=v,A.unix=function(e){return A(1e3*e)},A.en=y[b],A.Ls=y,A.p={},A}()},7872:function(e){e.exports=function(){"use strict";return function(e,t,n){t.prototype.isBetween=function(e,t,i,o){var r=n(e),a=n(t),s="("===(o=o||"()")[0],c=")"===o[1];return(s?this.isAfter(r,i):!this.isBefore(r,i))&&(c?this.isBefore(a,i):!this.isAfter(a,i))||(s?this.isBefore(r,i):!this.isAfter(r,i))&&(c?this.isAfter(a,i):!this.isBefore(a,i))}}}()},1040:(e,t,n)=>{var i=n(8404),o=n(2524).each;function r(e,t){this.query=e,this.isUnconditional=t,this.handlers=[],this.mql=window.matchMedia(e);var n=this;this.listener=function(e){n.mql=e.currentTarget||e,n.assess()},this.mql.addListener(this.listener)}r.prototype={constuctor:r,addHandler:function(e){var t=new i(e);this.handlers.push(t),this.matches()&&t.on()},removeHandler:function(e){var t=this.handlers;o(t,(function(n,i){if(n.equals(e))return n.destroy(),!t.splice(i,1)}))},matches:function(){return this.mql.matches||this.isUnconditional},clear:function(){o(this.handlers,(function(e){e.destroy()})),this.mql.removeListener(this.listener),this.handlers.length=0},assess:function(){var e=this.matches()?"on":"off";o(this.handlers,(function(t){t[e]()}))}},e.exports=r},1098:(e,t,n)=>{var i=n(1040),o=n(2524),r=o.each,a=o.isFunction,s=o.isArray;function c(){if(!window.matchMedia)throw new Error("matchMedia not present, legacy browsers require a polyfill");this.queries={},this.browserIsIncapable=!window.matchMedia("only all").matches}c.prototype={constructor:c,register:function(e,t,n){var o=this.queries,c=n&&this.browserIsIncapable;return o[e]||(o[e]=new i(e,c)),a(t)&&(t={match:t}),s(t)||(t=[t]),r(t,(function(t){a(t)&&(t={match:t}),o[e].addHandler(t)})),this},unregister:function(e,t){var n=this.queries[e];return n&&(t?n.removeHandler(t):(n.clear(),delete this.queries[e])),this}},e.exports=c},8404:e=>{function t(e){this.options=e,!e.deferSetup&&this.setup()}t.prototype={constructor:t,setup:function(){this.options.setup&&this.options.setup(),this.initialised=!0},on:function(){!this.initialised&&this.setup(),this.options.match&&this.options.match()},off:function(){this.options.unmatch&&this.options.unmatch()},destroy:function(){this.options.destroy?this.options.destroy():this.off()},equals:function(e){return this.options===e||this.options.match===e}},e.exports=t},2524:e=>{e.exports={isFunction:function(e){return"function"==typeof e},isArray:function(e){return"[object Array]"===Object.prototype.toString.apply(e)},each:function(e,t){for(var n=0,i=e.length;n<i&&!1!==t(e[n],n);n++);}}},2386:(e,t,n)=>{var i=n(1098);e.exports=new i},4263:function(e,t,n){var i,o,r;!function(){"use strict";o=[n(343)],void 0===(r="function"==typeof(i=function(e){var t=/(^|@)\S+:\d+/,n=/^\s*at .*(\S+:\d+|\(native\))/m,i=/^(eval@)?(\[native code])?$/;return{parse:function(e){if(void 0!==e.stacktrace||void 0!==e["opera#sourceloc"])return this.parseOpera(e);if(e.stack&&e.stack.match(n))return this.parseV8OrIE(e);if(e.stack)return this.parseFFOrSafari(e);throw new Error("Cannot parse given Error object")},extractLocation:function(e){if(-1===e.indexOf(":"))return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,""));return[t[1],t[2]||void 0,t[3]||void 0]},parseV8OrIE:function(t){return t.stack.split("\n").filter((function(e){return!!e.match(n)}),this).map((function(t){t.indexOf("(eval ")>-1&&(t=t.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var n=t.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),i=n.match(/ (\(.+\)$)/);n=i?n.replace(i[0],""):n;var o=this.extractLocation(i?i[1]:n),r=i&&n||void 0,a=["eval","<anonymous>"].indexOf(o[0])>-1?void 0:o[0];return new e({functionName:r,fileName:a,lineNumber:o[1],columnNumber:o[2],source:t})}),this)},parseFFOrSafari:function(t){return t.stack.split("\n").filter((function(e){return!e.match(i)}),this).map((function(t){if(t.indexOf(" > eval")>-1&&(t=t.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),-1===t.indexOf("@")&&-1===t.indexOf(":"))return new e({functionName:t});var n=/((.*".+"[^@]*)?[^@]*)(?:@)/,i=t.match(n),o=i&&i[1]?i[1]:void 0,r=this.extractLocation(t.replace(n,""));return new e({functionName:o,fileName:r[0],lineNumber:r[1],columnNumber:r[2],source:t})}),this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(t){for(var n=/Line (\d+).*script (?:in )?(\S+)/i,i=t.message.split("\n"),o=[],r=2,a=i.length;r<a;r+=2){var s=n.exec(i[r]);s&&o.push(new e({fileName:s[2],lineNumber:s[1],source:i[r]}))}return o},parseOpera10:function(t){for(var n=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,i=t.stacktrace.split("\n"),o=[],r=0,a=i.length;r<a;r+=2){var s=n.exec(i[r]);s&&o.push(new e({functionName:s[3]||void 0,fileName:s[2],lineNumber:s[1],source:i[r]}))}return o},parseOpera11:function(n){return n.stack.split("\n").filter((function(e){return!!e.match(t)&&!e.match(/^Error created at/)}),this).map((function(t){var n,i=t.split("@"),o=this.extractLocation(i.pop()),r=i.shift()||"",a=r.replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||void 0;r.match(/\(([^)]*)\)/)&&(n=r.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var s=void 0===n||"[arguments not available]"===n?void 0:n.split(",");return new e({functionName:a,args:s,fileName:o[0],lineNumber:o[1],columnNumber:o[2],source:t})}),this)}}})?i.apply(t,o):i)||(e.exports=r)}()},2492:e=>{"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var n,i="boolean"==typeof t.cycles&&t.cycles,o=t.cmp&&(n=t.cmp,function(e){return function(t,i){var o={key:t,value:e[t]},r={key:i,value:e[i]};return n(o,r)}}),r=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var n,a;if(Array.isArray(t)){for(a="[",n=0;n<t.length;n++)n&&(a+=","),a+=e(t[n])||"null";return a+"]"}if(null===t)return"null";if(-1!==r.indexOf(t)){if(i)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var s=r.push(t)-1,c=Object.keys(t).sort(o&&o(t));for(a="",n=0;n<c.length;n++){var l=c[n],u=e(t[l]);u&&(a&&(a+=","),a+=JSON.stringify(l)+":"+u)}return r.splice(s,1),"{"+a+"}"}}(e)}},8463:e=>{e.exports=a,a.default=a,a.stable=u,a.stableStringify=u;var t="[...]",n="[Circular]",i=[],o=[];function r(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function a(e,t,n,a){var s;void 0===a&&(a=r()),c(e,"",0,[],void 0,0,a);try{s=0===o.length?JSON.stringify(e,t,n):JSON.stringify(e,g(t),n)}catch(u){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return s}function s(e,t,n,r){var a=Object.getOwnPropertyDescriptor(r,n);void 0!==a.get?a.configurable?(Object.defineProperty(r,n,{value:e}),i.push([r,n,t,a])):o.push([t,n,e]):(r[n]=e,i.push([r,n,t]))}function c(e,i,o,r,a,l,u){var d;if(l+=1,"object"==typeof e&&null!==e){for(d=0;d<r.length;d++)if(r[d]===e)return void s(n,e,i,a);if(void 0!==u.depthLimit&&l>u.depthLimit)return void s(t,e,i,a);if(void 0!==u.edgesLimit&&o+1>u.edgesLimit)return void s(t,e,i,a);if(r.push(e),Array.isArray(e))for(d=0;d<e.length;d++)c(e[d],d,d,r,e,l,u);else{var g=Object.keys(e);for(d=0;d<g.length;d++){var p=g[d];c(e[p],p,d,r,e,l,u)}}r.pop()}}function l(e,t){return e<t?-1:e>t?1:0}function u(e,t,n,a){void 0===a&&(a=r());var s,c=d(e,"",0,[],void 0,0,a)||e;try{s=0===o.length?JSON.stringify(c,t,n):JSON.stringify(c,g(t),n)}catch(u){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{for(;0!==i.length;){var l=i.pop();4===l.length?Object.defineProperty(l[0],l[1],l[3]):l[0][l[1]]=l[2]}}return s}function d(e,o,r,a,c,u,g){var p;if(u+=1,"object"==typeof e&&null!==e){for(p=0;p<a.length;p++)if(a[p]===e)return void s(n,e,o,c);try{if("function"==typeof e.toJSON)return}catch(h){return}if(void 0!==g.depthLimit&&u>g.depthLimit)return void s(t,e,o,c);if(void 0!==g.edgesLimit&&r+1>g.edgesLimit)return void s(t,e,o,c);if(a.push(e),Array.isArray(e))for(p=0;p<e.length;p++)d(e[p],p,p,a,e,u,g);else{var m={},f=Object.keys(e).sort(l);for(p=0;p<f.length;p++){var I=f[p];d(e[I],I,p,a,e,u,g),m[I]=e[I]}if(void 0===c)return m;i.push([c,o,e]),c[o]=m}a.pop()}}function g(e){return e=void 0!==e?e:function(e,t){return t},function(t,n){if(o.length>0)for(var i=0;i<o.length;i++){var r=o[i];if(r[1]===t&&r[0]===n){n=r[2],o.splice(i,1);break}}return e.call(this,t,n)}}},9353:e=>{"use strict";var t=Array.prototype.slice,n=Object.prototype.toString;e.exports=function(e){var i=this;if("function"!=typeof i||"[object Function]"!==n.call(i))throw new TypeError("Function.prototype.bind called on incompatible "+i);for(var o,r=t.call(arguments,1),a=Math.max(0,i.length-r.length),s=[],c=0;c<a;c++)s.push("$"+c);if(o=Function("binder","return function ("+s.join(",")+"){ return binder.apply(this,arguments); }")((function(){if(this instanceof o){var n=i.apply(this,r.concat(t.call(arguments)));return Object(n)===n?n:this}return i.apply(e,r.concat(t.call(arguments)))})),i.prototype){var l=function(){};l.prototype=i.prototype,o.prototype=new l,l.prototype=null}return o}},6743:(e,t,n)=>{"use strict";var i=n(9353);e.exports=Function.prototype.bind||i},453:(e,t,n)=>{"use strict";var i,o=SyntaxError,r=Function,a=TypeError,s=function(e){try{return r('"use strict"; return ('+e+").constructor;")()}catch(t){}},c=Object.getOwnPropertyDescriptor;if(c)try{c({},"")}catch(w){c=null}var l=function(){throw new a},u=c?function(){try{return l}catch(e){try{return c(arguments,"callee").get}catch(t){return l}}}():l,d=n(4039)(),g=n(24)(),p=Object.getPrototypeOf||(g?function(e){return e.__proto__}:null),m={},f="undefined"!=typeof Uint8Array&&p?p(Uint8Array):i,I={"%AggregateError%":"undefined"==typeof AggregateError?i:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?i:ArrayBuffer,"%ArrayIteratorPrototype%":d&&p?p([][Symbol.iterator]()):i,"%AsyncFromSyncIteratorPrototype%":i,"%AsyncFunction%":m,"%AsyncGenerator%":m,"%AsyncGeneratorFunction%":m,"%AsyncIteratorPrototype%":m,"%Atomics%":"undefined"==typeof Atomics?i:Atomics,"%BigInt%":"undefined"==typeof BigInt?i:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?i:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?i:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?i:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?i:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?i:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?i:FinalizationRegistry,"%Function%":r,"%GeneratorFunction%":m,"%Int8Array%":"undefined"==typeof Int8Array?i:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?i:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?i:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":d&&p?p(p([][Symbol.iterator]())):i,"%JSON%":"object"==typeof JSON?JSON:i,"%Map%":"undefined"==typeof Map?i:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&d&&p?p((new Map)[Symbol.iterator]()):i,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?i:Promise,"%Proxy%":"undefined"==typeof Proxy?i:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?i:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?i:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&d&&p?p((new Set)[Symbol.iterator]()):i,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?i:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":d&&p?p(""[Symbol.iterator]()):i,"%Symbol%":d?Symbol:i,"%SyntaxError%":o,"%ThrowTypeError%":u,"%TypedArray%":f,"%TypeError%":a,"%Uint8Array%":"undefined"==typeof Uint8Array?i:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?i:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?i:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?i:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?i:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?i:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?i:WeakSet};if(p)try{null.error}catch(w){var h=p(p(w));I["%Error.prototype%"]=h}var b=function e(t){var n;if("%AsyncFunction%"===t)n=s("async function () {}");else if("%GeneratorFunction%"===t)n=s("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=s("async function* () {}");else if("%AsyncGenerator%"===t){var i=e("%AsyncGeneratorFunction%");i&&(n=i.prototype)}else if("%AsyncIteratorPrototype%"===t){var o=e("%AsyncGenerator%");o&&p&&(n=p(o.prototype))}return I[t]=n,n},y={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},C=n(6743),v=n(9030),B=C.call(Function.call,Array.prototype.concat),A=C.call(Function.apply,Array.prototype.splice),_=C.call(Function.call,String.prototype.replace),S=C.call(Function.call,String.prototype.slice),G=C.call(Function.call,RegExp.prototype.exec),Q=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,E=/\\(\\)?/g,F=function(e,t){var n,i=e;if(v(y,i)&&(i="%"+(n=y[i])[0]+"%"),v(I,i)){var r=I[i];if(r===m&&(r=b(i)),void 0===r&&!t)throw new a("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:i,value:r}}throw new o("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new a('"allowMissing" argument must be a boolean');if(null===G(/^%?[^%]*%?$/,e))throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(e){var t=S(e,0,1),n=S(e,-1);if("%"===t&&"%"!==n)throw new o("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new o("invalid intrinsic syntax, expected opening `%`");var i=[];return _(e,Q,(function(e,t,n,o){i[i.length]=n?_(o,E,"$1"):t||e})),i}(e),i=n.length>0?n[0]:"",r=F("%"+i+"%",t),s=r.name,l=r.value,u=!1,d=r.alias;d&&(i=d[0],A(n,B([0,1],d)));for(var g=1,p=!0;g<n.length;g+=1){var m=n[g],f=S(m,0,1),h=S(m,-1);if(('"'===f||"'"===f||"`"===f||'"'===h||"'"===h||"`"===h)&&f!==h)throw new o("property names with quotes must have matching quotes");if("constructor"!==m&&p||(u=!0),v(I,s="%"+(i+="."+m)+"%"))l=I[s];else if(null!=l){if(!(m in l)){if(!t)throw new a("base intrinsic for "+e+" exists, but the property is not available.");return}if(c&&g+1>=n.length){var b=c(l,m);l=(p=!!b)&&"get"in b&&!("originalValue"in b.get)?b.get:l[m]}else p=v(l,m),l=l[m];p&&!u&&(I[s]=l)}}return l}},7358:(e,t,n)=>{var i=n(246).parse;function o(e){return e.replace(/[\s,]+/g," ").trim()}var r={},a={},s=!0;function c(e,t){var n=Object.prototype.toString.call(e);if("[object Array]"===n)return e.map((function(e){return c(e,t)}));if("[object Object]"!==n)throw new Error("Unexpected input.");t&&e.loc&&delete e.loc,e.loc&&(delete e.loc.startToken,delete e.loc.endToken);var i,o,r,a=Object.keys(e);for(i in a)a.hasOwnProperty(i)&&(o=e[a[i]],"[object Object]"!==(r=Object.prototype.toString.call(o))&&"[object Array]"!==r||(e[a[i]]=c(o,!0)));return e}var l=!1;function u(e){var t=o(e);if(r[t])return r[t];var n=i(e,{experimentalFragmentVariables:l});if(!n||"Document"!==n.kind)throw new Error("Not a valid GraphQL document.");return n=c(n=function(e){for(var t,n={},i=[],r=0;r<e.definitions.length;r++){var c=e.definitions[r];if("FragmentDefinition"===c.kind){var l=c.name.value,u=o((t=c.loc).source.body.substring(t.start,t.end));a.hasOwnProperty(l)&&!a[l][u]?(s&&console.warn("Warning: fragment with name "+l+" already exists.\ngraphql-tag enforces all fragment names across your application to be unique; read more about\nthis in the docs: http://dev.apollodata.com/core/fragments.html#unique-names"),a[l][u]=!0):a.hasOwnProperty(l)||(a[l]={},a[l][u]=!0),n[u]||(n[u]=!0,i.push(c))}else i.push(c)}return e.definitions=i,e}(n),!1),r[t]=n,n}function d(){for(var e=Array.prototype.slice.call(arguments),t=e[0],n="string"==typeof t?t:t[0],i=1;i<e.length;i++)e[i]&&e[i].kind&&"Document"===e[i].kind?n+=e[i].loc.source.body:n+=e[i],n+=t[i];return u(n)}d.default=d,d.resetCaches=function(){r={},a={}},d.disableFragmentWarnings=function(){s=!1},d.enableExperimentalFragmentVariables=function(){l=!0},d.disableExperimentalFragmentVariables=function(){l=!1},e.exports=d},1702:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GraphQLError=s,t.printError=c;var i,o=(i=n(5569))&&i.__esModule?i:{default:i},r=n(9530),a=n(825);function s(e,t,n,i,a,c,l){var u=Array.isArray(t)?0!==t.length?t:void 0:t?[t]:void 0,d=n;if(!d&&u){var g=u[0];d=g&&g.loc&&g.loc.source}var p,m=i;!m&&u&&(m=u.reduce((function(e,t){return t.loc&&e.push(t.loc.start),e}),[])),m&&0===m.length&&(m=void 0),i&&n?p=i.map((function(e){return(0,r.getLocation)(n,e)})):u&&(p=u.reduce((function(e,t){return t.loc&&e.push((0,r.getLocation)(t.loc.source,t.loc.start)),e}),[]));var f=l;if(null==f&&null!=c){var I=c.extensions;(0,o.default)(I)&&(f=I)}Object.defineProperties(this,{message:{value:e,enumerable:!0,writable:!0},locations:{value:p||void 0,enumerable:Boolean(p)},path:{value:a||void 0,enumerable:Boolean(a)},nodes:{value:u||void 0},source:{value:d||void 0},positions:{value:m||void 0},originalError:{value:c},extensions:{value:f||void 0,enumerable:Boolean(f)}}),c&&c.stack?Object.defineProperty(this,"stack",{value:c.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,s):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}function c(e){var t=e.message;if(e.nodes)for(var n=0,i=e.nodes;n<i.length;n++){var o=i[n];o.loc&&(t+="\n\n"+(0,a.printLocation)(o.loc))}else if(e.source&&e.locations)for(var r=0,s=e.locations;r<s.length;r++){var c=s[r];t+="\n\n"+(0,a.printSourceLocation)(e.source,c)}return t}s.prototype=Object.create(Error.prototype,{constructor:{value:s},name:{value:"GraphQLError"},toString:{value:function(){return c(this)}}})},1352:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.syntaxError=function(e,t,n){return new i.GraphQLError("Syntax Error: ".concat(n),void 0,e,[t])};var i=n(1702)},6633:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.prototype.toString;e.prototype.toJSON=t,e.prototype.inspect=t,o.default&&(e.prototype[o.default]=t)};var i,o=(i=n(8493))&&i.__esModule?i:{default:i}},6192:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){"function"==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function(){return this.constructor.name}})}},3028:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!Boolean(e))throw new Error(t)}},9657:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return c(e,[])};var i,o=(i=n(8493))&&i.__esModule?i:{default:i};function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}var a=10,s=2;function c(e,t){switch(r(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,t){if(-1!==t.indexOf(e))return"[Circular]";var n=[].concat(t,[e]),i=function(e){var t=e[String(o.default)];return"function"==typeof t?t:"function"==typeof e.inspect?e.inspect:void 0}(e);if(void 0!==i){var r=i.call(e);if(r!==e)return"string"==typeof r?r:c(r,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>s)return"[Array]";for(var n=Math.min(a,e.length),i=e.length-n,o=[],r=0;r<n;++r)o.push(c(e[r],t));return 1===i?o.push("... 1 more item"):i>1&&o.push("... ".concat(i," more items")),"["+o.join(", ")+"]"}(e,n);return function(e,t){var n=Object.keys(e);return 0===n.length?"{}":t.length>s?"["+function(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){var n=e.constructor.name;if("string"==typeof n&&""!==n)return n}return t}(e)+"]":"{ "+n.map((function(n){return n+": "+c(e[n],t)})).join(", ")+" }"}(e,n)}(e,t);default:return String(e)}}},5569:(e,t)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"object"==n(e)&&null!==e}},8493:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;t.default=n},9165:(e,t)=>{"use strict";function n(e){for(var t=null,n=1;n<e.length;n++){var o=e[n],r=i(o);if(r!==o.length&&(null===t||r<t)&&0===(t=r))break}return null===t?0:t}function i(e){for(var t=0;t<e.length&&(" "===e[t]||"\t"===e[t]);)t++;return t}function o(e){return i(e)===e.length}Object.defineProperty(t,"__esModule",{value:!0}),t.dedentBlockStringValue=function(e){var t=e.split(/\r\n|[\n\r]/g),i=n(t);if(0!==i)for(var r=1;r<t.length;r++)t[r]=t[r].slice(i);for(;t.length>0&&o(t[0]);)t.shift();for(;t.length>0&&o(t[t.length-1]);)t.pop();return t.join("\n")},t.getBlockStringIndentation=n,t.printBlockString=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=-1===e.indexOf("\n"),o=" "===e[0]||"\t"===e[0],r='"'===e[e.length-1],a=!i||r||n,s="";return!a||i&&o||(s+="\n"+t),s+=t?e.replace(/\n/g,"\n"+t):e,a&&(s+="\n"),'"""'+s.replace(/"""/g,'\\"""')+'"""'}},5919:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DirectiveLocation=void 0;var n=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"});t.DirectiveLocation=n},7030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Kind=void 0;var n=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"});t.Kind=n},6083:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createLexer=function(e,t){var n=new u(s.TokenKind.SOF,0,0,0,0,null);return{source:e,options:t,lastToken:n,token:n,line:1,lineStart:0,advance:c,lookahead:l}},t.isPunctuatorToken=function(e){var t=e.kind;return t===s.TokenKind.BANG||t===s.TokenKind.DOLLAR||t===s.TokenKind.AMP||t===s.TokenKind.PAREN_L||t===s.TokenKind.PAREN_R||t===s.TokenKind.SPREAD||t===s.TokenKind.COLON||t===s.TokenKind.EQUALS||t===s.TokenKind.AT||t===s.TokenKind.BRACKET_L||t===s.TokenKind.BRACKET_R||t===s.TokenKind.BRACE_L||t===s.TokenKind.PIPE||t===s.TokenKind.BRACE_R};var i,o=(i=n(6633))&&i.__esModule?i:{default:i},r=n(1352),a=n(9165),s=n(3038);function c(){return this.lastToken=this.token,this.token=this.lookahead()}function l(){var e=this.token;if(e.kind!==s.TokenKind.EOF)do{e=e.next||(e.next=g(this,e))}while(e.kind===s.TokenKind.COMMENT);return e}function u(e,t,n,i,o,r,a){this.kind=e,this.start=t,this.end=n,this.line=i,this.column=o,this.value=a,this.prev=r,this.next=null}function d(e){return isNaN(e)?s.TokenKind.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function g(e,t){var n=e.source,i=n.body,o=i.length,c=function(e,t,n){for(var i=e.length,o=t;o<i;){var r=e.charCodeAt(o);if(9===r||32===r||44===r||65279===r)++o;else if(10===r)++o,++n.line,n.lineStart=o;else{if(13!==r)break;10===e.charCodeAt(o+1)?o+=2:++o,++n.line,n.lineStart=o}}return o}(i,t.end,e),l=e.line,g=1+c-e.lineStart;if(c>=o)return new u(s.TokenKind.EOF,o,o,l,g,t);var f=i.charCodeAt(c);switch(f){case 33:return new u(s.TokenKind.BANG,c,c+1,l,g,t);case 35:return function(e,t,n,i,o){var r,a=e.body,c=t;do{r=a.charCodeAt(++c)}while(!isNaN(r)&&(r>31||9===r));return new u(s.TokenKind.COMMENT,t,c,n,i,o,a.slice(t+1,c))}(n,c,l,g,t);case 36:return new u(s.TokenKind.DOLLAR,c,c+1,l,g,t);case 38:return new u(s.TokenKind.AMP,c,c+1,l,g,t);case 40:return new u(s.TokenKind.PAREN_L,c,c+1,l,g,t);case 41:return new u(s.TokenKind.PAREN_R,c,c+1,l,g,t);case 46:if(46===i.charCodeAt(c+1)&&46===i.charCodeAt(c+2))return new u(s.TokenKind.SPREAD,c,c+3,l,g,t);break;case 58:return new u(s.TokenKind.COLON,c,c+1,l,g,t);case 61:return new u(s.TokenKind.EQUALS,c,c+1,l,g,t);case 64:return new u(s.TokenKind.AT,c,c+1,l,g,t);case 91:return new u(s.TokenKind.BRACKET_L,c,c+1,l,g,t);case 93:return new u(s.TokenKind.BRACKET_R,c,c+1,l,g,t);case 123:return new u(s.TokenKind.BRACE_L,c,c+1,l,g,t);case 124:return new u(s.TokenKind.PIPE,c,c+1,l,g,t);case 125:return new u(s.TokenKind.BRACE_R,c,c+1,l,g,t);case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 95:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:return function(e,t,n,i,o){for(var r=e.body,a=r.length,c=t+1,l=0;c!==a&&!isNaN(l=r.charCodeAt(c))&&(95===l||l>=48&&l<=57||l>=65&&l<=90||l>=97&&l<=122);)++c;return new u(s.TokenKind.NAME,t,c,n,i,o,r.slice(t,c))}(n,c,l,g,t);case 45:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return function(e,t,n,i,o,a){var c=e.body,l=n,g=t,m=!1;if(45===l&&(l=c.charCodeAt(++g)),48===l){if((l=c.charCodeAt(++g))>=48&&l<=57)throw(0,r.syntaxError)(e,g,"Invalid number, unexpected digit after 0: ".concat(d(l),"."))}else g=p(e,g,l),l=c.charCodeAt(g);if(46===l&&(m=!0,l=c.charCodeAt(++g),g=p(e,g,l),l=c.charCodeAt(g)),69!==l&&101!==l||(m=!0,43!==(l=c.charCodeAt(++g))&&45!==l||(l=c.charCodeAt(++g)),g=p(e,g,l),l=c.charCodeAt(g)),46===l||69===l||101===l)throw(0,r.syntaxError)(e,g,"Invalid number, expected digit but got: ".concat(d(l),"."));return new u(m?s.TokenKind.FLOAT:s.TokenKind.INT,t,g,i,o,a,c.slice(t,g))}(n,c,f,l,g,t);case 34:return 34===i.charCodeAt(c+1)&&34===i.charCodeAt(c+2)?function(e,t,n,i,o,c){for(var l=e.body,g=t+3,p=g,m=0,f="";g<l.length&&!isNaN(m=l.charCodeAt(g));){if(34===m&&34===l.charCodeAt(g+1)&&34===l.charCodeAt(g+2))return f+=l.slice(p,g),new u(s.TokenKind.BLOCK_STRING,t,g+3,n,i,o,(0,a.dedentBlockStringValue)(f));if(m<32&&9!==m&&10!==m&&13!==m)throw(0,r.syntaxError)(e,g,"Invalid character within String: ".concat(d(m),"."));10===m?(++g,++c.line,c.lineStart=g):13===m?(10===l.charCodeAt(g+1)?g+=2:++g,++c.line,c.lineStart=g):92===m&&34===l.charCodeAt(g+1)&&34===l.charCodeAt(g+2)&&34===l.charCodeAt(g+3)?(f+=l.slice(p,g)+'"""',p=g+=4):++g}throw(0,r.syntaxError)(e,g,"Unterminated string.")}(n,c,l,g,t,e):function(e,t,n,i,o){for(var a=e.body,c=t+1,l=c,g=0,p="";c<a.length&&!isNaN(g=a.charCodeAt(c))&&10!==g&&13!==g;){if(34===g)return p+=a.slice(l,c),new u(s.TokenKind.STRING,t,c+1,n,i,o,p);if(g<32&&9!==g)throw(0,r.syntaxError)(e,c,"Invalid character within String: ".concat(d(g),"."));if(++c,92===g){switch(p+=a.slice(l,c-1),g=a.charCodeAt(c)){case 34:p+='"';break;case 47:p+="/";break;case 92:p+="\\";break;case 98:p+="\b";break;case 102:p+="\f";break;case 110:p+="\n";break;case 114:p+="\r";break;case 116:p+="\t";break;case 117:var f=m(a.charCodeAt(c+1),a.charCodeAt(c+2),a.charCodeAt(c+3),a.charCodeAt(c+4));if(f<0){var I=a.slice(c+1,c+5);throw(0,r.syntaxError)(e,c,"Invalid character escape sequence: \\u".concat(I,"."))}p+=String.fromCharCode(f),c+=4;break;default:throw(0,r.syntaxError)(e,c,"Invalid character escape sequence: \\".concat(String.fromCharCode(g),"."))}l=++c}}throw(0,r.syntaxError)(e,c,"Unterminated string.")}(n,c,l,g,t)}throw(0,r.syntaxError)(n,c,function(e){return e<32&&9!==e&&10!==e&&13!==e?"Cannot contain the invalid character ".concat(d(e),"."):39===e?"Unexpected single quote character ('), did you mean to use a double quote (\")?":"Cannot parse the unexpected character ".concat(d(e),".")}(f))}function p(e,t,n){var i=e.body,o=t,a=n;if(a>=48&&a<=57){do{a=i.charCodeAt(++o)}while(a>=48&&a<=57);return o}throw(0,r.syntaxError)(e,o,"Invalid number, expected digit but got: ".concat(d(a),"."))}function m(e,t,n,i){return f(e)<<12|f(t)<<8|f(n)<<4|f(i)}function f(e){return e>=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}(0,o.default)(u,(function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}))},9530:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLocation=function(e,t){for(var n,i=/\r\n|[\n\r]/g,o=1,r=t+1;(n=i.exec(e.body))&&n.index<t;)o+=1,r=t+1-(n.index+n[0].length);return{line:o,column:r}}},246:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=function(e,t){return new p(e,t).parseDocument()},t.parseValue=function(e,t){var n=new p(e,t);n.expectToken(d.TokenKind.SOF);var i=n.parseValueLiteral(!1);return n.expectToken(d.TokenKind.EOF),i},t.parseType=function(e,t){var n=new p(e,t);n.expectToken(d.TokenKind.SOF);var i=n.parseTypeReference();return n.expectToken(d.TokenKind.EOF),i};var i=g(n(9657)),o=g(n(3028)),r=g(n(6633)),a=n(1352),s=n(7030),c=n(6876),l=n(6083),u=n(5919),d=n(3038);function g(e){return e&&e.__esModule?e:{default:e}}var p=function(){function e(e,t){var n="string"==typeof e?new c.Source(e):e;n instanceof c.Source||(0,o.default)(0,"Must provide Source. Received: ".concat((0,i.default)(n))),this._lexer=(0,l.createLexer)(n),this._options=t||{}}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(d.TokenKind.NAME);return{kind:s.Kind.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:s.Kind.DOCUMENT,definitions:this.many(d.TokenKind.SOF,this.parseDefinition,d.TokenKind.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(d.TokenKind.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else{if(this.peek(d.TokenKind.BRACE_L))return this.parseOperationDefinition();if(this.peekDescription())return this.parseTypeSystemDefinition()}throw this.unexpected()},t.parseOperationDefinition=function(){var e=this._lexer.token;if(this.peek(d.TokenKind.BRACE_L))return{kind:s.Kind.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(e)};var t,n=this.parseOperationType();return this.peek(d.TokenKind.NAME)&&(t=this.parseName()),{kind:s.Kind.OPERATION_DEFINITION,operation:n,name:t,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseOperationType=function(){var e=this.expectToken(d.TokenKind.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(d.TokenKind.PAREN_L,this.parseVariableDefinition,d.TokenKind.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:s.Kind.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(d.TokenKind.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(d.TokenKind.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(d.TokenKind.DOLLAR),{kind:s.Kind.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:s.Kind.SELECTION_SET,selections:this.many(d.TokenKind.BRACE_L,this.parseSelection,d.TokenKind.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(d.TokenKind.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,n=this._lexer.token,i=this.parseName();return this.expectOptionalToken(d.TokenKind.COLON)?(e=i,t=this.parseName()):t=i,{kind:s.Kind.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(d.TokenKind.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(n)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(d.TokenKind.PAREN_L,t,d.TokenKind.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(d.TokenKind.COLON),{kind:s.Kind.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:s.Kind.ARGUMENT,name:this.parseName(),value:(this.expectToken(d.TokenKind.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(d.TokenKind.SPREAD);var t=this.expectOptionalKeyword("on");return!t&&this.peek(d.TokenKind.NAME)?{kind:s.Kind.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:s.Kind.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e=this._lexer.token;return this.expectKeyword("fragment"),this._options.experimentalFragmentVariables?{kind:s.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}:{kind:s.Kind.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case d.TokenKind.BRACKET_L:return this.parseList(e);case d.TokenKind.BRACE_L:return this.parseObject(e);case d.TokenKind.INT:return this._lexer.advance(),{kind:s.Kind.INT,value:t.value,loc:this.loc(t)};case d.TokenKind.FLOAT:return this._lexer.advance(),{kind:s.Kind.FLOAT,value:t.value,loc:this.loc(t)};case d.TokenKind.STRING:case d.TokenKind.BLOCK_STRING:return this.parseStringLiteral();case d.TokenKind.NAME:return"true"===t.value||"false"===t.value?(this._lexer.advance(),{kind:s.Kind.BOOLEAN,value:"true"===t.value,loc:this.loc(t)}):"null"===t.value?(this._lexer.advance(),{kind:s.Kind.NULL,loc:this.loc(t)}):(this._lexer.advance(),{kind:s.Kind.ENUM,value:t.value,loc:this.loc(t)});case d.TokenKind.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:s.Kind.STRING,value:e.value,block:e.kind===d.TokenKind.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,n=this._lexer.token;return{kind:s.Kind.LIST,values:this.any(d.TokenKind.BRACKET_L,(function(){return t.parseValueLiteral(e)}),d.TokenKind.BRACKET_R),loc:this.loc(n)}},t.parseObject=function(e){var t=this,n=this._lexer.token;return{kind:s.Kind.OBJECT,fields:this.any(d.TokenKind.BRACE_L,(function(){return t.parseObjectField(e)}),d.TokenKind.BRACE_R),loc:this.loc(n)}},t.parseObjectField=function(e){var t=this._lexer.token,n=this.parseName();return this.expectToken(d.TokenKind.COLON),{kind:s.Kind.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(d.TokenKind.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(d.TokenKind.AT),{kind:s.Kind.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return this.expectOptionalToken(d.TokenKind.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(d.TokenKind.BRACKET_R),e={kind:s.Kind.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(d.TokenKind.BANG)?{kind:s.Kind.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:s.Kind.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===d.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(d.TokenKind.STRING)||this.peek(d.TokenKind.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token;this.expectKeyword("schema");var t=this.parseDirectives(!0),n=this.many(d.TokenKind.BRACE_L,this.parseOperationTypeDefinition,d.TokenKind.BRACE_R);return{kind:s.Kind.SCHEMA_DEFINITION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(d.TokenKind.COLON);var n=this.parseNamedType();return{kind:s.Kind.OPERATION_TYPE_DEFINITION,operation:t,type:n,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");var n=this.parseName(),i=this.parseDirectives(!0);return{kind:s.Kind.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:i,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");var n=this.parseName(),i=this.parseImplementsInterfaces(),o=this.parseDirectives(!0),r=this.parseFieldsDefinition();return{kind:s.Kind.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:i,directives:o,fields:r,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e=[];if(this.expectOptionalKeyword("implements")){this.expectOptionalToken(d.TokenKind.AMP);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(d.TokenKind.AMP)||this._options.allowLegacySDLImplementsInterfaces&&this.peek(d.TokenKind.NAME))}return e},t.parseFieldsDefinition=function(){return this._options.allowLegacySDLEmptyFields&&this.peek(d.TokenKind.BRACE_L)&&this._lexer.lookahead().kind===d.TokenKind.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(d.TokenKind.BRACE_L,this.parseFieldDefinition,d.TokenKind.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),i=this.parseArgumentDefs();this.expectToken(d.TokenKind.COLON);var o=this.parseTypeReference(),r=this.parseDirectives(!0);return{kind:s.Kind.FIELD_DEFINITION,description:t,name:n,arguments:i,type:o,directives:r,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(d.TokenKind.PAREN_L,this.parseInputValueDef,d.TokenKind.PAREN_R)},t.parseInputValueDef=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName();this.expectToken(d.TokenKind.COLON);var i,o=this.parseTypeReference();this.expectOptionalToken(d.TokenKind.EQUALS)&&(i=this.parseValueLiteral(!0));var r=this.parseDirectives(!0);return{kind:s.Kind.INPUT_VALUE_DEFINITION,description:t,name:n,type:o,defaultValue:i,directives:r,loc:this.loc(e)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");var n=this.parseName(),i=this.parseDirectives(!0),o=this.parseFieldsDefinition();return{kind:s.Kind.INTERFACE_TYPE_DEFINITION,description:t,name:n,directives:i,fields:o,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");var n=this.parseName(),i=this.parseDirectives(!0),o=this.parseUnionMemberTypes();return{kind:s.Kind.UNION_TYPE_DEFINITION,description:t,name:n,directives:i,types:o,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){var e=[];if(this.expectOptionalToken(d.TokenKind.EQUALS)){this.expectOptionalToken(d.TokenKind.PIPE);do{e.push(this.parseNamedType())}while(this.expectOptionalToken(d.TokenKind.PIPE))}return e},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");var n=this.parseName(),i=this.parseDirectives(!0),o=this.parseEnumValuesDefinition();return{kind:s.Kind.ENUM_TYPE_DEFINITION,description:t,name:n,directives:i,values:o,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(d.TokenKind.BRACE_L,this.parseEnumValueDefinition,d.TokenKind.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),i=this.parseDirectives(!0);return{kind:s.Kind.ENUM_VALUE_DEFINITION,description:t,name:n,directives:i,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");var n=this.parseName(),i=this.parseDirectives(!0),o=this.parseInputFieldsDefinition();return{kind:s.Kind.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:i,fields:o,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(d.TokenKind.BRACE_L,this.parseInputValueDef,d.TokenKind.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===d.TokenKind.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var t=this.parseDirectives(!0),n=this.optionalMany(d.TokenKind.BRACE_L,this.parseOperationTypeDefinition,d.TokenKind.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return{kind:s.Kind.SCHEMA_EXTENSION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var t=this.parseName(),n=this.parseDirectives(!0);if(0===n.length)throw this.unexpected();return{kind:s.Kind.SCALAR_TYPE_EXTENSION,name:t,directives:n,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var t=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),o=this.parseFieldsDefinition();if(0===n.length&&0===i.length&&0===o.length)throw this.unexpected();return{kind:s.Kind.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:i,fields:o,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var t=this.parseName(),n=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===i.length)throw this.unexpected();return{kind:s.Kind.INTERFACE_TYPE_EXTENSION,name:t,directives:n,fields:i,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var t=this.parseName(),n=this.parseDirectives(!0),i=this.parseUnionMemberTypes();if(0===n.length&&0===i.length)throw this.unexpected();return{kind:s.Kind.UNION_TYPE_EXTENSION,name:t,directives:n,types:i,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var t=this.parseName(),n=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();if(0===n.length&&0===i.length)throw this.unexpected();return{kind:s.Kind.ENUM_TYPE_EXTENSION,name:t,directives:n,values:i,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var t=this.parseName(),n=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();if(0===n.length&&0===i.length)throw this.unexpected();return{kind:s.Kind.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:i,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(d.TokenKind.AT);var n=this.parseName(),i=this.parseArgumentDefs(),o=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var r=this.parseDirectiveLocations();return{kind:s.Kind.DIRECTIVE_DEFINITION,description:t,name:n,arguments:i,repeatable:o,locations:r,loc:this.loc(e)}},t.parseDirectiveLocations=function(){this.expectOptionalToken(d.TokenKind.PIPE);var e=[];do{e.push(this.parseDirectiveLocation())}while(this.expectOptionalToken(d.TokenKind.PIPE));return e},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==u.DirectiveLocation[t.value])return t;throw this.unexpected(e)},t.loc=function(e){if(!this._options.noLocation)return new m(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw(0,a.syntaxError)(this._lexer.source,t.start,"Expected ".concat(e,", found ").concat(f(t)))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind!==d.TokenKind.NAME||t.value!==e)throw(0,a.syntaxError)(this._lexer.source,t.start,'Expected "'.concat(e,'", found ').concat(f(t)));this._lexer.advance()},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===d.TokenKind.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=e||this._lexer.token;return(0,a.syntaxError)(this._lexer.source,t.start,"Unexpected ".concat(f(t)))},t.any=function(e,t,n){this.expectToken(e);for(var i=[];!this.expectOptionalToken(n);)i.push(t.call(this));return i},t.optionalMany=function(e,t,n){if(this.expectOptionalToken(e)){var i=[];do{i.push(t.call(this))}while(!this.expectOptionalToken(n));return i}return[]},t.many=function(e,t,n){this.expectToken(e);var i=[];do{i.push(t.call(this))}while(!this.expectOptionalToken(n));return i},e}();function m(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}function f(e){var t=e.value;return t?"".concat(e.kind,' "').concat(t,'"'):e.kind}(0,r.default)(m,(function(){return{start:this.start,end:this.end}}))},825:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.printLocation=function(e){return o(e.source,(0,i.getLocation)(e.source,e.start))},t.printSourceLocation=o;var i=n(9530);function o(e,t){var n=e.locationOffset.column-1,i=a(n)+e.body,o=t.line-1,s=e.locationOffset.line-1,c=t.line+s,l=1===t.line?n:0,u=t.column+l,d="".concat(e.name,":").concat(c,":").concat(u,"\n"),g=i.split(/\r\n|[\n\r]/g),p=g[o];if(p.length>120){for(var m=Math.floor(u/80),f=u%80,I=[],h=0;h<p.length;h+=80)I.push(p.slice(h,h+80));return d+r([["".concat(c),I[0]]].concat(I.slice(1,m+1).map((function(e){return["",e]})),[[" ",a(f-1)+"^"],["",I[m+1]]]))}return d+r([["".concat(c-1),g[o-1]],["".concat(c),p],["",a(u-1)+"^"],["".concat(c+1),g[o+1]]])}function r(e){var t=e.filter((function(e){return e[0],void 0!==e[1]})),n=Math.max.apply(Math,t.map((function(e){return e[0].length})));return t.map((function(e){var t,i=e[0],o=e[1];return a(n-(t=i).length)+t+(o?" | "+o:" |")})).join("\n")}function a(e){return Array(e+1).join(" ")}},585:(e,t,n)=>{"use strict";t.y=function(e){return(0,i.visit)(e,{leave:r})};var i=n(9111),o=n(9165),r={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return s(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var t=e.operation,n=e.name,i=l("(",s(e.variableDefinitions,", "),")"),o=s(e.directives," "),r=e.selectionSet;return n||o||i||"query"!==t?s([t,s([n,i]),o,r]," "):r},VariableDefinition:function(e){var t=e.variable,n=e.type,i=e.defaultValue,o=e.directives;return t+": "+n+l(" = ",i)+l(" ",s(o," "))},SelectionSet:function(e){return c(e.selections)},Field:function(e){var t=e.alias,n=e.name,i=e.arguments,o=e.directives,r=e.selectionSet;return s([l("",t,": ")+n+l("(",s(i,", "),")"),s(o," "),r]," ")},Argument:function(e){return e.name+": "+e.value},FragmentSpread:function(e){return"..."+e.name+l(" ",s(e.directives," "))},InlineFragment:function(e){var t=e.typeCondition,n=e.directives,i=e.selectionSet;return s(["...",l("on ",t),s(n," "),i]," ")},FragmentDefinition:function(e){var t=e.name,n=e.typeCondition,i=e.variableDefinitions,o=e.directives,r=e.selectionSet;return"fragment ".concat(t).concat(l("(",s(i,", "),")")," ")+"on ".concat(n," ").concat(l("",s(o," ")," "))+r},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var n=e.value;return e.block?(0,o.printBlockString)(n,"description"===t?"":"  "):JSON.stringify(n)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+s(e.values,", ")+"]"},ObjectValue:function(e){return"{"+s(e.fields,", ")+"}"},ObjectField:function(e){return e.name+": "+e.value},Directive:function(e){return"@"+e.name+l("(",s(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:function(e){var t=e.directives,n=e.operationTypes;return s(["schema",s(t," "),c(n)]," ")},OperationTypeDefinition:function(e){return e.operation+": "+e.type},ScalarTypeDefinition:a((function(e){return s(["scalar",e.name,s(e.directives," ")]," ")})),ObjectTypeDefinition:a((function(e){var t=e.name,n=e.interfaces,i=e.directives,o=e.fields;return s(["type",t,l("implements ",s(n," & ")),s(i," "),c(o)]," ")})),FieldDefinition:a((function(e){var t=e.name,n=e.arguments,i=e.type,o=e.directives;return t+(g(n)?l("(\n",u(s(n,"\n")),"\n)"):l("(",s(n,", "),")"))+": "+i+l(" ",s(o," "))})),InputValueDefinition:a((function(e){var t=e.name,n=e.type,i=e.defaultValue,o=e.directives;return s([t+": "+n,l("= ",i),s(o," ")]," ")})),InterfaceTypeDefinition:a((function(e){var t=e.name,n=e.directives,i=e.fields;return s(["interface",t,s(n," "),c(i)]," ")})),UnionTypeDefinition:a((function(e){var t=e.name,n=e.directives,i=e.types;return s(["union",t,s(n," "),i&&0!==i.length?"= "+s(i," | "):""]," ")})),EnumTypeDefinition:a((function(e){var t=e.name,n=e.directives,i=e.values;return s(["enum",t,s(n," "),c(i)]," ")})),EnumValueDefinition:a((function(e){return s([e.name,s(e.directives," ")]," ")})),InputObjectTypeDefinition:a((function(e){var t=e.name,n=e.directives,i=e.fields;return s(["input",t,s(n," "),c(i)]," ")})),DirectiveDefinition:a((function(e){var t=e.name,n=e.arguments,i=e.repeatable,o=e.locations;return"directive @"+t+(g(n)?l("(\n",u(s(n,"\n")),"\n)"):l("(",s(n,", "),")"))+(i?" repeatable":"")+" on "+s(o," | ")})),SchemaExtension:function(e){var t=e.directives,n=e.operationTypes;return s(["extend schema",s(t," "),c(n)]," ")},ScalarTypeExtension:function(e){return s(["extend scalar",e.name,s(e.directives," ")]," ")},ObjectTypeExtension:function(e){var t=e.name,n=e.interfaces,i=e.directives,o=e.fields;return s(["extend type",t,l("implements ",s(n," & ")),s(i," "),c(o)]," ")},InterfaceTypeExtension:function(e){var t=e.name,n=e.directives,i=e.fields;return s(["extend interface",t,s(n," "),c(i)]," ")},UnionTypeExtension:function(e){var t=e.name,n=e.directives,i=e.types;return s(["extend union",t,s(n," "),i&&0!==i.length?"= "+s(i," | "):""]," ")},EnumTypeExtension:function(e){var t=e.name,n=e.directives,i=e.values;return s(["extend enum",t,s(n," "),c(i)]," ")},InputObjectTypeExtension:function(e){var t=e.name,n=e.directives,i=e.fields;return s(["extend input",t,s(n," "),c(i)]," ")}};function a(e){return function(t){return s([t.description,e(t)],"\n")}}function s(e,t){return e?e.filter((function(e){return e})).join(t||""):""}function c(e){return e&&0!==e.length?"{\n"+u(s(e,"\n"))+"\n}":""}function l(e,t,n){return t?e+t+(n||""):""}function u(e){return e&&"  "+e.replace(/\n/g,"\n  ")}function d(e){return-1!==e.indexOf("\n")}function g(e){return e&&e.some(d)}},6876:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Source=void 0;var i=r(n(3028)),o=r(n(6192));function r(e){return e&&e.__esModule?e:{default:e}}var a=function(e,t,n){this.body=e,this.name=t||"GraphQL request",this.locationOffset=n||{line:1,column:1},this.locationOffset.line>0||(0,i.default)(0,"line in locationOffset is 1-indexed and must be positive"),this.locationOffset.column>0||(0,i.default)(0,"column in locationOffset is 1-indexed and must be positive")};t.Source=a,(0,o.default)(a)},3038:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenKind=void 0;var n=Object.freeze({SOF:"<SOF>",EOF:"<EOF>",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"});t.TokenKind=n},9111:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.visit=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r,i=void 0,l=Array.isArray(e),u=[e],d=-1,g=[],p=void 0,m=void 0,f=void 0,I=[],h=[],b=e;do{var y=++d===u.length,C=y&&0!==g.length;if(y){if(m=0===h.length?void 0:I[I.length-1],p=f,f=h.pop(),C){if(l)p=p.slice();else{for(var v={},B=0,A=Object.keys(p);B<A.length;B++){var _=A[B];v[_]=p[_]}p=v}for(var S=0,G=0;G<g.length;G++){var Q=g[G][0],E=g[G][1];l&&(Q-=S),l&&null===E?(p.splice(Q,1),S++):p[Q]=E}}d=i.index,u=i.keys,g=i.edits,l=i.inArray,i=i.prev}else{if(m=f?l?d:u[d]:void 0,null==(p=f?f[m]:b))continue;f&&I.push(m)}var F=void 0;if(!Array.isArray(p)){if(!s(p))throw new Error("Invalid AST Node: "+(0,o.default)(p));var w=c(t,p.kind,y);if(w){if((F=w.call(t,p,m,f,I,h))===a)break;if(!1===F){if(!y){I.pop();continue}}else if(void 0!==F&&(g.push([m,F]),!y)){if(!s(F)){I.pop();continue}p=F}}}void 0===F&&C&&g.push([m,p]),y?I.pop():(i={inArray:l,index:d,keys:u,edits:g,prev:i},u=(l=Array.isArray(p))?p:n[p.kind]||[],d=-1,g=[],f&&h.push(f),f=p)}while(void 0!==i);return 0!==g.length&&(b=g[g.length-1][1]),b},t.visitInParallel=function(e){var t=new Array(e.length);return{enter:function(n){for(var i=0;i<e.length;i++)if(!t[i]){var o=c(e[i],n.kind,!1);if(o){var r=o.apply(e[i],arguments);if(!1===r)t[i]=n;else if(r===a)t[i]=a;else if(void 0!==r)return r}}},leave:function(n){for(var i=0;i<e.length;i++)if(t[i])t[i]===n&&(t[i]=null);else{var o=c(e[i],n.kind,!0);if(o){var r=o.apply(e[i],arguments);if(r===a)t[i]=a;else if(void 0!==r&&!1!==r)return r}}}}},t.visitWithTypeInfo=function(e,t){return{enter:function(n){e.enter(n);var i=c(t,n.kind,!1);if(i){var o=i.apply(t,arguments);return void 0!==o&&(e.leave(n),s(o)&&e.enter(o)),o}},leave:function(n){var i,o=c(t,n.kind,!0);return o&&(i=o.apply(t,arguments)),e.leave(n),i}}},t.getVisitFn=c,t.BREAK=t.QueryDocumentKeys=void 0;var i,o=(i=n(9657))&&i.__esModule?i:{default:i},r={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]};t.QueryDocumentKeys=r;var a=Object.freeze({});function s(e){return Boolean(e&&"string"==typeof e.kind)}function c(e,t,n){var i=e[t];if(i){if(!n&&"function"==typeof i)return i;var o=n?i.leave:i.enter;if("function"==typeof o)return o}else{var r=n?e.leave:e.enter;if(r){if("function"==typeof r)return r;var a=r[t];if("function"==typeof a)return a}}}t.BREAK=a},24:e=>{"use strict";var t={foo:{}},n=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!({__proto__:null}instanceof n)}},4039:(e,t,n)=>{"use strict";var i="undefined"!=typeof Symbol&&Symbol,o=n(1333);e.exports=function(){return"function"==typeof i&&"function"==typeof Symbol&&"symbol"==typeof i("foo")&&"symbol"==typeof Symbol("bar")&&o()}},1333:e=>{"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var i=Object.getOwnPropertySymbols(e);if(1!==i.length||i[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},9030:(e,t,n)=>{"use strict";var i=n(6743);e.exports=i.call(Function.call,Object.prototype.hasOwnProperty)},4146:(e,t,n)=>{"use strict";var i=n(3404),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function c(e){return i.isMemo(e)?a:s[e.$$typeof]||o}s[i.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[i.Memo]=a;var l=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,g=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,i){if("string"!=typeof n){if(m){var o=p(n);o&&o!==m&&e(t,o,i)}var a=u(n);d&&(a=a.concat(d(n)));for(var s=c(t),f=c(n),I=0;I<a.length;++I){var h=a[I];if(!(r[h]||i&&i[h]||f&&f[h]||s&&s[h])){var b=g(n,h);try{l(t,h,b)}catch(y){}}}}return t}},3072:(e,t)=>{"use strict";
/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var n="function"==typeof Symbol&&Symbol.for,i=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,r=n?Symbol.for("react.fragment"):60107,a=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,l=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,g=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,f=n?Symbol.for("react.memo"):60115,I=n?Symbol.for("react.lazy"):60116,h=n?Symbol.for("react.block"):60121,b=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,C=n?Symbol.for("react.scope"):60119;function v(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case u:case d:case r:case s:case a:case p:return e;default:switch(e=e&&e.$$typeof){case l:case g:case I:case f:case c:return e;default:return t}}case o:return t}}}function B(e){return v(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=l,t.ContextProvider=c,t.Element=i,t.ForwardRef=g,t.Fragment=r,t.Lazy=I,t.Memo=f,t.Portal=o,t.Profiler=s,t.StrictMode=a,t.Suspense=p,t.isAsyncMode=function(e){return B(e)||v(e)===u},t.isConcurrentMode=B,t.isContextConsumer=function(e){return v(e)===l},t.isContextProvider=function(e){return v(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===i},t.isForwardRef=function(e){return v(e)===g},t.isFragment=function(e){return v(e)===r},t.isLazy=function(e){return v(e)===I},t.isMemo=function(e){return v(e)===f},t.isPortal=function(e){return v(e)===o},t.isProfiler=function(e){return v(e)===s},t.isStrictMode=function(e){return v(e)===a},t.isSuspense=function(e){return v(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===d||e===s||e===a||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===I||e.$$typeof===f||e.$$typeof===c||e.$$typeof===l||e.$$typeof===g||e.$$typeof===b||e.$$typeof===y||e.$$typeof===C||e.$$typeof===h)},t.typeOf=v},3404:(e,t,n)=>{"use strict";e.exports=n(3072)},1441:(e,t,n)=>{var i=n(8028),o=function(e){var t="",n=Object.keys(e);return n.forEach((function(o,r){var a=e[o];(function(e){return/[height|width]$/.test(e)})(o=i(o))&&"number"==typeof a&&(a+="px"),t+=!0===a?o:!1===a?"not "+o:"("+o+": "+a+")",r<n.length-1&&(t+=" and ")})),t};e.exports=function(e){var t="";return"string"==typeof e?e:e instanceof Array?(e.forEach((function(n,i){t+=o(n),i<e.length-1&&(t+=", ")})),t):o(e)}},181:(e,t,n)=>{var i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,r=/^0b[01]+$/i,a=/^0o[0-7]+$/i,s=parseInt,c="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,l="object"==typeof self&&self&&self.Object===Object&&self,u=c||l||Function("return this")(),d=Object.prototype.toString,g=Math.max,p=Math.min,m=function(){return u.Date.now()};function f(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function I(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==d.call(e)}(e))return NaN;if(f(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=f(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=r.test(e);return n||a.test(e)?s(e.slice(2),n?2:8):o.test(e)?NaN:+e}e.exports=function(e,t,n){var i,o,r,a,s,c,l=0,u=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function b(t){var n=i,r=o;return i=o=void 0,l=t,a=e.apply(r,n)}function y(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-l>=r}function C(){var e=m();if(y(e))return v(e);s=setTimeout(C,function(e){var n=t-(e-c);return d?p(n,r-(e-l)):n}(e))}function v(e){return s=void 0,h&&i?b(e):(i=o=void 0,a)}function B(){var e=m(),n=y(e);if(i=arguments,o=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(C,t),u?b(e):a}(c);if(d)return s=setTimeout(C,t),b(c)}return void 0===s&&(s=setTimeout(C,t)),a}return t=I(t)||0,f(n)&&(u=!!n.leading,r=(d="maxWait"in n)?g(I(n.maxWait)||0,t):r,h="trailing"in n?!!n.trailing:h),B.cancel=function(){void 0!==s&&clearTimeout(s),l=0,i=c=o=s=void 0},B.flush=function(){return void 0===s?a:v(m())},B}},5163:function(e,t,n){var i,o;i=function(e){"use strict";var t,n,i,o,r={template:'{"timestamp": "%t", "level": "%l", "message": "%m"}',messageFormatter:function(e){return e},timestampFormatter:function(e){return e.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1")},levelFormatter:function(e){return e.toUpperCase()},nameFormatter:function(e){return e||"root"}},a={apply:function(e,o){if(!e||!e.getLogger)throw new TypeError("Argument is not a root loglevel object");if(t&&i!==e.methodFactory)throw new Error("You can't reassign a plugin after appling another plugin");return t=e,o=function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(t in arguments[n])Object.prototype.hasOwnProperty.call(arguments[n],t)&&(e[t]=arguments[n][t]);return e}({},r,o),n=n||e.methodFactory,i=function(e,t,i){var r=n(e,t,i),a=-1!==o.template.indexOf("%t"),s=-1!==o.template.indexOf("%l"),c=-1!==o.template.indexOf("%n"),l=-1!==o.template.indexOf("%m");return function(){for(var t=o.template,n=arguments.length,u=Array(n),d=0;d<n;d++)u[d]=arguments[d];a&&(t=t.replace(/%t/,o.timestampFormatter(new Date))),s&&(t=t.replace(/%l/,o.levelFormatter(e))),c&&(t=t.replace(/%n/,o.nameFormatter(i))),u.length&&"string"==typeof u[0]?(l&&(t=t.replace(/%m/,o.messageFormatter(u[0]))),u[0]=t):u.unshift(t),r.apply(void 0,u)}},e.methodFactory=i,e.setLevel(e.getLevel()),e},disable:function(){if(!t)throw new Error("You can't disable a not appled plugin");if(i!==t.methodFactory)throw new Error("You can't disable a plugin after appling another plugin");t.methodFactory=n,t.setLevel(t.getLevel()),n=void 0,t=void 0}};return e&&(o=e.format,a.noConflict=function(){return e.format===a&&(e.format=o),a}),a},void 0===(o=i.call(t,n,t,e))||(e.exports=o)},3065:function(e,t,n){var i,o;!function(){"use strict";i=function(){var e=function(){},t="undefined",n=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"];function o(e,t){var n=e[t];if("function"==typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(i){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}function r(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function a(i){return"debug"===i&&(i="log"),typeof console!==t&&("trace"===i&&n?r:void 0!==console[i]?o(console,i):void 0!==console.log?o(console,"log"):e)}function s(t,n){for(var o=0;o<i.length;o++){var r=i[o];this[r]=o<t?e:this.methodFactory(r,t,n)}this.log=this.debug}function c(e,n,i){return function(){typeof console!==t&&(s.call(this,n,i),this[e].apply(this,arguments))}}function l(e,t,n){return a(e)||c.apply(this,arguments)}function u(e,n,o){var r,a=this;n=null==n?"WARN":n;var c="loglevel";function u(e){var n=(i[e]||"silent").toUpperCase();if(typeof window!==t&&c){try{return void(window.localStorage[c]=n)}catch(o){}try{window.document.cookie=encodeURIComponent(c)+"="+n+";"}catch(o){}}}function d(){var e;if(typeof window!==t&&c){try{e=window.localStorage[c]}catch(o){}if(typeof e===t)try{var n=window.document.cookie,i=n.indexOf(encodeURIComponent(c)+"=");-1!==i&&(e=/^([^;]+)/.exec(n.slice(i))[1])}catch(o){}return void 0===a.levels[e]&&(e=void 0),e}}"string"==typeof e?c+=":"+e:"symbol"==typeof e&&(c=void 0),a.name=e,a.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},a.methodFactory=o||l,a.getLevel=function(){return r},a.setLevel=function(n,i){if("string"==typeof n&&void 0!==a.levels[n.toUpperCase()]&&(n=a.levels[n.toUpperCase()]),!("number"==typeof n&&n>=0&&n<=a.levels.SILENT))throw"log.setLevel() called with invalid level: "+n;if(r=n,!1!==i&&u(n),s.call(a,n,e),typeof console===t&&n<a.levels.SILENT)return"No console available for logging"},a.setDefaultLevel=function(e){n=e,d()||a.setLevel(e,!1)},a.resetLevel=function(){a.setLevel(n,!1),function(){if(typeof window!==t&&c){try{return void window.localStorage.removeItem(c)}catch(e){}try{window.document.cookie=encodeURIComponent(c)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}()},a.enableAll=function(e){a.setLevel(a.levels.TRACE,e)},a.disableAll=function(e){a.setLevel(a.levels.SILENT,e)};var g=d();null==g&&(g=n),a.setLevel(g,!1)}var d=new u,g={};d.getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=g[e];return t||(t=g[e]=new u(e,d.getLevel(),d.methodFactory)),t};var p=typeof window!==t?window.log:void 0;return d.noConflict=function(){return typeof window!==t&&window.log===d&&(window.log=p),d},d.getLoggers=function(){return g},d.default=d,d},void 0===(o=i.call(t,n,t,e))||(e.exports=o)}()},8859:(e,t,n)=>{var i="function"==typeof Map&&Map.prototype,o=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,r=i&&o&&"function"==typeof o.get?o.get:null,a=i&&Map.prototype.forEach,s="function"==typeof Set&&Set.prototype,c=Object.getOwnPropertyDescriptor&&s?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,l=s&&c&&"function"==typeof c.get?c.get:null,u=s&&Set.prototype.forEach,d="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,g="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,p="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,m=Boolean.prototype.valueOf,f=Object.prototype.toString,I=Function.prototype.toString,h=String.prototype.match,b=String.prototype.slice,y=String.prototype.replace,C=String.prototype.toUpperCase,v=String.prototype.toLowerCase,B=RegExp.prototype.test,A=Array.prototype.concat,_=Array.prototype.join,S=Array.prototype.slice,G=Math.floor,Q="function"==typeof BigInt?BigInt.prototype.valueOf:null,E=Object.getOwnPropertySymbols,F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,w="function"==typeof Symbol&&"object"==typeof Symbol.iterator,T="function"==typeof Symbol&&Symbol.toStringTag&&(Symbol.toStringTag,1)?Symbol.toStringTag:null,x=Object.prototype.propertyIsEnumerable,k=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function N(e,t){if(e===1/0||e===-1/0||e!=e||e&&e>-1e3&&e<1e3||B.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof e){var i=e<0?-G(-e):G(e);if(i!==e){var o=String(i),r=b.call(t,o.length+1);return y.call(o,n,"$&_")+"."+y.call(y.call(r,/([0-9]{3})/g,"$&_"),/_$/,"")}}return y.call(t,n,"$&_")}var O=n(2634),Z=O.custom,U=P(Z)?Z:null;function R(e,t,n){var i="double"===(n.quoteStyle||t)?'"':"'";return i+e+i}function X(e){return y.call(String(e),/"/g,"&quot;")}function W(e){return!("[object Array]"!==L(e)||T&&"object"==typeof e&&T in e)}function V(e){return!("[object RegExp]"!==L(e)||T&&"object"==typeof e&&T in e)}function P(e){if(w)return e&&"object"==typeof e&&e instanceof Symbol;if("symbol"==typeof e)return!0;if(!e||"object"!=typeof e||!F)return!1;try{return F.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,i,o){var s=n||{};if(H(s,"quoteStyle")&&"single"!==s.quoteStyle&&"double"!==s.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(H(s,"maxStringLength")&&("number"==typeof s.maxStringLength?s.maxStringLength<0&&s.maxStringLength!==1/0:null!==s.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var c=!H(s,"customInspect")||s.customInspect;if("boolean"!=typeof c&&"symbol"!==c)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(H(s,"indent")&&null!==s.indent&&"\t"!==s.indent&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(H(s,"numericSeparator")&&"boolean"!=typeof s.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var f=s.numericSeparator;if(void 0===t)return"undefined";if(null===t)return"null";if("boolean"==typeof t)return t?"true":"false";if("string"==typeof t)return M(t,s);if("number"==typeof t){if(0===t)return 1/0/t>0?"0":"-0";var C=String(t);return f?N(t,C):C}if("bigint"==typeof t){var B=String(t)+"n";return f?N(t,B):B}var G=void 0===s.depth?5:s.depth;if(void 0===i&&(i=0),i>=G&&G>0&&"object"==typeof t)return W(t)?"[Array]":"[Object]";var E=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"==typeof e.indent&&e.indent>0))return null;n=_.call(Array(e.indent+1)," ")}return{base:n,prev:_.call(Array(t+1),n)}}(s,i);if(void 0===o)o=[];else if(Y(o,t)>=0)return"[Circular]";function Z(t,n,r){if(n&&(o=S.call(o)).push(n),r){var a={depth:s.depth};return H(s,"quoteStyle")&&(a.quoteStyle=s.quoteStyle),e(t,a,i+1,o)}return e(t,s,i+1,o)}if("function"==typeof t&&!V(t)){var D=function(e){if(e.name)return e.name;var t=h.call(I.call(e),/^function\s*([\w$]+)/);return t?t[1]:null}(t),J=$(t,Z);return"[Function"+(D?": "+D:" (anonymous)")+"]"+(J.length>0?" { "+_.call(J,", ")+" }":"")}if(P(t)){var ee=w?y.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):F.call(t);return"object"!=typeof t||w?ee:j(ee)}if(function(e){return!(!e||"object"!=typeof e)&&("undefined"!=typeof HTMLElement&&e instanceof HTMLElement||"string"==typeof e.nodeName&&"function"==typeof e.getAttribute)}(t)){for(var te="<"+v.call(String(t.nodeName)),ne=t.attributes||[],ie=0;ie<ne.length;ie++)te+=" "+ne[ie].name+"="+R(X(ne[ie].value),"double",s);return te+=">",t.childNodes&&t.childNodes.length&&(te+="..."),te+"</"+v.call(String(t.nodeName))+">"}if(W(t)){if(0===t.length)return"[]";var oe=$(t,Z);return E&&!function(e){for(var t=0;t<e.length;t++)if(Y(e[t],"\n")>=0)return!1;return!0}(oe)?"["+q(oe,E)+"]":"[ "+_.call(oe,", ")+" ]"}if(function(e){return!("[object Error]"!==L(e)||T&&"object"==typeof e&&T in e)}(t)){var re=$(t,Z);return"cause"in Error.prototype||!("cause"in t)||x.call(t,"cause")?0===re.length?"["+String(t)+"]":"{ ["+String(t)+"] "+_.call(re,", ")+" }":"{ ["+String(t)+"] "+_.call(A.call("[cause]: "+Z(t.cause),re),", ")+" }"}if("object"==typeof t&&c){if(U&&"function"==typeof t[U]&&O)return O(t,{depth:G-i});if("symbol"!==c&&"function"==typeof t.inspect)return t.inspect()}if(function(e){if(!r||!e||"object"!=typeof e)return!1;try{r.call(e);try{l.call(e)}catch(te){return!0}return e instanceof Map}catch(t){}return!1}(t)){var ae=[];return a&&a.call(t,(function(e,n){ae.push(Z(n,t,!0)+" => "+Z(e,t))})),K("Map",r.call(t),ae,E)}if(function(e){if(!l||!e||"object"!=typeof e)return!1;try{l.call(e);try{r.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var se=[];return u&&u.call(t,(function(e){se.push(Z(e,t))})),K("Set",l.call(t),se,E)}if(function(e){if(!d||!e||"object"!=typeof e)return!1;try{d.call(e,d);try{g.call(e,g)}catch(te){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return z("WeakMap");if(function(e){if(!g||!e||"object"!=typeof e)return!1;try{g.call(e,g);try{d.call(e,d)}catch(te){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return z("WeakSet");if(function(e){if(!p||!e||"object"!=typeof e)return!1;try{return p.call(e),!0}catch(t){}return!1}(t))return z("WeakRef");if(function(e){return!("[object Number]"!==L(e)||T&&"object"==typeof e&&T in e)}(t))return j(Z(Number(t)));if(function(e){if(!e||"object"!=typeof e||!Q)return!1;try{return Q.call(e),!0}catch(t){}return!1}(t))return j(Z(Q.call(t)));if(function(e){return!("[object Boolean]"!==L(e)||T&&"object"==typeof e&&T in e)}(t))return j(m.call(t));if(function(e){return!("[object String]"!==L(e)||T&&"object"==typeof e&&T in e)}(t))return j(Z(String(t)));if(!function(e){return!("[object Date]"!==L(e)||T&&"object"==typeof e&&T in e)}(t)&&!V(t)){var ce=$(t,Z),le=k?k(t)===Object.prototype:t instanceof Object||t.constructor===Object,ue=t instanceof Object?"":"null prototype",de=!le&&T&&Object(t)===t&&T in t?b.call(L(t),8,-1):ue?"Object":"",ge=(le||"function"!=typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(de||ue?"["+_.call(A.call([],de||[],ue||[]),": ")+"] ":"");return 0===ce.length?ge+"{}":E?ge+"{"+q(ce,E)+"}":ge+"{ "+_.call(ce,", ")+" }"}return String(t)};var D=Object.prototype.hasOwnProperty||function(e){return e in this};function H(e,t){return D.call(e,t)}function L(e){return f.call(e)}function Y(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1}function M(e,t){if(e.length>t.maxStringLength){var n=e.length-t.maxStringLength,i="... "+n+" more character"+(n>1?"s":"");return M(b.call(e,0,t.maxStringLength),t)+i}return R(y.call(y.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,J),"single",t)}function J(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+C.call(t.toString(16))}function j(e){return"Object("+e+")"}function z(e){return e+" { ? }"}function K(e,t,n,i){return e+" ("+t+") {"+(i?q(n,i):_.call(n,", "))+"}"}function q(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+_.call(e,","+n)+"\n"+t.prev}function $(e,t){var n=W(e),i=[];if(n){i.length=e.length;for(var o=0;o<e.length;o++)i[o]=H(e,o)?t(e[o],e):""}var r,a="function"==typeof E?E(e):[];if(w){r={};for(var s=0;s<a.length;s++)r["$"+a[s]]=a[s]}for(var c in e)H(e,c)&&(n&&String(Number(c))===c&&c<e.length||w&&r["$"+c]instanceof Symbol||(B.call(/[^\w$]/,c)?i.push(t(c,e)+": "+t(e[c],e)):i.push(c+": "+t(e[c],e))));if("function"==typeof E)for(var l=0;l<a.length;l++)x.call(e,a[l])&&i.push("["+t(a[l])+"]: "+t(e[a[l]],e));return i}},1794:function(e,t){var n,i,o;!function(r,a){"use strict";"object"==typeof e.exports?e.exports=a():(i=[],void 0===(o="function"==typeof(n=a)?n.apply(t,i):n)||(e.exports=o))}(0,(function(){"use strict";var e=Object.prototype.toString;function t(e,t){return null!=e&&Object.prototype.hasOwnProperty.call(e,t)}function n(e){if(!e)return!0;if(o(e)&&0===e.length)return!0;if("string"!=typeof e){for(var n in e)if(t(e,n))return!1;return!0}return!1}function i(t){return e.call(t)}var o=Array.isArray||function(t){return"[object Array]"===e.call(t)};function r(e){var t=parseInt(e);return t.toString()===e?t:e}function a(e){var a,s,c=function(e){return Object.keys(c).reduce((function(t,n){return"create"===n||"function"==typeof c[n]&&(t[n]=c[n].bind(c,e)),t}),{})};function l(e,t){if(a(e,t))return e[t]}function u(e,t,n,i){if("number"==typeof t&&(t=[t]),!t||0===t.length)return e;if("string"==typeof t)return u(e,t.split(".").map(r),n,i);var o=t[0],a=s(e,o);return 1===t.length?(void 0!==a&&i||(e[o]=n),a):(void 0===a&&("number"==typeof t[1]?e[o]=[]:e[o]={}),u(e[o],t.slice(1),n,i))}return a=(e=e||{}).includeInheritedProps?function(){return!0}:function(e,n){return"number"==typeof n&&Array.isArray(e)||t(e,n)},s=e.includeInheritedProps?function(e,t){"string"!=typeof t&&"number"!=typeof t&&(t=String(t));var n=l(e,t);if("__proto__"===t||"prototype"===t||"constructor"===t&&"function"==typeof n)throw new Error("For security reasons, object's magic properties cannot be set");return n}:function(e,t){return l(e,t)},c.has=function(n,i){if("number"==typeof i?i=[i]:"string"==typeof i&&(i=i.split(".")),!i||0===i.length)return!!n;for(var a=0;a<i.length;a++){var s=r(i[a]);if(!("number"==typeof s&&o(n)&&s<n.length||(e.includeInheritedProps?s in Object(n):t(n,s))))return!1;n=n[s]}return!0},c.ensureExists=function(e,t,n){return u(e,t,n,!0)},c.set=function(e,t,n,i){return u(e,t,n,i)},c.insert=function(e,t,n,i){var r=c.get(e,t);i=~~i,o(r)||(r=[],c.set(e,t,r)),r.splice(i,0,n)},c.empty=function(e,t){var r,s;if(!n(t)&&null!=e&&(r=c.get(e,t))){if("string"==typeof r)return c.set(e,t,"");if(function(e){return"boolean"==typeof e||"[object Boolean]"===i(e)}(r))return c.set(e,t,!1);if("number"==typeof r)return c.set(e,t,0);if(o(r))r.length=0;else{if(!function(e){return"object"==typeof e&&"[object Object]"===i(e)}(r))return c.set(e,t,null);for(s in r)a(r,s)&&delete r[s]}}},c.push=function(e,t){var n=c.get(e,t);o(n)||(n=[],c.set(e,t,n)),n.push.apply(n,Array.prototype.slice.call(arguments,2))},c.coalesce=function(e,t,n){for(var i,o=0,r=t.length;o<r;o++)if(void 0!==(i=c.get(e,t[o])))return i;return n},c.get=function(e,t,n){if("number"==typeof t&&(t=[t]),!t||0===t.length)return e;if(null==e)return n;if("string"==typeof t)return c.get(e,t.split("."),n);var i=r(t[0]),o=s(e,i);return void 0===o?n:1===t.length?o:c.get(e[i],t.slice(1),n)},c.del=function(e,t){if("number"==typeof t&&(t=[t]),null==e)return e;if(n(t))return e;if("string"==typeof t)return c.del(e,t.split("."));var i=r(t[0]);return s(e,i),a(e,i)?1!==t.length?c.del(e[i],t.slice(1)):(o(e)?e.splice(i,1):delete e[i],e):e},c}var s=a();return s.create=a,s.withInheritedProps=a({includeInheritedProps:!0}),s}))},5534:(e,t,n)=>{"use strict";function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},i.apply(this,arguments)}function o(e,t){return o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},o(e,t)}function r(e){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},r(e)}function a(e,t,n){return a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct.bind():function(e,t,n){var i=[null];i.push.apply(i,t);var r=new(Function.bind.apply(e,i));return n&&o(r,n.prototype),r},a.apply(null,arguments)}function s(e){var t="function"==typeof Map?new Map:void 0;return s=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return a(e,arguments,r(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),o(i,e)},s(e)}n.d(t,{e$:()=>T});var c=function(e){var t,n;function i(t){return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this)}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,o(t,n),i}(s(Error));function l(e){return Math.round(255*e)}function u(e,t,n){return l(e)+","+l(t)+","+l(n)}function d(e,t,n,i){if(void 0===i&&(i=u),0===t)return i(n,n,n);var o=(e%360+360)%360/60,r=(1-Math.abs(2*n-1))*t,a=r*(1-Math.abs(o%2-1)),s=0,c=0,l=0;o>=0&&o<1?(s=r,c=a):o>=1&&o<2?(s=a,c=r):o>=2&&o<3?(c=r,l=a):o>=3&&o<4?(c=a,l=r):o>=4&&o<5?(s=a,l=r):o>=5&&o<6&&(s=r,l=a);var d=n-r/2;return i(s+d,c+d,l+d)}var g={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},p=/^#[a-fA-F0-9]{6}$/,m=/^#[a-fA-F0-9]{8}$/,f=/^#[a-fA-F0-9]{3}$/,I=/^#[a-fA-F0-9]{4}$/,h=/^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i,b=/^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i,y=/^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,C=/^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;function v(e){if("string"!=typeof e)throw new c(3);var t=function(e){if("string"!=typeof e)return e;var t=e.toLowerCase();return g[t]?"#"+g[t]:e}(e);if(t.match(p))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(m)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(f))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(I)){var i=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:i}}var o=h.exec(t);if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10)};var r=b.exec(t.substring(0,50));if(r)return{red:parseInt(""+r[1],10),green:parseInt(""+r[2],10),blue:parseInt(""+r[3],10),alpha:parseFloat(""+r[4])>1?parseFloat(""+r[4])/100:parseFloat(""+r[4])};var a=y.exec(t);if(a){var s="rgb("+d(parseInt(""+a[1],10),parseInt(""+a[2],10)/100,parseInt(""+a[3],10)/100)+")",l=h.exec(s);if(!l)throw new c(4,t,s);return{red:parseInt(""+l[1],10),green:parseInt(""+l[2],10),blue:parseInt(""+l[3],10)}}var u=C.exec(t.substring(0,50));if(u){var v="rgb("+d(parseInt(""+u[1],10),parseInt(""+u[2],10)/100,parseInt(""+u[3],10)/100)+")",B=h.exec(v);if(!B)throw new c(4,t,v);return{red:parseInt(""+B[1],10),green:parseInt(""+B[2],10),blue:parseInt(""+B[3],10),alpha:parseFloat(""+u[4])>1?parseFloat(""+u[4])/100:parseFloat(""+u[4])}}throw new c(5)}var B=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e};function A(e){var t=e.toString(16);return 1===t.length?"0"+t:t}function _(e){return A(Math.round(255*e))}function S(e,t,n){return B("#"+_(e)+_(t)+_(n))}function G(e,t,n){return d(e,t,n,S)}function Q(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return B("#"+A(e)+A(t)+A(n));if("object"==typeof e&&void 0===t&&void 0===n)return B("#"+A(e.red)+A(e.green)+A(e.blue));throw new c(6)}function E(e){if("object"!=typeof e)throw new c(8);if(function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&"number"==typeof e.alpha}(e))return function(e,t,n,i){if("string"==typeof e&&"number"==typeof t){var o=v(e);return"rgba("+o.red+","+o.green+","+o.blue+","+t+")"}if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof i)return i>=1?Q(e,t,n):"rgba("+e+","+t+","+n+","+i+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===i)return e.alpha>=1?Q(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new c(7)}(e);if(function(e){return"number"==typeof e.red&&"number"==typeof e.green&&"number"==typeof e.blue&&("number"!=typeof e.alpha||void 0===e.alpha)}(e))return Q(e);if(function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&"number"==typeof e.alpha}(e))return function(e,t,n,i){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n&&"number"==typeof i)return i>=1?G(e,t,n):"rgba("+d(e,t,n)+","+i+")";if("object"==typeof e&&void 0===t&&void 0===n&&void 0===i)return e.alpha>=1?G(e.hue,e.saturation,e.lightness):"rgba("+d(e.hue,e.saturation,e.lightness)+","+e.alpha+")";throw new c(2)}(e);if(function(e){return"number"==typeof e.hue&&"number"==typeof e.saturation&&"number"==typeof e.lightness&&("number"!=typeof e.alpha||void 0===e.alpha)}(e))return function(e,t,n){if("number"==typeof e&&"number"==typeof t&&"number"==typeof n)return G(e,t,n);if("object"==typeof e&&void 0===t&&void 0===n)return G(e.hue,e.saturation,e.lightness);throw new c(1)}(e);throw new c(8)}function F(e,t,n){return function(){var i=n.concat(Array.prototype.slice.call(arguments));return i.length>=t?e.apply(this,i):F(e,t,i)}}function w(e,t,n){return Math.max(e,Math.min(t,n))}var T=function(e){return F(e,e.length,[])}((function(e,t){if("transparent"===t)return t;var n=function(e){return function(e){var t,n=e.red/255,i=e.green/255,o=e.blue/255,r=Math.max(n,i,o),a=Math.min(n,i,o),s=(r+a)/2;if(r===a)return void 0!==e.alpha?{hue:0,saturation:0,lightness:s,alpha:e.alpha}:{hue:0,saturation:0,lightness:s};var c=r-a,l=s>.5?c/(2-r-a):c/(r+a);switch(r){case n:t=(i-o)/c+(i<o?6:0);break;case i:t=(o-n)/c+2;break;default:t=(n-i)/c+4}return t*=60,void 0!==e.alpha?{hue:t,saturation:l,lightness:s,alpha:e.alpha}:{hue:t,saturation:l,lightness:s}}(v(e))}(t);return E(i({},n,{lightness:w(0,1,n.lightness-parseFloat(e))}))}))},2694:(e,t,n)=>{"use strict";var i=n(6925);function o(){}function r(){}r.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,r,a){if(a!==i){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:o};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},7290:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>G});var i,o=n(5927),r=n.n(o),a=Object.defineProperty,s=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,u=(e,t,n)=>t in e?a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,d=(e,t)=>{for(var n in t||(t={}))c.call(t,n)&&u(e,n,t[n]);if(s)for(var n of s(t))l.call(t,n)&&u(e,n,t[n]);return e},g=(e,t)=>{var n={};for(var i in e)c.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&s)for(var i of s(e))t.indexOf(i)<0&&l.call(e,i)&&(n[i]=e[i]);return n};(e=>{const t=class{constructor(e,n,i,o){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw new RangeError("Version value out of range");if(o<-1||o>7)throw new RangeError("Mask value out of range");this.size=4*e+17;let a=[];for(let t=0;t<this.size;t++)a.push(!1);for(let t=0;t<this.size;t++)this.modules.push(a.slice()),this.isFunction.push(a.slice());this.drawFunctionPatterns();const s=this.addEccAndInterleave(i);if(this.drawCodewords(s),-1==o){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);const n=this.getPenaltyScore();n<e&&(o=t,e=n),this.applyMask(t)}}r(0<=o&&o<=7),this.mask=o,this.applyMask(o),this.drawFormatBits(o),this.isFunction=[]}static encodeText(n,i){const o=e.QrSegment.makeSegments(n);return t.encodeSegments(o,i)}static encodeBinary(n,i){const o=e.QrSegment.makeBytes(n);return t.encodeSegments([o],i)}static encodeSegments(e,n,o=1,a=40,c=-1,l=!0){if(!(t.MIN_VERSION<=o&&o<=a&&a<=t.MAX_VERSION)||c<-1||c>7)throw new RangeError("Invalid value");let u,d;for(u=o;;u++){const i=8*t.getNumDataCodewords(u,n),o=s.getTotalBits(e,u);if(o<=i){d=o;break}if(u>=a)throw new RangeError("Data too long")}for(const i of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=8*t.getNumDataCodewords(u,i)&&(n=i);let g=[];for(const t of e){i(t.mode.modeBits,4,g),i(t.numChars,t.mode.numCharCountBits(u),g);for(const e of t.getData())g.push(e)}r(g.length==d);const p=8*t.getNumDataCodewords(u,n);r(g.length<=p),i(0,Math.min(4,p-g.length),g),i(0,(8-g.length%8)%8,g),r(g.length%8==0);for(let t=236;g.length<p;t^=253)i(t,8,g);let m=[];for(;8*m.length<g.length;)m.push(0);return g.forEach(((e,t)=>m[t>>>3]|=e<<7-(7&t))),new t(u,n,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let n=0;n<this.size;n++)this.setFunctionModule(6,n,n%2==0),this.setFunctionModule(n,6,n%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);const e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let i=0;i<t;i++)0==n&&0==i||0==n&&i==t-1||n==t-1&&0==i||this.drawAlignmentPattern(e[n],e[i]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){const t=this.errorCorrectionLevel.formatBits<<3|e;let n=t;for(let o=0;o<10;o++)n=n<<1^1335*(n>>>9);const i=21522^(t<<10|n);r(i>>>15==0);for(let r=0;r<=5;r++)this.setFunctionModule(8,r,o(i,r));this.setFunctionModule(8,7,o(i,6)),this.setFunctionModule(8,8,o(i,7)),this.setFunctionModule(7,8,o(i,8));for(let r=9;r<15;r++)this.setFunctionModule(14-r,8,o(i,r));for(let r=0;r<8;r++)this.setFunctionModule(this.size-1-r,8,o(i,r));for(let r=8;r<15;r++)this.setFunctionModule(8,this.size-15+r,o(i,r));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let n=0;n<12;n++)e=e<<1^7973*(e>>>11);const t=this.version<<12|e;r(t>>>18==0);for(let n=0;n<18;n++){const e=o(t,n),i=this.size-11+n%3,r=Math.floor(n/3);this.setFunctionModule(i,r,e),this.setFunctionModule(r,i,e)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let i=-4;i<=4;i++){const o=Math.max(Math.abs(i),Math.abs(n)),r=e+i,a=t+n;0<=r&&r<this.size&&0<=a&&a<this.size&&this.setFunctionModule(r,a,2!=o&&4!=o)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let i=-2;i<=2;i++)this.setFunctionModule(e+i,t+n,1!=Math.max(Math.abs(i),Math.abs(n)))}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){const n=this.version,i=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,i))throw new RangeError("Invalid argument");const o=t.NUM_ERROR_CORRECTION_BLOCKS[i.ordinal][n],a=t.ECC_CODEWORDS_PER_BLOCK[i.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=o-s%o,l=Math.floor(s/o);let u=[];const d=t.reedSolomonComputeDivisor(a);for(let r=0,p=0;r<o;r++){let n=e.slice(p,p+l-a+(r<c?0:1));p+=n.length;const i=t.reedSolomonComputeRemainder(n,d);r<c&&n.push(0),u.push(n.concat(i))}let g=[];for(let t=0;t<u[0].length;t++)u.forEach(((e,n)=>{(t!=l-a||n>=c)&&g.push(e[t])}));return r(g.length==s),g}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");let n=0;for(let t=this.size-1;t>=1;t-=2){6==t&&(t=5);for(let i=0;i<this.size;i++)for(let r=0;r<2;r++){const a=t-r,s=t+1&2?i:this.size-1-i;!this.isFunction[s][a]&&n<8*e.length&&(this.modules[s][a]=o(e[n>>>3],7-(7&n)),n++)}}r(n==8*e.length)}applyMask(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let i;switch(e){case 0:i=(n+t)%2==0;break;case 1:i=t%2==0;break;case 2:i=n%3==0;break;case 3:i=(n+t)%3==0;break;case 4:i=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:i=n*t%2+n*t%3==0;break;case 6:i=(n*t%2+n*t%3)%2==0;break;case 7:i=((n+t)%2+n*t%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[t][n]&&i&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let r=0;r<this.size;r++){let n=!1,i=0,o=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[r][a]==n?(i++,5==i?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,o),n||(e+=this.finderPenaltyCountPatterns(o)*t.PENALTY_N3),n=this.modules[r][a],i=1);e+=this.finderPenaltyTerminateAndCount(n,i,o)*t.PENALTY_N3}for(let r=0;r<this.size;r++){let n=!1,i=0,o=[0,0,0,0,0,0,0];for(let a=0;a<this.size;a++)this.modules[a][r]==n?(i++,5==i?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,o),n||(e+=this.finderPenaltyCountPatterns(o)*t.PENALTY_N3),n=this.modules[a][r],i=1);e+=this.finderPenaltyTerminateAndCount(n,i,o)*t.PENALTY_N3}for(let r=0;r<this.size-1;r++)for(let n=0;n<this.size-1;n++){const i=this.modules[r][n];i==this.modules[r][n+1]&&i==this.modules[r+1][n]&&i==this.modules[r+1][n+1]&&(e+=t.PENALTY_N2)}let n=0;for(const t of this.modules)n=t.reduce(((e,t)=>e+(t?1:0)),n);const i=this.size*this.size,o=Math.ceil(Math.abs(20*n-10*i)/i)-1;return r(0<=o&&o<=9),e+=o*t.PENALTY_N4,r(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(1==this.version)return[];{const e=Math.floor(this.version/7)+2,t=32==this.version?26:2*Math.ceil((4*this.version+4)/(2*e-2));let n=[6];for(let i=this.size-7;n.length<e;i-=t)n.splice(1,0,i);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw new RangeError("Version number out of range");let n=(16*e+128)*e+64;if(e>=2){const t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return r(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw new RangeError("Degree out of range");let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let i=1;for(let o=0;o<e;o++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],i),e+1<n.length&&(n[e]^=n[e+1]);i=t.reedSolomonMultiply(i,2)}return n}static reedSolomonComputeRemainder(e,n){let i=n.map((e=>0));for(const o of e){const e=o^i.shift();i.push(0),n.forEach(((n,o)=>i[o]^=t.reedSolomonMultiply(n,e)))}return i}static reedSolomonMultiply(e,t){if(e>>>8!=0||t>>>8!=0)throw new RangeError("Byte out of range");let n=0;for(let i=7;i>=0;i--)n=n<<1^285*(n>>>7),n^=(t>>>i&1)*e;return r(n>>>8==0),n}finderPenaltyCountPatterns(e){const t=e[1];r(t<=3*this.size);const n=t>0&&e[2]==t&&e[3]==3*t&&e[4]==t&&e[5]==t;return(n&&e[0]>=4*t&&e[6]>=t?1:0)+(n&&e[6]>=4*t&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){0==t[0]&&(e+=this.size),t.pop(),t.unshift(e)}};let n=t;function i(e,t,n){if(t<0||t>31||e>>>t!=0)throw new RangeError("Value out of range");for(let i=t-1;i>=0;i--)n.push(e>>>i&1)}function o(e,t){return!!(e>>>t&1)}function r(e){if(!e)throw new Error("Assertion error")}n.MIN_VERSION=1,n.MAX_VERSION=40,n.PENALTY_N1=3,n.PENALTY_N2=3,n.PENALTY_N3=40,n.PENALTY_N4=10,n.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],n.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=n;const a=class{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw new RangeError("Invalid argument");this.bitData=n.slice()}static makeBytes(e){let t=[];for(const n of e)i(n,8,t);return new a(a.Mode.BYTE,e.length,t)}static makeNumeric(e){if(!a.isNumeric(e))throw new RangeError("String contains non-numeric characters");let t=[];for(let n=0;n<e.length;){const o=Math.min(e.length-n,3);i(parseInt(e.substr(n,o),10),3*o+1,t),n+=o}return new a(a.Mode.NUMERIC,e.length,t)}static makeAlphanumeric(e){if(!a.isAlphanumeric(e))throw new RangeError("String contains unencodable characters in alphanumeric mode");let t,n=[];for(t=0;t+2<=e.length;t+=2){let o=45*a.ALPHANUMERIC_CHARSET.indexOf(e.charAt(t));o+=a.ALPHANUMERIC_CHARSET.indexOf(e.charAt(t+1)),i(o,11,n)}return t<e.length&&i(a.ALPHANUMERIC_CHARSET.indexOf(e.charAt(t)),6,n),new a(a.Mode.ALPHANUMERIC,e.length,n)}static makeSegments(e){return""==e?[]:a.isNumeric(e)?[a.makeNumeric(e)]:a.isAlphanumeric(e)?[a.makeAlphanumeric(e)]:[a.makeBytes(a.toUtf8ByteArray(e))]}static makeEci(e){let t=[];if(e<0)throw new RangeError("ECI assignment value out of range");if(e<128)i(e,8,t);else if(e<16384)i(2,2,t),i(e,14,t);else{if(!(e<1e6))throw new RangeError("ECI assignment value out of range");i(6,3,t),i(e,21,t)}return new a(a.Mode.ECI,0,t)}static isNumeric(e){return a.NUMERIC_REGEX.test(e)}static isAlphanumeric(e){return a.ALPHANUMERIC_REGEX.test(e)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(const i of e){const e=i.mode.numCharCountBits(t);if(i.numChars>=1<<e)return 1/0;n+=4+e+i.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)"%"!=e.charAt(n)?t.push(e.charCodeAt(n)):(t.push(parseInt(e.substr(n+1,2),16)),n+=2);return t}};let s=a;s.NUMERIC_REGEX=/^[0-9]*$/,s.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,s.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",e.QrSegment=s})(i||(i={})),(e=>{let t;(e=>{const t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};let n=t;n.LOW=new t(0,1),n.MEDIUM=new t(1,0),n.QUARTILE=new t(2,3),n.HIGH=new t(3,2),e.Ecc=n})(t=e.QrCode||(e.QrCode={}))})(i||(i={})),(e=>{let t;(e=>{const t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};let n=t;n.NUMERIC=new t(1,[10,12,14]),n.ALPHANUMERIC=new t(2,[9,11,13]),n.BYTE=new t(4,[8,16,16]),n.KANJI=new t(8,[8,10,12]),n.ECI=new t(7,[0,0,0]),e.Mode=n})(t=e.QrSegment||(e.QrSegment={}))})(i||(i={}));var p=i,m={L:p.QrCode.Ecc.LOW,M:p.QrCode.Ecc.MEDIUM,Q:p.QrCode.Ecc.QUARTILE,H:p.QrCode.Ecc.HIGH},f=128,I="L",h="#FFFFFF",b="#000000",y=!1;
/**
 * @license qrcode.react
 * Copyright (c) Paul O'Shannessy
 * SPDX-License-Identifier: ISC
 */function C(e,t=0){const n=[];return e.forEach((function(e,i){let o=null;e.forEach((function(r,a){if(!r&&null!==o)return n.push(`M${o+t} ${i+t}h${a-o}v1H${o+t}z`),void(o=null);if(a!==e.length-1)r&&null===o&&(o=a);else{if(!r)return;null===o?n.push(`M${a+t},${i+t} h1v1H${a+t}z`):n.push(`M${o+t},${i+t} h${a+1-o}v1H${o+t}z`)}}))})),n.join("")}function v(e,t){return e.slice().map(((e,n)=>n<t.y||n>=t.y+t.h?e:e.map(((e,n)=>(n<t.x||n>=t.x+t.w)&&e))))}function B(e,t,n,i){if(null==i)return null;const o=n?4:0,r=e.length+2*o,a=Math.floor(.1*t),s=r/t,c=(i.width||a)*s,l=(i.height||a)*s,u=null==i.x?e.length/2-c/2:i.x*s,d=null==i.y?e.length/2-l/2:i.y*s;let g=null;if(i.excavate){let e=Math.floor(u),t=Math.floor(d);g={x:e,y:t,w:Math.ceil(c+u-e),h:Math.ceil(l+d-t)}}return{x:u,y:d,h:l,w:c,excavation:g}}var A=function(){try{(new Path2D).addPath(new Path2D)}catch(e){return!1}return!0}();function _(e){const t=e,{value:n,size:i=f,level:a=I,bgColor:s=h,fgColor:c=b,includeMargin:l=y,style:u,imageSettings:_}=t,S=g(t,["value","size","level","bgColor","fgColor","includeMargin","style","imageSettings"]),G=null==_?void 0:_.src,Q=(0,o.useRef)(null),E=(0,o.useRef)(null),[F,w]=(0,o.useState)(!1);(0,o.useEffect)((()=>{if(null!=Q.current){const e=Q.current,t=e.getContext("2d");if(!t)return;let o=p.QrCode.encodeText(n,m[a]).getModules();const r=l?4:0,u=o.length+2*r,d=B(o,i,l,_),g=E.current,f=null!=d&&null!==g&&g.complete&&0!==g.naturalHeight&&0!==g.naturalWidth;f&&null!=d.excavation&&(o=v(o,d.excavation));const I=window.devicePixelRatio||1;e.height=e.width=i*I;const h=i/u*I;t.scale(h,h),t.fillStyle=s,t.fillRect(0,0,u,u),t.fillStyle=c,A?t.fill(new Path2D(C(o,r))):o.forEach((function(e,n){e.forEach((function(e,i){e&&t.fillRect(i+r,n+r,1,1)}))})),f&&t.drawImage(g,d.x+r,d.y+r,d.w,d.h)}})),(0,o.useEffect)((()=>{w(!1)}),[G]);const T=d({height:i,width:i},u);let x=null;return null!=G&&(x=r().createElement("img",{src:G,key:G,style:{display:"none"},onLoad:()=>{w(!0)},ref:E})),r().createElement(r().Fragment,null,r().createElement("canvas",d({style:T,height:i,width:i,ref:Q},S)),x)}function S(e){const t=e,{value:n,size:i=f,level:o=I,bgColor:a=h,fgColor:s=b,includeMargin:c=y,imageSettings:l}=t,u=g(t,["value","size","level","bgColor","fgColor","includeMargin","imageSettings"]);let A=p.QrCode.encodeText(n,m[o]).getModules();const _=c?4:0,S=A.length+2*_,G=B(A,i,c,l);let Q=null;null!=l&&null!=G&&(null!=G.excavation&&(A=v(A,G.excavation)),Q=r().createElement("image",{xlinkHref:l.src,height:G.h,width:G.w,x:G.x+_,y:G.y+_,preserveAspectRatio:"none"}));const E=C(A,_);return r().createElement("svg",d({height:i,width:i,viewBox:`0 0 ${S} ${S}`},u),r().createElement("path",{fill:a,d:`M0,0 h${S}v${S}H0z`,shapeRendering:"crispEdges"}),r().createElement("path",{fill:s,d:E,shapeRendering:"crispEdges"}),Q)}var G=e=>{const t=e,{renderAs:n}=t,i=g(t,["renderAs"]);return"svg"===n?r().createElement(S,d({},i)):r().createElement(_,d({},i))}},4765:e=>{"use strict";var t=String.prototype.replace,n=/%20/g,i="RFC3986";e.exports={default:i,formatters:{RFC1738:function(e){return t.call(e,n,"+")},RFC3986:function(e){return String(e)}},RFC1738:"RFC1738",RFC3986:i}},5373:(e,t,n)=>{"use strict";var i=n(8636),o=n(2642),r=n(4765);e.exports={formats:r,parse:o,stringify:i}},2642:(e,t,n)=>{"use strict";var i=n(7720),o=Object.prototype.hasOwnProperty,r=Array.isArray,a={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:i.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},s=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},c=function(e,t){return e&&"string"==typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},l=function(e,t,n,i){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,s=n.depth>0&&/(\[[^[\]]*])/.exec(r),l=s?r.slice(0,s.index):r,u=[];if(l){if(!n.plainObjects&&o.call(Object.prototype,l)&&!n.allowPrototypes)return;u.push(l)}for(var d=0;n.depth>0&&null!==(s=a.exec(r))&&d<n.depth;){if(d+=1,!n.plainObjects&&o.call(Object.prototype,s[1].slice(1,-1))&&!n.allowPrototypes)return;u.push(s[1])}return s&&u.push("["+r.slice(s.index)+"]"),function(e,t,n,i){for(var o=i?t:c(t,n),r=e.length-1;r>=0;--r){var a,s=e[r];if("[]"===s&&n.parseArrays)a=[].concat(o);else{a=n.plainObjects?Object.create(null):{};var l="["===s.charAt(0)&&"]"===s.charAt(s.length-1)?s.slice(1,-1):s,u=parseInt(l,10);n.parseArrays||""!==l?!isNaN(u)&&s!==l&&String(u)===l&&u>=0&&n.parseArrays&&u<=n.arrayLimit?(a=[])[u]=o:"__proto__"!==l&&(a[l]=o):a={0:o}}o=a}return o}(u,t,n,i)}};e.exports=function(e,t){var n=function(e){if(!e)return a;if(null!==e.decoder&&void 0!==e.decoder&&"function"!=typeof e.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t=void 0===e.charset?a.charset:e.charset;return{allowDots:void 0===e.allowDots?a.allowDots:!!e.allowDots,allowPrototypes:"boolean"==typeof e.allowPrototypes?e.allowPrototypes:a.allowPrototypes,allowSparse:"boolean"==typeof e.allowSparse?e.allowSparse:a.allowSparse,arrayLimit:"number"==typeof e.arrayLimit?e.arrayLimit:a.arrayLimit,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:a.charsetSentinel,comma:"boolean"==typeof e.comma?e.comma:a.comma,decoder:"function"==typeof e.decoder?e.decoder:a.decoder,delimiter:"string"==typeof e.delimiter||i.isRegExp(e.delimiter)?e.delimiter:a.delimiter,depth:"number"==typeof e.depth||!1===e.depth?+e.depth:a.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof e.interpretNumericEntities?e.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"==typeof e.parameterLimit?e.parameterLimit:a.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"==typeof e.plainObjects?e.plainObjects:a.plainObjects,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:a.strictNullHandling}}(t);if(""===e||null==e)return n.plainObjects?Object.create(null):{};for(var u="string"==typeof e?function(e,t){var n,l={__proto__:null},u=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,d=t.parameterLimit===1/0?void 0:t.parameterLimit,g=u.split(t.delimiter,d),p=-1,m=t.charset;if(t.charsetSentinel)for(n=0;n<g.length;++n)0===g[n].indexOf("utf8=")&&("utf8=%E2%9C%93"===g[n]?m="utf-8":"utf8=%26%2310003%3B"===g[n]&&(m="iso-8859-1"),p=n,n=g.length);for(n=0;n<g.length;++n)if(n!==p){var f,I,h=g[n],b=h.indexOf("]="),y=-1===b?h.indexOf("="):b+1;-1===y?(f=t.decoder(h,a.decoder,m,"key"),I=t.strictNullHandling?null:""):(f=t.decoder(h.slice(0,y),a.decoder,m,"key"),I=i.maybeMap(c(h.slice(y+1),t),(function(e){return t.decoder(e,a.decoder,m,"value")}))),I&&t.interpretNumericEntities&&"iso-8859-1"===m&&(I=s(I)),h.indexOf("[]=")>-1&&(I=r(I)?[I]:I),o.call(l,f)?l[f]=i.combine(l[f],I):l[f]=I}return l}(e,n):e,d=n.plainObjects?Object.create(null):{},g=Object.keys(u),p=0;p<g.length;++p){var m=g[p],f=l(m,u[m],n,"string"==typeof e);d=i.merge(d,f,n)}return!0===n.allowSparse?d:i.compact(d)}},8636:(e,t,n)=>{"use strict";var i=n(920),o=n(7720),r=n(4765),a=Object.prototype.hasOwnProperty,s={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},c=Array.isArray,l=Array.prototype.push,u=function(e,t){l.apply(e,c(t)?t:[t])},d=Date.prototype.toISOString,g=r.default,p={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:o.encode,encodeValuesOnly:!1,format:g,formatter:r.formatters[g],indices:!1,serializeDate:function(e){return d.call(e)},skipNulls:!1,strictNullHandling:!1},m={},f=function e(t,n,r,a,s,l,d,g,f,I,h,b,y,C,v,B){for(var A,_=t,S=B,G=0,Q=!1;void 0!==(S=S.get(m))&&!Q;){var E=S.get(t);if(G+=1,void 0!==E){if(E===G)throw new RangeError("Cyclic object value");Q=!0}void 0===S.get(m)&&(G=0)}if("function"==typeof g?_=g(n,_):_ instanceof Date?_=h(_):"comma"===r&&c(_)&&(_=o.maybeMap(_,(function(e){return e instanceof Date?h(e):e}))),null===_){if(s)return d&&!C?d(n,p.encoder,v,"key",b):n;_=""}if("string"==typeof(A=_)||"number"==typeof A||"boolean"==typeof A||"symbol"==typeof A||"bigint"==typeof A||o.isBuffer(_))return d?[y(C?n:d(n,p.encoder,v,"key",b))+"="+y(d(_,p.encoder,v,"value",b))]:[y(n)+"="+y(String(_))];var F,w=[];if(void 0===_)return w;if("comma"===r&&c(_))C&&d&&(_=o.maybeMap(_,d)),F=[{value:_.length>0?_.join(",")||null:void 0}];else if(c(g))F=g;else{var T=Object.keys(_);F=f?T.sort(f):T}for(var x=a&&c(_)&&1===_.length?n+"[]":n,k=0;k<F.length;++k){var N=F[k],O="object"==typeof N&&void 0!==N.value?N.value:_[N];if(!l||null!==O){var Z=c(_)?"function"==typeof r?r(x,N):x:x+(I?"."+N:"["+N+"]");B.set(t,G);var U=i();U.set(m,B),u(w,e(O,Z,r,a,s,l,"comma"===r&&C&&c(_)?null:d,g,f,I,h,b,y,C,v,U))}}return w};e.exports=function(e,t){var n,o=e,l=function(e){if(!e)return p;if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||p.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var n=r.default;if(void 0!==e.format){if(!a.call(r.formatters,e.format))throw new TypeError("Unknown format option provided.");n=e.format}var i=r.formatters[n],o=p.filter;return("function"==typeof e.filter||c(e.filter))&&(o=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:p.addQueryPrefix,allowDots:void 0===e.allowDots?p.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:p.charsetSentinel,delimiter:void 0===e.delimiter?p.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:p.encode,encoder:"function"==typeof e.encoder?e.encoder:p.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:p.encodeValuesOnly,filter:o,format:n,formatter:i,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:p.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:p.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:p.strictNullHandling}}(t);"function"==typeof l.filter?o=(0,l.filter)("",o):c(l.filter)&&(n=l.filter);var d,g=[];if("object"!=typeof o||null===o)return"";d=t&&t.arrayFormat in s?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices";var m=s[d];if(t&&"commaRoundTrip"in t&&"boolean"!=typeof t.commaRoundTrip)throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var I="comma"===m&&t&&t.commaRoundTrip;n||(n=Object.keys(o)),l.sort&&n.sort(l.sort);for(var h=i(),b=0;b<n.length;++b){var y=n[b];l.skipNulls&&null===o[y]||u(g,f(o[y],y,m,I,l.strictNullHandling,l.skipNulls,l.encode?l.encoder:null,l.filter,l.sort,l.allowDots,l.serializeDate,l.format,l.formatter,l.encodeValuesOnly,l.charset,h))}var C=g.join(l.delimiter),v=!0===l.addQueryPrefix?"?":"";return l.charsetSentinel&&("iso-8859-1"===l.charset?v+="utf8=%26%2310003%3B&":v+="utf8=%E2%9C%93&"),C.length>0?v+C:""}},7720:(e,t,n)=>{"use strict";var i=n(4765),o=Object.prototype.hasOwnProperty,r=Array.isArray,a=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),s=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},i=0;i<e.length;++i)void 0!==e[i]&&(n[i]=e[i]);return n};e.exports={arrayToObject:s,assign:function(e,t){return Object.keys(t).reduce((function(e,n){return e[n]=t[n],e}),e)},combine:function(e,t){return[].concat(e,t)},compact:function(e){for(var t=[{obj:{o:e},prop:"o"}],n=[],i=0;i<t.length;++i)for(var o=t[i],a=o.obj[o.prop],s=Object.keys(a),c=0;c<s.length;++c){var l=s[c],u=a[l];"object"==typeof u&&null!==u&&-1===n.indexOf(u)&&(t.push({obj:a,prop:l}),n.push(u))}return function(e){for(;e.length>1;){var t=e.pop(),n=t.obj[t.prop];if(r(n)){for(var i=[],o=0;o<n.length;++o)void 0!==n[o]&&i.push(n[o]);t.obj[t.prop]=i}}}(t),e},decode:function(e,t,n){var i=e.replace(/\+/g," ");if("iso-8859-1"===n)return i.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(i)}catch(o){return i}},encode:function(e,t,n,o,r){if(0===e.length)return e;var s=e;if("symbol"==typeof e?s=Symbol.prototype.toString.call(e):"string"!=typeof e&&(s=String(e)),"iso-8859-1"===n)return escape(s).replace(/%u[0-9a-f]{4}/gi,(function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"}));for(var c="",l=0;l<s.length;++l){var u=s.charCodeAt(l);45===u||46===u||95===u||126===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||r===i.RFC1738&&(40===u||41===u)?c+=s.charAt(l):u<128?c+=a[u]:u<2048?c+=a[192|u>>6]+a[128|63&u]:u<55296||u>=57344?c+=a[224|u>>12]+a[128|u>>6&63]+a[128|63&u]:(l+=1,u=65536+((1023&u)<<10|1023&s.charCodeAt(l)),c+=a[240|u>>18]+a[128|u>>12&63]+a[128|u>>6&63]+a[128|63&u])}return c},isBuffer:function(e){return!(!e||"object"!=typeof e||!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e)))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(r(e)){for(var n=[],i=0;i<e.length;i+=1)n.push(t(e[i]));return n}return t(e)},merge:function e(t,n,i){if(!n)return t;if("object"!=typeof n){if(r(t))t.push(n);else{if(!t||"object"!=typeof t)return[t,n];(i&&(i.plainObjects||i.allowPrototypes)||!o.call(Object.prototype,n))&&(t[n]=!0)}return t}if(!t||"object"!=typeof t)return[t].concat(n);var a=t;return r(t)&&!r(n)&&(a=s(t,i)),r(t)&&r(n)?(n.forEach((function(n,r){if(o.call(t,r)){var a=t[r];a&&"object"==typeof a&&n&&"object"==typeof n?t[r]=e(a,n,i):t.push(n)}else t[r]=n})),t):Object.keys(n).reduce((function(t,r){var a=n[r];return o.call(t,r)?t[r]=e(t[r],a,i):t[r]=a,t}),a)}}},9123:(e,t,n)=>{"use strict";n.d(t,{G3:()=>g,NF:()=>z});var i,o=n(5927),r=n.n(o),a=function(){return a=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},a.apply(this,arguments)},s=function(e,t){(function(e){var t;e?function(e){if(e)for(;e.lastChild;)e.lastChild.remove()}("string"==typeof e?document.getElementById(e):e):(t=document.querySelector(".grecaptcha-badge"))&&t.parentNode&&document.body.removeChild(t.parentNode)})(t),window.___grecaptcha_cfg=void 0;var n=document.querySelector("#"+e);n&&n.remove(),function(){var e=document.querySelector('script[src^="https://www.gstatic.com/recaptcha/releases"]');e&&e.remove()}()},c=function(e){var t=e.render,n=e.onLoadCallbackName,i=e.language,o=e.onLoad,r=e.useRecaptchaNet,a=e.useEnterprise,s=e.scriptProps,c=void 0===s?{}:s,l=c.nonce,u=void 0===l?"":l,d=c.defer,g=void 0!==d&&d,p=c.async,m=void 0!==p&&p,f=c.id,I=void 0===f?"":f,h=c.appendTo,b=I||"google-recaptcha-v3";if(function(e){return!!document.querySelector("#"+e)}(b))o();else{var y=function(e){return"https://www."+(e.useRecaptchaNet?"recaptcha.net":"google.com")+"/recaptcha/"+(e.useEnterprise?"enterprise.js":"api.js")}({useEnterprise:a,useRecaptchaNet:r}),C=document.createElement("script");C.id=b,C.src=y+"?render="+t+("explicit"===t?"&onload="+n:"")+(i?"&hl="+i:""),u&&(C.nonce=u),C.defer=!!g,C.async=!!m,C.onload=o,("body"===h?document.body:document.getElementsByTagName("head")[0]).appendChild(C)}},l=function(e){"undefined"!=typeof process&&process.env,console.warn(e)};!function(e){e.SCRIPT_NOT_AVAILABLE="Recaptcha script is not available"}(i||(i={}));var u=(0,o.createContext)({executeRecaptcha:function(){throw Error("GoogleReCaptcha Context has not yet been implemented, if you are using useGoogleReCaptcha hook, make sure the hook is called inside component wrapped by GoogleRecaptchaProvider")}}),d=u.Consumer;function g(e){var t=e.reCaptchaKey,n=e.useEnterprise,d=void 0!==n&&n,g=e.useRecaptchaNet,p=void 0!==g&&g,m=e.scriptProps,f=e.language,I=e.container,h=e.children,b=(0,o.useState)(null),y=b[0],C=b[1],v=(0,o.useRef)(t),B=JSON.stringify(m),A=JSON.stringify(null==I?void 0:I.parameters);(0,o.useEffect)((function(){if(t){var e=(null==m?void 0:m.id)||"google-recaptcha-v3",n=(null==m?void 0:m.onLoadCallbackName)||"onRecaptchaLoadCallback";return window[n]=function(){var e=d?window.grecaptcha.enterprise:window.grecaptcha,n=a({badge:"inline",size:"invisible",sitekey:t},(null==I?void 0:I.parameters)||{});v.current=e.render(null==I?void 0:I.element,n)},c({render:(null==I?void 0:I.element)?"explicit":t,onLoadCallbackName:n,useEnterprise:d,useRecaptchaNet:p,scriptProps:m,language:f,onLoad:function(){if(window&&window.grecaptcha){var e=d?window.grecaptcha.enterprise:window.grecaptcha;e.ready((function(){C(e)}))}else l("<GoogleRecaptchaProvider /> "+i.SCRIPT_NOT_AVAILABLE)},onError:function(){l("Error loading google recaptcha script")}}),function(){s(e,null==I?void 0:I.element)}}l("<GoogleReCaptchaProvider /> recaptcha key not provided")}),[d,p,B,A,f,t,null==I?void 0:I.element]);var _=(0,o.useCallback)((function(e){if(!y||!y.execute)throw new Error("<GoogleReCaptchaProvider /> Google Recaptcha has not been loaded");return y.execute(v.current,{action:e})}),[y,v]),S=(0,o.useMemo)((function(){return{executeRecaptcha:y?_:void 0,container:null==I?void 0:I.element}}),[_,y,null==I?void 0:I.element]);return r().createElement(u.Provider,{value:S},h)}function p(e,t){return e(t={exports:{}},t.exports),t.exports
/** @license React v16.13.1
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */}var m="function"==typeof Symbol&&Symbol.for,f=m?Symbol.for("react.element"):60103,I=m?Symbol.for("react.portal"):60106,h=m?Symbol.for("react.fragment"):60107,b=m?Symbol.for("react.strict_mode"):60108,y=m?Symbol.for("react.profiler"):60114,C=m?Symbol.for("react.provider"):60109,v=m?Symbol.for("react.context"):60110,B=m?Symbol.for("react.async_mode"):60111,A=m?Symbol.for("react.concurrent_mode"):60111,_=m?Symbol.for("react.forward_ref"):60112,S=m?Symbol.for("react.suspense"):60113,G=m?Symbol.for("react.suspense_list"):60120,Q=m?Symbol.for("react.memo"):60115,E=m?Symbol.for("react.lazy"):60116,F=m?Symbol.for("react.block"):60121,w=m?Symbol.for("react.fundamental"):60117,T=m?Symbol.for("react.responder"):60118,x=m?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case f:switch(e=e.type){case B:case A:case h:case y:case b:case S:return e;default:switch(e=e&&e.$$typeof){case v:case _:case E:case Q:case C:return e;default:return t}}case I:return t}}}function N(e){return k(e)===A}var O={AsyncMode:B,ConcurrentMode:A,ContextConsumer:v,ContextProvider:C,Element:f,ForwardRef:_,Fragment:h,Lazy:E,Memo:Q,Portal:I,Profiler:y,StrictMode:b,Suspense:S,isAsyncMode:function(e){return N(e)||k(e)===B},isConcurrentMode:N,isContextConsumer:function(e){return k(e)===v},isContextProvider:function(e){return k(e)===C},isElement:function(e){return"object"==typeof e&&null!==e&&e.$$typeof===f},isForwardRef:function(e){return k(e)===_},isFragment:function(e){return k(e)===h},isLazy:function(e){return k(e)===E},isMemo:function(e){return k(e)===Q},isPortal:function(e){return k(e)===I},isProfiler:function(e){return k(e)===y},isStrictMode:function(e){return k(e)===b},isSuspense:function(e){return k(e)===S},isValidElementType:function(e){return"string"==typeof e||"function"==typeof e||e===h||e===A||e===y||e===b||e===S||e===G||"object"==typeof e&&null!==e&&(e.$$typeof===E||e.$$typeof===Q||e.$$typeof===C||e.$$typeof===v||e.$$typeof===_||e.$$typeof===w||e.$$typeof===T||e.$$typeof===x||e.$$typeof===F)},typeOf:k},Z=p((function(e,t){})),U=(Z.AsyncMode,Z.ConcurrentMode,Z.ContextConsumer,Z.ContextProvider,Z.Element,Z.ForwardRef,Z.Fragment,Z.Lazy,Z.Memo,Z.Portal,Z.Profiler,Z.StrictMode,Z.Suspense,Z.isAsyncMode,Z.isConcurrentMode,Z.isContextConsumer,Z.isContextProvider,Z.isElement,Z.isForwardRef,Z.isFragment,Z.isLazy,Z.isMemo,Z.isPortal,Z.isProfiler,Z.isStrictMode,Z.isSuspense,Z.isValidElementType,Z.typeOf,p((function(e){e.exports=O}))),R={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},X={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},W={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},V={};function P(e){return U.isMemo(e)?W:V[e.$$typeof]||R}V[U.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[U.Memo]=W;var D=Object.defineProperty,H=Object.getOwnPropertyNames,L=Object.getOwnPropertySymbols,Y=Object.getOwnPropertyDescriptor,M=Object.getPrototypeOf,J=Object.prototype,j=function e(t,n,i){if("string"!=typeof n){if(J){var o=M(n);o&&o!==J&&e(t,o,i)}var r=H(n);L&&(r=r.concat(L(n)));for(var a=P(t),s=P(n),c=0;c<r.length;++c){var l=r[c];if(!(X[l]||i&&i[l]||s&&s[l]||a&&a[l])){var u=Y(n,l);try{D(t,l,u)}catch(e){}}}}return t},z=function(e){var t=function(t){return r().createElement(d,null,(function(n){return r().createElement(e,a({},t,{googleReCaptchaProps:n}))}))};return t.displayName="withGoogleReCaptcha("+(e.displayName||e.name||"Component")+")",j(t,e),t}},3203:(e,t,n)=>{"use strict";n.d(t,{HT:()=>B,oA:()=>y,xS:()=>f,Lw:()=>b,t:()=>C});var i,o,r,a=n(5927),s=n.n(a);class c extends s().Component{static rerenderAll(){c.instances.forEach((e=>e.forceUpdate()))}componentDidMount(){c.instances.push(this)}componentWillUnmount(){c.instances.splice(c.instances.indexOf(this),1)}}i=c,r=[],(o=function(e){var t=function(e){if("object"!=typeof e||null===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:String(t)}(o="instances"))in i?Object.defineProperty(i,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[o]=r;var l=n(5556),u=n.n(l);const d=(e,t)=>{if("string"==typeof e){let n=e;return Object.keys(t).forEach((e=>{n=n.split(`%{${e}}`).join(t[e]??"")})),n}if(s().isValidElement(e))return e;if("object"==typeof e){const n={};return Object.keys(e).forEach((i=>{n[i]=d(e[i],t)})),n}return null},g=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const i=t.indexOf(".");if(void 0===e)throw new Error("not found");if(i>-1)return g(e[t.substring(0,i)],t.substr(i+1),n);if(null!==n){if(e[`${t}_${n}`])return e[`${t}_${n}`];if(1!==n&&e[`${t}_plural`])return e[`${t}_plural`]}if(null!=e[t])return e[t];throw new Error("not found")},p={availableLocales:{},localeKey:"en",translationsObject:{},getTranslations:null,getLocale:null,handleMissingTranslation:e=>e.split(".").pop(),handleFailedLocalization:()=>null},m=()=>p.getLocale?p.getLocale():p.localeKey,f=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];p.localeKey=e,p.getLocale=null,t&&c.rerenderAll()},I=function(){return p.handleFailedLocalization(...arguments)},h=()=>p.getTranslations?p.getTranslations():p.translationsObject,b=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];p.translationsObject=e,p.getTranslations=null,t&&c.rerenderAll()},y=e=>{if("function"!=typeof e)throw new Error("Handle missing translation must be a function");p.handleMissingTranslation=e},C=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.locale||m();let o="";try{const n=h()[i]?i:i.split("-")[0];o=g(h(),`${n}.${e}`,t.count)}catch(r){return n.returnNullOnError?null:n.returnKeyOnError?e:function(){return p.handleMissingTranslation(...arguments)}(e,t,n,r)}return d(o,t)};class v extends c{render(){const{value:e,locale:t,...n}=this.props;return C(e,n,{locale:t})}}v.propTypes={value:u().string.isRequired,locale:u().string};const B=v;function A(e,t){return e instanceof Date?new e.constructor(t):new Date(t)}let _={};function S(){return _}const G={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function Q(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const E={date:Q({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:Q({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:Q({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},F={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function w(e){return(t,n)=>{let i;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){const t=e.defaultFormattingWidth||e.defaultWidth,o=n?.width?String(n.width):t;i=e.formattingValues[o]||e.formattingValues[t]}else{const t=e.defaultWidth,o=n?.width?String(n.width):e.defaultWidth;i=e.values[o]||e.values[t]}return i[e.argumentCallback?e.argumentCallback(t):t]}}const T={ordinalNumber:(e,t)=>{const n=Number(e),i=n%100;if(i>20||i<10)switch(i%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:w({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:w({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:w({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:w({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:w({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function x(e){return(t,n={})=>{const i=n.width,o=i&&e.matchPatterns[i]||e.matchPatterns[e.defaultMatchWidth],r=t.match(o);if(!r)return null;const a=r[0],s=i&&e.parsePatterns[i]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?function(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}(s,(e=>e.test(a))):function(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}(s,(e=>e.test(a)));let l;return l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l,{value:l,rest:t.slice(a.length)}}}const k={ordinalNumber:(N={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,t={})=>{const n=e.match(N.matchPattern);if(!n)return null;const i=n[0],o=e.match(N.parsePattern);if(!o)return null;let r=N.valueCallback?N.valueCallback(o[0]):o[0];return r=t.valueCallback?t.valueCallback(r):r,{value:r,rest:e.slice(i.length)}}),era:x({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:x({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:x({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:x({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:x({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};var N;const O={code:"en-US",formatDistance:(e,t,n)=>{let i;const o=G[e];return i="string"==typeof o?o:1===t?o.one:o.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i},formatLong:E,formatRelative:(e,t,n,i)=>F[e],localize:T,match:k,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Z(e){const t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new e.constructor(+e):"number"==typeof e||"[object Number]"===t||"string"==typeof e||"[object String]"===t?new Date(e):new Date(NaN)}const U=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},R=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},X={p:R,P:(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],i=n[1],o=n[2];if(!o)return U(e,t);let r;switch(i){case"P":r=t.dateTime({width:"short"});break;case"PP":r=t.dateTime({width:"medium"});break;case"PPP":r=t.dateTime({width:"long"});break;default:r=t.dateTime({width:"full"})}return r.replace("{{date}}",U(i,t)).replace("{{time}}",R(o,t))}},W=/^D+$/,V=/^Y+$/,P=["D","DD","YY","YYYY"];function D(e){return W.test(e)}function H(e){return V.test(e)}function L(e,t,n){const i=function(e,t,n){const i="Y"===e[0]?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${i} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}(e,t,n);if(console.warn(i),P.includes(e))throw new RangeError(i)}class Y{subPriority=0;validate(e,t){return!0}}class M extends Y{constructor(e,t,n,i,o){super(),this.value=e,this.validateValue=t,this.setValue=n,this.priority=i,o&&(this.subPriority=o)}validate(e,t){return this.validateValue(e,this.value,t)}set(e,t,n){return this.setValue(e,t,this.value,n)}}class J extends Y{priority=10;subPriority=-1;set(e,t){return t.timestampIsSet?e:A(e,function(e,t){const n=t instanceof Date?A(t,0):new t(0);return n.setFullYear(e.getFullYear(),e.getMonth(),e.getDate()),n.setHours(e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()),n}(e,Date))}}class j{run(e,t,n,i){const o=this.parse(e,t,n,i);return o?{setter:new M(o.value,this.validate,this.set,this.priority,this.subPriority),rest:o.rest}:null}validate(e,t,n){return!0}}Math.pow(10,8);const z=6048e5,K=6e4,q=525600,$=/^(1[0-2]|0?\d)/,ee=/^(3[0-1]|[0-2]?\d)/,te=/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,ne=/^(5[0-3]|[0-4]?\d)/,ie=/^(2[0-3]|[0-1]?\d)/,oe=/^(2[0-4]|[0-1]?\d)/,re=/^(1[0-1]|0?\d)/,ae=/^(1[0-2]|0?\d)/,se=/^[0-5]?\d/,ce=/^[0-5]?\d/,le=/^\d/,ue=/^\d{1,2}/,de=/^\d{1,3}/,ge=/^\d{1,4}/,pe=/^-?\d+/,me=/^-?\d/,fe=/^-?\d{1,2}/,Ie=/^-?\d{1,3}/,he=/^-?\d{1,4}/,be=/^([+-])(\d{2})(\d{2})?|Z/,ye=/^([+-])(\d{2})(\d{2})|Z/,Ce=/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,ve=/^([+-])(\d{2}):(\d{2})|Z/,Be=/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/;function Ae(e,t){return e?{value:t(e.value),rest:e.rest}:e}function _e(e,t){const n=t.match(e);return n?{value:parseInt(n[0],10),rest:t.slice(n[0].length)}:null}function Se(e,t){const n=t.match(e);if(!n)return null;if("Z"===n[0])return{value:0,rest:t.slice(1)};const i="+"===n[1]?1:-1,o=n[2]?parseInt(n[2],10):0,r=n[3]?parseInt(n[3],10):0,a=n[5]?parseInt(n[5],10):0;return{value:i*(36e5*o+r*K+1e3*a),rest:t.slice(n[0].length)}}function Ge(e){return _e(pe,e)}function Qe(e,t){switch(e){case 1:return _e(le,t);case 2:return _e(ue,t);case 3:return _e(de,t);case 4:return _e(ge,t);default:return _e(new RegExp("^\\d{1,"+e+"}"),t)}}function Ee(e,t){switch(e){case 1:return _e(me,t);case 2:return _e(fe,t);case 3:return _e(Ie,t);case 4:return _e(he,t);default:return _e(new RegExp("^-?\\d{1,"+e+"}"),t)}}function Fe(e){switch(e){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function we(e,t){const n=t>0,i=n?t:1-t;let o;if(i<=50)o=e||100;else{const t=i+50;o=e+100*Math.trunc(t/100)-(e>=t%100?100:0)}return n?o:1-o}function Te(e){return e%400==0||e%4==0&&e%100!=0}function xe(e,t){const n=S(),i=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,o=Z(e),r=o.getDay(),a=(r<i?7:0)+r-i;return o.setDate(o.getDate()-a),o.setHours(0,0,0,0),o}function ke(e,t){const n=Z(e),i=n.getFullYear(),o=S(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,a=A(e,0);a.setFullYear(i+1,0,r),a.setHours(0,0,0,0);const s=xe(a,t),c=A(e,0);c.setFullYear(i,0,r),c.setHours(0,0,0,0);const l=xe(c,t);return n.getTime()>=s.getTime()?i+1:n.getTime()>=l.getTime()?i:i-1}function Ne(e){return xe(e,{weekStartsOn:1})}function Oe(e,t){const n=Z(e),i=+xe(n,t)-+function(e,t){const n=S(),i=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,o=ke(e,t),r=A(e,0);return r.setFullYear(o,0,i),r.setHours(0,0,0,0),xe(r,t)}(n,t);return Math.round(i/z)+1}function Ze(e){const t=Z(e),n=t.getFullYear(),i=A(e,0);i.setFullYear(n+1,0,4),i.setHours(0,0,0,0);const o=Ne(i),r=A(e,0);r.setFullYear(n,0,4),r.setHours(0,0,0,0);const a=Ne(r);return t.getTime()>=o.getTime()?n+1:t.getTime()>=a.getTime()?n:n-1}function Ue(e){const t=Z(e),n=+Ne(t)-+function(e){const t=Ze(e),n=A(e,0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),Ne(n)}(t);return Math.round(n/z)+1}const Re=[31,28,31,30,31,30,31,31,30,31,30,31],Xe=[31,29,31,30,31,30,31,31,30,31,30,31];function We(e,t){const n=Z(e);return isNaN(t)?A(e,NaN):t?(n.setDate(n.getDate()+t),n):n}function Ve(e,t,n){const i=S(),o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,r=Z(e),a=r.getDay(),s=7-o;return We(r,t<0||t>6?t-(a+s)%7:((t%7+7)%7+s)%7-(a+s)%7)}function Pe(e,t){const n=Z(e);return We(n,t-function(e){let t=Z(e).getDay();return 0===t&&(t=7),t}(n))}function De(e){const t=Z(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}const He={G:new class extends j{priority=140;parse(e,t,n){switch(t){case"G":case"GG":case"GGG":return n.era(e,{width:"abbreviated"})||n.era(e,{width:"narrow"});case"GGGGG":return n.era(e,{width:"narrow"});default:return n.era(e,{width:"wide"})||n.era(e,{width:"abbreviated"})||n.era(e,{width:"narrow"})}}set(e,t,n){return t.era=n,e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["R","u","t","T"]},y:new class extends j{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(e,t,n){const i=e=>({year:e,isTwoDigitYear:"yy"===t});switch(t){case"y":return Ae(Qe(4,e),i);case"yo":return Ae(n.ordinalNumber(e,{unit:"year"}),i);default:return Ae(Qe(t.length,e),i)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n){const i=e.getFullYear();if(n.isTwoDigitYear){const t=we(n.year,i);return e.setFullYear(t,0,1),e.setHours(0,0,0,0),e}const o="era"in t&&1!==t.era?1-n.year:n.year;return e.setFullYear(o,0,1),e.setHours(0,0,0,0),e}},Y:new class extends j{priority=130;parse(e,t,n){const i=e=>({year:e,isTwoDigitYear:"YY"===t});switch(t){case"Y":return Ae(Qe(4,e),i);case"Yo":return Ae(n.ordinalNumber(e,{unit:"year"}),i);default:return Ae(Qe(t.length,e),i)}}validate(e,t){return t.isTwoDigitYear||t.year>0}set(e,t,n,i){const o=ke(e,i);if(n.isTwoDigitYear){const t=we(n.year,o);return e.setFullYear(t,0,i.firstWeekContainsDate),e.setHours(0,0,0,0),xe(e,i)}const r="era"in t&&1!==t.era?1-n.year:n.year;return e.setFullYear(r,0,i.firstWeekContainsDate),e.setHours(0,0,0,0),xe(e,i)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]},R:new class extends j{priority=130;parse(e,t){return Ee("R"===t?4:t.length,e)}set(e,t,n){const i=A(e,0);return i.setFullYear(n,0,4),i.setHours(0,0,0,0),Ne(i)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]},u:new class extends j{priority=130;parse(e,t){return Ee("u"===t?4:t.length,e)}set(e,t,n){return e.setFullYear(n,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]},Q:new class extends j{priority=120;parse(e,t,n){switch(t){case"Q":case"QQ":return Qe(t.length,e);case"Qo":return n.ordinalNumber(e,{unit:"quarter"});case"QQQ":return n.quarter(e,{width:"abbreviated",context:"formatting"})||n.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return n.quarter(e,{width:"narrow",context:"formatting"});default:return n.quarter(e,{width:"wide",context:"formatting"})||n.quarter(e,{width:"abbreviated",context:"formatting"})||n.quarter(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth(3*(n-1),1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]},q:new class extends j{priority=120;parse(e,t,n){switch(t){case"q":case"qq":return Qe(t.length,e);case"qo":return n.ordinalNumber(e,{unit:"quarter"});case"qqq":return n.quarter(e,{width:"abbreviated",context:"standalone"})||n.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return n.quarter(e,{width:"narrow",context:"standalone"});default:return n.quarter(e,{width:"wide",context:"standalone"})||n.quarter(e,{width:"abbreviated",context:"standalone"})||n.quarter(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=1&&t<=4}set(e,t,n){return e.setMonth(3*(n-1),1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]},M:new class extends j{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(e,t,n){const i=e=>e-1;switch(t){case"M":return Ae(_e($,e),i);case"MM":return Ae(Qe(2,e),i);case"Mo":return Ae(n.ordinalNumber(e,{unit:"month"}),i);case"MMM":return n.month(e,{width:"abbreviated",context:"formatting"})||n.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return n.month(e,{width:"narrow",context:"formatting"});default:return n.month(e,{width:"wide",context:"formatting"})||n.month(e,{width:"abbreviated",context:"formatting"})||n.month(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}},L:new class extends j{priority=110;parse(e,t,n){const i=e=>e-1;switch(t){case"L":return Ae(_e($,e),i);case"LL":return Ae(Qe(2,e),i);case"Lo":return Ae(n.ordinalNumber(e,{unit:"month"}),i);case"LLL":return n.month(e,{width:"abbreviated",context:"standalone"})||n.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return n.month(e,{width:"narrow",context:"standalone"});default:return n.month(e,{width:"wide",context:"standalone"})||n.month(e,{width:"abbreviated",context:"standalone"})||n.month(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.setMonth(n,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]},w:new class extends j{priority=100;parse(e,t,n){switch(t){case"w":return _e(ne,e);case"wo":return n.ordinalNumber(e,{unit:"week"});default:return Qe(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n,i){return xe(function(e,t,n){const i=Z(e),o=Oe(i,n)-t;return i.setDate(i.getDate()-7*o),i}(e,n,i),i)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]},I:new class extends j{priority=100;parse(e,t,n){switch(t){case"I":return _e(ne,e);case"Io":return n.ordinalNumber(e,{unit:"week"});default:return Qe(t.length,e)}}validate(e,t){return t>=1&&t<=53}set(e,t,n){return Ne(function(e,t){const n=Z(e),i=Ue(n)-t;return n.setDate(n.getDate()-7*i),n}(e,n))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]},d:new class extends j{priority=90;subPriority=1;parse(e,t,n){switch(t){case"d":return _e(ee,e);case"do":return n.ordinalNumber(e,{unit:"date"});default:return Qe(t.length,e)}}validate(e,t){const n=Te(e.getFullYear()),i=e.getMonth();return n?t>=1&&t<=Xe[i]:t>=1&&t<=Re[i]}set(e,t,n){return e.setDate(n),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]},D:new class extends j{priority=90;subpriority=1;parse(e,t,n){switch(t){case"D":case"DD":return _e(te,e);case"Do":return n.ordinalNumber(e,{unit:"date"});default:return Qe(t.length,e)}}validate(e,t){return Te(e.getFullYear())?t>=1&&t<=366:t>=1&&t<=365}set(e,t,n){return e.setMonth(0,n),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]},E:new class extends j{priority=90;parse(e,t,n){switch(t){case"E":case"EE":case"EEE":return n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return n.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});default:return n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,i){return(e=Ve(e,n,i)).setHours(0,0,0,0),e}incompatibleTokens=["D","i","e","c","t","T"]},e:new class extends j{priority=90;parse(e,t,n,i){const o=e=>{const t=7*Math.floor((e-1)/7);return(e+i.weekStartsOn+6)%7+t};switch(t){case"e":case"ee":return Ae(Qe(t.length,e),o);case"eo":return Ae(n.ordinalNumber(e,{unit:"day"}),o);case"eee":return n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});case"eeeee":return n.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"});default:return n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,i){return(e=Ve(e,n,i)).setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]},c:new class extends j{priority=90;parse(e,t,n,i){const o=e=>{const t=7*Math.floor((e-1)/7);return(e+i.weekStartsOn+6)%7+t};switch(t){case"c":case"cc":return Ae(Qe(t.length,e),o);case"co":return Ae(n.ordinalNumber(e,{unit:"day"}),o);case"ccc":return n.day(e,{width:"abbreviated",context:"standalone"})||n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"});case"ccccc":return n.day(e,{width:"narrow",context:"standalone"});case"cccccc":return n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"});default:return n.day(e,{width:"wide",context:"standalone"})||n.day(e,{width:"abbreviated",context:"standalone"})||n.day(e,{width:"short",context:"standalone"})||n.day(e,{width:"narrow",context:"standalone"})}}validate(e,t){return t>=0&&t<=6}set(e,t,n,i){return(e=Ve(e,n,i)).setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]},i:new class extends j{priority=90;parse(e,t,n){const i=e=>0===e?7:e;switch(t){case"i":case"ii":return Qe(t.length,e);case"io":return n.ordinalNumber(e,{unit:"day"});case"iii":return Ae(n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"}),i);case"iiiii":return Ae(n.day(e,{width:"narrow",context:"formatting"}),i);case"iiiiii":return Ae(n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"}),i);default:return Ae(n.day(e,{width:"wide",context:"formatting"})||n.day(e,{width:"abbreviated",context:"formatting"})||n.day(e,{width:"short",context:"formatting"})||n.day(e,{width:"narrow",context:"formatting"}),i)}}validate(e,t){return t>=1&&t<=7}set(e,t,n){return(e=Pe(e,n)).setHours(0,0,0,0),e}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]},a:new class extends j{priority=80;parse(e,t,n){switch(t){case"a":case"aa":case"aaa":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return n.dayPeriod(e,{width:"narrow",context:"formatting"});default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,n){return e.setHours(Fe(n),0,0,0),e}incompatibleTokens=["b","B","H","k","t","T"]},b:new class extends j{priority=80;parse(e,t,n){switch(t){case"b":case"bb":case"bbb":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return n.dayPeriod(e,{width:"narrow",context:"formatting"});default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,n){return e.setHours(Fe(n),0,0,0),e}incompatibleTokens=["a","B","H","k","t","T"]},B:new class extends j{priority=80;parse(e,t,n){switch(t){case"B":case"BB":case"BBB":return n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return n.dayPeriod(e,{width:"narrow",context:"formatting"});default:return n.dayPeriod(e,{width:"wide",context:"formatting"})||n.dayPeriod(e,{width:"abbreviated",context:"formatting"})||n.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,t,n){return e.setHours(Fe(n),0,0,0),e}incompatibleTokens=["a","b","t","T"]},h:new class extends j{priority=70;parse(e,t,n){switch(t){case"h":return _e(ae,e);case"ho":return n.ordinalNumber(e,{unit:"hour"});default:return Qe(t.length,e)}}validate(e,t){return t>=1&&t<=12}set(e,t,n){const i=e.getHours()>=12;return i&&n<12?e.setHours(n+12,0,0,0):i||12!==n?e.setHours(n,0,0,0):e.setHours(0,0,0,0),e}incompatibleTokens=["H","K","k","t","T"]},H:new class extends j{priority=70;parse(e,t,n){switch(t){case"H":return _e(ie,e);case"Ho":return n.ordinalNumber(e,{unit:"hour"});default:return Qe(t.length,e)}}validate(e,t){return t>=0&&t<=23}set(e,t,n){return e.setHours(n,0,0,0),e}incompatibleTokens=["a","b","h","K","k","t","T"]},K:new class extends j{priority=70;parse(e,t,n){switch(t){case"K":return _e(re,e);case"Ko":return n.ordinalNumber(e,{unit:"hour"});default:return Qe(t.length,e)}}validate(e,t){return t>=0&&t<=11}set(e,t,n){return e.getHours()>=12&&n<12?e.setHours(n+12,0,0,0):e.setHours(n,0,0,0),e}incompatibleTokens=["h","H","k","t","T"]},k:new class extends j{priority=70;parse(e,t,n){switch(t){case"k":return _e(oe,e);case"ko":return n.ordinalNumber(e,{unit:"hour"});default:return Qe(t.length,e)}}validate(e,t){return t>=1&&t<=24}set(e,t,n){const i=n<=24?n%24:n;return e.setHours(i,0,0,0),e}incompatibleTokens=["a","b","h","H","K","t","T"]},m:new class extends j{priority=60;parse(e,t,n){switch(t){case"m":return _e(se,e);case"mo":return n.ordinalNumber(e,{unit:"minute"});default:return Qe(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setMinutes(n,0,0),e}incompatibleTokens=["t","T"]},s:new class extends j{priority=50;parse(e,t,n){switch(t){case"s":return _e(ce,e);case"so":return n.ordinalNumber(e,{unit:"second"});default:return Qe(t.length,e)}}validate(e,t){return t>=0&&t<=59}set(e,t,n){return e.setSeconds(n,0),e}incompatibleTokens=["t","T"]},S:new class extends j{priority=30;parse(e,t){return Ae(Qe(t.length,e),(e=>Math.trunc(e*Math.pow(10,3-t.length))))}set(e,t,n){return e.setMilliseconds(n),e}incompatibleTokens=["t","T"]},X:new class extends j{priority=10;parse(e,t){switch(t){case"X":return Se(be,e);case"XX":return Se(ye,e);case"XXXX":return Se(Ce,e);case"XXXXX":return Se(Be,e);default:return Se(ve,e)}}set(e,t,n){return t.timestampIsSet?e:A(e,e.getTime()-De(e)-n)}incompatibleTokens=["t","T","x"]},x:new class extends j{priority=10;parse(e,t){switch(t){case"x":return Se(be,e);case"xx":return Se(ye,e);case"xxxx":return Se(Ce,e);case"xxxxx":return Se(Be,e);default:return Se(ve,e)}}set(e,t,n){return t.timestampIsSet?e:A(e,e.getTime()-De(e)-n)}incompatibleTokens=["t","T","X"]},t:new class extends j{priority=40;parse(e){return Ge(e)}set(e,t,n){return[A(e,1e3*n),{timestampIsSet:!0}]}incompatibleTokens="*"},T:new class extends j{priority=20;parse(e){return Ge(e)}set(e,t,n){return[A(e,n),{timestampIsSet:!0}]}incompatibleTokens="*"}},Le=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ye=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Me=/^'([^]*?)'?$/,Je=/''/g,je=/\S/,ze=/[a-zA-Z]/;function Ke(e,t,n,i){const o=Object.assign({},S()),r=i?.locale??o.locale??O,a=i?.firstWeekContainsDate??i?.locale?.options?.firstWeekContainsDate??o.firstWeekContainsDate??o.locale?.options?.firstWeekContainsDate??1,s=i?.weekStartsOn??i?.locale?.options?.weekStartsOn??o.weekStartsOn??o.locale?.options?.weekStartsOn??0;if(""===t)return""===e?Z(n):A(n,NaN);const c={firstWeekContainsDate:a,weekStartsOn:s,locale:r},l=[new J],u=t.match(Ye).map((e=>{const t=e[0];return t in X?(0,X[t])(e,r.formatLong):e})).join("").match(Le),d=[];for(let f of u){!i?.useAdditionalWeekYearTokens&&H(f)&&L(f,t,e),!i?.useAdditionalDayOfYearTokens&&D(f)&&L(f,t,e);const o=f[0],a=He[o];if(a){const{incompatibleTokens:t}=a;if(Array.isArray(t)){const e=d.find((e=>t.includes(e.token)||e.token===o));if(e)throw new RangeError(`The format string mustn't contain \`${e.fullToken}\` and \`${f}\` at the same time`)}else if("*"===a.incompatibleTokens&&d.length>0)throw new RangeError(`The format string mustn't contain \`${f}\` and any other token at the same time`);d.push({token:o,fullToken:f});const i=a.run(e,f,r.match,c);if(!i)return A(n,NaN);l.push(i.setter),e=i.rest}else{if(o.match(ze))throw new RangeError("Format string contains an unescaped latin alphabet character `"+o+"`");if("''"===f?f="'":"'"===o&&(f=f.match(Me)[1].replace(Je,"'")),0!==e.indexOf(f))return A(n,NaN);e=e.slice(f.length)}}if(e.length>0&&je.test(e))return A(n,NaN);const g=l.map((e=>e.priority)).sort(((e,t)=>t-e)).filter(((e,t,n)=>n.indexOf(e)===t)).map((e=>l.filter((t=>t.priority===e)).sort(((e,t)=>t.subPriority-e.subPriority)))).map((e=>e[0]));let p=Z(n);if(isNaN(p.getTime()))return A(n,NaN);const m={};for(const f of g){if(!f.validate(p,c))return A(n,NaN);const e=f.set(p,m,c);Array.isArray(e)?(p=e[0],Object.assign(m,e[1])):p=e}return A(n,p)}function qe(e,t,n){const i=S(),o=n?.locale??i.locale??O,r=function(e,t){const n=Z(e),i=Z(t),o=n.getTime()-i.getTime();return o<0?-1:o>0?1:o}(e,t);if(isNaN(r))throw new RangeError("Invalid time value");const a=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:r});let s,c;r>0?(s=Z(t),c=Z(e)):(s=Z(e),c=Z(t));const l=(u=n?.roundingMethod??"round",e=>{const t=(u?Math[u]:Math.trunc)(e);return 0===t?0:t});var u;const d=c.getTime()-s.getTime(),g=d/K,p=(d-(De(c)-De(s)))/K,m=n?.unit;let f;if(f=m||(g<1?"second":g<60?"minute":g<1440?"hour":p<43200?"day":p<q?"month":"year"),"second"===f){const e=l(d/1e3);return o.formatDistance("xSeconds",e,a)}if("minute"===f){const e=l(g);return o.formatDistance("xMinutes",e,a)}if("hour"===f){const e=l(g/60);return o.formatDistance("xHours",e,a)}if("day"===f){const e=l(p/1440);return o.formatDistance("xDays",e,a)}if("month"===f){const e=l(p/43200);return 12===e&&"month"!==m?o.formatDistance("xYears",1,a):o.formatDistance("xMonths",e,a)}{const e=l(p/q);return o.formatDistance("xYears",e,a)}}function $e(e,t){return qe(e,function(e){return A(e,Date.now())}(e),t)}function et(e){const t=Z(e);return t.setHours(0,0,0,0),t}function tt(e){const t=Z(e);return function(e,t){const n=et(e),i=et(t),o=+n-De(n),r=+i-De(i);return Math.round((o-r)/864e5)}(t,function(e){const t=Z(e),n=A(e,0);return n.setFullYear(t.getFullYear(),0,1),n.setHours(0,0,0,0),n}(t))+1}function nt(e,t){return(e<0?"-":"")+Math.abs(e).toString().padStart(t,"0")}const it={y(e,t){const n=e.getFullYear(),i=n>0?n:1-n;return nt("yy"===t?i%100:i,t.length)},M(e,t){const n=e.getMonth();return"M"===t?String(n+1):nt(n+1,2)},d:(e,t)=>nt(e.getDate(),t.length),a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>nt(e.getHours()%12||12,t.length),H:(e,t)=>nt(e.getHours(),t.length),m:(e,t)=>nt(e.getMinutes(),t.length),s:(e,t)=>nt(e.getSeconds(),t.length),S(e,t){const n=t.length,i=e.getMilliseconds();return nt(Math.trunc(i*Math.pow(10,n-3)),t.length)}},ot={G:function(e,t,n){const i=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(i,{width:"abbreviated"});case"GGGGG":return n.era(i,{width:"narrow"});default:return n.era(i,{width:"wide"})}},y:function(e,t,n){if("yo"===t){const t=e.getFullYear(),i=t>0?t:1-t;return n.ordinalNumber(i,{unit:"year"})}return it.y(e,t)},Y:function(e,t,n,i){const o=ke(e,i),r=o>0?o:1-o;return"YY"===t?nt(r%100,2):"Yo"===t?n.ordinalNumber(r,{unit:"year"}):nt(r,t.length)},R:function(e,t){return nt(Ze(e),t.length)},u:function(e,t){return nt(e.getFullYear(),t.length)},Q:function(e,t,n){const i=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return nt(i,2);case"Qo":return n.ordinalNumber(i,{unit:"quarter"});case"QQQ":return n.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(i,{width:"narrow",context:"formatting"});default:return n.quarter(i,{width:"wide",context:"formatting"})}},q:function(e,t,n){const i=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return nt(i,2);case"qo":return n.ordinalNumber(i,{unit:"quarter"});case"qqq":return n.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(i,{width:"narrow",context:"standalone"});default:return n.quarter(i,{width:"wide",context:"standalone"})}},M:function(e,t,n){const i=e.getMonth();switch(t){case"M":case"MM":return it.M(e,t);case"Mo":return n.ordinalNumber(i+1,{unit:"month"});case"MMM":return n.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(i,{width:"narrow",context:"formatting"});default:return n.month(i,{width:"wide",context:"formatting"})}},L:function(e,t,n){const i=e.getMonth();switch(t){case"L":return String(i+1);case"LL":return nt(i+1,2);case"Lo":return n.ordinalNumber(i+1,{unit:"month"});case"LLL":return n.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(i,{width:"narrow",context:"standalone"});default:return n.month(i,{width:"wide",context:"standalone"})}},w:function(e,t,n,i){const o=Oe(e,i);return"wo"===t?n.ordinalNumber(o,{unit:"week"}):nt(o,t.length)},I:function(e,t,n){const i=Ue(e);return"Io"===t?n.ordinalNumber(i,{unit:"week"}):nt(i,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):it.d(e,t)},D:function(e,t,n){const i=tt(e);return"Do"===t?n.ordinalNumber(i,{unit:"dayOfYear"}):nt(i,t.length)},E:function(e,t,n){const i=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},e:function(e,t,n,i){const o=e.getDay(),r=(o-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(r);case"ee":return nt(r,2);case"eo":return n.ordinalNumber(r,{unit:"day"});case"eee":return n.day(o,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(o,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(o,{width:"short",context:"formatting"});default:return n.day(o,{width:"wide",context:"formatting"})}},c:function(e,t,n,i){const o=e.getDay(),r=(o-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(r);case"cc":return nt(r,t.length);case"co":return n.ordinalNumber(r,{unit:"day"});case"ccc":return n.day(o,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(o,{width:"narrow",context:"standalone"});case"cccccc":return n.day(o,{width:"short",context:"standalone"});default:return n.day(o,{width:"wide",context:"standalone"})}},i:function(e,t,n){const i=e.getDay(),o=0===i?7:i;switch(t){case"i":return String(o);case"ii":return nt(o,t.length);case"io":return n.ordinalNumber(o,{unit:"day"});case"iii":return n.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(i,{width:"short",context:"formatting"});default:return n.day(i,{width:"wide",context:"formatting"})}},a:function(e,t,n){const i=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,t,n){const i=e.getHours();let o;switch(o=12===i?"noon":0===i?"midnight":i/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},B:function(e,t,n){const i=e.getHours();let o;switch(o=i>=17?"evening":i>=12?"afternoon":i>=4?"morning":"night",t){case"B":case"BB":case"BBB":return n.dayPeriod(o,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(o,{width:"narrow",context:"formatting"});default:return n.dayPeriod(o,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return it.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):it.H(e,t)},K:function(e,t,n){const i=e.getHours()%12;return"Ko"===t?n.ordinalNumber(i,{unit:"hour"}):nt(i,t.length)},k:function(e,t,n){let i=e.getHours();return 0===i&&(i=24),"ko"===t?n.ordinalNumber(i,{unit:"hour"}):nt(i,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):it.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):it.s(e,t)},S:function(e,t){return it.S(e,t)},X:function(e,t,n){const i=e.getTimezoneOffset();if(0===i)return"Z";switch(t){case"X":return at(i);case"XXXX":case"XX":return st(i);default:return st(i,":")}},x:function(e,t,n){const i=e.getTimezoneOffset();switch(t){case"x":return at(i);case"xxxx":case"xx":return st(i);default:return st(i,":")}},O:function(e,t,n){const i=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+rt(i,":");default:return"GMT"+st(i,":")}},z:function(e,t,n){const i=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+rt(i,":");default:return"GMT"+st(i,":")}},t:function(e,t,n){return nt(Math.trunc(e.getTime()/1e3),t.length)},T:function(e,t,n){return nt(e.getTime(),t.length)}};function rt(e,t=""){const n=e>0?"-":"+",i=Math.abs(e),o=Math.trunc(i/60),r=i%60;return 0===r?n+String(o):n+String(o)+t+nt(r,2)}function at(e,t){return e%60==0?(e>0?"-":"+")+nt(Math.abs(e)/60,2):st(e,t)}function st(e,t=""){const n=e>0?"-":"+",i=Math.abs(e);return n+nt(Math.trunc(i/60),2)+t+nt(i%60,2)}function ct(e){if(!function(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}(e)&&"number"!=typeof e)return!1;const t=Z(e);return!isNaN(Number(t))}const lt=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ut=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,dt=/^'([^]*?)'?$/,gt=/''/g,pt=/[a-zA-Z]/;function mt(e){const t=e.match(dt);return t?t[1].replace(gt,"'"):e}const ft=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.locale||m();if(t.dateFormat)try{const i=(e=>{const t=e||p.locale;return p.availableLocales[t]||p.availableLocales[t.split("-")[0]]})(n);if(!i)throw new Error(`Locale ${n} not added`);const o=t.parseFormat?Ke(e,C(t.parseFormat,{},{locale:n,returnKeyOnError:!0}),new Date,{locale:i}):new Date(e);return"distance-to-now"===t.dateFormat?$e(o,{addSuffix:!0,locale:i}):"distance-to-now-hours"===t.dateFormat?$e(o,{addSuffix:!0,unit:"hour",locale:i}):"distance-to-now-days"===t.dateFormat?$e(o,{addSuffix:!0,unit:"day",locale:i}):function(e,t,n){const i=S(),o=n?.locale??i.locale??O,r=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0,s=Z(e);if(!ct(s))throw new RangeError("Invalid time value");let c=t.match(ut).map((e=>{const t=e[0];return"p"===t||"P"===t?(0,X[t])(e,o.formatLong):e})).join("").match(lt).map((e=>{if("''"===e)return{isToken:!1,value:"'"};const t=e[0];if("'"===t)return{isToken:!1,value:mt(e)};if(ot[t])return{isToken:!0,value:e};if(t.match(pt))throw new RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}}));o.localize.preprocessor&&(c=o.localize.preprocessor(s,c));const l={firstWeekContainsDate:r,weekStartsOn:a,locale:o};return c.map((i=>{if(!i.isToken)return i.value;const r=i.value;return(!n?.useAdditionalWeekYearTokens&&H(r)||!n?.useAdditionalDayOfYearTokens&&D(r))&&L(r,t,String(e)),(0,ot[r[0]])(s,r,o.localize,l)})).join("")}(o,C(t.dateFormat,{},{locale:n,returnKeyOnError:!0}),{locale:i})}catch(i){return I(e,t,i)}if("number"==typeof e)try{return new Intl.NumberFormat(n,t).format(e)}catch(i){return I(e,t,i)}return e};(class extends c{render(){const{value:e,dateFormat:t,parseFormat:n,options:i={}}=this.props;return ft(e,{...i,dateFormat:t,parseFormat:n})}}).propTypes={value:u().oneOfType([u().string,u().number,u().object]).isRequired,dateFormat:u().string,parseFormat:u().string,options:u().object};(class extends c{constructor(){super(...arguments),function(e,t,n){(t=function(e){var t=function(e){if("object"!=typeof e||null===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:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"render",(()=>this.props.render()))}}).propTypes={render:u().func.isRequired}},9132:(e,t,n)=>{"use strict";var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),r=n(5927),a=c(r),s=c(n(5556));function c(e){return e&&e.__esModule?e:{default:e}}var l={position:"absolute",top:0,left:0,visibility:"hidden",height:0,overflow:"scroll",whiteSpace:"pre"},u=["extraWidth","injectStyles","inputClassName","inputRef","inputStyle","minWidth","onAutosize","placeholderIsMinWidth"],d=function(e,t){t.style.fontSize=e.fontSize,t.style.fontFamily=e.fontFamily,t.style.fontWeight=e.fontWeight,t.style.fontStyle=e.fontStyle,t.style.letterSpacing=e.letterSpacing,t.style.textTransform=e.textTransform},g=!("undefined"==typeof window||!window.navigator)&&/MSIE |Trident\/|Edge\//.test(window.navigator.userAgent),p=function(){return g?"_"+Math.random().toString(36).substr(2,12):void 0},m=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.inputRef=function(e){n.input=e,"function"==typeof n.props.inputRef&&n.props.inputRef(e)},n.placeHolderSizerRef=function(e){n.placeHolderSizer=e},n.sizerRef=function(e){n.sizer=e},n.state={inputWidth:e.minWidth,inputId:e.id||p()},n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"componentDidMount",value:function(){this.mounted=!0,this.copyInputStyles(),this.updateInputWidth()}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){var t=e.id;t!==this.props.id&&this.setState({inputId:t||p()})}},{key:"componentDidUpdate",value:function(e,t){t.inputWidth!==this.state.inputWidth&&"function"==typeof this.props.onAutosize&&this.props.onAutosize(this.state.inputWidth),this.updateInputWidth()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"copyInputStyles",value:function(){if(this.mounted&&window.getComputedStyle){var e=this.input&&window.getComputedStyle(this.input);e&&(d(e,this.sizer),this.placeHolderSizer&&d(e,this.placeHolderSizer))}}},{key:"updateInputWidth",value:function(){if(this.mounted&&this.sizer&&void 0!==this.sizer.scrollWidth){var e=void 0;e=this.props.placeholder&&(!this.props.value||this.props.value&&this.props.placeholderIsMinWidth)?Math.max(this.sizer.scrollWidth,this.placeHolderSizer.scrollWidth)+2:this.sizer.scrollWidth+2,(e+="number"===this.props.type&&void 0===this.props.extraWidth?16:parseInt(this.props.extraWidth)||0)<this.props.minWidth&&(e=this.props.minWidth),e!==this.state.inputWidth&&this.setState({inputWidth:e})}}},{key:"getInput",value:function(){return this.input}},{key:"focus",value:function(){this.input.focus()}},{key:"blur",value:function(){this.input.blur()}},{key:"select",value:function(){this.input.select()}},{key:"renderStyles",value:function(){var e=this.props.injectStyles;return g&&e?a.default.createElement("style",{dangerouslySetInnerHTML:{__html:"input#"+this.state.inputId+"::-ms-clear {display: none;}"}}):null}},{key:"render",value:function(){var e=[this.props.defaultValue,this.props.value,""].reduce((function(e,t){return null!=e?e:t})),t=i({},this.props.style);t.display||(t.display="inline-block");var n=i({boxSizing:"content-box",width:this.state.inputWidth+"px"},this.props.inputStyle),o=function(e,t){var n={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i]);return n}(this.props,[]);return function(e){u.forEach((function(t){return delete e[t]}))}(o),o.className=this.props.inputClassName,o.id=this.state.inputId,o.style=n,a.default.createElement("div",{className:this.props.className,style:t},this.renderStyles(),a.default.createElement("input",i({},o,{ref:this.inputRef})),a.default.createElement("div",{ref:this.sizerRef,style:l},e),this.props.placeholder?a.default.createElement("div",{ref:this.placeHolderSizerRef,style:l},this.props.placeholder):null)}}]),t}(r.Component);m.propTypes={className:s.default.string,defaultValue:s.default.any,extraWidth:s.default.oneOfType([s.default.number,s.default.string]),id:s.default.string,injectStyles:s.default.bool,inputClassName:s.default.string,inputRef:s.default.func,inputStyle:s.default.object,minWidth:s.default.oneOfType([s.default.number,s.default.string]),onAutosize:s.default.func,onChange:s.default.func,placeholder:s.default.string,placeholderIsMinWidth:s.default.bool,style:s.default.object,value:s.default.any},m.defaultProps={minWidth:1,injectStyles:!0},t.A=m},1742:(e,t,n)=>{"use strict";n.d(t,{pL:()=>p});var i=n(5927);function o(){return o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},o.apply(this,arguments)}function r(e,t){return r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},r(e,t)}var a=new Map,s=new WeakMap,c=0;function l(e){return Object.keys(e).sort().filter((function(t){return void 0!==e[t]})).map((function(t){return t+"_"+("root"===t?(n=e.root)?(s.has(n)||(c+=1,s.set(n,c.toString())),s.get(n)):"0":e[t]);var n})).toString()}function u(e,t,n,i){if(void 0===n&&(n={}),void 0===i&&(i=undefined),void 0===window.IntersectionObserver&&void 0!==i){var o=e.getBoundingClientRect();return t(i,{isIntersecting:i,target:e,intersectionRatio:"number"==typeof n.threshold?n.threshold:0,time:0,boundingClientRect:o,intersectionRect:o,rootBounds:o}),function(){}}var r=function(e){var t=l(e),n=a.get(t);if(!n){var i,o=new Map,r=new IntersectionObserver((function(t){t.forEach((function(t){var n,r=t.isIntersecting&&i.some((function(e){return t.intersectionRatio>=e}));e.trackVisibility&&void 0===t.isVisible&&(t.isVisible=r),null==(n=o.get(t.target))||n.forEach((function(e){e(r,t)}))}))}),e);i=r.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]),n={id:t,observer:r,elements:o},a.set(t,n)}return n}(n),s=r.id,c=r.observer,u=r.elements,d=u.get(e)||[];return u.has(e)||u.set(e,d),d.push(t),c.observe(e),function(){d.splice(d.indexOf(t),1),0===d.length&&(u.delete(e),c.unobserve(e)),0===u.size&&(c.disconnect(),a.delete(s))}}var d=["children","as","triggerOnce","threshold","root","rootMargin","onChange","skip","trackVisibility","delay","initialInView","fallbackInView"];function g(e){return"function"!=typeof e.children}var p=function(e){var t,n;function a(t){var n;return(n=e.call(this,t)||this).node=null,n._unobserveCb=null,n.handleNode=function(e){n.node&&(n.unobserve(),e||n.props.triggerOnce||n.props.skip||n.setState({inView:!!n.props.initialInView,entry:void 0})),n.node=e||null,n.observeNode()},n.handleChange=function(e,t){e&&n.props.triggerOnce&&n.unobserve(),g(n.props)||n.setState({inView:e,entry:t}),n.props.onChange&&n.props.onChange(e,t)},n.state={inView:!!t.initialInView,entry:void 0},n}n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,r(t,n);var s=a.prototype;return s.componentDidUpdate=function(e){e.rootMargin===this.props.rootMargin&&e.root===this.props.root&&e.threshold===this.props.threshold&&e.skip===this.props.skip&&e.trackVisibility===this.props.trackVisibility&&e.delay===this.props.delay||(this.unobserve(),this.observeNode())},s.componentWillUnmount=function(){this.unobserve(),this.node=null},s.observeNode=function(){if(this.node&&!this.props.skip){var e=this.props,t=e.threshold,n=e.root,i=e.rootMargin,o=e.trackVisibility,r=e.delay,a=e.fallbackInView;this._unobserveCb=u(this.node,this.handleChange,{threshold:t,root:n,rootMargin:i,trackVisibility:o,delay:r},a)}},s.unobserve=function(){this._unobserveCb&&(this._unobserveCb(),this._unobserveCb=null)},s.render=function(){if(!g(this.props)){var e=this.state,t=e.inView,n=e.entry;return this.props.children({inView:t,entry:n,ref:this.handleNode})}var r=this.props,a=r.children,s=r.as,c=function(e,t){if(null==e)return{};var n,i,o={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(r,d);return i.createElement(s||"div",o({ref:this.handleNode},c),a)},a}(i.Component);p.displayName="InView",p.defaultProps={threshold:0,triggerOnce:!1,initialInView:!1}},2799:(e,t)=>{"use strict";var n,i=Symbol.for("react.element"),o=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),l=Symbol.for("react.context"),u=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),p=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),I=Symbol.for("react.offscreen");
/**
 * @license React
 * react-is.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */n=Symbol.for("react.module.reference"),t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===r||e===s||e===a||e===g||e===p||e===I||"object"==typeof e&&null!==e&&(e.$$typeof===f||e.$$typeof===m||e.$$typeof===c||e.$$typeof===l||e.$$typeof===d||e.$$typeof===n||void 0!==e.getModuleId)},t.typeOf=function(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case i:switch(e=e.type){case r:case s:case a:case g:case p:return e;default:switch(e=e&&e.$$typeof){case u:case l:case d:case f:case m:case c:return e;default:return t}}case o:return t}}}},4363:(e,t,n)=>{"use strict";e.exports=n(2799)},2016:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>M});var i=n(9132),o=n(6942),r=n.n(o),a=n(5556),s=n.n(a),c=n(5927),l=n.n(c),u=n(8709),d=function(e){var t=e.onMouseDown;return l().createElement("span",{className:"Select-arrow",onMouseDown:t})};d.propTypes={onMouseDown:s().func};var g=[{base:"A",letters:/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},{base:"AA",letters:/[\uA732]/g},{base:"AE",letters:/[\u00C6\u01FC\u01E2]/g},{base:"AO",letters:/[\uA734]/g},{base:"AU",letters:/[\uA736]/g},{base:"AV",letters:/[\uA738\uA73A]/g},{base:"AY",letters:/[\uA73C]/g},{base:"B",letters:/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},{base:"C",letters:/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},{base:"D",letters:/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},{base:"DZ",letters:/[\u01F1\u01C4]/g},{base:"Dz",letters:/[\u01F2\u01C5]/g},{base:"E",letters:/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},{base:"F",letters:/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},{base:"G",letters:/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},{base:"H",letters:/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},{base:"I",letters:/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},{base:"J",letters:/[\u004A\u24BF\uFF2A\u0134\u0248]/g},{base:"K",letters:/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},{base:"L",letters:/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},{base:"LJ",letters:/[\u01C7]/g},{base:"Lj",letters:/[\u01C8]/g},{base:"M",letters:/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},{base:"N",letters:/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},{base:"NJ",letters:/[\u01CA]/g},{base:"Nj",letters:/[\u01CB]/g},{base:"O",letters:/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},{base:"OI",letters:/[\u01A2]/g},{base:"OO",letters:/[\uA74E]/g},{base:"OU",letters:/[\u0222]/g},{base:"P",letters:/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},{base:"Q",letters:/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},{base:"R",letters:/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},{base:"S",letters:/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},{base:"T",letters:/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},{base:"TZ",letters:/[\uA728]/g},{base:"U",letters:/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},{base:"V",letters:/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},{base:"VY",letters:/[\uA760]/g},{base:"W",letters:/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},{base:"X",letters:/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},{base:"Y",letters:/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},{base:"Z",letters:/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}],p=function(e){for(var t=0;t<g.length;t++)e=e.replace(g[t].letters,g[t].base);return e},m=function(e){return null!=e&&""!==e},f=function(e,t,n,i){return i.ignoreAccents&&(t=p(t)),i.ignoreCase&&(t=t.toLowerCase()),i.trimFilter&&(t=t.replace(/^\s+|\s+$/g,"")),n&&(n=n.map((function(e){return e[i.valueKey]}))),e.filter((function(e){if(n&&n.indexOf(e[i.valueKey])>-1)return!1;if(i.filterOption)return i.filterOption.call(void 0,e,t);if(!t)return!0;var o=e[i.valueKey],r=e[i.labelKey],a=m(o),s=m(r);if(!a&&!s)return!1;var c=a?String(o):null,l=s?String(r):null;return i.ignoreAccents&&(c&&"label"!==i.matchProp&&(c=p(c)),l&&"value"!==i.matchProp&&(l=p(l))),i.ignoreCase&&(c&&"label"!==i.matchProp&&(c=c.toLowerCase()),l&&"value"!==i.matchProp&&(l=l.toLowerCase())),"start"===i.matchPos?c&&"label"!==i.matchProp&&c.substr(0,t.length)===t||l&&"value"!==i.matchProp&&l.substr(0,t.length)===t:c&&"label"!==i.matchProp&&c.indexOf(t)>=0||l&&"value"!==i.matchProp&&l.indexOf(t)>=0}))},I=function(e){var t=e.focusedOption,n=e.focusOption,i=e.inputValue,o=e.instancePrefix,a=e.onFocus,s=e.onOptionRef,c=e.onSelect,u=e.optionClassName,d=e.optionComponent,g=e.optionRenderer,p=e.options,m=e.removeValue,f=e.selectValue,I=e.valueArray,h=e.valueKey,b=d;return p.map((function(e,d){var p=I&&I.some((function(t){return t[h]===e[h]})),y=e===t,C=r()(u,{"Select-option":!0,"is-selected":p,"is-focused":y,"is-disabled":e.disabled});return l().createElement(b,{className:C,focusOption:n,inputValue:i,instancePrefix:o,isDisabled:e.disabled,isFocused:y,isSelected:p,key:"option-"+d+"-"+e[h],onFocus:a,onSelect:c,option:e,optionIndex:d,ref:function(e){s(e,y)},removeValue:m,selectValue:f},g(e,d,i))}))};I.propTypes={focusOption:s().func,focusedOption:s().object,inputValue:s().string,instancePrefix:s().string,onFocus:s().func,onOptionRef:s().func,onSelect:s().func,optionClassName:s().string,optionComponent:s().func,optionRenderer:s().func,options:s().array,removeValue:s().func,selectValue:s().func,valueArray:s().array,valueKey:s().string};var h=function(e){e.preventDefault(),e.stopPropagation(),"A"===e.target.tagName&&"href"in e.target&&(e.target.target?window.open(e.target.href,e.target.target):window.location.href=e.target.href)},b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y=(function(){function e(e){this.value=e}function t(t){var n,i;function o(n,i){try{var a=t[n](i),s=a.value;s instanceof e?Promise.resolve(s.value).then((function(e){o("next",e)}),(function(e){o("throw",e)})):r(a.done?"return":"normal",a.value)}catch(c){r("throw",c)}}function r(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?o(n.key,n.arg):i=null}this._invoke=function(e,t){return new Promise((function(r,a){var s={key:e,arg:t,resolve:r,reject:a,next:null};i?i=i.next=s:(n=i=s,o(e,t))}))},"function"!=typeof t.return&&(this.return=void 0)}"function"==typeof Symbol&&Symbol.asyncIterator&&(t.prototype[Symbol.asyncIterator]=function(){return this}),t.prototype.next=function(e){return this._invoke("next",e)},t.prototype.throw=function(e){return this._invoke("throw",e)},t.prototype.return=function(e){return this._invoke("return",e)}}(),function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}),C=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),v=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},B=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},A=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},_=function(e,t){var n={};for(var i in e)t.indexOf(i)>=0||Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i]);return n},S=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},G=function(e){function t(e){y(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.handleMouseEnter=n.handleMouseEnter.bind(n),n.handleMouseMove=n.handleMouseMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n.handleTouchEnd=n.handleTouchEnd.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.onFocus=n.onFocus.bind(n),n}return A(t,e),C(t,[{key:"handleMouseDown",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onSelect(this.props.option,e)}},{key:"handleMouseEnter",value:function(e){this.onFocus(e)}},{key:"handleMouseMove",value:function(e){this.onFocus(e)}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"onFocus",value:function(e){this.props.isFocused||this.props.onFocus(this.props.option,e)}},{key:"render",value:function(){var e=this.props,t=e.option,n=e.instancePrefix,i=e.optionIndex,o=r()(this.props.className,t.className);return t.disabled?l().createElement("div",{className:o,onMouseDown:h,onClick:h},this.props.children):l().createElement("div",{className:o,style:t.style,role:"option","aria-label":t.label,onMouseDown:this.handleMouseDown,onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,id:n+"-option-"+i,title:t.title},this.props.children)}}]),t}(l().Component);G.propTypes={children:s().node,className:s().string,instancePrefix:s().string.isRequired,isDisabled:s().bool,isFocused:s().bool,isSelected:s().bool,onFocus:s().func,onSelect:s().func,onUnfocus:s().func,option:s().object.isRequired,optionIndex:s().number};var Q=function(e){function t(e){y(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleMouseDown=n.handleMouseDown.bind(n),n.onRemove=n.onRemove.bind(n),n.handleTouchEndRemove=n.handleTouchEndRemove.bind(n),n.handleTouchMove=n.handleTouchMove.bind(n),n.handleTouchStart=n.handleTouchStart.bind(n),n}return A(t,e),C(t,[{key:"handleMouseDown",value:function(e){if("mousedown"!==e.type||0===e.button)return this.props.onClick?(e.stopPropagation(),void this.props.onClick(this.props.value,e)):void(this.props.value.href&&e.stopPropagation())}},{key:"onRemove",value:function(e){e.preventDefault(),e.stopPropagation(),this.props.onRemove(this.props.value)}},{key:"handleTouchEndRemove",value:function(e){this.dragging||this.onRemove(e)}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"renderRemoveIcon",value:function(){if(!this.props.disabled&&this.props.onRemove)return l().createElement("span",{className:"Select-value-icon","aria-hidden":"true",onMouseDown:this.onRemove,onTouchEnd:this.handleTouchEndRemove,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove},"×")}},{key:"renderLabel",value:function(){var e="Select-value-label";return this.props.onClick||this.props.value.href?l().createElement("a",{className:e,href:this.props.value.href,target:this.props.value.target,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleMouseDown},this.props.children):l().createElement("span",{className:e,role:"option","aria-selected":"true",id:this.props.id},this.props.children)}},{key:"render",value:function(){return l().createElement("div",{className:r()("Select-value",this.props.value.className),style:this.props.value.style,title:this.props.value.title},this.renderRemoveIcon(),this.renderLabel())}}]),t}(l().Component);Q.propTypes={children:s().node,disabled:s().bool,id:s().string,onClick:s().func,onRemove:s().func,value:s().object.isRequired};
/*!
  Copyright (c) 2018 Jed Watson.
  Licensed under the MIT License (MIT), see
  http://jedwatson.github.io/react-select
*/
var E=function(e){return"string"==typeof e?e:null!==e&&JSON.stringify(e)||""},F=s().oneOfType([s().string,s().node]),w=s().oneOfType([s().string,s().number]),T=1,x=function(e,t){var n=void 0===e?"undefined":b(e);if("string"!==n&&"number"!==n&&"boolean"!==n)return e;var i=t.options,o=t.valueKey;if(i)for(var r=0;r<i.length;r++)if(String(i[r][o])===String(e))return i[r]},k=function(e,t){return!e||(t?0===e.length:0===Object.keys(e).length)},N=function(e){function t(e){y(this,t);var n=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return["clearValue","focusOption","getOptionLabel","handleInputBlur","handleInputChange","handleInputFocus","handleInputValueChange","handleKeyDown","handleMenuScroll","handleMouseDown","handleMouseDownOnArrow","handleMouseDownOnMenu","handleTouchEnd","handleTouchEndClearValue","handleTouchMove","handleTouchOutside","handleTouchStart","handleValueClick","onOptionRef","removeValue","selectValue"].forEach((function(e){return n[e]=n[e].bind(n)})),n.state={inputValue:"",isFocused:!1,isOpen:!1,isPseudoFocused:!1,required:!1},n}return A(t,e),C(t,[{key:"componentWillMount",value:function(){this._instancePrefix="react-select-"+(this.props.instanceId||++T)+"-";var e=this.getValueArray(this.props.value);this.props.required&&this.setState({required:k(e[0],this.props.multi)})}},{key:"componentDidMount",value:function(){void 0!==this.props.autofocus&&"undefined"!=typeof console&&console.warn("Warning: The autofocus prop has changed to autoFocus, support will be removed after react-select@1.0"),(this.props.autoFocus||this.props.autofocus)&&this.focus()}},{key:"componentWillReceiveProps",value:function(e){var t=this.getValueArray(e.value,e);e.required?this.setState({required:k(t[0],e.multi)}):this.props.required&&this.setState({required:!1}),this.state.inputValue&&this.props.value!==e.value&&e.onSelectResetsInput&&this.setState({inputValue:this.handleInputValueChange("")})}},{key:"componentDidUpdate",value:function(e,t){if(this.menu&&this.focused&&this.state.isOpen&&!this.hasScrolledToOption){var n=(0,u.findDOMNode)(this.focused),i=(0,u.findDOMNode)(this.menu),o=i.scrollTop,r=o+i.offsetHeight,a=n.offsetTop,s=a+n.offsetHeight;(o>a||r<s)&&(i.scrollTop=n.offsetTop),this.hasScrolledToOption=!0}else this.state.isOpen||(this.hasScrolledToOption=!1);if(this._scrollToFocusedOptionOnUpdate&&this.focused&&this.menu){this._scrollToFocusedOptionOnUpdate=!1;var c=(0,u.findDOMNode)(this.focused),l=(0,u.findDOMNode)(this.menu),d=c.getBoundingClientRect(),g=l.getBoundingClientRect();d.bottom>g.bottom?l.scrollTop=c.offsetTop+c.clientHeight-l.offsetHeight:d.top<g.top&&(l.scrollTop=c.offsetTop)}if(this.props.scrollMenuIntoView&&this.menuContainer){var p=this.menuContainer.getBoundingClientRect();window.innerHeight<p.bottom+this.props.menuBuffer&&window.scrollBy(0,p.bottom+this.props.menuBuffer-window.innerHeight)}if(e.disabled!==this.props.disabled&&(this.setState({isFocused:!1}),this.closeMenu()),t.isOpen!==this.state.isOpen){this.toggleTouchOutsideEvent(this.state.isOpen);var m=this.state.isOpen?this.props.onOpen:this.props.onClose;m&&m()}}},{key:"componentWillUnmount",value:function(){this.toggleTouchOutsideEvent(!1)}},{key:"toggleTouchOutsideEvent",value:function(e){e?!document.addEventListener&&document.attachEvent?document.attachEvent("ontouchstart",this.handleTouchOutside):document.addEventListener("touchstart",this.handleTouchOutside):!document.removeEventListener&&document.detachEvent?document.detachEvent("ontouchstart",this.handleTouchOutside):document.removeEventListener("touchstart",this.handleTouchOutside)}},{key:"handleTouchOutside",value:function(e){this.wrapper&&!this.wrapper.contains(e.target)&&this.closeMenu()}},{key:"focus",value:function(){this.input&&this.input.focus()}},{key:"blurInput",value:function(){this.input&&this.input.blur()}},{key:"handleTouchMove",value:function(){this.dragging=!0}},{key:"handleTouchStart",value:function(){this.dragging=!1}},{key:"handleTouchEnd",value:function(e){this.dragging||this.handleMouseDown(e)}},{key:"handleTouchEndClearValue",value:function(e){this.dragging||this.clearValue(e)}},{key:"handleMouseDown",value:function(e){if(!(this.props.disabled||"mousedown"===e.type&&0!==e.button))if("INPUT"!==e.target.tagName){if(e.preventDefault(),!this.props.searchable)return this.focus(),this.setState({isOpen:!this.state.isOpen});if(this.state.isFocused){this.focus();var t=this.input,n=!0;"function"==typeof t.getInput&&(t=t.getInput()),t.value="",this._focusAfterClear&&(n=!1,this._focusAfterClear=!1),this.setState({isOpen:n,isPseudoFocused:!1,focusedOption:null})}else this._openAfterFocus=this.props.openOnClick,this.focus(),this.setState({focusedOption:null})}else this.state.isFocused?this.state.isOpen||this.setState({isOpen:!0,isPseudoFocused:!1}):(this._openAfterFocus=this.props.openOnClick,this.focus())}},{key:"handleMouseDownOnArrow",value:function(e){this.props.disabled||"mousedown"===e.type&&0!==e.button||(this.state.isOpen?(e.stopPropagation(),e.preventDefault(),this.closeMenu()):this.setState({isOpen:!0}))}},{key:"handleMouseDownOnMenu",value:function(e){this.props.disabled||"mousedown"===e.type&&0!==e.button||(e.stopPropagation(),e.preventDefault(),this._openAfterFocus=!0,this.focus())}},{key:"closeMenu",value:function(){this.props.onCloseResetsInput?this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1,isPseudoFocused:this.state.isFocused&&!this.props.multi}):this.setState({isOpen:!1,isPseudoFocused:this.state.isFocused&&!this.props.multi}),this.hasScrolledToOption=!1}},{key:"handleInputFocus",value:function(e){if(!this.props.disabled){var t=this.state.isOpen||this._openAfterFocus||this.props.openOnFocus;t=!this._focusAfterClear&&t,this.props.onFocus&&this.props.onFocus(e),this.setState({isFocused:!0,isOpen:!!t}),this._focusAfterClear=!1,this._openAfterFocus=!1}}},{key:"handleInputBlur",value:function(e){if(!this.menu||this.menu!==document.activeElement&&!this.menu.contains(document.activeElement)){this.props.onBlur&&this.props.onBlur(e);var t={isFocused:!1,isOpen:!1,isPseudoFocused:!1};this.props.onBlurResetsInput&&(t.inputValue=this.handleInputValueChange("")),this.setState(t)}else this.focus()}},{key:"handleInputChange",value:function(e){var t=e.target.value;this.state.inputValue!==e.target.value&&(t=this.handleInputValueChange(t)),this.setState({inputValue:t,isOpen:!0,isPseudoFocused:!1})}},{key:"setInputValue",value:function(e){if(this.props.onInputChange){var t=this.props.onInputChange(e);null!=t&&"object"!==(void 0===t?"undefined":b(t))&&(e=""+t)}this.setState({inputValue:e})}},{key:"handleInputValueChange",value:function(e){if(this.props.onInputChange){var t=this.props.onInputChange(e);null!=t&&"object"!==(void 0===t?"undefined":b(t))&&(e=""+t)}return e}},{key:"handleKeyDown",value:function(e){if(!(this.props.disabled||"function"==typeof this.props.onInputKeyDown&&(this.props.onInputKeyDown(e),e.defaultPrevented)))switch(e.keyCode){case 8:!this.state.inputValue&&this.props.backspaceRemoves&&(e.preventDefault(),this.popValue());break;case 9:if(e.shiftKey||!this.state.isOpen||!this.props.tabSelectsValue)break;e.preventDefault(),this.selectFocusedOption();break;case 13:e.preventDefault(),e.stopPropagation(),this.state.isOpen?this.selectFocusedOption():this.focusNextOption();break;case 27:e.preventDefault(),this.state.isOpen?(this.closeMenu(),e.stopPropagation()):this.props.clearable&&this.props.escapeClearsValue&&(this.clearValue(e),e.stopPropagation());break;case 32:if(this.props.searchable)break;if(e.preventDefault(),!this.state.isOpen){this.focusNextOption();break}e.stopPropagation(),this.selectFocusedOption();break;case 38:e.preventDefault(),this.focusPreviousOption();break;case 40:e.preventDefault(),this.focusNextOption();break;case 33:e.preventDefault(),this.focusPageUpOption();break;case 34:e.preventDefault(),this.focusPageDownOption();break;case 35:if(e.shiftKey)break;e.preventDefault(),this.focusEndOption();break;case 36:if(e.shiftKey)break;e.preventDefault(),this.focusStartOption();break;case 46:!this.state.inputValue&&this.props.deleteRemoves&&(e.preventDefault(),this.popValue())}}},{key:"handleValueClick",value:function(e,t){this.props.onValueClick&&this.props.onValueClick(e,t)}},{key:"handleMenuScroll",value:function(e){if(this.props.onMenuScrollToBottom){var t=e.target;t.scrollHeight>t.offsetHeight&&t.scrollHeight-t.offsetHeight-t.scrollTop<=0&&this.props.onMenuScrollToBottom()}}},{key:"getOptionLabel",value:function(e){return e[this.props.labelKey]}},{key:"getValueArray",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n="object"===(void 0===t?"undefined":b(t))?t:this.props;if(n.multi){if("string"==typeof e&&(e=e.split(n.delimiter)),!Array.isArray(e)){if(null==e)return[];e=[e]}return e.map((function(e){return x(e,n)})).filter((function(e){return e}))}var i=x(e,n);return i?[i]:[]}},{key:"setValue",value:function(e){var t=this;if(this.props.autoBlur&&this.blurInput(),this.props.required){var n=k(e,this.props.multi);this.setState({required:n})}this.props.simpleValue&&e&&(e=this.props.multi?e.map((function(e){return e[t.props.valueKey]})).join(this.props.delimiter):e[this.props.valueKey]),this.props.onChange&&this.props.onChange(e)}},{key:"selectValue",value:function(e){var t=this;this.props.closeOnSelect&&(this.hasScrolledToOption=!1);var n=this.props.onSelectResetsInput?"":this.state.inputValue;this.props.multi?this.setState({focusedIndex:null,inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect},(function(){t.getValueArray(t.props.value).some((function(n){return n[t.props.valueKey]===e[t.props.valueKey]}))?t.removeValue(e):t.addValue(e)})):this.setState({inputValue:this.handleInputValueChange(n),isOpen:!this.props.closeOnSelect,isPseudoFocused:this.state.isFocused},(function(){t.setValue(e)}))}},{key:"addValue",value:function(e){var t=this.getValueArray(this.props.value),n=this._visibleOptions.filter((function(e){return!e.disabled})),i=n.indexOf(e);this.setValue(t.concat(e)),n.length-1===i?this.focusOption(n[i-1]):n.length>i&&this.focusOption(n[i+1])}},{key:"popValue",value:function(){var e=this.getValueArray(this.props.value);e.length&&!1!==e[e.length-1].clearableValue&&this.setValue(this.props.multi?e.slice(0,e.length-1):null)}},{key:"removeValue",value:function(e){var t=this,n=this.getValueArray(this.props.value);this.setValue(n.filter((function(n){return n[t.props.valueKey]!==e[t.props.valueKey]}))),this.focus()}},{key:"clearValue",value:function(e){e&&"mousedown"===e.type&&0!==e.button||(e.preventDefault(),this.setValue(this.getResetValue()),this.setState({inputValue:this.handleInputValueChange(""),isOpen:!1},this.focus),this._focusAfterClear=!0)}},{key:"getResetValue",value:function(){return void 0!==this.props.resetValue?this.props.resetValue:this.props.multi?[]:null}},{key:"focusOption",value:function(e){this.setState({focusedOption:e})}},{key:"focusNextOption",value:function(){this.focusAdjacentOption("next")}},{key:"focusPreviousOption",value:function(){this.focusAdjacentOption("previous")}},{key:"focusPageUpOption",value:function(){this.focusAdjacentOption("page_up")}},{key:"focusPageDownOption",value:function(){this.focusAdjacentOption("page_down")}},{key:"focusStartOption",value:function(){this.focusAdjacentOption("start")}},{key:"focusEndOption",value:function(){this.focusAdjacentOption("end")}},{key:"focusAdjacentOption",value:function(e){var t=this._visibleOptions.map((function(e,t){return{option:e,index:t}})).filter((function(e){return!e.option.disabled}));if(this._scrollToFocusedOptionOnUpdate=!0,!this.state.isOpen){var n={focusedOption:this._focusedOption||(t.length?t["next"===e?0:t.length-1].option:null),isOpen:!0};return this.props.onSelectResetsInput&&(n.inputValue=""),void this.setState(n)}if(t.length){for(var i=-1,o=0;o<t.length;o++)if(this._focusedOption===t[o].option){i=o;break}if("next"===e&&-1!==i)i=(i+1)%t.length;else if("previous"===e)i>0?i-=1:i=t.length-1;else if("start"===e)i=0;else if("end"===e)i=t.length-1;else if("page_up"===e){var r=i-this.props.pageSize;i=r<0?0:r}else if("page_down"===e){var a=i+this.props.pageSize;i=a>t.length-1?t.length-1:a}-1===i&&(i=0),this.setState({focusedIndex:t[i].index,focusedOption:t[i].option})}}},{key:"getFocusedOption",value:function(){return this._focusedOption}},{key:"selectFocusedOption",value:function(){if(this._focusedOption)return this.selectValue(this._focusedOption)}},{key:"renderLoading",value:function(){if(this.props.isLoading)return l().createElement("span",{className:"Select-loading-zone","aria-hidden":"true"},l().createElement("span",{className:"Select-loading"}))}},{key:"renderValue",value:function(e,t){var n=this,i=this.props.valueRenderer||this.getOptionLabel,o=this.props.valueComponent;if(!e.length){var r=function(e,t,n){var i=e.inputValue,o=e.isPseudoFocused,r=e.isFocused,a=t.onSelectResetsInput;return!i||!a&&!n&&!o&&!r}(this.state,this.props,t);return r?l().createElement("div",{className:"Select-placeholder"},this.props.placeholder):null}var a,s,c,u,d,g,p=this.props.onValueClick?this.handleValueClick:null;return this.props.multi?e.map((function(e,t){return l().createElement(o,{disabled:n.props.disabled||!1===e.clearableValue,id:n._instancePrefix+"-value-"+t,instancePrefix:n._instancePrefix,key:"value-"+t+"-"+e[n.props.valueKey],onClick:p,onRemove:n.removeValue,placeholder:n.props.placeholder,value:e},i(e,t),l().createElement("span",{className:"Select-aria-only"}," "))})):(a=this.state,s=this.props,c=a.inputValue,u=a.isPseudoFocused,d=a.isFocused,g=s.onSelectResetsInput,c&&(g||!d&&u||d&&!u)?void 0:(t&&(p=null),l().createElement(o,{disabled:this.props.disabled,id:this._instancePrefix+"-value-item",instancePrefix:this._instancePrefix,onClick:p,placeholder:this.props.placeholder,value:e[0]},i(e[0]))))}},{key:"renderInput",value:function(e,t){var n,o=this,a=r()("Select-input",this.props.inputProps.className),s=this.state.isOpen,c=r()((v(n={},this._instancePrefix+"-list",s),v(n,this._instancePrefix+"-backspace-remove-message",this.props.multi&&!this.props.disabled&&this.state.isFocused&&!this.state.inputValue),n)),u=this.state.inputValue;!u||this.props.onSelectResetsInput||this.state.isFocused||(u="");var d=B({},this.props.inputProps,{"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-describedby":this.props["aria-describedby"],"aria-expanded":""+s,"aria-haspopup":""+s,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-owns":c,className:a,onBlur:this.handleInputBlur,onChange:this.handleInputChange,onFocus:this.handleInputFocus,ref:function(e){return o.input=e},role:"combobox",required:this.state.required,tabIndex:this.props.tabIndex,value:u});if(this.props.inputRenderer)return this.props.inputRenderer(d);if(this.props.disabled||!this.props.searchable){var g=_(this.props.inputProps,[]),p=r()(v({},this._instancePrefix+"-list",s));return l().createElement("div",B({},g,{"aria-expanded":s,"aria-owns":p,"aria-activedescendant":s?this._instancePrefix+"-option-"+t:this._instancePrefix+"-value","aria-disabled":""+this.props.disabled,"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],className:a,onBlur:this.handleInputBlur,onFocus:this.handleInputFocus,ref:function(e){return o.input=e},role:"combobox",style:{border:0,width:1,display:"inline-block"},tabIndex:this.props.tabIndex||0}))}return this.props.autosize?l().createElement(i.A,B({id:this.props.id},d,{minWidth:"5"})):l().createElement("div",{className:a,key:"input-wrap",style:{display:"inline-block"}},l().createElement("input",B({id:this.props.id},d)))}},{key:"renderClear",value:function(){var e=this.getValueArray(this.props.value);if(this.props.clearable&&e.length&&!this.props.disabled&&!this.props.isLoading){var t=this.props.multi?this.props.clearAllText:this.props.clearValueText,n=this.props.clearRenderer();return l().createElement("span",{"aria-label":t,className:"Select-clear-zone",onMouseDown:this.clearValue,onTouchEnd:this.handleTouchEndClearValue,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,title:t},n)}}},{key:"renderArrow",value:function(){if(this.props.arrowRenderer){var e=this.handleMouseDownOnArrow,t=this.state.isOpen,n=this.props.arrowRenderer({onMouseDown:e,isOpen:t});return n?l().createElement("span",{className:"Select-arrow-zone",onMouseDown:e},n):null}}},{key:"filterOptions",value:function(e){var t=this.state.inputValue,n=this.props.options||[];return this.props.filterOptions?("function"==typeof this.props.filterOptions?this.props.filterOptions:f)(n,t,e,{filterOption:this.props.filterOption,ignoreAccents:this.props.ignoreAccents,ignoreCase:this.props.ignoreCase,labelKey:this.props.labelKey,matchPos:this.props.matchPos,matchProp:this.props.matchProp,trimFilter:this.props.trimFilter,valueKey:this.props.valueKey}):n}},{key:"onOptionRef",value:function(e,t){t&&(this.focused=e)}},{key:"renderMenu",value:function(e,t,n){return e&&e.length?this.props.menuRenderer({focusedOption:n,focusOption:this.focusOption,inputValue:this.state.inputValue,instancePrefix:this._instancePrefix,labelKey:this.props.labelKey,onFocus:this.focusOption,onOptionRef:this.onOptionRef,onSelect:this.selectValue,optionClassName:this.props.optionClassName,optionComponent:this.props.optionComponent,optionRenderer:this.props.optionRenderer||this.getOptionLabel,options:e,removeValue:this.removeValue,selectValue:this.selectValue,valueArray:t,valueKey:this.props.valueKey}):this.props.noResultsText?l().createElement("div",{className:"Select-noresults"},this.props.noResultsText):null}},{key:"renderHiddenField",value:function(e){var t=this;if(this.props.name){if(this.props.joinValues){var n=e.map((function(e){return E(e[t.props.valueKey])})).join(this.props.delimiter);return l().createElement("input",{disabled:this.props.disabled,name:this.props.name,ref:function(e){return t.value=e},type:"hidden",value:n})}return e.map((function(e,n){return l().createElement("input",{disabled:t.props.disabled,key:"hidden."+n,name:t.props.name,ref:"value"+n,type:"hidden",value:E(e[t.props.valueKey])})}))}}},{key:"getFocusableOptionIndex",value:function(e){var t=this._visibleOptions;if(!t.length)return null;var n=this.props.valueKey,i=this.state.focusedOption||e;if(i&&!i.disabled){var o=-1;if(t.some((function(e,t){var r=e[n]===i[n];return r&&(o=t),r})),-1!==o)return o}for(var r=0;r<t.length;r++)if(!t[r].disabled)return r;return null}},{key:"renderOuter",value:function(e,t,n){var i=this,o=this.renderMenu(e,t,n);return o?l().createElement("div",{ref:function(e){return i.menuContainer=e},className:"Select-menu-outer",style:this.props.menuContainerStyle},l().createElement("div",{className:"Select-menu",id:this._instancePrefix+"-list",onMouseDown:this.handleMouseDownOnMenu,onScroll:this.handleMenuScroll,ref:function(e){return i.menu=e},role:"listbox",style:this.props.menuStyle,tabIndex:-1},o)):null}},{key:"render",value:function(){var e=this,t=this.getValueArray(this.props.value),n=this._visibleOptions=this.filterOptions(this.props.multi&&this.props.removeSelected?t:null),i=this.state.isOpen;this.props.multi&&!n.length&&t.length&&!this.state.inputValue&&(i=!1);var o,a=this.getFocusableOptionIndex(t[0]);o=this._focusedOption=null!==a?n[a]:null;var s=r()("Select",this.props.className,{"has-value":t.length,"is-clearable":this.props.clearable,"is-disabled":this.props.disabled,"is-focused":this.state.isFocused,"is-loading":this.props.isLoading,"is-open":i,"is-pseudo-focused":this.state.isPseudoFocused,"is-searchable":this.props.searchable,"Select--multi":this.props.multi,"Select--rtl":this.props.rtl,"Select--single":!this.props.multi}),c=null;return this.props.multi&&!this.props.disabled&&t.length&&!this.state.inputValue&&this.state.isFocused&&this.props.backspaceRemoves&&(c=l().createElement("span",{id:this._instancePrefix+"-backspace-remove-message",className:"Select-aria-only","aria-live":"assertive"},this.props.backspaceToRemoveMessage.replace("{label}",t[t.length-1][this.props.labelKey]))),l().createElement("div",{ref:function(t){return e.wrapper=t},className:s,style:this.props.wrapperStyle},this.renderHiddenField(t),l().createElement("div",{ref:function(t){return e.control=t},className:"Select-control",onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown,onTouchEnd:this.handleTouchEnd,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,style:this.props.style},l().createElement("span",{className:"Select-multi-value-wrapper",id:this._instancePrefix+"-value"},this.renderValue(t,i),this.renderInput(t,a)),c,this.renderLoading(),this.renderClear(),this.renderArrow()),i?this.renderOuter(n,t,o):null)}}]),t}(l().Component);N.propTypes={"aria-describedby":s().string,"aria-label":s().string,"aria-labelledby":s().string,arrowRenderer:s().func,autoBlur:s().bool,autoFocus:s().bool,autofocus:s().bool,autosize:s().bool,backspaceRemoves:s().bool,backspaceToRemoveMessage:s().string,className:s().string,clearAllText:F,clearRenderer:s().func,clearValueText:F,clearable:s().bool,closeOnSelect:s().bool,deleteRemoves:s().bool,delimiter:s().string,disabled:s().bool,escapeClearsValue:s().bool,filterOption:s().func,filterOptions:s().any,id:s().string,ignoreAccents:s().bool,ignoreCase:s().bool,inputProps:s().object,inputRenderer:s().func,instanceId:s().string,isLoading:s().bool,joinValues:s().bool,labelKey:s().string,matchPos:s().string,matchProp:s().string,menuBuffer:s().number,menuContainerStyle:s().object,menuRenderer:s().func,menuStyle:s().object,multi:s().bool,name:s().string,noResultsText:F,onBlur:s().func,onBlurResetsInput:s().bool,onChange:s().func,onClose:s().func,onCloseResetsInput:s().bool,onFocus:s().func,onInputChange:s().func,onInputKeyDown:s().func,onMenuScrollToBottom:s().func,onOpen:s().func,onSelectResetsInput:s().bool,onValueClick:s().func,openOnClick:s().bool,openOnFocus:s().bool,optionClassName:s().string,optionComponent:s().func,optionRenderer:s().func,options:s().array,pageSize:s().number,placeholder:F,removeSelected:s().bool,required:s().bool,resetValue:s().any,rtl:s().bool,scrollMenuIntoView:s().bool,searchable:s().bool,simpleValue:s().bool,style:s().object,tabIndex:w,tabSelectsValue:s().bool,trimFilter:s().bool,value:s().any,valueComponent:s().func,valueKey:s().string,valueRenderer:s().func,wrapperStyle:s().object},N.defaultProps={arrowRenderer:d,autosize:!0,backspaceRemoves:!0,backspaceToRemoveMessage:"Press backspace to remove {label}",clearable:!0,clearAllText:"Clear all",clearRenderer:function(){return l().createElement("span",{className:"Select-clear",dangerouslySetInnerHTML:{__html:"&times;"}})},clearValueText:"Clear value",closeOnSelect:!0,deleteRemoves:!0,delimiter:",",disabled:!1,escapeClearsValue:!0,filterOptions:f,ignoreAccents:!0,ignoreCase:!0,inputProps:{},isLoading:!1,joinValues:!1,labelKey:"label",matchPos:"any",matchProp:"any",menuBuffer:0,menuRenderer:I,multi:!1,noResultsText:"No results found",onBlurResetsInput:!0,onCloseResetsInput:!0,onSelectResetsInput:!0,openOnClick:!0,optionComponent:G,pageSize:5,placeholder:"Select...",removeSelected:!0,required:!1,rtl:!1,scrollMenuIntoView:!0,searchable:!0,simpleValue:!1,tabSelectsValue:!0,trimFilter:!0,valueComponent:Q,valueKey:"value"};var O={autoload:s().bool.isRequired,cache:s().any,children:s().func.isRequired,ignoreAccents:s().bool,ignoreCase:s().bool,loadOptions:s().func.isRequired,loadingPlaceholder:s().oneOfType([s().string,s().node]),multi:s().bool,noResultsText:s().oneOfType([s().string,s().node]),onChange:s().func,onInputChange:s().func,options:s().array.isRequired,placeholder:s().oneOfType([s().string,s().node]),searchPromptText:s().oneOfType([s().string,s().node]),value:s().any},Z={},U={autoload:!0,cache:Z,children:function(e){return l().createElement(N,e)},ignoreAccents:!0,ignoreCase:!0,loadingPlaceholder:"Loading...",options:[],searchPromptText:"Type to search"},R=function(e){function t(e,n){y(this,t);var i=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return i._cache=e.cache===Z?{}:e.cache,i.state={inputValue:"",isLoading:!1,options:e.options},i.onInputChange=i.onInputChange.bind(i),i}return A(t,e),C(t,[{key:"componentDidMount",value:function(){this.props.autoload&&this.loadOptions("")}},{key:"componentWillReceiveProps",value:function(e){e.options!==this.props.options&&this.setState({options:e.options})}},{key:"componentWillUnmount",value:function(){this._callback=null}},{key:"loadOptions",value:function(e){var t=this,n=this.props.loadOptions,i=this._cache;if(i&&Object.prototype.hasOwnProperty.call(i,e))return this._callback=null,void this.setState({isLoading:!1,options:i[e]});var o=function n(o,r){var a=r&&r.options||[];i&&(i[e]=a),n===t._callback&&(t._callback=null,t.setState({isLoading:!1,options:a}))};this._callback=o;var r=n(e,o);r&&r.then((function(e){return o(0,e)}),(function(e){return o()})),this._callback&&!this.state.isLoading&&this.setState({isLoading:!0})}},{key:"onInputChange",value:function(e){var t=this.props,n=t.ignoreAccents,i=t.ignoreCase,o=t.onInputChange,r=e;if(o){var a=o(r);null!=a&&"object"!==(void 0===a?"undefined":b(a))&&(r=""+a)}var s=r;return n&&(s=p(s)),i&&(s=s.toLowerCase()),this.setState({inputValue:r}),this.loadOptions(s),r}},{key:"noResultsText",value:function(){var e=this.props,t=e.loadingPlaceholder,n=e.noResultsText,i=e.searchPromptText,o=this.state,r=o.inputValue;return o.isLoading?t:r&&n?n:i}},{key:"focus",value:function(){this.select.focus()}},{key:"render",value:function(){var e=this,t=this.props,n=t.children,i=t.loadingPlaceholder,o=t.placeholder,r=this.state,a=r.isLoading,s=r.options,c={noResultsText:this.noResultsText(),placeholder:a?i:o,options:a&&i?[]:s,ref:function(t){return e.select=t}};return n(B({},this.props,c,{isLoading:a,onInputChange:this.onInputChange}))}}]),t}(c.Component);R.propTypes=O,R.defaultProps=U;var X=function(e){function t(e,n){y(this,t);var i=S(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return i.filterOptions=i.filterOptions.bind(i),i.menuRenderer=i.menuRenderer.bind(i),i.onInputKeyDown=i.onInputKeyDown.bind(i),i.onInputChange=i.onInputChange.bind(i),i.onOptionSelect=i.onOptionSelect.bind(i),i}return A(t,e),C(t,[{key:"createNewOption",value:function(){var e=this.props,t=e.isValidNewOption,n=e.newOptionCreator,i=e.onNewOptionClick,o=e.options,r=void 0===o?[]:o;if(t({label:this.inputValue})){var a=n({label:this.inputValue,labelKey:this.labelKey,valueKey:this.valueKey});this.isOptionUnique({option:a,options:r})&&(i?i(a):(r.unshift(a),this.select.selectValue(a)))}}},{key:"filterOptions",value:function(){var e=this.props,t=e.filterOptions,n=e.isValidNewOption,i=e.promptTextCreator,o=(arguments.length<=2?void 0:arguments[2])||[],r=t.apply(void 0,arguments)||[];if(n({label:this.inputValue})){var a=this.props.newOptionCreator,s=a({label:this.inputValue,labelKey:this.labelKey,valueKey:this.valueKey});if(this.isOptionUnique({option:s,options:o.concat(r)})){var c=i(this.inputValue);this._createPlaceholderOption=a({label:c,labelKey:this.labelKey,valueKey:this.valueKey}),r.unshift(this._createPlaceholderOption)}}return r}},{key:"isOptionUnique",value:function(e){var t=e.option,n=e.options,i=this.props.isOptionUnique;return n=n||this.props.options,i({labelKey:this.labelKey,option:t,options:n,valueKey:this.valueKey})}},{key:"menuRenderer",value:function(e){return(0,this.props.menuRenderer)(B({},e,{onSelect:this.onOptionSelect,selectValue:this.onOptionSelect}))}},{key:"onInputChange",value:function(e){var t=this.props.onInputChange;return this.inputValue=e,t&&(this.inputValue=t(e)),this.inputValue}},{key:"onInputKeyDown",value:function(e){var t=this.props,n=t.shouldKeyDownEventCreateNewOption,i=t.onInputKeyDown,o=this.select.getFocusedOption();o&&o===this._createPlaceholderOption&&n({keyCode:e.keyCode})?(this.createNewOption(),e.preventDefault()):i&&i(e)}},{key:"onOptionSelect",value:function(e){e===this._createPlaceholderOption?this.createNewOption():this.select.selectValue(e)}},{key:"focus",value:function(){this.select.focus()}},{key:"render",value:function(){var e=this,t=this.props,n=t.ref,i=_(t,["ref"]),o=this.props.children;return o||(o=W),o(B({},i,{allowCreate:!0,filterOptions:this.filterOptions,menuRenderer:this.menuRenderer,onInputChange:this.onInputChange,onInputKeyDown:this.onInputKeyDown,ref:function(t){e.select=t,t&&(e.labelKey=t.props.labelKey,e.valueKey=t.props.valueKey),n&&n(t)}}))}}]),t}(l().Component),W=function(e){return l().createElement(N,e)},V=function(e){var t=e.option,n=e.options,i=e.labelKey,o=e.valueKey;return!n||!n.length||0===n.filter((function(e){return e[i]===t[i]||e[o]===t[o]})).length},P=function(e){return!!e.label},D=function(e){var t=e.label,n=e.labelKey,i={};return i[e.valueKey]=t,i[n]=t,i.className="Select-create-option-placeholder",i},H=function(e){return'Create option "'+e+'"'},L=function(e){switch(e.keyCode){case 9:case 13:case 188:return!0;default:return!1}};X.isOptionUnique=V,X.isValidNewOption=P,X.newOptionCreator=D,X.promptTextCreator=H,X.shouldKeyDownEventCreateNewOption=L,X.defaultProps={filterOptions:f,isOptionUnique:V,isValidNewOption:P,menuRenderer:I,newOptionCreator:D,promptTextCreator:H,shouldKeyDownEventCreateNewOption:L},X.propTypes={children:s().func,filterOptions:s().any,isOptionUnique:s().func,isValidNewOption:s().func,menuRenderer:s().any,newOptionCreator:s().func,onInputChange:s().func,onInputKeyDown:s().func,onNewOptionClick:s().func,options:s().array,promptTextCreator:s().func,ref:s().func,shouldKeyDownEventCreateNewOption:s().func};var Y=function(e){function t(){return y(this,t),S(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return A(t,e),C(t,[{key:"focus",value:function(){this.select.focus()}},{key:"render",value:function(){var e=this;return l().createElement(R,this.props,(function(t){var n=t.ref,i=_(t,["ref"]),o=n;return l().createElement(X,i,(function(t){var n=t.ref,i=_(t,["ref"]),r=n;return e.props.children(B({},i,{ref:function(t){r(t),o(t),e.select=t}}))}))}))}}]),t}(l().Component);Y.propTypes={children:s().func.isRequired},Y.defaultProps={children:function(e){return l().createElement(N,e)}},N.Async=R,N.AsyncCreatable=Y,N.Creatable=X,N.Value=Q,N.Option=G;const M=N},9223:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.PrevArrow=t.NextArrow=void 0;var o=s(n(5927)),r=s(n(6942)),a=n(9445);function s(e){return e&&e.__esModule?e:{default:e}}function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},c.apply(this,arguments)}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){d(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function p(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function m(e,t,n){return t&&p(e.prototype,t),n&&p(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function f(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&I(e,t)}function I(e,t){return I=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},I(e,t)}function h(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=b(e);if(t){var r=b(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}var y=function(e){f(n,e);var t=h(n);function n(){return g(this,n),t.apply(this,arguments)}return m(n,[{key:"clickHandler",value:function(e,t){t&&t.preventDefault(),this.props.clickHandler(e,t)}},{key:"render",value:function(){var e={"slick-arrow":!0,"slick-prev":!0},t=this.clickHandler.bind(this,{message:"previous"});!this.props.infinite&&(0===this.props.currentSlide||this.props.slideCount<=this.props.slidesToShow)&&(e["slick-disabled"]=!0,t=null);var n={key:"0","data-role":"none",className:(0,r.default)(e),style:{display:"block"},onClick:t},i={currentSlide:this.props.currentSlide,slideCount:this.props.slideCount};return this.props.prevArrow?o.default.cloneElement(this.props.prevArrow,u(u({},n),i)):o.default.createElement("button",c({key:"0",type:"button"},n)," ","Previous")}}]),n}(o.default.PureComponent);t.PrevArrow=y;var C=function(e){f(n,e);var t=h(n);function n(){return g(this,n),t.apply(this,arguments)}return m(n,[{key:"clickHandler",value:function(e,t){t&&t.preventDefault(),this.props.clickHandler(e,t)}},{key:"render",value:function(){var e={"slick-arrow":!0,"slick-next":!0},t=this.clickHandler.bind(this,{message:"next"});(0,a.canGoNext)(this.props)||(e["slick-disabled"]=!0,t=null);var n={key:"1","data-role":"none",className:(0,r.default)(e),style:{display:"block"},onClick:t},i={currentSlide:this.props.currentSlide,slideCount:this.props.slideCount};return this.props.nextArrow?o.default.cloneElement(this.props.nextArrow,u(u({},n),i)):o.default.createElement("button",c({key:"1",type:"button"},n)," ","Next")}}]),n}(o.default.PureComponent);t.NextArrow=C},1327:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i,o=(i=n(5927))&&i.__esModule?i:{default:i},r={accessibility:!0,adaptiveHeight:!1,afterChange:null,appendDots:function(e){return o.default.createElement("ul",{style:{display:"block"}},e)},arrows:!0,autoplay:!1,autoplaySpeed:3e3,beforeChange:null,centerMode:!1,centerPadding:"50px",className:"",cssEase:"ease",customPaging:function(e){return o.default.createElement("button",null,e+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,infinite:!0,initialSlide:0,lazyLoad:null,nextArrow:null,onEdge:null,onInit:null,onLazyLoadError:null,onReInit:null,pauseOnDotsHover:!1,pauseOnFocus:!1,pauseOnHover:!0,prevArrow:null,responsive:null,rows:1,rtl:!1,slide:"div",slidesPerRow:1,slidesToScroll:1,slidesToShow:1,speed:500,swipe:!0,swipeEvent:null,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,waitForAnimate:!0};t.default=r},773:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.Dots=void 0;var o=s(n(5927)),r=s(n(6942)),a=n(9445);function s(e){return e&&e.__esModule?e:{default:e}}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function d(e,t){return d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},d(e,t)}function g(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=p(e);if(t){var r=p(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(this,n)}}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}var m=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}(s,e);var t,n,i=g(s);function s(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,s),i.apply(this,arguments)}return t=s,n=[{key:"clickHandler",value:function(e,t){t.preventDefault(),this.props.clickHandler(e)}},{key:"render",value:function(){for(var e,t=this.props,n=t.onMouseEnter,i=t.onMouseOver,s=t.onMouseLeave,u=t.infinite,d=t.slidesToScroll,g=t.slidesToShow,p=t.slideCount,m=t.currentSlide,f=(e={slideCount:p,slidesToScroll:d,slidesToShow:g,infinite:u}).infinite?Math.ceil(e.slideCount/e.slidesToScroll):Math.ceil((e.slideCount-e.slidesToShow)/e.slidesToScroll)+1,I={onMouseEnter:n,onMouseOver:i,onMouseLeave:s},h=[],b=0;b<f;b++){var y=(b+1)*d-1,C=u?y:(0,a.clamp)(y,0,p-1),v=C-(d-1),B=u?v:(0,a.clamp)(v,0,p-1),A=(0,r.default)({"slick-active":u?m>=B&&m<=C:m===B}),_={message:"dots",index:b,slidesToScroll:d,currentSlide:m},S=this.clickHandler.bind(this,_);h=h.concat(o.default.createElement("li",{key:b,className:A},o.default.cloneElement(this.props.customPaging(b),{onClick:S})))}return o.default.cloneElement(this.props.appendDots(h),function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({className:this.props.dotsClass},I))}}],n&&u(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),s}(o.default.PureComponent);t.Dots=m},4589:(e,t,n)=>{"use strict";var i;t.A=void 0;var o=((i=n(8120))&&i.__esModule?i:{default:i}).default;t.A=o},8841:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={animating:!1,autoplaying:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,dragging:!1,edgeDragged:!1,initialized:!1,lazyLoadedList:[],listHeight:null,listWidth:null,scrolling:!1,slideCount:null,slideHeight:null,slideWidth:null,swipeLeft:null,swiped:!1,swiping:!1,touchObject:{startX:0,startY:0,curX:0,curY:0},trackStyle:{},trackWidth:0,targetSlide:0}},4999:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InnerSlider=void 0;var i=g(n(5927)),o=g(n(8841)),r=g(n(181)),a=g(n(6942)),s=n(9445),c=n(5942),l=n(773),u=n(9223),d=g(n(3591));function g(e){return e&&e.__esModule?e:{default:e}}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function m(){return m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},m.apply(this,arguments)}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(Object(n),!0).forEach((function(t){B(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function h(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function b(e,t){return b=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},b(e,t)}function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,i=v(e);if(t){var o=v(this).constructor;n=Reflect.construct(i,arguments,o)}else n=i.apply(this,arguments);return function(e,t){if(t&&("object"===p(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return C(e)}(this,n)}}function C(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(e){return v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},v(e)}function B(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var A=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&b(e,t)}(f,e);var t,n,g=y(f);function f(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),B(C(t=g.call(this,e)),"listRefHandler",(function(e){return t.list=e})),B(C(t),"trackRefHandler",(function(e){return t.track=e})),B(C(t),"adaptHeight",(function(){if(t.props.adaptiveHeight&&t.list){var e=t.list.querySelector('[data-index="'.concat(t.state.currentSlide,'"]'));t.list.style.height=(0,s.getHeight)(e)+"px"}})),B(C(t),"componentDidMount",(function(){if(t.props.onInit&&t.props.onInit(),t.props.lazyLoad){var e=(0,s.getOnDemandLazySlides)(I(I({},t.props),t.state));e.length>0&&(t.setState((function(t){return{lazyLoadedList:t.lazyLoadedList.concat(e)}})),t.props.onLazyLoad&&t.props.onLazyLoad(e))}var n=I({listRef:t.list,trackRef:t.track},t.props);t.updateState(n,!0,(function(){t.adaptHeight(),t.props.autoplay&&t.autoPlay("update")})),"progressive"===t.props.lazyLoad&&(t.lazyLoadTimer=setInterval(t.progressiveLazyLoad,1e3)),t.ro=new d.default((function(){t.state.animating?(t.onWindowResized(!1),t.callbackTimers.push(setTimeout((function(){return t.onWindowResized()}),t.props.speed))):t.onWindowResized()})),t.ro.observe(t.list),document.querySelectorAll&&Array.prototype.forEach.call(document.querySelectorAll(".slick-slide"),(function(e){e.onfocus=t.props.pauseOnFocus?t.onSlideFocus:null,e.onblur=t.props.pauseOnFocus?t.onSlideBlur:null})),window.addEventListener?window.addEventListener("resize",t.onWindowResized):window.attachEvent("onresize",t.onWindowResized)})),B(C(t),"componentWillUnmount",(function(){t.animationEndCallback&&clearTimeout(t.animationEndCallback),t.lazyLoadTimer&&clearInterval(t.lazyLoadTimer),t.callbackTimers.length&&(t.callbackTimers.forEach((function(e){return clearTimeout(e)})),t.callbackTimers=[]),window.addEventListener?window.removeEventListener("resize",t.onWindowResized):window.detachEvent("onresize",t.onWindowResized),t.autoplayTimer&&clearInterval(t.autoplayTimer),t.ro.disconnect()})),B(C(t),"componentDidUpdate",(function(e){if(t.checkImagesLoad(),t.props.onReInit&&t.props.onReInit(),t.props.lazyLoad){var n=(0,s.getOnDemandLazySlides)(I(I({},t.props),t.state));n.length>0&&(t.setState((function(e){return{lazyLoadedList:e.lazyLoadedList.concat(n)}})),t.props.onLazyLoad&&t.props.onLazyLoad(n))}t.adaptHeight();var o=I(I({listRef:t.list,trackRef:t.track},t.props),t.state),r=t.didPropsChange(e);r&&t.updateState(o,r,(function(){t.state.currentSlide>=i.default.Children.count(t.props.children)&&t.changeSlide({message:"index",index:i.default.Children.count(t.props.children)-t.props.slidesToShow,currentSlide:t.state.currentSlide}),t.props.autoplay?t.autoPlay("update"):t.pause("paused")}))})),B(C(t),"onWindowResized",(function(e){t.debouncedResize&&t.debouncedResize.cancel(),t.debouncedResize=(0,r.default)((function(){return t.resizeWindow(e)}),50),t.debouncedResize()})),B(C(t),"resizeWindow",(function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(Boolean(t.track&&t.track.node)){var n=I(I({listRef:t.list,trackRef:t.track},t.props),t.state);t.updateState(n,e,(function(){t.props.autoplay?t.autoPlay("update"):t.pause("paused")})),t.setState({animating:!1}),clearTimeout(t.animationEndCallback),delete t.animationEndCallback}})),B(C(t),"updateState",(function(e,n,o){var r=(0,s.initializedState)(e);e=I(I(I({},e),r),{},{slideIndex:r.currentSlide});var a=(0,s.getTrackLeft)(e);e=I(I({},e),{},{left:a});var c=(0,s.getTrackCSS)(e);(n||i.default.Children.count(t.props.children)!==i.default.Children.count(e.children))&&(r.trackStyle=c),t.setState(r,o)})),B(C(t),"ssrInit",(function(){if(t.props.variableWidth){var e=0,n=0,o=[],r=(0,s.getPreClones)(I(I(I({},t.props),t.state),{},{slideCount:t.props.children.length})),a=(0,s.getPostClones)(I(I(I({},t.props),t.state),{},{slideCount:t.props.children.length}));t.props.children.forEach((function(t){o.push(t.props.style.width),e+=t.props.style.width}));for(var c=0;c<r;c++)n+=o[o.length-1-c],e+=o[o.length-1-c];for(var l=0;l<a;l++)e+=o[l];for(var u=0;u<t.state.currentSlide;u++)n+=o[u];var d={width:e+"px",left:-n+"px"};if(t.props.centerMode){var g="".concat(o[t.state.currentSlide],"px");d.left="calc(".concat(d.left," + (100% - ").concat(g,") / 2 ) ")}return{trackStyle:d}}var p=i.default.Children.count(t.props.children),m=I(I(I({},t.props),t.state),{},{slideCount:p}),f=(0,s.getPreClones)(m)+(0,s.getPostClones)(m)+p,h=100/t.props.slidesToShow*f,b=100/f,y=-b*((0,s.getPreClones)(m)+t.state.currentSlide)*h/100;return t.props.centerMode&&(y+=(100-b*h/100)/2),{slideWidth:b+"%",trackStyle:{width:h+"%",left:y+"%"}}})),B(C(t),"checkImagesLoad",(function(){var e=t.list&&t.list.querySelectorAll&&t.list.querySelectorAll(".slick-slide img")||[],n=e.length,i=0;Array.prototype.forEach.call(e,(function(e){var o=function(){return++i&&i>=n&&t.onWindowResized()};if(e.onclick){var r=e.onclick;e.onclick=function(){r(),e.parentNode.focus()}}else e.onclick=function(){return e.parentNode.focus()};e.onload||(t.props.lazyLoad?e.onload=function(){t.adaptHeight(),t.callbackTimers.push(setTimeout(t.onWindowResized,t.props.speed))}:(e.onload=o,e.onerror=function(){o(),t.props.onLazyLoadError&&t.props.onLazyLoadError()}))}))})),B(C(t),"progressiveLazyLoad",(function(){for(var e=[],n=I(I({},t.props),t.state),i=t.state.currentSlide;i<t.state.slideCount+(0,s.getPostClones)(n);i++)if(t.state.lazyLoadedList.indexOf(i)<0){e.push(i);break}for(var o=t.state.currentSlide-1;o>=-(0,s.getPreClones)(n);o--)if(t.state.lazyLoadedList.indexOf(o)<0){e.push(o);break}e.length>0?(t.setState((function(t){return{lazyLoadedList:t.lazyLoadedList.concat(e)}})),t.props.onLazyLoad&&t.props.onLazyLoad(e)):t.lazyLoadTimer&&(clearInterval(t.lazyLoadTimer),delete t.lazyLoadTimer)})),B(C(t),"slideHandler",(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=t.props,o=i.asNavFor,r=i.beforeChange,a=i.onLazyLoad,c=i.speed,l=i.afterChange,u=t.state.currentSlide,d=(0,s.slideHandler)(I(I(I({index:e},t.props),t.state),{},{trackRef:t.track,useCSS:t.props.useCSS&&!n})),g=d.state,p=d.nextState;if(g){r&&r(u,g.currentSlide);var m=g.lazyLoadedList.filter((function(e){return t.state.lazyLoadedList.indexOf(e)<0}));a&&m.length>0&&a(m),!t.props.waitForAnimate&&t.animationEndCallback&&(clearTimeout(t.animationEndCallback),l&&l(u),delete t.animationEndCallback),t.setState(g,(function(){o&&t.asNavForIndex!==e&&(t.asNavForIndex=e,o.innerSlider.slideHandler(e)),p&&(t.animationEndCallback=setTimeout((function(){var e=p.animating,n=function(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(p,["animating"]);t.setState(n,(function(){t.callbackTimers.push(setTimeout((function(){return t.setState({animating:e})}),10)),l&&l(g.currentSlide),delete t.animationEndCallback}))}),c))}))}})),B(C(t),"changeSlide",(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=I(I({},t.props),t.state),o=(0,s.changeSlide)(i,e);if((0===o||o)&&(!0===n?t.slideHandler(o,n):t.slideHandler(o),t.props.autoplay&&t.autoPlay("update"),t.props.focusOnSelect)){var r=t.list.querySelectorAll(".slick-current");r[0]&&r[0].focus()}})),B(C(t),"clickHandler",(function(e){!1===t.clickable&&(e.stopPropagation(),e.preventDefault()),t.clickable=!0})),B(C(t),"keyHandler",(function(e){var n=(0,s.keyHandler)(e,t.props.accessibility,t.props.rtl);""!==n&&t.changeSlide({message:n})})),B(C(t),"selectHandler",(function(e){t.changeSlide(e)})),B(C(t),"disableBodyScroll",(function(){window.ontouchmove=function(e){(e=e||window.event).preventDefault&&e.preventDefault(),e.returnValue=!1}})),B(C(t),"enableBodyScroll",(function(){window.ontouchmove=null})),B(C(t),"swipeStart",(function(e){t.props.verticalSwiping&&t.disableBodyScroll();var n=(0,s.swipeStart)(e,t.props.swipe,t.props.draggable);""!==n&&t.setState(n)})),B(C(t),"swipeMove",(function(e){var n=(0,s.swipeMove)(e,I(I(I({},t.props),t.state),{},{trackRef:t.track,listRef:t.list,slideIndex:t.state.currentSlide}));n&&(n.swiping&&(t.clickable=!1),t.setState(n))})),B(C(t),"swipeEnd",(function(e){var n=(0,s.swipeEnd)(e,I(I(I({},t.props),t.state),{},{trackRef:t.track,listRef:t.list,slideIndex:t.state.currentSlide}));if(n){var i=n.triggerSlideHandler;delete n.triggerSlideHandler,t.setState(n),void 0!==i&&(t.slideHandler(i),t.props.verticalSwiping&&t.enableBodyScroll())}})),B(C(t),"touchEnd",(function(e){t.swipeEnd(e),t.clickable=!0})),B(C(t),"slickPrev",(function(){t.callbackTimers.push(setTimeout((function(){return t.changeSlide({message:"previous"})}),0))})),B(C(t),"slickNext",(function(){t.callbackTimers.push(setTimeout((function(){return t.changeSlide({message:"next"})}),0))})),B(C(t),"slickGoTo",(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e=Number(e),isNaN(e))return"";t.callbackTimers.push(setTimeout((function(){return t.changeSlide({message:"index",index:e,currentSlide:t.state.currentSlide},n)}),0))})),B(C(t),"play",(function(){var e;if(t.props.rtl)e=t.state.currentSlide-t.props.slidesToScroll;else{if(!(0,s.canGoNext)(I(I({},t.props),t.state)))return!1;e=t.state.currentSlide+t.props.slidesToScroll}t.slideHandler(e)})),B(C(t),"autoPlay",(function(e){t.autoplayTimer&&clearInterval(t.autoplayTimer);var n=t.state.autoplaying;if("update"===e){if("hovered"===n||"focused"===n||"paused"===n)return}else if("leave"===e){if("paused"===n||"focused"===n)return}else if("blur"===e&&("paused"===n||"hovered"===n))return;t.autoplayTimer=setInterval(t.play,t.props.autoplaySpeed+50),t.setState({autoplaying:"playing"})})),B(C(t),"pause",(function(e){t.autoplayTimer&&(clearInterval(t.autoplayTimer),t.autoplayTimer=null);var n=t.state.autoplaying;"paused"===e?t.setState({autoplaying:"paused"}):"focused"===e?"hovered"!==n&&"playing"!==n||t.setState({autoplaying:"focused"}):"playing"===n&&t.setState({autoplaying:"hovered"})})),B(C(t),"onDotsOver",(function(){return t.props.autoplay&&t.pause("hovered")})),B(C(t),"onDotsLeave",(function(){return t.props.autoplay&&"hovered"===t.state.autoplaying&&t.autoPlay("leave")})),B(C(t),"onTrackOver",(function(){return t.props.autoplay&&t.pause("hovered")})),B(C(t),"onTrackLeave",(function(){return t.props.autoplay&&"hovered"===t.state.autoplaying&&t.autoPlay("leave")})),B(C(t),"onSlideFocus",(function(){return t.props.autoplay&&t.pause("focused")})),B(C(t),"onSlideBlur",(function(){return t.props.autoplay&&"focused"===t.state.autoplaying&&t.autoPlay("blur")})),B(C(t),"render",(function(){var e,n,o,r=(0,a.default)("slick-slider",t.props.className,{"slick-vertical":t.props.vertical,"slick-initialized":!0}),d=I(I({},t.props),t.state),g=(0,s.extractObject)(d,["fade","cssEase","speed","infinite","centerMode","focusOnSelect","currentSlide","lazyLoad","lazyLoadedList","rtl","slideWidth","slideHeight","listHeight","vertical","slidesToShow","slidesToScroll","slideCount","trackStyle","variableWidth","unslick","centerPadding","targetSlide","useCSS"]),p=t.props.pauseOnHover;if(g=I(I({},g),{},{onMouseEnter:p?t.onTrackOver:null,onMouseLeave:p?t.onTrackLeave:null,onMouseOver:p?t.onTrackOver:null,focusOnSelect:t.props.focusOnSelect&&t.clickable?t.selectHandler:null}),!0===t.props.dots&&t.state.slideCount>=t.props.slidesToShow){var f=(0,s.extractObject)(d,["dotsClass","slideCount","slidesToShow","currentSlide","slidesToScroll","clickHandler","children","customPaging","infinite","appendDots"]),h=t.props.pauseOnDotsHover;f=I(I({},f),{},{clickHandler:t.changeSlide,onMouseEnter:h?t.onDotsLeave:null,onMouseOver:h?t.onDotsOver:null,onMouseLeave:h?t.onDotsLeave:null}),e=i.default.createElement(l.Dots,f)}var b=(0,s.extractObject)(d,["infinite","centerMode","currentSlide","slideCount","slidesToShow","prevArrow","nextArrow"]);b.clickHandler=t.changeSlide,t.props.arrows&&(n=i.default.createElement(u.PrevArrow,b),o=i.default.createElement(u.NextArrow,b));var y=null;t.props.vertical&&(y={height:t.state.listHeight});var C=null;!1===t.props.vertical?!0===t.props.centerMode&&(C={padding:"0px "+t.props.centerPadding}):!0===t.props.centerMode&&(C={padding:t.props.centerPadding+" 0px"});var v=I(I({},y),C),B=t.props.touchMove,A={className:"slick-list",style:v,onClick:t.clickHandler,onMouseDown:B?t.swipeStart:null,onMouseMove:t.state.dragging&&B?t.swipeMove:null,onMouseUp:B?t.swipeEnd:null,onMouseLeave:t.state.dragging&&B?t.swipeEnd:null,onTouchStart:B?t.swipeStart:null,onTouchMove:t.state.dragging&&B?t.swipeMove:null,onTouchEnd:B?t.touchEnd:null,onTouchCancel:t.state.dragging&&B?t.swipeEnd:null,onKeyDown:t.props.accessibility?t.keyHandler:null},_={className:r,dir:"ltr",style:t.props.style};return t.props.unslick&&(A={className:"slick-list"},_={className:r}),i.default.createElement("div",_,t.props.unslick?"":n,i.default.createElement("div",m({ref:t.listRefHandler},A),i.default.createElement(c.Track,m({ref:t.trackRefHandler},g),t.props.children)),t.props.unslick?"":o,t.props.unslick?"":e)})),t.list=null,t.track=null,t.state=I(I({},o.default),{},{currentSlide:t.props.initialSlide,slideCount:i.default.Children.count(t.props.children)}),t.callbackTimers=[],t.clickable=!0,t.debouncedResize=null;var n=t.ssrInit();return t.state=I(I({},t.state),n),t}return t=f,(n=[{key:"didPropsChange",value:function(e){for(var t=!1,n=0,o=Object.keys(this.props);n<o.length;n++){var r=o[n];if(!e.hasOwnProperty(r)){t=!0;break}if("object"!==p(e[r])&&"function"!=typeof e[r]&&e[r]!==this.props[r]){t=!0;break}}return t||i.default.Children.count(this.props.children)!==i.default.Children.count(e.children)}}])&&h(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),f}(i.default.Component);t.InnerSlider=A},8120:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=l(n(5927)),r=n(4999),a=l(n(1441)),s=l(n(1327)),c=n(9445);function l(e){return e&&e.__esModule?e:{default:e}}function u(){return u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},u.apply(this,arguments)}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function p(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=h(e);if(t){var r=h(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return I(e)}(this,n)}}function I(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e){return h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},h(e)}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y=(0,c.canUseDOM)()&&n(2386),C=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&m(e,t)}(l,e);var t,n,i=f(l);function l(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),b(I(t=i.call(this,e)),"innerSliderRefHandler",(function(e){return t.innerSlider=e})),b(I(t),"slickPrev",(function(){return t.innerSlider.slickPrev()})),b(I(t),"slickNext",(function(){return t.innerSlider.slickNext()})),b(I(t),"slickGoTo",(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t.innerSlider.slickGoTo(e,n)})),b(I(t),"slickPause",(function(){return t.innerSlider.pause("paused")})),b(I(t),"slickPlay",(function(){return t.innerSlider.autoPlay("play")})),t.state={breakpoint:null},t._responsiveMediaHandlers=[],t}return t=l,(n=[{key:"media",value:function(e,t){y.register(e,t),this._responsiveMediaHandlers.push({query:e,handler:t})}},{key:"componentDidMount",value:function(){var e=this;if(this.props.responsive){var t=this.props.responsive.map((function(e){return e.breakpoint}));t.sort((function(e,t){return e-t})),t.forEach((function(n,i){var o;o=0===i?(0,a.default)({minWidth:0,maxWidth:n}):(0,a.default)({minWidth:t[i-1]+1,maxWidth:n}),(0,c.canUseDOM)()&&e.media(o,(function(){e.setState({breakpoint:n})}))}));var n=(0,a.default)({minWidth:t.slice(-1)[0]});(0,c.canUseDOM)()&&this.media(n,(function(){e.setState({breakpoint:null})}))}}},{key:"componentWillUnmount",value:function(){this._responsiveMediaHandlers.forEach((function(e){y.unregister(e.query,e.handler)}))}},{key:"render",value:function(){var e,t,n=this;(e=this.state.breakpoint?"unslick"===(t=this.props.responsive.filter((function(e){return e.breakpoint===n.state.breakpoint})))[0].settings?"unslick":g(g(g({},s.default),this.props),t[0].settings):g(g({},s.default),this.props)).centerMode&&(e.slidesToScroll,e.slidesToScroll=1),e.fade&&(e.slidesToShow,e.slidesToScroll,e.slidesToShow=1,e.slidesToScroll=1);var i=o.default.Children.toArray(this.props.children);i=i.filter((function(e){return"string"==typeof e?!!e.trim():!!e})),e.variableWidth&&(e.rows>1||e.slidesPerRow>1)&&(console.warn("variableWidth is not supported in case of rows > 1 or slidesPerRow > 1"),e.variableWidth=!1);for(var a=[],c=null,l=0;l<i.length;l+=e.rows*e.slidesPerRow){for(var d=[],p=l;p<l+e.rows*e.slidesPerRow;p+=e.slidesPerRow){for(var m=[],f=p;f<p+e.slidesPerRow&&(e.variableWidth&&i[f].props.style&&(c=i[f].props.style.width),!(f>=i.length));f+=1)m.push(o.default.cloneElement(i[f],{key:100*l+10*p+f,tabIndex:-1,style:{width:"".concat(100/e.slidesPerRow,"%"),display:"inline-block"}}));d.push(o.default.createElement("div",{key:10*l+p},m))}e.variableWidth?a.push(o.default.createElement("div",{key:l,style:{width:c}},d)):a.push(o.default.createElement("div",{key:l},d))}if("unslick"===e){var I="regular slider "+(this.props.className||"");return o.default.createElement("div",{className:I},i)}return a.length<=e.slidesToShow&&(e.unslick=!0),o.default.createElement(r.InnerSlider,u({style:this.props.style,ref:this.innerSliderRefHandler},e),a)}}])&&p(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),l}(o.default.Component);t.default=C},5942:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.Track=void 0;var o=s(n(5927)),r=s(n(6942)),a=n(9445);function s(e){return e&&e.__esModule?e:{default:e}}function c(){return c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},c.apply(this,arguments)}function l(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function u(e,t){return u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},u(e,t)}function d(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=p(e);if(t){var r=p(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return function(e,t){if(t&&("object"===i(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return g(e)}(this,n)}}function g(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e){return p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},p(e)}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){I(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var h=function(e){var t,n,i,o,r;return i=(r=e.rtl?e.slideCount-1-e.index:e.index)<0||r>=e.slideCount,e.centerMode?(o=Math.floor(e.slidesToShow/2),n=(r-e.currentSlide)%e.slideCount==0,r>e.currentSlide-o-1&&r<=e.currentSlide+o&&(t=!0)):t=e.currentSlide<=r&&r<e.currentSlide+e.slidesToShow,{"slick-slide":!0,"slick-active":t,"slick-center":n,"slick-cloned":i,"slick-current":r===(e.targetSlide<0?e.targetSlide+e.slideCount:e.targetSlide>=e.slideCount?e.targetSlide-e.slideCount:e.targetSlide)}},b=function(e,t){return e.key||t},y=function(e){var t,n=[],i=[],s=[],c=o.default.Children.count(e.children),l=(0,a.lazyStartIndex)(e),u=(0,a.lazyEndIndex)(e);return o.default.Children.forEach(e.children,(function(d,g){var p,m={message:"children",index:g,slidesToScroll:e.slidesToScroll,currentSlide:e.currentSlide};p=!e.lazyLoad||e.lazyLoad&&e.lazyLoadedList.indexOf(g)>=0?d:o.default.createElement("div",null);var I=function(e){var t={};return void 0!==e.variableWidth&&!1!==e.variableWidth||(t.width=e.slideWidth),e.fade&&(t.position="relative",e.vertical?t.top=-e.index*parseInt(e.slideHeight):t.left=-e.index*parseInt(e.slideWidth),t.opacity=e.currentSlide===e.index?1:0,e.useCSS&&(t.transition="opacity "+e.speed+"ms "+e.cssEase+", visibility "+e.speed+"ms "+e.cssEase)),t}(f(f({},e),{},{index:g})),y=p.props.className||"",C=h(f(f({},e),{},{index:g}));if(n.push(o.default.cloneElement(p,{key:"original"+b(p,g),"data-index":g,className:(0,r.default)(C,y),tabIndex:"-1","aria-hidden":!C["slick-active"],style:f(f({outline:"none"},p.props.style||{}),I),onClick:function(t){p.props&&p.props.onClick&&p.props.onClick(t),e.focusOnSelect&&e.focusOnSelect(m)}})),e.infinite&&!1===e.fade){var v=c-g;v<=(0,a.getPreClones)(e)&&c!==e.slidesToShow&&((t=-v)>=l&&(p=d),C=h(f(f({},e),{},{index:t})),i.push(o.default.cloneElement(p,{key:"precloned"+b(p,t),"data-index":t,tabIndex:"-1",className:(0,r.default)(C,y),"aria-hidden":!C["slick-active"],style:f(f({},p.props.style||{}),I),onClick:function(t){p.props&&p.props.onClick&&p.props.onClick(t),e.focusOnSelect&&e.focusOnSelect(m)}}))),c!==e.slidesToShow&&((t=c+g)<u&&(p=d),C=h(f(f({},e),{},{index:t})),s.push(o.default.cloneElement(p,{key:"postcloned"+b(p,t),"data-index":t,tabIndex:"-1",className:(0,r.default)(C,y),"aria-hidden":!C["slick-active"],style:f(f({},p.props.style||{}),I),onClick:function(t){p.props&&p.props.onClick&&p.props.onClick(t),e.focusOnSelect&&e.focusOnSelect(m)}})))}})),e.rtl?i.concat(n,s).reverse():i.concat(n,s)},C=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&u(e,t)}(r,e);var t,n,i=d(r);function r(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return I(g(e=i.call.apply(i,[this].concat(n))),"node",null),I(g(e),"handleRef",(function(t){e.node=t})),e}return t=r,(n=[{key:"render",value:function(){var e=y(this.props),t=this.props,n={onMouseEnter:t.onMouseEnter,onMouseOver:t.onMouseOver,onMouseLeave:t.onMouseLeave};return o.default.createElement("div",c({ref:this.handleRef,className:"slick-track",style:this.props.trackStyle},n),e)}}])&&l(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),r}(o.default.PureComponent);t.Track=C},9445:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.checkSpecKeys=t.checkNavigable=t.changeSlide=t.canUseDOM=t.canGoNext=void 0,t.clamp=c,t.swipeStart=t.swipeMove=t.swipeEnd=t.slidesOnRight=t.slidesOnLeft=t.slideHandler=t.siblingDirection=t.safePreventDefault=t.lazyStartIndex=t.lazySlidesOnRight=t.lazySlidesOnLeft=t.lazyEndIndex=t.keyHandler=t.initializedState=t.getWidth=t.getTrackLeft=t.getTrackCSS=t.getTrackAnimateCSS=t.getTotalSlides=t.getSwipeDirection=t.getSlideCount=t.getRequiredLazySlides=t.getPreClones=t.getPostClones=t.getOnDemandLazySlides=t.getNavigableIndexes=t.getHeight=t.extractObject=void 0;var i,o=(i=n(5927))&&i.__esModule?i:{default:i};function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t,n){return Math.max(t,Math.min(e,n))}var l=function(e){["onTouchStart","onTouchMove","onWheel"].includes(e._reactName)||e.preventDefault()};t.safePreventDefault=l;var u=function(e){for(var t=[],n=d(e),i=g(e),o=n;o<i;o++)e.lazyLoadedList.indexOf(o)<0&&t.push(o);return t};t.getOnDemandLazySlides=u,t.getRequiredLazySlides=function(e){for(var t=[],n=d(e),i=g(e),o=n;o<i;o++)t.push(o);return t};var d=function(e){return e.currentSlide-p(e)};t.lazyStartIndex=d;var g=function(e){return e.currentSlide+m(e)};t.lazyEndIndex=g;var p=function(e){return e.centerMode?Math.floor(e.slidesToShow/2)+(parseInt(e.centerPadding)>0?1:0):0};t.lazySlidesOnLeft=p;var m=function(e){return e.centerMode?Math.floor((e.slidesToShow-1)/2)+1+(parseInt(e.centerPadding)>0?1:0):e.slidesToShow};t.lazySlidesOnRight=m;var f=function(e){return e&&e.offsetWidth||0};t.getWidth=f;var I=function(e){return e&&e.offsetHeight||0};t.getHeight=I;var h=function(e){var t,n,i,o,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return t=e.startX-e.curX,n=e.startY-e.curY,i=Math.atan2(n,t),(o=Math.round(180*i/Math.PI))<0&&(o=360-Math.abs(o)),o<=45&&o>=0||o<=360&&o>=315?"left":o>=135&&o<=225?"right":!0===r?o>=35&&o<=135?"up":"down":"vertical"};t.getSwipeDirection=h;var b=function(e){var t=!0;return e.infinite||(e.centerMode&&e.currentSlide>=e.slideCount-1||e.slideCount<=e.slidesToShow||e.currentSlide>=e.slideCount-e.slidesToShow)&&(t=!1),t};t.canGoNext=b,t.extractObject=function(e,t){var n={};return t.forEach((function(t){return n[t]=e[t]})),n},t.initializedState=function(e){var t,n=o.default.Children.count(e.children),i=e.listRef,r=Math.ceil(f(i)),s=e.trackRef&&e.trackRef.node,c=Math.ceil(f(s));if(e.vertical)t=r;else{var l=e.centerMode&&2*parseInt(e.centerPadding);"string"==typeof e.centerPadding&&"%"===e.centerPadding.slice(-1)&&(l*=r/100),t=Math.ceil((r-l)/e.slidesToShow)}var d=i&&I(i.querySelector('[data-index="0"]')),g=d*e.slidesToShow,p=void 0===e.currentSlide?e.initialSlide:e.currentSlide;e.rtl&&void 0===e.currentSlide&&(p=n-1-e.initialSlide);var m=e.lazyLoadedList||[],h=u(a(a({},e),{},{currentSlide:p,lazyLoadedList:m})),b={slideCount:n,slideWidth:t,listWidth:r,trackWidth:c,currentSlide:p,slideHeight:d,listHeight:g,lazyLoadedList:m=m.concat(h)};return null===e.autoplaying&&e.autoplay&&(b.autoplaying="playing"),b},t.slideHandler=function(e){var t=e.waitForAnimate,n=e.animating,i=e.fade,o=e.infinite,r=e.index,s=e.slideCount,l=e.lazyLoad,d=e.currentSlide,g=e.centerMode,p=e.slidesToScroll,m=e.slidesToShow,f=e.useCSS,I=e.lazyLoadedList;if(t&&n)return{};var h,y,C,v=r,B={},G={},Q=o?r:c(r,0,s-1);if(i){if(!o&&(r<0||r>=s))return{};r<0?v=r+s:r>=s&&(v=r-s),l&&I.indexOf(v)<0&&(I=I.concat(v)),B={animating:!0,currentSlide:v,lazyLoadedList:I,targetSlide:v},G={animating:!1,targetSlide:v}}else h=v,v<0?(h=v+s,o?s%p!=0&&(h=s-s%p):h=0):!b(e)&&v>d?v=h=d:g&&v>=s?(v=o?s:s-1,h=o?0:s-1):v>=s&&(h=v-s,o?s%p!=0&&(h=0):h=s-m),!o&&v+m>=s&&(h=s-m),y=S(a(a({},e),{},{slideIndex:v})),C=S(a(a({},e),{},{slideIndex:h})),o||(y===C&&(v=h),y=C),l&&(I=I.concat(u(a(a({},e),{},{currentSlide:v})))),f?(B={animating:!0,currentSlide:h,trackStyle:_(a(a({},e),{},{left:y})),lazyLoadedList:I,targetSlide:Q},G={animating:!1,currentSlide:h,trackStyle:A(a(a({},e),{},{left:C})),swipeLeft:null,targetSlide:Q}):B={currentSlide:h,trackStyle:A(a(a({},e),{},{left:C})),lazyLoadedList:I,targetSlide:Q};return{state:B,nextState:G}},t.changeSlide=function(e,t){var n,i,o,r,s=e.slidesToScroll,c=e.slidesToShow,l=e.slideCount,u=e.currentSlide,d=e.targetSlide,g=e.lazyLoad,p=e.infinite;if(n=l%s!=0?0:(l-u)%s,"previous"===t.message)r=u-(o=0===n?s:c-n),g&&!p&&(r=-1==(i=u-o)?l-1:i),p||(r=d-s);else if("next"===t.message)r=u+(o=0===n?s:n),g&&!p&&(r=(u+s)%l+n),p||(r=d+s);else if("dots"===t.message)r=t.index*t.slidesToScroll;else if("children"===t.message){if(r=t.index,p){var m=F(a(a({},e),{},{targetSlide:r}));r>t.currentSlide&&"left"===m?r-=l:r<t.currentSlide&&"right"===m&&(r+=l)}}else"index"===t.message&&(r=Number(t.index));return r},t.keyHandler=function(e,t,n){return e.target.tagName.match("TEXTAREA|INPUT|SELECT")||!t?"":37===e.keyCode?n?"next":"previous":39===e.keyCode?n?"previous":"next":""},t.swipeStart=function(e,t,n){return"IMG"===e.target.tagName&&l(e),!t||!n&&-1!==e.type.indexOf("mouse")?"":{dragging:!0,touchObject:{startX:e.touches?e.touches[0].pageX:e.clientX,startY:e.touches?e.touches[0].pageY:e.clientY,curX:e.touches?e.touches[0].pageX:e.clientX,curY:e.touches?e.touches[0].pageY:e.clientY}}},t.swipeMove=function(e,t){var n=t.scrolling,i=t.animating,o=t.vertical,r=t.swipeToSlide,s=t.verticalSwiping,c=t.rtl,u=t.currentSlide,d=t.edgeFriction,g=t.edgeDragged,p=t.onEdge,m=t.swiped,f=t.swiping,I=t.slideCount,y=t.slidesToScroll,C=t.infinite,v=t.touchObject,B=t.swipeEvent,_=t.listHeight,G=t.listWidth;if(!n){if(i)return l(e);o&&r&&s&&l(e);var Q,E={},F=S(t);v.curX=e.touches?e.touches[0].pageX:e.clientX,v.curY=e.touches?e.touches[0].pageY:e.clientY,v.swipeLength=Math.round(Math.sqrt(Math.pow(v.curX-v.startX,2)));var w=Math.round(Math.sqrt(Math.pow(v.curY-v.startY,2)));if(!s&&!f&&w>10)return{scrolling:!0};s&&(v.swipeLength=w);var T=(c?-1:1)*(v.curX>v.startX?1:-1);s&&(T=v.curY>v.startY?1:-1);var x=Math.ceil(I/y),k=h(t.touchObject,s),N=v.swipeLength;return C||(0===u&&("right"===k||"down"===k)||u+1>=x&&("left"===k||"up"===k)||!b(t)&&("left"===k||"up"===k))&&(N=v.swipeLength*d,!1===g&&p&&(p(k),E.edgeDragged=!0)),!m&&B&&(B(k),E.swiped=!0),Q=o?F+N*(_/G)*T:c?F-N*T:F+N*T,s&&(Q=F+N*T),E=a(a({},E),{},{touchObject:v,swipeLeft:Q,trackStyle:A(a(a({},t),{},{left:Q}))}),Math.abs(v.curX-v.startX)<.8*Math.abs(v.curY-v.startY)||v.swipeLength>10&&(E.swiping=!0,l(e)),E}},t.swipeEnd=function(e,t){var n=t.dragging,i=t.swipe,o=t.touchObject,r=t.listWidth,s=t.touchThreshold,c=t.verticalSwiping,u=t.listHeight,d=t.swipeToSlide,g=t.scrolling,p=t.onSwipe,m=t.targetSlide,f=t.currentSlide,I=t.infinite;if(!n)return i&&l(e),{};var b=c?u/s:r/s,y=h(o,c),B={dragging:!1,edgeDragged:!1,scrolling:!1,swiping:!1,swiped:!1,swipeLeft:null,touchObject:{}};if(g)return B;if(!o.swipeLength)return B;if(o.swipeLength>b){var A,G;l(e),p&&p(y);var Q=I?f:m;switch(y){case"left":case"up":G=Q+v(t),A=d?C(t,G):G,B.currentDirection=0;break;case"right":case"down":G=Q-v(t),A=d?C(t,G):G,B.currentDirection=1;break;default:A=Q}B.triggerSlideHandler=A}else{var E=S(t);B.trackStyle=_(a(a({},t),{},{left:E}))}return B};var y=function(e){for(var t=e.infinite?2*e.slideCount:e.slideCount,n=e.infinite?-1*e.slidesToShow:0,i=e.infinite?-1*e.slidesToShow:0,o=[];n<t;)o.push(n),n=i+e.slidesToScroll,i+=Math.min(e.slidesToScroll,e.slidesToShow);return o};t.getNavigableIndexes=y;var C=function(e,t){var n=y(e),i=0;if(t>n[n.length-1])t=n[n.length-1];else for(var o in n){if(t<n[o]){t=i;break}i=n[o]}return t};t.checkNavigable=C;var v=function(e){var t=e.centerMode?e.slideWidth*Math.floor(e.slidesToShow/2):0;if(e.swipeToSlide){var n,i=e.listRef,o=i.querySelectorAll&&i.querySelectorAll(".slick-slide")||[];if(Array.from(o).every((function(i){if(e.vertical){if(i.offsetTop+I(i)/2>-1*e.swipeLeft)return n=i,!1}else if(i.offsetLeft-t+f(i)/2>-1*e.swipeLeft)return n=i,!1;return!0})),!n)return 0;var r=!0===e.rtl?e.slideCount-e.currentSlide:e.currentSlide;return Math.abs(n.dataset.index-r)||1}return e.slidesToScroll};t.getSlideCount=v;var B=function(e,t){return t.reduce((function(t,n){return t&&e.hasOwnProperty(n)}),!0)?null:console.error("Keys Missing:",e)};t.checkSpecKeys=B;var A=function(e){var t,n;B(e,["left","variableWidth","slideCount","slidesToShow","slideWidth"]);var i=e.slideCount+2*e.slidesToShow;e.vertical?n=i*e.slideHeight:t=E(e)*e.slideWidth;var o={opacity:1,transition:"",WebkitTransition:""};if(e.useTransform){var r=e.vertical?"translate3d(0px, "+e.left+"px, 0px)":"translate3d("+e.left+"px, 0px, 0px)",s=e.vertical?"translate3d(0px, "+e.left+"px, 0px)":"translate3d("+e.left+"px, 0px, 0px)",c=e.vertical?"translateY("+e.left+"px)":"translateX("+e.left+"px)";o=a(a({},o),{},{WebkitTransform:r,transform:s,msTransform:c})}else e.vertical?o.top=e.left:o.left=e.left;return e.fade&&(o={opacity:1}),t&&(o.width=t),n&&(o.height=n),window&&!window.addEventListener&&window.attachEvent&&(e.vertical?o.marginTop=e.left+"px":o.marginLeft=e.left+"px"),o};t.getTrackCSS=A;var _=function(e){B(e,["left","variableWidth","slideCount","slidesToShow","slideWidth","speed","cssEase"]);var t=A(e);return e.useTransform?(t.WebkitTransition="-webkit-transform "+e.speed+"ms "+e.cssEase,t.transition="transform "+e.speed+"ms "+e.cssEase):e.vertical?t.transition="top "+e.speed+"ms "+e.cssEase:t.transition="left "+e.speed+"ms "+e.cssEase,t};t.getTrackAnimateCSS=_;var S=function(e){if(e.unslick)return 0;B(e,["slideIndex","trackRef","infinite","centerMode","slideCount","slidesToShow","slidesToScroll","slideWidth","listWidth","variableWidth","slideHeight"]);var t,n,i=e.slideIndex,o=e.trackRef,r=e.infinite,a=e.centerMode,s=e.slideCount,c=e.slidesToShow,l=e.slidesToScroll,u=e.slideWidth,d=e.listWidth,g=e.variableWidth,p=e.slideHeight,m=e.fade,f=e.vertical;if(m||1===e.slideCount)return 0;var I=0;if(r?(I=-G(e),s%l!=0&&i+l>s&&(I=-(i>s?c-(i-s):s%l)),a&&(I+=parseInt(c/2))):(s%l!=0&&i+l>s&&(I=c-s%l),a&&(I=parseInt(c/2))),t=f?i*p*-1+I*p:i*u*-1+I*u,!0===g){var h,b=o&&o.node;if(h=i+G(e),t=(n=b&&b.childNodes[h])?-1*n.offsetLeft:0,!0===a){h=r?i+G(e):i,n=b&&b.children[h],t=0;for(var y=0;y<h;y++)t-=b&&b.children[y]&&b.children[y].offsetWidth;t-=parseInt(e.centerPadding),t+=n&&(d-n.offsetWidth)/2}}return t};t.getTrackLeft=S;var G=function(e){return e.unslick||!e.infinite?0:e.variableWidth?e.slideCount:e.slidesToShow+(e.centerMode?1:0)};t.getPreClones=G;var Q=function(e){return e.unslick||!e.infinite?0:e.slideCount};t.getPostClones=Q;var E=function(e){return 1===e.slideCount?1:G(e)+e.slideCount+Q(e)};t.getTotalSlides=E;var F=function(e){return e.targetSlide>e.currentSlide?e.targetSlide>e.currentSlide+w(e)?"left":"right":e.targetSlide<e.currentSlide-T(e)?"right":"left"};t.siblingDirection=F;var w=function(e){var t=e.slidesToShow,n=e.centerMode,i=e.rtl,o=e.centerPadding;if(n){var r=(t-1)/2+1;return parseInt(o)>0&&(r+=1),i&&t%2==0&&(r+=1),r}return i?0:t-1};t.slidesOnRight=w;var T=function(e){var t=e.slidesToShow,n=e.centerMode,i=e.rtl,o=e.centerPadding;if(n){var r=(t-1)/2+1;return parseInt(o)>0&&(r+=1),i||t%2!=0||(r+=1),r}return i?t-1:0};t.slidesOnLeft=T,t.canUseDOM=function(){return!("undefined"==typeof window||!window.document||!window.document.createElement)}},8971:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={GLOBAL:{HIDE:"__react_tooltip_hide_event",REBUILD:"__react_tooltip_rebuild_event",SHOW:"__react_tooltip_show_event"}}},7715:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.prototype.isCustomEvent=function(e){return this.state.event||!!e.getAttribute("data-event")},e.prototype.customBindListener=function(e){var t=this,i=this.state,r=i.event,a=i.eventOff,s=e.getAttribute("data-event")||r,c=e.getAttribute("data-event-off")||a;s.split(" ").forEach((function(i){e.removeEventListener(i,o.get(e,i));var r=n.bind(t,c);o.set(e,i,r),e.addEventListener(i,r,!1)})),c&&c.split(" ").forEach((function(n){e.removeEventListener(n,t.hideTooltip),e.addEventListener(n,t.hideTooltip,!1)}))},e.prototype.customUnbindListener=function(e){var t=this.state,n=t.event,i=t.eventOff,r=n||e.getAttribute("data-event"),a=i||e.getAttribute("data-event-off");e.removeEventListener(r,o.get(e,n)),a&&e.removeEventListener(a,this.hideTooltip)}};var n=function(e,t){var n=this.state.show,o=this.props.id,r=t.currentTarget.getAttribute("data-iscapture"),a=r&&"true"===r||this.props.isCapture,s=t.currentTarget.getAttribute("currentItem");a||t.stopPropagation(),n&&"true"===s?e||this.hideTooltip(t):(t.currentTarget.setAttribute("currentItem","true"),i(t.currentTarget,this.getTargetArray(o)),this.showTooltip(t))},i=function(e,t){for(var n=0;n<t.length;n++)e!==t[n]?t[n].setAttribute("currentItem","false"):t[n].setAttribute("currentItem","true")},o={id:"9b69f92e-d3fe-498b-b1b4-c5e63a51b0cf",set:function(e,t,n){var i,o,r;this.id in e?e[this.id][t]=n:Object.defineProperty(e,this.id,{configurable:!0,value:(i={},o=t,r=n,o in i?Object.defineProperty(i,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):i[o]=r,i)})},get:function(e,t){var n=e[this.id];if(void 0!==n)return n[t]}}},8319:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.prototype.getEffect=function(e){return e.getAttribute("data-effect")||this.props.effect||"float"}}},2536:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.prototype.isCapture=function(e){return e&&"true"===e.getAttribute("data-iscapture")||this.props.isCapture||!1}}},3690:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.hide=function(e){r(o.default.GLOBAL.HIDE,{target:e})},e.rebuild=function(){r(o.default.GLOBAL.REBUILD)},e.show=function(e){r(o.default.GLOBAL.SHOW,{target:e})},e.prototype.globalRebuild=function(){this.mount&&(this.unbindListener(),this.bindListener())},e.prototype.globalShow=function(e){if(this.mount){var t={currentTarget:e.detail.target};this.showTooltip(t,!0)}},e.prototype.globalHide=function(e){if(this.mount){var t=!!(e&&e.detail&&e.detail.target);this.hideTooltip({currentTarget:t&&e.detail.target},t)}}};var i,o=(i=n(8971))&&i.__esModule?i:{default:i},r=function(e,t){var n=void 0;"function"==typeof window.CustomEvent?n=new window.CustomEvent(e,{detail:t}):((n=document.createEvent("Event")).initEvent(e,!1,!0),n.detail=t),window.dispatchEvent(n)}},5593:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.prototype.bindRemovalTracker=function(){var e=this,t=n();if(null!=t){var i=new t((function(t){for(var n=0;n<t.length;n++)for(var i=t[n],o=0;o<i.removedNodes.length;o++)if(i.removedNodes[o]===e.state.currentTarget)return void e.hideTooltip()}));i.observe(window.document,{childList:!0,subtree:!0}),this.removalTracker=i}},e.prototype.unbindRemovalTracker=function(){this.removalTracker&&(this.removalTracker.disconnect(),this.removalTracker=null)}};var n=function(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}},1556:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){e.prototype.bindWindowEvents=function(e){window.removeEventListener(o.default.GLOBAL.HIDE,this.globalHide),window.addEventListener(o.default.GLOBAL.HIDE,this.globalHide,!1),window.removeEventListener(o.default.GLOBAL.REBUILD,this.globalRebuild),window.addEventListener(o.default.GLOBAL.REBUILD,this.globalRebuild,!1),window.removeEventListener(o.default.GLOBAL.SHOW,this.globalShow),window.addEventListener(o.default.GLOBAL.SHOW,this.globalShow,!1),e&&(window.removeEventListener("resize",this.onWindowResize),window.addEventListener("resize",this.onWindowResize,!1))},e.prototype.unbindWindowEvents=function(){window.removeEventListener(o.default.GLOBAL.HIDE,this.globalHide),window.removeEventListener(o.default.GLOBAL.REBUILD,this.globalRebuild),window.removeEventListener(o.default.GLOBAL.SHOW,this.globalShow),window.removeEventListener("resize",this.onWindowResize)},e.prototype.onWindowResize=function(){this.mount&&this.hideTooltip()}};var i,o=(i=n(8971))&&i.__esModule?i:{default:i}},5963:(e,t,n)=>{"use strict";var i,o,r,a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),c=A(n(5927)),l=A(n(5556)),u=A(n(8709)),d=A(n(6942)),g=A(n(3690)),p=A(n(1556)),m=A(n(7715)),f=A(n(2536)),I=A(n(8319)),h=A(n(5593)),b=A(n(614)),y=A(n(3323)),C=n(5188),v=A(n(9975)),B=A(n(4798));function A(e){return e&&e.__esModule?e:{default:e}}var _=(0,g.default)(i=(0,p.default)(i=(0,m.default)(i=(0,f.default)(i=(0,I.default)(i=(0,h.default)((r=o=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={place:"top",type:"dark",effect:"float",show:!1,border:!1,offset:{},extraClass:"",html:!1,delayHide:0,delayShow:0,event:e.event||null,eventOff:e.eventOff||null,currentEvent:null,currentTarget:null,ariaProps:(0,C.parseAria)(e),isEmptyTip:!1,disable:!1,originTooltip:null,isMultiline:!1},n.bind(["showTooltip","updateTooltip","hideTooltip","getTooltipContent","globalRebuild","globalShow","globalHide","onWindowResize","mouseOnToolTip"]),n.mount=!0,n.delayShowLoop=null,n.delayHideLoop=null,n.delayReshow=null,n.intervalUpdateContent=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),s(t,[{key:"bind",value:function(e){var t=this;e.forEach((function(e){t[e]=t[e].bind(t)}))}},{key:"componentDidMount",value:function(){var e=this.props,t=e.insecure,n=e.resizeHide;t&&this.setStyleHeader(),this.bindListener(),this.bindWindowEvents(n)}},{key:"componentWillReceiveProps",value:function(e){var t=this.state.ariaProps,n=(0,C.parseAria)(e),i=Object.keys(n).some((function(e){return n[e]!==t[e]}));i&&this.setState({ariaProps:n})}},{key:"componentWillUnmount",value:function(){this.mount=!1,this.clearTimer(),this.unbindListener(),this.removeScrollListener(),this.unbindWindowEvents()}},{key:"mouseOnToolTip",value:function(){return!(!this.state.show||!this.tooltipRef)&&(this.tooltipRef.matches||(this.tooltipRef.matches=this.tooltipRef.msMatchesSelector),this.tooltipRef.matches(":hover"))}},{key:"getTargetArray",value:function(e){var t=void 0;if(e){var n=e.replace(/\\/g,"\\\\").replace(/"/g,'\\"');t=document.querySelectorAll('[data-tip][data-for="'+n+'"]')}else t=document.querySelectorAll("[data-tip]:not([data-for])");return(0,v.default)(t)}},{key:"bindListener",value:function(){var e=this,t=this.props,n=t.id,i=t.globalEventOff;this.getTargetArray(n).forEach((function(t){var n=e.isCapture(t),i=e.getEffect(t);null===t.getAttribute("currentItem")&&t.setAttribute("currentItem","false"),e.unbindBasicListener(t),e.isCustomEvent(t)?e.customBindListener(t):(t.addEventListener("mouseenter",e.showTooltip,n),"float"===i&&t.addEventListener("mousemove",e.updateTooltip,n),t.addEventListener("mouseleave",e.hideTooltip,n))})),i&&(window.removeEventListener(i,this.hideTooltip),window.addEventListener(i,this.hideTooltip,!1)),this.bindRemovalTracker()}},{key:"unbindListener",value:function(){var e=this,t=this.props,n=t.id,i=t.globalEventOff;this.getTargetArray(n).forEach((function(t){e.unbindBasicListener(t),e.isCustomEvent(t)&&e.customUnbindListener(t)})),i&&window.removeEventListener(i,this.hideTooltip),this.unbindRemovalTracker()}},{key:"unbindBasicListener",value:function(e){var t=this.isCapture(e);e.removeEventListener("mouseenter",this.showTooltip,t),e.removeEventListener("mousemove",this.updateTooltip,t),e.removeEventListener("mouseleave",this.hideTooltip,t)}},{key:"getTooltipContent",value:function(){var e=this.props,t=e.getContent,n=e.children,i=void 0;return t&&(i=Array.isArray(t)?t[0]&&t[0](this.state.originTooltip):t(this.state.originTooltip)),(0,y.default)(this.state.originTooltip,n,i,this.state.isMultiline)}},{key:"isEmptyTip",value:function(e){return"string"==typeof e&&""===e||null===e}},{key:"showTooltip",value:function(e,t){if(!t||this.getTargetArray(this.props.id).some((function(t){return t===e.currentTarget}))){var n=this.props,i=n.multiline,o=n.getContent,r=e.currentTarget.getAttribute("data-tip"),a=e.currentTarget.getAttribute("data-multiline")||i||!1,s=e instanceof window.FocusEvent||t,c=!0;e.currentTarget.getAttribute("data-scroll-hide")?c="true"===e.currentTarget.getAttribute("data-scroll-hide"):null!=this.props.scrollHide&&(c=this.props.scrollHide),this.clearTimer();var l=e.currentTarget,u=this.state.show?l.getAttribute("data-delay-update")||this.props.delayUpdate:0,d=this,g=function(){d.setState({originTooltip:r,isMultiline:a,desiredPlace:l.getAttribute("data-place")||d.props.place||"top",place:l.getAttribute("data-place")||d.props.place||"top",type:l.getAttribute("data-type")||d.props.type||"dark",effect:s?"solid":d.getEffect(l),offset:l.getAttribute("data-offset")||d.props.offset||{},html:l.getAttribute("data-html")?"true"===l.getAttribute("data-html"):d.props.html||!1,delayShow:l.getAttribute("data-delay-show")||d.props.delayShow||0,delayHide:l.getAttribute("data-delay-hide")||d.props.delayHide||0,delayUpdate:l.getAttribute("data-delay-update")||d.props.delayUpdate||0,border:l.getAttribute("data-border")?"true"===l.getAttribute("data-border"):d.props.border||!1,extraClass:l.getAttribute("data-class")||d.props.class||d.props.className||"",disable:l.getAttribute("data-tip-disable")?"true"===l.getAttribute("data-tip-disable"):d.props.disable||!1,currentTarget:l},(function(){c&&d.addScrollListener(d.state.currentTarget),d.updateTooltip(e),o&&Array.isArray(o)&&(d.intervalUpdateContent=setInterval((function(){if(d.mount){var e=d.props.getContent,t=(0,y.default)(r,"",e[0](),a),n=d.isEmptyTip(t);d.setState({isEmptyTip:n}),d.updatePosition()}}),o[1]))}))};u?this.delayReshow=setTimeout(g,u):g()}}},{key:"updateTooltip",value:function(e){var t=this,n=this.state,i=n.delayShow,o=n.disable,r=this.props.afterShow,a=this.getTooltipContent(),s=parseInt(i,10),c=e.currentTarget||e.target;if(!this.mouseOnToolTip()&&!this.isEmptyTip(a)&&!o){var l=function(){if(Array.isArray(a)&&a.length>0||a){var n=!t.state.show;t.setState({currentEvent:e,currentTarget:c,show:!0},(function(){t.updatePosition(),n&&r&&r()}))}};clearTimeout(this.delayShowLoop),i?this.delayShowLoop=setTimeout(l,s):l()}}},{key:"listenForTooltipExit",value:function(){this.state.show&&this.tooltipRef&&this.tooltipRef.addEventListener("mouseleave",this.hideTooltip)}},{key:"removeListenerForTooltipExit",value:function(){this.state.show&&this.tooltipRef&&this.tooltipRef.removeEventListener("mouseleave",this.hideTooltip)}},{key:"hideTooltip",value:function(e,t){var n=this,i=this.state,o=i.delayHide,r=i.disable,a=this.props.afterHide,s=this.getTooltipContent();if(this.mount&&!this.isEmptyTip(s)&&!r){if(t&&(!this.getTargetArray(this.props.id).some((function(t){return t===e.currentTarget}))||!this.state.show))return;var c=function(){var e=n.state.show;n.mouseOnToolTip()?n.listenForTooltipExit():(n.removeListenerForTooltipExit(),n.setState({show:!1},(function(){n.removeScrollListener(),e&&a&&a()})))};this.clearTimer(),o?this.delayHideLoop=setTimeout(c,parseInt(o,10)):c()}}},{key:"addScrollListener",value:function(e){var t=this.isCapture(e);window.addEventListener("scroll",this.hideTooltip,t)}},{key:"removeScrollListener",value:function(){window.removeEventListener("scroll",this.hideTooltip)}},{key:"updatePosition",value:function(){var e=this,t=this.state,n=t.currentEvent,i=t.currentTarget,o=t.place,r=t.desiredPlace,a=t.effect,s=t.offset,c=u.default.findDOMNode(this),l=(0,b.default)(n,i,c,o,r,a,s);if(l.isNewState)return this.setState(l.newState,(function(){e.updatePosition()}));c.style.left=l.position.left+"px",c.style.top=l.position.top+"px"}},{key:"setStyleHeader",value:function(){var e=document.getElementsByTagName("head")[0];if(!e.querySelector('style[id="react-tooltip"]')){var t=document.createElement("style");t.id="react-tooltip",t.innerHTML=B.default,e.insertBefore(t,e.firstChild)}}},{key:"clearTimer",value:function(){clearTimeout(this.delayShowLoop),clearTimeout(this.delayHideLoop),clearTimeout(this.delayReshow),clearInterval(this.intervalUpdateContent)}},{key:"render",value:function(){var e=this,n=this.state,i=n.extraClass,o=n.html,r=n.ariaProps,s=n.disable,l=this.getTooltipContent(),u=this.isEmptyTip(l),g=(0,d.default)("__react_component_tooltip",{show:this.state.show&&!s&&!u},{border:this.state.border},{"place-top":"top"===this.state.place},{"place-bottom":"bottom"===this.state.place},{"place-left":"left"===this.state.place},{"place-right":"right"===this.state.place},{"type-dark":"dark"===this.state.type},{"type-success":"success"===this.state.type},{"type-warning":"warning"===this.state.type},{"type-error":"error"===this.state.type},{"type-info":"info"===this.state.type},{"type-light":"light"===this.state.type},{allow_hover:this.props.delayUpdate}),p=this.props.wrapper;return t.supportedWrappers.indexOf(p)<0&&(p=t.defaultProps.wrapper),o?c.default.createElement(p,a({className:g+" "+i,id:this.props.id,ref:function(t){return e.tooltipRef=t}},r,{"data-id":"tooltip",dangerouslySetInnerHTML:{__html:l}})):c.default.createElement(p,a({className:g+" "+i,id:this.props.id},r,{ref:function(t){return e.tooltipRef=t},"data-id":"tooltip"}),l)}}]),t}(c.default.Component),o.propTypes={children:l.default.any,place:l.default.string,type:l.default.string,effect:l.default.string,offset:l.default.object,multiline:l.default.bool,border:l.default.bool,insecure:l.default.bool,class:l.default.string,className:l.default.string,id:l.default.string,html:l.default.bool,delayHide:l.default.number,delayUpdate:l.default.number,delayShow:l.default.number,event:l.default.string,eventOff:l.default.string,watchWindow:l.default.bool,isCapture:l.default.bool,globalEventOff:l.default.string,getContent:l.default.any,afterShow:l.default.func,afterHide:l.default.func,disable:l.default.bool,scrollHide:l.default.bool,resizeHide:l.default.bool,wrapper:l.default.string},o.defaultProps={insecure:!0,resizeHide:!0,wrapper:"div"},o.supportedWrappers=["div","span"],o.displayName="ReactTooltip",i=r))||i)||i)||i)||i)||i)||i;e.exports=_},4798:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default='.__react_component_tooltip{border-radius:3px;display:inline-block;font-size:13px;left:-999em;opacity:0;padding:8px 21px;position:fixed;pointer-events:none;transition:opacity 0.3s ease-out;top:-999em;visibility:hidden;z-index:999}.__react_component_tooltip.allow_hover{pointer-events:auto}.__react_component_tooltip:before,.__react_component_tooltip:after{content:"";width:0;height:0;position:absolute}.__react_component_tooltip.show{opacity:0.9;margin-top:0px;margin-left:0px;visibility:visible}.__react_component_tooltip.type-dark{color:#fff;background-color:#222}.__react_component_tooltip.type-dark.place-top:after{border-top-color:#222;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-dark.place-bottom:after{border-bottom-color:#222;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-dark.place-left:after{border-left-color:#222;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-dark.place-right:after{border-right-color:#222;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-dark.border{border:1px solid #fff}.__react_component_tooltip.type-dark.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-dark.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-dark.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-dark.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-success{color:#fff;background-color:#8DC572}.__react_component_tooltip.type-success.place-top:after{border-top-color:#8DC572;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-success.place-bottom:after{border-bottom-color:#8DC572;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-success.place-left:after{border-left-color:#8DC572;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-success.place-right:after{border-right-color:#8DC572;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-success.border{border:1px solid #fff}.__react_component_tooltip.type-success.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-success.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-success.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-success.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-warning{color:#fff;background-color:#F0AD4E}.__react_component_tooltip.type-warning.place-top:after{border-top-color:#F0AD4E;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-warning.place-bottom:after{border-bottom-color:#F0AD4E;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-warning.place-left:after{border-left-color:#F0AD4E;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-warning.place-right:after{border-right-color:#F0AD4E;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-warning.border{border:1px solid #fff}.__react_component_tooltip.type-warning.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-warning.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-warning.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-warning.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-error{color:#fff;background-color:#BE6464}.__react_component_tooltip.type-error.place-top:after{border-top-color:#BE6464;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-error.place-bottom:after{border-bottom-color:#BE6464;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-error.place-left:after{border-left-color:#BE6464;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-error.place-right:after{border-right-color:#BE6464;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-error.border{border:1px solid #fff}.__react_component_tooltip.type-error.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-error.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-error.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-error.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-info{color:#fff;background-color:#337AB7}.__react_component_tooltip.type-info.place-top:after{border-top-color:#337AB7;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-info.place-bottom:after{border-bottom-color:#337AB7;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-info.place-left:after{border-left-color:#337AB7;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-info.place-right:after{border-right-color:#337AB7;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-info.border{border:1px solid #fff}.__react_component_tooltip.type-info.border.place-top:before{border-top:8px solid #fff}.__react_component_tooltip.type-info.border.place-bottom:before{border-bottom:8px solid #fff}.__react_component_tooltip.type-info.border.place-left:before{border-left:8px solid #fff}.__react_component_tooltip.type-info.border.place-right:before{border-right:8px solid #fff}.__react_component_tooltip.type-light{color:#222;background-color:#fff}.__react_component_tooltip.type-light.place-top:after{border-top-color:#fff;border-top-style:solid;border-top-width:6px}.__react_component_tooltip.type-light.place-bottom:after{border-bottom-color:#fff;border-bottom-style:solid;border-bottom-width:6px}.__react_component_tooltip.type-light.place-left:after{border-left-color:#fff;border-left-style:solid;border-left-width:6px}.__react_component_tooltip.type-light.place-right:after{border-right-color:#fff;border-right-style:solid;border-right-width:6px}.__react_component_tooltip.type-light.border{border:1px solid #222}.__react_component_tooltip.type-light.border.place-top:before{border-top:8px solid #222}.__react_component_tooltip.type-light.border.place-bottom:before{border-bottom:8px solid #222}.__react_component_tooltip.type-light.border.place-left:before{border-left:8px solid #222}.__react_component_tooltip.type-light.border.place-right:before{border-right:8px solid #222}.__react_component_tooltip.place-top{margin-top:-10px}.__react_component_tooltip.place-top:before{border-left:10px solid transparent;border-right:10px solid transparent;bottom:-8px;left:50%;margin-left:-10px}.__react_component_tooltip.place-top:after{border-left:8px solid transparent;border-right:8px solid transparent;bottom:-6px;left:50%;margin-left:-8px}.__react_component_tooltip.place-bottom{margin-top:10px}.__react_component_tooltip.place-bottom:before{border-left:10px solid transparent;border-right:10px solid transparent;top:-8px;left:50%;margin-left:-10px}.__react_component_tooltip.place-bottom:after{border-left:8px solid transparent;border-right:8px solid transparent;top:-6px;left:50%;margin-left:-8px}.__react_component_tooltip.place-left{margin-left:-10px}.__react_component_tooltip.place-left:before{border-top:6px solid transparent;border-bottom:6px solid transparent;right:-8px;top:50%;margin-top:-5px}.__react_component_tooltip.place-left:after{border-top:5px solid transparent;border-bottom:5px solid transparent;right:-6px;top:50%;margin-top:-4px}.__react_component_tooltip.place-right{margin-left:10px}.__react_component_tooltip.place-right:before{border-top:6px solid transparent;border-bottom:6px solid transparent;left:-8px;top:50%;margin-top:-5px}.__react_component_tooltip.place-right:after{border-top:5px solid transparent;border-bottom:5px solid transparent;left:-6px;top:50%;margin-top:-4px}.__react_component_tooltip .multi-line{display:block;padding:2px 0px;text-align:center}'},5188:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseAria=function(e){var t={};return Object.keys(e).filter((function(e){return/(^aria-\w+$|^role$)/.test(e)})).forEach((function(n){t[n]=e[n]})),t}},614:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,s,c,l,u,d){for(var g=n(s),p=g.width,m=g.height,f=n(t),I=f.width,h=f.height,b=i(e,t,u),y=b.mouseX,C=b.mouseY,v=o(u,I,h,p,m),B=r(d),A=B.extraOffset_X,_=B.extraOffset_Y,S=window.innerWidth,G=window.innerHeight,Q=a(s),E=Q.parentTop,F=Q.parentLeft,w=function(e){var t=v[e].l;return y+t+A},T=function(e){var t=v[e].t;return C+t+_},x=function(e){return function(e){return w(e)<0}(e)||function(e){return function(e){var t=v[e].r;return y+t+A}(e)>S}(e)||function(e){return T(e)<0}(e)||function(e){return function(e){var t=v[e].b;return C+t+_}(e)>G}(e)},k=function(e){return!x(e)},N=["top","bottom","left","right"],O=[],Z=0;Z<4;Z++){var U=N[Z];k(U)&&O.push(U)}var R=!1,X=void 0;return k(l)&&l!==c?(R=!0,X=l):O.length>0&&x(l)&&x(c)&&(R=!0,X=O[0]),R?{isNewState:!0,newState:{place:X}}:{isNewState:!1,position:{left:parseInt(w(c)-F,10),top:parseInt(T(c)-E,10)}}};var n=function(e){var t=e.getBoundingClientRect(),n=t.height,i=t.width;return{height:parseInt(n,10),width:parseInt(i,10)}},i=function(e,t,i){var o=t.getBoundingClientRect(),r=o.top,a=o.left,s=n(t),c=s.width,l=s.height;return"float"===i?{mouseX:e.clientX,mouseY:e.clientY}:{mouseX:a+c/2,mouseY:r+l/2}},o=function(e,t,n,i,o){var r=void 0,a=void 0,s=void 0,c=void 0;return"float"===e?(r={l:-i/2,r:i/2,t:-(o+3+2),b:-3},s={l:-i/2,r:i/2,t:15,b:o+3+2+12},c={l:-(i+3+2),r:-3,t:-o/2,b:o/2},a={l:3,r:i+3+2,t:-o/2,b:o/2}):"solid"===e&&(r={l:-i/2,r:i/2,t:-(n/2+o+2),b:-n/2},s={l:-i/2,r:i/2,t:n/2,b:n/2+o+2},c={l:-(i+t/2+2),r:-t/2,t:-o/2,b:o/2},a={l:t/2,r:i+t/2+2,t:-o/2,b:o/2}),{top:r,bottom:s,left:c,right:a}},r=function(e){var t=0,n=0;for(var i in"[object String]"===Object.prototype.toString.apply(e)&&(e=JSON.parse(e.toString().replace(/\'/g,'"'))),e)"top"===i?n-=parseInt(e[i],10):"bottom"===i?n+=parseInt(e[i],10):"left"===i?t-=parseInt(e[i],10):"right"===i&&(t+=parseInt(e[i],10));return{extraOffset_X:t,extraOffset_Y:n}},a=function(e){for(var t=e;t&&"none"===window.getComputedStyle(t).getPropertyValue("transform");)t=t.parentElement;return{parentTop:t&&t.getBoundingClientRect().top||0,parentLeft:t&&t.getBoundingClientRect().left||0}}},3323:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n,i){if(t)return t;if(null!=n)return n;if(null===n)return null;var r=/<br\s*\/?>/;return i&&"false"!==i&&r.test(e)?e.split(r).map((function(e,t){return o.default.createElement("span",{key:t,className:"multi-line"},e)})):e};var i,o=(i=n(5927))&&i.__esModule?i:{default:i}},9975:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.length;return e.hasOwnProperty?Array.prototype.slice.call(e):new Array(t).fill().map((function(t){return e[t]}))}},7437:(e,t,n)=>{"use strict";n.d(t,{E:()=>l});var i=n(1460),o=n(4576),r=n(4490);function a(e){return e}var s=n(4601);function c(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Number.POSITIVE_INFINITY,c=null,l=e[e.length-1];return(0,o.m)(l)?(c=e.pop(),e.length>1&&"number"==typeof e[e.length-1]&&(n=e.pop())):"number"==typeof l&&(n=e.pop()),null===c&&1===e.length&&e[0]instanceof i.c?e[0]:function(e){return void 0===e&&(e=Number.POSITIVE_INFINITY),(0,r.ZZ)(a,e)}(n)((0,s.c)(e,c))}var l=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var i=function(){for(var e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i];return c.apply(void 0,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t.map((function(e){var t=e.apply(void 0,n);if(!t)throw new TypeError('combineEpics: one of the provided Epics "'+(e.name||"<anonymous>")+"\" does not return a stream. Double check you're not missing a return statement!");return t}))))};try{Object.defineProperty(i,"name",{value:"combineEpics("+t.map((function(e){return e.name||"<anonymous>"})).join(", ")+")"})}catch(o){}return i}},1409:(e,t,n)=>{"use strict";n.d(t,{C:()=>D});var i=n(5215),o=n(6027),r=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.scheduler=t,i.work=n,i}return i.C6(t,e),t.prototype.schedule=function(t,n){return void 0===n&&(n=0),n>0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,i):t.flush(this)},t}(o.R),a=n(7596),s=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.C6(t,e),t}(a.q))(r),c=n(1460),l=n(2968),u=n(2812);function d(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}d.prototype=Object.create(Error.prototype);var g,p=d,m=function(e){function t(t,n){var i=e.call(this)||this;return i.subject=t,i.subscriber=n,i.closed=!1,i}return i.C6(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var n=t.indexOf(this.subscriber);-1!==n&&t.splice(n,1)}}},t}(u.y),f=n(3089),I=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return i.C6(t,e),t}(l.v),h=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return i.C6(t,e),t.prototype[f.D]=function(){return new I(this)},t.prototype.lift=function(e){var t=new b(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new p;if(!this.isStopped)for(var t=this.observers,n=t.length,i=t.slice(),o=0;o<n;o++)i[o].next(e)},t.prototype.error=function(e){if(this.closed)throw new p;this.hasError=!0,this.thrownError=e,this.isStopped=!0;for(var t=this.observers,n=t.length,i=t.slice(),o=0;o<n;o++)i[o].error(e);this.observers.length=0},t.prototype.complete=function(){if(this.closed)throw new p;this.isStopped=!0;for(var e=this.observers,t=e.length,n=e.slice(),i=0;i<t;i++)n[i].complete();this.observers.length=0},t.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},t.prototype._trySubscribe=function(t){if(this.closed)throw new p;return e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){if(this.closed)throw new p;return this.hasError?(e.error(this.thrownError),u.y.EMPTY):this.isStopped?(e.complete(),u.y.EMPTY):(this.observers.push(e),new m(this,e))},t.prototype.asObservable=function(){var e=new c.c;return e.source=this,e},t.create=function(e,t){return new b(e,t)},t}(c.c),b=function(e){function t(t,n){var i=e.call(this)||this;return i.destination=t,i.source=n,i}return i.C6(t,e),t.prototype.next=function(e){var t=this.destination;t&&t.next&&t.next(e)},t.prototype.error=function(e){var t=this.destination;t&&t.error&&this.destination.error(e)},t.prototype.complete=function(){var e=this.destination;e&&e.complete&&this.destination.complete()},t.prototype._subscribe=function(e){return this.source?this.source.subscribe(e):u.y.EMPTY},t}(h),y=n(6959),C=n(4833),v=n(8927),B=n(7404);g||(g={});var A=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){switch(this.kind){case"N":return(0,v.of)(this.value);case"E":return(0,B.$)(this.error);case"C":return(0,C.I)()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}();function _(e,t){return void 0===t&&(t=0),function(n){return n.lift(new S(e,t))}}var S=function(){function e(e,t){void 0===t&&(t=0),this.scheduler=e,this.delay=t}return e.prototype.call=function(e,t){return t.subscribe(new G(e,this.scheduler,this.delay))},e}(),G=function(e){function t(t,n,i){void 0===i&&(i=0);var o=e.call(this,t)||this;return o.scheduler=n,o.delay=i,o}return i.C6(t,e),t.dispatch=function(e){var t=e.notification,n=e.destination;t.observe(n),this.unsubscribe()},t.prototype.scheduleMessage=function(e){this.destination.add(this.scheduler.schedule(t.dispatch,this.delay,new Q(e,this.destination)))},t.prototype._next=function(e){this.scheduleMessage(A.createNext(e))},t.prototype._error=function(e){this.scheduleMessage(A.createError(e)),this.unsubscribe()},t.prototype._complete=function(){this.scheduleMessage(A.createComplete()),this.unsubscribe()},t}(l.v),Q=function(e,t){this.notification=e,this.destination=t},E=n(8100),F=n(4490),w=1,T={},x=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.scheduler=t,i.work=n,i}return i.C6(t,e),t.prototype.requestAsyncId=function(t,n,i){return void 0===i&&(i=0),null!==i&&i>0?e.prototype.requestAsyncId.call(this,t,n,i):(t.actions.push(this),t.scheduled||(t.scheduled=function(e){var t=w++;return T[t]=e,Promise.resolve().then((function(){return function(e){var t=T[e];t&&t()}(t)})),t}(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,i){if(void 0===i&&(i=0),null!==i&&i>0||null===i&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,i);0===t.actions.length&&(function(e){delete T[e]}(n),t.scheduled=void 0)},t}(o.R),k=new(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.C6(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,i=-1,o=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++i<o&&(e=n.shift()));if(this.active=!1,t){for(;++i<o&&(e=n.shift());)e.unsubscribe();throw t}},t}(a.q))(x),N=n(252),O=function(e){function t(t,n,i){void 0===n&&(n=0),void 0===i&&(i=k);var o,r=e.call(this)||this;return r.source=t,r.delayTime=n,r.scheduler=i,o=n,((0,N.c)(o)||!(o-parseFloat(o)+1>=0)||n<0)&&(r.delayTime=0),i&&"function"==typeof i.schedule||(r.scheduler=k),r}return i.C6(t,e),t.create=function(e,n,i){return void 0===n&&(n=0),void 0===i&&(i=k),new t(e,n,i)},t.dispatch=function(e){var t=e.source,n=e.subscriber;return this.add(t.subscribe(n))},t.prototype._subscribe=function(e){var n=this.delayTime,i=this.source;return this.scheduler.schedule(t.dispatch,n,{source:i,subscriber:e})},t}(c.c),Z=function(){function e(e,t){this.scheduler=e,this.delay=t}return e.prototype.call=function(e,t){return new O(t,this.delay,this.scheduler).subscribe(e)},e}(),U=n(9610),R=function(e,t){return e===t||"function"==typeof t&&e===t.toString()},X=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return e.pipe((0,U.p)((function(e){var n=e.type,i=t.length;if(1===i)return R(n,t[0]);for(var o=0;o<i;o++)if(R(n,t[o]))return!0;return!1})))}},W=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),V=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.source=e,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),W(t,null,[{key:"of",value:function(){return new this(v.of.apply(void 0,arguments))}},{key:"from",value:function(e,t){return new this((0,y.H)(e,t))}}]),W(t,[{key:"lift",value:function(e){var n=new t(this);return n.operator=e,n}},{key:"ofType",value:function(){return X.apply(void 0,arguments)(this)}}]),t}(c.c),P=function(e){function t(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var i=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,(function(e){var t=i.__notifier.subscribe(e);return t&&!t.closed&&e.next(i.value),t})));return i.value=n,i.__notifier=new h,i.__subscription=e.subscribe((function(e){e!==i.value&&(i.value=e,i.__notifier.next(e))})),i}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(c.c);function D(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new(0,s.constructor)(s.SchedulerAction),n=new h,i=void 0,o=function(o){i=o;var r=(new h).pipe(_(t)),a=(new h).pipe(_(t)),s=new V(r),c=new P(a,i.getState());return n.pipe((0,E.T)((function(t){var n="dependencies"in e?t(s,c,e.dependencies):t(s,c);if(!n)throw new TypeError('Your root Epic "'+(t.name||"<anonymous>")+"\" does not return a stream. Double check you're not missing a return statement!");return n})),(0,F.ZZ)((function(e){return(0,y.H)(e).pipe((n=t,void 0===i&&(i=0),function(e){return e.lift(new Z(n,i))}),_(t));var n,i}))).subscribe(i.dispatch),function(e){return function(t){var n=e(t);return a.next(i.getState()),r.next(t),n}}};return o.run=function(e){n.next(e)},o}},1265:(e,t,n)=>{"use strict";function i(e){return function(t){var n=t.dispatch,i=t.getState;return function(t){return function(o){return"function"==typeof o?o(n,i,e):t(o)}}}}n.d(t,{A:()=>r});var o=i();o.withExtraArgument=i;const r=o},1829:(e,t,n)=>{"use strict";function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t,n){return(t=function(e){var t=function(e){if("object"!==i(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!==i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===i(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}n.d(t,{Tw:()=>m,HY:()=>g,Zz:()=>p,y$:()=>d});var c="function"==typeof Symbol&&Symbol.observable||"@@observable",l=function(){return Math.random().toString(36).substring(7).split("").join(".")},u={INIT:"@@redux/INIT"+l(),REPLACE:"@@redux/REPLACE"+l(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+l()}};function d(e,t,n){var i;if("function"==typeof t&&"function"==typeof n||"function"==typeof n&&"function"==typeof arguments[3])throw new Error(s(0));if("function"==typeof t&&void 0===n&&(n=t,t=void 0),void 0!==n){if("function"!=typeof n)throw new Error(s(1));return n(d)(e,t)}if("function"!=typeof e)throw new Error(s(2));var o=e,r=t,a=[],l=a,g=!1;function p(){l===a&&(l=a.slice())}function m(){if(g)throw new Error(s(3));return r}function f(e){if("function"!=typeof e)throw new Error(s(4));if(g)throw new Error(s(5));var t=!0;return p(),l.push(e),function(){if(t){if(g)throw new Error(s(6));t=!1,p();var n=l.indexOf(e);l.splice(n,1),a=null}}}function I(e){if(!function(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(e))throw new Error(s(7));if(void 0===e.type)throw new Error(s(8));if(g)throw new Error(s(9));try{g=!0,r=o(r,e)}finally{g=!1}for(var t=a=l,n=0;n<t.length;n++)(0,t[n])();return e}return I({type:u.INIT}),(i={dispatch:I,subscribe:f,getState:m,replaceReducer:function(e){if("function"!=typeof e)throw new Error(s(10));o=e,I({type:u.REPLACE})}})[c]=function(){var e,t=f;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new Error(s(11));function n(){e.next&&e.next(m())}return n(),{unsubscribe:t(n)}}})[c]=function(){return this},e},i}function g(e){for(var t=Object.keys(e),n={},i=0;i<t.length;i++){var o=t[i];"function"==typeof e[o]&&(n[o]=e[o])}var r,c=Object.keys(n);try{!function(e){Object.keys(e).forEach((function(t){var n=e[t];if(void 0===n(void 0,{type:u.INIT}))throw new Error(s(12));if(void 0===n(void 0,{type:u.PROBE_UNKNOWN_ACTION()}))throw new Error(s(13))}))}(n)}catch(a){r=a}return function(e,t){if(void 0===e&&(e={}),r)throw r;for(var i=!1,o={},a=0;a<c.length;a++){var l=c[a],u=n[l],d=e[l],g=u(d,t);if(void 0===g)throw t&&t.type,new Error(s(14));o[l]=g,i=i||g!==d}return(i=i||c.length!==Object.keys(e).length)?o:e}}function p(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function m(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),i=function(){throw new Error(s(15))},o={getState:n.getState,dispatch:function(){return i.apply(void 0,arguments)}},r=t.map((function(e){return e(o)}));return i=p.apply(void 0,r)(n.dispatch),a(a({},n),{},{dispatch:i})}}}},2325:(e,t,n)=>{"use strict";n.d(t,{Mz:()=>r});var i="NOT_FOUND",o=function(e,t){return e===t};var r=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return function(){for(var t=arguments.length,i=new Array(t),o=0;o<t;o++)i[o]=arguments[o];var r,a=0,s={memoizeOptions:void 0},c=i.pop();if("object"==typeof c&&(s=c,c=i.pop()),"function"!=typeof c)throw new Error("createSelector expects an output function after the inputs, but received: ["+typeof c+"]");var l=s.memoizeOptions,u=void 0===l?n:l,d=Array.isArray(u)?u:[u],g=function(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every((function(e){return"function"==typeof e}))){var n=t.map((function(e){return"function"==typeof e?"function "+(e.name||"unnamed")+"()":typeof e})).join(", ");throw new Error("createSelector expects all input-selectors to be functions, but received the following types: ["+n+"]")}return t}(i),p=e.apply(void 0,[function(){return a++,c.apply(null,arguments)}].concat(d)),m=e((function(){for(var e=[],t=g.length,n=0;n<t;n++)e.push(g[n].apply(null,arguments));return r=p.apply(null,e)}));return Object.assign(m,{resultFunc:c,memoizedResultFunc:p,dependencies:g,lastResult:function(){return r},recomputations:function(){return a},resetRecomputations:function(){return a=0}}),m}}((function(e,t){var n,r,a="object"==typeof t?t:{equalityCheck:t},s=a.equalityCheck,c=void 0===s?o:s,l=a.maxSize,u=void 0===l?1:l,d=a.resultEqualityCheck,g=function(e){return function(t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var i=t.length,o=0;o<i;o++)if(!e(t[o],n[o]))return!1;return!0}}(c),p=1===u?(n=g,{get:function(e){return r&&n(r.key,e)?r.value:i},put:function(e,t){r={key:e,value:t}},getEntries:function(){return r?[r]:[]},clear:function(){r=void 0}}):function(e,t){var n=[];function o(e){var o=n.findIndex((function(n){return t(e,n.key)}));if(o>-1){var r=n[o];return o>0&&(n.splice(o,1),n.unshift(r)),r.value}return i}return{get:o,put:function(t,r){o(t)===i&&(n.unshift({key:t,value:r}),n.length>e&&n.pop())},getEntries:function(){return n},clear:function(){n=[]}}}(u,g);function m(){var t=p.get(arguments);if(t===i){if(t=e.apply(null,arguments),d){var n=p.getEntries().find((function(e){return d(e.value,t)}));n&&(t=n.value)}p.put(arguments,t)}return t}return m.clearCache=function(){return p.clear()},m}))},3591:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>A});var i=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some((function(e,i){return e[0]===t&&(n=i,!0)})),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),i=this.__entries__[n];return i&&i[1]},t.prototype.set=function(t,n){var i=e(this.__entries__,t);~i?this.__entries__[i][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,i=e(n,t);~i&&n.splice(i,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,i=this.__entries__;n<i.length;n++){var o=i[n];e.call(t,o[1],o[0])}},t}()}(),o="undefined"!=typeof window&&"undefined"!=typeof document&&window.document===document,r=void 0!==n.g&&n.g.Math===Math?n.g:"undefined"!=typeof self&&self.Math===Math?self:"undefined"!=typeof window&&window.Math===Math?window:Function("return this")(),a="function"==typeof requestAnimationFrame?requestAnimationFrame.bind(r):function(e){return setTimeout((function(){return e(Date.now())}),1e3/60)},s=["top","right","bottom","left","width","height","size","weight"],c="undefined"!=typeof MutationObserver,l=function(){function e(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(e){var t=!1,n=!1,i=0;function o(){t&&(t=!1,e()),n&&s()}function r(){a(o)}function s(){var e=Date.now();if(t){if(e-i<2)return;n=!0}else t=!0,n=!1,setTimeout(r,20);i=e}return s}(this.refresh.bind(this))}return e.prototype.addObserver=function(e){~this.observers_.indexOf(e)||this.observers_.push(e),this.connected_||this.connect_()},e.prototype.removeObserver=function(e){var t=this.observers_,n=t.indexOf(e);~n&&t.splice(n,1),!t.length&&this.connected_&&this.disconnect_()},e.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},e.prototype.updateObservers_=function(){var e=this.observers_.filter((function(e){return e.gatherActive(),e.hasActive()}));return e.forEach((function(e){return e.broadcastActive()})),e.length>0},e.prototype.connect_=function(){o&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),c?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){o&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;s.some((function(e){return!!~n.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),u=function(e,t){for(var n=0,i=Object.keys(t);n<i.length;n++){var o=i[n];Object.defineProperty(e,o,{value:t[o],enumerable:!1,writable:!1,configurable:!0})}return e},d=function(e){return e&&e.ownerDocument&&e.ownerDocument.defaultView||r},g=h(0,0,0,0);function p(e){return parseFloat(e)||0}function m(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];return t.reduce((function(t,n){return t+p(e["border-"+n+"-width"])}),0)}var f="undefined"!=typeof SVGGraphicsElement?function(e){return e instanceof d(e).SVGGraphicsElement}:function(e){return e instanceof d(e).SVGElement&&"function"==typeof e.getBBox};function I(e){return o?f(e)?function(e){var t=e.getBBox();return h(0,0,t.width,t.height)}(e):function(e){var t=e.clientWidth,n=e.clientHeight;if(!t&&!n)return g;var i=d(e).getComputedStyle(e),o=function(e){for(var t={},n=0,i=["top","right","bottom","left"];n<i.length;n++){var o=i[n],r=e["padding-"+o];t[o]=p(r)}return t}(i),r=o.left+o.right,a=o.top+o.bottom,s=p(i.width),c=p(i.height);if("border-box"===i.boxSizing&&(Math.round(s+r)!==t&&(s-=m(i,"left","right")+r),Math.round(c+a)!==n&&(c-=m(i,"top","bottom")+a)),!function(e){return e===d(e).document.documentElement}(e)){var l=Math.round(s+r)-t,u=Math.round(c+a)-n;1!==Math.abs(l)&&(s-=l),1!==Math.abs(u)&&(c-=u)}return h(o.left,o.top,s,c)}(e):g}function h(e,t,n,i){return{x:e,y:t,width:n,height:i}}var b=function(){function e(e){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=h(0,0,0,0),this.target=e}return e.prototype.isActive=function(){var e=I(this.target);return this.contentRect_=e,e.width!==this.broadcastWidth||e.height!==this.broadcastHeight},e.prototype.broadcastRect=function(){var e=this.contentRect_;return this.broadcastWidth=e.width,this.broadcastHeight=e.height,e},e}(),y=function(e,t){var n,i,o,r,a,s,c,l=(i=(n=t).x,o=n.y,r=n.width,a=n.height,s="undefined"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,c=Object.create(s.prototype),u(c,{x:i,y:o,width:r,height:a,top:o,right:i+r,bottom:a+o,left:i}),c);u(this,{target:e,contentRect:l})},C=function(){function e(e,t,n){if(this.activeObservations_=[],this.observations_=new i,"function"!=typeof e)throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=e,this.controller_=t,this.callbackCtx_=n}return e.prototype.observe=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof d(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)||(t.set(e,new b(e)),this.controller_.addObserver(this),this.controller_.refresh())}},e.prototype.unobserve=function(e){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if("undefined"!=typeof Element&&Element instanceof Object){if(!(e instanceof d(e).Element))throw new TypeError('parameter 1 is not of type "Element".');var t=this.observations_;t.has(e)&&(t.delete(e),t.size||this.controller_.removeObserver(this))}},e.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},e.prototype.gatherActive=function(){var e=this;this.clearActive(),this.observations_.forEach((function(t){t.isActive()&&e.activeObservations_.push(t)}))},e.prototype.broadcastActive=function(){if(this.hasActive()){var e=this.callbackCtx_,t=this.activeObservations_.map((function(e){return new y(e.target,e.broadcastRect())}));this.callback_.call(e,t,e),this.clearActive()}},e.prototype.clearActive=function(){this.activeObservations_.splice(0)},e.prototype.hasActive=function(){return this.activeObservations_.length>0},e}(),v="undefined"!=typeof WeakMap?new WeakMap:new i,B=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=l.getInstance(),i=new C(t,n,this);v.set(this,i)};["observe","unobserve","disconnect"].forEach((function(e){B.prototype[e]=function(){var t;return(t=v.get(this))[e].apply(t,arguments)}}));const A=void 0!==r.ResizeObserver?r.ResizeObserver:B},138:(e,t,n)=>{"use strict";n.d(t,{R:()=>o});var i=n(5215),o=function(e){function t(t,n,i){var o=e.call(this)||this;return o.parent=t,o.outerValue=n,o.outerIndex=i,o.index=0,o}return i.C6(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(n(2968).v)},1460:(e,t,n)=>{"use strict";n.d(t,{c:()=>l});var i=n(2968),o=n(3089),r=n(6708),a=n(3656);function s(){}var c=n(1732),l=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var a=this.operator,s=function(e,t,n){if(e){if(e instanceof i.v)return e;if(e[o.D])return e[o.D]()}return e||t||n?new i.v(e,t,n):new i.v(r.I)}(e,t,n);if(a?s.add(a.call(s,this.source)):s.add(this.source||c.$.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),c.$.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){c.$.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),function(e){for(;e;){var t=e,n=t.closed,o=t.destination,r=t.isStopped;if(n||r)return!1;e=o&&o instanceof i.v?o:null}return!0}(e)?e.error(t):console.warn(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=u(t))((function(t,i){var o;o=n.subscribe((function(t){try{e(t)}catch(n){i(n),o&&o.unsubscribe()}}),i,t)}))},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[a.s]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return 0===e.length?this:function(e){return e?1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}:s}(e)(this)},e.prototype.toPromise=function(e){var t=this;return new(e=u(e))((function(e,n){var i;t.subscribe((function(e){return i=e}),(function(e){return n(e)}),(function(){return e(i)}))}))},e.create=function(t){return new e(t)},e}();function u(e){if(e||(e=c.$.Promise||Promise),!e)throw new Error("no Promise impl found");return e}},6708:(e,t,n)=>{"use strict";n.d(t,{I:()=>r});var i=n(1732),o=n(9199),r={closed:!0,next:function(e){},error:function(e){if(i.$.useDeprecatedSynchronousErrorHandling)throw e;(0,o.T)(e)},complete:function(){}}},7069:(e,t,n)=>{"use strict";n.d(t,{E:()=>o});var i=n(5215),o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i.C6(t,e),t.prototype.notifyNext=function(e,t,n,i,o){this.destination.next(t)},t.prototype.notifyError=function(e,t){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.destination.complete()},t}(n(2968).v)},2968:(e,t,n)=>{"use strict";n.d(t,{v:()=>u});var i=n(5215),o=n(9029),r=n(6708),a=n(2812),s=n(3089),c=n(1732),l=n(9199),u=function(e){function t(n,i,o){var a=e.call(this)||this;switch(a.syncErrorValue=null,a.syncErrorThrown=!1,a.syncErrorThrowable=!1,a.isStopped=!1,arguments.length){case 0:a.destination=r.I;break;case 1:if(!n){a.destination=r.I;break}if("object"==typeof n){n instanceof t?(a.syncErrorThrowable=n.syncErrorThrowable,a.destination=n,n.add(a)):(a.syncErrorThrowable=!0,a.destination=new d(a,n));break}default:a.syncErrorThrowable=!0,a.destination=new d(a,n,i,o)}return a}return i.C6(t,e),t.prototype[s.D]=function(){return this},t.create=function(e,n,i){var o=new t(e,n,i);return o.syncErrorThrowable=!1,o},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this))},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},t.prototype._unsubscribeAndRecycle=function(){var e=this._parentOrParents;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this},t}(a.y),d=function(e){function t(t,n,i,a){var s,c=e.call(this)||this;c._parentSubscriber=t;var l=c;return(0,o.T)(n)?s=n:n&&(s=n.next,i=n.error,a=n.complete,n!==r.I&&(l=Object.create(n),(0,o.T)(l.unsubscribe)&&c.add(l.unsubscribe.bind(l)),l.unsubscribe=c.unsubscribe.bind(c))),c._context=l,c._next=s,c._error=i,c._complete=a,c}return i.C6(t,e),t.prototype.next=function(e){if(!this.isStopped&&this._next){var t=this._parentSubscriber;c.$.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}},t.prototype.error=function(e){if(!this.isStopped){var t=this._parentSubscriber,n=c.$.useDeprecatedSynchronousErrorHandling;if(this._error)n&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)n?(t.syncErrorValue=e,t.syncErrorThrown=!0):(0,l.T)(e),this.unsubscribe();else{if(this.unsubscribe(),n)throw e;(0,l.T)(e)}}},t.prototype.complete=function(){var e=this;if(!this.isStopped){var t=this._parentSubscriber;if(this._complete){var n=function(){return e._complete.call(e._context)};c.$.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},t.prototype.__tryOrUnsub=function(e,t){try{e.call(this._context,t)}catch(n){if(this.unsubscribe(),c.$.useDeprecatedSynchronousErrorHandling)throw n;(0,l.T)(n)}},t.prototype.__tryOrSetError=function(e,t,n){if(!c.$.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,n)}catch(i){return c.$.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=i,e.syncErrorThrown=!0,!0):((0,l.T)(i),!0)}return!1},t.prototype._unsubscribe=function(){var e=this._parentSubscriber;this._context=null,this._parentSubscriber=null,e.unsubscribe()},t}(u)},2812:(e,t,n)=>{"use strict";n.d(t,{y:()=>c});var i=n(252),o=n(806),r=n(9029);function a(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(e,t){return t+1+") "+e.toString()})).join("\n  "):"",this.name="UnsubscriptionError",this.errors=e,this}a.prototype=Object.create(Error.prototype);var s=a,c=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var t;if(!this.closed){var n=this,a=n._parentOrParents,c=n._unsubscribe,u=n._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,a instanceof e)a.remove(this);else if(null!==a)for(var d=0;d<a.length;++d)a[d].remove(this);if((0,r.T)(c))try{c.call(this)}catch(m){t=m instanceof s?l(m.errors):[m]}if((0,i.c)(u)){d=-1;for(var g=u.length;++d<g;){var p=u[d];if((0,o.G)(p))try{p.unsubscribe()}catch(m){t=t||[],m instanceof s?t=t.concat(l(m.errors)):t.push(m)}}}if(t)throw new s(t)}},e.prototype.add=function(t){var n=t;if(!t)return e.EMPTY;switch(typeof t){case"function":n=new e(t);case"object":if(n===this||n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof e)){var i=n;(n=new e)._subscriptions=[i]}break;default:throw new Error("unrecognized teardown "+t+" added to Subscription.")}var o=n._parentOrParents;if(null===o)n._parentOrParents=this;else if(o instanceof e){if(o===this)return n;n._parentOrParents=[o,this]}else{if(-1!==o.indexOf(this))return n;o.push(this)}var r=this._subscriptions;return null===r?this._subscriptions=[n]:r.push(n),n},e.prototype.remove=function(e){var t=this._subscriptions;if(t){var n=t.indexOf(e);-1!==n&&t.splice(n,1)}},e.EMPTY=((t=new e).closed=!0,t),e}();function l(e){return e.reduce((function(e,t){return e.concat(t instanceof s?t.errors:t)}),[])}},1732:(e,t,n)=>{"use strict";n.d(t,{$:()=>o});var i=!1,o={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack,i=e},get useDeprecatedSynchronousErrorHandling(){return i}}},4833:(e,t,n)=>{"use strict";n.d(t,{I:()=>r,w:()=>o});var i=n(1460),o=new i.c((function(e){return e.complete()}));function r(e){return e?function(e){return new i.c((function(t){return e.schedule((function(){return t.complete()}))}))}(e):o}},6959:(e,t,n)=>{"use strict";n.d(t,{H:()=>d});var i=n(1460),o=n(8777),r=n(2812),a=n(3656),s=n(5890),c=n(3991),l=n(1164),u=n(9923);function d(e,t){return t?function(e,t){if(null!=e){if(function(e){return e&&"function"==typeof e[a.s]}(e))return function(e,t){return new i.c((function(n){var i=new r.y;return i.add(t.schedule((function(){var o=e[a.s]();i.add(o.subscribe({next:function(e){i.add(t.schedule((function(){return n.next(e)})))},error:function(e){i.add(t.schedule((function(){return n.error(e)})))},complete:function(){i.add(t.schedule((function(){return n.complete()})))}}))}))),i}))}(e,t);if((0,l.y)(e))return function(e,t){return new i.c((function(n){var i=new r.y;return i.add(t.schedule((function(){return e.then((function(e){i.add(t.schedule((function(){n.next(e),i.add(t.schedule((function(){return n.complete()})))})))}),(function(e){i.add(t.schedule((function(){return n.error(e)})))}))}))),i}))}(e,t);if((0,u.X)(e))return(0,s.V)(e,t);if(function(e){return e&&"function"==typeof e[c.lJ]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return new i.c((function(n){var i,o=new r.y;return o.add((function(){i&&"function"==typeof i.return&&i.return()})),o.add(t.schedule((function(){i=e[c.lJ](),o.add(t.schedule((function(){if(!n.closed){var e,t;try{var o=i.next();e=o.value,t=o.done}catch(r){return void n.error(r)}t?n.complete():(n.next(e),this.schedule())}})))}))),o}))}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}(e,t):e instanceof i.c?e:new i.c((0,o.i)(e))}},4601:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var i=n(1460),o=n(6239),r=n(5890);function a(e,t){return t?(0,r.V)(e,t):new i.c((0,o.v)(e))}},8988:(e,t,n)=>{"use strict";n.d(t,{T:()=>a});var i=n(1460),o=n(6959),r=n(4833);function a(e,t,n){return void 0===t&&(t=r.w),void 0===n&&(n=r.w),a=function(){return e()?t:n},new i.c((function(e){var t;try{t=a()}catch(n){return void e.error(n)}return(t?(0,o.H)(t):(0,r.I)()).subscribe(e)}));var a}},8927:(e,t,n)=>{"use strict";n.d(t,{of:()=>a});var i=n(4576),o=n(4601),r=n(5890);function a(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=e[e.length-1];return(0,i.m)(n)?(e.pop(),(0,r.V)(e,n)):(0,o.c)(e)}},7404:(e,t,n)=>{"use strict";n.d(t,{$:()=>o});var i=n(1460);function o(e,t){return t?new i.c((function(n){return t.schedule(r,0,{error:e,subscriber:n})})):new i.c((function(t){return t.error(e)}))}function r(e){var t=e.error;e.subscriber.error(t)}},8083:(e,t,n)=>{"use strict";n.d(t,{W:()=>s});var i=n(5215),o=n(7069),r=n(138),a=n(5693);function s(e){return function(t){var n=new c(e),i=t.lift(n);return n.caught=i}}var c=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.selector,this.caught))},e}(),l=function(e){function t(t,n,i){var o=e.call(this,t)||this;return o.selector=n,o.caught=i,o}return i.C6(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(o){return void e.prototype.error.call(this,o)}this._unsubscribeAndRecycle();var i=new r.R(this,void 0,void 0);this.add(i),(0,a.F)(this,n,void 0,void 0,i)}},t}(o.E)},9610:(e,t,n)=>{"use strict";n.d(t,{p:()=>r});var i=n(5215),o=n(2968);function r(e,t){return function(n){return n.lift(new a(e,t))}}var a=function(){function e(e,t){this.predicate=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.thisArg))},e}(),s=function(e){function t(t,n,i){var o=e.call(this,t)||this;return o.predicate=n,o.thisArg=i,o.count=0,o}return i.C6(t,e),t.prototype._next=function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}t&&this.destination.next(e)},t}(o.v)},8100:(e,t,n)=>{"use strict";n.d(t,{T:()=>r});var i=n(5215),o=n(2968);function r(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new a(e,t))}}var a=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.thisArg))},e}(),s=function(e){function t(t,n,i){var o=e.call(this,t)||this;return o.project=n,o.count=0,o.thisArg=i||o,o}return i.C6(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(o.v)},4490:(e,t,n)=>{"use strict";n.d(t,{ZZ:()=>l});var i=n(5215),o=n(5693),r=n(7069),a=n(138),s=n(8100),c=n(6959);function l(e,t,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"function"==typeof t?function(i){return i.pipe(l((function(n,i){return(0,c.H)(e(n,i)).pipe((0,s.T)((function(e,o){return t(n,e,i,o)})))}),n))}:("number"==typeof t&&(n=t),function(t){return t.lift(new u(e,n))})}var u=function(){function e(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY),this.project=e,this.concurrent=t}return e.prototype.call=function(e,t){return t.subscribe(new d(e,this.project,this.concurrent))},e}(),d=function(e){function t(t,n,i){void 0===i&&(i=Number.POSITIVE_INFINITY);var o=e.call(this,t)||this;return o.project=n,o.concurrent=i,o.hasCompleted=!1,o.buffer=[],o.active=0,o.index=0,o}return i.C6(t,e),t.prototype._next=function(e){this.active<this.concurrent?this._tryNext(e):this.buffer.push(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this.active++,this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var i=new a.R(this,void 0,void 0);this.destination.add(i),(0,o.F)(this,e,t,n,i)},t.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete(),this.unsubscribe()},t.prototype.notifyNext=function(e,t,n,i,o){this.destination.next(t)},t.prototype.notifyComplete=function(e){var t=this.buffer;this.remove(e),this.active--,t.length>0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(r.E)},2596:(e,t,n)=>{"use strict";n.d(t,{n:()=>l});var i=n(5215),o=n(7069),r=n(138),a=n(5693),s=n(8100),c=n(6959);function l(e,t){return"function"==typeof t?function(n){return n.pipe(l((function(n,i){return(0,c.H)(e(n,i)).pipe((0,s.T)((function(e,o){return t(n,e,i,o)})))})))}:function(t){return t.lift(new u(e))}}var u=function(){function e(e){this.project=e}return e.prototype.call=function(e,t){return t.subscribe(new d(e,this.project))},e}(),d=function(e){function t(t,n){var i=e.call(this,t)||this;return i.project=n,i.index=0,i}return i.C6(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(i){return void this.destination.error(i)}this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var i=this.innerSubscription;i&&i.unsubscribe();var o=new r.R(this,void 0,void 0);this.destination.add(o),this.innerSubscription=(0,a.F)(this,e,t,n,o)},t.prototype._complete=function(){var t=this.innerSubscription;t&&!t.closed||e.prototype._complete.call(this),this.unsubscribe()},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.destination.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,i,o){this.destination.next(t)},t}(o.E)},5937:(e,t,n)=>{"use strict";n.d(t,{c:()=>c});var i=n(5215),o=n(2968),r=n(6027),a=new(n(7596).q)(r.R),s={leading:!0,trailing:!1};function c(e,t,n){return void 0===t&&(t=a),void 0===n&&(n=s),function(i){return i.lift(new l(e,t,n.leading,n.trailing))}}var l=function(){function e(e,t,n,i){this.duration=e,this.scheduler=t,this.leading=n,this.trailing=i}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.duration,this.scheduler,this.leading,this.trailing))},e}(),u=function(e){function t(t,n,i,o,r){var a=e.call(this,t)||this;return a.duration=n,a.scheduler=i,a.leading=o,a.trailing=r,a._hasTrailingValue=!1,a._trailingValue=null,a}return i.C6(t,e),t.prototype._next=function(e){this.throttled?this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule(d,this.duration,{subscriber:this})),this.leading?this.destination.next(e):this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0))},t.prototype._complete=function(){this._hasTrailingValue?(this.destination.next(this._trailingValue),this.destination.complete()):this.destination.complete()},t.prototype.clearThrottle=function(){var e=this.throttled;e&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),e.unsubscribe(),this.remove(e),this.throttled=null)},t}(o.v);function d(e){e.subscriber.clearThrottle()}},5890:(e,t,n)=>{"use strict";n.d(t,{V:()=>r});var i=n(1460),o=n(2812);function r(e,t){return new i.c((function(n){var i=new o.y,r=0;return i.add(t.schedule((function(){r!==e.length?(n.next(e[r++]),n.closed||i.add(this.schedule())):n.complete()}))),i}))}},6027:(e,t,n)=>{"use strict";n.d(t,{R:()=>o});var i=n(5215),o=function(e){function t(t,n){var i=e.call(this,t,n)||this;return i.scheduler=t,i.work=n,i.pending=!1,i}return i.C6(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,i=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(i,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n=!1,i=void 0;try{this.work(e)}catch(o){n=!0,i=!!o&&o||new Error(o)}if(n)return this.unsubscribe(),i},t.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,i=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==i&&n.splice(i,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},t}(function(e){function t(t,n){return e.call(this)||this}return i.C6(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(2812).y))},7596:(e,t,n)=>{"use strict";n.d(t,{q:()=>r});var i=n(5215),o=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}(),r=function(e){function t(n,i){void 0===i&&(i=o.now);var r=e.call(this,n,(function(){return t.delegate&&t.delegate!==r?t.delegate.now():i()}))||this;return r.actions=[],r.active=!1,r.scheduled=void 0,r}return i.C6(t,e),t.prototype.schedule=function(n,i,o){return void 0===i&&(i=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,i,o):e.prototype.schedule.call(this,n,i,o)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(o)},3991:(e,t,n)=>{"use strict";n.d(t,{lJ:()=>i});var i="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"},3656:(e,t,n)=>{"use strict";n.d(t,{s:()=>i});var i="function"==typeof Symbol&&Symbol.observable||"@@observable"},3089:(e,t,n)=>{"use strict";n.d(t,{D:()=>i});var i="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()},9199:(e,t,n)=>{"use strict";function i(e){setTimeout((function(){throw e}),0)}n.d(t,{T:()=>i})},252:(e,t,n)=>{"use strict";n.d(t,{c:()=>i});var i=Array.isArray||function(e){return e&&"number"==typeof e.length}},9923:(e,t,n)=>{"use strict";n.d(t,{X:()=>i});var i=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e}},9029:(e,t,n)=>{"use strict";function i(e){return"function"==typeof e}n.d(t,{T:()=>i})},806:(e,t,n)=>{"use strict";function i(e){return null!==e&&"object"==typeof e}n.d(t,{G:()=>i})},1164:(e,t,n)=>{"use strict";function i(e){return!!e&&"function"!=typeof e.subscribe&&"function"==typeof e.then}n.d(t,{y:()=>i})},4576:(e,t,n)=>{"use strict";function i(e){return e&&"function"==typeof e.schedule}n.d(t,{m:()=>i})},8777:(e,t,n)=>{"use strict";n.d(t,{i:()=>u});var i=n(6239),o=n(9199),r=n(3991),a=n(3656),s=n(9923),c=n(1164),l=n(806),u=function(e){if(e&&"function"==typeof e[a.s])return u=e,function(e){var t=u[a.s]();if("function"!=typeof t.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return t.subscribe(e)};if((0,s.X)(e))return(0,i.v)(e);if((0,c.y)(e))return n=e,function(e){return n.then((function(t){e.closed||(e.next(t),e.complete())}),(function(t){return e.error(t)})).then(null,o.T),e};if(e&&"function"==typeof e[r.lJ])return t=e,function(e){for(var n=t[r.lJ]();;){var i=n.next();if(i.done){e.complete();break}if(e.next(i.value),e.closed)break}return"function"==typeof n.return&&e.add((function(){n.return&&n.return()})),e};var t,n,u,d=(0,l.G)(e)?"an invalid object":"'"+e+"'";throw new TypeError("You provided "+d+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.")}},6239:(e,t,n)=>{"use strict";n.d(t,{v:()=>i});var i=function(e){return function(t){for(var n=0,i=e.length;n<i&&!t.closed;n++)t.next(e[n]);t.complete()}}},5693:(e,t,n)=>{"use strict";n.d(t,{F:()=>a});var i=n(138),o=n(8777),r=n(1460);function a(e,t,n,a,s){if(void 0===s&&(s=new i.R(e,n,a)),!s.closed)return t instanceof r.c?t.subscribe(s):(0,o.i)(t)(s)}},2833:e=>{e.exports=function(e,t,n,i){var o=n?n.call(i,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),c=0;c<r.length;c++){var l=r[c];if(!s(l))return!1;var u=e[l],d=t[l];if(!1===(o=n?n.call(i,u,d,l):void 0)||void 0===o&&u!==d)return!1}return!0}},920:(e,t,n)=>{"use strict";var i=n(453),o=n(8075),r=n(8859),a=i("%TypeError%"),s=i("%WeakMap%",!0),c=i("%Map%",!0),l=o("WeakMap.prototype.get",!0),u=o("WeakMap.prototype.set",!0),d=o("WeakMap.prototype.has",!0),g=o("Map.prototype.get",!0),p=o("Map.prototype.set",!0),m=o("Map.prototype.has",!0),f=function(e,t){for(var n,i=e;null!==(n=i.next);i=n)if(n.key===t)return i.next=n.next,n.next=e.next,e.next=n,n};e.exports=function(){var e,t,n,i={assert:function(e){if(!i.has(e))throw new a("Side channel does not contain "+r(e))},get:function(i){if(s&&i&&("object"==typeof i||"function"==typeof i)){if(e)return l(e,i)}else if(c){if(t)return g(t,i)}else if(n)return function(e,t){var n=f(e,t);return n&&n.value}(n,i)},has:function(i){if(s&&i&&("object"==typeof i||"function"==typeof i)){if(e)return d(e,i)}else if(c){if(t)return m(t,i)}else if(n)return function(e,t){return!!f(e,t)}(n,i);return!1},set:function(i,o){s&&i&&("object"==typeof i||"function"==typeof i)?(e||(e=new s),u(e,i,o)):c?(t||(t=new c),p(t,i,o)):(n||(n={key:{},next:null}),function(e,t,n){var i=f(e,t);i?i.value=n:e.next={key:t,next:e.next,value:n}}(n,i,o))}};return i}},8887:function(e,t,n){var i,o,r;!function(){"use strict";o=[n(343)],i=function(e){return{backtrace:function(t){var n=[],i=10;"object"==typeof t&&"number"==typeof t.maxStackSize&&(i=t.maxStackSize);for(var o=arguments.callee;o&&n.length<i&&o.arguments;){for(var r=new Array(o.arguments.length),a=0;a<r.length;++a)r[a]=o.arguments[a];/function(?:\s+([\w$]+))+\s*\(/.test(o.toString())?n.push(new e({functionName:RegExp.$1||void 0,args:r})):n.push(new e({args:r}));try{o=o.caller}catch(s){break}}return n}}},void 0===(r=i.apply(t,o))||(e.exports=r)}()},8627:(e,t,n)=>{var i=n(8139),o=function(){};o.prototype.start=function(e){if(!e.key&&!e.targetUrl&&!e.customReportingFunction)throw new Error("Cannot initialize: No API key, target url or custom reporting function provided.");if(!e.projectId&&!e.targetUrl&&!e.customReportingFunction)throw new Error("Cannot initialize: No project ID, target url or custom reporting function provided.");this.customReportingFunction=e.customReportingFunction,this.apiKey=e.key,this.projectId=e.projectId,this.targetUrl=e.targetUrl,this.context=e.context||{},this.serviceContext={service:e.service||"web"},e.version&&(this.serviceContext.version=e.version),this.reportUncaughtExceptions=!1!==e.reportUncaughtExceptions,this.reportUnhandledPromiseRejections=!1!==e.reportUnhandledPromiseRejections,this.disabled=!!e.disabled,function(e){var t=function(){};if(e.reportUncaughtExceptions){var n=window.onerror||t;window.onerror=function(i,o,r,a,s){return s&&e.report(s).catch(t),n(i,o,r,a,s),!0}}if(e.reportUnhandledPromiseRejections){var i=window.onunhandledrejection||t;window.onunhandledrejection=function(n){return n&&e.report(n.reason).catch(t),i(n.reason),!0}}}(this)},o.prototype.report=function(e,t){if(this.disabled)return Promise.resolve(null);if(!e)return Promise.reject(new Error("no error to report"));t=t||{};var n={};n.serviceContext=this.serviceContext,n.context=this.context,n.context.httpRequest={userAgent:window.navigator.userAgent,url:window.location.href};var o=0;if("string"==typeof e||e instanceof String){try{throw new Error(e)}catch(s){e=s}o=t.skipLocalFrames||1}var r=this.targetUrl||"https://clouderrorreporting.googleapis.com/v1beta1/projects/"+this.projectId+"/events:report?key="+this.apiKey,a=this.customReportingFunction;return function(e,t){return i.fromError(e).then((function(n){for(var i=[e.toString()],o=t;o<n.length;o++)i.push(["    at ",n[o].getFunctionName()||"<anonymous>"," (",n[o].getFileName(),":",n[o].getLineNumber(),":",n[o].getColumnNumber(),")"].join(""));return i.join("\n")}),(function(t){return["Error extracting stack trace: ",t,"\n",e.toString(),"\n","    (",e.file,":",e.line,":",e.column,")"].join("")}))}(e,o).then((function(e){return n.message=e,a?a(n):function(e,t){var n=new XMLHttpRequest;return n.open("POST",e,!0),n.setRequestHeader("Content-Type","application/json; charset=UTF-8"),new Promise((function(e,i){n.onreadystatechange=function(){if(4===n.readyState){var o=n.status;o>=200&&o<300?e({message:t.message}):i(429===o?{message:"quota or rate limiting error on stackdriver report",name:"Http429FakeError"}:new Error((o?o+" http response":"network error")+" on stackdriver report"))}},n.send(JSON.stringify(t))}))}(r,n)}))},o.prototype.setUser=function(e){this.context.user=e},e.exports=o},343:function(e,t){var n,i,o;!function(){"use strict";i=[],void 0===(o="function"==typeof(n=function(){function e(e){return!isNaN(parseFloat(e))&&isFinite(e)}function t(e){return e.charAt(0).toUpperCase()+e.substring(1)}function n(e){return function(){return this[e]}}var i=["isConstructor","isEval","isNative","isToplevel"],o=["columnNumber","lineNumber"],r=["fileName","functionName","source"],a=i.concat(o,r,["args"],["evalOrigin"]);function s(e){if(e)for(var n=0;n<a.length;n++)void 0!==e[a[n]]&&this["set"+t(a[n])](e[a[n]])}s.prototype={getArgs:function(){return this.args},setArgs:function(e){if("[object Array]"!==Object.prototype.toString.call(e))throw new TypeError("Args must be an Array");this.args=e},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(e){if(e instanceof s)this.evalOrigin=e;else{if(!(e instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new s(e)}},toString:function(){var e=this.getFileName()||"",t=this.getLineNumber()||"",n=this.getColumnNumber()||"",i=this.getFunctionName()||"";return this.getIsEval()?e?"[eval] ("+e+":"+t+":"+n+")":"[eval]:"+t+":"+n:i?i+" ("+e+":"+t+":"+n+")":e+":"+t+":"+n}},s.fromString=function(e){var t=e.indexOf("("),n=e.lastIndexOf(")"),i=e.substring(0,t),o=e.substring(t+1,n).split(","),r=e.substring(n+1);if(0===r.indexOf("@"))var a=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(r,""),c=a[1],l=a[2],u=a[3];return new s({functionName:i,args:o||void 0,fileName:c,lineNumber:l||void 0,columnNumber:u||void 0})};for(var c=0;c<i.length;c++)s.prototype["get"+t(i[c])]=n(i[c]),s.prototype["set"+t(i[c])]=function(e){return function(t){this[e]=Boolean(t)}}(i[c]);for(var l=0;l<o.length;l++)s.prototype["get"+t(o[l])]=n(o[l]),s.prototype["set"+t(o[l])]=function(t){return function(n){if(!e(n))throw new TypeError(t+" must be a Number");this[t]=Number(n)}}(o[l]);for(var u=0;u<r.length;u++)s.prototype["get"+t(r[u])]=n(r[u]),s.prototype["set"+t(r[u])]=function(e){return function(t){this[e]=String(t)}}(r[u]);return s})?n.apply(t,i):n)||(e.exports=o)}()},671:(e,t,n)=>{var i=n(3835),o=Object.prototype.hasOwnProperty;function r(){this._array=[],this._set=Object.create(null)}r.fromArray=function(e,t){for(var n=new r,i=0,o=e.length;i<o;i++)n.add(e[i],t);return n},r.prototype.size=function(){return Object.getOwnPropertyNames(this._set).length},r.prototype.add=function(e,t){var n=i.toSetString(e),r=o.call(this._set,n),a=this._array.length;r&&!t||this._array.push(e),r||(this._set[n]=a)},r.prototype.has=function(e){var t=i.toSetString(e);return o.call(this._set,t)},r.prototype.indexOf=function(e){var t=i.toSetString(e);if(o.call(this._set,t))return this._set[t];throw new Error('"'+e+'" is not in the set.')},r.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},r.prototype.toArray=function(){return this._array.slice()},t.C=r},1860:(e,t,n)=>{var i=n(9900);t.encode=function(e){var t,n="",o=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&o,(o>>>=5)>0&&(t|=32),n+=i.encode(t)}while(o>0);return n},t.decode=function(e,t,n){var o,r,a,s,c=e.length,l=0,u=0;do{if(t>=c)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(r=i.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));o=!!(32&r),l+=(r&=31)<<u,u+=5}while(o);n.value=(s=(a=l)>>1,1&~a?s:-s),n.rest=t}},9900:(e,t)=>{var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e<n.length)return n[e];throw new TypeError("Must be between 0 and 63: "+e)},t.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}},5035:(e,t)=>{function n(e,i,o,r,a,s){var c=Math.floor((i-e)/2)+e,l=a(o,r[c],!0);return 0===l?c:l>0?i-c>1?n(c,i,o,r,a,s):s==t.LEAST_UPPER_BOUND?i<r.length?i:-1:c:c-e>1?n(e,c,o,r,a,s):s==t.LEAST_UPPER_BOUND?c:e<0?-1:e}t.GREATEST_LOWER_BOUND=1,t.LEAST_UPPER_BOUND=2,t.search=function(e,i,o,r){if(0===i.length)return-1;var a=n(-1,i.length,e,i,o,r||t.GREATEST_LOWER_BOUND);if(a<0)return-1;for(;a-1>=0&&0===o(i[a],i[a-1],!0);)--a;return a}},7238:(e,t,n)=>{var i=n(3835);function o(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}o.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},o.prototype.add=function(e){var t,n,o,r,a,s;n=e,o=(t=this._last).generatedLine,r=n.generatedLine,a=t.generatedColumn,s=n.generatedColumn,r>o||r==o&&s>=a||i.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},o.prototype.toArray=function(){return this._sorted||(this._array.sort(i.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.P=o},1737:(e,t)=>{function n(e,t,n){var i=e[t];e[t]=e[n],e[n]=i}function i(e,t,o,r){if(o<r){var a=o-1;n(e,(u=o,d=r,Math.round(u+Math.random()*(d-u))),r);for(var s=e[r],c=o;c<r;c++)t(e[c],s)<=0&&n(e,a+=1,c);n(e,a+1,c);var l=a+1;i(e,t,o,l-1),i(e,t,l+1,r)}var u,d}t.g=function(e,t){i(e,t,0,e.length-1)}},1606:(e,t,n)=>{var i=n(3835),o=n(5035),r=n(671).C,a=n(1860),s=n(1737).g;function c(e){var t=e;return"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,""))),null!=t.sections?new d(t):new l(t)}function l(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var n=i.getArg(t,"version"),o=i.getArg(t,"sources"),a=i.getArg(t,"names",[]),s=i.getArg(t,"sourceRoot",null),c=i.getArg(t,"sourcesContent",null),l=i.getArg(t,"mappings"),u=i.getArg(t,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);o=o.map(String).map(i.normalize).map((function(e){return s&&i.isAbsolute(s)&&i.isAbsolute(e)?i.relative(s,e):e})),this._names=r.fromArray(a.map(String),!0),this._sources=r.fromArray(o,!0),this.sourceRoot=s,this.sourcesContent=c,this._mappings=l,this.file=u}function u(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function d(e){var t=e;"string"==typeof e&&(t=JSON.parse(e.replace(/^\)\]\}'/,"")));var n=i.getArg(t,"version"),o=i.getArg(t,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new r,this._names=new r;var a={line:-1,column:0};this._sections=o.map((function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var t=i.getArg(e,"offset"),n=i.getArg(t,"line"),o=i.getArg(t,"column");if(n<a.line||n===a.line&&o<a.column)throw new Error("Section offsets must be ordered and non-overlapping.");return a=t,{generatedOffset:{generatedLine:n+1,generatedColumn:o+1},consumer:new c(i.getArg(e,"map"))}}))}c.fromSourceMap=function(e){return l.fromSourceMap(e)},c.prototype._version=3,c.prototype.__generatedMappings=null,Object.defineProperty(c.prototype,"_generatedMappings",{get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),c.prototype.__originalMappings=null,Object.defineProperty(c.prototype,"_originalMappings",{get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),c.prototype._charIsMappingSeparator=function(e,t){var n=e.charAt(t);return";"===n||","===n},c.prototype._parseMappings=function(e,t){throw new Error("Subclasses must implement _parseMappings")},c.GENERATED_ORDER=1,c.ORIGINAL_ORDER=2,c.GREATEST_LOWER_BOUND=1,c.LEAST_UPPER_BOUND=2,c.prototype.eachMapping=function(e,t,n){var o,r=t||null;switch(n||c.GENERATED_ORDER){case c.GENERATED_ORDER:o=this._generatedMappings;break;case c.ORIGINAL_ORDER:o=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var a=this.sourceRoot;o.map((function(e){var t=null===e.source?null:this._sources.at(e.source);return null!=t&&null!=a&&(t=i.join(a,t)),{source:t,generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:null===e.name?null:this._names.at(e.name)}}),this).forEach(e,r)},c.prototype.allGeneratedPositionsFor=function(e){var t=i.getArg(e,"line"),n={source:i.getArg(e,"source"),originalLine:t,originalColumn:i.getArg(e,"column",0)};if(null!=this.sourceRoot&&(n.source=i.relative(this.sourceRoot,n.source)),!this._sources.has(n.source))return[];n.source=this._sources.indexOf(n.source);var r=[],a=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,o.LEAST_UPPER_BOUND);if(a>=0){var s=this._originalMappings[a];if(void 0===e.column)for(var c=s.originalLine;s&&s.originalLine===c;)r.push({line:i.getArg(s,"generatedLine",null),column:i.getArg(s,"generatedColumn",null),lastColumn:i.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++a];else for(var l=s.originalColumn;s&&s.originalLine===t&&s.originalColumn==l;)r.push({line:i.getArg(s,"generatedLine",null),column:i.getArg(s,"generatedColumn",null),lastColumn:i.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++a]}return r},t.SourceMapConsumer=c,l.prototype=Object.create(c.prototype),l.prototype.consumer=c,l.fromSourceMap=function(e){var t=Object.create(l.prototype),n=t._names=r.fromArray(e._names.toArray(),!0),o=t._sources=r.fromArray(e._sources.toArray(),!0);t.sourceRoot=e._sourceRoot,t.sourcesContent=e._generateSourcesContent(t._sources.toArray(),t.sourceRoot),t.file=e._file;for(var a=e._mappings.toArray().slice(),c=t.__generatedMappings=[],d=t.__originalMappings=[],g=0,p=a.length;g<p;g++){var m=a[g],f=new u;f.generatedLine=m.generatedLine,f.generatedColumn=m.generatedColumn,m.source&&(f.source=o.indexOf(m.source),f.originalLine=m.originalLine,f.originalColumn=m.originalColumn,m.name&&(f.name=n.indexOf(m.name)),d.push(f)),c.push(f)}return s(t.__originalMappings,i.compareByOriginalPositions),t},l.prototype._version=3,Object.defineProperty(l.prototype,"sources",{get:function(){return this._sources.toArray().map((function(e){return null!=this.sourceRoot?i.join(this.sourceRoot,e):e}),this)}}),l.prototype._parseMappings=function(e,t){for(var n,o,r,c,l,d=1,g=0,p=0,m=0,f=0,I=0,h=e.length,b=0,y={},C={},v=[],B=[];b<h;)if(";"===e.charAt(b))d++,b++,g=0;else if(","===e.charAt(b))b++;else{for((n=new u).generatedLine=d,c=b;c<h&&!this._charIsMappingSeparator(e,c);c++);if(r=y[o=e.slice(b,c)])b+=o.length;else{for(r=[];b<c;)a.decode(e,b,C),l=C.value,b=C.rest,r.push(l);if(2===r.length)throw new Error("Found a source, but no line and column");if(3===r.length)throw new Error("Found a source and line, but no column");y[o]=r}n.generatedColumn=g+r[0],g=n.generatedColumn,r.length>1&&(n.source=f+r[1],f+=r[1],n.originalLine=p+r[2],p=n.originalLine,n.originalLine+=1,n.originalColumn=m+r[3],m=n.originalColumn,r.length>4&&(n.name=I+r[4],I+=r[4])),B.push(n),"number"==typeof n.originalLine&&v.push(n)}s(B,i.compareByGeneratedPositionsDeflated),this.__generatedMappings=B,s(v,i.compareByOriginalPositions),this.__originalMappings=v},l.prototype._findMapping=function(e,t,n,i,r,a){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[i]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[i]);return o.search(e,t,r,a)},l.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},l.prototype.originalPositionFor=function(e){var t={generatedLine:i.getArg(e,"line"),generatedColumn:i.getArg(e,"column")},n=this._findMapping(t,this._generatedMappings,"generatedLine","generatedColumn",i.compareByGeneratedPositionsDeflated,i.getArg(e,"bias",c.GREATEST_LOWER_BOUND));if(n>=0){var o=this._generatedMappings[n];if(o.generatedLine===t.generatedLine){var r=i.getArg(o,"source",null);null!==r&&(r=this._sources.at(r),null!=this.sourceRoot&&(r=i.join(this.sourceRoot,r)));var a=i.getArg(o,"name",null);return null!==a&&(a=this._names.at(a)),{source:r,line:i.getArg(o,"originalLine",null),column:i.getArg(o,"originalColumn",null),name:a}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some((function(e){return null==e}))},l.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;if(null!=this.sourceRoot&&(e=i.relative(this.sourceRoot,e)),this._sources.has(e))return this.sourcesContent[this._sources.indexOf(e)];var n;if(null!=this.sourceRoot&&(n=i.urlParse(this.sourceRoot))){var o=e.replace(/^file:\/\//,"");if("file"==n.scheme&&this._sources.has(o))return this.sourcesContent[this._sources.indexOf(o)];if((!n.path||"/"==n.path)&&this._sources.has("/"+e))return this.sourcesContent[this._sources.indexOf("/"+e)]}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(e){var t=i.getArg(e,"source");if(null!=this.sourceRoot&&(t=i.relative(this.sourceRoot,t)),!this._sources.has(t))return{line:null,column:null,lastColumn:null};var n={source:t=this._sources.indexOf(t),originalLine:i.getArg(e,"line"),originalColumn:i.getArg(e,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",i.compareByOriginalPositions,i.getArg(e,"bias",c.GREATEST_LOWER_BOUND));if(o>=0){var r=this._originalMappings[o];if(r.source===n.source)return{line:i.getArg(r,"generatedLine",null),column:i.getArg(r,"generatedColumn",null),lastColumn:i.getArg(r,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},d.prototype=Object.create(c.prototype),d.prototype.constructor=c,d.prototype._version=3,Object.defineProperty(d.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var n=0;n<this._sections[t].consumer.sources.length;n++)e.push(this._sections[t].consumer.sources[n]);return e}}),d.prototype.originalPositionFor=function(e){var t={generatedLine:i.getArg(e,"line"),generatedColumn:i.getArg(e,"column")},n=o.search(t,this._sections,(function(e,t){return e.generatedLine-t.generatedOffset.generatedLine||e.generatedColumn-t.generatedOffset.generatedColumn})),r=this._sections[n];return r?r.consumer.originalPositionFor({line:t.generatedLine-(r.generatedOffset.generatedLine-1),column:t.generatedColumn-(r.generatedOffset.generatedLine===t.generatedLine?r.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},d.prototype.hasContentsOfAllSources=function(){return this._sections.every((function(e){return e.consumer.hasContentsOfAllSources()}))},d.prototype.sourceContentFor=function(e,t){for(var n=0;n<this._sections.length;n++){var i=this._sections[n].consumer.sourceContentFor(e,!0);if(i)return i}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},d.prototype.generatedPositionFor=function(e){for(var t=0;t<this._sections.length;t++){var n=this._sections[t];if(-1!==n.consumer.sources.indexOf(i.getArg(e,"source"))){var o=n.consumer.generatedPositionFor(e);if(o)return{line:o.line+(n.generatedOffset.generatedLine-1),column:o.column+(n.generatedOffset.generatedLine===o.line?n.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},d.prototype._parseMappings=function(e,t){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var o=this._sections[n],r=o.consumer._generatedMappings,a=0;a<r.length;a++){var c=r[a],l=o.consumer._sources.at(c.source);null!==o.consumer.sourceRoot&&(l=i.join(o.consumer.sourceRoot,l)),this._sources.add(l),l=this._sources.indexOf(l);var u=o.consumer._names.at(c.name);this._names.add(u),u=this._names.indexOf(u);var d={source:l,generatedLine:c.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:c.generatedColumn+(o.generatedOffset.generatedLine===c.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:c.originalLine,originalColumn:c.originalColumn,name:u};this.__generatedMappings.push(d),"number"==typeof d.originalLine&&this.__originalMappings.push(d)}s(this.__generatedMappings,i.compareByGeneratedPositionsDeflated),s(this.__originalMappings,i.compareByOriginalPositions)}},1945:(e,t,n)=>{var i=n(1860),o=n(3835),r=n(671).C,a=n(7238).P;function s(e){e||(e={}),this._file=o.getArg(e,"file",null),this._sourceRoot=o.getArg(e,"sourceRoot",null),this._skipValidation=o.getArg(e,"skipValidation",!1),this._sources=new r,this._names=new r,this._mappings=new a,this._sourcesContents=null}s.prototype._version=3,s.fromSourceMap=function(e){var t=e.sourceRoot,n=new s({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var i={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(i.source=e.source,null!=t&&(i.source=o.relative(t,i.source)),i.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(i.name=e.name)),n.addMapping(i)})),e.sources.forEach((function(t){var i=e.sourceContentFor(t);null!=i&&n.setSourceContent(t,i)})),n},s.prototype.addMapping=function(e){var t=o.getArg(e,"generated"),n=o.getArg(e,"original",null),i=o.getArg(e,"source",null),r=o.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,i,r),null!=i&&(i=String(i),this._sources.has(i)||this._sources.add(i)),null!=r&&(r=String(r),this._names.has(r)||this._names.add(r)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:i,name:r})},s.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=o.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[o.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[o.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},s.prototype.applySourceMap=function(e,t,n){var i=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');i=e.file}var a=this._sourceRoot;null!=a&&(i=o.relative(a,i));var s=new r,c=new r;this._mappings.unsortedForEach((function(t){if(t.source===i&&null!=t.originalLine){var r=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=r.source&&(t.source=r.source,null!=n&&(t.source=o.join(n,t.source)),null!=a&&(t.source=o.relative(a,t.source)),t.originalLine=r.line,t.originalColumn=r.column,null!=r.name&&(t.name=r.name))}var l=t.source;null==l||s.has(l)||s.add(l);var u=t.name;null==u||c.has(u)||c.add(u)}),this),this._sources=s,this._names=c,e.sources.forEach((function(t){var i=e.sourceContentFor(t);null!=i&&(null!=n&&(t=o.join(n,t)),null!=a&&(t=o.relative(a,t)),this.setSourceContent(t,i))}),this)},s.prototype._validateMapping=function(e,t,n,i){if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||i)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:i}))},s.prototype._serializeMappings=function(){for(var e,t,n,r,a=0,s=1,c=0,l=0,u=0,d=0,g="",p=this._mappings.toArray(),m=0,f=p.length;m<f;m++){if(e="",(t=p[m]).generatedLine!==s)for(a=0;t.generatedLine!==s;)e+=";",s++;else if(m>0){if(!o.compareByGeneratedPositionsInflated(t,p[m-1]))continue;e+=","}e+=i.encode(t.generatedColumn-a),a=t.generatedColumn,null!=t.source&&(r=this._sources.indexOf(t.source),e+=i.encode(r-d),d=r,e+=i.encode(t.originalLine-1-l),l=t.originalLine-1,e+=i.encode(t.originalColumn-c),c=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=i.encode(n-u),u=n)),g+=e}return g},s.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=o.relative(t,e));var n=o.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)},s.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},s.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=s},1171:(e,t,n)=>{var i=n(1945).SourceMapGenerator,o=n(3835),r=/(\r?\n)/,a="$$$isSourceNode$$$";function s(e,t,n,i,o){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==o?null:o,this[a]=!0,null!=i&&this.add(i)}s.fromStringWithSourceMap=function(e,t,n){var i=new s,a=e.split(r),c=function(){return a.shift()+(a.shift()||"")},l=1,u=0,d=null;return t.eachMapping((function(e){if(null!==d){if(!(l<e.generatedLine)){var t=(n=a[0]).substr(0,e.generatedColumn-u);return a[0]=n.substr(e.generatedColumn-u),u=e.generatedColumn,g(d,t),void(d=e)}g(d,c()),l++,u=0}for(;l<e.generatedLine;)i.add(c()),l++;if(u<e.generatedColumn){var n=a[0];i.add(n.substr(0,e.generatedColumn)),a[0]=n.substr(e.generatedColumn),u=e.generatedColumn}d=e}),this),a.length>0&&(d&&g(d,c()),i.add(a.join(""))),t.sources.forEach((function(e){var r=t.sourceContentFor(e);null!=r&&(null!=n&&(e=o.join(n,e)),i.setSourceContent(e,r))})),i;function g(e,t){if(null===e||void 0===e.source)i.add(t);else{var r=n?o.join(n,e.source):e.source;i.add(new s(e.originalLine,e.originalColumn,r,t,e.name))}}},s.prototype.add=function(e){if(Array.isArray(e))e.forEach((function(e){this.add(e)}),this);else{if(!e[a]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e)}return this},s.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[a]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},s.prototype.walk=function(e){for(var t,n=0,i=this.children.length;n<i;n++)(t=this.children[n])[a]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},s.prototype.join=function(e){var t,n,i=this.children.length;if(i>0){for(t=[],n=0;n<i-1;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},s.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[a]?n.replaceRight(e,t):"string"==typeof n?this.children[this.children.length-1]=n.replace(e,t):this.children.push("".replace(e,t)),this},s.prototype.setSourceContent=function(e,t){this.sourceContents[o.toSetString(e)]=t},s.prototype.walkSourceContents=function(e){for(var t=0,n=this.children.length;t<n;t++)this.children[t][a]&&this.children[t].walkSourceContents(e);var i=Object.keys(this.sourceContents);for(t=0,n=i.length;t<n;t++)e(o.fromSetString(i[t]),this.sourceContents[i[t]])},s.prototype.toString=function(){var e="";return this.walk((function(t){e+=t})),e},s.prototype.toStringWithSourceMap=function(e){var t={code:"",line:1,column:0},n=new i(e),o=!1,r=null,a=null,s=null,c=null;return this.walk((function(e,i){t.code+=e,null!==i.source&&null!==i.line&&null!==i.column?(r===i.source&&a===i.line&&s===i.column&&c===i.name||n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name}),r=i.source,a=i.line,s=i.column,c=i.name,o=!0):o&&(n.addMapping({generated:{line:t.line,column:t.column}}),r=null,o=!1);for(var l=0,u=e.length;l<u;l++)10===e.charCodeAt(l)?(t.line++,t.column=0,l+1===u?(r=null,o=!1):o&&n.addMapping({source:i.source,original:{line:i.line,column:i.column},generated:{line:t.line,column:t.column},name:i.name})):t.column++})),this.walkSourceContents((function(e,t){n.setSourceContent(e,t)})),{code:t.code,map:n}},t.SourceNode=s},3835:(e,t)=>{t.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/,i=/^data:.+\,.+$/;function o(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function r(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function a(e){var n=e,i=o(e);if(i){if(!i.path)return e;n=i.path}for(var a,s=t.isAbsolute(n),c=n.split(/\/+/),l=0,u=c.length-1;u>=0;u--)"."===(a=c[u])?c.splice(u,1):".."===a?l++:l>0&&(""===a?(c.splice(u+1,l),l=0):(c.splice(u,2),l--));return""===(n=c.join("/"))&&(n=s?"/":"."),i?(i.path=n,r(i)):n}t.urlParse=o,t.urlGenerate=r,t.normalize=a,t.join=function(e,t){""===e&&(e="."),""===t&&(t=".");var n=o(t),s=o(e);if(s&&(e=s.path||"/"),n&&!n.scheme)return s&&(n.scheme=s.scheme),r(n);if(n||t.match(i))return t;if(s&&!s.host&&!s.path)return s.host=t,r(s);var c="/"===t.charAt(0)?t:a(e.replace(/\/+$/,"")+"/"+t);return s?(s.path=c,r(s)):c},t.isAbsolute=function(e){return"/"===e.charAt(0)||!!e.match(n)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var i=e.lastIndexOf("/");if(i<0)return t;if((e=e.slice(0,i)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var s=!("__proto__"in Object.create(null));function c(e){return e}function l(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function u(e,t){return e===t?0:e>t?1:-1}t.toSetString=s?c:function(e){return l(e)?"$"+e:e},t.fromSetString=s?c:function(e){return l(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,n){var i=e.source-t.source;return 0!==i||0!=(i=e.originalLine-t.originalLine)||0!=(i=e.originalColumn-t.originalColumn)||n||0!=(i=e.generatedColumn-t.generatedColumn)||0!=(i=e.generatedLine-t.generatedLine)?i:e.name-t.name},t.compareByGeneratedPositionsDeflated=function(e,t,n){var i=e.generatedLine-t.generatedLine;return 0!==i||0!=(i=e.generatedColumn-t.generatedColumn)||n||0!=(i=e.source-t.source)||0!=(i=e.originalLine-t.originalLine)||0!=(i=e.originalColumn-t.originalColumn)?i:e.name-t.name},t.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!=(n=e.generatedColumn-t.generatedColumn)||0!==(n=u(e.source,t.source))||0!=(n=e.originalLine-t.originalLine)||0!=(n=e.originalColumn-t.originalColumn)?n:u(e.name,t.name)}},65:(e,t,n)=>{t.SourceMapGenerator=n(1945).SourceMapGenerator,t.SourceMapConsumer=n(1606).SourceMapConsumer,t.SourceNode=n(1171).SourceNode},7885:function(e,t,n){var i,o,r;!function(){"use strict";o=[n(65),n(343)],void 0===(r="function"==typeof(i=function(e,t){function n(e){return new Promise((function(t,n){var i=new XMLHttpRequest;i.open("get",e),i.onerror=n,i.onreadystatechange=function(){4===i.readyState&&(i.status>=200&&i.status<300||"file://"===e.substr(0,7)&&i.responseText?t(i.responseText):n(new Error("HTTP status: "+i.status+" retrieving "+e)))},i.send()}))}function i(e){if("undefined"!=typeof window&&window.atob)return window.atob(e);throw new Error("You must supply a polyfill for window.atob in this environment")}function o(e){if("object"!=typeof e)throw new TypeError("Given StackFrame is not an object");if("string"!=typeof e.fileName)throw new TypeError("Given file name is not a String");if("number"!=typeof e.lineNumber||e.lineNumber%1!=0||e.lineNumber<1)throw new TypeError("Given line number must be a positive integer");if("number"!=typeof e.columnNumber||e.columnNumber%1!=0||e.columnNumber<0)throw new TypeError("Given column number must be a non-negative integer");return!0}function r(e,n,i){return new Promise((function(o,r){var a=n.originalPositionFor({line:e.lineNumber,column:e.columnNumber});if(a.source){var s=n.sourceContentFor(a.source);s&&(i[a.source]=s),o(new t({functionName:a.name||e.functionName,args:e.args,fileName:a.source,lineNumber:a.line,columnNumber:a.column}))}else r(new Error("Could not get original source for given stackframe and source map"))}))}return function a(s){if(!(this instanceof a))return new a(s);s=s||{},this.sourceCache=s.sourceCache||{},this.sourceMapConsumerCache=s.sourceMapConsumerCache||{},this.ajax=s.ajax||n,this._atob=s.atob||i,this._get=function(e){return new Promise(function(t,n){var i="data:"===e.substr(0,5);if(this.sourceCache[e])t(this.sourceCache[e]);else if(s.offline&&!i)n(new Error("Cannot make network requests in offline mode"));else if(i){var o=e.match(/^data:application\/json;([\w=:"-]+;)*base64,/);if(o){var r=o[0].length,a=e.substr(r),c=this._atob(a);this.sourceCache[e]=c,t(c)}else n(new Error("The encoding of the inline sourcemap is not supported"))}else{var l=this.ajax(e,{method:"get"});this.sourceCache[e]=l,l.then(t,n)}}.bind(this))},this._getSourceMapConsumer=function(t,n){return new Promise(function(i){if(this.sourceMapConsumerCache[t])i(this.sourceMapConsumerCache[t]);else{var o=new Promise(function(i,o){return this._get(t).then((function(t){"string"==typeof t&&(t=function(e){if("undefined"!=typeof JSON&&JSON.parse)return JSON.parse(e);throw new Error("You must supply a polyfill for JSON.parse in this environment")}(t.replace(/^\)\]\}'/,""))),void 0===t.sourceRoot&&(t.sourceRoot=n),i(new e.SourceMapConsumer(t))})).catch(o)}.bind(this));this.sourceMapConsumerCache[t]=o,i(o)}}.bind(this))},this.pinpoint=function(e){return new Promise(function(t,n){this.getMappedLocation(e).then(function(e){function n(){t(e)}this.findFunctionName(e).then(t,n).catch(n)}.bind(this),n)}.bind(this))},this.findFunctionName=function(e){return new Promise(function(n,i){o(e),this._get(e.fileName).then((function(i){var o=e.lineNumber,r=e.columnNumber,a=function(e,t){for(var n=[/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*function\b/,/function\s+([^('"`]*?)\s*\(([^)]*)\)/,/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*(?:eval|new Function)\b/,/\b(?!(?:if|for|switch|while|with|catch)\b)(?:(?:static)\s+)?(\S+)\s*\(.*?\)\s*\{/,/['"]?([$_A-Za-z][$_A-Za-z0-9]*)['"]?\s*[:=]\s*\(.*?\)\s*=>/],i=e.split("\n"),o="",r=Math.min(t,20),a=0;a<r;++a){var s=i[t-a-1],c=s.indexOf("//");if(c>=0&&(s=s.substr(0,c)),s){o=s+o;for(var l=n.length,u=0;u<l;u++){var d=n[u].exec(o);if(d&&d[1])return d[1]}}}}(i,o);n(a?new t({functionName:a,args:e.args,fileName:e.fileName,lineNumber:o,columnNumber:r}):e)}),i).catch(i)}.bind(this))},this.getMappedLocation=function(e){return new Promise(function(t,n){(function(){if("function"!=typeof Object.defineProperty||"function"!=typeof Object.create)throw new Error("Unable to consume source maps in older browsers")})(),o(e);var i=this.sourceCache,a=e.fileName;this._get(a).then(function(n){var o=function(e){for(var t,n,i=/\/\/[#@] ?sourceMappingURL=([^\s'"]+)\s*$/gm;n=i.exec(e);)t=n[1];if(t)return t;throw new Error("sourceMappingURL not found")}(n),s="data:"===o.substr(0,5),c=a.substring(0,a.lastIndexOf("/")+1);return"/"===o[0]||s||/^https?:\/\/|^\/\//i.test(o)||(o=c+o),this._getSourceMapConsumer(o,c).then((function(n){return r(e,n,i).then(t).catch((function(){t(e)}))}))}.bind(this),n).catch(n)}.bind(this))}}})?i.apply(t,o):i)||(e.exports=r)}()},8139:function(e,t,n){var i,o,r;!function(){"use strict";o=[n(4263),n(8887),n(7885)],i=function(e,t,n){var i={filter:function(e){return-1===(e.functionName||"").indexOf("StackTrace$$")&&-1===(e.functionName||"").indexOf("ErrorStackParser$$")&&-1===(e.functionName||"").indexOf("StackTraceGPS$$")&&-1===(e.functionName||"").indexOf("StackGenerator$$")},sourceCache:{}},o=function(){try{throw new Error}catch(e){return e}};function r(e,t){var n={};return[e,t].forEach((function(e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t]);return n})),n}function a(e){return e.stack||e["opera#sourceloc"]}function s(e,t){return"function"==typeof t?e.filter(t):e}return{get:function(e){var t=o();return a(t)?this.fromError(t,e):this.generateArtificially(e)},getSync:function(n){n=r(i,n);var c=o();return s(a(c)?e.parse(c):t.backtrace(n),n.filter)},fromError:function(t,o){o=r(i,o);var a=new n(o);return new Promise(function(n){var i=s(e.parse(t),o.filter);n(Promise.all(i.map((function(e){return new Promise((function(t){function n(){t(e)}a.pinpoint(e).then(t,n).catch(n)}))}))))}.bind(this))},generateArtificially:function(e){e=r(i,e);var n=t.backtrace(e);return"function"==typeof e.filter&&(n=n.filter(e.filter)),Promise.resolve(n)},instrument:function(e,t,n,i){if("function"!=typeof e)throw new Error("Cannot instrument non-function object");if("function"==typeof e.__stacktraceOriginalFn)return e;var o=function(){try{return this.get().then(t,n).catch(n),e.apply(i||this,arguments)}catch(o){throw a(o)&&this.fromError(o).then(t,n).catch(n),o}}.bind(this);return o.__stacktraceOriginalFn=e,o},deinstrument:function(e){if("function"!=typeof e)throw new Error("Cannot de-instrument non-function object");return"function"==typeof e.__stacktraceOriginalFn?e.__stacktraceOriginalFn:e},report:function(e,t,n,i){return new Promise((function(o,r){var a=new XMLHttpRequest;if(a.onerror=r,a.onreadystatechange=function(){4===a.readyState&&(a.status>=200&&a.status<400?o(a.responseText):r(new Error("POST to "+t+" failed with status: "+a.status)))},a.open("post",t),a.setRequestHeader("Content-Type","application/json"),i&&"object"==typeof i.headers){var s=i.headers;for(var c in s)Object.prototype.hasOwnProperty.call(s,c)&&a.setRequestHeader(c,s[c])}var l={stack:e};null!=n&&(l.message=n),a.send(JSON.stringify(l))}))}}},void 0===(r=i.apply(t,o))||(e.exports=r)}()},2403:(e,t,n)=>{"use strict";
/*!
 * statuses
 * Copyright(c) 2014 Jonathan Ong
 * Copyright(c) 2016 Douglas Christopher Wilson
 * MIT Licensed
 */var i=n(7662);function o(e){if(!Object.prototype.hasOwnProperty.call(r.message,e))throw new Error("invalid status code: "+e);return r.message[e]}function r(e){if("number"==typeof e)return o(e);if("string"!=typeof e)throw new TypeError("code must be a number or string");var t=parseInt(e,10);return isNaN(t)?function(e){var t=e.toLowerCase();if(!Object.prototype.hasOwnProperty.call(r.code,t))throw new Error('invalid status message: "'+e+'"');return r.code[t]}(e):o(t)}e.exports=r,r.message=i,r.code=function(e){var t={};return Object.keys(e).forEach((function(n){var i=e[n],o=Number(n);t[i.toLowerCase()]=o})),t}(i),r.codes=function(e){return Object.keys(e).map((function(e){return Number(e)}))}(i),r.redirect={300:!0,301:!0,302:!0,303:!0,305:!0,307:!0,308:!0},r.empty={204:!0,205:!0,304:!0},r.retry={502:!0,503:!0,504:!0}},8028:e=>{e.exports=function(e){return e.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()})).toLowerCase()}},2568:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ServerStyleSheet:()=>Ve,StyleSheetConsumer:()=>re,StyleSheetContext:()=>oe,StyleSheetManager:()=>de,ThemeConsumer:()=>ke,ThemeContext:()=>xe,ThemeProvider:()=>Ne,__PRIVATE__:()=>He,createGlobalStyle:()=>Xe,css:()=>ve,default:()=>Le,isStyledComponent:()=>v,keyframes:()=>We,useTheme:()=>De,version:()=>A,withTheme:()=>Pe});var i=n(4363),o=n(5927),r=n.n(o),a=n(2833),s=n.n(a);const c=function(e){function t(e,i,c,l,g){for(var p,m,f,I,C,B=0,A=0,_=0,S=0,G=0,x=0,N=f=p=0,Z=0,U=0,R=0,X=0,W=c.length,V=W-1,P="",D="",H="",L="";Z<W;){if(m=c.charCodeAt(Z),Z===V&&0!==A+S+_+B&&(0!==A&&(m=47===A?10:47),S=_=B=0,W++,V++),0===A+S+_+B){if(Z===V&&(0<U&&(P=P.replace(d,"")),0<P.trim().length)){switch(m){case 32:case 9:case 59:case 13:case 10:break;default:P+=c.charAt(Z)}m=59}switch(m){case 123:for(p=(P=P.trim()).charCodeAt(0),f=1,X=++Z;Z<W;){switch(m=c.charCodeAt(Z)){case 123:f++;break;case 125:f--;break;case 47:switch(m=c.charCodeAt(Z+1)){case 42:case 47:e:{for(N=Z+1;N<V;++N)switch(c.charCodeAt(N)){case 47:if(42===m&&42===c.charCodeAt(N-1)&&Z+2!==N){Z=N+1;break e}break;case 10:if(47===m){Z=N+1;break e}}Z=N}}break;case 91:m++;case 40:m++;case 34:case 39:for(;Z++<V&&c.charCodeAt(Z)!==m;);}if(0===f)break;Z++}if(f=c.substring(X,Z),0===p&&(p=(P=P.replace(u,"").trim()).charCodeAt(0)),64===p){switch(0<U&&(P=P.replace(d,"")),m=P.charCodeAt(1)){case 100:case 109:case 115:case 45:U=i;break;default:U=T}if(X=(f=t(i,U,f,m,g+1)).length,0<k&&(C=s(3,f,U=n(T,P,R),i,E,Q,X,m,g,l),P=U.join(""),void 0!==C&&0===(X=(f=C.trim()).length)&&(m=0,f="")),0<X)switch(m){case 115:P=P.replace(v,a);case 100:case 109:case 45:f=P+"{"+f+"}";break;case 107:f=(P=P.replace(h,"$1 $2"))+"{"+f+"}",f=1===w||2===w&&r("@"+f,3)?"@-webkit-"+f+"@"+f:"@"+f;break;default:f=P+f,112===l&&(D+=f,f="")}else f=""}else f=t(i,n(i,P,R),f,l,g+1);H+=f,f=R=U=N=p=0,P="",m=c.charCodeAt(++Z);break;case 125:case 59:if(1<(X=(P=(0<U?P.replace(d,""):P).trim()).length))switch(0===N&&(p=P.charCodeAt(0),45===p||96<p&&123>p)&&(X=(P=P.replace(" ",":")).length),0<k&&void 0!==(C=s(1,P,i,e,E,Q,D.length,l,g,l))&&0===(X=(P=C.trim()).length)&&(P="\0\0"),p=P.charCodeAt(0),m=P.charCodeAt(1),p){case 0:break;case 64:if(105===m||99===m){L+=P+c.charAt(Z);break}default:58!==P.charCodeAt(X-1)&&(D+=o(P,p,m,P.charCodeAt(2)))}R=U=N=p=0,P="",m=c.charCodeAt(++Z)}}switch(m){case 13:case 10:47===A?A=0:0===1+p&&107!==l&&0<P.length&&(U=1,P+="\0"),0<k*O&&s(0,P,i,e,E,Q,D.length,l,g,l),Q=1,E++;break;case 59:case 125:if(0===A+S+_+B){Q++;break}default:switch(Q++,I=c.charAt(Z),m){case 9:case 32:if(0===S+B+A)switch(G){case 44:case 58:case 9:case 32:I="";break;default:32!==m&&(I=" ")}break;case 0:I="\\0";break;case 12:I="\\f";break;case 11:I="\\v";break;case 38:0===S+A+B&&(U=R=1,I="\f"+I);break;case 108:if(0===S+A+B+F&&0<N)switch(Z-N){case 2:112===G&&58===c.charCodeAt(Z-3)&&(F=G);case 8:111===x&&(F=x)}break;case 58:0===S+A+B&&(N=Z);break;case 44:0===A+_+S+B&&(U=1,I+="\r");break;case 34:case 39:0===A&&(S=S===m?0:0===S?m:S);break;case 91:0===S+A+_&&B++;break;case 93:0===S+A+_&&B--;break;case 41:0===S+A+B&&_--;break;case 40:0===S+A+B&&(0===p&&(2*G+3*x==533||(p=1)),_++);break;case 64:0===A+_+S+B+N+f&&(f=1);break;case 42:case 47:if(!(0<S+B+_))switch(A){case 0:switch(2*m+3*c.charCodeAt(Z+1)){case 235:A=47;break;case 220:X=Z,A=42}break;case 42:47===m&&42===G&&X+2!==Z&&(33===c.charCodeAt(X+2)&&(D+=c.substring(X,Z+1)),I="",A=0)}}0===A&&(P+=I)}x=G,G=m,Z++}if(0<(X=D.length)){if(U=i,0<k&&void 0!==(C=s(2,D,U,e,E,Q,X,l,g,l))&&0===(D=C).length)return L+D+H;if(D=U.join(",")+"{"+D+"}",0!=w*F){switch(2!==w||r(D,2)||(F=0),F){case 111:D=D.replace(y,":-moz-$1")+D;break;case 112:D=D.replace(b,"::-webkit-input-$1")+D.replace(b,"::-moz-$1")+D.replace(b,":-ms-input-$1")+D}F=0}}return L+D+H}function n(e,t,n){var o=t.trim().split(f);t=o;var r=o.length,a=e.length;switch(a){case 0:case 1:var s=0;for(e=0===a?"":e[0]+" ";s<r;++s)t[s]=i(e,t[s],n).trim();break;default:var c=s=0;for(t=[];s<r;++s)for(var l=0;l<a;++l)t[c++]=i(e[l]+" ",o[s],n).trim()}return t}function i(e,t,n){var i=t.charCodeAt(0);switch(33>i&&(i=(t=t.trim()).charCodeAt(0)),i){case 38:return t.replace(I,"$1"+e.trim());case 58:return e.trim()+t.replace(I,"$1"+e.trim());default:if(0<1*n&&0<t.indexOf("\f"))return t.replace(I,(58===e.charCodeAt(0)?"":"$1")+e.trim())}return e+t}function o(e,t,n,i){var a=e+";",s=2*t+3*n+4*i;if(944===s){e=a.indexOf(":",9)+1;var c=a.substring(e,a.length-1).trim();return c=a.substring(0,e).trim()+c+";",1===w||2===w&&r(c,1)?"-webkit-"+c+c:c}if(0===w||2===w&&!r(a,1))return a;switch(s){case 1015:return 97===a.charCodeAt(10)?"-webkit-"+a+a:a;case 951:return 116===a.charCodeAt(3)?"-webkit-"+a+a:a;case 963:return 110===a.charCodeAt(5)?"-webkit-"+a+a:a;case 1009:if(100!==a.charCodeAt(4))break;case 969:case 942:return"-webkit-"+a+a;case 978:return"-webkit-"+a+"-moz-"+a+a;case 1019:case 983:return"-webkit-"+a+"-moz-"+a+"-ms-"+a+a;case 883:if(45===a.charCodeAt(8))return"-webkit-"+a+a;if(0<a.indexOf("image-set(",11))return a.replace(G,"$1-webkit-$2")+a;break;case 932:if(45===a.charCodeAt(4))switch(a.charCodeAt(5)){case 103:return"-webkit-box-"+a.replace("-grow","")+"-webkit-"+a+"-ms-"+a.replace("grow","positive")+a;case 115:return"-webkit-"+a+"-ms-"+a.replace("shrink","negative")+a;case 98:return"-webkit-"+a+"-ms-"+a.replace("basis","preferred-size")+a}return"-webkit-"+a+"-ms-"+a+a;case 964:return"-webkit-"+a+"-ms-flex-"+a+a;case 1023:if(99!==a.charCodeAt(8))break;return"-webkit-box-pack"+(c=a.substring(a.indexOf(":",15)).replace("flex-","").replace("space-between","justify"))+"-webkit-"+a+"-ms-flex-pack"+c+a;case 1005:return p.test(a)?a.replace(g,":-webkit-")+a.replace(g,":-moz-")+a:a;case 1e3:switch(t=(c=a.substring(13).trim()).indexOf("-")+1,c.charCodeAt(0)+c.charCodeAt(t)){case 226:c=a.replace(C,"tb");break;case 232:c=a.replace(C,"tb-rl");break;case 220:c=a.replace(C,"lr");break;default:return a}return"-webkit-"+a+"-ms-"+c+a;case 1017:if(-1===a.indexOf("sticky",9))break;case 975:switch(t=(a=e).length-10,s=(c=(33===a.charCodeAt(t)?a.substring(0,t):a).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|c.charCodeAt(7))){case 203:if(111>c.charCodeAt(8))break;case 115:a=a.replace(c,"-webkit-"+c)+";"+a;break;case 207:case 102:a=a.replace(c,"-webkit-"+(102<s?"inline-":"")+"box")+";"+a.replace(c,"-webkit-"+c)+";"+a.replace(c,"-ms-"+c+"box")+";"+a}return a+";";case 938:if(45===a.charCodeAt(5))switch(a.charCodeAt(6)){case 105:return c=a.replace("-items",""),"-webkit-"+a+"-webkit-box-"+c+"-ms-flex-"+c+a;case 115:return"-webkit-"+a+"-ms-flex-item-"+a.replace(A,"")+a;default:return"-webkit-"+a+"-ms-flex-line-pack"+a.replace("align-content","").replace(A,"")+a}break;case 973:case 989:if(45!==a.charCodeAt(3)||122===a.charCodeAt(4))break;case 931:case 953:if(!0===S.test(e))return 115===(c=e.substring(e.indexOf(":")+1)).charCodeAt(0)?o(e.replace("stretch","fill-available"),t,n,i).replace(":fill-available",":stretch"):a.replace(c,"-webkit-"+c)+a.replace(c,"-moz-"+c.replace("fill-",""))+a;break;case 962:if(a="-webkit-"+a+(102===a.charCodeAt(5)?"-ms-"+a:"")+a,211===n+i&&105===a.charCodeAt(13)&&0<a.indexOf("transform",10))return a.substring(0,a.indexOf(";",27)+1).replace(m,"$1-webkit-$2")+a}return a}function r(e,t){var n=e.indexOf(1===t?":":"{"),i=e.substring(0,3!==t?n:10);return n=e.substring(n+1,e.length-1),N(2!==t?i:i.replace(_,"$1"),n,t)}function a(e,t){var n=o(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+";"?n.replace(B," or ($1)").substring(4):"("+t+")"}function s(e,t,n,i,o,r,a,s,c,u){for(var d,g=0,p=t;g<k;++g)switch(d=x[g].call(l,e,p,n,i,o,r,a,s,c,u)){case void 0:case!1:case!0:case null:break;default:p=d}if(p!==t)return p}function c(e){return void 0!==(e=e.prefix)&&(N=null,e?"function"!=typeof e?w=1:(w=2,N=e):w=0),c}function l(e,n){var i=e;if(33>i.charCodeAt(0)&&(i=i.trim()),i=[i],0<k){var o=s(-1,n,i,i,E,Q,0,0,0,0);void 0!==o&&"string"==typeof o&&(n=o)}var r=t(T,i,n,0,0);return 0<k&&void 0!==(o=s(-2,r,i,i,E,Q,r.length,0,0,0))&&(r=o),F=0,Q=E=1,r}var u=/^\0+/g,d=/[\0\r\f]/g,g=/: */g,p=/zoo|gra/,m=/([,: ])(transform)/g,f=/,\r+?/g,I=/([\t\r\n ])*\f?&/g,h=/@(k\w+)\s*(\S*)\s*/,b=/::(place)/g,y=/:(read-only)/g,C=/[svh]\w+-[tblr]{2}/,v=/\(\s*(.*)\s*\)/g,B=/([\s\S]*?);/g,A=/-self|flex-/g,_=/[^]*?(:[rp][el]a[\w-]+)[^]*/,S=/stretch|:\s*\w+\-(?:conte|avail)/,G=/([^-])(image-set\()/,Q=1,E=1,F=0,w=1,T=[],x=[],k=0,N=null,O=0;return l.use=function e(t){switch(t){case void 0:case null:k=x.length=0;break;default:if("function"==typeof t)x[k++]=t;else if("object"==typeof t)for(var n=0,i=t.length;n<i;++n)e(t[n]);else O=0|!!t}return e},l.set=c,void 0!==e&&c(e),l},l={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var u=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,d=function(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){return u.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),g=n(4146),p=n.n(g);function m(){return(m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(this,arguments)}var f=function(e,t){for(var n=[e[0]],i=0,o=t.length;i<o;i+=1)n.push(t[i],e[i+1]);return n},I=function(e){return null!==e&&"object"==typeof e&&"[object Object]"===(e.toString?e.toString():Object.prototype.toString.call(e))&&!(0,i.typeOf)(e)},h=Object.freeze([]),b=Object.freeze({});function y(e){return"function"==typeof e}function C(e){return e.displayName||e.name||"Component"}function v(e){return e&&"string"==typeof e.styledComponentId}var B="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",A="5.3.9",_="undefined"!=typeof window&&"HTMLElement"in window,S=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&(void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY&&"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY)),G={};function Q(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];throw new Error("An error occurred. See https://git.io/JUIaE#"+e+" for more information."+(n.length>0?" Args: "+n.join(", "):""))}var E=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,i=n.length,o=i;e>=o;)(o<<=1)<0&&Q(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var r=i;r<o;r++)this.groupSizes[r]=0}for(var a=this.indexOfGroup(e+1),s=0,c=t.length;s<c;s++)this.tag.insertRule(a,t[s])&&(this.groupSizes[e]++,a++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),i=n+t;this.groupSizes[e]=0;for(var o=n;o<i;o++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],i=this.indexOfGroup(e),o=i+n,r=i;r<o;r++)t+=this.tag.getRule(r)+"/*!sc*/\n";return t},e}(),F=new Map,w=new Map,T=1,x=function(e){if(F.has(e))return F.get(e);for(;w.has(T);)T++;var t=T++;return F.set(e,t),w.set(t,e),t},k=function(e){return w.get(e)},N=function(e,t){t>=T&&(T=t+1),F.set(e,t),w.set(t,e)},O="style["+B+'][data-styled-version="5.3.9"]',Z=new RegExp("^"+B+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),U=function(e,t,n){for(var i,o=n.split(","),r=0,a=o.length;r<a;r++)(i=o[r])&&e.registerName(t,i)},R=function(e,t){for(var n=(t.textContent||"").split("/*!sc*/\n"),i=[],o=0,r=n.length;o<r;o++){var a=n[o].trim();if(a){var s=a.match(Z);if(s){var c=0|parseInt(s[1],10),l=s[2];0!==c&&(N(l,c),U(e,l,s[3]),e.getTag().insertRules(c,i)),i.length=0}else i.push(a)}}},X=function(){return n.nc},W=function(e){var t=document.head,n=e||t,i=document.createElement("style"),o=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var i=t[n];if(i&&1===i.nodeType&&i.hasAttribute(B))return i}}(n),r=void 0!==o?o.nextSibling:null;i.setAttribute(B,"active"),i.setAttribute("data-styled-version","5.3.9");var a=X();return a&&i.setAttribute("nonce",a),n.insertBefore(i,r),i},V=function(){function e(e){var t=this.element=W(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,i=t.length;n<i;n++){var o=t[n];if(o.ownerNode===e)return o}Q(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&"string"==typeof t.cssText?t.cssText:""},e}(),P=function(){function e(e){var t=this.element=W(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),i=this.nodes[e];return this.element.insertBefore(n,i||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),D=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),H=_,L={isServer:!_,useCSSOMInjection:!S},Y=function(){function e(e,t,n){void 0===e&&(e=b),void 0===t&&(t={}),this.options=m({},L,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&_&&H&&(H=!1,function(e){for(var t=document.querySelectorAll(O),n=0,i=t.length;n<i;n++){var o=t[n];o&&"active"!==o.getAttribute(B)&&(R(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return x(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(m({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,i=t.useCSSOMInjection,o=t.target,e=n?new D(o):i?new V(o):new P(o),new E(e)));var e,t,n,i,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(x(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(x(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(x(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,i="",o=0;o<n;o++){var r=k(o);if(void 0!==r){var a=e.names.get(r),s=t.getGroup(o);if(a&&s&&a.size){var c=B+".g"+o+'[id="'+r+'"]',l="";void 0!==a&&a.forEach((function(e){e.length>0&&(l+=e+",")})),i+=""+s+c+'{content:"'+l+'"}/*!sc*/\n'}}}return i}(this)},e}(),M=/(a)(d)/gi,J=function(e){return String.fromCharCode(e+(e>25?39:97))};function j(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=J(t%52)+n;return(J(t%52)+n).replace(M,"$1-$2")}var z=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},K=function(e){return z(5381,e)};function q(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(y(n)&&!v(n))return!1}return!0}var $=K("5.3.9"),ee=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic=(void 0===n||n.isStatic)&&q(e),this.componentId=t,this.baseHash=z($,t),this.baseStyle=n,Y.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var i=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(i,this.staticRulesId))o.push(this.staticRulesId);else{var r=ye(this.rules,e,t,n).join(""),a=j(z(this.baseHash,r)>>>0);if(!t.hasNameForId(i,a)){var s=n(r,"."+a,void 0,i);t.insertRules(i,a,s)}o.push(a),this.staticRulesId=a}else{for(var c=this.rules.length,l=z(this.baseHash,n.hash),u="",d=0;d<c;d++){var g=this.rules[d];if("string"==typeof g)u+=g;else if(g){var p=ye(g,e,t,n),m=Array.isArray(p)?p.join(""):p;l=z(l,m+d),u+=m}}if(u){var f=j(l>>>0);if(!t.hasNameForId(i,f)){var I=n(u,"."+f,void 0,i);t.insertRules(i,f,I)}o.push(f)}}return o.join(" ")},e}(),te=/^\s*\/\/.*$/gm,ne=[":","[",".","#"];function ie(e){var t,n,i,o,r=void 0===e?b:e,a=r.options,s=void 0===a?b:a,l=r.plugins,u=void 0===l?h:l,d=new c(s),g=[],p=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,i,o,r,a,s,c,l,u,d){switch(n){case 1:if(0===u&&64===i.charCodeAt(0))return e(i+";"),"";break;case 2:if(0===l)return i+"/*|*/";break;case 3:switch(l){case 102:case 112:return e(o[0]+i),"";default:return i+(0===d?"/*|*/":"")}case-2:i.split("/*|*/}").forEach(t)}}}((function(e){g.push(e)})),m=function(e,i,r){return 0===i&&-1!==ne.indexOf(r[n.length])||r.match(o)?e:"."+t};function f(e,r,a,s){void 0===s&&(s="&");var c=e.replace(te,""),l=r&&a?a+" "+r+" { "+c+" }":c;return t=s,n=r,i=new RegExp("\\"+n+"\\b","g"),o=new RegExp("(\\"+n+"\\b){2,}"),d(a||!r?"":r,l)}return d.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(i,m))},p,function(e){if(-2===e){var t=g;return g=[],t}}])),f.hash=u.length?u.reduce((function(e,t){return t.name||Q(15),z(e,t.name)}),5381).toString():"",f}var oe=r().createContext(),re=oe.Consumer,ae=r().createContext(),se=(ae.Consumer,new Y),ce=ie();function le(){return(0,o.useContext)(oe)||se}function ue(){return(0,o.useContext)(ae)||ce}function de(e){var t=(0,o.useState)(e.stylisPlugins),n=t[0],i=t[1],a=le(),c=(0,o.useMemo)((function(){var t=a;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=(0,o.useMemo)((function(){return ie({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return(0,o.useEffect)((function(){s()(n,e.stylisPlugins)||i(e.stylisPlugins)}),[e.stylisPlugins]),r().createElement(oe.Provider,{value:c},r().createElement(ae.Provider,{value:l},e.children))}var ge=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ce);var i=n.name+t.hash;e.hasNameForId(n.id,i)||e.insertRules(n.id,i,t(n.rules,i,"@keyframes"))},this.toString=function(){return Q(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=ce),this.name+e.hash},e}(),pe=/([A-Z])/,me=/([A-Z])/g,fe=/^ms-/,Ie=function(e){return"-"+e.toLowerCase()};function he(e){return pe.test(e)?e.replace(me,Ie).replace(fe,"-ms-"):e}var be=function(e){return null==e||!1===e||""===e};function ye(e,t,n,i){if(Array.isArray(e)){for(var o,r=[],a=0,s=e.length;a<s;a+=1)""!==(o=ye(e[a],t,n,i))&&(Array.isArray(o)?r.push.apply(r,o):r.push(o));return r}return be(e)?"":v(e)?"."+e.styledComponentId:y(e)?"function"!=typeof(c=e)||c.prototype&&c.prototype.isReactComponent||!t?e:ye(e(t),t,n,i):e instanceof ge?n?(e.inject(n,i),e.getName(i)):e:I(e)?function e(t,n){var i,o,r=[];for(var a in t)t.hasOwnProperty(a)&&!be(t[a])&&(Array.isArray(t[a])&&t[a].isCss||y(t[a])?r.push(he(a)+":",t[a],";"):I(t[a])?r.push.apply(r,e(t[a],a)):r.push(he(a)+": "+(i=a,(null==(o=t[a])||"boolean"==typeof o||""===o?"":"number"!=typeof o||0===o||i in l?String(o).trim():o+"px")+";")));return n?[n+" {"].concat(r,["}"]):r}(e):e.toString();var c}var Ce=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function ve(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return y(e)||I(e)?Ce(ye(f(h,[e].concat(n)))):0===n.length&&1===e.length&&"string"==typeof e[0]?e:Ce(ye(f(e,n)))}new Set;var Be=function(e,t,n){return void 0===n&&(n=b),e.theme!==n.theme&&e.theme||t||n.theme},Ae=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,_e=/(^-|-$)/g;function Se(e){return e.replace(Ae,"-").replace(_e,"")}var Ge=function(e){return j(K(e)>>>0)};function Qe(e){return"string"==typeof e&&!0}var Ee=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},Fe=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function we(e,t,n){var i=e[n];Ee(t)&&Ee(i)?Te(i,t):e[n]=t}function Te(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];for(var o=0,r=n;o<r.length;o++){var a=r[o];if(Ee(a))for(var s in a)Fe(s)&&we(e,a[s],s)}return e}var xe=r().createContext(),ke=xe.Consumer;function Ne(e){var t=(0,o.useContext)(xe),n=(0,o.useMemo)((function(){return function(e,t){return e?y(e)?e(t):Array.isArray(e)||"object"!=typeof e?Q(8):t?m({},t,{},e):e:Q(14)}(e.theme,t)}),[e.theme,t]);return e.children?r().createElement(xe.Provider,{value:n},e.children):null}var Oe={};function Ze(e,t,n){var i=v(e),a=!Qe(e),s=t.attrs,c=void 0===s?h:s,l=t.componentId,u=void 0===l?function(e,t){var n="string"!=typeof e?"sc":Se(e);Oe[n]=(Oe[n]||0)+1;var i=n+"-"+Ge("5.3.9"+n+Oe[n]);return t?t+"-"+i:i}(t.displayName,t.parentComponentId):l,g=t.displayName,f=void 0===g?function(e){return Qe(e)?"styled."+e:"Styled("+C(e)+")"}(e):g,I=t.displayName&&t.componentId?Se(t.displayName)+"-"+t.componentId:t.componentId||u,B=i&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,A=t.shouldForwardProp;i&&e.shouldForwardProp&&(A=t.shouldForwardProp?function(n,i,o){return e.shouldForwardProp(n,i,o)&&t.shouldForwardProp(n,i,o)}:e.shouldForwardProp);var _,S=new ee(n,I,i?e.componentStyle:void 0),G=S.isStatic&&0===c.length,Q=function(e,t){return function(e,t,n,i){var r=e.attrs,a=e.componentStyle,s=e.defaultProps,c=e.foldedComponentIds,l=e.shouldForwardProp,u=e.styledComponentId,g=e.target,p=function(e,t,n){void 0===e&&(e=b);var i=m({},t,{theme:e}),o={};return n.forEach((function(e){var t,n,r,a=e;for(t in y(a)&&(a=a(i)),a)i[t]=o[t]="className"===t?(n=o[t],r=a[t],n&&r?n+" "+r:n||r):a[t]})),[i,o]}(Be(t,(0,o.useContext)(xe),s)||b,t,r),f=p[0],I=p[1],h=function(e,t,n){var i=le(),o=ue();return t?e.generateAndInjectStyles(b,i,o):e.generateAndInjectStyles(n,i,o)}(a,i,f),C=n,v=I.$as||t.$as||I.as||t.as||g,B=Qe(v),A=I!==t?m({},t,{},I):t,_={};for(var S in A)"$"!==S[0]&&"as"!==S&&("forwardedAs"===S?_.as=A[S]:(l?l(S,d,v):!B||d(S))&&(_[S]=A[S]));return t.style&&I.style!==t.style&&(_.style=m({},t.style,{},I.style)),_.className=Array.prototype.concat(c,u,h!==u?h:null,t.className,I.className).filter(Boolean).join(" "),_.ref=C,(0,o.createElement)(v,_)}(_,e,t,G)};return Q.displayName=f,(_=r().forwardRef(Q)).attrs=B,_.componentStyle=S,_.displayName=f,_.shouldForwardProp=A,_.foldedComponentIds=i?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):h,_.styledComponentId=I,_.target=i?e.target:e,_.withComponent=function(e){var i=t.componentId,o=function(e,t){if(null==e)return{};var n,i,o={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["componentId"]),r=i&&i+"-"+(Qe(e)?e:Se(C(e)));return Ze(e,m({},o,{attrs:B,componentId:r}),n)},Object.defineProperty(_,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=i?Te({},e.defaultProps,t):t}}),Object.defineProperty(_,"toString",{value:function(){return"."+_.styledComponentId}}),a&&p()(_,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),_}var Ue=function(e){return function e(t,n,o){if(void 0===o&&(o=b),!(0,i.isValidElementType)(n))return Q(1,String(n));var r=function(){return t(n,o,ve.apply(void 0,arguments))};return r.withConfig=function(i){return e(t,n,m({},o,{},i))},r.attrs=function(i){return e(t,n,m({},o,{attrs:Array.prototype.concat(o.attrs,i).filter(Boolean)}))},r}(Ze,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){Ue[e]=Ue(e)}));var Re=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=q(e),Y.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,i){var o=i(ye(this.rules,t,n,i).join(""),""),r=this.componentId+e;n.insertRules(r,r,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,i){e>2&&Y.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,i)},e}();function Xe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var a=ve.apply(void 0,[e].concat(n)),s="sc-global-"+Ge(JSON.stringify(a)),c=new Re(a,s);function l(e){var t=le(),n=ue(),i=(0,o.useContext)(xe),r=(0,o.useRef)(t.allocateGSInstance(s)).current;return t.server&&u(r,e,t,i,n),(0,o.useLayoutEffect)((function(){if(!t.server)return u(r,e,t,i,n),function(){return c.removeStyles(r,t)}}),[r,e,t,i,n]),null}function u(e,t,n,i,o){if(c.isStatic)c.renderStyles(e,G,n,o);else{var r=m({},t,{theme:Be(t,i,l.defaultProps)});c.renderStyles(e,r,n,o)}}return r().memo(l)}function We(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var o=ve.apply(void 0,[e].concat(n)).join(""),r=Ge(o);return new ge(r,o)}var Ve=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=X();return"<style "+[n&&'nonce="'+n+'"',B+'="true"','data-styled-version="5.3.9"'].filter(Boolean).join(" ")+">"+t+"</style>"},this.getStyleTags=function(){return e.sealed?Q(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return Q(2);var n=((t={})[B]="",t["data-styled-version"]="5.3.9",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),i=X();return i&&(n.nonce=i),[r().createElement("style",m({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new Y({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?Q(2):r().createElement(de,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return Q(3)},e}(),Pe=function(e){var t=r().forwardRef((function(t,n){var i=(0,o.useContext)(xe),a=e.defaultProps,s=Be(t,i,a);return r().createElement(e,m({},t,{theme:s,ref:n}))}));return p()(t,e),t.displayName="WithTheme("+C(e)+")",t},De=function(){return(0,o.useContext)(xe)},He={StyleSheet:Y,masterSheet:se};const Le=Ue},1380:e=>{"use strict";function t(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(e){if("string"==typeof e)return n(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var o=0,r=function(){};return{s:r,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==i.return||i.return()}finally{if(c)throw a}}}}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function i(){this._defaults=[]}for(var o=0,r=["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"];o<r.length;o++){const e=r[o];i.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return this._defaults.push({fn:e,args:n}),this}}i.prototype._setDefaults=function(e){var n,i=t(this._defaults);try{for(i.s();!(n=i.n()).done;){const t=n.value;e[t.fn](...t.args)}}catch(o){i.e(o)}finally{i.f()}},e.exports=i},5734:(e,t,n)=>{"use strict";function i(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.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)?o(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}let r;"undefined"!=typeof window?r=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),r=void 0):r=self;const a=n(5971),s=n(8463),c=n(5373),l=n(1948),u=n(3048),d=u.isObject,g=u.mixin,p=u.hasOwn,m=n(9450),f=n(1380);function I(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};const h=t=e.exports;t.Request=_,h.getXHR=()=>{if(r.XMLHttpRequest)return new r.XMLHttpRequest;throw new Error("Browser-only version of superagent could not find XHR")};const b="".trim?e=>e.trim():e=>e.replace(/(^\s*|\s*$)/g,"");function y(e){if(!d(e))return e;const t=[];for(const n in e)p(e,n)&&C(t,n,e[n]);return t.join("&")}function C(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n)){var o,r=i(n);try{for(r.s();!(o=r.n()).done;)C(e,t,o.value)}catch(a){r.e(a)}finally{r.f()}}else if(d(n))for(const i in n)p(n,i)&&C(e,`${t}[${i}]`,n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function v(e){const t={},n=e.split("&");let i,o;for(let r=0,a=n.length;r<a;++r)i=n[r],o=i.indexOf("="),-1===o?t[decodeURIComponent(i)]="":t[decodeURIComponent(i.slice(0,o))]=decodeURIComponent(i.slice(o+1));return t}function B(e){return/[/+]json($|[^-\w])/i.test(e)}function A(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;let t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){const t=e.split(/\r?\n/),n={};let i,o,r,a;for(let s=0,c=t.length;s<c;++s)o=t[s],i=o.indexOf(":"),-1!==i&&(r=o.slice(0,i).toLowerCase(),a=b(o.slice(i+1)),n[r]=a);return n}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function _(e,t){const n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",(()=>{let e,t=null,i=null;try{i=new A(n)}catch(o){return t=new Error("Parser is unable to parse the response"),t.parse=!0,t.original=o,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||i.text||"Unsuccessful HTTP response"))}catch(o){e=o}e?(e.original=t,e.response=i,e.status=e.status||i.status,n.callback(e,i)):n.callback(null,i)}))}h.serializeObject=y,h.parseString=v,h.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},h.serialize={"application/x-www-form-urlencoded":c.stringify,"application/json":s},h.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},g(A.prototype,m.prototype),A.prototype._parseBody=function(e){let t=h.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&B(this.type)&&(t=h.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},A.prototype.toError=function(){const e=this.req,t=e.method,n=e.url,i=`cannot ${t} ${n} (${this.status})`,o=new Error(i);return o.status=this.status,o.method=t,o.url=n,o},h.Response=A,a(_.prototype),g(_.prototype,l.prototype),_.prototype.type=function(e){return this.set("Content-Type",h.types[e]||e),this},_.prototype.accept=function(e){return this.set("Accept",h.types[e]||e),this},_.prototype.auth=function(e,t,n){1===arguments.length&&(t=""),"object"==typeof t&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"});const i=n.encoder?n.encoder:e=>{if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")};return this._auth(e,t,n,i)},_.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},_.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},_.prototype._getFormData=function(){return this._formData||(this._formData=new r.FormData),this._formData},_.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();const n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},_.prototype.crossDomainError=function(){const e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},_.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},_.prototype.ca=_.prototype.agent,_.prototype.buffer=_.prototype.ca,_.prototype.write=()=>{throw new Error("Streaming is not supported in browser version of superagent")},_.prototype.pipe=_.prototype.write,_.prototype._isHost=function(e){return e&&"object"==typeof e&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},_.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||I,this._finalizeQueryString(),this._end()},_.prototype._setUploadTimeout=function(){const e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout((()=>{e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")}),this._uploadTimeout))},_.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));const e=this;this.xhr=h.getXHR();const t=this.xhr;let n=this._formData||this._data;this._setTimeouts(),t.addEventListener("readystatechange",(()=>{const n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4!==n)return;let i;try{i=t.status}catch(o){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}));const i=(t,n)=>{n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",i.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",i.bind(null,"upload"))}catch(o){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(o){return this.callback(o)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){const e=this._header["content-type"];let t=this._serializer||h.serialize[e?e.split(";")[0]:""];!t&&B(e)&&(t=h.serialize["application/json"]),t&&(n=t(n))}for(const o in this.header)null!==this.header[o]&&p(this.header,o)&&t.setRequestHeader(o,this.header[o]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},h.agent=()=>new f;for(var S=0,G=["GET","POST","OPTIONS","PATCH","PUT","DELETE"];S<G.length;S++){const e=G[S];f.prototype[e.toLowerCase()]=function(t,n){const i=new h.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}function Q(e,t,n){const i=h("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}f.prototype.del=f.prototype.delete,h.get=(e,t,n)=>{const i=h("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.head=(e,t,n)=>{const i=h("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.options=(e,t,n)=>{const i=h("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.del=Q,h.delete=Q,h.patch=(e,t,n)=>{const i=h("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.post=(e,t,n)=>{const i=h("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.put=(e,t,n)=>{const i=h("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},1948:(e,t,n)=>{"use strict";const i=n(2623),o=n(3048),r=o.isObject,a=o.hasOwn;function s(){}e.exports=s,s.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},s.prototype.parse=function(e){return this._parser=e,this},s.prototype.responseType=function(e){return this._responseType=e,this},s.prototype.serialize=function(e){return this._serializer=e,this},s.prototype.timeout=function(e){if(!e||"object"!=typeof e)return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(const t in e)if(a(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},s.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};const c=new Set(["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"]),l=new Set([408,413,429,500,502,503,504,521,522,524]);s.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{const n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(n){console.error(n)}if(t&&t.status&&l.has(t.status))return!0;if(e){if(e.code&&c.has(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},s.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},s.prototype.then=function(e,t){if(!this._fullfilledPromise){const e=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(((t,n)=>{e.on("abort",(()=>{if(this._maxRetries&&this._maxRetries>this._retries)return;if(this.timedout&&this.timedoutError)return void n(this.timedoutError);const e=new Error("Aborted");e.code="ABORTED",e.status=this.status,e.method=this.method,e.url=this.url,n(e)})),e.end(((e,i)=>{e?n(e):t(i)}))}))}return this._fullfilledPromise.then(e,t)},s.prototype.catch=function(e){return this.then(void 0,e)},s.prototype.use=function(e){return e(this),this},s.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},s.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},s.prototype.get=function(e){return this._header[e.toLowerCase()]},s.prototype.getHeader=s.prototype.get,s.prototype.set=function(e,t){if(r(e)){for(const t in e)a(e,t)&&this.set(t,e[t]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},s.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},s.prototype.field=function(e,t,n){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(r(e)){for(const t in e)a(e,t)&&this.field(t,e[t]);return this}if(Array.isArray(t)){for(const n in t)a(t,n)&&this.field(e,t[n]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),n?this._getFormData().append(e,t,n):this._getFormData().append(e,t),this},s.prototype.abort=function(){if(this._aborted)return this;if(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req){if(i.gte(process.version,"v13.0.0")&&i.lt(process.version,"v14.0.0"))throw new Error("Superagent does not work in v13 properly with abort() due to Node.js core changes");i.gte(process.version,"v14.0.0")&&(this.req.destroyed=!0),this.req.abort()}return this.clearTimeout(),this.emit("abort"),this},s.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization",`Basic ${i(`${e}:${t}`)}`);break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization",`Bearer ${e}`)}return this},s.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},s.prototype.redirects=function(e){return this._maxRedirects=e,this},s.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},s.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},s.prototype.send=function(e){const t=r(e);let n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&r(this._data))for(const i in e)a(e,i)&&(this._data[i]=e[i]);else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],n&&(n=n.toLowerCase().trim()),this._data="application/x-www-form-urlencoded"===n?this._data?`${this._data}&${e}`:e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},s.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},s.prototype._finalizeQueryString=function(){const e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){const e=this.url.indexOf("?");if(e>=0){const t=this.url.slice(e+1).split("&");"function"==typeof this._sort?t.sort(this._sort):t.sort(),this.url=this.url.slice(0,e)+"?"+t.join("&")}}},s.prototype._appendQueryString=()=>{console.warn("Unsupported")},s.prototype._timeoutError=function(e,t,n){if(this._aborted)return;const i=new Error(`${e+t}ms exceeded`);i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.timedoutError=i,this.abort(),this.callback(i)},s.prototype._setTimeouts=function(){const e=this;this._timeout&&!this._timer&&(this._timer=setTimeout((()=>{e._timeoutError("Timeout of ",e._timeout,"ETIME")}),this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout((()=>{e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")}),this._responseTimeout))}},9450:(e,t,n)=>{"use strict";const i=n(3048);function o(){}e.exports=o,o.prototype.get=function(e){return this.header[e.toLowerCase()]},o.prototype._setHeaderProperties=function(e){const t=e["content-type"]||"";this.type=i.type(t);const n=i.params(t);for(const i in n)Object.prototype.hasOwnProperty.call(n,i)&&(this[i]=n[i]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(o){}},o.prototype._setStatusProperties=function(e){const t=Math.trunc(e/100);this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},3048:(e,t)=>{"use strict";function n(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.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)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0,r=function(){};return{s:r,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}t.type=e=>e.split(/ *; */).shift(),t.params=e=>{const t={};var i,o=n(e.split(/ *; */));try{for(o.s();!(i=o.n()).done;){const e=i.value.split(/ *= */),n=e.shift(),o=e.shift();n&&o&&(t[n]=o)}}catch(r){o.e(r)}finally{o.f()}return t},t.parseLinks=e=>{const t={};var i,o=n(e.split(/ *, */));try{for(o.s();!(i=o.n()).done;){const e=i.value.split(/ *; */),n=e[0].slice(1,-1);t[e[1].split(/ *= */)[1].slice(1,-1)]=n}}catch(r){o.e(r)}finally{o.f()}return t},t.cleanHeader=(e,t)=>(delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e),t.isObject=e=>null!==e&&"object"==typeof e,t.hasOwn=Object.hasOwn||function(e,t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(new Object(e),t)},t.mixin=(e,n)=>{for(const i in n)t.hasOwn(n,i)&&(e[i]=n[i])}},9423:(e,t,n)=>{"use strict";n.d(t,{A:()=>i}),e=n.hmd(e);const i=function(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}("undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:e)},1004:(e,t,n)=>{"use strict";n.d(t,{V1:()=>c,zU:()=>s});var i=n(5215),o="Invariant Violation",r=Object.setPrototypeOf,a=void 0===r?function(e,t){return e.__proto__=t,e}:r,s=function(e){function t(n){void 0===n&&(n=o);var i=e.call(this,"number"==typeof n?o+": "+n+" (see https://github.com/apollographql/invariant-packages)":n)||this;return i.framesToPop=1,i.name=o,a(i,t.prototype),i}return(0,i.C6)(t,e),t}(Error);function c(e,t){if(!e)throw new s(t)}function l(e){return function(){return console[e].apply(console,arguments)}}!function(e){e.warn=l("warn"),e.error=l("error")}(c||(c={}));var u={env:{}};if("object"==typeof process)u=process;else try{Function("stub","process = stub")(u)}catch(d){}},5215:(e,t,n)=>{"use strict";n.d(t,{C6:()=>o,Cl:()=>r,Tt:()=>a,YH:()=>c,aN:()=>l,sH:()=>s});
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},i(e,t)};function o(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var r=function(){return r=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)};function a(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]])}return n}function s(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))}function c(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(r){return function(s){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,i=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==r[0]&&2!==r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]<o[3])){a.label=r[1];break}if(6===r[0]&&a.label<o[1]){a.label=o[1],o=r;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(r);break}o[2]&&a.ops.pop(),a.trys.pop();continue}r=t.call(e,a)}catch(s){r=[6,s],i=0}finally{n=o=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,s])}}}function l(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;var i=Array(e),o=0;for(t=0;t<n;t++)for(var r=arguments[t],a=0,s=r.length;a<s;a++,o++)i[o]=r[a];return i}},7475:function(e,t){!function(e){"use strict";function t(e){return null==e}function n(e){throw new Error("Argument "+e+" is empty.")}function i(e){return"function"==typeof e&&"getType"in e}function o(e){throw new Error("Argument "+e+' is invalid, it should be an action-creator instance from "typesafe-actions"')}function r(e,t){if(null==e)throw new Error("Argument contains array with empty element at index "+t);if(null==e.getType)throw new Error("Argument contains array with invalid element at index "+t+', it should be an action-creator instance from "typesafe-actions"')}function a(e){return"string"==typeof e||"symbol"==typeof e}function s(e){return!a(e)}function c(e){throw new Error("Argument "+e+" is invalid, it should be an action type of type: string | symbol")}function l(e,t){if(null==e)throw new Error("Argument contains array with empty element at index "+t);if("string"!=typeof e&&"symbol"!=typeof e)throw new Error("Argument contains array with invalid element at index "+t+", it should be of type: string | symbol")}function u(e,i,r,a){return t(e)&&n(1),s(e)&&o(1),{type:e,payload:i,meta:r,error:a}}function d(e,i){return t(e)&&n(1),s(e)&&c(1),Object.assign((function(){var t=null!=i?i.apply(void 0,arguments):void 0;return Object.assign({type:e},t)}),{getType:function(){return e},toString:function(){return e}})}function g(e,i,o){return t(e)&&n(1),s(e)&&c(1),function(){return d(e,(function(){var e=arguments.length<=0?void 0:arguments[0],t=arguments.length<=1?void 0:arguments[1];return null==i&&null==o||(e=null!=i?i.apply(void 0,arguments):void 0,t=null!=o?o.apply(void 0,arguments):void 0),Object.assign({},void 0!==e&&{payload:e},{},void 0!==t&&{meta:t})}))}}function p(e){return t(e)&&n(1),i(e)||o(1),e.getType()}function m(e,i){t(e)&&n(1),s(e)&&c(1);var o=null!=i?i(e):function(){return{type:e}};return Object.assign(o,{getType:function(){return e},toString:function(){return e}})}var f={createAction:function(e,t){var n=null==t?function(){return u(e)}:t(u.bind(null,e));return Object.assign(n,{getType:function(){return e},toString:function(){return e}})},createCustomAction:m,createStandardAction:function(e){return t(e)&&n(1),s(e)&&c(1),Object.assign((function(){return m(e,(function(e){return function(t,n){return{type:e,payload:t,meta:n}}}))}),{map:function(t){return m(e,(function(e){return function(n,i){return Object.assign(t(n,i),{type:e})}}))}})}};e.action=u,e.createAction=g,e.createAsyncAction=function(e,t,n,i){return function(){var o=[e,t,n,i].map((function(e,t){return Array.isArray(e)?g(e[0],e[1],e[2])():"string"==typeof e||"symbol"==typeof e?g(e)():void(t<3&&function(e){throw new Error("Argument "+e+' is invalid, it should be an action type of "string | symbol" or a tuple of "[string | symbol, Function, Function?]"')}(t))}));return{request:o[0],success:o[1],failure:o[2],cancel:o[3]}}},e.createCustomAction=d,e.createReducer=function e(t,n){void 0===n&&(n={});var o=Object.assign({},n),r=function(n,r){var s=Array.isArray(n)?n:[n],c={};return s.map((function(e,t){return i(e)?p(e):a(e)?e:function(e){throw new Error("Argument "+e+' is invalid, it should be an action-creator instance from "typesafe-actions" or action type of type: string | symbol')}(t+1)})).forEach((function(e){return c[e]=r})),e(t,Object.assign({},o,{},c))};return Object.assign((function(e,n){if(void 0===e&&(e=t),o.hasOwnProperty(n.type)){var i=o[n.type];if("function"!=typeof i)throw Error('Reducer under "'+n.type+'" key is not a valid reducer');return i(e,n)}return e}),{handlers:Object.assign({},o),handleAction:r,handleType:r})},e.deprecated=f,e.getType=p,e.isActionOf=function(e,i){t(e)&&n(1);var o=Array.isArray(e)?e:[e];o.forEach(r);var a=function(e){return o.some((function(t){return e.type===t.getType()}))};return void 0===i?a:a(i)},e.isOfType=function(e,i){t(e)&&n(1);var o=Array.isArray(e)?e:[e];o.forEach(l);var r=function(e){return o.includes(e.type)};return void 0===i?r:r(i)}}(t)},1063:(e,t,n)=>{"use strict";
/**
 * @license React
 * use-sync-external-store-shim.production.min.js
 *
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */var i=n(5927),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=i.useState,a=i.useEffect,s=i.useLayoutEffect,c=i.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o(e,n)}catch(i){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(),i=r({inst:{value:n,getSnapshot:t}}),o=i[0].inst,u=i[1];return s((function(){o.value=n,o.getSnapshot=t,l(o)&&u({inst:o})}),[e,n,t]),a((function(){return l(o)&&u({inst:o}),e((function(){l(o)&&u({inst:o})}))}),[e]),c(n),n};t.useSyncExternalStore=void 0!==i.useSyncExternalStore?i.useSyncExternalStore:u},9888:(e,t,n)=>{"use strict";e.exports=n(1063)},3829:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});const i={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let o;const r=new Uint8Array(16);function a(){if(!o&&(o="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!o))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return o(r)}const s=[];for(let l=0;l<256;++l)s.push((l+256).toString(16).slice(1));const c=function(e,t,n){if(i.randomUUID&&!t&&!e)return i.randomUUID();const o=(e=e||{}).random||(e.rng||a)();if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t){n=n||0;for(let e=0;e<16;++e)t[n+e]=o[e];return t}return function(e,t=0){return s[e[t+0]]+s[e[t+1]]+s[e[t+2]]+s[e[t+3]]+"-"+s[e[t+4]]+s[e[t+5]]+"-"+s[e[t+6]]+s[e[t+7]]+"-"+s[e[t+8]]+s[e[t+9]]+"-"+s[e[t+10]]+s[e[t+11]]+s[e[t+12]]+s[e[t+13]]+s[e[t+14]]+s[e[t+15]]}(o)}},8117:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var i=n(6064);const o=n.n(i)()},6064:(e,t,n)=>{e.exports=n(3619).Observable},3619:(e,t)=>{"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function o(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}t.Observable=void 0;var r=function(){return"function"==typeof Symbol},a=function(e){return r()&&Boolean(Symbol[e])},s=function(e){return a(e)?Symbol[e]:"@@"+e};r()&&!a("observable")&&(Symbol.observable=Symbol("observable"));var c=s("iterator"),l=s("observable"),u=s("species");function d(e,t){var n=e[t];if(null!=n){if("function"!=typeof n)throw new TypeError(n+" is not a function");return n}}function g(e){var t=e.constructor;return void 0!==t&&null===(t=t[u])&&(t=void 0),void 0!==t?t:v}function p(e){p.log?p.log(e):setTimeout((function(){throw e}))}function m(e){Promise.resolve().then((function(){try{e()}catch(t){p(t)}}))}function f(e){var t=e._cleanup;if(void 0!==t&&(e._cleanup=void 0,t))try{if("function"==typeof t)t();else{var n=d(t,"unsubscribe");n&&n.call(t)}}catch(i){p(i)}}function I(e){e._observer=void 0,e._queue=void 0,e._state="closed"}function h(e,t,n){e._state="running";var i=e._observer;try{var o=d(i,t);switch(t){case"next":o&&o.call(i,n);break;case"error":if(I(e),!o)throw n;o.call(i,n);break;case"complete":I(e),o&&o.call(i)}}catch(r){p(r)}"closed"===e._state?f(e):"running"===e._state&&(e._state="ready")}function b(e,t,n){if("closed"!==e._state){if("buffering"!==e._state)return"ready"!==e._state?(e._state="buffering",e._queue=[{type:t,value:n}],void m((function(){return function(e){var t=e._queue;if(t){e._queue=void 0,e._state="ready";for(var n=0;n<t.length&&(h(e,t[n].type,t[n].value),"closed"!==e._state);++n);}}(e)}))):void h(e,t,n);e._queue.push({type:t,value:n})}}var y=function(){function e(t,i){n(this,e),this._cleanup=void 0,this._observer=t,this._queue=void 0,this._state="initializing";var o=new C(this);try{this._cleanup=i.call(void 0,o)}catch(r){o.error(r)}"initializing"===this._state&&(this._state="ready")}return o(e,[{key:"unsubscribe",value:function(){"closed"!==this._state&&(I(this),f(this))}},{key:"closed",get:function(){return"closed"===this._state}}]),e}(),C=function(){function e(t){n(this,e),this._subscription=t}return o(e,[{key:"next",value:function(e){b(this._subscription,"next",e)}},{key:"error",value:function(e){b(this._subscription,"error",e)}},{key:"complete",value:function(){b(this._subscription,"complete")}},{key:"closed",get:function(){return"closed"===this._subscription._state}}]),e}(),v=function(){function e(t){if(n(this,e),!(this instanceof e))throw new TypeError("Observable cannot be called as a function");if("function"!=typeof t)throw new TypeError("Observable initializer must be a function");this._subscriber=t}return o(e,[{key:"subscribe",value:function(e){return"object"==typeof e&&null!==e||(e={next:e,error:arguments[1],complete:arguments[2]}),new y(e,this._subscriber)}},{key:"forEach",value:function(e){var t=this;return new Promise((function(n,i){if("function"==typeof e)var o=t.subscribe({next:function(t){try{e(t,r)}catch(n){i(n),o.unsubscribe()}},error:i,complete:n});else i(new TypeError(e+" is not a function"));function r(){o.unsubscribe(),n()}}))}},{key:"map",value:function(e){var t=this;if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(g(this))((function(n){return t.subscribe({next:function(t){try{t=e(t)}catch(i){return n.error(i)}n.next(t)},error:function(e){n.error(e)},complete:function(){n.complete()}})}))}},{key:"filter",value:function(e){var t=this;if("function"!=typeof e)throw new TypeError(e+" is not a function");return new(g(this))((function(n){return t.subscribe({next:function(t){try{if(!e(t))return}catch(i){return n.error(i)}n.next(t)},error:function(e){n.error(e)},complete:function(){n.complete()}})}))}},{key:"reduce",value:function(e){var t=this;if("function"!=typeof e)throw new TypeError(e+" is not a function");var n=g(this),i=arguments.length>1,o=!1,r=arguments[1];return new n((function(n){return t.subscribe({next:function(t){var a=!o;if(o=!0,!a||i)try{r=e(r,t)}catch(s){return n.error(s)}else r=t},error:function(e){n.error(e)},complete:function(){if(!o&&!i)return n.error(new TypeError("Cannot reduce an empty sequence"));n.next(r),n.complete()}})}))}},{key:"concat",value:function(){for(var e=this,t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];var o=g(this);return new o((function(t){var i,r=0;return function e(a){i=a.subscribe({next:function(e){t.next(e)},error:function(e){t.error(e)},complete:function(){r===n.length?(i=void 0,t.complete()):e(o.from(n[r++]))}})}(e),function(){i&&(i.unsubscribe(),i=void 0)}}))}},{key:"flatMap",value:function(e){var t=this;if("function"!=typeof e)throw new TypeError(e+" is not a function");var n=g(this);return new n((function(i){var o=[],r=t.subscribe({next:function(t){if(e)try{t=e(t)}catch(s){return i.error(s)}var r=n.from(t).subscribe({next:function(e){i.next(e)},error:function(e){i.error(e)},complete:function(){var e=o.indexOf(r);e>=0&&o.splice(e,1),a()}});o.push(r)},error:function(e){i.error(e)},complete:function(){a()}});function a(){r.closed&&0===o.length&&i.complete()}return function(){o.forEach((function(e){return e.unsubscribe()})),r.unsubscribe()}}))}},{key:l,value:function(){return this}}],[{key:"from",value:function(t){var n="function"==typeof this?this:e;if(null==t)throw new TypeError(t+" is not an object");var i=d(t,l);if(i){var o=i.call(t);if(Object(o)!==o)throw new TypeError(o+" is not an object");return function(e){return e instanceof v}(o)&&o.constructor===n?o:new n((function(e){return o.subscribe(e)}))}if(a("iterator")&&(i=d(t,c)))return new n((function(e){m((function(){if(!e.closed){var n=!0,o=!1,r=void 0;try{for(var a,s=i.call(t)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var c=a.value;if(e.next(c),e.closed)return}}catch(l){o=!0,r=l}finally{try{n||null==s.return||s.return()}finally{if(o)throw r}}e.complete()}}))}));if(Array.isArray(t))return new n((function(e){m((function(){if(!e.closed){for(var n=0;n<t.length;++n)if(e.next(t[n]),e.closed)return;e.complete()}}))}));throw new TypeError(t+" is not observable")}},{key:"of",value:function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return new("function"==typeof this?this:e)((function(e){m((function(){if(!e.closed){for(var t=0;t<n.length;++t)if(e.next(n[t]),e.closed)return;e.complete()}}))}))}},{key:u,get:function(){return this}}]),e}();t.Observable=v,r()&&Object.defineProperty(v,Symbol("extensions"),{value:{symbol:l,hostReportError:p},configurable:!0})},9798:e=>{"use strict";e.exports=class{constructor({projectId:e,logName:t,labels:n,clientInfo:i,onSuccess:o,onError:r}){this.projectId=e,this.logName=t,this.labels=n,this.clientInfo=i,this.onSuccess=o,this.onError=r}sendLogs(e){fetch("https://agatha-log-service-kk33tpavpa-de.a.run.app/v1/log",{headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:this.projectId,logName:this.logName,labels:this.labels,clientInfo:this.clientInfo,entries:e}),method:"POST"}).then((()=>{this.onSuccess&&this.onSuccess(e)})).catch((t=>{this.onError&&this.onError(t,e)}))}updateClientInfo(e){this.clientInfo=Object.assign(Object.assign({},this.clientInfo),e)}}},6942:(e,t)=>{var n;
/*!
	Copyright (c) 2018 Jed Watson.
	Licensed under the MIT License (MIT), see
	http://jedwatson.github.io/classnames
*/!function(){"use strict";var i={}.hasOwnProperty;function o(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=a(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)i.call(e,n)&&e[n]&&(t=a(t,n));return t}function a(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)}()},5049:(e,t,n)=>{"use strict";n.d(t,{AH:()=>s,Ay:()=>b,py:()=>d,xI:()=>u});var i,o,r,a,s,c,l,u,d,g,p=function(){return p=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},p.apply(this,arguments)};function m(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))}function f(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}"function"==typeof SuppressedError&&SuppressedError,function(e){e.PXPay="PXPay",e.Line="Line",e.JKOPay="JKOPay",e.FBMessenger="FBMessenger",e.PayMe="PayMe",e.GooglePay="GooglePay",e.ICashPay="ICashPay",e.EasyWallet="EasyWallet",e.WeChatPayHK="WeChatPayHK",e.PoyaPay="PoyaPay",e.Atome="Atome",e.BoCPay="BoCPay",e.PXPayPlus="PXPayPlus",e.OpenWallet="OpenWallet",e.FamilyMartOnlinePay="FamilyMartOnlinePay"}(i||(i={})),function(e){e.Check3rdPartyAppStatus="Check3rdPartyAppStatus",e.GetAppVersion="GetAppVersion"}(o||(o={})),function(e){e.LaunchApplePay="LaunchApplePay",e.LaunchEasyWallet="LaunchEasyWallet",e.LaunchGooglePay="LaunchGooglePay",e.LaunchAliPay="LaunchAliPay",e.LaunchWeChatPay="LaunchWeChatPay",e.Launch2C2P="Launch2C2P",e.SetStripeClientSecret="SetStripeClientSecret"}(r||(r={})),function(e){e.Launch3rdPartyApp="Launch3rdPartyApp",e.RequestInstall3rdPartyApp="RequestInstall3rdPartyApp",e.CloseWebView="CloseWebView",e.UpdateCurrencyRate="UpdateCurrencyRate",e.AddToWishList="AddToWishList",e.RemoveFromWishList="RemoveFromWishList",e.AddToBasket="AddToBasket",e.ShowToast="ShowToast",e.ShowPopup="ShowPopup",e.Redirect="Redirect"}(a||(a={})),function(e){e.HeaderBackAction="HeaderBackAction"}(s||(s={})),function(e){e.CartViewed="CartViewed",e.CheckoutProgress="CheckoutProgress",e.AddToCart="AddToCart",e.RemoveFromCart="RemoveFromCart",e.AddToWishList="AddToWishList",e.RemoveFromWishList="RemoveFromWishList",e.BeginCheckOut="BeginCheckOut",e.PaymentMethod="PaymentMethod",e.ShippingMethod="ShippingMethod",e.EcommercePurchase="EcommercePurchase",e.TrackCart="TrackCart",e.SelectContent="SelectContent",e.CartCleared="CartCleared",e.Refund="Refund",e.CancelOrder="CancelOrder",e.PageViewed="PageViewed"}(c||(c={})),function(e){e[e.view_cart=1]="view_cart",e[e.confirm_cart_list=2]="confirm_cart_list"}(l||(l={})),function(e){e.OnBackPressed="OnBackPressed",e.RefreshOuterSalesOrder="RefreshOuterSalesOrder",e.RefreshShoppingCart="RefreshShoppingCart"}(u||(u={})),function(e){e.success="success",e.alert="alert",e.error="error",e.plain="plain"}(d||(d={})),function(e){e[e.Greater=1]="Greater",e[e.Less=-1]="Less",e[e.Equal=0]="Equal"}(g||(g={}));var I=function(e){return new RegExp(/^\d+\.\d+(\.\d+)?[a-z]?$/i).test(e)},h=function(e,t){if(!I(e)||!I(t))throw new Error("Invalid argument, not a valid app version");for(var n=e.split("."),i=t.split("."),o=0;o<Math.max(n.length,i.length);o+=1){var r=n[o]?Number(n[o]):0,a=i[o]?Number(i[o]):0;if(r>a)return g.Greater;if(r<a)return g.Less;var s=n[o]&&/[a-z]/i.test(n[o])?n[o].replace(/\d/g,""):"",c=i[o]&&/[a-z]/i.test(i[o])?i[o].replace(/\d/g,""):"";if(s>c)return g.Greater;if(s<c)return g.Less}return g.Equal},b=function(){function e(){var e,t=this;this.check3rdPartyAppStatus=function(e){return m(t,void 0,void 0,(function(){var t;return f(this,(function(n){return t=this.getPayloadString(o.Check3rdPartyAppStatus,{appName:e}),[2,this.getAppInfo(t)]}))}))},this.getAppVersion=function(){return m(t,void 0,void 0,(function(){var e;return f(this,(function(t){return e=this.getPayloadString(o.GetAppVersion),[2,this.getAppInfo(e)]}))}))},this.requestInstall3rdPartyApp=function(e){var n=t.getPayloadString(a.RequestInstall3rdPartyApp,{appName:e});t.triggerApp(n)},this.launch3rdPartyApp=function(e){var n=t.getPayloadString(a.Launch3rdPartyApp,{appName:e});t.triggerApp(n)},this.TriggerAppPageView=function(e,n,i,o,r){var a={eventType:"PageViewed",data:{viewType:e,viewTitle:n,viewId:i||"",isPopupView:!1,viewFrom:o||"",contentSource:r||""}},s=JSON.stringify(a);t.sendTracking(s)},this.viewItemList=function(e){var n=e.viewType,i=e.viewTitle,o=e.viewId,r=e.contentType,a={eventType:"ViewItemList",data:{viewType:n,viewId:o,contentSource:e.contentSource,contentType:r,items:e.items,viewTitle:i||""}},s=JSON.stringify(a);t.sendTracking(s)},this.cartViewed=function(e){var n=t.getPayloadString(c.CartViewed,e);t.sendTracking(n)},this.checkoutProgress=function(e){var n=t.getPayloadString(c.CheckoutProgress,e);t.sendTracking(n)},this.beginCheckOut=function(e){var n=t.getPayloadString(c.BeginCheckOut,e);t.sendTracking(n)},this.addToCart=function(e){var n=t.getPayloadString(c.AddToCart,e);t.sendTracking(n)},this.removeFromCart=function(e){var n=t.getPayloadString(c.RemoveFromCart,e);t.sendTracking(n)},this.addToWishList=function(e){var n=t.getPayloadString(c.AddToWishList,e);t.sendTracking(n)},this.removeFromWishList=function(e){var n=t.getPayloadString(c.RemoveFromWishList,e);t.sendTracking(n)},this.paymentMethod=function(e){var n=t.getPayloadString(c.PaymentMethod,e);t.sendTracking(n)},this.shippingMethod=function(e){var n=t.getPayloadString(c.ShippingMethod,e);t.sendTracking(n)},this.ecommercePurchase=function(e){var n=t.getPayloadString(c.EcommercePurchase,e);t.sendTracking(n)},this.trackCart=function(e){var n=t.getPayloadString(c.TrackCart,e);t.sendTracking(n)},this.selectContent=function(e){var n=t.getPayloadString(c.SelectContent,e);t.sendTracking(n)},this.cartCleared=function(){var e=t.getPayloadString(c.CartCleared);t.sendTracking(e)},this.refund=function(e){var n=t.getPayloadString(c.Refund,e);t.sendTracking(n)},this.cancelOrder=function(e){var n=t.getPayloadString(c.CancelOrder,e);t.sendTracking(n)},this.setAppHeaderIcon=function(e){var n=e.ios,i=e.android,o=t.isIOS?t.getPayloadString(n.eventType,n.data):t.getPayloadString(i.eventType,i.data);t.setApp(o)},this.closeWebView=function(){var e=t.getPayloadString(a.CloseWebView);t.triggerApp(e)},this.redirect=function(e){var n=t.getPayloadString(a.Redirect,e);t.triggerApp(n)},this.triggerWebAction=function(e){window.triggerWeb=null,window.triggerWeb=function(t){return e(t)}},this.launchEasyWallet=function(e){var n=t.getPayloadString(r.LaunchEasyWallet,{url:e},"EasyWallet");t.payment(n)},this.launchApplePay=function(e,n){var i={totalPayment:e.toString()};t.getAppVersion().then((function(e){(null==e?void 0:e.appVer)&&-1!==h(e.appVer,"24.4.0")&&(i=p(p({},i),{paymentServiceProvider:n}))})).then((function(){var e=t.getPayloadString(r.LaunchApplePay,i,"ApplePay");t.payment(e)})).catch((function(e){}))},this.setStripeClientSecret=function(e){return m(t,void 0,void 0,(function(){var t,n;return f(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,this.getAppVersion()];case 1:return(null==(t=i.sent())?void 0:t.appVer)&&-1!==h(t.appVer,"24.12.0")&&(n=this.getPayloadString(r.SetStripeClientSecret,e),this.payment(n)),[3,3];case 2:return i.sent(),[3,3];case 3:return[2]}}))}))},this.launchGooglePay=function(e,n){return m(t,void 0,void 0,(function(){var t,i,o;return f(this,(function(a){switch(a.label){case 0:t={totalPayment:e.toString()},a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getAppVersion()];case 2:return(null==(i=a.sent())?void 0:i.appVer)&&-1!==h(i.appVer,"24.12.0")&&(t=p(p({},t),{paymentServiceProvider:n})),o=this.getPayloadString(r.LaunchGooglePay,t,"GooglePay"),this.payment(o),[3,4];case 3:return a.sent(),[3,4];case 4:return[2]}}))}))},this.launchAliPay=function(e,n){var i=t.getPayloadString(r.LaunchAliPay,{launchUrl:e,payChannelUrl:n},"AliPay");t.payment(i)},this.launchWeChatPay=function(e,n){var i=t.getPayloadString(r.LaunchWeChatPay,{launchUrl:e,payChannelUrl:n},"WeChatPay");t.payment(i)},this.updateCurrencyRate=function(e){var n=t.getPayloadString(a.UpdateCurrencyRate,{currencyRates:e});t.triggerApp(n)},this.launch2C2P=function(e){var n=t.getPayloadString(r.Launch2C2P,{launchUrl:e},"2C2P");t.payment(n)},this.onJsiResult=function(e){window.onJsiResult=null,window.onJsiResult=function(t){return e(t)}},this.addToBasket=function(e){var n=t.getPayloadString(a.AddToBasket,e);t.triggerApp(n)},this.showToast=function(e){var n=t.getPayloadString(a.ShowToast,e);t.triggerApp(n)},this.showPopup=function(e){var n=t.getPayloadString(a.ShowPopup,e.showPopupData,e.requestCode);return t.triggerAppWithAsyncResponse(n)},this.addToWishListJsi=function(e){var n=t.getPayloadString(a.AddToWishList,{itemId:e});t.triggerApp(n)},this.removeFromWishListJsi=function(e){var n=t.getPayloadString(a.RemoveFromWishList,{itemId:e});t.triggerApp(n)},this.androidExecutor=window.android||null,this.iOSExecutor=(null===(e=window.webkit)||void 0===e?void 0:e.messageHandlers)||null}return Object.defineProperty(e.prototype,"isAndroid",{get:function(){return!!this.androidExecutor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isIOS",{get:function(){return!!this.iOSExecutor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"executableOS",{get:function(){return{android:!!this.androidExecutor,iOS:!!this.iOSExecutor}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"executable",{get:function(){return this.isAndroid||this.isIOS},enumerable:!1,configurable:!0}),e.prototype.getPayloadString=function(e,t,n){var i={eventType:e,data:t,requestCode:n};return JSON.stringify(i)},e.prototype.getAppInfo=function(e){var t,n,i,o,r;return m(this,void 0,void 0,(function(){var a;return f(this,(function(s){switch(s.label){case 0:return this.isIOS?[4,null===(i=null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.getAppInfo)||void 0===n?void 0:n.postMessage)||void 0===i?void 0:i.call(n,e)]:[3,2];case 1:return[2,(a=s.sent())?JSON.parse(a):null];case 2:if(this.isAndroid)return[2,(a=null===(r=null===(o=this.androidExecutor)||void 0===o?void 0:o.getAppInfo)||void 0===r?void 0:r.call(o,e))?JSON.parse(a):null];s.label=3;case 3:return[2,null]}}))}))},e.prototype.triggerApp=function(e){var t,n,i,o,r;this.isIOS?null===(i=null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.triggerApp)||void 0===n?void 0:n.postMessage)||void 0===i||i.call(n,e):this.isAndroid&&(null===(r=null===(o=this.androidExecutor)||void 0===o?void 0:o.triggerApp)||void 0===r||r.call(o,e))},e.prototype.triggerAppWithAsyncResponse=function(e){var t,n,i;try{return this.isIOS&&(null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.triggerApp)||void 0===n?void 0:n.postMessage)?this.iOSExecutor.triggerApp.postMessage(e):this.isAndroid&&(null===(i=this.androidExecutor)||void 0===i?void 0:i.triggerApp)?this.androidExecutor.triggerApp(e):Promise.reject(new Error("No executor found"))}catch(e){return Promise.reject(e)}},e.prototype.sendTracking=function(e){var t,n,i,o,r;this.isIOS?null===(i=null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.sendTracking)||void 0===n?void 0:n.postMessage)||void 0===i||i.call(n,e):this.isAndroid&&(null===(r=null===(o=this.androidExecutor)||void 0===o?void 0:o.sendTracking)||void 0===r||r.call(o,e))},e.prototype.setApp=function(e){var t,n,i,o,r;this.isIOS?null===(i=null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.setApp)||void 0===n?void 0:n.postMessage)||void 0===i||i.call(n,e):this.isAndroid&&(null===(r=null===(o=this.androidExecutor)||void 0===o?void 0:o.setApp)||void 0===r||r.call(o,e))},e.prototype.payment=function(e){var t,n,i;this.isIOS&&(null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.payment)||void 0===n?void 0:n.postMessage)?this.iOSExecutor.payment.postMessage(e):this.isAndroid&&(null===(i=this.androidExecutor)||void 0===i?void 0:i.payment)&&this.androidExecutor.payment(e)},e}()},1842:(e,t,n)=>{"use strict";n.d(t,{L:()=>g,e:()=>d});const i={emptyImagesKey:["no-data","no-shopping","no-item","no-coupon","no-result","no-event","no-history","no-favorite","no-notification","no-message","no-service","no-card","no-point","no-location","no-member-level","no-ranking","error-page","error-connection","error-permission","error-maintain","info-att","info-gift","info-coupon","info-apppush","info-location","info-success","info-tasks","info-reward","info-invitation","info-wallet","info-lock","info-alert","line-add","line-coupon"]},o={"91APP":{"no-data":"design-cloud/asset/n1-org/DesignCloud/*/6586a5adc8467dc7d9b0841c/hq_400.webp","no-shopping":"design-cloud/asset/n1-org/DesignCloud/*/6586a5fec8467dc7d9b08429/hq_400.webp","no-item":"design-cloud/asset/n1-org/DesignCloud/*/6586a5c6c8467dc7d9b08420/hq_400.webp","no-coupon":"design-cloud/asset/n1-org/DesignCloud/*/6586a5a7c8467dc7d9b0841b/hq_400.webp","no-result":"design-cloud/asset/n1-org/DesignCloud/*/6586a5f2c8467dc7d9b08427/hq_400.webp","no-event":"design-cloud/asset/n1-org/DesignCloud/*/6586a5b3c8467dc7d9b0841d/hq_400.webp","no-history":"design-cloud/asset/n1-org/DesignCloud/*/6586a5c0c8467dc7d9b0841f/hq_400.webp","no-favorite":"design-cloud/asset/n1-org/DesignCloud/*/6586a5bac8467dc7d9b0841e/hq_400.webp","no-notification":"design-cloud/asset/n1-org/DesignCloud/*/6586a5dfc8467dc7d9b08424/hq_400.webp","no-message":"design-cloud/asset/n1-org/DesignCloud/*/6586a5d9c8467dc7d9b08423/hq_400.webp","no-service":"design-cloud/asset/n1-org/DesignCloud/*/6586a5f8c8467dc7d9b08428/hq_400.webp","no-card":"design-cloud/asset/n1-org/DesignCloud/*/6586a5a1c8467dc7d9b0841a/hq_400.webp","no-point":"design-cloud/asset/n1-org/DesignCloud/*/6586a5e5c8467dc7d9b08425/hq_400.webp","no-location":"design-cloud/asset/n1-org/DesignCloud/*/6586a5ccc8467dc7d9b08421/hq_400.webp","no-member-level":"design-cloud/asset/n1-org/DesignCloud/*/6586a5d3c8467dc7d9b08422/hq_400.webp","no-ranking":"design-cloud/asset/n1-org/DesignCloud/*/6586a5ecc8467dc7d9b08426/hq_400.webp","error-page":"design-cloud/asset/n1-org/DesignCloud/*/6586a555c8467dc7d9b0840e/hq_400.webp","error-connection":"design-cloud/asset/n1-org/DesignCloud/*/6586a548c8467dc7d9b0840c/hq_400.webp","error-permission":"design-cloud/asset/n1-org/DesignCloud/*/6586a55cc8467dc7d9b0840f/hq_400.webp","error-maintain":"design-cloud/asset/n1-org/DesignCloud/*/6586a54fc8467dc7d9b0840d/hq_400.webp","info-att":"design-cloud/asset/n1-org/DesignCloud/*/6586a568c8467dc7d9b08411/hq_400.webp","info-gift":"design-cloud/asset/n1-org/DesignCloud/*/6586a575c8467dc7d9b08413/hq_400.webp","info-apppush":"design-cloud/asset/n1-org/DesignCloud/*/6586a562c8467dc7d9b08410/hq_400.webp","info-location":"design-cloud/asset/n1-org/DesignCloud/*/6586a57bc8467dc7d9b08414/hq_400.webp","info-success":"design-cloud/asset/n1-org/DesignCloud/*/6586a588c8467dc7d9b08416/hq_400.webp","info-tasks":"design-cloud/asset/n1-org/DesignCloud/*/6586a58ec8467dc7d9b08417/hq_400.webp","info-coupon":"design-cloud/asset/n1-org/DesignCloud/*/6586a56ec8467dc7d9b08412/hq_400.webp","info-invitation":"design-cloud/asset/n1-org/DesignCloud/*/658cf6c9d3413e83b7c6c5fb/hq_400.webp","info-reward":"design-cloud/asset/n1-org/DesignCloud/*/6586a581c8467dc7d9b08415/hq_400.webp","info-wallet":"design-cloud/asset/n1-org/DesignCloud/*/659d1e42d3413e83b7c6c5fd/hq_400.webp","info-lock":"design-cloud/asset/n1-org/DesignCloud/*/659fb2c4d3413e83b7c6c5fe/hq_400.webp","info-alert":"design-cloud/asset/n1-org/DesignCloud/*/659fb2ccd3413e83b7c6c5ff/hq_400.webp","line-add":"design-cloud/asset/n1-org/DesignCloud/*/6586a594c8467dc7d9b08418/hq_400.webp","line-coupon":"design-cloud/asset/n1-org/DesignCloud/*/6586a59bc8467dc7d9b08419/hq_400.webp"}},r={41566:{}},a={},s={},c={225:{"no-data":"design-cloud/key2image-test/shop-test/cat.webp","no-shopping":"design-cloud/key2image-test/shop-test/cat.webp","no-item":"design-cloud/key2image-test/shop-test/cat.webp","no-coupon":"design-cloud/key2image-test/shop-test/cat.webp","no-result":"design-cloud/key2image-test/shop-test/cat.webp","no-event":"design-cloud/key2image-test/shop-test/cat.webp","no-history":"design-cloud/key2image-test/shop-test/cat1.webp","no-favorite":"design-cloud/key2image-test/shop-test/cat1.webp","no-notification":"design-cloud/key2image-test/shop-test/cat1.webp","no-message":"design-cloud/key2image-test/shop-test/cat1.webp","no-service":"design-cloud/key2image-test/shop-test/cat1.webp","no-card":"design-cloud/key2image-test/shop-test/cat1.webp","no-point":"design-cloud/key2image-test/shop-test/cat1.webp","no-location":"design-cloud/key2image-test/shop-test/cat.webp","no-member-level":"design-cloud/key2image-test/shop-test/cat.webp","no-ranking":"design-cloud/key2image-test/shop-test/cat.webp","error-page":"design-cloud/key2image-test/shop-test/otter1.webp","error-connection":"design-cloud/key2image-test/shop-test/otter1.webp","error-permission":"design-cloud/key2image-test/shop-test/otter2.webp","error-maintain":"design-cloud/key2image-test/shop-test/otter2.webp","info-att":"design-cloud/key2image-test/shop-test/shiba.webp","info-gift":"design-cloud/key2image-test/shop-test/shiba.webp","info-coupon":"design-cloud/key2image-test/shop-test/shiba.webp","info-apppush":"design-cloud/key2image-test/shop-test/shiba.webp","info-location":"design-cloud/key2image-test/shop-test/shiba.webp","info-success":"design-cloud/key2image-test/shop-test/shiba.webp","info-tasks":"design-cloud/key2image-test/shop-test/shiba1.webp","info-invitation":"design-cloud/key2image-test/shop-test/shiba1.webp","info-reward":"design-cloud/key2image-test/shop-test/shiba.webp","info-wallet":"design-cloud/key2image-test/shop-test/otter1.webp","info-lock":"design-cloud/key2image-test/shop-test/otter1.webp","info-alert":"design-cloud/key2image-test/shop-test/otter2.webp","line-add":"design-cloud/key2image-test/shop-test/shiba1.webp","line-coupon":"design-cloud/key2image-test/shop-test/shiba1.webp"},231:{}},l={},u={};var d=(e=>(e.NO_DATA="no-data",e.NO_SHOPPING="no-shopping",e.NO_ITEM="no-item",e.NO_COUPON="no-coupon",e.NO_RESULT="no-result",e.NO_EVENT="no-event",e.NO_HISTORY="no-history",e.NO_FAVORITE="no-favorite",e.NO_NOTIFICATION="no-notification",e.NO_MESSAGE="no-message",e.NO_SERVICE="no-service",e.NO_CARD="no-card",e.NO_POINT="no-point",e.NO_LOCATION="no-location",e.NO_MEMBER_LEVEL="no-member-level",e.NO_RANKING="no-ranking",e.ERROR_PAGE="error-page",e.ERROR_CONNECTION="error-connection",e.ERROR_PERMISSION="error-permission",e.ERROR_MAINTAIN="error-maintain",e.INFO_ATT="info-att",e.INFO_GIFT="info-gift",e.INFO_APPPUSH="info-apppush",e.INFO_LOCATION="info-location",e.INFO_SUCCESS="info-success",e.INFO_TASKS="info-tasks",e.INFO_COUPON="info-coupon",e.INFO_INVITATION="info-invitation",e.INFO_REWARD="info-reward",e.INFO_WALLET="info-wallet",e.INFO_LOCK="info-lock",e.INFO_ALERT="info-alert",e.LINE_ADD="line-add",e.LINE_COUPON="line-coupon",e))(d||{});class g{constructor(){this.config={},this.shopMappingTable={},this.nine1MappingTable={"91APP":{}},this.emptyImageKeysData=i}getIsShopEnabledCustomImage(e){return e in this.shopMappingTable}get_info(){return{imageSource:this.config.imageSource,configSource:this.config.configSource,market:this.config.market,env:this.config.env,nine1MappingTable:this.nine1MappingTable,shopMappingTable:this.shopMappingTable,emptyImageKeysData:this.emptyImageKeysData}}async initialize({local:e,imageSource:t,configSource:n,market:i,env:d,nine1MappingTable:g,shopMappingTable:p,emptyImageKeysData:m=this.emptyImageKeysData}){try{if(this.config.env=null==d?void 0:d.toLocaleLowerCase(),this.config.market=null==i?void 0:i.toLocaleLowerCase(),this.config.local=null==e?void 0:e.toLocaleLowerCase(),this.emptyImageKeysData=m,t&&n)this.config.imageSource=t,this.config.configSource=n;else{const{defaultImageSource:e,defaultConfigSource:i}=(({env:e,market:n})=>{try{let t="",i="";if("prod"===e||"stage"===e||"pp"===e)switch(t="https://static.91app.com",n){case"tw":i="https://cms.cdn.91app.com";break;case"hk":i="https://cms.cdn.91app.hk";break;case"my":i="https://cms.cdn.91app.com.my";break;default:throw new Error(`Market is invlid: ${n}`)}else{if(!e.includes("qa")&&"dev"!==e)throw new Error(`Env is invlid: ${e}`);switch(t="https://static.qa.91dev.tw",n){case"tw":i="https://theme.qa.91dev.tw";break;case"hk":i="https://theme.qa1.hk.91dev.tw";break;case"my":i="https://theme.qa1.my.91dev.tw";break;default:throw new Error(`Market is invlid: ${n}`)}}return{defaultImageSource:t,defaultConfigSource:i}}catch(t){throw console.error(`[ERROR]: getDefaultSourceSetting failed: ${t.message}`),t}})({env:this.config.env,market:this.config.market});this.config.imageSource=t||e,this.config.configSource=n||i}if(g)this.nine1MappingTable=g;else{const t=(t=>{try{if(!["dev","qa","stage","pp","prod"].includes(t)&&!t.includes("qa"))throw new Error(`Env is invlid: ${t}`);return o}catch(e){throw console.error(`[ERROR]: getDefaultNine1MappingTable failed: ${e.message}`),e}})(this.config.env);this.nine1MappingTable=t}if(p)this.shopMappingTable=g;else{const e=(({env:e,market:n})=>{try{if("prod"===e||"stage"===e||"pp"===e)switch(n){case"tw":return r;case"hk":return a;case"my":return s;default:throw new Error(`Market is invlid: ${n}`)}else{if(!e.includes("qa")&&"dev"!==e)throw new Error(`Env is invlid: ${e}`);switch(n){case"tw":return c;case"hk":return l;case"my":return u;default:throw new Error(`Market is invlid: ${n}`)}}}catch(t){throw console.error(`[ERROR]: getDefaultShopMappingTable failed: ${t.message}`),t}})({env:this.config.env,market:this.config.market});this.shopMappingTable=e}}catch(f){console.error(`[ERROR]: Key2Image lib initialize failed: ${f.message}`)}}img_t({shopId:e,key:t,isDefaultImageEnabled:n=!1}){try{(({shopId:e,key:t,imageSource:n,nine1MappingTable:i})=>{if(isNaN(e))throw new Error(`ShopId must be a number. ${e}`);if(!t)throw new Error("Key is required.");if(!n)throw new Error("Image source is not valid.");if(null==i||!i["91APP"]||Object.keys(i["91APP"]).length<1)throw new Error("Nine1MappingTable is required.")})({shopId:e,key:t,imageSource:this.config.imageSource,nine1MappingTable:this.nine1MappingTable});const i=this.getIsShopEnabledCustomImage(e),o=(({nine1MappingTable:e,shopMappingTable:t,isDefaultImageEnabled:n,isShopEnabledCustomImage:i,shopId:o,key:r})=>{var a,s,c;if(!i)return null==(c=null==e?void 0:e["91APP"])?void 0:c[r];{const i=null==(a=null==t?void 0:t[o])?void 0:a[r];if(i)return i;if(!i&&n)return null==(s=null==e?void 0:e["91APP"])?void 0:s[r]}})({nine1MappingTable:this.nine1MappingTable,shopMappingTable:this.shopMappingTable,isDefaultImageEnabled:n,isShopEnabledCustomImage:i,shopId:e,key:t});return o?`${this.config.imageSource}/${o}`:null}catch(i){return console.error(`[ERROR]: Convert key to image failed: ${i.message}`),t}}}},9418:(e,t,n)=>{"use strict";n.d(t,{A:()=>$});
/*! @license DOMPurify 3.2.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.1/LICENSE */
const{entries:i,setPrototypeOf:o,isFrozen:r,getPrototypeOf:a,getOwnPropertyDescriptor:s}=Object;let{freeze:c,seal:l,create:u}=Object,{apply:d,construct:g}="undefined"!=typeof Reflect&&Reflect;c||(c=function(e){return e}),l||(l=function(e){return e}),d||(d=function(e,t,n){return e.apply(t,n)}),g||(g=function(e,t){return new e(...t)});const p=G(Array.prototype.forEach),m=G(Array.prototype.pop),f=G(Array.prototype.push),I=G(String.prototype.toLowerCase),h=G(String.prototype.toString),b=G(String.prototype.match),y=G(String.prototype.replace),C=G(String.prototype.indexOf),v=G(String.prototype.trim),B=G(Object.prototype.hasOwnProperty),A=G(RegExp.prototype.test),_=(S=TypeError,function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return g(S,t)});var S;function G(e){return function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return d(e,t,i)}}function Q(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:I;o&&o(e,null);let i=t.length;for(;i--;){let o=t[i];if("string"==typeof o){const e=n(o);e!==o&&(r(t)||(t[i]=e),o=e)}e[o]=!0}return e}function E(e){for(let t=0;t<e.length;t++)B(e,t)||(e[t]=null);return e}function F(e){const t=u(null);for(const[n,o]of i(e))B(e,n)&&(Array.isArray(o)?t[n]=E(o):o&&"object"==typeof o&&o.constructor===Object?t[n]=F(o):t[n]=o);return t}function w(e,t){for(;null!==e;){const n=s(e,t);if(n){if(n.get)return G(n.get);if("function"==typeof n.value)return G(n.value)}e=a(e)}return function(){return null}}const T=c(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),x=c(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),k=c(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),N=c(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),O=c(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Z=c(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),U=c(["#text"]),R=c(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),X=c(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),W=c(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),V=c(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),P=l(/\{\{[\w\W]*|[\w\W]*\}\}/gm),D=l(/<%[\w\W]*|[\w\W]*%>/gm),H=l(/\${[\w\W]*}/gm),L=l(/^data-[\-\w.\u00B7-\uFFFF]/),Y=l(/^aria-[\-\w]+$/),M=l(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),J=l(/^(?:\w+script|data):/i),j=l(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),z=l(/^html$/i),K=l(/^[a-z][.\w]*(-[.\w]+)+$/i);var q=Object.freeze({__proto__:null,ARIA_ATTR:Y,ATTR_WHITESPACE:j,CUSTOM_ELEMENT:K,DATA_ATTR:L,DOCTYPE_NAME:z,ERB_EXPR:D,IS_ALLOWED_URI:M,IS_SCRIPT_OR_DATA:J,MUSTACHE_EXPR:P,TMPLIT_EXPR:H});var $=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"undefined"==typeof window?null:window;const n=t=>e(t);if(n.version="3.2.1",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;let{document:o}=t;const r=o,a=r.currentScript,{DocumentFragment:s,HTMLTemplateElement:l,Node:d,Element:g,NodeFilter:S,NamedNodeMap:G=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:E,DOMParser:P,trustedTypes:D}=t,H=g.prototype,L=w(H,"cloneNode"),Y=w(H,"remove"),J=w(H,"nextSibling"),j=w(H,"childNodes"),K=w(H,"parentNode");if("function"==typeof l){const e=o.createElement("template");e.content&&e.content.ownerDocument&&(o=e.content.ownerDocument)}let $,ee="";const{implementation:te,createNodeIterator:ne,createDocumentFragment:ie,getElementsByTagName:oe}=o,{importNode:re}=r;let ae={};n.isSupported="function"==typeof i&&"function"==typeof K&&te&&void 0!==te.createHTMLDocument;const{MUSTACHE_EXPR:se,ERB_EXPR:ce,TMPLIT_EXPR:le,DATA_ATTR:ue,ARIA_ATTR:de,IS_SCRIPT_OR_DATA:ge,ATTR_WHITESPACE:pe,CUSTOM_ELEMENT:me}=q;let{IS_ALLOWED_URI:fe}=q,Ie=null;const he=Q({},[...T,...x,...k,...O,...U]);let be=null;const ye=Q({},[...R,...X,...W,...V]);let Ce=Object.seal(u(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ve=null,Be=null,Ae=!0,_e=!0,Se=!1,Ge=!0,Qe=!1,Ee=!0,Fe=!1,we=!1,Te=!1,xe=!1,ke=!1,Ne=!1,Oe=!0,Ze=!1,Ue=!0,Re=!1,Xe={},We=null;const Ve=Q({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Pe=null;const De=Q({},["audio","video","img","source","image","track"]);let He=null;const Le=Q({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ye="http://www.w3.org/1998/Math/MathML",Me="http://www.w3.org/2000/svg",Je="http://www.w3.org/1999/xhtml";let je=Je,ze=!1,Ke=null;const qe=Q({},[Ye,Me,Je],h);let $e=Q({},["mi","mo","mn","ms","mtext"]),et=Q({},["annotation-xml"]);const tt=Q({},["title","style","font","a","script"]);let nt=null;const it=["application/xhtml+xml","text/html"];let ot=null,rt=null;const at=o.createElement("form"),st=function(e){return e instanceof RegExp||e instanceof Function},ct=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!rt||rt!==e){if(e&&"object"==typeof e||(e={}),e=F(e),nt=-1===it.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,ot="application/xhtml+xml"===nt?h:I,Ie=B(e,"ALLOWED_TAGS")?Q({},e.ALLOWED_TAGS,ot):he,be=B(e,"ALLOWED_ATTR")?Q({},e.ALLOWED_ATTR,ot):ye,Ke=B(e,"ALLOWED_NAMESPACES")?Q({},e.ALLOWED_NAMESPACES,h):qe,He=B(e,"ADD_URI_SAFE_ATTR")?Q(F(Le),e.ADD_URI_SAFE_ATTR,ot):Le,Pe=B(e,"ADD_DATA_URI_TAGS")?Q(F(De),e.ADD_DATA_URI_TAGS,ot):De,We=B(e,"FORBID_CONTENTS")?Q({},e.FORBID_CONTENTS,ot):Ve,ve=B(e,"FORBID_TAGS")?Q({},e.FORBID_TAGS,ot):{},Be=B(e,"FORBID_ATTR")?Q({},e.FORBID_ATTR,ot):{},Xe=!!B(e,"USE_PROFILES")&&e.USE_PROFILES,Ae=!1!==e.ALLOW_ARIA_ATTR,_e=!1!==e.ALLOW_DATA_ATTR,Se=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ge=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,Qe=e.SAFE_FOR_TEMPLATES||!1,Ee=!1!==e.SAFE_FOR_XML,Fe=e.WHOLE_DOCUMENT||!1,xe=e.RETURN_DOM||!1,ke=e.RETURN_DOM_FRAGMENT||!1,Ne=e.RETURN_TRUSTED_TYPE||!1,Te=e.FORCE_BODY||!1,Oe=!1!==e.SANITIZE_DOM,Ze=e.SANITIZE_NAMED_PROPS||!1,Ue=!1!==e.KEEP_CONTENT,Re=e.IN_PLACE||!1,fe=e.ALLOWED_URI_REGEXP||M,je=e.NAMESPACE||Je,$e=e.MATHML_TEXT_INTEGRATION_POINTS||$e,et=e.HTML_INTEGRATION_POINTS||et,Ce=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&st(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ce.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&st(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ce.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Ce.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Qe&&(_e=!1),ke&&(xe=!0),Xe&&(Ie=Q({},U),be=[],!0===Xe.html&&(Q(Ie,T),Q(be,R)),!0===Xe.svg&&(Q(Ie,x),Q(be,X),Q(be,V)),!0===Xe.svgFilters&&(Q(Ie,k),Q(be,X),Q(be,V)),!0===Xe.mathMl&&(Q(Ie,O),Q(be,W),Q(be,V))),e.ADD_TAGS&&(Ie===he&&(Ie=F(Ie)),Q(Ie,e.ADD_TAGS,ot)),e.ADD_ATTR&&(be===ye&&(be=F(be)),Q(be,e.ADD_ATTR,ot)),e.ADD_URI_SAFE_ATTR&&Q(He,e.ADD_URI_SAFE_ATTR,ot),e.FORBID_CONTENTS&&(We===Ve&&(We=F(We)),Q(We,e.FORBID_CONTENTS,ot)),Ue&&(Ie["#text"]=!0),Fe&&Q(Ie,["html","head","body"]),Ie.table&&(Q(Ie,["tbody"]),delete ve.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw _('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw _('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');$=e.TRUSTED_TYPES_POLICY,ee=$.createHTML("")}else void 0===$&&($=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null;const i="data-tt-policy-suffix";t&&t.hasAttribute(i)&&(n=t.getAttribute(i));const o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:e=>e,createScriptURL:e=>e})}catch(r){return console.warn("TrustedTypes policy "+o+" could not be created."),null}}(D,a)),null!==$&&"string"==typeof ee&&(ee=$.createHTML(""));c&&c(e),rt=e}},lt=Q({},[...x,...k,...N]),ut=Q({},[...O,...Z]),dt=function(e){f(n.removed,{element:e});try{K(e).removeChild(e)}catch(t){Y(e)}},gt=function(e,t){try{f(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(i){f(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!be[e])if(xe||ke)try{dt(t)}catch(i){}else try{t.setAttribute(e,"")}catch(i){}},pt=function(e){let t=null,n=null;if(Te)e="<remove></remove>"+e;else{const t=b(e,/^[\r\n\t ]+/);n=t&&t[0]}"application/xhtml+xml"===nt&&je===Je&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");const i=$?$.createHTML(e):e;if(je===Je)try{t=(new P).parseFromString(i,nt)}catch(a){}if(!t||!t.documentElement){t=te.createDocument(je,"template",null);try{t.documentElement.innerHTML=ze?ee:i}catch(a){}}const r=t.body||t.documentElement;return e&&n&&r.insertBefore(o.createTextNode(n),r.childNodes[0]||null),je===Je?oe.call(t,Fe?"html":"body")[0]:Fe?t.documentElement:r},mt=function(e){return ne.call(e.ownerDocument||e,e,S.SHOW_ELEMENT|S.SHOW_COMMENT|S.SHOW_TEXT|S.SHOW_PROCESSING_INSTRUCTION|S.SHOW_CDATA_SECTION,null)},ft=function(e){return e instanceof E&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||!(e.attributes instanceof G)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes)},It=function(e){return"function"==typeof d&&e instanceof d};function ht(e,t,i){ae[e]&&p(ae[e],(e=>{e.call(n,t,i,rt)}))}const bt=function(e){let t=null;if(ht("beforeSanitizeElements",e,null),ft(e))return dt(e),!0;const i=ot(e.nodeName);if(ht("uponSanitizeElement",e,{tagName:i,allowedTags:Ie}),e.hasChildNodes()&&!It(e.firstElementChild)&&A(/<[/\w]/g,e.innerHTML)&&A(/<[/\w]/g,e.textContent))return dt(e),!0;if(7===e.nodeType)return dt(e),!0;if(Ee&&8===e.nodeType&&A(/<[/\w]/g,e.data))return dt(e),!0;if(!Ie[i]||ve[i]){if(!ve[i]&&Ct(i)){if(Ce.tagNameCheck instanceof RegExp&&A(Ce.tagNameCheck,i))return!1;if(Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(i))return!1}if(Ue&&!We[i]){const t=K(e)||e.parentNode,n=j(e)||e.childNodes;if(n&&t)for(let i=n.length-1;i>=0;--i){const o=L(n[i],!0);o.__removalCount=(e.__removalCount||0)+1,t.insertBefore(o,J(e))}}return dt(e),!0}return e instanceof g&&!function(e){let t=K(e);t&&t.tagName||(t={namespaceURI:je,tagName:"template"});const n=I(e.tagName),i=I(t.tagName);return!!Ke[e.namespaceURI]&&(e.namespaceURI===Me?t.namespaceURI===Je?"svg"===n:t.namespaceURI===Ye?"svg"===n&&("annotation-xml"===i||$e[i]):Boolean(lt[n]):e.namespaceURI===Ye?t.namespaceURI===Je?"math"===n:t.namespaceURI===Me?"math"===n&&et[i]:Boolean(ut[n]):e.namespaceURI===Je?!(t.namespaceURI===Me&&!et[i])&&!(t.namespaceURI===Ye&&!$e[i])&&!ut[n]&&(tt[n]||!lt[n]):!("application/xhtml+xml"!==nt||!Ke[e.namespaceURI]))}(e)?(dt(e),!0):"noscript"!==i&&"noembed"!==i&&"noframes"!==i||!A(/<\/no(script|embed|frames)/i,e.innerHTML)?(Qe&&3===e.nodeType&&(t=e.textContent,p([se,ce,le],(e=>{t=y(t,e," ")})),e.textContent!==t&&(f(n.removed,{element:e.cloneNode()}),e.textContent=t)),ht("afterSanitizeElements",e,null),!1):(dt(e),!0)},yt=function(e,t,n){if(Oe&&("id"===t||"name"===t)&&(n in o||n in at))return!1;if(_e&&!Be[t]&&A(ue,t));else if(Ae&&A(de,t));else if(!be[t]||Be[t]){if(!(Ct(e)&&(Ce.tagNameCheck instanceof RegExp&&A(Ce.tagNameCheck,e)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(e))&&(Ce.attributeNameCheck instanceof RegExp&&A(Ce.attributeNameCheck,t)||Ce.attributeNameCheck instanceof Function&&Ce.attributeNameCheck(t))||"is"===t&&Ce.allowCustomizedBuiltInElements&&(Ce.tagNameCheck instanceof RegExp&&A(Ce.tagNameCheck,n)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(n))))return!1}else if(He[t]);else if(A(fe,y(n,pe,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==C(n,"data:")||!Pe[e])if(Se&&!A(ge,y(n,pe,"")));else if(n)return!1;return!0},Ct=function(e){return"annotation-xml"!==e&&b(e,me)},vt=function(e){ht("beforeSanitizeAttributes",e,null);const{attributes:t}=e;if(!t)return;const i={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:be,forceKeepAttr:void 0};let o=t.length;for(;o--;){const a=t[o],{name:s,namespaceURI:c,value:l}=a,u=ot(s);let d="value"===s?l:v(l);if(i.attrName=u,i.attrValue=d,i.keepAttr=!0,i.forceKeepAttr=void 0,ht("uponSanitizeAttribute",e,i),d=i.attrValue,!Ze||"id"!==u&&"name"!==u||(gt(s,e),d="user-content-"+d),Ee&&A(/((--!?|])>)|<\/(style|title)/i,d)){gt(s,e);continue}if(i.forceKeepAttr)continue;if(gt(s,e),!i.keepAttr)continue;if(!Ge&&A(/\/>/i,d)){gt(s,e);continue}Qe&&p([se,ce,le],(e=>{d=y(d,e," ")}));const g=ot(e.nodeName);if(yt(g,u,d)){if($&&"object"==typeof D&&"function"==typeof D.getAttributeType)if(c);else switch(D.getAttributeType(g,u)){case"TrustedHTML":d=$.createHTML(d);break;case"TrustedScriptURL":d=$.createScriptURL(d)}try{c?e.setAttributeNS(c,s,d):e.setAttribute(s,d),ft(e)?dt(e):m(n.removed)}catch(r){}}}ht("afterSanitizeAttributes",e,null)},Bt=function e(t){let n=null;const i=mt(t);for(ht("beforeSanitizeShadowDOM",t,null);n=i.nextNode();)ht("uponSanitizeShadowNode",n,null),bt(n)||(n.content instanceof s&&e(n.content),vt(n));ht("afterSanitizeShadowDOM",t,null)};return n.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null,o=null,a=null,c=null;if(ze=!e,ze&&(e="\x3c!--\x3e"),"string"!=typeof e&&!It(e)){if("function"!=typeof e.toString)throw _("toString is not a function");if("string"!=typeof(e=e.toString()))throw _("dirty is not a string, aborting")}if(!n.isSupported)return e;if(we||ct(t),n.removed=[],"string"==typeof e&&(Re=!1),Re){if(e.nodeName){const t=ot(e.nodeName);if(!Ie[t]||ve[t])throw _("root node is forbidden and cannot be sanitized in-place")}}else if(e instanceof d)i=pt("\x3c!----\x3e"),o=i.ownerDocument.importNode(e,!0),1===o.nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?i=o:i.appendChild(o);else{if(!xe&&!Qe&&!Fe&&-1===e.indexOf("<"))return $&&Ne?$.createHTML(e):e;if(i=pt(e),!i)return xe?null:Ne?ee:""}i&&Te&&dt(i.firstChild);const l=mt(Re?e:i);for(;a=l.nextNode();)bt(a)||(a.content instanceof s&&Bt(a.content),vt(a));if(Re)return e;if(xe){if(ke)for(c=ie.call(i.ownerDocument);i.firstChild;)c.appendChild(i.firstChild);else c=i;return(be.shadowroot||be.shadowrootmode)&&(c=re.call(r,c,!0)),c}let u=Fe?i.outerHTML:i.innerHTML;return Fe&&Ie["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&A(z,i.ownerDocument.doctype.name)&&(u="<!DOCTYPE "+i.ownerDocument.doctype.name+">\n"+u),Qe&&p([se,ce,le],(e=>{u=y(u,e," ")})),$&&Ne?$.createHTML(u):u},n.setConfig=function(){ct(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),we=!0},n.clearConfig=function(){rt=null,we=!1},n.isValidAttribute=function(e,t,n){rt||ct({});const i=ot(e),o=ot(t);return yt(i,o,n)},n.addHook=function(e,t){"function"==typeof t&&(ae[e]=ae[e]||[],f(ae[e],t))},n.removeHook=function(e){if(ae[e])return m(ae[e])},n.removeHooks=function(e){ae[e]&&(ae[e]=[])},n.removeAllHooks=function(){ae={}},n}()},255:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var i=n(5927);const o=i.createContext({}),r=!0;function a({baseColor:e,highlightColor:t,width:n,height:i,borderRadius:o,circle:a,direction:s,duration:c,enableAnimation:l=r}){const u={};return"rtl"===s&&(u["--animation-direction"]="reverse"),"number"==typeof c&&(u["--animation-duration"]=`${c}s`),l||(u["--pseudo-element-display"]="none"),"string"!=typeof n&&"number"!=typeof n||(u.width=n),"string"!=typeof i&&"number"!=typeof i||(u.height=i),"string"!=typeof o&&"number"!=typeof o||(u.borderRadius=o),a&&(u.borderRadius="50%"),void 0!==e&&(u["--base-color"]=e),void 0!==t&&(u["--highlight-color"]=t),u}function s({count:e=1,wrapper:t,className:n,containerClassName:s,containerTestId:c,circle:l=!1,style:u,...d}){var g,p,m;const f=i.useContext(o),I={...d};for(const[i,o]of Object.entries(d))void 0===o&&delete I[i];const h={...f,...I,circle:l},b={...u,...a(h)};let y="react-loading-skeleton";n&&(y+=` ${n}`);const C=null!==(g=h.inline)&&void 0!==g&&g,v=[],B=Math.ceil(e);for(let o=0;o<B;o++){let t=b;if(B>e&&o===B-1){const n=null!==(p=t.width)&&void 0!==p?p:"100%",i=e%1,o="number"==typeof n?n*i:`calc(${n} * ${i})`;t={...t,width:o}}const n=i.createElement("span",{className:y,style:t,key:o},"‌");C?v.push(n):v.push(i.createElement(i.Fragment,{key:o},n,i.createElement("br",null)))}return i.createElement("span",{className:s,"data-testid":c,"aria-live":"polite","aria-busy":null!==(m=h.enableAnimation)&&void 0!==m?m:r},t?v.map(((e,n)=>i.createElement(t,{key:n},e))):v)}},9600:(e,t,n)=>{"use strict";n.d(t,{P5:()=>l});const i=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map((e=>[e.name,e])),o=new Map(i);Error;const r=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],a=Symbol(".toJSON was called"),s=e=>o.get(e)??Error,c=({from:e,seen:t,to:n,forceEnumerable:i,maxDepth:o,depth:l,useToJSON:d,serialize:g})=>{if(n||(n=Array.isArray(e)?[]:!g&&u(e)?new(s(e.name)):{}),t.push(e),l>=o)return n;if(d&&"function"==typeof e.toJSON&&!0!==e[a])return(e=>{e[a]=!0;const t=e.toJSON();return delete e[a],t})(e);const p=e=>c({from:e,seen:[...t],forceEnumerable:i,maxDepth:o,depth:l,useToJSON:d,serialize:g});for(const[r,a]of Object.entries(e))"function"==typeof Buffer&&Buffer.isBuffer(a)?n[r]="[object Buffer]":null===a||"object"!=typeof a||"function"!=typeof a.pipe?"function"!=typeof a&&(a&&"object"==typeof a?t.includes(e[r])?n[r]="[Circular]":(l++,n[r]=p(e[r])):n[r]=a):n[r]="[object Stream]";for(const{property:a,enumerable:s}of r)void 0!==e[a]&&null!==e[a]&&Object.defineProperty(n,a,{value:u(e[a])?p(e[a]):e[a],enumerable:!!i||s,configurable:!0,writable:!0});return n};function l(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:i=!0}=t;return"object"==typeof e&&null!==e?c({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:i,serialize:!0}):"function"==typeof e?`[Function: ${e.name??"anonymous"}]`:e}function u(e){return Boolean(e)&&"object"==typeof e&&"name"in e&&"message"in e&&"stack"in e}},4993:(e,t,n)=>{"use strict";n.d(t,{BE:()=>L,Es:()=>F,Ht:()=>$,Tn:()=>c,X3:()=>Q,ZH:()=>r,aw:()=>q,b0:()=>s,bZ:()=>m,bu:()=>Z,dO:()=>G,iX:()=>j,lK:()=>x,lg:()=>N,mF:()=>U,mf:()=>E,qm:()=>K,qv:()=>a,r9:()=>C,rL:()=>l,sb:()=>P});var i=n(5927);const o=()=>{},r=void 0,a=Object,s=e=>e===r,c=e=>"function"==typeof e,l=(e,t)=>({...e,...t}),u=e=>c(e.then),d=new WeakMap;let g=0;const p=e=>{const t=typeof e,n=e&&e.constructor,i=n==Date;let o,r;if(a(e)!==e||i||n==RegExp)o=i?e.toJSON():"symbol"==t?e.toString():"string"==t?JSON.stringify(e):""+e;else{if(o=d.get(e),o)return o;if(o=++g+"~",d.set(e,o),n==Array){for(o="@",r=0;r<e.length;r++)o+=p(e[r])+",";d.set(e,o)}if(n==a){o="#";const t=a.keys(e).sort();for(;!s(r=t.pop());)s(e[r])||(o+=r+":"+p(e[r])+",");d.set(e,o)}}return o},m=new WeakMap,f={},I={},h="undefined",b=typeof window!=h,y=typeof document!=h,C=(e,t)=>{const n=m.get(e);return[()=>!s(t)&&e.get(t)||f,i=>{if(!s(t)){const o=e.get(t);t in I||(I[t]=o),n[5](t,l(o,i),o||f)}},n[6],()=>!s(t)&&t in I?I[t]:!s(t)&&e.get(t)||f]};let v=!0;const[B,A]=b&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[o,o],_={isOnline:()=>v,isVisible:()=>{const e=y&&document.visibilityState;return s(e)||"hidden"!==e}},S={initFocus:e=>(y&&document.addEventListener("visibilitychange",e),B("focus",e),()=>{y&&document.removeEventListener("visibilitychange",e),A("focus",e)}),initReconnect:e=>{const t=()=>{v=!0,e()},n=()=>{v=!1};return B("online",t),B("offline",n),()=>{A("online",t),A("offline",n)}}},G=!i.useId,Q=!b||"Deno"in window,E=e=>b&&typeof window.requestAnimationFrame!=h?window.requestAnimationFrame(e):setTimeout(e,1),F=Q?i.useEffect:i.useLayoutEffect,w="undefined"!=typeof navigator&&navigator.connection,T=!Q&&w&&(["slow-2g","2g"].includes(w.effectiveType)||w.saveData),x=e=>{if(c(e))try{e=e()}catch(n){e=""}const t=e;return[e="string"==typeof e?e:(Array.isArray(e)?e.length:e)?p(e):"",t]};let k=0;const N=()=>++k,O=2;var Z={__proto__:null,ERROR_REVALIDATE_EVENT:3,FOCUS_EVENT:0,MUTATE_EVENT:O,RECONNECT_EVENT:1};async function U(...e){const[t,n,i,o]=e,a=l({populateCache:!0,throwOnError:!0},"boolean"==typeof o?{revalidate:o}:o||{});let d=a.populateCache;const g=a.rollbackOnError;let p=a.optimisticData;const f=a.throwOnError;if(c(n)){const e=n,i=[],o=t.keys();for(const n of o)!/^\$(inf|sub)\$/.test(n)&&e(t.get(n)._k)&&i.push(n);return Promise.all(i.map(I))}return I(n);async function I(n){const[o]=x(n);if(!o)return;const[l,I]=C(t,o),[h,b,y,v]=m.get(t),B=()=>{const e=h[o];return(c(a.revalidate)?a.revalidate(l().data,n):!1!==a.revalidate)&&(delete y[o],delete v[o],e&&e[0])?e[0](O).then((()=>l().data)):l().data};if(e.length<3)return B();let A,_=i;const S=N();b[o]=[S,0];const G=!s(p),Q=l(),E=Q.data,F=Q._c,w=s(F)?E:F;if(G&&(p=c(p)?p(w,E):p,I({data:p,_c:w})),c(_))try{_=_(w)}catch(T){A=T}if(_&&u(_)){if(_=await _.catch((e=>{A=e})),S!==b[o][0]){if(A)throw A;return _}A&&G&&(e=>"function"==typeof g?g(e):!1!==g)(A)&&(d=!0,I({data:w,_c:r}))}if(d&&!A)if(c(d)){const e=d(_,w);I({data:e,error:r,_c:r})}else I({data:_,error:r,_c:r});if(b[o][1]=N(),Promise.resolve(B()).then((()=>{I({_c:r})})),!A)return _;if(f)throw A}}const R=(e,t)=>{for(const n in e)e[n][0]&&e[n][0](t)},X=(e,t)=>{if(!m.has(e)){const n=l(S,t),i={},a=U.bind(r,e);let s=o;const c={},u=(e,t)=>{const n=c[e]||[];return c[e]=n,n.push(t),()=>n.splice(n.indexOf(t),1)},d=(t,n,i)=>{e.set(t,n);const o=c[t];if(o)for(const e of o)e(n,i)},g=()=>{if(!m.has(e)&&(m.set(e,[i,{},{},{},a,d,u]),!Q)){const t=n.initFocus(setTimeout.bind(r,R.bind(r,i,0))),o=n.initReconnect(setTimeout.bind(r,R.bind(r,i,1)));s=()=>{t&&t(),o&&o(),m.delete(e)}}};return g(),[e,a,g,s]}return[e,m.get(e)[4]]},[W,V]=X(new Map),P=l({onLoadingSlow:o,onSuccess:o,onError:o,onErrorRetry:(e,t,n,i,o)=>{const r=n.errorRetryCount,a=o.retryCount,c=~~((Math.random()+.5)*(1<<(a<8?a:8)))*n.errorRetryInterval;!s(r)&&a>r||setTimeout(i,c,o)},onDiscarded:o,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:T?1e4:5e3,focusThrottleInterval:5e3,dedupingInterval:2e3,loadingTimeout:T?5e3:3e3,compare:(e,t)=>p(e)==p(t),isPaused:()=>!1,cache:W,mutate:V,fallback:{}},_),D=(e,t)=>{const n=l(e,t);if(t){const{use:i,fallback:o}=e,{use:r,fallback:a}=t;i&&r&&(n.use=i.concat(r)),o&&a&&(n.fallback=l(o,a))}return n},H=(0,i.createContext)({}),L=e=>{const{value:t}=e,n=(0,i.useContext)(H),o=c(t),a=(0,i.useMemo)((()=>o?t(n):t),[o,n,t]),s=(0,i.useMemo)((()=>o?a:D(n,a)),[o,n,a]),u=a&&a.provider,d=(0,i.useRef)(r);u&&!d.current&&(d.current=X(u(s.cache||W),a));const g=d.current;return g&&(s.cache=g[0],s.mutate=g[1]),F((()=>{if(g)return g[2]&&g[2](),g[3]}),[]),(0,i.createElement)(H.Provider,l(e,{value:s}))},Y=b&&window.__SWR_DEVTOOLS_USE__,M=Y?window.__SWR_DEVTOOLS_USE__:[],J=e=>c(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(null===e[1]?e[2]:e[1])||{}],j=()=>l(P,(0,i.useContext)(H)),z=M.concat((e=>(t,n,i)=>e(t,n&&((...e)=>{const[i]=x(t),[,,,o]=m.get(W);if(i.startsWith("$inf$"))return n(...e);const r=o[i];return s(r)?n(...e):(delete o[i],r)}),i))),K=e=>function(...t){const n=j(),[i,o,r]=J(t),a=D(n,r);let s=e;const{use:c}=a,l=(c||[]).concat(z);for(let e=l.length;e--;)s=l[e](s);return s(i,o||a.fetcher||null,a)},q=(e,t,n)=>{const i=t[e]||(t[e]=[]);return i.push(n),()=>{const e=i.indexOf(n);e>=0&&(i[e]=i[i.length-1],i.pop())}},$=(e,t)=>(...n)=>{const[i,o,r]=J(n),a=(r.use||[]).concat(t);return e(i,o,{...r,use:a})};Y&&(window.__SWR_DEVTOOLS_REACT__=i)},9324:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>l,BE:()=>c});var i=n(5927),o=n(9888),r=n(4993);const a=i.use||(e=>{if("pending"===e.status)throw e;if("fulfilled"===e.status)return e.value;throw"rejected"===e.status?e.reason:(e.status="pending",e.then((t=>{e.status="fulfilled",e.value=t}),(t=>{e.status="rejected",e.reason=t})),e)}),s={dedupe:!0},c=r.qv.defineProperty(r.BE,"defaultValue",{value:r.sb}),l=(0,r.qm)(((e,t,n)=>{const{cache:c,compare:l,suspense:u,fallbackData:d,revalidateOnMount:g,revalidateIfStale:p,refreshInterval:m,refreshWhenHidden:f,refreshWhenOffline:I,keepPreviousData:h}=n,[b,y,C,v]=r.bZ.get(c),[B,A]=(0,r.lK)(e),_=(0,i.useRef)(!1),S=(0,i.useRef)(!1),G=(0,i.useRef)(B),Q=(0,i.useRef)(t),E=(0,i.useRef)(n),F=()=>E.current,w=()=>F().isVisible()&&F().isOnline(),[T,x,k,N]=(0,r.r9)(c,B),O=(0,i.useRef)({}).current,Z=(0,r.b0)(d)?n.fallback[B]:d,U=(e,t)=>{for(const n in O){const i=n;if("data"===i){if(!l(e[i],t[i])){if(!(0,r.b0)(e[i]))return!1;if(!l(Y,t[i]))return!1}}else if(t[i]!==e[i])return!1}return!0},R=(0,i.useMemo)((()=>{const e=!!B&&!!t&&((0,r.b0)(g)?!F().isPaused()&&!u&&(!!(0,r.b0)(p)||p):g),n=t=>{const n=(0,r.rL)(t);return delete n._k,e?{isValidating:!0,isLoading:!0,...n}:n},i=T(),o=N(),a=n(i),s=i===o?a:n(o);let c=a;return[()=>{const e=n(T());return U(e,c)?(c.data=e.data,c.isLoading=e.isLoading,c.isValidating=e.isValidating,c.error=e.error,c):(c=e,e)},()=>s]}),[c,B]),X=(0,o.useSyncExternalStore)((0,i.useCallback)((e=>k(B,((t,n)=>{U(n,t)||e()}))),[c,B]),R[0],R[1]),W=!_.current,V=b[B]&&b[B].length>0,P=X.data,D=(0,r.b0)(P)?Z:P,H=X.error,L=(0,i.useRef)(D),Y=h?(0,r.b0)(P)?L.current:P:D,M=!(V&&!(0,r.b0)(H))&&(W&&!(0,r.b0)(g)?g:!F().isPaused()&&(u?!(0,r.b0)(D)&&p:(0,r.b0)(D)||p)),J=!!(B&&t&&W&&M),j=(0,r.b0)(X.isValidating)?J:X.isValidating,z=(0,r.b0)(X.isLoading)?J:X.isLoading,K=(0,i.useCallback)((async e=>{const t=Q.current;if(!B||!t||S.current||F().isPaused())return!1;let i,o,a=!0;const s=e||{},c=!C[B]||!s.dedupe,u=()=>r.dO?!S.current&&B===G.current&&_.current:B===G.current,d={isValidating:!1,isLoading:!1},g=()=>{x(d)},p=()=>{const e=C[B];e&&e[1]===o&&delete C[B]},m={isValidating:!0};(0,r.b0)(T().data)&&(m.isLoading=!0);try{if(c&&(x(m),n.loadingTimeout&&(0,r.b0)(T().data)&&setTimeout((()=>{a&&u()&&F().onLoadingSlow(B,n)}),n.loadingTimeout),C[B]=[t(A),(0,r.lg)()]),[i,o]=C[B],i=await i,c&&setTimeout(p,n.dedupingInterval),!C[B]||C[B][1]!==o)return c&&u()&&F().onDiscarded(B),!1;d.error=r.ZH;const e=y[B];if(!(0,r.b0)(e)&&(o<=e[0]||o<=e[1]||0===e[1]))return g(),c&&u()&&F().onDiscarded(B),!1;const s=T().data;d.data=l(s,i)?s:i,c&&u()&&F().onSuccess(i,B,n)}catch(f){p();const t=F(),{shouldRetryOnError:n}=t;t.isPaused()||(d.error=f,c&&u()&&(t.onError(f,B,t),(!0===n||(0,r.Tn)(n)&&n(f))&&(F().revalidateOnFocus&&F().revalidateOnReconnect&&!w()||t.onErrorRetry(f,B,t,(e=>{const t=b[B];t&&t[0]&&t[0](r.bu.ERROR_REVALIDATE_EVENT,e)}),{retryCount:(s.retryCount||0)+1,dedupe:!0}))))}return a=!1,g(),!0}),[B,c]),q=(0,i.useCallback)(((...e)=>(0,r.mF)(c,G.current,...e)),[]);if((0,r.Es)((()=>{Q.current=t,E.current=n,(0,r.b0)(P)||(L.current=P)})),(0,r.Es)((()=>{if(!B)return;const e=K.bind(r.ZH,s);let t=0;const n=(0,r.aw)(B,b,((n,i={})=>{if(n==r.bu.FOCUS_EVENT){const n=Date.now();F().revalidateOnFocus&&n>t&&w()&&(t=n+F().focusThrottleInterval,e())}else if(n==r.bu.RECONNECT_EVENT)F().revalidateOnReconnect&&w()&&e();else{if(n==r.bu.MUTATE_EVENT)return K();if(n==r.bu.ERROR_REVALIDATE_EVENT)return K(i)}}));return S.current=!1,G.current=B,_.current=!0,x({_k:A}),M&&((0,r.b0)(D)||r.X3?e():(0,r.mf)(e)),()=>{S.current=!0,n()}}),[B]),(0,r.Es)((()=>{let e;function t(){const t=(0,r.Tn)(m)?m(T().data):m;t&&-1!==e&&(e=setTimeout(n,t))}function n(){T().error||!f&&!F().isVisible()||!I&&!F().isOnline()?t():K(s).then(t)}return t(),()=>{e&&(clearTimeout(e),e=-1)}}),[m,f,I,B]),(0,i.useDebugValue)(Y),u&&(0,r.b0)(D)&&B){if(!r.dO&&r.X3)throw new Error("Fallback data is required when using suspense in SSR.");Q.current=t,E.current=n,S.current=!1;const e=v[B];if(!(0,r.b0)(e)){const t=q(e);a(t)}if(!(0,r.b0)(H))throw H;{const e=K(s);(0,r.b0)(Y)||(e.status="fulfilled",e.value=!0),a(e)}}return{mutate:q,get data(){return O.data=!0,Y},get error(){return O.error=!0,H},get isValidating(){return O.isValidating=!0,j},get isLoading(){return O.isLoading=!0,z}}}))},4225:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(5927),o=n(9888),r=n(4993);const a=i.use||(e=>{if("pending"===e.status)throw e;if("fulfilled"===e.status)return e.value;throw"rejected"===e.status?e.reason:(e.status="pending",e.then((t=>{e.status="fulfilled",e.value=t}),(t=>{e.status="rejected",e.reason=t})),e)}),s={dedupe:!0};r.qv.defineProperty(r.BE,"defaultValue",{value:r.sb});const c=(0,r.qm)(((e,t,n)=>{const{cache:c,compare:l,suspense:u,fallbackData:d,revalidateOnMount:g,revalidateIfStale:p,refreshInterval:m,refreshWhenHidden:f,refreshWhenOffline:I,keepPreviousData:h}=n,[b,y,C,v]=r.bZ.get(c),[B,A]=(0,r.lK)(e),_=(0,i.useRef)(!1),S=(0,i.useRef)(!1),G=(0,i.useRef)(B),Q=(0,i.useRef)(t),E=(0,i.useRef)(n),F=()=>E.current,w=()=>F().isVisible()&&F().isOnline(),[T,x,k,N]=(0,r.r9)(c,B),O=(0,i.useRef)({}).current,Z=(0,r.b0)(d)?n.fallback[B]:d,U=(e,t)=>{for(const n in O){const i=n;if("data"===i){if(!l(e[i],t[i])){if(!(0,r.b0)(e[i]))return!1;if(!l(Y,t[i]))return!1}}else if(t[i]!==e[i])return!1}return!0},R=(0,i.useMemo)((()=>{const e=!!B&&!!t&&((0,r.b0)(g)?!F().isPaused()&&!u&&(!!(0,r.b0)(p)||p):g),n=t=>{const n=(0,r.rL)(t);return delete n._k,e?{isValidating:!0,isLoading:!0,...n}:n},i=T(),o=N(),a=n(i),s=i===o?a:n(o);let c=a;return[()=>{const e=n(T());return U(e,c)?(c.data=e.data,c.isLoading=e.isLoading,c.isValidating=e.isValidating,c.error=e.error,c):(c=e,e)},()=>s]}),[c,B]),X=(0,o.useSyncExternalStore)((0,i.useCallback)((e=>k(B,((t,n)=>{U(n,t)||e()}))),[c,B]),R[0],R[1]),W=!_.current,V=b[B]&&b[B].length>0,P=X.data,D=(0,r.b0)(P)?Z:P,H=X.error,L=(0,i.useRef)(D),Y=h?(0,r.b0)(P)?L.current:P:D,M=!(V&&!(0,r.b0)(H))&&(W&&!(0,r.b0)(g)?g:!F().isPaused()&&(u?!(0,r.b0)(D)&&p:(0,r.b0)(D)||p)),J=!!(B&&t&&W&&M),j=(0,r.b0)(X.isValidating)?J:X.isValidating,z=(0,r.b0)(X.isLoading)?J:X.isLoading,K=(0,i.useCallback)((async e=>{const t=Q.current;if(!B||!t||S.current||F().isPaused())return!1;let i,o,a=!0;const s=e||{},c=!C[B]||!s.dedupe,u=()=>r.dO?!S.current&&B===G.current&&_.current:B===G.current,d={isValidating:!1,isLoading:!1},g=()=>{x(d)},p=()=>{const e=C[B];e&&e[1]===o&&delete C[B]},m={isValidating:!0};(0,r.b0)(T().data)&&(m.isLoading=!0);try{if(c&&(x(m),n.loadingTimeout&&(0,r.b0)(T().data)&&setTimeout((()=>{a&&u()&&F().onLoadingSlow(B,n)}),n.loadingTimeout),C[B]=[t(A),(0,r.lg)()]),[i,o]=C[B],i=await i,c&&setTimeout(p,n.dedupingInterval),!C[B]||C[B][1]!==o)return c&&u()&&F().onDiscarded(B),!1;d.error=r.ZH;const e=y[B];if(!(0,r.b0)(e)&&(o<=e[0]||o<=e[1]||0===e[1]))return g(),c&&u()&&F().onDiscarded(B),!1;const s=T().data;d.data=l(s,i)?s:i,c&&u()&&F().onSuccess(i,B,n)}catch(f){p();const t=F(),{shouldRetryOnError:n}=t;t.isPaused()||(d.error=f,c&&u()&&(t.onError(f,B,t),(!0===n||(0,r.Tn)(n)&&n(f))&&(F().revalidateOnFocus&&F().revalidateOnReconnect&&!w()||t.onErrorRetry(f,B,t,(e=>{const t=b[B];t&&t[0]&&t[0](r.bu.ERROR_REVALIDATE_EVENT,e)}),{retryCount:(s.retryCount||0)+1,dedupe:!0}))))}return a=!1,g(),!0}),[B,c]),q=(0,i.useCallback)(((...e)=>(0,r.mF)(c,G.current,...e)),[]);if((0,r.Es)((()=>{Q.current=t,E.current=n,(0,r.b0)(P)||(L.current=P)})),(0,r.Es)((()=>{if(!B)return;const e=K.bind(r.ZH,s);let t=0;const n=(0,r.aw)(B,b,((n,i={})=>{if(n==r.bu.FOCUS_EVENT){const n=Date.now();F().revalidateOnFocus&&n>t&&w()&&(t=n+F().focusThrottleInterval,e())}else if(n==r.bu.RECONNECT_EVENT)F().revalidateOnReconnect&&w()&&e();else{if(n==r.bu.MUTATE_EVENT)return K();if(n==r.bu.ERROR_REVALIDATE_EVENT)return K(i)}}));return S.current=!1,G.current=B,_.current=!0,x({_k:A}),M&&((0,r.b0)(D)||r.X3?e():(0,r.mf)(e)),()=>{S.current=!0,n()}}),[B]),(0,r.Es)((()=>{let e;function t(){const t=(0,r.Tn)(m)?m(T().data):m;t&&-1!==e&&(e=setTimeout(n,t))}function n(){T().error||!f&&!F().isVisible()||!I&&!F().isOnline()?t():K(s).then(t)}return t(),()=>{e&&(clearTimeout(e),e=-1)}}),[m,f,I,B]),(0,i.useDebugValue)(Y),u&&(0,r.b0)(D)&&B){if(!r.dO&&r.X3)throw new Error("Fallback data is required when using suspense in SSR.");Q.current=t,E.current=n,S.current=!1;const e=v[B];if(!(0,r.b0)(e)){const t=q(e);a(t)}if(!(0,r.b0)(H))throw H;{const e=K(s);(0,r.b0)(Y)||(e.status="fulfilled",e.value=!0),a(e)}}return{mutate:q,get data(){return O.data=!0,Y},get error(){return O.error=!0,H},get isValidating(){return O.isValidating=!0,j},get isLoading(){return O.isLoading=!0,z}}})),l=(0,r.Ht)(c,(e=>(t,n,i)=>(i.revalidateOnFocus=!1,i.revalidateIfStale=!1,i.revalidateOnReconnect=!1,e(t,n,i))))},3616:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var i=n(5927),o=n(9888),r=n(4993);const a=i.use||(e=>{if("pending"===e.status)throw e;if("fulfilled"===e.status)return e.value;throw"rejected"===e.status?e.reason:(e.status="pending",e.then((t=>{e.status="fulfilled",e.value=t}),(t=>{e.status="rejected",e.reason=t})),e)}),s={dedupe:!0};r.qv.defineProperty(r.BE,"defaultValue",{value:r.sb});const c=(0,r.qm)(((e,t,n)=>{const{cache:c,compare:l,suspense:u,fallbackData:d,revalidateOnMount:g,revalidateIfStale:p,refreshInterval:m,refreshWhenHidden:f,refreshWhenOffline:I,keepPreviousData:h}=n,[b,y,C,v]=r.bZ.get(c),[B,A]=(0,r.lK)(e),_=(0,i.useRef)(!1),S=(0,i.useRef)(!1),G=(0,i.useRef)(B),Q=(0,i.useRef)(t),E=(0,i.useRef)(n),F=()=>E.current,w=()=>F().isVisible()&&F().isOnline(),[T,x,k,N]=(0,r.r9)(c,B),O=(0,i.useRef)({}).current,Z=(0,r.b0)(d)?n.fallback[B]:d,U=(e,t)=>{for(const n in O){const i=n;if("data"===i){if(!l(e[i],t[i])){if(!(0,r.b0)(e[i]))return!1;if(!l(Y,t[i]))return!1}}else if(t[i]!==e[i])return!1}return!0},R=(0,i.useMemo)((()=>{const e=!!B&&!!t&&((0,r.b0)(g)?!F().isPaused()&&!u&&(!!(0,r.b0)(p)||p):g),n=t=>{const n=(0,r.rL)(t);return delete n._k,e?{isValidating:!0,isLoading:!0,...n}:n},i=T(),o=N(),a=n(i),s=i===o?a:n(o);let c=a;return[()=>{const e=n(T());return U(e,c)?(c.data=e.data,c.isLoading=e.isLoading,c.isValidating=e.isValidating,c.error=e.error,c):(c=e,e)},()=>s]}),[c,B]),X=(0,o.useSyncExternalStore)((0,i.useCallback)((e=>k(B,((t,n)=>{U(n,t)||e()}))),[c,B]),R[0],R[1]),W=!_.current,V=b[B]&&b[B].length>0,P=X.data,D=(0,r.b0)(P)?Z:P,H=X.error,L=(0,i.useRef)(D),Y=h?(0,r.b0)(P)?L.current:P:D,M=!(V&&!(0,r.b0)(H))&&(W&&!(0,r.b0)(g)?g:!F().isPaused()&&(u?!(0,r.b0)(D)&&p:(0,r.b0)(D)||p)),J=!!(B&&t&&W&&M),j=(0,r.b0)(X.isValidating)?J:X.isValidating,z=(0,r.b0)(X.isLoading)?J:X.isLoading,K=(0,i.useCallback)((async e=>{const t=Q.current;if(!B||!t||S.current||F().isPaused())return!1;let i,o,a=!0;const s=e||{},c=!C[B]||!s.dedupe,u=()=>r.dO?!S.current&&B===G.current&&_.current:B===G.current,d={isValidating:!1,isLoading:!1},g=()=>{x(d)},p=()=>{const e=C[B];e&&e[1]===o&&delete C[B]},m={isValidating:!0};(0,r.b0)(T().data)&&(m.isLoading=!0);try{if(c&&(x(m),n.loadingTimeout&&(0,r.b0)(T().data)&&setTimeout((()=>{a&&u()&&F().onLoadingSlow(B,n)}),n.loadingTimeout),C[B]=[t(A),(0,r.lg)()]),[i,o]=C[B],i=await i,c&&setTimeout(p,n.dedupingInterval),!C[B]||C[B][1]!==o)return c&&u()&&F().onDiscarded(B),!1;d.error=r.ZH;const e=y[B];if(!(0,r.b0)(e)&&(o<=e[0]||o<=e[1]||0===e[1]))return g(),c&&u()&&F().onDiscarded(B),!1;const s=T().data;d.data=l(s,i)?s:i,c&&u()&&F().onSuccess(i,B,n)}catch(f){p();const t=F(),{shouldRetryOnError:n}=t;t.isPaused()||(d.error=f,c&&u()&&(t.onError(f,B,t),(!0===n||(0,r.Tn)(n)&&n(f))&&(F().revalidateOnFocus&&F().revalidateOnReconnect&&!w()||t.onErrorRetry(f,B,t,(e=>{const t=b[B];t&&t[0]&&t[0](r.bu.ERROR_REVALIDATE_EVENT,e)}),{retryCount:(s.retryCount||0)+1,dedupe:!0}))))}return a=!1,g(),!0}),[B,c]),q=(0,i.useCallback)(((...e)=>(0,r.mF)(c,G.current,...e)),[]);if((0,r.Es)((()=>{Q.current=t,E.current=n,(0,r.b0)(P)||(L.current=P)})),(0,r.Es)((()=>{if(!B)return;const e=K.bind(r.ZH,s);let t=0;const n=(0,r.aw)(B,b,((n,i={})=>{if(n==r.bu.FOCUS_EVENT){const n=Date.now();F().revalidateOnFocus&&n>t&&w()&&(t=n+F().focusThrottleInterval,e())}else if(n==r.bu.RECONNECT_EVENT)F().revalidateOnReconnect&&w()&&e();else{if(n==r.bu.MUTATE_EVENT)return K();if(n==r.bu.ERROR_REVALIDATE_EVENT)return K(i)}}));return S.current=!1,G.current=B,_.current=!0,x({_k:A}),M&&((0,r.b0)(D)||r.X3?e():(0,r.mf)(e)),()=>{S.current=!0,n()}}),[B]),(0,r.Es)((()=>{let e;function t(){const t=(0,r.Tn)(m)?m(T().data):m;t&&-1!==e&&(e=setTimeout(n,t))}function n(){T().error||!f&&!F().isVisible()||!I&&!F().isOnline()?t():K(s).then(t)}return t(),()=>{e&&(clearTimeout(e),e=-1)}}),[m,f,I,B]),(0,i.useDebugValue)(Y),u&&(0,r.b0)(D)&&B){if(!r.dO&&r.X3)throw new Error("Fallback data is required when using suspense in SSR.");Q.current=t,E.current=n,S.current=!1;const e=v[B];if(!(0,r.b0)(e)){const t=q(e);a(t)}if(!(0,r.b0)(H))throw H;{const e=K(s);(0,r.b0)(Y)||(e.status="fulfilled",e.value=!0),a(e)}}return{mutate:q,get data(){return O.data=!0,Y},get error(){return O.error=!0,H},get isValidating(){return O.isValidating=!0,j},get isLoading(){return O.isLoading=!0,z}}})),l=r.dO?e=>{e()}:i.startTransition,u=(0,r.Ht)(c,(()=>(e,t,n={})=>{const{mutate:o}=(0,r.iX)(),a=(0,i.useRef)(e),s=(0,i.useRef)(t),c=(0,i.useRef)(n),u=(0,i.useRef)(0),[d,g,p]=(e=>{const[,t]=(0,i.useState)({}),n=(0,i.useRef)(!1),o=(0,i.useRef)(e),a=(0,i.useRef)({data:!1,error:!1,isValidating:!1}),s=(0,i.useCallback)((e=>{let i=!1;const r=o.current;for(const t in e){const n=t;r[n]!==e[n]&&(r[n]=e[n],a.current[n]&&(i=!0))}i&&!n.current&&t({})}),[]);return(0,r.Es)((()=>(n.current=!1,()=>{n.current=!0}))),[o,a.current,s]})({data:r.ZH,error:r.ZH,isMutating:!1}),m=d.current,f=(0,i.useCallback)((async(e,t)=>{const[n,i]=(0,r.lK)(a.current);if(!s.current)throw new Error("Can’t trigger the mutation: missing fetcher.");if(!n)throw new Error("Can’t trigger the mutation: missing key.");const d=(0,r.rL)((0,r.rL)({populateCache:!1,throwOnError:!0},c.current),t),g=(0,r.lg)();u.current=g,p({isMutating:!0});try{const t=await o(n,s.current(i,{arg:e}),(0,r.rL)(d,{throwOnError:!0}));return u.current<=g&&(l((()=>p({data:t,isMutating:!1,error:void 0}))),null==d.onSuccess||d.onSuccess.call(d,t,n,d)),t}catch(m){if(u.current<=g&&(l((()=>p({error:m,isMutating:!1}))),null==d.onError||d.onError.call(d,m,n,d),d.throwOnError))throw m}}),[]),I=(0,i.useCallback)((()=>{u.current=(0,r.lg)(),p({data:r.ZH,error:r.ZH,isMutating:!1})}),[]);return(0,r.Es)((()=>{a.current=e,s.current=t,c.current=n})),{trigger:f,reset:I,get data(){return g.data=!0,m.data},get error(){return g.error=!0,m.error},get isMutating(){return g.isMutating=!0,m.isMutating}}}))},7662:e=>{"use strict";e.exports=JSON.parse('{"100":"Continue","101":"Switching Protocols","102":"Processing","103":"Early Hints","200":"OK","201":"Created","202":"Accepted","203":"Non-Authoritative Information","204":"No Content","205":"Reset Content","206":"Partial Content","207":"Multi-Status","208":"Already Reported","226":"IM Used","300":"Multiple Choices","301":"Moved Permanently","302":"Found","303":"See Other","304":"Not Modified","305":"Use Proxy","307":"Temporary Redirect","308":"Permanent Redirect","400":"Bad Request","401":"Unauthorized","402":"Payment Required","403":"Forbidden","404":"Not Found","405":"Method Not Allowed","406":"Not Acceptable","407":"Proxy Authentication Required","408":"Request Timeout","409":"Conflict","410":"Gone","411":"Length Required","412":"Precondition Failed","413":"Payload Too Large","414":"URI Too Long","415":"Unsupported Media Type","416":"Range Not Satisfiable","417":"Expectation Failed","418":"I\'m a Teapot","421":"Misdirected Request","422":"Unprocessable Entity","423":"Locked","424":"Failed Dependency","425":"Too Early","426":"Upgrade Required","428":"Precondition Required","429":"Too Many Requests","431":"Request Header Fields Too Large","451":"Unavailable For Legal Reasons","500":"Internal Server Error","501":"Not Implemented","502":"Bad Gateway","503":"Service Unavailable","504":"Gateway Timeout","505":"HTTP Version Not Supported","506":"Variant Also Negotiates","507":"Insufficient Storage","508":"Loop Detected","509":"Bandwidth Limit Exceeded","510":"Not Extended","511":"Network Authentication Required"}')}}])},"./node_modules/@91app/nineyi.utility.cookie/dist/src/index.js":(e,t)=>{"use strict";t.q5=function(e,t,n){var i="";if(n){var o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3),i="; expires="+o.toUTCString()}document.cookie=e+"="+t+i+"; path=/"},t.Ri=function(e){var t=document.cookie.match(new RegExp("(^| )"+e+"=([^;]*)(;|$)"));return t?t[2]:""}},"./node_modules/@91app/nineyi.utility.log.client/dist/src/agathaReporter/index.js":function(e,t,n){"use strict";var i=this&&this.__assign||function(){return i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)},o=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o<r;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=r(n("./node_modules/@91app/agatha-client/lib/index.cjs.js")),s=new WeakMap,c=function(){function e(e,t,n,i){var r,a,c,l;if(!(null==e?void 0:e.length)||!(null==t?void 0:t.length))throw new Error("請正確設定 projectId 與 serviceName 初始化 AgathaReporter");if(s.set(this,{bufferedLogs:[],clientInfo:null!=n?n:null,defaultCustomPayload:null,excludeLogs:[],excludeUserAgents:["AdsBot","AppleBot","Baiduspider","Bingbot","Facebookexternalhit","GoogleBot","GPTBot","PetalBot"],projectId:e,serviceName:"".concat(t.toLowerCase(),"-service")}),this.agatha=null,(null===(r=null==i?void 0:i.excludeLogs)||void 0===r?void 0:r.length)&&this.setPrivateValue("excludeLogs",i.excludeLogs),null===(a=null==i?void 0:i.excludeUserAgents)||void 0===a?void 0:a.length){var u=null!==(l=null===(c=s.get(this))||void 0===c?void 0:c.excludeUserAgents)&&void 0!==l?l:[];this.setPrivateValue("excludeUserAgents",o(o([],u,!0),i.excludeUserAgents,!0))}this.catchException(),this.init()}return e.instance=function(t,n){return e._instance||(e._instance=new e(t.projectId,t.serviceName,t.clientInfo,n)),e._instance},e.prototype.catchException=function(){var e=this,t=window.onerror||null,n=window.onunhandledrejection||null;window.onerror=function(n,o,r,a,s){var c,l;if(s){var u=(null===(c=null==s?void 0:s.message)||void 0===c?void 0:c.length)?s.message:(null==n?void 0:n.toString())||null,d=(null===(l=null==s?void 0:s.stack)||void 0===l?void 0:l.length)?s.stack:null;(null==u?void 0:u.length)&&(null==d?void 0:d.length)&&e.sendLogs([{severity:"ERROR",message:u,customPayload:i(i(i(i(i({},d?{stack:d}:{}),o?{source:o}:{}),r?{lineno:r}:{}),a?{colno:a}:{}),{logType:"exception"})}])}return t&&t.call(window,n,o,r,a,s),!0},window.onunhandledrejection=function(t){if(t){var i=null;t.reason&&("string"==typeof t.reason?i=t.reason:t.reason instanceof Error?i=t.reason.message:"object"==typeof t.reason&&(i=JSON.stringify(t.reason))),(null==i?void 0:i.length)&&e.sendLogs([{severity:"ERROR",message:i,customPayload:{logType:"exception"}}])}return n&&n.call(window,t),!0}},e.prototype.init=function(){var e=this,t=s.get(this);t&&(this.agatha=new a.default(i(i({projectId:t.projectId,logName:t.serviceName},t.clientInfo?{clientInfo:t.clientInfo}:{}),{onSuccess:function(){t.bufferedLogs.length&&e.setPrivateValue("bufferedLogs",[])},onError:function(e){console.error("Agatha send log failure: ".concat(e.errorMsg))}})),t.bufferedLogs.length&&this.sendLogs(t.bufferedLogs))},e.prototype.sendLogs=function(e){var t=this,n=s.get(this);if(n)if(this.agatha){var r=o(o([],n.bufferedLogs,!0),e,!0).filter((function(e){var i,o,r=e.message||"",a=(null===(o=null===(i=n.clientInfo)||void 0===i?void 0:i.browser)||void 0===o?void 0:o.userAgent)||"";return t.isMessageAllowed(r)&&t.isUserAgentAllowed(a)}));this.agatha.sendLogs(r.map((function(e){var n,o,r,a,s;return i(i({},e),{severity:null!==(n=e.severity)&&void 0!==n?n:"ERROR",customPayload:i(i(i({},t.defaultCustomPayload?i({},t.defaultCustomPayload):{}),e.customPayload?i({},e.customPayload):{}),{logType:null!==(r=null===(o=e.customPayload)||void 0===o?void 0:o.logType)&&void 0!==r?r:"javascript-".concat(e.severity.toLowerCase()),href:null!==(s=null===(a=e.customPayload)||void 0===a?void 0:a.href)&&void 0!==s?s:window.location.href})})})))}else this.setPrivateValue("bufferedLogs",o(o([],n.bufferedLogs,!0),e,!0))},e.prototype.isMessageAllowed=function(e){var t,n,i,o=s.get(this);return!(null===(t=null==o?void 0:o.excludeLogs)||void 0===t?void 0:t.length)||!(null===(i=null===(n=null==o?void 0:o.excludeLogs)||void 0===n?void 0:n.filter((function(t){return e.toLowerCase().includes(t.toLowerCase())})))||void 0===i?void 0:i.length)},e.prototype.isUserAgentAllowed=function(e){var t,n=null===(t=s.get(this))||void 0===t?void 0:t.excludeUserAgents;return!(null==n?void 0:n.length)||!new RegExp(n.join("|"),"i").test(e)},e.prototype.setPrivateValue=function(e,t){var n=s.get(this);n&&(n[e]=t,s.set(this,n))},Object.defineProperty(e.prototype,"clientInfo",{set:function(e){var t;this.setPrivateValue("clientInfo",e),null===(t=this.agatha)||void 0===t||t.updateClientInfo(e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"excludeLogMessages",{set:function(e){this.setPrivateValue("excludeLogs",e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"defaultCustomPayload",{get:function(){var e;return null===(e=s.get(this))||void 0===e?void 0:e.defaultCustomPayload},set:function(e){this.setPrivateValue("defaultCustomPayload",e)},enumerable:!1,configurable:!0}),e}();t.default=c},"./node_modules/@91app/nineyi.utility.log.client/dist/src/index.js":function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AgathaReporter=t.registeErrorHandler=t.initalizeLogger=t.log=void 0;var o=i(n("./node_modules/loglevel/lib/loglevel.js")),r=n("./node_modules/@91app/nineyi.utility.log.client/dist/src/stackDriverReporter.js");Object.defineProperty(t,"registeErrorHandler",{enumerable:!0,get:function(){return r.registeErrorHandler}});var a=i(n("./node_modules/@91app/nineyi.utility.log.client/dist/src/agathaReporter/index.js"));t.AgathaReporter=a.default;var s=o.default;t.log=s;t.initalizeLogger=function(e){s.setDefaultLevel(e)}},"./node_modules/@91app/nineyi.utility.log.client/dist/src/stackDriverReporter.js":function(e,t,n){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.registeErrorHandler=void 0;var o=i(n("./node_modules/@91app/nineyi.utility.log.client/node_modules/stackdriver-errors-js/stackdriver-errors.js"));t.registeErrorHandler=function(e){var t=e.envName,n=void 0===t?"":t,i=e.stackDriverConfig,r=void 0===i?{name:"",version:""}:i,a=r.name,s=r.version;if(""===r.name)throw new Error("stackDriverConfig is invalid!!");var c=a.split(/[. ]+/).pop(),l=n,u=new o.default;return u.start({key:"AIzaSyDI_CdmrnZjKAg5bR4zpwJ2lvhtYG1XktY",projectId:"k8s-91app-dev",service:"".concat(c,"-service-").concat(l),version:s}),u}},"./node_modules/@91app/nineyi.utility.log.client/node_modules/stackdriver-errors-js/stackdriver-errors.js":(e,t,n)=>{var i=n("./node_modules/stacktrace-js/stacktrace.js"),o=function(){};o.prototype.start=function(e){if(!e.key&&!e.targetUrl&&!e.customReportingFunction)throw new Error("Cannot initialize: No API key, target url or custom reporting function provided.");if(!e.projectId&&!e.targetUrl&&!e.customReportingFunction)throw new Error("Cannot initialize: No project ID, target url or custom reporting function provided.");this.customReportingFunction=e.customReportingFunction,this.apiKey=e.key,this.projectId=e.projectId,this.targetUrl=e.targetUrl,this.context=e.context||{},this.serviceContext={service:e.service||"web"},e.version&&(this.serviceContext.version=e.version),this.reportUncaughtExceptions=!1!==e.reportUncaughtExceptions,this.reportUnhandledPromiseRejections=!1!==e.reportUnhandledPromiseRejections,this.disabled=!!e.disabled,function(e){var t=function(){};if(e.reportUncaughtExceptions){var n=window.onerror||t;window.onerror=function(i,o,r,a,s){return s&&e.report(s).catch(t),n(i,o,r,a,s),!0}}if(e.reportUnhandledPromiseRejections){var i=window.onunhandledrejection||t;window.onunhandledrejection=function(n){return n&&e.report(n.reason).catch(t),i(n.reason),!0}}}(this)},o.prototype.report=function(e,t){if(this.disabled)return Promise.resolve(null);if(!e)return Promise.reject(new Error("no error to report"));t=t||{};var n={};n.serviceContext=this.serviceContext,n.context=this.context,n.context.httpRequest={userAgent:window.navigator.userAgent,url:window.location.href};var o=0;if("string"==typeof e||e instanceof String){try{throw new Error(e)}catch(s){e=s}o=t.skipLocalFrames||1}var r=this.targetUrl||"https://clouderrorreporting.googleapis.com/v1beta1/projects/"+this.projectId+"/events:report?key="+this.apiKey,a=this.customReportingFunction;return function(e,t){return i.fromError(e).then((function(n){for(var i=[e.toString()],o=t;o<n.length;o++)i.push(["    at ",n[o].getFunctionName()||"<anonymous>"," (",n[o].getFileName(),":",n[o].getLineNumber(),":",n[o].getColumnNumber(),")"].join(""));return i.join("\n")}),(function(t){return["Error extracting stack trace: ",t,"\n",e.toString(),"\n","    (",e.file,":",e.line,":",e.column,")"].join("")}))}(e,o).then((function(e){return n.message=e,a?a(n):function(e,t){var n=new XMLHttpRequest;return n.open("POST",e,!0),n.setRequestHeader("Content-Type","application/json; charset=UTF-8"),new Promise((function(e,i){n.onreadystatechange=function(){if(4===n.readyState){var o=n.status;if(o>=200&&o<300)e({message:t.message});else if(429===o)i({message:"quota or rate limiting error on stackdriver report",name:"Http429FakeError"});else{i(new Error((o?o+" http response":"network error")+" on stackdriver report"))}}},n.send(JSON.stringify(t))}))}(r,n)}))},o.prototype.setUser=function(e){this.context.user=e},e.exports=o},"./node_modules/@91app/nineyi.utility.pagelink/dist/src/configs/pageInfo.config.js":(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.shopIntroduceCustomerService=t.shopIntroduceShoppingGuide=t.shopIntroducePageInfo=t.officialBrandStory=t.backInStockAlertList=t.traceSalePageList=t.vipMemberIndexPageInfo=t.unknownPageInfo=t.loginIndexPageInfo=t.appDownloadPage=t.payFinishPageInfo=t.payLandingPageInfo=t.payIndexPageInfo=t.shoppingCart=t.eCouponHowToUse=t.collectionDetail=t.collectionViewAll=t.tagCategory=t.loyaltyPointCenter=t.loyaltyPointECouponDetail=t.loyaltyPointECouponList=t.fsEvent=t.newestSalePage=t.storeSidebarCustomLink=t.infoModuleVideoDetail=t.infoModuleVideoList=t.infoModuleAlbumDetail=t.infoModuleAlbumList=t.infoModuleArticleDetail=t.infoModuleArticleList=t.infoModuleList=t.promotionEngine=t.custom=t.hidden=t.vipMemberProfile=t.search=t.hotSaleRanking=t.couponDetail=t.couponList=t.shopStoreDetail=t.shopStoreList=t.promotionDetail=t.promotionList=t.eCouponHistory=t.ecouponDetail=t.ecouponList=t.activityPageInfo=t.salePageInfo=t.shopCategoryPageInfo=t.indexPageInfo=void 0,t.extraPurchaseList=t.addOnsSalePage=t.shoppingCartBatchInsert=t.ecouponIdForLoyaltyPoint=t.ecouponCustomList=t.stampRecordHistory=t.pointHistory=t.walletHistoryTopped=t.walletHistoryCard=t.walletHistoryAll=t.consumptionHistoryOffline=t.consumptionHistoryOnline=t.outerSalesOrder=t.crmShopMemberCardDescPage=t.brandPageWrapper=t.brandIndexWrapper=t.inlineWrapper=t.invitingHistory=t.invitingFriends=t.notFoundPage=t.activityPreparation=t.activityClosed=t.officialClosed=t.serviceInfo=t.preparation=t.payFinishExpressCheckout=t.expressCheckout=t.expressSalePage=t.salePageCommentList=t.gameModuleEvent=t.changeGoodsRequest=t.returnGoodsRequest=t.cancelGoodsRequest=t.promotionGift=t.locationPickupSelectLocation=t.browsingHistory=t.preview=t.questionInsertPageInfo=t.emailNotificationPageInfo=t.agreePrivacyPageInfo=t.myAccountChangePassword=t.invoiceListPageInfo=t.questionCustomerServiceCenter=t.ecouponMyEcoupon=t.tradesOrderDetail=t.tradesOrderList=t.myAccountLocationBooksPageInfo=t.myAccountVipMemberBenefits=t.myAccountPrivacy=t.helpServicePageInfo=void 0,t.streamPage=void 0;var i=n("./node_modules/@91app/nineyi.utility.pagelink/dist/src/constants.js");t.indexPageInfo={pageType:i.PAGE_TYPE.INDEX,pageTitle:"首頁",viewType:"Home",routerPathFunc:function(){return"/"}},t.shopCategoryPageInfo={pageType:i.PAGE_TYPE.CATEGORY,pageTitle:"小分類頁",viewType:"SalePageCategory",routerPathFunc:function(e){var t=e.id;return"/v2/official/SalePageCategory/"+(void 0===t?"":t)}},t.salePageInfo={pageType:i.PAGE_TYPE.SALEPAGE,pageTitle:"商品頁",viewType:"SalePage",routerPathFunc:function(e){var t=e.id;return"/SalePage/Index/"+(void 0===t?"":t)}},t.activityPageInfo={pageType:i.PAGE_TYPE.ACTIVITY,pageTitle:"活動頁公版",viewType:"Activity",routerPathFunc:function(e){var t=e.id;return"/v2/activity/"+(void 0===t?"":t)}},t.ecouponList={pageType:i.PAGE_TYPE.ECOUPON_LIST,pageTitle:"優惠券專區 全部列表",viewType:"ECouponList",routerPathFunc:function(){return"/v2/ECoupon/List"}},t.ecouponDetail={pageType:i.PAGE_TYPE.ECOUPON,pageTitle:"優惠券詳細頁",viewType:"ECouponDetail",routerPathFunc:function(e){var t=e.id;return"/v2/ECoupon/Detail/"+(void 0===t?"":t)}},t.eCouponHistory={pageType:i.PAGE_TYPE.ECOUPON_HISTORY,pageTitle:"優惠券紀錄",viewType:"ECouponECouponHistory",routerPathFunc:function(){return"/V2/ECoupon/ECouponHistory"}},t.promotionList={pageType:i.PAGE_TYPE.PROMOTION_LIST,pageTitle:"折扣活動列表頁",viewType:"PromotionList",routerPathFunc:function(){return"/v2/Promotion/List"}},t.promotionDetail={pageType:i.PAGE_TYPE.PROMOTION,pageTitle:"折扣活動內容頁-現折活動",viewType:"PromotionDetail",routerPathFunc:function(e){var t=e.id;return"/Promotion/Detail/"+(void 0===t?"":t)}},t.shopStoreList={pageType:i.PAGE_TYPE.SHOP_STORE_LIST,pageTitle:"門市資訊",viewType:"StoreList",routerPathFunc:function(e){return"/v2/Shop/StoreList/"+(e.shopId||"")}},t.shopStoreDetail={pageType:i.PAGE_TYPE.SHOP_STORE_DETAIL,pageTitle:"門市詳細",viewType:"StoreDetail",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/Shop/StoreDetail/"+(t||"")+"/"+(void 0===n?"":n)}},t.couponList={pageType:i.PAGE_TYPE.COUPON_LIST,pageTitle:"門市優惠券列表",viewType:"ECouponListCoupon",routerPathFunc:function(){return"/v2/ECoupon/List/Coupon"}},t.couponDetail={pageType:i.PAGE_TYPE.COUPON,pageTitle:"門市優惠券",viewType:"CouponDetail",routerPathFunc:function(e){var t=e.id;return"/Coupon/Detail/"+(void 0===t?"":t)}},t.hotSaleRanking={pageType:i.PAGE_TYPE.HOT_SALE_RANKING,pageTitle:"熱銷排行榜",viewType:"HotSaleRanking",routerPathFunc:function(e){return"/Shop/HotSaleRanking/"+(e.shopId||"")+"?period=Weekly"}},t.search={pageType:i.PAGE_TYPE.SEARCH,pageTitle:"搜尋結果",viewType:"Search",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/Search?q="+encodeURI(String(n))+"&shopId="+(t||"")}},t.vipMemberProfile={pageType:i.PAGE_TYPE.VIP_MEMBER_PROFILE,pageTitle:"會員基本資料",viewType:"VipMemberProfile",routerPathFunc:function(){return"/v2/VipMember/Profile"}},t.hidden={pageType:i.PAGE_TYPE.HIDDEN,pageTitle:"隱形活動頁",viewType:"HiddenPage",routerPathFunc:function(e){var t=e.id;return"/hidden/"+(void 0===t?"":t)}},t.custom={pageType:i.PAGE_TYPE.CUSTOM,pageTitle:"自訂頁",viewType:"CustomPage",routerPathFunc:function(e){var t=e.id;return"/page/"+(void 0===t?"":t)}},t.promotionEngine={pageType:i.PAGE_TYPE.PROMOTION_ENGINE,pageTitle:"促購引擎折扣活動內容頁",viewType:"PromotionEngineDetail",routerPathFunc:function(e){var t=e.id;return"/v2/PromotionEngine/Detail/"+(void 0===t?"":t)}},t.infoModuleList={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_LIST,pageTitle:"資訊模組列表頁",viewType:"InfoModule",routerPathFunc:function(){return"/v2/shop/InfoModuleList#/"}},t.infoModuleArticleList={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_ARTICLE_LIST,pageTitle:"文章列表頁",viewType:"Article",routerPathFunc:function(){return"/v2/shop/InfoModuleList#!/ArticleList"}},t.infoModuleArticleDetail={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_ARTICLE_DETAIL,pageTitle:"圖文模組頁",viewType:"ArticleDetail",routerPathFunc:function(e){var t=e.id;return"/Article/Detail/"+(void 0===t?"":t)}},t.infoModuleAlbumList={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_ALBUM_LIST,pageTitle:"相簿列表頁",viewType:"Album",routerPathFunc:function(){return"/v2/shop/InfoModuleList#!/AlbumList"}},t.infoModuleAlbumDetail={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_ALBUM_DETAIL,pageTitle:"相簿模組頁",viewType:"AlbumDetail",routerPathFunc:function(e){var t=e.id;return"/Album/Detail/"+(void 0===t?"":t)}},t.infoModuleVideoList={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_VIDEO_LIST,pageTitle:"影片列表頁",viewType:"Video",routerPathFunc:function(){return"/v2/shop/InfoModuleList#!/VideoList"}},t.infoModuleVideoDetail={pageType:i.PAGE_TYPE.SHOP_INFO_MODULE_VIDEO_DETAIL,pageTitle:"影音模組頁",viewType:"VideoDetail",routerPathFunc:function(e){var t=e.id;return"/Video/Detail/"+(void 0===t?"":t)}},t.storeSidebarCustomLink={pageType:i.PAGE_TYPE.STORE_SIDEBAR_CUSTOM_LINK,pageTitle:"側欄門市自訂連結",viewType:"VIPMemberCustomLinkRelay",routerPathFunc:function(e){var t=e.id;return"/v2/VIPMember/CustomLinkRelay/"+(void 0===t?"":t)}},t.newestSalePage={pageType:i.PAGE_TYPE.NEWEST_SALEPAGE,pageTitle:"最新商品頁",viewType:"NewestSalePage",routerPathFunc:function(){return"/v2/Official/NewestSalePage"}},t.fsEvent={pageType:i.PAGE_TYPE.FS_EVENT,pageTitle:"Fever social 活動頁",viewType:"NewestSalePage",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/FSevent/"+(t||"")+"/"+(void 0===n?"":n)}},t.loyaltyPointECouponList={pageType:i.PAGE_TYPE.LOYALTY_POINT_ECOUPON_LIST,pageTitle:"會員點數兌換專區",viewType:"LoyaltyPointToECouponList",routerPathFunc:function(){return"/v2/LoyaltyPoint/ECouponList"}},t.loyaltyPointECouponDetail={pageType:i.PAGE_TYPE.LOYALTY_POINT_ECOUPON_DETAIL,pageTitle:"紅利點數折價券詳細頁",viewType:"LoyaltyPointToECouponDetail",routerPathFunc:function(){return"/v2/LoyaltyPoint/ECouponDetail"}},t.loyaltyPointCenter={pageType:i.PAGE_TYPE.LOYALTY_POINT_CENTER,pageTitle:"會員點數中心",viewType:"LoyaltyPointCenter",routerPathFunc:function(){return"/V2/LoyaltyPoint/Index"}},t.tagCategory={pageType:i.PAGE_TYPE.TAG_CATEGORY,pageTitle:"標籤分類頁",viewType:"TagCategory",routerPathFunc:function(e){var t=e.id;return"/tagCategory/"+(void 0===t?"":t)}},t.collectionViewAll={pageType:i.PAGE_TYPE.COLLECTION_VIEW_ALL,pageTitle:"穿搭一覽頁",viewType:"CollectionList",routerPathFunc:function(){return"/catalog/collectionList"}},t.collectionDetail={pageType:i.PAGE_TYPE.COLLECTION_DETAIL,pageTitle:"穿搭詳細頁",viewType:"CollectionDetail",routerPathFunc:function(e){var t=e.id;return"/catalog/collectionDetail/"+(void 0===t?"":t)}},t.eCouponHowToUse={pageType:i.PAGE_TYPE.ECOUPON_HOW_TO_USE,pageTitle:"折價券使用說明",viewType:"ECouponHowToUse",routerPathFunc:function(){return"ECoupon/HowToUse"}},t.shoppingCart={pageType:i.PAGE_TYPE.SHOPPING_CART,pageTitle:"購物車",viewType:"ShoppingCart",routerPathFunc:function(e){return"/v2/ShoppingCart/Index?shopId="+(e.shopId||"")+"#/Info/Index"}},t.payIndexPageInfo={pageType:i.PAGE_TYPE.PAY_INDEX,pageTitle:"結帳付款頁",viewType:"Pay",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/Pay?k="+(void 0===n?"":n)+"shopId="+(t||"")+"#/Info/PayAdvanced"}},t.payLandingPageInfo={pageType:i.PAGE_TYPE.PAY_LANDING,pageTitle:"結帳付款頁等待頁",viewType:"PayLanding",routerPathFunc:function(){return"/v2/Pay/Landing"}},t.payFinishPageInfo={pageType:i.PAGE_TYPE.PAY_FINISH,pageTitle:"結帳完成頁",viewType:"PayFinish",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/Pay/Finish?k="+(void 0===n?"":n)+"&shopId="+(t||"")}},t.appDownloadPage={pageType:i.PAGE_TYPE.APP_DOWNLOAD,pageTitle:"導下載頁",viewType:"AppDownload",routerPathFunc:function(){return"/app/download"}},t.loginIndexPageInfo={pageType:i.PAGE_TYPE.LOGIN,pageTitle:"登入",viewType:"Login",routerPathFunc:function(){return"/V2/Login/Index"}},t.unknownPageInfo={pageType:null,pageTitle:"不明的頁面",viewType:"unknown",routerPathFunc:function(){return""}},t.vipMemberIndexPageInfo={pageType:i.PAGE_TYPE.VIP_MEMBER,viewType:"VipMember",pageTitle:"會員專區",routerPathFunc:function(){return"/V2/VipMember/Index"}},t.traceSalePageList={viewType:"WishList",pageType:i.PAGE_TYPE.TRACE_SALE_PAGE_LIST,pageTitle:"我的收藏",routerPathFunc:function(){return"/TraceSalePageList/TraceSalePageList"}},t.backInStockAlertList={viewType:"BackInStockAlertList",pageType:i.PAGE_TYPE.BACK_IN_STOCK_ALERT_LIST,pageTitle:"貨到通知",routerPathFunc:function(){return"/v2/BackInStockAlertList"}},t.officialBrandStory={viewType:"BrandStory",pageType:i.PAGE_TYPE.OFFICIAL_BRAND_STORY,pageTitle:"品牌故事",routerPathFunc:function(){return"/v2/Official/BrandStory"}},t.shopIntroducePageInfo={viewType:"Introduce",pageType:i.PAGE_TYPE.SHOP_INTRODUCE,pageTitle:"商店簡介",routerPathFunc:function(e){return"/shop/introduce/"+(e.shopId||"")+"?t=1"}},t.shopIntroduceShoppingGuide={viewType:"Introduce",pageType:i.PAGE_TYPE.SHOP_INTRODUCE_SHOPPING_GUIDE,pageTitle:"購物說明",routerPathFunc:function(e){return"/shop/introduce/"+(e.shopId||"")+"?t=2"}},t.shopIntroduceCustomerService={viewType:"Introduce",pageType:i.PAGE_TYPE.SHOP_INTRODUCE_CUSTOMER_SERVICE,pageTitle:"商店客服",routerPathFunc:function(e){return"/shop/introduce/"+(e.shopId||"")+"?t=3"}},t.helpServicePageInfo={pageType:null,viewType:"",pageTitle:"購物說明",routerPathFunc:function(e){return"/shop/introduce/"+(e.shopId||"")+"?t=2"}},t.myAccountPrivacy={pageType:i.PAGE_TYPE.MY_ACCOUNT_PRIVACY,pageTitle:"隱私權條款頁",viewType:"Privacy",routerPathFunc:function(){return"/MyAccount/Privacy"}},t.myAccountVipMemberBenefits={pageType:i.PAGE_TYPE.MY_ACCOUNT_VIP_MEMBER_BENEFITS,viewType:"VipMemberBenefits",pageTitle:"會員權益說明",routerPathFunc:function(){return"/V2/MyAccount/VipMemberBenefits"}},t.myAccountLocationBooksPageInfo={pageType:null,viewType:"",pageTitle:"常用收件人",routerPathFunc:function(){return"/MyAccount/LocationBooks"}},t.tradesOrderList={pageType:i.PAGE_TYPE.TRADES_ORDER_LIST,viewType:"TradesOrderList",pageTitle:"訂單列表",routerPathFunc:function(){return"/V2/TradesOrder/TradesOrderList"}},t.tradesOrderDetail={pageType:i.PAGE_TYPE.TRADES_ORDER_LIST,viewType:"TradesOrderDetail",pageTitle:"訂單明細",routerPathFunc:function(){return"/V2/TradesOrder/TradesOrderDetail"}},t.ecouponMyEcoupon={pageType:i.PAGE_TYPE.ECOUPON_MY_ECOUPON,pageTitle:"我的優惠券",viewType:"ECouponMyECoupon",routerPathFunc:function(){return"/V2/ECoupon/MyECoupon"}},t.questionCustomerServiceCenter={pageType:i.PAGE_TYPE.QUESTION_CUSTOMER_SERVICE_CENTER,viewType:"CustomerServiceCenter",pageTitle:"常見問題",routerPathFunc:function(){return"/Question/CustomerServiceCenter"}},t.invoiceListPageInfo={pageType:null,viewType:"",pageTitle:"常用統一編號",routerPathFunc:function(){return"/MyAccount/InvoiceList"}},t.myAccountChangePassword={pageType:i.PAGE_TYPE.MY_ACCOUNT_CHANGE_PASSWORD,viewType:"ChangePassword",pageTitle:"修改密碼",routerPathFunc:function(){return"/V2/MyAccount/ChangePassword"}},t.agreePrivacyPageInfo={pageType:null,viewType:"",pageTitle:"會員權益聲明",routerPathFunc:function(){return"/V2/VipMember/agreePrivacy"}},t.emailNotificationPageInfo={pageType:null,viewType:"",pageTitle:"通知相關設定",routerPathFunc:function(){return"/V2/VipMember/EmailNotification"}},t.questionInsertPageInfo={pageType:i.PAGE_TYPE.QUESTION_INSERT,viewType:"QuestionInsert",pageTitle:"客服留言/問答紀錄",routerPathFunc:function(e){return"/Question/QuestionInsert/0?sId="+(e.shopId||"")}},t.preview={pageType:i.PAGE_TYPE.PRIVIEW,viewType:"Preview",pageTitle:"預覽頁",routerPathFunc:function(e){var t=e.id;return"/preview/"+(void 0===t?"":t)}},t.browsingHistory={pageType:i.PAGE_TYPE.BROWSING_HISTORY,viewType:"BrowsingHistory",pageTitle:"瀏覽紀錄",routerPathFunc:function(){return"/v2/browsingHistory"}},t.locationPickupSelectLocation={pageType:i.PAGE_TYPE.LOCATION_PICK_UP_SELECT_LOCATION,viewType:"LocationPickup",pageTitle:"選擇門市",routerPathFunc:function(){return"/V2/LocationPickup/SelectLocation"}},t.promotionGift={pageType:i.PAGE_TYPE.PROMOTION_GIFT,viewType:"PromotionGift",pageTitle:"贈品詳細",routerPathFunc:function(){return"/V2/Promotion/Gift"}},t.cancelGoodsRequest={pageType:i.PAGE_TYPE.CANCEL_GOODS_REQUEST,viewType:"CancelGoodsRequest",pageTitle:"訂單取消",routerPathFunc:function(){return"/V2/CancelGoodsRequest/list"}},t.returnGoodsRequest={pageType:i.PAGE_TYPE.RETURN_GOODS_REQUEST,viewType:"ReturnGoodsRequest",pageTitle:"訂單退貨",routerPathFunc:function(){return"/V2/ReturnGoodsRequest/list"}},t.changeGoodsRequest={pageType:i.PAGE_TYPE.CHANGE_GOODS_REQUEST,viewType:"ChangeGoodsRequest",pageTitle:"訂單換貨",routerPathFunc:function(){return"/V2/ChangeGoodsRequest/list"}},t.gameModuleEvent={pageType:i.PAGE_TYPE.GAME_MODULE_EVENT,pageTitle:"遊戲產生器活動頁",viewType:"GameModuleEvent",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/V2/GameModule/"+(t||"")+"/gpc001/"+(void 0===n?"":n)}},t.salePageCommentList={pageType:i.PAGE_TYPE.SALEPAGE_COMMENT_LIST,pageTitle:"評價列表頁",viewType:"SalePageComment",routerPathFunc:function(e){var t=e.id;return"/v2/SalePageComment/List?salePageId="+(void 0===t?"":t)}},t.expressSalePage={pageType:i.PAGE_TYPE.EXPRESS_SALEPAGE,pageTitle:"商品頁_express",viewType:"ExpressSalePage",routerPathFunc:function(e){var t=e.id;return"/cms/liff/tall/expressSalePage/"+(void 0===t?"":t)}},t.expressCheckout={pageType:i.PAGE_TYPE.EXPRESS_CHECKOUT,pageTitle:"快速結帳",viewType:"ExpressCheckout",routerPathFunc:function(e){var t=e.id;return"/v2/checkouts/"+(void 0===t?"":t)+"?pageType=express"}},t.payFinishExpressCheckout={pageType:i.PAGE_TYPE.EXPRESS_CHECKOUT_PAY_FINISH,pageTitle:"結帳完成頁",viewType:"ExpressCheckout",routerPathFunc:function(e){var t=e.shopId,n=e.id;return"/v2/Pay/Finish?k="+(void 0===n?"":n)+"&shopId="+(t||"")+"&pageType=express"}},t.preparation={pageType:i.PAGE_TYPE.PREPARATION,pageTitle:"網站準備中",viewType:"Preparation",routerPathFunc:function(e){return"/V2/Static/Official/OfficialPreparation.htm?shopId="+e.shopId+"&reason=InProcess"}},t.serviceInfo={pageType:i.PAGE_TYPE.SERVICEINFO,pageTitle:"例行系統維護中",viewType:"ServiceInfo",routerPathFunc:function(){return"/service_info.htm"}},t.officialClosed={pageType:i.PAGE_TYPE.OFFICIAL_CLOSED,pageTitle:"網站關閉",viewType:"OfficialClosed",routerPathFunc:function(){return"/V2/Static/Official/Officialclosed.htm"}},t.activityClosed={pageType:i.PAGE_TYPE.ACTIVITY_CLOSED,pageTitle:"活動已結束",viewType:"Activityclosed",routerPathFunc:function(){return"/v2/Static/Activity/Activityclosed.html"}},t.activityPreparation={pageType:i.PAGE_TYPE.ACTIVITY_PREPARATION,pageTitle:"活動尚未開始",viewType:"ActivityPreparation",routerPathFunc:function(){return"/v2/Static/Activity/ActivityPreparation.html"}},t.notFoundPage={pageType:i.PAGE_TYPE.NOT_FOUND_PAGE,pageTitle:"找不到該頁面",viewType:"NotFoundPage",routerPathFunc:function(){return"/404V2.html"}},t.invitingFriends={pageType:i.PAGE_TYPE.INVITING_FRIENDS,pageTitle:"邀請好友",viewType:"SharedInvitation",routerPathFunc:function(){return"/V2/MyAccount/InvitingFriends"}},t.invitingHistory={pageType:i.PAGE_TYPE.INVITING_HISTORY,pageTitle:"邀請紀錄",viewType:"InvitingHistory",routerPathFunc:function(){return"/V2/MyAccount/InvitingHistory"}},t.inlineWrapper={pageType:i.PAGE_TYPE.INLINE_WRAPPER,pageTitle:"inline ifarme 頁",viewType:"IfarmeWrappery",routerPathFunc:function(e){return"/catalog/inlineWrapper/"+e.serviceType+"/"+e.id}},t.brandIndexWrapper={pageType:i.PAGE_TYPE.BRAND_INDEX,pageTitle:"品牌總覽頁",viewType:"ProductBrandOverview",routerPathFunc:function(){return"/V2/Brand"}},t.brandPageWrapper={pageType:i.PAGE_TYPE.BRAND_PAGE,pageTitle:"商品品牌頁",viewType:"BrandPage",routerPathFunc:function(e){var t=e.id;return"/V2/Brand/"+(void 0===t?"":t)}},t.crmShopMemberCardDescPage={pageType:i.PAGE_TYPE.MEMBER_CARD_DESC,pageTitle:"會員專區_會員制度說明頁",viewType:"CRMShopMemberCard",routerPathFunc:function(){return"/V2/CRMShopMemberCard/Description.html"}},t.outerSalesOrder={pageType:i.PAGE_TYPE.OUTER_SLAES_ORDER,pageTitle:"交易紀錄頁",viewType:"OuterSalesOrder",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/"}},t.consumptionHistoryOnline={pageType:i.PAGE_TYPE.CONSUMPTION_HISTORY_ONLINE,pageTitle:"交易紀錄頁_消費紀錄_線上",viewType:"ConsumptionHistoryOnline",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/consumption-history/online"}},t.consumptionHistoryOffline={pageType:i.PAGE_TYPE.CONSUMPTION_HISTORY_ONLINE,pageTitle:"交易紀錄頁_消費紀錄_門市",viewType:"ConsumptionHistoryOffline",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/consumption-history/offline"}},t.walletHistoryAll={pageType:i.PAGE_TYPE.WALLET_HISTORY_ALL,pageTitle:"交易紀錄頁_POYABuy紀錄_全部",viewType:"WalletHistoryAll",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/wallet-history/all"}},t.walletHistoryCard={pageType:i.PAGE_TYPE.WALLET_HISTORY_CARD,pageTitle:"交易紀錄頁_POYABuy紀錄_信用卡",viewType:"WalletHistoryCard",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/wallet-history/card"}},t.walletHistoryTopped={pageType:i.PAGE_TYPE.WALLET_HISTORY_CARD,pageTitle:"交易紀錄頁_POYABuy紀錄_儲值金",viewType:"WalletHistoryTopped",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/wallet-history/topped"}},t.pointHistory={pageType:i.PAGE_TYPE.POINT_HISTORY,pageTitle:"交易紀錄頁_點數紀錄",viewType:"PointHistory",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/point-history"}},t.stampRecordHistory={pageType:i.PAGE_TYPE.STAMP_RECORD_HISTORY,pageTitle:"交易紀錄頁_印花紀錄",viewType:"StampRecordHistory",routerPathFunc:function(){return"/V2/MembershipCard/OuterSalesOrder#/stampRecord-history"}},t.ecouponCustomList={pageType:i.PAGE_TYPE.ECOUPON_CUSTOM_LIST,pageTitle:"優惠券專區 自訂券列表",viewType:"ecouponCustomList",routerPathFunc:function(e){var t=e.id;return"/v2/ECoupon/List?TypeDef=ECouponCustom&ECouponCustomId="+(void 0===t?"":t)}},t.ecouponIdForLoyaltyPoint={pageType:i.PAGE_TYPE.ECOUPON_ID_FOR_LOYALTY_POINT,pageTitle:"優惠券詳細頁(紅利點數兌換)",viewType:"ecouponIdForLoyaltyPoint",routerPathFunc:function(e){var t=e.id;return"/v2/LoyaltyPoint/ECouponDetail?eCouponId="+(void 0===t?"":t)}},t.shoppingCartBatchInsert={pageType:i.PAGE_TYPE.SHOPPING_CART_BATCH_INSERT,pageTitle:"購物車批次新增轉導頁",viewType:"ShoppingCartBatchInsert",routerPathFunc:function(){return"/v2/ShoppingCart/BatchInsert"}},t.addOnsSalePage={pageType:i.PAGE_TYPE.ADD_ONS_SALEPAGE,pageTitle:"商品頁",viewType:"AddOnsSalePage",routerPathFunc:function(e){var t=e.id;return"/AddOnsSalePage/Index/"+(void 0===t?"":t)}},t.extraPurchaseList={pageType:i.PAGE_TYPE.EXTRA_PURCHASE_LIST,pageTitle:"加價購專區",viewType:"AddOnsSalePageArea",routerPathFunc:function(e){var t=e.id;return"/V2/AddOnsSalePage/ExtraPurchaseList/"+(void 0===t?"":t)}},t.streamPage={pageType:i.PAGE_TYPE.STREAM,pageTitle:"影片頁",viewType:"StreamPage",routerPathFunc:function(e){var t=e.id;return"/catalog/stream/"+(void 0===t?"":t)}}},"./node_modules/@91app/nineyi.utility.pagelink/dist/src/constants.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PAGE_NAME=t.URL_TYPE=t.PAGE_TYPE=void 0,t.PAGE_TYPE={INDEX:"p01",CATEGORY:"p02",SALEPAGE:"p03",ACTIVITY:"p04",ECOUPON_LIST:"p05",ECOUPON:"p06",PROMOTION_LIST:"p07",PROMOTION:"p08",SHOP_STORE_LIST:"p09",SHOP_STORE_DETAIL:"p10",COUPON_LIST:"p11",COUPON:"p12",HOT_SALE_RANKING:"p13",SEARCH:"p14",VIP_MEMBER_PROFILE:"p15",HIDDEN:"p16",CUSTOM:"p17",PROMOTION_ENGINE:"p18",SHOP_INFO_MODULE_LIST:"p19",SHOP_INFO_MODULE_ARTICLE_LIST:"p20",SHOP_INFO_MODULE_ARTICLE_DETAIL:"p21",SHOP_INFO_MODULE_ALBUM_LIST:"p22",SHOP_INFO_MODULE_ALBUM_DETAIL:"p23",SHOP_INFO_MODULE_VIDEO_LIST:"p24",SHOP_INFO_MODULE_VIDEO_DETAIL:"p25",STORE_SIDEBAR_CUSTOM_LINK:"p26",NEWEST_SALEPAGE:"p27",FS_EVENT:"p28",LOYALTY_POINT_ECOUPON_LIST:"p29",TAG_CATEGORY:"p30",COLLECTION_VIEW_ALL:"p31",COLLECTION_DETAIL:"p32",ECOUPON_HOW_TO_USE:"p33",SHOPPING_CART:"p34",PAY_INDEX:"p35",PAY_LANDING:"p36",PAY_FINISH:"p37",APP_DOWNLOAD:"p38",LOGIN:"p39",TRADES_ORDER_LIST:"p40",PRIVIEW:"p41",BROWSING_HISTORY:"p42",SHOP_INTRODUCE:"p43",VIP_MEMBER:"p44",LOCATION_PICK_UP_SELECT_LOCATION:"p45",OFFICIAL_BRAND_STORY:"p46",SHOP_INTRODUCE_CUSTOMER_SERVICE:"p47",SHOP_INTRODUCE_SHOPPING_GUIDE:"p48",QUESTION_INSERT:"p49",QUESTION_CUSTOMER_SERVICE_CENTER:"p50",MY_ACCOUNT_PRIVACY:"p51",MY_ACCOUNT_VIP_MEMBER_BENEFITS:"p52",MY_ACCOUNT_CHANGE_PASSWORD:"p53",PROMOTION_GIFT:"p54",LOYALTY_POINT_CENTER:"p55",ECOUPON_HISTORY:"p56",ECOUPON_MY_ECOUPON:"p57",TRACE_SALE_PAGE_LIST:"p58",CANCEL_GOODS_REQUEST:"p59",RETURN_GOODS_REQUEST:"p60",CHANGE_GOODS_REQUEST:"p61",GAME_MODULE_EVENT:"p62",BACK_IN_STOCK_ALERT_LIST:"p63",SALEPAGE_COMMENT_LIST:"p64",EXPRESS_SALEPAGE:"p65",LOYALTY_POINT_ECOUPON_DETAIL:"p66",EXPRESS_CHECKOUT:"p67",EXPRESS_CHECKOUT_PAY_FINISH:"p68",PREVIEW:"p69",PREPARATION:"p70",SERVICEINFO:"p71",OFFICIAL_CLOSED:"p72",ACTIVITY_CLOSED:"p73",ACTIVITY_PREPARATION:"p74",NOT_FOUND_PAGE:"p75",INVITING_FRIENDS:"p76",INVITING_HISTORY:"p77",INLINE_WRAPPER:"P78",BRAND_INDEX:"P79",BRAND_PAGE:"P80",MEMBER_CARD_DESC:"p81",OUTER_SLAES_ORDER:"p82",CONSUMPTION_HISTORY_ONLINE:"p83",CONSUMPTION_HISTORY_OFFLINE:"p84",WALLET_HISTORY_ALL:"p85",WALLET_HISTORY_CARD:"p86",WALLET_HISTORY_TOPPED:"p87",POINT_HISTORY:"p88",STAMP_RECORD_HISTORY:"p89",ECOUPON_CUSTOM_LIST:"p90",ECOUPON_ID_FOR_LOYALTY_POINT:"p91",SHOPPING_CART_BATCH_INSERT:"p92",ADD_ONS_SALEPAGE:"p93",EXTRA_PURCHASE_LIST:"p94",STREAM:"p95",UNKNOWN:"unknown"},t.URL_TYPE={CUSTOM:"custom",INTERNAL:"internal",NONE:"none"},t.PAGE_NAME={INDEX:"index",HIDDEN:"hidden",PREVIEW:"preview",CUSTOM:"custom",CATEGORY:"category",TAG_CATEGORY:"tagCategory",COLLECTION_LIST:"collectionList",COLLECTION_DETAIL:"collectionDetail",BROWSING_HISTORY:"browsingHistory",DOWNLOAD:"download",HOT_SALE_RANKING:"hotSaleRanking",EXPRESS_SALEPAGE:"expressSalePage",SEARCH:"search",NEWEST_SALE_PAGE:"newestSalePage",LINE_EXPRESS_RELAY:"lineExpressRelay",INLINE_WRAPPER:"inlineWrapper",LINE:"line",STREAM:"stream"}},"./node_modules/@91app/nineyi.utility.pagelink/dist/src/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||i(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),o(n("./node_modules/@91app/nineyi.utility.pagelink/dist/src/constants.js"),t),o(n("./node_modules/@91app/nineyi.utility.pagelink/dist/src/modules/pageInfo.module.js"),t)},"./node_modules/@91app/nineyi.utility.pagelink/dist/src/modules/pageInfo.module.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getPageUrl=t.getPageInfoByPageType=t.getPageInfoByPathRegex=t.PageInfoMap=void 0;var a=n("./node_modules/@91app/nineyi.utility.pagelink/dist/src/constants.js"),s=r(n("./node_modules/@91app/nineyi.utility.pagelink/dist/src/configs/pageInfo.config.js"));t.PageInfoMap=new Map([[a.PAGE_TYPE.INDEX,s.indexPageInfo],[a.PAGE_TYPE.CATEGORY,s.shopCategoryPageInfo],[a.PAGE_TYPE.SALEPAGE,s.salePageInfo],[a.PAGE_TYPE.ACTIVITY,s.activityPageInfo],[a.PAGE_TYPE.ECOUPON_LIST,s.ecouponList],[a.PAGE_TYPE.ECOUPON,s.ecouponDetail],[a.PAGE_TYPE.PROMOTION_LIST,s.promotionList],[a.PAGE_TYPE.PROMOTION,s.promotionDetail],[a.PAGE_TYPE.SHOP_STORE_LIST,s.shopStoreList],[a.PAGE_TYPE.SHOP_STORE_DETAIL,s.shopStoreDetail],[a.PAGE_TYPE.COUPON_LIST,s.couponList],[a.PAGE_TYPE.COUPON,s.couponDetail],[a.PAGE_TYPE.HOT_SALE_RANKING,s.hotSaleRanking],[a.PAGE_TYPE.SEARCH,s.search],[a.PAGE_TYPE.VIP_MEMBER_PROFILE,s.vipMemberProfile],[a.PAGE_TYPE.HIDDEN,s.hidden],[a.PAGE_TYPE.CUSTOM,s.custom],[a.PAGE_TYPE.PROMOTION_ENGINE,s.promotionEngine],[a.PAGE_TYPE.SHOP_INFO_MODULE_LIST,s.infoModuleList],[a.PAGE_TYPE.SHOP_INFO_MODULE_ARTICLE_LIST,s.infoModuleArticleList],[a.PAGE_TYPE.SHOP_INFO_MODULE_ARTICLE_DETAIL,s.infoModuleArticleDetail],[a.PAGE_TYPE.SHOP_INFO_MODULE_ALBUM_LIST,s.infoModuleAlbumList],[a.PAGE_TYPE.SHOP_INFO_MODULE_ALBUM_DETAIL,s.infoModuleAlbumDetail],[a.PAGE_TYPE.SHOP_INFO_MODULE_VIDEO_LIST,s.infoModuleVideoList],[a.PAGE_TYPE.SHOP_INFO_MODULE_VIDEO_DETAIL,s.infoModuleVideoDetail],[a.PAGE_TYPE.STORE_SIDEBAR_CUSTOM_LINK,s.storeSidebarCustomLink],[a.PAGE_TYPE.NEWEST_SALEPAGE,s.newestSalePage],[a.PAGE_TYPE.FS_EVENT,s.fsEvent],[a.PAGE_TYPE.LOYALTY_POINT_ECOUPON_LIST,s.loyaltyPointECouponList],[a.PAGE_TYPE.TAG_CATEGORY,s.tagCategory],[a.PAGE_TYPE.COLLECTION_VIEW_ALL,s.collectionViewAll],[a.PAGE_TYPE.COLLECTION_DETAIL,s.collectionDetail],[a.PAGE_TYPE.ECOUPON_HOW_TO_USE,s.eCouponHowToUse],[a.PAGE_TYPE.SHOPPING_CART,s.shoppingCart],[a.PAGE_TYPE.SHOPPING_CART_BATCH_INSERT,s.shoppingCartBatchInsert],[a.PAGE_TYPE.PAY_INDEX,s.payIndexPageInfo],[a.PAGE_TYPE.PAY_LANDING,s.payLandingPageInfo],[a.PAGE_TYPE.PAY_FINISH,s.payFinishPageInfo],[a.PAGE_TYPE.APP_DOWNLOAD,s.appDownloadPage],[a.PAGE_TYPE.UNKNOWN,s.unknownPageInfo],[a.PAGE_TYPE.LOGIN,s.loginIndexPageInfo],[a.PAGE_TYPE.TRADES_ORDER_LIST,s.tradesOrderList],[a.PAGE_TYPE.PRIVIEW,s.preview],[a.PAGE_TYPE.BROWSING_HISTORY,s.browsingHistory],[a.PAGE_TYPE.SHOP_INTRODUCE,s.shopIntroducePageInfo],[a.PAGE_TYPE.SHOP_INTRODUCE_SHOPPING_GUIDE,s.shopIntroduceShoppingGuide],[a.PAGE_TYPE.SHOP_INTRODUCE_CUSTOMER_SERVICE,s.shopIntroduceCustomerService],[a.PAGE_TYPE.VIP_MEMBER,s.vipMemberIndexPageInfo],[a.PAGE_TYPE.LOCATION_PICK_UP_SELECT_LOCATION,s.locationPickupSelectLocation],[a.PAGE_TYPE.OFFICIAL_BRAND_STORY,s.officialBrandStory],[a.PAGE_TYPE.QUESTION_INSERT,s.questionInsertPageInfo],[a.PAGE_TYPE.QUESTION_CUSTOMER_SERVICE_CENTER,s.questionCustomerServiceCenter],[a.PAGE_TYPE.MY_ACCOUNT_PRIVACY,s.myAccountPrivacy],[a.PAGE_TYPE.MY_ACCOUNT_VIP_MEMBER_BENEFITS,s.myAccountVipMemberBenefits],[a.PAGE_TYPE.MY_ACCOUNT_CHANGE_PASSWORD,s.myAccountChangePassword],[a.PAGE_TYPE.PROMOTION_GIFT,s.promotionGift],[a.PAGE_TYPE.LOYALTY_POINT_CENTER,s.loyaltyPointCenter],[a.PAGE_TYPE.ECOUPON_HISTORY,s.eCouponHistory],[a.PAGE_TYPE.ECOUPON_MY_ECOUPON,s.ecouponMyEcoupon],[a.PAGE_TYPE.TRACE_SALE_PAGE_LIST,s.traceSalePageList],[a.PAGE_TYPE.CANCEL_GOODS_REQUEST,s.cancelGoodsRequest],[a.PAGE_TYPE.RETURN_GOODS_REQUEST,s.returnGoodsRequest],[a.PAGE_TYPE.CHANGE_GOODS_REQUEST,s.changeGoodsRequest],[a.PAGE_TYPE.GAME_MODULE_EVENT,s.gameModuleEvent],[a.PAGE_TYPE.BACK_IN_STOCK_ALERT_LIST,s.backInStockAlertList],[a.PAGE_TYPE.SALEPAGE_COMMENT_LIST,s.salePageCommentList],[a.PAGE_TYPE.EXPRESS_SALEPAGE,s.expressSalePage],[a.PAGE_TYPE.LOYALTY_POINT_ECOUPON_DETAIL,s.loyaltyPointECouponDetail],[a.PAGE_TYPE.EXPRESS_CHECKOUT,s.expressCheckout],[a.PAGE_TYPE.EXPRESS_CHECKOUT_PAY_FINISH,s.payFinishExpressCheckout],[a.PAGE_TYPE.PREVIEW,s.preview],[a.PAGE_TYPE.PREPARATION,s.preparation],[a.PAGE_TYPE.SERVICEINFO,s.serviceInfo],[a.PAGE_TYPE.OFFICIAL_CLOSED,s.officialClosed],[a.PAGE_TYPE.ACTIVITY_CLOSED,s.activityClosed],[a.PAGE_TYPE.ACTIVITY_PREPARATION,s.activityPreparation],[a.PAGE_TYPE.INVITING_FRIENDS,s.invitingFriends],[a.PAGE_TYPE.INVITING_HISTORY,s.invitingHistory],[a.PAGE_TYPE.INLINE_WRAPPER,s.inlineWrapper],[a.PAGE_TYPE.BRAND_INDEX,s.brandIndexWrapper],[a.PAGE_TYPE.BRAND_PAGE,s.brandPageWrapper],[a.PAGE_TYPE.NOT_FOUND_PAGE,s.notFoundPage],[a.PAGE_TYPE.MEMBER_CARD_DESC,s.crmShopMemberCardDescPage],[a.PAGE_TYPE.OUTER_SLAES_ORDER,s.outerSalesOrder],[a.PAGE_TYPE.CONSUMPTION_HISTORY_ONLINE,s.consumptionHistoryOnline],[a.PAGE_TYPE.CONSUMPTION_HISTORY_OFFLINE,s.consumptionHistoryOffline],[a.PAGE_TYPE.WALLET_HISTORY_ALL,s.walletHistoryAll],[a.PAGE_TYPE.WALLET_HISTORY_CARD,s.walletHistoryCard],[a.PAGE_TYPE.WALLET_HISTORY_TOPPED,s.walletHistoryTopped],[a.PAGE_TYPE.POINT_HISTORY,s.pointHistory],[a.PAGE_TYPE.STAMP_RECORD_HISTORY,s.stampRecordHistory],[a.PAGE_TYPE.ECOUPON_CUSTOM_LIST,s.ecouponCustomList],[a.PAGE_TYPE.ECOUPON_ID_FOR_LOYALTY_POINT,s.ecouponIdForLoyaltyPoint],[a.PAGE_TYPE.ADD_ONS_SALEPAGE,s.addOnsSalePage],[a.PAGE_TYPE.EXTRA_PURCHASE_LIST,s.extraPurchaseList],[a.PAGE_TYPE.STREAM,s.streamPage]]);t.getPageInfoByPathRegex=function(e,n,i){if(!e)return s.unknownPageInfo;var o,r=n||"undefined"!=typeof window?window.location.search:"",c=i||"undefined"!=typeof window?window.location.hash:"";switch(!0){case/(\/v2\/official\/$)|(\/v2\/official$)|^$|(^\/$)|(\/v2\/official\/Index$)|(\/v2\/official\/Index\/)/gi.test(e):o=s.indexPageInfo;break;case/\/v2\/official\/salepagecategory\/*/gi.test(e):o=s.shopCategoryPageInfo;break;case/\/salepage\/index\/*/gi.test(e):o=s.salePageInfo;break;case/\/v2\/activity\/*/gi.test(e):o=s.activityPageInfo;break;case/\/preview\/*/gi.test(e):o=s.preview;break;case/\/ecoupon\/list\/*/gi.test(e):o=/TypeDef=ECouponCustom/gi.test(r)?s.ecouponCustomList:s.ecouponList;break;case/\/v2\/ecoupon\/detail\/*/gi.test(e):o=s.ecouponDetail;break;case/\/v2\/promotion\/list\/*/gi.test(e):o=s.promotionList;break;case/\/promotion\/detail\/*/gi.test(e):o=s.promotionDetail;break;case/\/v2\/promotion\/gift\/*/gi.test(e):o=s.promotionGift;break;case/\/v2\/shop\/storeList\/*/gi.test(e):o=s.shopStoreList;break;case/\/shop\/storeDetail\/*/gi.test(e):o=s.shopStoreDetail;break;case/\/ecoupon\/list\/coupon\/*/gi.test(e):o=s.couponList;break;case/\/coupon\/detail\/*/gi.test(e):o=s.couponDetail;break;case/\/shop\/hotSaleRanking\/*/gi.test(e):o=s.hotSaleRanking;break;case/\/search\/*/gi.test(e):o=s.search;break;case/\/v2\/vipMember\/profile\/*/gi.test(e):o=s.vipMemberProfile;break;case/\/hidden\/*/gi.test(e):o=s.hidden;break;case/\/page\/*/gi.test(e):o=s.custom;break;case/\/v2\/promotionengine\/detail\/*/gi.test(e):o=s.promotionEngine;break;case/\/v2\/shop\/InfoModuleList\/*/gi.test(e):o="#/AlbumList"===c?s.infoModuleAlbumList:"#/ArticleList"===c?s.infoModuleArticleList:"#/VideoList"===c?s.infoModuleVideoList:s.infoModuleList;break;case/\/Article\/Detail\/*/gi.test(e):o=s.infoModuleArticleDetail;break;case/\/Album\/Detail\/*/gi.test(e):o=s.infoModuleAlbumDetail;break;case/\/Video\/Detail\/*/gi.test(e):o=s.infoModuleVideoDetail;break;case/\/v2\/official\/newestSalePage\/*/gi.test(e):o=s.newestSalePage;break;case/\/fsevent\/*/gi.test(e):o=s.fsEvent;break;case/\/v2\/LoyaltyPoint\/ECouponList\/*/gi.test(e):o=s.loyaltyPointECouponList;break;case/\/v2\/LoyaltyPoint\/index\/*/gi.test(e):o=s.loyaltyPointCenter;break;case/\/v2\/LoyaltyPoint\/ECouponDetail\/*/gi.test(e):o=/eCouponId=/gi.test(r)?s.ecouponIdForLoyaltyPoint:s.loyaltyPointECouponDetail;break;case/\/tag\/category\/*/gi.test(e):o=s.tagCategory;break;case/\/collectionList\/*/gi.test(e):o=t.PageInfoMap.get(a.PAGE_TYPE.COLLECTION_VIEW_ALL);break;case/\/collectionDetail\/*/gi.test(e):o=t.PageInfoMap.get(a.PAGE_TYPE.COLLECTION_DETAIL);break;case/\/ecoupon\/howToUse\/*/gi.test(e):o=s.eCouponHowToUse;break;case/\/v2\/ShoppingCart\/BatchInsert*/gi.test(e):o=s.shoppingCartBatchInsert;break;case/\/v2\/ShoppingCart*/gi.test(e):o=s.shoppingCart;break;case/\/v2\/pay\/index\/*|\/v2\/pay$/gi.test(e):o=s.payIndexPageInfo;break;case/\/v2\/pay\/landing\/*/gi.test(e):o=s.payLandingPageInfo;break;case/\/v2\/pay\/finish\/*/gi.test(e):var l=(null==r?void 0:r.length)?r.slice(1).split("&").reduce((function(e,t){var n,i=t.split("="),o=i[0],r=i[1];return Object.assign(e,((n={})[o]=r,n))}),{}):null;o=(null==l?void 0:l.pageType)&&"express"===l.pageType?s.payFinishExpressCheckout:s.payFinishPageInfo;break;case/\/app\/download\/*/gi.test(e):o=s.appDownloadPage;break;case/\/v2\/LocationPickup\/SelectLocation\/*/gi.test(e):o=s.locationPickupSelectLocation;break;case/\/TraceSalePageList\/TraceSalePageList\/*/gi.test(e):o=s.traceSalePageList;break;case/\/Official\/BrandStory\/*/gi.test(e):o=s.officialBrandStory;break;case/\/shop\/introduce\/*/gi.test(e):/t=1/gi.test(r)?o=s.shopIntroducePageInfo:/t=2/gi.test(r)?o=s.shopIntroduceShoppingGuide:/t=3/gi.test(r)&&(o=s.shopIntroduceCustomerService);break;case/\/Help\/ServiceInfo\/*/gi.test(e):o=s.helpServicePageInfo;break;case/\/MyAccount\/Privacy\/*/gi.test(e):o=s.myAccountPrivacy;break;case/\/MyAccount\/VipMemberBenefits\/*/gi.test(e):o=s.myAccountVipMemberBenefits;break;case/\/MyAccount\/LocationBooks\/*/gi.test(e):o=s.myAccountLocationBooksPageInfo;break;case/\/V2\/TradesOrder\/TradesOrderList*/gi.test(e):o=s.tradesOrderList;break;case/\/V2\/TradesOrder\/TradesOrderDetail*/gi.test(e):o=s.tradesOrderDetail;break;case/\/ECoupon\/MyECoupon\/*/gi.test(e):o=s.ecouponMyEcoupon;break;case/\/ECoupon\/ECouponHistory\/*/gi.test(e):o=s.eCouponHistory;break;case/\/Question\/CustomerServiceCenter\/*/gi.test(e):o=s.questionCustomerServiceCenter;break;case/\/MyAccount\/InvoiceList\/*/gi.test(e):o=s.invoiceListPageInfo;break;case/\/V2\/MyAccount\/ChangePassword\/*/gi.test(e):o=s.myAccountChangePassword;break;case/\/V2\/VipMember\/AgreePrivacy\/*/gi.test(e):o=s.agreePrivacyPageInfo;break;case/\/V2\/VipMember\/EmailNotification\/*/gi.test(e):o=s.emailNotificationPageInfo;break;case/\/V2\/VipMember\/*/gi.test(e):o=s.vipMemberIndexPageInfo;break;case/\/Login\/Index\/*/gi.test(e):o=s.loginIndexPageInfo;break;case/\/Question\/QuestionInsert\/*/gi.test(e):o=s.questionInsertPageInfo;break;case/\/v2\/browsingHistory\/*/gi.test(e):o=s.browsingHistory;break;case/\/v2\/CancelGoodsRequest\/list*/gi.test(e):o=s.cancelGoodsRequest;break;case/\/v2\/ReturnGoodsRequest\/list*/gi.test(e):o=s.returnGoodsRequest;break;case/\/v2\/ChangeGoodsRequest\/list*/gi.test(e):o=s.changeGoodsRequest;break;case/\/V2\/GameModule\/*/gi.test(e):o=s.gameModuleEvent;break;case/\/v2\/BackInStockAlertList\/*/gi.test(e):o=s.backInStockAlertList;break;case/\/v2\/SalePageComment\/list*/gi.test(e):o=s.salePageCommentList;break;case/(\/cms\/liff\/tall\/expressSalePage\/*)|(\/catalog\/expressSalePage\/*)/gi.test(e):o=s.expressSalePage;break;case/\/v2\/checkouts\/*/gi.test(e):o=s.expressCheckout;break;case/\/v2\/Static\/Official\/OfficialPreparation/gi.test(e):o=s.preparation;break;case/\/service_info/gi.test(e):o=s.serviceInfo;break;case/\/V2\/Static\/Official\/Officialclose/gi.test(e):o=s.officialClosed;break;case/\/v2\/Static\/Activity\/Activityclosed/gi.test(e):o=s.activityClosed;break;case/\/v2\/Static\/Activity\/ActivityPreparation/gi.test(e):o=s.activityPreparation;break;case/\/404V2/gi.test(e):o=s.notFoundPage;break;case/\/V2\/MyAccount\/InvitingFriends/gi.test(e):o=s.invitingFriends;break;case/\/V2\/MyAccount\/InvitingHistory/gi.test(e):o=s.invitingHistory;break;case/\/catalog\/inlineWrapper/gi.test(e):o=s.inlineWrapper;break;case/\/catalog\/stream/gi.test(e):o=s.streamPage;break;case/\/V2\/Brand$/gi.test(e):o=s.brandIndexWrapper;break;case/\/V2\/Brand\/\S/gi.test(e):o=s.brandPageWrapper;break;case/\/V2\/CRMShopMemberCard\/Description/gi.test(e):o=s.crmShopMemberCardDescPage;break;case/\/v2\/MembershipCard\/OuterSalesOrder\/*/gi.test(e):o=c.includes("#/consumption-history/online")?s.consumptionHistoryOnline:c.includes("#/consumption-history/offline")?s.consumptionHistoryOffline:"#/wallet-history/all"===c?s.walletHistoryAll:"#/wallet-history/card"===c?s.walletHistoryCard:"#/wallet-history/topped"===c?s.walletHistoryTopped:"#/point-history"===c?s.pointHistory:"#/stampRecord-history"===c?s.stampRecordHistory:s.outerSalesOrder;break;case/\/AddOnsSalePage\/Index\/*/gi.test(e):o=s.addOnsSalePage;break;case/\/AddOnsSalePage\/ExtraPurchaseList\/*/gi.test(e):o=s.extraPurchaseList}return o||s.unknownPageInfo};t.getPageInfoByPageType=function(e){return t.PageInfoMap.get(e)||s.unknownPageInfo};t.getPageUrl=function(e,n,i){void 0===i&&(i={id:""});var o="//"+e,r=(t.PageInfoMap.get(n)||{}).routerPathFunc,a=r?r(i):"";return n.includes("P78_")?o+"/catalog/inlineWrapper/"+("RESERVATION"===n.split("_")[1]?"TableReservation":"TakeoutOrDelivery"):""+o+a}},"./node_modules/@91app/nineyi.utility.request/dist/src/index.js":function(e,t,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t},a=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(t){r(t)}}function s(e){try{c(i.throw(e))}catch(t){r(t)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))},s=this&&this.__generator||function(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(c){s=[6,c],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetchApi=t.requestBuilder=t.RequestMethod=void 0;var c,l=n("./node_modules/statuses/index.js"),u=r(n("./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/client.js")),d=n("./node_modules/@91app/nineyi.utility.request/dist/src/utility.js");!function(e){e.DELETE="DELETE",e.FORM="FORM",e.GET="GET",e.HEAD="HEAD",e.POST="POST",e.PUT="PUT"}(c=t.RequestMethod||(t.RequestMethod={}));var g=function(e,t,n){return n!==c.PUT&&n!==c.POST&&n!==c.DELETE||e.set("Content-Type","application/json"),t&&e.set(t),e};t.requestBuilder=function(e,t,n){void 0===n&&(n="");var i=t.headers,o=t.body,r=t.formData,a=t.method;if(a===c.GET){var s=u.get(e);return g(s,i,a).query(n)}if(a===c.POST){s=u.post(e);return g(s,i,a).query(n).send(o)}if(a===c.PUT){s=u.put(e);return g(s,i,a).query(n).send(o)}if(a===c.DELETE){s=u.delete(e);return g(s,i,a).query(n).send(o)}if(a===c.FORM){s=u.post(e);return g(s,i,a).query(n).send(r)}if(a===c.HEAD)return u.head(e).query(n)},t.fetchApi=function(e,n){return void 0===n&&(n={method:c.GET}),a(this,void 0,void 0,(function(){var i,o,r,a,c,u,g;return s(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),i=e.split("?")[0]||"",o=e.split("?")[1]||"",r=(0,t.requestBuilder)(i,n,o),a=n.timeout||{response:1e4,deadline:2e4},r?[4,r.timeout(a)]:[2,Promise.reject(new Error("request is null"))];case 1:return c=s.sent(),l.redirect[c.status]||l.retry[c.status]?[2,Promise.reject(new Error(c.body))]:[2,Promise.resolve(c.body)];case 2:return(u=s.sent()).timeout?(g=(n||{}).traceId,[2,Promise.reject((0,d.timeoutError)(u,g||""))]):[2,Promise.reject(u)];case 3:return[2]}}))}))}},"./node_modules/@91app/nineyi.utility.request/dist/src/utility.js":(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.timeoutError=void 0;t.timeoutError=function(e,t){return{name:"TimeoutError",message:(null==e?void 0:e.message)||"Connection timeout. Please try again.",code:"".concat(t,"_E001")}}},"./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/agent-base.js":e=>{"use strict";function t(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return n(e,t)}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var o=0,r=function(){};return{s:r,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==i.return||i.return()}finally{if(c)throw a}}}}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function i(){this._defaults=[]}for(var o=0,r=["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert","disableTLSCerts"];o<r.length;o++){const e=r[o];i.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return this._defaults.push({fn:e,args:n}),this}}i.prototype._setDefaults=function(e){var n,i=t(this._defaults);try{for(i.s();!(n=i.n()).done;){const t=n.value;e[t.fn](...t.args)}}catch(o){i.e(o)}finally{i.f()}},e.exports=i},"./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/client.js":(e,t,n)=>{"use strict";function i(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}let r;"undefined"!=typeof window?r=window:"undefined"==typeof self?(console.warn("Using browser-only version of superagent in non-browser environment"),r=void 0):r=self;const a=n("./node_modules/component-emitter/index.js"),s=n("./node_modules/fast-safe-stringify/index.js"),c=n("./node_modules/qs/lib/index.js"),l=n("./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/request-base.js"),u=n("./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/utils.js"),d=u.isObject,g=u.mixin,p=u.hasOwn,m=n("./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/response-base.js"),f=n("./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/agent-base.js");function I(){}e.exports=function(e,n){return"function"==typeof n?new t.Request("GET",e).end(n):1===arguments.length?new t.Request("GET",e):new t.Request(e,n)};const h=t=e.exports;t.Request=_,h.getXHR=()=>{if(r.XMLHttpRequest)return new r.XMLHttpRequest;throw new Error("Browser-only version of superagent could not find XHR")};const b="".trim?e=>e.trim():e=>e.replace(/(^\s*|\s*$)/g,"");function y(e){if(!d(e))return e;const t=[];for(const n in e)p(e,n)&&C(t,n,e[n]);return t.join("&")}function C(e,t,n){if(void 0!==n)if(null!==n)if(Array.isArray(n)){var o,r=i(n);try{for(r.s();!(o=r.n()).done;){C(e,t,o.value)}}catch(a){r.e(a)}finally{r.f()}}else if(d(n))for(const i in n)p(n,i)&&C(e,`${t}[${i}]`,n[i]);else e.push(encodeURI(t)+"="+encodeURIComponent(n));else e.push(encodeURI(t))}function v(e){const t={},n=e.split("&");let i,o;for(let r=0,a=n.length;r<a;++r)i=n[r],o=i.indexOf("="),-1===o?t[decodeURIComponent(i)]="":t[decodeURIComponent(i.slice(0,o))]=decodeURIComponent(i.slice(o+1));return t}function B(e){return/[/+]json($|[^-\w])/i.test(e)}function A(e){this.req=e,this.xhr=this.req.xhr,this.text="HEAD"!==this.req.method&&(""===this.xhr.responseType||"text"===this.xhr.responseType)||void 0===this.xhr.responseType?this.xhr.responseText:null,this.statusText=this.req.xhr.statusText;let t=this.xhr.status;1223===t&&(t=204),this._setStatusProperties(t),this.headers=function(e){const t=e.split(/\r?\n/),n={};let i,o,r,a;for(let s=0,c=t.length;s<c;++s)o=t[s],i=o.indexOf(":"),-1!==i&&(r=o.slice(0,i).toLowerCase(),a=b(o.slice(i+1)),n[r]=a);return n}(this.xhr.getAllResponseHeaders()),this.header=this.headers,this.header["content-type"]=this.xhr.getResponseHeader("content-type"),this._setHeaderProperties(this.header),null===this.text&&e._responseType?this.body=this.xhr.response:this.body="HEAD"===this.req.method?null:this._parseBody(this.text?this.text:this.xhr.response)}function _(e,t){const n=this;this._query=this._query||[],this.method=e,this.url=t,this.header={},this._header={},this.on("end",(()=>{let e,t=null,i=null;try{i=new A(n)}catch(o){return t=new Error("Parser is unable to parse the response"),t.parse=!0,t.original=o,n.xhr?(t.rawResponse=void 0===n.xhr.responseType?n.xhr.responseText:n.xhr.response,t.status=n.xhr.status?n.xhr.status:null,t.statusCode=t.status):(t.rawResponse=null,t.status=null),n.callback(t)}n.emit("response",i);try{n._isResponseOK(i)||(e=new Error(i.statusText||i.text||"Unsuccessful HTTP response"))}catch(o){e=o}e?(e.original=t,e.response=i,e.status=e.status||i.status,n.callback(e,i)):n.callback(null,i)}))}h.serializeObject=y,h.parseString=v,h.types={html:"text/html",json:"application/json",xml:"text/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},h.serialize={"application/x-www-form-urlencoded":c.stringify,"application/json":s},h.parse={"application/x-www-form-urlencoded":v,"application/json":JSON.parse},g(A.prototype,m.prototype),A.prototype._parseBody=function(e){let t=h.parse[this.type];return this.req._parser?this.req._parser(this,e):(!t&&B(this.type)&&(t=h.parse["application/json"]),t&&e&&(e.length>0||e instanceof Object)?t(e):null)},A.prototype.toError=function(){const e=this.req,t=e.method,n=e.url,i=`cannot ${t} ${n} (${this.status})`,o=new Error(i);return o.status=this.status,o.method=t,o.url=n,o},h.Response=A,a(_.prototype),g(_.prototype,l.prototype),_.prototype.type=function(e){return this.set("Content-Type",h.types[e]||e),this},_.prototype.accept=function(e){return this.set("Accept",h.types[e]||e),this},_.prototype.auth=function(e,t,n){1===arguments.length&&(t=""),"object"==typeof t&&null!==t&&(n=t,t=""),n||(n={type:"function"==typeof btoa?"basic":"auto"});const i=n.encoder?n.encoder:e=>{if("function"==typeof btoa)return btoa(e);throw new Error("Cannot use basic auth, btoa is not a function")};return this._auth(e,t,n,i)},_.prototype.query=function(e){return"string"!=typeof e&&(e=y(e)),e&&this._query.push(e),this},_.prototype.attach=function(e,t,n){if(t){if(this._data)throw new Error("superagent can't mix .send() and .attach()");this._getFormData().append(e,t,n||t.name)}return this},_.prototype._getFormData=function(){return this._formData||(this._formData=new r.FormData),this._formData},_.prototype.callback=function(e,t){if(this._shouldRetry(e,t))return this._retry();const n=this._callback;this.clearTimeout(),e&&(this._maxRetries&&(e.retries=this._retries-1),this.emit("error",e)),n(e,t)},_.prototype.crossDomainError=function(){const e=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");e.crossDomain=!0,e.status=this.status,e.method=this.method,e.url=this.url,this.callback(e)},_.prototype.agent=function(){return console.warn("This is not supported in browser version of superagent"),this},_.prototype.ca=_.prototype.agent,_.prototype.buffer=_.prototype.ca,_.prototype.write=()=>{throw new Error("Streaming is not supported in browser version of superagent")},_.prototype.pipe=_.prototype.write,_.prototype._isHost=function(e){return e&&"object"==typeof e&&!Array.isArray(e)&&"[object Object]"!==Object.prototype.toString.call(e)},_.prototype.end=function(e){this._endCalled&&console.warn("Warning: .end() was called twice. This is not supported in superagent"),this._endCalled=!0,this._callback=e||I,this._finalizeQueryString(),this._end()},_.prototype._setUploadTimeout=function(){const e=this;this._uploadTimeout&&!this._uploadTimeoutTimer&&(this._uploadTimeoutTimer=setTimeout((()=>{e._timeoutError("Upload timeout of ",e._uploadTimeout,"ETIMEDOUT")}),this._uploadTimeout))},_.prototype._end=function(){if(this._aborted)return this.callback(new Error("The request has been aborted even before .end() was called"));const e=this;this.xhr=h.getXHR();const t=this.xhr;let n=this._formData||this._data;this._setTimeouts(),t.addEventListener("readystatechange",(()=>{const n=t.readyState;if(n>=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4!==n)return;let i;try{i=t.status}catch(o){i=0}if(!i){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}));const i=(t,n)=>{n.total>0&&(n.percent=n.loaded/n.total*100,100===n.percent&&clearTimeout(e._uploadTimeoutTimer)),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.addEventListener("progress",i.bind(null,"download")),t.upload&&t.upload.addEventListener("progress",i.bind(null,"upload"))}catch(o){}t.upload&&this._setUploadTimeout();try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(o){return this.callback(o)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!==this.method&&"HEAD"!==this.method&&"string"!=typeof n&&!this._isHost(n)){const e=this._header["content-type"];let t=this._serializer||h.serialize[e?e.split(";")[0]:""];!t&&B(e)&&(t=h.serialize["application/json"]),t&&(n=t(n))}for(const r in this.header)null!==this.header[r]&&p(this.header,r)&&t.setRequestHeader(r,this.header[r]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0===n?null:n)},h.agent=()=>new f;for(var S=0,G=["GET","POST","OPTIONS","PATCH","PUT","DELETE"];S<G.length;S++){const e=G[S];f.prototype[e.toLowerCase()]=function(t,n){const i=new h.Request(e,t);return this._setDefaults(i),n&&i.end(n),i}}function Q(e,t,n){const i=h("DELETE",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}f.prototype.del=f.prototype.delete,h.get=(e,t,n)=>{const i=h("GET",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.head=(e,t,n)=>{const i=h("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&i.query(t),n&&i.end(n),i},h.options=(e,t,n)=>{const i=h("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.del=Q,h.delete=Q,h.patch=(e,t,n)=>{const i=h("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.post=(e,t,n)=>{const i=h("POST",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i},h.put=(e,t,n)=>{const i=h("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&i.send(t),n&&i.end(n),i}},"./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/request-base.js":(e,t,n)=>{"use strict";const i=n("?5642"),o=n("./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/utils.js"),r=o.isObject,a=o.hasOwn;function s(){}e.exports=s,s.prototype.clearTimeout=function(){return clearTimeout(this._timer),clearTimeout(this._responseTimeoutTimer),clearTimeout(this._uploadTimeoutTimer),delete this._timer,delete this._responseTimeoutTimer,delete this._uploadTimeoutTimer,this},s.prototype.parse=function(e){return this._parser=e,this},s.prototype.responseType=function(e){return this._responseType=e,this},s.prototype.serialize=function(e){return this._serializer=e,this},s.prototype.timeout=function(e){if(!e||"object"!=typeof e)return this._timeout=e,this._responseTimeout=0,this._uploadTimeout=0,this;for(const t in e)if(a(e,t))switch(t){case"deadline":this._timeout=e.deadline;break;case"response":this._responseTimeout=e.response;break;case"upload":this._uploadTimeout=e.upload;break;default:console.warn("Unknown timeout option",t)}return this},s.prototype.retry=function(e,t){return 0!==arguments.length&&!0!==e||(e=1),e<=0&&(e=0),this._maxRetries=e,this._retries=0,this._retryCallback=t,this};const c=new Set(["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"]),l=new Set([408,413,429,500,502,503,504,521,522,524]);s.prototype._shouldRetry=function(e,t){if(!this._maxRetries||this._retries++>=this._maxRetries)return!1;if(this._retryCallback)try{const n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(n){console.error(n)}if(t&&t.status&&l.has(t.status))return!0;if(e){if(e.code&&c.has(e.code))return!0;if(e.timeout&&"ECONNABORTED"===e.code)return!0;if(e.crossDomain)return!0}return!1},s.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this.timedoutError=null,this._end()},s.prototype.then=function(e,t){if(!this._fullfilledPromise){const e=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(((t,n)=>{e.on("abort",(()=>{if(this._maxRetries&&this._maxRetries>this._retries)return;if(this.timedout&&this.timedoutError)return void n(this.timedoutError);const e=new Error("Aborted");e.code="ABORTED",e.status=this.status,e.method=this.method,e.url=this.url,n(e)})),e.end(((e,i)=>{e?n(e):t(i)}))}))}return this._fullfilledPromise.then(e,t)},s.prototype.catch=function(e){return this.then(void 0,e)},s.prototype.use=function(e){return e(this),this},s.prototype.ok=function(e){if("function"!=typeof e)throw new Error("Callback required");return this._okCallback=e,this},s.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},s.prototype.get=function(e){return this._header[e.toLowerCase()]},s.prototype.getHeader=s.prototype.get,s.prototype.set=function(e,t){if(r(e)){for(const t in e)a(e,t)&&this.set(t,e[t]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},s.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},s.prototype.field=function(e,t,n){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(r(e)){for(const t in e)a(e,t)&&this.field(t,e[t]);return this}if(Array.isArray(t)){for(const n in t)a(t,n)&&this.field(e,t[n]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=String(t)),n?this._getFormData().append(e,t,n):this._getFormData().append(e,t),this},s.prototype.abort=function(){if(this._aborted)return this;if(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req){if(i.gte(process.version,"v13.0.0")&&i.lt(process.version,"v14.0.0"))throw new Error("Superagent does not work in v13 properly with abort() due to Node.js core changes");this.req.abort()}return this.clearTimeout(),this.emit("abort"),this},s.prototype._auth=function(e,t,n,i){switch(n.type){case"basic":this.set("Authorization",`Basic ${i(`${e}:${t}`)}`);break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization",`Bearer ${e}`)}return this},s.prototype.withCredentials=function(e){return void 0===e&&(e=!0),this._withCredentials=e,this},s.prototype.redirects=function(e){return this._maxRedirects=e,this},s.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw new TypeError("Invalid argument");return this._maxResponseSize=e,this},s.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},s.prototype.send=function(e){const t=r(e);let n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw new Error("Can't merge these send calls");if(t&&r(this._data))for(const i in e){if("bigint"==typeof e[i]&&!e[i].toJSON)throw new Error("Cannot serialize BigInt value to json");a(e,i)&&(this._data[i]=e[i])}else{if("bigint"==typeof e)throw new Error("Cannot send value of type BigInt");"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],n&&(n=n.toLowerCase().trim()),this._data="application/x-www-form-urlencoded"===n?this._data?`${this._data}&${e}`:e:(this._data||"")+e):this._data=e}return!t||this._isHost(e)||n||this.type("json"),this},s.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},s.prototype._finalizeQueryString=function(){const e=this._query.join("&");if(e&&(this.url+=(this.url.includes("?")?"&":"?")+e),this._query.length=0,this._sort){const e=this.url.indexOf("?");if(e>=0){const t=this.url.slice(e+1).split("&");"function"==typeof this._sort?t.sort(this._sort):t.sort(),this.url=this.url.slice(0,e)+"?"+t.join("&")}}},s.prototype._appendQueryString=()=>{console.warn("Unsupported")},s.prototype._timeoutError=function(e,t,n){if(this._aborted)return;const i=new Error(`${e+t}ms exceeded`);i.timeout=t,i.code="ECONNABORTED",i.errno=n,this.timedout=!0,this.timedoutError=i,this.abort(),this.callback(i)},s.prototype._setTimeouts=function(){const e=this;this._timeout&&!this._timer&&(this._timer=setTimeout((()=>{e._timeoutError("Timeout of ",e._timeout,"ETIME")}),this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout((()=>{e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")}),this._responseTimeout))}},"./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/response-base.js":(e,t,n)=>{"use strict";const i=n("./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/utils.js");function o(){}e.exports=o,o.prototype.get=function(e){return this.header[e.toLowerCase()]},o.prototype._setHeaderProperties=function(e){const t=e["content-type"]||"";this.type=i.type(t);const n=i.params(t);for(const i in n)Object.prototype.hasOwnProperty.call(n,i)&&(this[i]=n[i]);this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(o){}},o.prototype._setStatusProperties=function(e){const t=Math.trunc(e/100);this.statusCode=e,this.status=this.statusCode,this.statusType=t,this.info=1===t,this.ok=2===t,this.redirect=3===t,this.clientError=4===t,this.serverError=5===t,this.error=(4===t||5===t)&&this.toError(),this.created=201===e,this.accepted=202===e,this.noContent=204===e,this.badRequest=400===e,this.unauthorized=401===e,this.notAcceptable=406===e,this.forbidden=403===e,this.notFound=404===e,this.unprocessableEntity=422===e}},"./node_modules/@91app/nineyi.utility.request/node_modules/superagent/lib/utils.js":(e,t)=>{"use strict";function n(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0,r=function(){};return{s:r,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,c=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){c=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(c)throw a}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}t.type=e=>e.split(/ *; */).shift(),t.params=e=>{const t={};var i,o=n(e.split(/ *; */));try{for(o.s();!(i=o.n()).done;){const e=i.value.split(/ *= */),n=e.shift(),o=e.shift();n&&o&&(t[n]=o)}}catch(r){o.e(r)}finally{o.f()}return t},t.parseLinks=e=>{const t={};var i,o=n(e.split(/ *, */));try{for(o.s();!(i=o.n()).done;){const e=i.value.split(/ *; */),n=e[0].slice(1,-1);t[e[1].split(/ *= */)[1].slice(1,-1)]=n}}catch(r){o.e(r)}finally{o.f()}return t},t.cleanHeader=(e,t)=>(delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e),t.isObject=e=>null!==e&&"object"==typeof e,t.hasOwn=Object.hasOwn||function(e,t){if(null==e)throw new TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(new Object(e),t)},t.mixin=(e,n)=>{for(const i in n)t.hasOwn(n,i)&&(e[i]=n[i])}},"./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/@91app/nine1.chat.ui/style.css":(e,t,n)=>{(e.exports=n("./node_modules/css-loader/dist/runtime/api.js")(!1)).push([e.id,'.chat-ui-root *,.chat-ui-root :after,.chat-ui-root :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.chat-ui-root ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/.chat-ui-root *,.chat-ui-root :after,.chat-ui-root :before{border:0 solid #e5e7eb;box-sizing:border-box}.chat-ui-root :after,.chat-ui-root :before{--tw-content:""}.chat-ui-root,.chat-ui-root :host{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:rgba(0,0,0,0)}.chat-ui-root{line-height:inherit;margin:0}.chat-ui-root hr{border-top-width:1px;color:inherit;height:0}.chat-ui-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.chat-ui-root h1,.chat-ui-root h2,.chat-ui-root h3,.chat-ui-root h4,.chat-ui-root h5,.chat-ui-root h6{font-size:inherit;font-weight:inherit}.chat-ui-root a{color:inherit;text-decoration:inherit}.chat-ui-root b,.chat-ui-root strong{font-weight:bolder}.chat-ui-root code,.chat-ui-root kbd,.chat-ui-root pre,.chat-ui-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}.chat-ui-root small{font-size:80%}.chat-ui-root sub,.chat-ui-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.chat-ui-root sub{bottom:-0.25em}.chat-ui-root sup{top:-0.5em}.chat-ui-root table{border-collapse:collapse;border-color:inherit;text-indent:0}.chat-ui-root button,.chat-ui-root input,.chat-ui-root optgroup,.chat-ui-root select,.chat-ui-root textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}.chat-ui-root button,.chat-ui-root select{text-transform:none}.chat-ui-root button,.chat-ui-root input:where([type=button]),.chat-ui-root input:where([type=reset]),.chat-ui-root input:where([type=submit]){-webkit-appearance:button;background-color:rgba(0,0,0,0);background-image:none}.chat-ui-root :-moz-focusring{outline:auto}.chat-ui-root :-moz-ui-invalid{box-shadow:none}.chat-ui-root progress{vertical-align:baseline}.chat-ui-root ::-webkit-inner-spin-button,.chat-ui-root ::-webkit-outer-spin-button{height:auto}.chat-ui-root [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.chat-ui-root ::-webkit-search-decoration{-webkit-appearance:none}.chat-ui-root ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.chat-ui-root summary{display:list-item}.chat-ui-root blockquote,.chat-ui-root dd,.chat-ui-root dl,.chat-ui-root figure,.chat-ui-root h1,.chat-ui-root h2,.chat-ui-root h3,.chat-ui-root h4,.chat-ui-root h5,.chat-ui-root h6,.chat-ui-root hr,.chat-ui-root p,.chat-ui-root pre{margin:0}.chat-ui-root fieldset{margin:0;padding:0}.chat-ui-root legend{padding:0}.chat-ui-root menu,.chat-ui-root ol,.chat-ui-root ul{list-style:none;margin:0;padding:0}.chat-ui-root dialog{padding:0}.chat-ui-root textarea{resize:vertical}.chat-ui-root input::-moz-placeholder,.chat-ui-root textarea::-moz-placeholder{color:#9ca3af;opacity:1}.chat-ui-root input::placeholder,.chat-ui-root textarea::placeholder{color:#9ca3af;opacity:1}.chat-ui-root [role=button],.chat-ui-root button{cursor:pointer}.chat-ui-root :disabled{cursor:default}.chat-ui-root audio,.chat-ui-root canvas,.chat-ui-root embed,.chat-ui-root iframe,.chat-ui-root img,.chat-ui-root object,.chat-ui-root svg,.chat-ui-root video{display:block;vertical-align:middle}.chat-ui-root img,.chat-ui-root video{height:auto;max-width:100%}.chat-ui-root [hidden]:where(:not([hidden=until-found])){display:none}.chat-ui-root .\\!container{margin-left:auto !important;margin-right:auto !important;padding-left:2rem !important;padding-right:2rem !important;width:100% !important}.chat-ui-root .container{margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;width:100%}@media(min-width: 1400px){.chat-ui-root .\\!container{max-width:1400px !important}.chat-ui-root .container{max-width:1400px}}.chat-ui-root .visible{visibility:visible}.chat-ui-root .invisible{visibility:hidden}.chat-ui-root .collapse{visibility:collapse}.chat-ui-root .static{position:static}.chat-ui-root .fixed{position:fixed}.chat-ui-root .absolute{position:absolute}.chat-ui-root .relative{position:relative}.chat-ui-root .inset-0{inset:0}.chat-ui-root .-right-2{right:-0.5rem}.chat-ui-root .-top-2{top:-0.5rem}.chat-ui-root .bottom-0{bottom:0}.chat-ui-root .left-0{left:0}.chat-ui-root .left-1\\/2{left:50%}.chat-ui-root .left-2{left:.5rem}.chat-ui-root .right-0{right:0}.chat-ui-root .top-0{top:0}.chat-ui-root .top-1\\/2{top:50%}.chat-ui-root .top-2{top:.5rem}.chat-ui-root .z-10{z-index:10}.chat-ui-root .z-50{z-index:50}.chat-ui-root .my-2{margin-bottom:.5rem;margin-top:.5rem}.chat-ui-root .mb-1{margin-bottom:.25rem}.chat-ui-root .mb-\\[10px\\]{margin-bottom:10px}.chat-ui-root .ml-10{margin-left:2.5rem}.chat-ui-root .ml-auto{margin-left:auto}.chat-ui-root .mr-10{margin-right:2.5rem}.chat-ui-root .mr-auto{margin-right:auto}.chat-ui-root .mt-1{margin-top:.25rem}.chat-ui-root .flex{display:flex}.chat-ui-root .inline-flex{display:inline-flex}.chat-ui-root .hidden{display:none}.chat-ui-root .aspect-square{aspect-ratio:1/1}.chat-ui-root .aspect-video{aspect-ratio:16/9}.chat-ui-root .h-1{height:.25rem}.chat-ui-root .h-10{height:2.5rem}.chat-ui-root .h-11{height:2.75rem}.chat-ui-root .h-12{height:3rem}.chat-ui-root .h-2\\.5{height:.625rem}.chat-ui-root .h-20{height:5rem}.chat-ui-root .h-3{height:.75rem}.chat-ui-root .h-4{height:1rem}.chat-ui-root .h-5{height:1.25rem}.chat-ui-root .h-6{height:1.5rem}.chat-ui-root .h-8{height:2rem}.chat-ui-root .h-9{height:2.25rem}.chat-ui-root .h-\\[1px\\]{height:1px}.chat-ui-root .h-auto{height:auto}.chat-ui-root .h-fit{height:-moz-fit-content;height:fit-content}.chat-ui-root .h-full{height:100%}.chat-ui-root .max-h-\\[200px\\]{max-height:200px}.chat-ui-root .max-h-\\[58px\\]{max-height:58px}.chat-ui-root .max-h-\\[90vh\\]{max-height:90vh}.chat-ui-root .min-h-0{min-height:0}.chat-ui-root .min-h-max{min-height:-moz-max-content;min-height:max-content}.chat-ui-root .w-10{width:2.5rem}.chat-ui-root .w-12{width:3rem}.chat-ui-root .w-2\\.5{width:.625rem}.chat-ui-root .w-20{width:5rem}.chat-ui-root .w-3{width:.75rem}.chat-ui-root .w-4{width:1rem}.chat-ui-root .w-5{width:1.25rem}.chat-ui-root .w-6{width:1.5rem}.chat-ui-root .w-72{width:18rem}.chat-ui-root .w-8{width:2rem}.chat-ui-root .w-9{width:2.25rem}.chat-ui-root .w-\\[120px\\]{width:120px}.chat-ui-root .w-\\[280px\\]{width:280px}.chat-ui-root .w-\\[300px\\]{width:300px}.chat-ui-root .w-\\[30px\\]{width:30px}.chat-ui-root .w-auto{width:auto}.chat-ui-root .w-full{width:100%}.chat-ui-root .w-max{width:-moz-max-content;width:max-content}.chat-ui-root .min-w-0{min-width:0}.chat-ui-root .min-w-\\[48px\\]{min-width:48px}.chat-ui-root .max-w-\\[280px\\]{max-width:280px}.chat-ui-root .max-w-\\[300px\\]{max-width:300px}.chat-ui-root .max-w-\\[calc\\(100\\%_-_4rem\\)\\]{max-width:calc(100% - 4rem)}.chat-ui-root .max-w-full{max-width:100%}.chat-ui-root .flex-1{flex:1 1 0%}.chat-ui-root .flex-shrink-0,.chat-ui-root .shrink-0{flex-shrink:0}.chat-ui-root .-translate-x-1\\/2{--tw-translate-x:-50%}.chat-ui-root .-translate-x-1\\/2,.chat-ui-root .-translate-y-1\\/2{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.chat-ui-root .-translate-y-1\\/2{--tw-translate-y:-50%}.chat-ui-root .cursor-default{cursor:default}.chat-ui-root .cursor-pointer{cursor:pointer}.chat-ui-root .touch-none{touch-action:none}.chat-ui-root .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-ui-root .resize-none{resize:none}.chat-ui-root .flex-row-reverse{flex-direction:row-reverse}.chat-ui-root .flex-col{flex-direction:column}.chat-ui-root .items-start{align-items:flex-start}.chat-ui-root .items-end{align-items:flex-end}.chat-ui-root .items-center{align-items:center}.chat-ui-root .justify-start{justify-content:flex-start}.chat-ui-root .justify-end{justify-content:flex-end}.chat-ui-root .justify-center{justify-content:center}.chat-ui-root .justify-between{justify-content:space-between}.chat-ui-root .gap-1{gap:.25rem}.chat-ui-root .gap-2{gap:.5rem}.chat-ui-root .gap-3{gap:.75rem}.chat-ui-root .gap-4{gap:1rem}.chat-ui-root .space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.chat-ui-root .self-start{align-self:flex-start}.chat-ui-root .self-end{align-self:flex-end}.chat-ui-root .self-center{align-self:center}.chat-ui-root .overflow-hidden{overflow:hidden}.chat-ui-root .overflow-x-auto{overflow-x:auto}.chat-ui-root .overflow-y-auto{overflow-y:auto}.chat-ui-root .overflow-y-hidden{overflow-y:hidden}.chat-ui-root .whitespace-nowrap{white-space:nowrap}.chat-ui-root .whitespace-pre-wrap{white-space:pre-wrap}.chat-ui-root .break-words{overflow-wrap:break-word}.chat-ui-root .break-all{word-break:break-all}.chat-ui-root .rounded{border-radius:.25rem}.chat-ui-root .rounded-\\[4px\\]{border-radius:4px}.chat-ui-root .rounded-\\[inherit\\]{border-radius:inherit}.chat-ui-root .rounded-full{border-radius:9999px}.chat-ui-root .rounded-lg{border-radius:var(--radius)}.chat-ui-root .rounded-md{border-radius:calc(var(--radius) - 2px)}.chat-ui-root .rounded-none{border-radius:0}.chat-ui-root .border{border-width:1px}.chat-ui-root .border-0{border-width:0}.chat-ui-root .border-b{border-bottom-width:1px}.chat-ui-root .border-l{border-left-width:1px}.chat-ui-root .border-t{border-top-width:1px}.chat-ui-root .border-\\[\\#D8D8D8\\]{--tw-border-opacity:1;border-color:rgb(216, 216, 216, var(--tw-border-opacity, 1))}.chat-ui-root .border-blue-500{--tw-border-opacity:1;border-color:rgb(59, 130, 246, var(--tw-border-opacity, 1))}.chat-ui-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229, 231, 235, var(--tw-border-opacity, 1))}.chat-ui-root .border-gray-400{--tw-border-opacity:1;border-color:rgb(156, 163, 175, var(--tw-border-opacity, 1))}.chat-ui-root .border-input{border-color:hsl(var(--input))}.chat-ui-root .border-transparent{border-color:rgba(0,0,0,0)}.chat-ui-root .border-b-\\[\\#F3F4F6\\]{--tw-border-opacity:1;border-bottom-color:rgb(243, 244, 246, var(--tw-border-opacity, 1))}.chat-ui-root .border-l-transparent{border-left-color:rgba(0,0,0,0)}.chat-ui-root .border-t-transparent{border-top-color:rgba(0,0,0,0)}.chat-ui-root .bg-\\[\\#22394B\\]{--tw-bg-opacity:1;background-color:rgb(34, 57, 75, var(--tw-bg-opacity, 1))}.chat-ui-root .bg-\\[\\#2D3E715E\\]{background-color:rgba(45,62,113,.368627451)}.chat-ui-root .bg-\\[\\#F3F4F6\\]{--tw-bg-opacity:1;background-color:rgb(243, 244, 246, var(--tw-bg-opacity, 1))}.chat-ui-root .bg-\\[\\#FDFDFD\\]{--tw-bg-opacity:1;background-color:rgb(253, 253, 253, var(--tw-bg-opacity, 1))}.chat-ui-root .bg-\\[\\#FF5353\\]{--tw-bg-opacity:1;background-color:rgb(255, 83, 83, var(--tw-bg-opacity, 1))}.chat-ui-root .bg-background{background-color:hsl(var(--background))}.chat-ui-root .bg-black{--tw-bg-opacity:1;background-color:rgb(0, 0, 0, var(--tw-bg-opacity, 1))}.chat-ui-root .bg-black\\/40{background-color:rgba(0,0,0,.4)}.chat-ui-root .bg-black\\/50{background-color:rgba(0,0,0,.5)}.chat-ui-root .bg-border{background-color:hsl(var(--border))}.chat-ui-root .bg-chat-date\\/30{background-color:hsl(var(--chat-date)/0.3)}.chat-ui-root .bg-chat-receiver-bg{background-color:hsl(var(--chat-receiver-bg))}.chat-ui-root .bg-chat-sender-bg{background-color:hsl(var(--chat-sender-bg))}.chat-ui-root .bg-destructive{background-color:hsl(var(--destructive))}.chat-ui-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243, 244, 246, var(--tw-bg-opacity, 1))}.chat-ui-root .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249, 250, 251, var(--tw-bg-opacity, 1))}.chat-ui-root .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107, 114, 128, var(--tw-bg-opacity, 1))}.chat-ui-root .bg-muted{background-color:hsl(var(--muted))}.chat-ui-root .bg-popover{background-color:hsl(var(--popover))}.chat-ui-root .bg-primary{background-color:hsl(var(--primary))}.chat-ui-root .bg-secondary{background-color:hsl(var(--secondary))}.chat-ui-root .bg-transparent{background-color:rgba(0,0,0,0)}.chat-ui-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255, 255, 255, var(--tw-bg-opacity, 1))}.chat-ui-root .bg-white\\/50{background-color:hsla(0,0%,100%,.5)}.chat-ui-root .bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.chat-ui-root .from-black\\/50{--tw-gradient-from:rgba(0,0,0,.5) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.chat-ui-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.chat-ui-root .object-contain{-o-object-fit:contain;object-fit:contain}.chat-ui-root .object-cover{-o-object-fit:cover;object-fit:cover}.chat-ui-root .p-0{padding:0}.chat-ui-root .p-2{padding:.5rem}.chat-ui-root .p-3{padding:.75rem}.chat-ui-root .p-4{padding:1rem}.chat-ui-root .p-\\[1px\\]{padding:1px}.chat-ui-root .px-1{padding-left:.25rem;padding-right:.25rem}.chat-ui-root .px-2{padding-left:.5rem;padding-right:.5rem}.chat-ui-root .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.chat-ui-root .px-3{padding-left:.75rem;padding-right:.75rem}.chat-ui-root .px-4{padding-left:1rem;padding-right:1rem}.chat-ui-root .px-6{padding-left:1.5rem;padding-right:1.5rem}.chat-ui-root .px-8{padding-left:2rem;padding-right:2rem}.chat-ui-root .py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.chat-ui-root .py-1{padding-bottom:.25rem;padding-top:.25rem}.chat-ui-root .py-2{padding-bottom:.5rem;padding-top:.5rem}.chat-ui-root .py-3{padding-bottom:.75rem;padding-top:.75rem}.chat-ui-root .py-4{padding-bottom:1rem;padding-top:1rem}.chat-ui-root .py-8{padding-bottom:2rem;padding-top:2rem}.chat-ui-root .pb-1{padding-bottom:.25rem}.chat-ui-root .pb-2{padding-bottom:.5rem}.chat-ui-root .pb-3{padding-bottom:.75rem}.chat-ui-root .pb-6{padding-bottom:1.5rem}.chat-ui-root .pt-2{padding-top:.5rem}.chat-ui-root .pt-3{padding-top:.75rem}.chat-ui-root .pt-8{padding-top:2rem}.chat-ui-root .text-center{text-align:center}.chat-ui-root .text-4xl{font-size:2.25rem;line-height:2.5rem}.chat-ui-root .text-base{font-size:1rem;line-height:1.5rem}.chat-ui-root .text-sm{font-size:.875rem;line-height:1.25rem}.chat-ui-root .text-xs{font-size:.75rem;line-height:1rem}.chat-ui-root .font-medium{font-weight:500}.chat-ui-root .font-normal{font-weight:400}.chat-ui-root .font-semibold{font-weight:600}.chat-ui-root .leading-\\[18px\\]{line-height:18px}.chat-ui-root .text-\\[\\#22394B\\]{--tw-text-opacity:1;color:rgb(34, 57, 75, var(--tw-text-opacity, 1))}.chat-ui-root .text-\\[\\#667079\\]{--tw-text-opacity:1;color:rgb(102, 112, 121, var(--tw-text-opacity, 1))}.chat-ui-root .text-black{--tw-text-opacity:1;color:rgb(0, 0, 0, var(--tw-text-opacity, 1))}.chat-ui-root .text-blue-500{--tw-text-opacity:1;color:rgb(59, 130, 246, var(--tw-text-opacity, 1))}.chat-ui-root .text-blue-600{--tw-text-opacity:1;color:rgb(37, 99, 235, var(--tw-text-opacity, 1))}.chat-ui-root .text-chat-date{color:hsl(var(--chat-date))}.chat-ui-root .text-chat-receiver-link{color:hsl(var(--chat-receiver-link))}.chat-ui-root .text-chat-receiver-text{color:hsl(var(--chat-receiver-text))}.chat-ui-root .text-chat-sender-link{color:hsl(var(--chat-sender-link))}.chat-ui-root .text-chat-sender-text{color:hsl(var(--chat-sender-text))}.chat-ui-root .text-chat-time{color:hsl(var(--chat-time))}.chat-ui-root .text-destructive-foreground{color:hsl(var(--destructive-foreground))}.chat-ui-root .text-foreground{color:hsl(var(--foreground))}.chat-ui-root .text-gray-400{--tw-text-opacity:1;color:rgb(156, 163, 175, var(--tw-text-opacity, 1))}.chat-ui-root .text-gray-500{--tw-text-opacity:1;color:rgb(107, 114, 128, var(--tw-text-opacity, 1))}.chat-ui-root .text-gray-600{--tw-text-opacity:1;color:rgb(75, 85, 99, var(--tw-text-opacity, 1))}.chat-ui-root .text-gray-700{--tw-text-opacity:1;color:rgb(55, 65, 81, var(--tw-text-opacity, 1))}.chat-ui-root .text-gray-900{--tw-text-opacity:1;color:rgb(17, 24, 39, var(--tw-text-opacity, 1))}.chat-ui-root .text-muted-foreground{color:hsl(var(--muted-foreground))}.chat-ui-root .text-popover-foreground{color:hsl(var(--popover-foreground))}.chat-ui-root .text-primary{color:hsl(var(--primary))}.chat-ui-root .text-primary-foreground{color:hsl(var(--primary-foreground))}.chat-ui-root .text-secondary-foreground{color:hsl(var(--secondary-foreground))}.chat-ui-root .text-white{--tw-text-opacity:1;color:rgb(255, 255, 255, var(--tw-text-opacity, 1))}.chat-ui-root .underline{text-decoration-line:underline}.chat-ui-root .underline-offset-4{text-underline-offset:4px}.chat-ui-root .opacity-0{opacity:0}.chat-ui-root .opacity-100{opacity:1}.chat-ui-root .opacity-50{opacity:.5}.chat-ui-root .shadow-\\[0_0_10px_0_rgba\\(0\\,0\\,0\\,0\\.25\\)\\]{--tw-shadow:0 0 10px 0 rgba(0,0,0,.25);--tw-shadow-colored:0 0 10px 0 var(--tw-shadow-color)}.chat-ui-root .shadow-\\[0_0_10px_0_rgba\\(0\\,0\\,0\\,0\\.25\\)\\],.chat-ui-root .shadow-lg{box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-shadow)}.chat-ui-root .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.chat-ui-root .shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.chat-ui-root .shadow-md,.chat-ui-root .shadow-none{box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-shadow)}.chat-ui-root .shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.chat-ui-root .shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)),var(--tw-shadow)}.chat-ui-root .outline-none{outline:2px solid rgba(0,0,0,0);outline-offset:2px}.chat-ui-root .outline{outline-style:solid}.chat-ui-root .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.chat-ui-root .transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.chat-ui-root .transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.chat-ui-root .transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.chat-ui-root .duration-300{transition-duration:.3s}.chat-ui-root .ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.chat-ui-root .duration-300{animation-duration:.3s}.chat-ui-root .ease-in-out{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.chat-ui-root .\\[-ms-overflow-style\\:none\\]{-ms-overflow-style:none}.chat-ui-root .\\[scrollbar-width\\:none\\]{scrollbar-width:none}.chat-ui-root{--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:0.5rem;--chat-sender-bg:220 30% 46%;--chat-sender-text:0 0% 100%;--chat-sender-link:0 0% 100%;--chat-receiver-bg:0 0% 100%;--chat-receiver-text:0 0% 0%;--chat-receiver-link:217 91% 60%;--chat-time:220 6% 64%;--chat-date:0 0% 60%}.chat-ui-root .chat-ui-root .admin{--chat-sender-bg:220 20% 50%;--chat-sender-text:0 0% 100%;--chat-receiver-bg:214 100% 94%;--chat-receiver-text:0 0% 0%}.chat-ui-root .placeholder\\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156, 163, 175, var(--tw-text-opacity, 1))}.chat-ui-root .placeholder\\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156, 163, 175, var(--tw-text-opacity, 1))}.chat-ui-root .placeholder\\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.chat-ui-root .placeholder\\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.chat-ui-root .hover\\:bg-accent:hover{background-color:hsl(var(--accent))}.chat-ui-root .hover\\:bg-black\\/50:hover{background-color:rgba(0,0,0,.5)}.chat-ui-root .hover\\:bg-destructive\\/90:hover{background-color:hsl(var(--destructive)/0.9)}.chat-ui-root .hover\\:bg-secondary\\/80:hover{background-color:hsl(var(--secondary)/0.8)}.chat-ui-root .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209, 213, 219, var(--tw-text-opacity, 1))}.chat-ui-root .hover\\:underline:hover{text-decoration-line:underline}.chat-ui-root .focus\\:outline-none:focus{outline:2px solid rgba(0,0,0,0);outline-offset:2px}.chat-ui-root .focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}.chat-ui-root .focus\\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.chat-ui-root .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.chat-ui-root .focus-visible\\:outline-none:focus-visible{outline:2px solid rgba(0,0,0,0);outline-offset:2px}.chat-ui-root .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}.chat-ui-root .focus-visible\\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0, 0, 0, 0))}.chat-ui-root .focus-visible\\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.chat-ui-root .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.chat-ui-root .disabled\\:pointer-events-none:disabled{pointer-events:none}.chat-ui-root .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.chat-ui-root .disabled\\:opacity-50:disabled{opacity:.5}.chat-ui-root .data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation-duration:.15s;animation-name:enter;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.chat-ui-root .data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation-duration:.15s;animation-name:exit;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.chat-ui-root .data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.chat-ui-root .data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.chat-ui-root .data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.chat-ui-root .data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.chat-ui-root .data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.chat-ui-root .data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.chat-ui-root .data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.chat-ui-root .data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}@media(min-width: 768px){.chat-ui-root .md\\:text-sm{font-size:.875rem;line-height:1.25rem}}.chat-ui-root .\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}.chat-ui-root .\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.chat-ui-root .\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}',""])},"./node_modules/@91app/nine1.chat.ui/style.css":(e,t,n)=>{"use strict";var i=n("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),o=n.n(i),r=n("./node_modules/style-loader/dist/runtime/styleDomAPI.js"),a=n.n(r),s=n("./node_modules/style-loader/dist/runtime/insertBySelector.js"),c=n.n(s),l=n("./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"),u=n.n(l),d=n("./node_modules/style-loader/dist/runtime/insertStyleElement.js"),g=n.n(d),p=n("./node_modules/style-loader/dist/runtime/styleTagTransform.js"),m=n.n(p),f=n("./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./node_modules/@91app/nine1.chat.ui/style.css"),I=n.n(f),h={};h.styleTagTransform=m(),h.setAttributes=u(),h.insert=c().bind(null,"head"),h.domAPI=a(),h.insertStyleElement=g();o()(I(),h),I()&&I().locals&&I().locals},"./node_modules/@91app/agatha-client/lib/index.cjs.js":e=>{"use strict";e.exports=class{constructor({projectId:e,logName:t,labels:n,clientInfo:i,onSuccess:o,onError:r}){this.projectId=e,this.logName=t,this.labels=n,this.clientInfo=i,this.onSuccess=o,this.onError=r}sendLogs(e){fetch("https://agatha-log-service-kk33tpavpa-de.a.run.app/v1/log",{headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:this.projectId,logName:this.logName,labels:this.labels,clientInfo:this.clientInfo,entries:e}),method:"POST"}).then((()=>{this.onSuccess&&this.onSuccess(e)})).catch((t=>{this.onError&&this.onError(t,e)}))}updateClientInfo(e){this.clientInfo=Object.assign(Object.assign({},this.clientInfo),e)}}},"./node_modules/@91app/nine1.lib.jsi/dist/index.js":(e,t,n)=>{"use strict";n.d(t,{AH:()=>p,Ay:()=>Z,r2:()=>b,u_:()=>y,xI:()=>I});var i,o=function(e,t){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},o(e,t)},r=function(){return r=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},r.apply(this,arguments)};function a(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))}function s(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}"function"==typeof SuppressedError&&SuppressedError,function(e){e.AppVersionNotFound="AppVersionNotFound",e.UnsupportedFunctionVersion="UnsupportedFunctionVersion",e.UnsupportedEventVersion="UnsupportedEventVersion",e.TriggerAppNotSupported="TriggerAppNotSupported",e.SendTrackingNotSupported="SendTrackingNotSupported",e.SetAppNotSupported="SetAppNotSupported",e.PaymentNotSupported="PaymentNotSupported",e.UnknownError="UnknownError"}(i||(i={}));var c,l,u,d,g,p,m,f,I,h,b,y,C,v=function(e){function t(t){var n=t.message,o=t.event,r=t.stack,a=t.code,s=void 0===a?i.UnknownError:a,c=e.call(this,n)||this;return c.event=o,c.code=s,c.stack=r,c.name="JsiError",c}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error),B=function(){function e(){this.listeners=new Set}return e.prototype.subscribe=function(e){this.listeners.add(e)},e.prototype.unsubscribe=function(e){this.listeners.delete(e)},e.prototype.notify=function(e){this.listeners.forEach((function(t){return t(e)}))},e.prototype.clear=function(){this.listeners.clear()},e}();!function(e){e.PXPay="PXPay",e.Line="Line",e.JKOPay="JKOPay",e.FBMessenger="FBMessenger",e.PayMe="PayMe",e.GooglePay="GooglePay",e.ICashPay="ICashPay",e.EasyWallet="EasyWallet",e.WeChatPayHK="WeChatPayHK",e.PoyaPay="PoyaPay",e.Atome="Atome",e.BoCPay="BoCPay",e.PXPayPlus="PXPayPlus",e.OpenWallet="OpenWallet",e.FamilyMartOnlinePay="FamilyMartOnlinePay"}(c||(c={})),function(e){e.GetAppInfo="GetAppInfo",e.TriggerWeb="TriggerWeb",e.TriggerApp="TriggerApp",e.Payment="Payment",e.SetApp="SetApp",e.SendTracking="SendTracking"}(l||(l={})),function(e){e.Check3rdPartyAppStatus="Check3rdPartyAppStatus",e.GetAppVersion="GetAppVersion"}(u||(u={})),function(e){e.LaunchApplePay="LaunchApplePay",e.LaunchEasyWallet="LaunchEasyWallet",e.LaunchGooglePay="LaunchGooglePay",e.LaunchAliPay="LaunchAliPay",e.LaunchWeChatPay="LaunchWeChatPay",e.Launch2C2P="Launch2C2P",e.SetStripeClientSecret="SetStripeClientSecret"}(d||(d={})),function(e){e.Launch3rdPartyApp="Launch3rdPartyApp",e.RequestInstall3rdPartyApp="RequestInstall3rdPartyApp",e.CloseWebView="CloseWebView",e.UpdateCurrencyRate="UpdateCurrencyRate",e.AddToWishList="AddToWishList",e.RemoveFromWishList="RemoveFromWishList",e.AddToBasket="AddToBasket",e.ShowToast="ShowToast",e.ShowPopup="ShowPopup",e.Redirect="Redirect",e.UpdateCartBadge="UpdateCartBadge",e.ShowMemberBarcodePopup="ShowMemberBarcodePopup",e.LaunchWallet="LaunchWallet",e.OpenLiveChat="OpenLiveChat"}(g||(g={})),function(e){e.HeaderBackAction="HeaderBackAction"}(p||(p={})),function(e){e.CartViewed="CartViewed",e.CheckoutProgress="CheckoutProgress",e.AddToCart="AddToCart",e.RemoveFromCart="RemoveFromCart",e.AddToWishList="AddToWishList",e.RemoveFromWishList="RemoveFromWishList",e.BeginCheckOut="BeginCheckOut",e.PaymentMethod="PaymentMethod",e.ShippingMethod="ShippingMethod",e.EcommercePurchase="EcommercePurchase",e.TrackCart="TrackCart",e.SelectContent="SelectContent",e.CartCleared="CartCleared",e.Refund="Refund",e.CancelOrder="CancelOrder",e.PageViewed="PageViewed",e.ViewItemList="ViewItemList"}(m||(m={})),function(e){e[e.view_cart=1]="view_cart",e[e.confirm_cart_list=2]="confirm_cart_list"}(f||(f={})),function(e){e.OnBackPressed="OnBackPressed",e.RefreshOuterSalesOrder="RefreshOuterSalesOrder",e.RefreshShoppingCart="RefreshShoppingCart"}(I||(I={})),function(e){e.success="success",e.alert="alert",e.error="error",e.plain="plain"}(h||(h={})),function(e){e.Back="Back",e.Close="Close",e.Nothing="Nothing"}(b||(b={})),function(e){e.JsiBack="JsiBack",e.NativeBack="NativeBack",e.Nothing="Nothing"}(y||(y={}));var A,_,S,G,Q,E={functionVersion:"23.7.0",events:(C={},C[u.Check3rdPartyAppStatus]={version:"23.7.0"},C[u.GetAppVersion]={version:"23.7.0"},C)},F={functionVersion:"23.7.0",events:(A={},A[d.Launch2C2P]={version:"24.2.0"},A[d.LaunchAliPay]={version:"23.9.0"},A[d.LaunchApplePay]={version:"23.7.0",paymentServiceProvider:"24.4.0"},A[d.LaunchEasyWallet]={version:"23.7.0"},A[d.LaunchGooglePay]={version:"23.7.0",paymentServiceProvider:"24.13.0"},A[d.LaunchWeChatPay]={version:"23.9.0"},A[d.SetStripeClientSecret]={version:"24.13.0"},A)},w={functionVersion:"23.7.0",events:(_={},_[m.AddToCart]={version:"23.7.0"},_[m.AddToWishList]={version:"23.7.0"},_[m.BeginCheckOut]={version:"23.7.0"},_[m.CancelOrder]={version:"24.9.0"},_[m.CartCleared]={version:"23.7.0"},_[m.CartViewed]={version:"23.7.0"},_[m.CheckoutProgress]={version:"23.7.0"},_[m.EcommercePurchase]={version:"23.7.0"},_[m.PaymentMethod]={version:"23.7.0"},_[m.Refund]={version:"24.9.0"},_[m.RemoveFromCart]={version:"23.11.0"},_[m.RemoveFromWishList]={version:"23.7.0"},_[m.SelectContent]={version:"23.9.0"},_[m.ShippingMethod]={version:"23.7.0"},_[m.TrackCart]={version:"23.7.0"},_[m.PageViewed]={version:"24.4.0"},_[m.ViewItemList]={version:"23.7.0"},_)},T={functionVersion:"23.7.0",events:(S={},S[p.HeaderBackAction]={version:"23.7.0"},S)},x={GetAppInfo:E,TriggerApp:{functionVersion:"23.7.0",events:(G={},G[g.AddToBasket]={version:"24.12.0"},G[g.AddToWishList]={version:"23.7.0"},G[g.CloseWebView]={version:"23.7.0"},G[g.Launch3rdPartyApp]={version:"23.7.0"},G[g.Redirect]={version:"24.3.0"},G[g.RemoveFromWishList]={version:"23.7.0"},G[g.RequestInstall3rdPartyApp]={version:"23.7.0"},G[g.ShowPopup]={version:"24.12.0"},G[g.ShowToast]={version:"24.12.0"},G[g.UpdateCurrencyRate]={version:"24.3.0"},G[g.UpdateCartBadge]={version:"24.12.0"},G[g.ShowMemberBarcodePopup]={version:"25.1.0"},G[g.LaunchWallet]={version:"25.1.0"},G[g.OpenLiveChat]={version:"25.3.0"},G)},Payment:F,SetApp:T,SendTracking:w},k=function(e,t,n){var i,o;void 0===n&&(n="version");var r=x[e];return null!==(o=null===(i=null==r?void 0:r.events[t])||void 0===i?void 0:i[n])&&void 0!==o?o:null};!function(e){e[e.Greater=1]="Greater",e[e.Less=-1]="Less",e[e.Equal=0]="Equal"}(Q||(Q={}));var N=function(e){var t=new RegExp(/^\d+\.\d+(\.\d+)?[a-z]?$/i);return!!e&&t.test(e)},O=function(e,t,n){try{var i=function(e,t){if(!(e&&t&&N(e)&&N(t)))throw new Error("Invalid argument, not a valid app version");for(var n=e.split("."),i=t.split("."),o=0;o<Math.max(n.length,i.length);o+=1){var r=n[o]?Number(n[o]):0,a=i[o]?Number(i[o]):0;if(r>a)return Q.Greater;if(r<a)return Q.Less;var s=n[o]&&/[a-z]/i.test(n[o])?n[o].replace(/\d/g,""):"",c=i[o]&&/[a-z]/i.test(i[o])?i[o].replace(/\d/g,""):"";if(s>c)return Q.Greater;if(s<c)return Q.Less}return Q.Equal}(e,t);switch(n){case">":return i===Q.Greater;case"<":return i===Q.Less;case"=":return i===Q.Equal;case">=":return i!==Q.Less;case"<=":return i!==Q.Greater;default:throw new Error("Invalid operator: ".concat(n))}}catch(e){return!1}},Z=function(){function e(e){var t,n=this;this.errorHandler=null,this.androidExecutor=null,this.iOSExecutor=null,this.config=void 0,this.appVersion=null,this.isSendEventAllowed=function(){return n.executable&&!!n.getAppVersionFromCookie()},this.check3rdPartyAppStatus=function(e){return a(n,void 0,void 0,(function(){var t;return s(this,(function(n){return t=this.getPayloadString(u.Check3rdPartyAppStatus,{appName:e}),[2,this.getAppInfo(t)]}))}))},this.getAppVersionFromCookie=function(){var e,t;try{return null!==(t=null===(e=RegExp("(^|; )appVer=([^;]*)").exec(document.cookie))||void 0===e?void 0:e[2])&&void 0!==t?t:null}catch(e){return null}},this.getAppVersion=function(){return a(n,void 0,void 0,(function(){var e,t,n,o,a,c;return s(this,(function(s){switch(s.label){case 0:if(this.appVersion)return[2,this.appVersion];s.label=1;case 1:return s.trys.push([1,3,,4]),e=this.getPayloadString(u.GetAppVersion),[4,this.getAppInfo(e)];case 2:if(t=s.sent())return n=r(r({},t),{appVer:null!==(c=t.appVer)&&void 0!==c?c:t.appVersion}),this.appVersion=n,[2,n];if(o=this.getAppVersionFromCookie())return[2,{appVer:o,osVer:"",browserUserAgent:""}];throw new v({code:i.AppVersionNotFound,message:"App version not found"});case 3:return a=s.sent(),[2,Promise.reject(a)];case 4:return[2]}}))}))},this.requestInstall3rdPartyApp=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(g.RequestInstall3rdPartyApp,{appName:e}),[4,this.triggerApp(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,g.RequestInstall3rdPartyApp),[3,3];case 3:return[2]}}))}))},this.launch3rdPartyApp=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(g.Launch3rdPartyApp,{appName:e}),[4,this.triggerApp(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,g.Launch3rdPartyApp),[3,3];case 3:return[2]}}))}))},this.TriggerAppPageView=function(e,t,i,o,r){return a(n,void 0,void 0,(function(){var n,a,c;return s(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),n={eventType:m.PageViewed,data:{viewType:e,viewTitle:t,viewId:i||"",isPopupView:!1,viewFrom:o||"",contentSource:r||""}},a=JSON.stringify(n),[4,this.sendTracking(a)];case 1:return s.sent(),[3,3];case 2:return c=s.sent(),this.handleError(c,m.PageViewed),[3,3];case 3:return[2]}}))}))},this.viewItemList=function(e){return a(n,void 0,void 0,(function(){var t,n,i,o,r,a,c,l,u;return s(this,(function(s){switch(s.label){case 0:return s.trys.push([0,2,,3]),t=e.viewType,n=e.viewTitle,i=e.viewId,o=e.contentType,r=e.contentSource,a=e.items,c={eventType:m.ViewItemList,data:{viewType:t,viewId:i,contentSource:r,contentType:o,items:a,viewTitle:n||""}},l=JSON.stringify(c),[4,this.sendTracking(l)];case 1:return s.sent(),[3,3];case 2:return u=s.sent(),this.handleError(u,m.ViewItemList),[3,3];case 3:return[2]}}))}))},this.cartViewed=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.CartViewed,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.CartViewed),[3,3];case 3:return[2]}}))}))},this.checkoutProgress=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.CheckoutProgress,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.CheckoutProgress),[3,3];case 3:return[2]}}))}))},this.beginCheckOut=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.BeginCheckOut,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.BeginCheckOut),[3,3];case 3:return[2]}}))}))},this.addToCart=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.AddToCart,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.AddToCart),[3,3];case 3:return[2]}}))}))},this.removeFromCart=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.RemoveFromCart,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.RemoveFromCart),[3,3];case 3:return[2]}}))}))},this.addToWishList=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.AddToWishList,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.AddToWishList),[3,3];case 3:return[2]}}))}))},this.removeFromWishList=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.RemoveFromWishList,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.RemoveFromWishList),[3,3];case 3:return[2]}}))}))},this.paymentMethod=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.PaymentMethod,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.PaymentMethod),[3,3];case 3:return[2]}}))}))},this.shippingMethod=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.ShippingMethod,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.ShippingMethod),[3,3];case 3:return[2]}}))}))},this.ecommercePurchase=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.EcommercePurchase,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.EcommercePurchase),[3,3];case 3:return[2]}}))}))},this.trackCart=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.TrackCart,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.TrackCart),[3,3];case 3:return[2]}}))}))},this.selectContent=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.SelectContent,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.SelectContent),[3,3];case 3:return[2]}}))}))},this.cartCleared=function(){return a(n,void 0,void 0,(function(){var e,t;return s(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=this.getPayloadString(m.CartCleared),[4,this.sendTracking(e)];case 1:return n.sent(),[3,3];case 2:return t=n.sent(),this.handleError(t,m.CartCleared),[3,3];case 3:return[2]}}))}))},this.refund=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.Refund,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.Refund),[3,3];case 3:return[2]}}))}))},this.cancelOrder=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(m.CancelOrder,e),[4,this.sendTracking(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,m.CancelOrder),[3,3];case 3:return[2]}}))}))},this.setAppHeaderIcon=function(e){var t=e.ios,i=e.android;return a(n,void 0,void 0,(function(){var e,n;return s(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),e=this.isIOS?this.getPayloadString(t.eventType,t.data):this.getPayloadString(i.eventType,i.data),[4,this.setApp(e)];case 1:return o.sent(),[3,3];case 2:return n=o.sent(),this.handleError(n,this.isIOS?t.eventType:i.eventType),[3,3];case 3:return[2]}}))}))},this.closeWebView=function(){return a(n,void 0,void 0,(function(){var e,t;return s(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=this.getPayloadString(g.CloseWebView),[4,this.triggerApp(e)];case 1:return n.sent(),[3,3];case 2:return t=n.sent(),this.handleError(t,g.CloseWebView),[3,3];case 3:return[2]}}))}))},this.redirect=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(g.Redirect,e),[4,this.triggerApp(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,g.Redirect),[3,3];case 3:return[2]}}))}))},this.openLiveChat=function(e,t){return void 0===t&&(t=""),a(n,void 0,void 0,(function(){var n,i;return s(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),n=this.getPayloadString(g.OpenLiveChat,{vendor:e,query:{message:t}}),[4,this.triggerApp(n)];case 1:return o.sent(),[3,3];case 2:return i=o.sent(),this.handleError(i,g.OpenLiveChat),[3,3];case 3:return[2]}}))}))},this.triggerWebAction=function(e){window.triggerWeb=null,window.triggerWeb=function(t){return e(t)}},this.launchEasyWallet=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(d.LaunchEasyWallet,{url:e},"EasyWallet"),[4,this.payment(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,d.LaunchEasyWallet),[3,3];case 3:return[2]}}))}))},this.launchApplePay=function(e,t){return a(n,void 0,void 0,(function(){var n,i,o,r,a;return s(this,(function(s){switch(s.label){case 0:n={totalPayment:e.toString()},s.label=1;case 1:return s.trys.push([1,4,,5]),[4,this.getAppVersion()];case 2:return i=s.sent(),o=k(l.Payment,d.LaunchApplePay,"paymentServiceProvider"),(null==i?void 0:i.appVer)&&o&&O(i.appVer,o,">=")&&Object.assign(n,{paymentServiceProvider:t}),r=this.getPayloadString(d.LaunchApplePay,n,"ApplePay"),[4,this.payment(r)];case 3:return s.sent(),[3,5];case 4:return a=s.sent(),this.handleError(a,d.LaunchApplePay),[3,5];case 5:return[2]}}))}))},this.setStripeClientSecret=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(d.SetStripeClientSecret,e),[4,this.payment(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,d.SetStripeClientSecret),[3,3];case 3:return[2]}}))}))},this.launchGooglePay=function(e,t){return a(n,void 0,void 0,(function(){var n,i,o,r,a;return s(this,(function(s){switch(s.label){case 0:n={totalPayment:e.toString()},s.label=1;case 1:return s.trys.push([1,4,,5]),[4,this.getAppVersion()];case 2:return i=s.sent(),o=k(l.Payment,d.LaunchGooglePay,"paymentServiceProvider"),(null==i?void 0:i.appVer)&&O(i.appVer,o,">=")&&Object.assign(n,{paymentServiceProvider:t}),r=this.getPayloadString(d.LaunchGooglePay,n,"GooglePay"),[4,this.payment(r)];case 3:return s.sent(),[3,5];case 4:return a=s.sent(),this.handleError(a,d.LaunchGooglePay),[3,5];case 5:return[2]}}))}))},this.launchAliPay=function(e,t){return a(n,void 0,void 0,(function(){var n,i;return s(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),n=this.getPayloadString(d.LaunchAliPay,{launchUrl:e,payChannelUrl:t},"AliPay"),[4,this.payment(n)];case 1:return o.sent(),[3,3];case 2:return i=o.sent(),this.handleError(i,d.LaunchAliPay),[3,3];case 3:return[2]}}))}))},this.launchWeChatPay=function(e,t){return a(n,void 0,void 0,(function(){var n,i;return s(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),n=this.getPayloadString(d.LaunchWeChatPay,{launchUrl:e,payChannelUrl:t},"WeChatPay"),[4,this.payment(n)];case 1:return o.sent(),[3,3];case 2:return i=o.sent(),this.handleError(i,d.LaunchWeChatPay),[3,3];case 3:return[2]}}))}))},this.updateCurrencyRate=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(g.UpdateCurrencyRate,{currencyRates:e}),[4,this.triggerApp(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,g.UpdateCurrencyRate),[3,3];case 3:return[2]}}))}))},this.launch2C2P=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(d.Launch2C2P,{launchUrl:e},"2C2P"),[4,this.payment(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,d.Launch2C2P),[3,3];case 3:return[2]}}))}))},this.onJsiResult=function(e){window.onJsiResult=null,window.onJsiResult=function(t){return e(t)}},this.addToBasket=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(g.AddToBasket,e),[4,this.triggerApp(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,g.AddToBasket),[3,3];case 3:return[2]}}))}))},this.showToast=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(g.ShowToast,e),[4,this.triggerApp(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,g.ShowToast),[3,3];case 3:return[2]}}))}))},this.showPopup=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(g.ShowPopup,e.showPopupData,e.requestCode),[4,this.triggerApp(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,g.ShowPopup),[3,3];case 3:return[2]}}))}))},this.addToWishListJsi=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(g.AddToWishList,{itemId:e}),[4,this.triggerApp(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,g.AddToWishList),[3,3];case 3:return[2]}}))}))},this.removeFromWishListJsi=function(e){return a(n,void 0,void 0,(function(){var t,n;return s(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),t=this.getPayloadString(g.RemoveFromWishList,{itemId:e}),[4,this.triggerApp(t)];case 1:return i.sent(),[3,3];case 2:return n=i.sent(),this.handleError(n,g.RemoveFromWishList),[3,3];case 3:return[2]}}))}))},this.updateCartBadgeJsi=function(){return a(n,void 0,void 0,(function(){var e,t;return s(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=this.getPayloadString(g.UpdateCartBadge),[4,this.triggerApp(e)];case 1:return n.sent(),[3,3];case 2:return t=n.sent(),this.handleError(t,g.UpdateCartBadge),[3,3];case 3:return[2]}}))}))},this.showBarcodePopupJsi=function(){return a(n,void 0,void 0,(function(){var e,t;return s(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=this.getPayloadString(g.ShowMemberBarcodePopup),[4,this.triggerApp(e)];case 1:return n.sent(),[3,3];case 2:return t=n.sent(),this.handleError(t,g.ShowMemberBarcodePopup),[3,3];case 3:return[2]}}))}))},this.showWalletJsi=function(){return a(n,void 0,void 0,(function(){var e,t;return s(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),e=this.getPayloadString(g.LaunchWallet,{target:"StoredValue"}),[4,this.triggerApp(e)];case 1:return n.sent(),[3,3];case 2:return t=n.sent(),this.handleError(t,g.LaunchWallet),[3,3];case 3:return[2]}}))}))},"undefined"!=typeof window?(this.androidExecutor=window.android||null,this.iOSExecutor=(null===(t=window.webkit)||void 0===t?void 0:t.messageHandlers)||null,this.errorHandler=new B,this.config=e,this.addDebugConsoleToAllMethods()):console.warn("Jsi is not supported in non-web environment.")}return Object.defineProperty(e.prototype,"isAndroid",{get:function(){return!!this.androidExecutor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isIOS",{get:function(){return!!this.iOSExecutor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"executableOS",{get:function(){return{android:!!this.androidExecutor,iOS:!!this.iOSExecutor}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"executable",{get:function(){return this.isAndroid||this.isIOS},enumerable:!1,configurable:!0}),e.prototype.addDebugConsoleToAllMethods=function(){var e,t=this;try{if(!(null===(e=this.config)||void 0===e?void 0:e.debug))return;Object.getOwnPropertyNames(Object.getPrototypeOf(this)).filter((function(e){return"function"==typeof t[e]&&"constructor"!==e})).forEach((function(e){var n=t[e];t[e]=function(){for(var i=[],o=0;o<arguments.length;o++)i[o]=arguments[o];return console.log({methodName:e,args:i}),n.apply(t,i)}}))}catch(e){this.handleError(e,"addDebugConsoleToAllMethods")}},e.prototype.getPayloadString=function(e,t,n){var i={eventType:e,data:t,requestCode:n};return JSON.stringify(i)},e.prototype.getAppInfo=function(e){var t,n,i,o,r;return a(this,void 0,void 0,(function(){var a;return s(this,(function(s){switch(s.label){case 0:return this.isSendEventAllowed()?this.isIOS?[4,null===(i=null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.getAppInfo)||void 0===n?void 0:n.postMessage)||void 0===i?void 0:i.call(n,e)]:[3,2]:(console.warn("Current platform is not supported. This SDK only works in App WebView environment."),[2,null]);case 1:return[2,(a=s.sent())?JSON.parse(a):null];case 2:if(this.isAndroid)return[2,(a=null===(r=null===(o=this.androidExecutor)||void 0===o?void 0:o.getAppInfo)||void 0===r?void 0:r.call(o,e))?JSON.parse(a):null];s.label=3;case 3:return[2,null]}}))}))},e.prototype.triggerApp=function(e){var t,n,o;return a(this,void 0,void 0,(function(){var r;return s(this,(function(a){switch(a.label){case 0:return this.isSendEventAllowed()?(r=JSON.parse(e).eventType,[4,this.checkVersion(l.TriggerApp,r)]):(console.warn("Current platform is not supported. This SDK only works in App WebView environment."),[2]);case 1:return a.sent(),this.isIOS&&(null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.triggerApp)||void 0===n?void 0:n.postMessage)?[4,this.iOSExecutor.triggerApp.postMessage(e)]:[3,3];case 2:case 4:return[2,a.sent()];case 3:return this.isAndroid&&(null===(o=this.androidExecutor)||void 0===o?void 0:o.triggerApp)?[4,this.androidExecutor.triggerApp(e)]:[3,5];case 5:throw new v({code:i.TriggerAppNotSupported,message:"TriggerApp method not supported on this platform",event:r})}}))}))},e.prototype.sendTracking=function(e){var t,n,o;return a(this,void 0,void 0,(function(){var r;return s(this,(function(a){switch(a.label){case 0:return this.isSendEventAllowed()?(r=JSON.parse(e).eventType,[4,this.checkVersion(l.SendTracking,r)]):(console.warn("Current platform is not supported. This SDK only works in App WebView environment."),[2]);case 1:return a.sent(),this.isIOS&&(null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.sendTracking)||void 0===n?void 0:n.postMessage)?[4,this.iOSExecutor.sendTracking.postMessage(e)]:[3,3];case 2:case 4:return[2,a.sent()];case 3:return this.isAndroid&&(null===(o=this.androidExecutor)||void 0===o?void 0:o.sendTracking)?[4,this.androidExecutor.sendTracking(e)]:[3,5];case 5:throw new v({code:i.SendTrackingNotSupported,message:"SendTracking method not supported on this platform",event:r})}}))}))},e.prototype.setApp=function(e){var t,n,o;return a(this,void 0,void 0,(function(){var r;return s(this,(function(a){switch(a.label){case 0:return this.isSendEventAllowed()?(r=JSON.parse(e).eventType,[4,this.checkVersion(l.SetApp,r)]):(console.warn("Current platform is not supported. This SDK only works in App WebView environment."),[2]);case 1:return a.sent(),this.isIOS&&(null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.setApp)||void 0===n?void 0:n.postMessage)?[4,this.iOSExecutor.setApp.postMessage(e)]:[3,3];case 2:case 4:return[2,a.sent()];case 3:return this.isAndroid&&(null===(o=this.androidExecutor)||void 0===o?void 0:o.setApp)?[4,this.androidExecutor.setApp(e)]:[3,5];case 5:throw new v({code:i.SetAppNotSupported,message:"SetApp method not supported on this platform",event:r})}}))}))},e.prototype.payment=function(e){var t,n,o;return a(this,void 0,void 0,(function(){var r;return s(this,(function(a){switch(a.label){case 0:return this.isSendEventAllowed()?(r=JSON.parse(e).eventType,[4,this.checkVersion(l.Payment,r)]):(console.warn("Current platform is not supported. This SDK only works in App WebView environment."),[2]);case 1:return a.sent(),this.isIOS&&(null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.payment)||void 0===n?void 0:n.postMessage)?[4,this.iOSExecutor.payment.postMessage(e)]:[3,3];case 2:case 4:return[2,a.sent()];case 3:return this.isAndroid&&(null===(o=this.androidExecutor)||void 0===o?void 0:o.payment)?[4,this.androidExecutor.payment(e)]:[3,5];case 5:throw new v({code:i.PaymentNotSupported,message:"Payment method not supported on this platform",event:r})}}))}))},e.prototype.checkVersion=function(e,t){return a(this,void 0,void 0,(function(){var n,o,r;return s(this,(function(a){switch(a.label){case 0:return[4,this.getAppVersion()];case 1:if(n=a.sent(),o=function(e){var t,n;return null!==(n=null===(t=x[e])||void 0===t?void 0:t.functionVersion)&&void 0!==n?n:null}(e),r=k(e,t),!(null==n?void 0:n.appVer))throw new v({code:i.AppVersionNotFound,message:"Unable to get app version.",event:t});if(!O(n.appVer,o,">="))throw new v({code:i.UnsupportedFunctionVersion,message:"App version (".concat(n.appVer,") does not support function version (").concat(o,")."),event:t});if(!O(n.appVer,r,">="))throw new v({code:i.UnsupportedEventVersion,message:"App version (".concat(n.appVer,") does not support event version (").concat(r,")."),event:t});return[2]}}))}))},e.prototype.onError=function(e){var t;null===(t=this.errorHandler)||void 0===t||t.subscribe(e)},e.prototype.handleError=function(e,t){var n,o,r,a;if(e){if(e instanceof v)return(null===(n=this.config)||void 0===n?void 0:n.debug)&&console.error(e),null===(o=this.errorHandler)||void 0===o?void 0:o.notify(e);var s=new v({code:i.UnknownError,message:"An unknown error occurred",event:t,stack:e instanceof Error?e.stack:void 0});e instanceof Error?(s.message=e.message,s.stack=e.stack):"string"==typeof e?s.message=e:"object"==typeof e&&null!==e&&(s.message=JSON.stringify(e)),(null===(r=this.config)||void 0===r?void 0:r.debug)&&console.error(s),null===(a=this.errorHandler)||void 0===a||a.notify(s)}},e.prototype.dispose=function(){var e;null===(e=this.errorHandler)||void 0===e||e.clear()},e}()},"./node_modules/@91app/nine1.lib.key2image/dist/index.mjs":(e,t,n)=>{"use strict";n.d(t,{e:()=>i});var i=(e=>(e.NO_DATA="no-data",e.NO_SHOPPING="no-shopping",e.NO_ITEM="no-item",e.NO_COUPON="no-coupon",e.NO_RESULT="no-result",e.NO_EVENT="no-event",e.NO_HISTORY="no-history",e.NO_FAVORITE="no-favorite",e.NO_NOTIFICATION="no-notification",e.NO_MESSAGE="no-message",e.NO_SERVICE="no-service",e.NO_CARD="no-card",e.NO_POINT="no-point",e.NO_LOCATION="no-location",e.NO_MEMBER_LEVEL="no-member-level",e.NO_RANKING="no-ranking",e.ERROR_PAGE="error-page",e.ERROR_CONNECTION="error-connection",e.ERROR_PERMISSION="error-permission",e.ERROR_MAINTAIN="error-maintain",e.INFO_ATT="info-att",e.INFO_GIFT="info-gift",e.INFO_APPPUSH="info-apppush",e.INFO_LOCATION="info-location",e.INFO_SUCCESS="info-success",e.INFO_TASKS="info-tasks",e.INFO_COUPON="info-coupon",e.INFO_INVITATION="info-invitation",e.INFO_REWARD="info-reward",e.INFO_WALLET="info-wallet",e.INFO_LOCK="info-lock",e.INFO_ALERT="info-alert",e.LINE_ADD="line-add",e.LINE_COUPON="line-coupon",e))(i||{})},"./node_modules/@91app/nineyi.lib.themecore/node_modules/@91app/nine1.lib.jsi/dist/index.js":(e,t,n)=>{"use strict";n.r(t),n.d(t,{ThirdPartyApp:()=>i,ToastTypeEnum:()=>d,cartPageTitleEnum:()=>l,default:()=>b,executableGetAppInfoFeature:()=>o,executablePaymentFeature:()=>r,executableSendTrackingFeature:()=>c,executableSetAppFeature:()=>s,executableTriggerAppFeature:()=>a,triggerWebEventType:()=>u});var i,o,r,a,s,c,l,u,d,g,p=function(){return p=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},p.apply(this,arguments)};function m(e,t,n,i){return new(n||(n=Promise))((function(o,r){function a(e){try{c(i.next(e))}catch(e){r(e)}}function s(e){try{c(i.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((i=i.apply(e,t||[])).next())}))}function f(e,t){var n,i,o,r,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(s){return function(c){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;r&&(r=0,s[0]&&(a=0)),a;)try{if(n=1,i&&(o=2&s[0]?i.return:s[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;switch(i=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,i=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],i=0}finally{n=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}"function"==typeof SuppressedError&&SuppressedError,function(e){e.PXPay="PXPay",e.Line="Line",e.JKOPay="JKOPay",e.FBMessenger="FBMessenger",e.PayMe="PayMe",e.GooglePay="GooglePay",e.ICashPay="ICashPay",e.EasyWallet="EasyWallet",e.WeChatPayHK="WeChatPayHK",e.PoyaPay="PoyaPay",e.Atome="Atome",e.BoCPay="BoCPay",e.PXPayPlus="PXPayPlus",e.OpenWallet="OpenWallet",e.FamilyMartOnlinePay="FamilyMartOnlinePay"}(i||(i={})),function(e){e.Check3rdPartyAppStatus="Check3rdPartyAppStatus",e.GetAppVersion="GetAppVersion"}(o||(o={})),function(e){e.LaunchApplePay="LaunchApplePay",e.LaunchEasyWallet="LaunchEasyWallet",e.LaunchGooglePay="LaunchGooglePay",e.LaunchAliPay="LaunchAliPay",e.LaunchWeChatPay="LaunchWeChatPay",e.Launch2C2P="Launch2C2P",e.SetStripeClientSecret="SetStripeClientSecret"}(r||(r={})),function(e){e.Launch3rdPartyApp="Launch3rdPartyApp",e.RequestInstall3rdPartyApp="RequestInstall3rdPartyApp",e.CloseWebView="CloseWebView",e.UpdateCurrencyRate="UpdateCurrencyRate",e.AddToWishList="AddToWishList",e.RemoveFromWishList="RemoveFromWishList",e.AddToBasket="AddToBasket",e.ShowToast="ShowToast",e.ShowPopup="ShowPopup",e.Redirect="Redirect"}(a||(a={})),function(e){e.HeaderBackAction="HeaderBackAction"}(s||(s={})),function(e){e.CartViewed="CartViewed",e.CheckoutProgress="CheckoutProgress",e.AddToCart="AddToCart",e.RemoveFromCart="RemoveFromCart",e.AddToWishList="AddToWishList",e.RemoveFromWishList="RemoveFromWishList",e.BeginCheckOut="BeginCheckOut",e.PaymentMethod="PaymentMethod",e.ShippingMethod="ShippingMethod",e.EcommercePurchase="EcommercePurchase",e.TrackCart="TrackCart",e.SelectContent="SelectContent",e.CartCleared="CartCleared",e.Refund="Refund",e.CancelOrder="CancelOrder",e.PageViewed="PageViewed"}(c||(c={})),function(e){e[e.view_cart=1]="view_cart",e[e.confirm_cart_list=2]="confirm_cart_list"}(l||(l={})),function(e){e.OnBackPressed="OnBackPressed",e.RefreshOuterSalesOrder="RefreshOuterSalesOrder",e.RefreshShoppingCart="RefreshShoppingCart"}(u||(u={})),function(e){e.success="success",e.alert="alert",e.error="error",e.plain="plain"}(d||(d={})),function(e){e[e.Greater=1]="Greater",e[e.Less=-1]="Less",e[e.Equal=0]="Equal"}(g||(g={}));var I=function(e){return new RegExp(/^\d+\.\d+(\.\d+)?[a-z]?$/i).test(e)},h=function(e,t){if(!I(e)||!I(t))throw new Error("Invalid argument, not a valid app version");for(var n=e.split("."),i=t.split("."),o=0;o<Math.max(n.length,i.length);o+=1){var r=n[o]?Number(n[o]):0,a=i[o]?Number(i[o]):0;if(r>a)return g.Greater;if(r<a)return g.Less;var s=n[o]&&/[a-z]/i.test(n[o])?n[o].replace(/\d/g,""):"",c=i[o]&&/[a-z]/i.test(i[o])?i[o].replace(/\d/g,""):"";if(s>c)return g.Greater;if(s<c)return g.Less}return g.Equal},b=function(){function e(){var e,t=this;this.check3rdPartyAppStatus=function(e){return m(t,void 0,void 0,(function(){var t;return f(this,(function(n){return t=this.getPayloadString(o.Check3rdPartyAppStatus,{appName:e}),[2,this.getAppInfo(t)]}))}))},this.getAppVersion=function(){return m(t,void 0,void 0,(function(){var e;return f(this,(function(t){return e=this.getPayloadString(o.GetAppVersion),[2,this.getAppInfo(e)]}))}))},this.requestInstall3rdPartyApp=function(e){var n=t.getPayloadString(a.RequestInstall3rdPartyApp,{appName:e});t.triggerApp(n)},this.launch3rdPartyApp=function(e){var n=t.getPayloadString(a.Launch3rdPartyApp,{appName:e});t.triggerApp(n)},this.TriggerAppPageView=function(e,n,i,o,r){var a={eventType:"PageViewed",data:{viewType:e,viewTitle:n,viewId:i||"",isPopupView:!1,viewFrom:o||"",contentSource:r||""}},s=JSON.stringify(a);t.sendTracking(s)},this.viewItemList=function(e){var n=e.viewType,i=e.viewTitle,o=e.viewId,r=e.contentType,a={eventType:"ViewItemList",data:{viewType:n,viewId:o,contentSource:e.contentSource,contentType:r,items:e.items,viewTitle:i||""}},s=JSON.stringify(a);t.sendTracking(s)},this.cartViewed=function(e){var n=t.getPayloadString(c.CartViewed,e);t.sendTracking(n)},this.checkoutProgress=function(e){var n=t.getPayloadString(c.CheckoutProgress,e);t.sendTracking(n)},this.beginCheckOut=function(e){var n=t.getPayloadString(c.BeginCheckOut,e);t.sendTracking(n)},this.addToCart=function(e){var n=t.getPayloadString(c.AddToCart,e);t.sendTracking(n)},this.removeFromCart=function(e){var n=t.getPayloadString(c.RemoveFromCart,e);t.sendTracking(n)},this.addToWishList=function(e){var n=t.getPayloadString(c.AddToWishList,e);t.sendTracking(n)},this.removeFromWishList=function(e){var n=t.getPayloadString(c.RemoveFromWishList,e);t.sendTracking(n)},this.paymentMethod=function(e){var n=t.getPayloadString(c.PaymentMethod,e);t.sendTracking(n)},this.shippingMethod=function(e){var n=t.getPayloadString(c.ShippingMethod,e);t.sendTracking(n)},this.ecommercePurchase=function(e){var n=t.getPayloadString(c.EcommercePurchase,e);t.sendTracking(n)},this.trackCart=function(e){var n=t.getPayloadString(c.TrackCart,e);t.sendTracking(n)},this.selectContent=function(e){var n=t.getPayloadString(c.SelectContent,e);t.sendTracking(n)},this.cartCleared=function(){var e=t.getPayloadString(c.CartCleared);t.sendTracking(e)},this.refund=function(e){var n=t.getPayloadString(c.Refund,e);t.sendTracking(n)},this.cancelOrder=function(e){var n=t.getPayloadString(c.CancelOrder,e);t.sendTracking(n)},this.setAppHeaderIcon=function(e){var n=e.ios,i=e.android,o=t.isIOS?t.getPayloadString(n.eventType,n.data):t.getPayloadString(i.eventType,i.data);t.setApp(o)},this.closeWebView=function(){var e=t.getPayloadString(a.CloseWebView);t.triggerApp(e)},this.redirect=function(e){var n=t.getPayloadString(a.Redirect,e);t.triggerApp(n)},this.triggerWebAction=function(e){window.triggerWeb=null,window.triggerWeb=function(t){return e(t)}},this.launchEasyWallet=function(e){var n=t.getPayloadString(r.LaunchEasyWallet,{url:e},"EasyWallet");t.payment(n)},this.launchApplePay=function(e,n){var i={totalPayment:e.toString()};t.getAppVersion().then((function(e){(null==e?void 0:e.appVer)&&-1!==h(e.appVer,"24.4.0")&&(i=p(p({},i),{paymentServiceProvider:n}))})).then((function(){var e=t.getPayloadString(r.LaunchApplePay,i,"ApplePay");t.payment(e)})).catch((function(e){}))},this.setStripeClientSecret=function(e){return m(t,void 0,void 0,(function(){var t,n;return f(this,(function(i){switch(i.label){case 0:return i.trys.push([0,2,,3]),[4,this.getAppVersion()];case 1:return(null==(t=i.sent())?void 0:t.appVer)&&-1!==h(t.appVer,"24.12.0")&&(n=this.getPayloadString(r.SetStripeClientSecret,e),this.payment(n)),[3,3];case 2:return i.sent(),[3,3];case 3:return[2]}}))}))},this.launchGooglePay=function(e,n){return m(t,void 0,void 0,(function(){var t,i,o;return f(this,(function(a){switch(a.label){case 0:t={totalPayment:e.toString()},a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getAppVersion()];case 2:return(null==(i=a.sent())?void 0:i.appVer)&&-1!==h(i.appVer,"24.12.0")&&(t=p(p({},t),{paymentServiceProvider:n})),o=this.getPayloadString(r.LaunchGooglePay,t,"GooglePay"),this.payment(o),[3,4];case 3:return a.sent(),[3,4];case 4:return[2]}}))}))},this.launchAliPay=function(e,n){var i=t.getPayloadString(r.LaunchAliPay,{launchUrl:e,payChannelUrl:n},"AliPay");t.payment(i)},this.launchWeChatPay=function(e,n){var i=t.getPayloadString(r.LaunchWeChatPay,{launchUrl:e,payChannelUrl:n},"WeChatPay");t.payment(i)},this.updateCurrencyRate=function(e){var n=t.getPayloadString(a.UpdateCurrencyRate,{currencyRates:e});t.triggerApp(n)},this.launch2C2P=function(e){var n=t.getPayloadString(r.Launch2C2P,{launchUrl:e},"2C2P");t.payment(n)},this.onJsiResult=function(e){window.onJsiResult=null,window.onJsiResult=function(t){return e(t)}},this.addToBasket=function(e){var n=t.getPayloadString(a.AddToBasket,e);t.triggerApp(n)},this.showToast=function(e){var n=t.getPayloadString(a.ShowToast,e);t.triggerApp(n)},this.showPopup=function(e){var n=t.getPayloadString(a.ShowPopup,e.showPopupData,e.requestCode);return t.triggerAppWithAsyncResponse(n)},this.addToWishListJsi=function(e){var n=t.getPayloadString(a.AddToWishList,{itemId:e});t.triggerApp(n)},this.removeFromWishListJsi=function(e){var n=t.getPayloadString(a.RemoveFromWishList,{itemId:e});t.triggerApp(n)},this.androidExecutor=window.android||null,this.iOSExecutor=(null===(e=window.webkit)||void 0===e?void 0:e.messageHandlers)||null}return Object.defineProperty(e.prototype,"isAndroid",{get:function(){return!!this.androidExecutor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isIOS",{get:function(){return!!this.iOSExecutor},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"executableOS",{get:function(){return{android:!!this.androidExecutor,iOS:!!this.iOSExecutor}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"executable",{get:function(){return this.isAndroid||this.isIOS},enumerable:!1,configurable:!0}),e.prototype.getPayloadString=function(e,t,n){var i={eventType:e,data:t,requestCode:n};return JSON.stringify(i)},e.prototype.getAppInfo=function(e){var t,n,i,o,r;return m(this,void 0,void 0,(function(){var a;return f(this,(function(s){switch(s.label){case 0:return this.isIOS?[4,null===(i=null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.getAppInfo)||void 0===n?void 0:n.postMessage)||void 0===i?void 0:i.call(n,e)]:[3,2];case 1:return[2,(a=s.sent())?JSON.parse(a):null];case 2:if(this.isAndroid)return[2,(a=null===(r=null===(o=this.androidExecutor)||void 0===o?void 0:o.getAppInfo)||void 0===r?void 0:r.call(o,e))?JSON.parse(a):null];s.label=3;case 3:return[2,null]}}))}))},e.prototype.triggerApp=function(e){var t,n,i,o,r;this.isIOS?null===(i=null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.triggerApp)||void 0===n?void 0:n.postMessage)||void 0===i||i.call(n,e):this.isAndroid&&(null===(r=null===(o=this.androidExecutor)||void 0===o?void 0:o.triggerApp)||void 0===r||r.call(o,e))},e.prototype.triggerAppWithAsyncResponse=function(e){var t,n,i;try{return this.isIOS&&(null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.triggerApp)||void 0===n?void 0:n.postMessage)?this.iOSExecutor.triggerApp.postMessage(e):this.isAndroid&&(null===(i=this.androidExecutor)||void 0===i?void 0:i.triggerApp)?this.androidExecutor.triggerApp(e):Promise.reject(new Error("No executor found"))}catch(e){return Promise.reject(e)}},e.prototype.sendTracking=function(e){var t,n,i,o,r;this.isIOS?null===(i=null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.sendTracking)||void 0===n?void 0:n.postMessage)||void 0===i||i.call(n,e):this.isAndroid&&(null===(r=null===(o=this.androidExecutor)||void 0===o?void 0:o.sendTracking)||void 0===r||r.call(o,e))},e.prototype.setApp=function(e){var t,n,i,o,r;this.isIOS?null===(i=null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.setApp)||void 0===n?void 0:n.postMessage)||void 0===i||i.call(n,e):this.isAndroid&&(null===(r=null===(o=this.androidExecutor)||void 0===o?void 0:o.setApp)||void 0===r||r.call(o,e))},e.prototype.payment=function(e){var t,n,i;this.isIOS&&(null===(n=null===(t=this.iOSExecutor)||void 0===t?void 0:t.payment)||void 0===n?void 0:n.postMessage)?this.iOSExecutor.payment.postMessage(e):this.isAndroid&&(null===(i=this.androidExecutor)||void 0===i?void 0:i.payment)&&this.androidExecutor.payment(e)},e}()},"./node_modules/@91app/nineyi.lib.themecore/node_modules/serialize-error/index.js":(e,t,n)=>{"use strict";n.r(t),n.d(t,{NonError:()=>r,deserializeError:()=>d,errorConstructors:()=>o,isErrorLike:()=>g,serializeError:()=>u});const i=[EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(Boolean).map((e=>[e.name,e])),o=new Map(i);class r extends Error{name="NonError";constructor(e){super(r._prepareSuperMessage(e))}static _prepareSuperMessage(e){try{return JSON.stringify(e)}catch{return String(e)}}}const a=[{property:"name",enumerable:!1},{property:"message",enumerable:!1},{property:"stack",enumerable:!1},{property:"code",enumerable:!0},{property:"cause",enumerable:!1}],s=new WeakSet,c=e=>o.get(e)??Error,l=({from:e,seen:t,to:n,forceEnumerable:i,maxDepth:o,depth:r,useToJSON:u,serialize:d})=>{if(!n)if(Array.isArray(e))n=[];else if(!d&&g(e)){n=new(c(e.name))}else n={};if(t.push(e),r>=o)return n;if(u&&"function"==typeof e.toJSON&&!s.has(e))return(e=>{s.add(e);const t=e.toJSON();return s.delete(e),t})(e);const p=e=>l({from:e,seen:[...t],forceEnumerable:i,maxDepth:o,depth:r,useToJSON:u,serialize:d});for(const[a,s]of Object.entries(e))if(s&&s instanceof Uint8Array&&"Buffer"===s.constructor.name)n[a]="[object Buffer]";else if(null===s||"object"!=typeof s||"function"!=typeof s.pipe){if("function"!=typeof s)if(s&&"object"==typeof s)t.includes(e[a])?n[a]="[Circular]":(r++,n[a]=p(e[a]));else try{n[a]=s}catch{}}else n[a]="[object Stream]";for(const{property:s,enumerable:c}of a)void 0!==e[s]&&null!==e[s]&&Object.defineProperty(n,s,{value:g(e[s])?p(e[s]):e[s],enumerable:!!i||c,configurable:!0,writable:!0});return n};function u(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY,useToJSON:i=!0}=t;return"object"==typeof e&&null!==e?l({from:e,seen:[],forceEnumerable:!0,maxDepth:n,depth:0,useToJSON:i,serialize:!0}):"function"==typeof e?`[Function: ${e.name||"anonymous"}]`:e}function d(e,t={}){const{maxDepth:n=Number.POSITIVE_INFINITY}=t;if(e instanceof Error)return e;if(function(e){return Boolean(e)&&"object"==typeof e&&"message"in e&&!Array.isArray(e)}(e)){const t=c(e.name);return l({from:e,seen:[],to:new t,maxDepth:n,depth:0,serialize:!1})}return new r(e)}function g(e){return Boolean(e)&&"object"==typeof e&&"name"in e&&"message"in e&&"stack"in e}},"./node_modules/@91app/nineyi.lib.themecore/out/package.json":e=>{"use strict";e.exports=JSON.parse('{"name":"@91app/nineyi.lib.themecore","version":"3.61.1","description":"","repository":{"type":"git","url":"git@gitlab.91app.com:rd6/nineyi.lib.cms-theme-core.git"},"license":"ISC","author":"91APP/F2E","types":"out/src/index.d.ts","main":"out/src/index.js","scripts":{"start":"./tools/dev/build-dev.sh","build:prod":"./tools/deploy/build-theme-all.sh","build:sass":"sass --load-path=node_modules --style=compressed ./src/sass/desktop.default.scss:./public/themecore/css/desktop.default.css && sass --load-path=node_modules --style=compressed ./src/sass/mobile.default.scss:./public/themecore/css/mobile.default.css && sass --load-path=node_modules --style=compressed ./src/sass/letterpress.default.scss:./public/themecore/css/letterpress.default.css","build:ts":"tsc && tsc-alias","build:ts:watch":"tsc -w & tsc-alias -w","build:dts":"rimraf dts && node copy-dts.js","build:category:mobile":"webpack --env TARGET=mobile --mode=development --config=./webpack/webpack.themeCore.category.config.js","build:category:desktop":"webpack --env TARGET=desktop --mode=development --config=./webpack/webpack.themeCore.category.config.js","build:category":"npm run build:category:mobile && npm run build:category:desktop","init:i18n":"./tools/locale/fetch-i18n.sh","init:i18n:dev":"npm run init:i18n && node ./tools/locale/createTranslationConstants.js","lint":"./tools/dev/run-lint.sh --quiet","lint:fix":"./tools/dev/run-lint.sh --fix","prettier:check":"prettier --check \'./src\'","prettier:fix":"prettier --write \'./src\'","sync:libs":"sh ./tools/dev/sync-libs.sh","sync:to:catalog":"sh ./tools/dev/sync-themecore-to-catalog.sh","sync:to:letterpress":"sh ./tools/dev/sync-themecore-to-letterpress.sh","sync:to:mweb":"npm run build:prod && cp -r ./public/ ../nineyi.webstore.mobilewebmall/WebStore/Frontend/MobileWebMallV2/ClientApp/node_modules/@91app/nineyi.lib.themecore/public && cp -r ./dts/ ../nineyi.webstore.mobilewebmall/WebStore/Frontend/MobileWebMallV2/ClientApp/node_modules/@91app/nineyi.lib.themecore.types","sync:to:cartMweb":"npm run build:prod && cp -r ./public/ ../nineyi.webstore.mobilewebmall/WebStore/Frontend/MobileWebMallV2/CartClientApp/node_modules/@91app/nineyi.lib.themecore/public && cp -r ./dts/ ../nineyi.webstore.mobilewebmall/WebStore/Frontend/MobileWebMallV2/CartClientApp/node_modules/@91app/nineyi.lib.themecore.types","sync:to:mweb:dev":"./tools/dev/build-theme-for-mweb.sh","test":"jest --config=test/jest.config.json","test:coverage":"jest --config=test/jest.config.json --coverage","test:update":"jest -u --config=test/jest.config.json","precommit":"npm run prettier:fix && npm run lint:fix && npm run test && npm run build:prod"},"scriptsComments":{"start":"watch client, server bundle files in webpack and watch sass files","build:prod":"build webpack in production mode and build ts, dts and sass","sync:to:catalog":"sync bundle, css and locale files to catalog for dev","sync:to:letterpress":"sync bundle, css and locale files to letterpress for dev","sync:libs":"sync the libs folder to letterpress and catalog for dev","sync:to:mweb":"run prod first, sync js to mweb","sync:to:cartMweb":"run prod first, sync js to mweb","sync:to:mweb:dev":"Run prod first, sync js to mweb ClientApp by default. sync to CartClientApp, use \'npm run sync:to:mweb:dev cart\'. To both, use \'npm run sync:to:mweb:dev all\'","precommit":"本機開發commit前的檢查，prettier, eslint, test, build，避免推到 gitlab 才發現 pipeline failed"},"dependencies":{"@91app/nine1.lib.custom-setting":"1.0.9","@91app/nine1.lib.custom-translation":"1.1.6","@91app/nine1.lib.jsi":"1.0.13","@91app/nine1.lib.key2image":"^1.1.0","@91app/nineyi.component.product-to-cart":"1.5.10","@91app/nineyi.config.cms-globla-style":"^1.0.8","@91app/nineyi.config.i18n":"0.0.10","@91app/nineyi.lib.common-utility":"^2.0.0","@91app/nineyi.lib.display-text":"1.2.1","@91app/nineyi.lib.line-express":"^1.1.0","@91app/nineyi.utility.log.client":"^2.1.6","@91app/nineyi.utility.pagelink":"^2.3.30","@91app/nineyi.utility.request":"^2.0.0","@91app/nineyi.utility.tracking":"^2.38.0","@apollo/react-hooks":"^3.1.3","@google-cloud/error-reporting":"^3.0.5","@reduxjs/toolkit":"^1.9.3","accounting":"^0.4.1","apollo-cache-inmemory":"^1.6.5","apollo-client":"^2.6.8","apollo-link-http":"^1.5.16","classnames":"^2.5.1","cross-fetch":"^3.1.4","date-fns":"^3.6.0","dayjs":"^1.11.11","dompurify":"^3.2.1","graphql":"14.7.0","graphql-tag":"2.10.3","jsonpath":"^1.1.1","lodash":"^4.17.21","loglevel":"^1.8.1","loglevel-format":"^1.1.2","object-path":"^0.11.8","polished":"^4.2.2","prop-types":"^15.8.1","qrcode.react":"3.1.0","react":"16.14.0","react-dom":"16.14.0","react-google-recaptcha-v3":"^1.8.0","react-i18nify":"^5.0.3","react-intersection-observer":"^8.32.0","react-loading-skeleton":"^3.4.0","react-player":"2.12.0","react-redux":"^7.2.3","react-router-dom":"5.3.4","react-select":"1.2.1","react-slick":"0.29.0","react-tooltip":"3.7.0","redux":"^4.0.5","redux-mock-store":"1.5.4","redux-observable":"1.2.0","redux-thunk":"2.3.0","rxjs":"6.5.2","sass":"^1.58.3","serialize-error":"^11.0.0","stacktrace-js":"^2.0.2","statuses":"2.0.1","styled-components":"5.3.9","superagent":"8.0.9","swr":"2.2.5","typesafe-actions":"^5.1.0","uuid":"^9.0.1"},"devDependencies":{"@babel/preset-env":"^7.24.5","@types/accounting":"^0.4.5","@types/dompurify":"3.0.5","@types/facebook-pixel":"0.0.24","@types/google.analytics":"0.0.42","@types/jest":"^29.4.0","@types/jsonpath":"^0.2.0","@types/lodash":"^4.14.191","@types/object-path":"^0.11.1","@types/prop-types":"^15.7.5","@types/qrcode.react":"^1.0.2","@types/react":"16.14.5","@types/react-dom":"16.9.12","@types/react-redux":"^7.1.12","@types/react-router-dom":"5.1.8","@types/react-slick":"^0.14.1","@types/react-tooltip":"^3.3.2","@types/statuses":"^2.0.5","@types/styled-components":"^5.0.0","@types/superagent":"^8.1.7","@types/uuid":"^9.0.8","@types/webpack":"^5.28.5","@types/webpack-env":"^1.18.5","@typescript-eslint/eslint-plugin":"^5.62.0","@typescript-eslint/parser":"^5.62.0","babel-jest":"^29.5.0","enzyme":"3.10.0","enzyme-adapter-react-16":"^1.15.7","enzyme-to-json":"^3.6.2","esbuild-loader":"^3.0.1","eslint":"^8.57.0","eslint-config-prettier":"^9.1.0","jest":"^29.5.0","jest-environment-jsdom":"^29.5.0","nock":"^13.5.4","prettier":"^3.2.5","progress-bar-webpack-plugin":"^2.1.0","sinon":"^15.0.4","terser-webpack-plugin":"^5.3.10","thread-loader":"^3.0.4","ts-jest":"^29.0.5","tsc-alias":"^1.8.8","tsconfig-paths-webpack-plugin":"^4.0.0","typescript":"4.9.5","webpack":"^5.91.0","webpack-bundle-analyzer":"^4.10.2","webpack-cli":"^5.1.4","webpack-merge":"^5.10.0"},"engines":{"node":">= 18.9.0"}}')}}]);