demio-ui 4.0.3 → 4.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +122 -44
- package/dist/bundle-analysis.html +4949 -0
- package/dist/cjs/index.css +1 -1
- package/dist/cjs/index.js +1 -7
- package/dist/cjs/types/src/icons/index.d.ts +10 -1
- package/dist/esm/index.css +1 -1
- package/dist/esm/index.js +1 -7
- package/dist/esm/types/src/icons/index.d.ts +10 -1
- package/dist/types.d.ts +1051 -854
- package/package.json +23 -38
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
import*as e from"react";import t,{useState as n,memo as r,forwardRef as o,useRef as a,useCallback as i,useEffect as l,useLayoutEffect as s,useMemo as c,useImperativeHandle as u}from"react";import{jsx as d,Fragment as m,jsxs as p}from"react/jsx-runtime";import*as f from"react-dom";import h from"react-dom";import v from"react-easy-crop";import{createRoot as g}from"react-dom/client";import w,{components as y}from"react-select";function b(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _,E={exports:{}};
|
|
2
|
-
/*!
|
|
3
|
-
Copyright (c) 2018 Jed Watson.
|
|
4
|
-
Licensed under the MIT License (MIT), see
|
|
5
|
-
http://jedwatson.github.io/classnames
|
|
6
|
-
*/_=E,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var o=arguments[t];o&&(e=r(e,n(o)))}return e}function n(n){if("string"==typeof n||"number"==typeof n)return n;if("object"!=typeof n)return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var o="";for(var a in n)e.call(n,a)&&n[a]&&(o=r(o,a));return o}function r(e,t){return t?e?e+" "+t:e+t:e}_.exports?(t.default=t,_.exports=t):window.classNames=t}();var x=b(E.exports);function C(t,n=[]){let r=[];const o=()=>{const n=r.map((t=>e.createContext(t)));return function(r){const o=r?.[t]||n;return e.useMemo((()=>({[`__scope${t}`]:{...r,[t]:o}})),[r,o])}};return o.scopeName=t,[function(n,o){const a=e.createContext(o),i=r.length;r=[...r,o];const l=n=>{const{scope:r,children:o,...l}=n,s=r?.[t]?.[i]||a,c=e.useMemo((()=>l),Object.values(l));return d(s.Provider,{value:c,children:o})};return l.displayName=n+"Provider",[l,function(r,l){const s=l?.[t]?.[i]||a,c=e.useContext(s);if(c)return c;if(void 0!==o)return o;throw new Error(`\`${r}\` must be used within \`${n}\``)}]},O(o,...n)]}function O(...t){const n=t[0];if(1===t.length)return n;const r=()=>{const r=t.map((e=>({useScope:e(),scopeName:e.scopeName})));return function(t){const o=r.reduce(((e,{useScope:n,scopeName:r})=>({...e,...n(t)[`__scope${r}`]})),{});return e.useMemo((()=>({[`__scope${n.scopeName}`]:o})),[o])}};return r.scopeName=n.scopeName,r}function M(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function A(...e){return t=>{let n=!1;const r=e.map((e=>{const r=M(e,t);return n||"function"!=typeof r||(n=!0),r}));if(n)return()=>{for(let t=0;t<r.length;t++){const n=r[t];"function"==typeof n?n():M(e[t],null)}}}}function S(...t){return e.useCallback(A(...t),t)}function D(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}var P=Boolean(globalThis?.document)?e.useLayoutEffect:()=>{},N=e["useId".toString()]||(()=>{}),q=0;function k(t){const[n,r]=e.useState(N());return P((()=>{r((e=>e??String(q++)))}),[t]),t||(n?`radix-${n}`:"")}function R(t){const n=e.useRef(t);return e.useEffect((()=>{n.current=t})),e.useMemo((()=>(...e)=>n.current?.(...e)),[])}function T({prop:t,defaultProp:n,onChange:r=()=>{}}){const[o,a]=function({defaultProp:t,onChange:n}){const r=e.useState(t),[o]=r,a=e.useRef(o),i=R(n);return e.useEffect((()=>{a.current!==o&&(i(o),a.current=o)}),[o,a,i]),r}({defaultProp:n,onChange:r}),i=void 0!==t,l=i?t:o,s=R(r);return[l,e.useCallback((e=>{if(i){const n="function"==typeof e?e(t):e;n!==t&&s(n)}else a(e)}),[i,t,a,s])]}var I=e.forwardRef(((t,n)=>{const{children:r,...o}=t,a=e.Children.toArray(r),i=a.find(F);if(i){const t=i.props.children,r=a.map((n=>n===i?e.Children.count(t)>1?e.Children.only(null):e.isValidElement(t)?t.props.children:null:n));return d(L,{...o,ref:n,children:e.isValidElement(t)?e.cloneElement(t,void 0,r):null})}return d(L,{...o,ref:n,children:r})}));I.displayName="Slot";var L=e.forwardRef(((t,n)=>{const{children:r,...o}=t;if(e.isValidElement(r)){const t=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;if(n)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n)return e.props.ref;return e.props.ref||e.ref}(r),a=function(e,t){const n={...t};for(const r in t){const o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...e)=>{a(...e),o(...e)}:o&&(n[r]=o):"style"===r?n[r]={...o,...a}:"className"===r&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}(o,r.props);return r.type!==e.Fragment&&(a.ref=n?A(n,t):t),e.cloneElement(r,a)}return e.Children.count(r)>1?e.Children.only(null):null}));L.displayName="SlotClone";var B=({children:e})=>d(m,{children:e});function F(t){return e.isValidElement(t)&&t.type===B}var z=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce(((t,n)=>{const r=e.forwardRef(((e,t)=>{const{asChild:r,...o}=e,a=r?I:n;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),d(a,{...o,ref:t})}));return r.displayName=`Primitive.${n}`,{...t,[n]:r}}),{});function j(e,t){e&&f.flushSync((()=>e.dispatchEvent(t)))}var V,H="dismissableLayer.update",U="dismissableLayer.pointerDownOutside",W="dismissableLayer.focusOutside",K=e.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Q=e.forwardRef(((t,n)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:l,onDismiss:s,...c}=t,u=e.useContext(K),[m,p]=e.useState(null),f=m?.ownerDocument??globalThis?.document,[,h]=e.useState({}),v=S(n,(e=>p(e))),g=Array.from(u.layers),[w]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=g.indexOf(w),b=m?g.indexOf(m):-1,_=u.layersWithOutsidePointerEventsDisabled.size>0,E=b>=y,x=function(t,n=globalThis?.document){const r=R(t),o=e.useRef(!1),a=e.useRef((()=>{}));return e.useEffect((()=>{const e=e=>{if(e.target&&!o.current){let t=function(){$(U,r,o,{discrete:!0})};const o={originalEvent:e};"touch"===e.pointerType?(n.removeEventListener("click",a.current),a.current=t,n.addEventListener("click",a.current,{once:!0})):t()}else n.removeEventListener("click",a.current);o.current=!1},t=window.setTimeout((()=>{n.addEventListener("pointerdown",e)}),0);return()=>{window.clearTimeout(t),n.removeEventListener("pointerdown",e),n.removeEventListener("click",a.current)}}),[n,r]),{onPointerDownCapture:()=>o.current=!0}}((e=>{const t=e.target,n=[...u.branches].some((e=>e.contains(t)));E&&!n&&(a?.(e),l?.(e),e.defaultPrevented||s?.())}),f),C=function(t,n=globalThis?.document){const r=R(t),o=e.useRef(!1);return e.useEffect((()=>{const e=e=>{if(e.target&&!o.current){$(W,r,{originalEvent:e},{discrete:!1})}};return n.addEventListener("focusin",e),()=>n.removeEventListener("focusin",e)}),[n,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}((e=>{const t=e.target;[...u.branches].some((e=>e.contains(t)))||(i?.(e),l?.(e),e.defaultPrevented||s?.())}),f);return function(t,n=globalThis?.document){const r=R(t);e.useEffect((()=>{const e=e=>{"Escape"===e.key&&r(e)};return n.addEventListener("keydown",e,{capture:!0}),()=>n.removeEventListener("keydown",e,{capture:!0})}),[r,n])}((e=>{b===u.layers.size-1&&(o?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))}),f),e.useEffect((()=>{if(m)return r&&(0===u.layersWithOutsidePointerEventsDisabled.size&&(V=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(m)),u.layers.add(m),G(),()=>{r&&1===u.layersWithOutsidePointerEventsDisabled.size&&(f.body.style.pointerEvents=V)}}),[m,f,r,u]),e.useEffect((()=>()=>{m&&(u.layers.delete(m),u.layersWithOutsidePointerEventsDisabled.delete(m),G())}),[m,u]),e.useEffect((()=>{const e=()=>h({});return document.addEventListener(H,e),()=>document.removeEventListener(H,e)}),[]),d(z.div,{...c,ref:v,style:{pointerEvents:_?E?"auto":"none":void 0,...t.style},onFocusCapture:D(t.onFocusCapture,C.onFocusCapture),onBlurCapture:D(t.onBlurCapture,C.onBlurCapture),onPointerDownCapture:D(t.onPointerDownCapture,x.onPointerDownCapture)})}));Q.displayName="DismissableLayer";function G(){const e=new CustomEvent(H);document.dispatchEvent(e)}function $(e,t,n,{discrete:r}){const o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?j(o,a):o.dispatchEvent(a)}e.forwardRef(((t,n)=>{const r=e.useContext(K),o=e.useRef(null),a=S(n,o);return e.useEffect((()=>{const e=o.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}}),[r.branches]),d(z.div,{...t,ref:a})})).displayName="DismissableLayerBranch";var X="focusScope.autoFocusOnMount",Y="focusScope.autoFocusOnUnmount",Z={bubbles:!1,cancelable:!0},J=e.forwardRef(((t,n)=>{const{loop:r=!1,trapped:o=!1,onMountAutoFocus:a,onUnmountAutoFocus:i,...l}=t,[s,c]=e.useState(null),u=R(a),m=R(i),p=e.useRef(null),f=S(n,(e=>c(e))),h=e.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;e.useEffect((()=>{if(o){let e=function(e){if(h.paused||!s)return;const t=e.target;s.contains(t)?p.current=t:re(p.current,{select:!0})},t=function(e){if(h.paused||!s)return;const t=e.relatedTarget;null!==t&&(s.contains(t)||re(p.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(const t of e)t.removedNodes.length>0&&re(s)};document.addEventListener("focusin",e),document.addEventListener("focusout",t);const r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}}),[o,s,h.paused]),e.useEffect((()=>{if(s){oe.add(h);const t=document.activeElement;if(!s.contains(t)){const n=new CustomEvent(X,Z);s.addEventListener(X,u),s.dispatchEvent(n),n.defaultPrevented||(!function(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(re(r,{select:t}),document.activeElement!==n)return}((e=ee(s),e.filter((e=>"A"!==e.tagName))),{select:!0}),document.activeElement===t&&re(s))}return()=>{s.removeEventListener(X,u),setTimeout((()=>{const e=new CustomEvent(Y,Z);s.addEventListener(Y,m),s.dispatchEvent(e),e.defaultPrevented||re(t??document.body,{select:!0}),s.removeEventListener(Y,m),oe.remove(h)}),0)}}var e}),[s,u,m,h]);const v=e.useCallback((e=>{if(!r&&!o)return;if(h.paused)return;const t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(t&&n){const t=e.currentTarget,[o,a]=function(e){const t=ee(e),n=te(t,e),r=te(t.reverse(),e);return[n,r]}(t);o&&a?e.shiftKey||n!==a?e.shiftKey&&n===o&&(e.preventDefault(),r&&re(a,{select:!0})):(e.preventDefault(),r&&re(o,{select:!0})):n===t&&e.preventDefault()}}),[r,o,h.paused]);return d(z.div,{tabIndex:-1,...l,ref:f,onKeyDown:v})}));function ee(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 te(e,t){for(const n of e)if(!ne(n,{upTo:t}))return n}function ne(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 re(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()}}J.displayName="FocusScope";var oe=function(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=ae(e,t),e.unshift(t)},remove(t){e=ae(e,t),e[0]?.resume()}}}();function ae(e,t){const n=[...e],r=n.indexOf(t);return-1!==r&&n.splice(r,1),n}var ie=e.forwardRef(((t,n)=>{const{container:r,...o}=t,[a,i]=e.useState(!1);P((()=>i(!0)),[]);const l=r||a&&globalThis?.document?.body;return l?h.createPortal(d(z.div,{...o,ref:n}),l):null}));ie.displayName="Portal";var le=t=>{const{present:n,children:r}=t,o=function(t){const[n,r]=e.useState(),o=e.useRef({}),a=e.useRef(t),i=e.useRef("none"),l=t?"mounted":"unmounted",[s,c]=function(t,n){return e.useReducer(((e,t)=>n[e][t]??e),t)}(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return e.useEffect((()=>{const e=se(o.current);i.current="mounted"===s?e:"none"}),[s]),P((()=>{const e=o.current,n=a.current;if(n!==t){const r=i.current,o=se(e);if(t)c("MOUNT");else if("none"===o||"none"===e?.display)c("UNMOUNT");else{c(n&&r!==o?"ANIMATION_OUT":"UNMOUNT")}a.current=t}}),[t,c]),P((()=>{if(n){let e;const t=n.ownerDocument.defaultView??window,r=r=>{const i=se(o.current).includes(r.animationName);if(r.target===n&&i&&(c("ANIMATION_END"),!a.current)){const r=n.style.animationFillMode;n.style.animationFillMode="forwards",e=t.setTimeout((()=>{"forwards"===n.style.animationFillMode&&(n.style.animationFillMode=r)}))}},l=e=>{e.target===n&&(i.current=se(o.current))};return n.addEventListener("animationstart",l),n.addEventListener("animationcancel",r),n.addEventListener("animationend",r),()=>{t.clearTimeout(e),n.removeEventListener("animationstart",l),n.removeEventListener("animationcancel",r),n.removeEventListener("animationend",r)}}c("ANIMATION_END")}),[n,c]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:e.useCallback((e=>{e&&(o.current=getComputedStyle(e)),r(e)}),[])}}(n),a="function"==typeof r?r({present:o.isPresent}):e.Children.only(r),i=S(o.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;if(n)return e.ref;if(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n)return e.props.ref;return e.props.ref||e.ref}(a));return"function"==typeof r||o.isPresent?e.cloneElement(a,{ref:i}):null};function se(e){return e?.animationName||"none"}le.displayName="Presence";var ce=0;function ue(){e.useEffect((()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??de()),document.body.insertAdjacentElement("beforeend",e[1]??de()),ce++,()=>{1===ce&&document.querySelectorAll("[data-radix-focus-guard]").forEach((e=>e.remove())),ce--}}),[])}function de(){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 me=function(){return me=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},me.apply(this,arguments)};function pe(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n}"function"==typeof SuppressedError&&SuppressedError;var fe="right-scroll-bar-position",he="width-before-scroll-bar";function ve(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var ge="undefined"!=typeof window?e.useLayoutEffect:e.useEffect,we=new WeakMap;function ye(e,t){var r,o,a,i=(r=null,o=function(t){return e.forEach((function(e){return ve(e,t)}))},(a=n((function(){return{value:r,callback:o,facade:{get current(){return a.value},set current(e){var t=a.value;t!==e&&(a.value=e,a.callback(e,t))}}}}))[0]).callback=o,a.facade);return ge((function(){var t=we.get(i);if(t){var n=new Set(t),r=new Set(e),o=i.current;n.forEach((function(e){r.has(e)||ve(e,null)})),r.forEach((function(e){n.has(e)||ve(e,o)}))}we.set(i,e)}),[e]),i}function be(e){return e}var _e=function(t){var n=t.sideCar,r=pe(t,["sideCar"]);if(!n)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=n.read();if(!o)throw new Error("Sidecar medium not found");return e.createElement(o,me({},r))};_e.isSideCarExport=!0;var Ee=function(e){void 0===e&&(e={});var t=function(e,t){void 0===t&&(t=be);var n=[],r=!1;return{read:function(){if(r)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,r);return n.push(o),function(){n=n.filter((function(e){return e!==o}))}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var o=n;n=[],o.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},i=function(){return Promise.resolve().then(a)};i(),n={push:function(e){t.push(e),i()},filter:function(e){return t=t.filter(e),n}}}}}(null);return t.options=me({async:!0,ssr:!1},e),t}(),xe=function(){},Ce=e.forwardRef((function(t,n){var r=e.useRef(null),o=e.useState({onScrollCapture:xe,onWheelCapture:xe,onTouchMoveCapture:xe}),a=o[0],i=o[1],l=t.forwardProps,s=t.children,c=t.className,u=t.removeScrollBar,d=t.enabled,m=t.shards,p=t.sideCar,f=t.noIsolation,h=t.inert,v=t.allowPinchZoom,g=t.as,w=void 0===g?"div":g,y=t.gapMode,b=pe(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),_=p,E=ye([r,n]),x=me(me({},b),a);return e.createElement(e.Fragment,null,d&&e.createElement(_,{sideCar:Ee,removeScrollBar:u,shards:m,noIsolation:f,inert:h,setCallbacks:i,allowPinchZoom:!!v,lockRef:r,gapMode:y}),l?e.cloneElement(e.Children.only(s),me(me({},x),{ref:E})):e.createElement(w,me({},x,{className:c,ref:E}),s))}));Ce.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},Ce.classNames={fullWidth:he,zeroRight:fe};function Oe(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=function(){if("undefined"!=typeof __webpack_nonce__)return __webpack_nonce__}();return t&&e.setAttribute("nonce",t),e}var Me=function(){var e=0,t=null;return{add:function(n){var r;0==e&&(t=Oe())&&(!function(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}(t,n),r=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(r)),e++},remove:function(){! --e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Ae=function(){var t,n=(t=Me(),function(n,r){e.useEffect((function(){return t.add(n),function(){t.remove()}}),[n&&r])});return function(e){var t=e.styles,r=e.dynamic;return n(t,r),null}},Se={left:0,top:0,right:0,gap:0},De=function(e){return parseInt(e||"",10)||0},Pe=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return Se;var t=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[De(n),De(r),De(o)]}(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Ne=Ae(),qe="data-scroll-locked",ke=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(l,"px ").concat(r,";\n }\n body[").concat(qe,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(fe," {\n right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(he," {\n margin-right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(fe," .").concat(fe," {\n right: 0 ").concat(r,";\n }\n \n .").concat(he," .").concat(he," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(qe,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},Re=function(){var e=parseInt(document.body.getAttribute(qe)||"0",10);return isFinite(e)?e:0},Te=function(t){var n=t.noRelative,r=t.noImportant,o=t.gapMode,a=void 0===o?"margin":o;e.useEffect((function(){return document.body.setAttribute(qe,(Re()+1).toString()),function(){var e=Re()-1;e<=0?document.body.removeAttribute(qe):document.body.setAttribute(qe,e.toString())}}),[]);var i=e.useMemo((function(){return Pe(a)}),[a]);return e.createElement(Ne,{styles:ke(i,!n,a,r?"":"!important")})},Ie=!1;if("undefined"!=typeof window)try{var Le=Object.defineProperty({},"passive",{get:function(){return Ie=!0,!0}});window.addEventListener("test",Le,Le),window.removeEventListener("test",Le,Le)}catch(e){Ie=!1}var Be=!!Ie&&{passive:!1},Fe=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])},ze=function(e,t){var n=t.ownerDocument,r=t;do{if("undefined"!=typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),je(e,r)){var o=Ve(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},je=function(e,t){return"v"===e?function(e){return Fe(e,"overflowY")}(t):function(e){return Fe(e,"overflowX")}(t)},Ve=function(e,t){return"v"===e?[(n=t).scrollTop,n.scrollHeight,n.clientHeight]:function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]}(t);var n},He=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Ue=function(e){return[e.deltaX,e.deltaY]},We=function(e){return e&&"current"in e?e.current:e},Ke=function(e){return"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")},Qe=0,Ge=[];function $e(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Xe,Ye=(Xe=function(t){var n=e.useRef([]),r=e.useRef([0,0]),o=e.useRef(),a=e.useState(Qe++)[0],i=e.useState(Ae)[0],l=e.useRef(t);e.useEffect((function(){l.current=t}),[t]),e.useEffect((function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(a));var e=function(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}([t.lockRef.current],(t.shards||[]).map(We),!0).filter(Boolean);return e.forEach((function(e){return e.classList.add("allow-interactivity-".concat(a))})),function(){document.body.classList.remove("block-interactivity-".concat(a)),e.forEach((function(e){return e.classList.remove("allow-interactivity-".concat(a))}))}}}),[t.inert,t.lockRef.current,t.shards]);var s=e.useCallback((function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!l.current.allowPinchZoom;var n,a=He(e),i=r.current,s="deltaX"in e?e.deltaX:i[0]-a[0],c="deltaY"in e?e.deltaY:i[1]-a[1],u=e.target,d=Math.abs(s)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var m=ze(d,u);if(!m)return!0;if(m?n=d:(n="v"===d?"h":"v",m=ze(d,u)),!m)return!1;if(!o.current&&"changedTouches"in e&&(s||c)&&(o.current=n),!n)return!0;var p=o.current||n;return function(e,t,n,r){var o=function(e,t){return"h"===e&&"rtl"===t?-1:1}(e,window.getComputedStyle(t).direction),a=o*r,i=n.target,l=t.contains(i),s=!1,c=a>0,u=0,d=0;do{var m=Ve(e,i),p=m[0],f=m[1]-m[2]-o*p;(p||f)&&je(e,i)&&(u+=f,d+=p),i=i instanceof ShadowRoot?i.host:i.parentNode}while(!l&&i!==document.body||l&&(t.contains(i)||t===i));return(c&&Math.abs(u)<1||!c&&Math.abs(d)<1)&&(s=!0),s}(p,t,e,"h"===p?s:c)}),[]),c=e.useCallback((function(e){var t=e;if(Ge.length&&Ge[Ge.length-1]===i){var r="deltaY"in t?Ue(t):He(t),o=n.current.filter((function(e){return e.name===t.type&&(e.target===t.target||t.target===e.shadowParent)&&(n=e.delta,o=r,n[0]===o[0]&&n[1]===o[1]);var n,o}))[0];if(o&&o.should)t.cancelable&&t.preventDefault();else if(!o){var a=(l.current.shards||[]).map(We).filter(Boolean).filter((function(e){return e.contains(t.target)}));(a.length>0?s(t,a[0]):!l.current.noIsolation)&&t.cancelable&&t.preventDefault()}}}),[]),u=e.useCallback((function(e,t,r,o){var a={name:e,delta:t,target:r,should:o,shadowParent:$e(r)};n.current.push(a),setTimeout((function(){n.current=n.current.filter((function(e){return e!==a}))}),1)}),[]),d=e.useCallback((function(e){r.current=He(e),o.current=void 0}),[]),m=e.useCallback((function(e){u(e.type,Ue(e),e.target,s(e,t.lockRef.current))}),[]),p=e.useCallback((function(e){u(e.type,He(e),e.target,s(e,t.lockRef.current))}),[]);e.useEffect((function(){return Ge.push(i),t.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:p}),document.addEventListener("wheel",c,Be),document.addEventListener("touchmove",c,Be),document.addEventListener("touchstart",d,Be),function(){Ge=Ge.filter((function(e){return e!==i})),document.removeEventListener("wheel",c,Be),document.removeEventListener("touchmove",c,Be),document.removeEventListener("touchstart",d,Be)}}),[]);var f=t.removeScrollBar,h=t.inert;return e.createElement(e.Fragment,null,h?e.createElement(i,{styles:Ke(a)}):null,f?e.createElement(Te,{gapMode:t.gapMode}):null)},Ee.useMedium(Xe),_e),Ze=e.forwardRef((function(t,n){return e.createElement(Ce,me({},t,{ref:n,sideCar:Ye}))}));Ze.classNames=Ce.classNames;var Je=new WeakMap,et=new WeakMap,tt={},nt=0,rt=function(e){return e&&(e.host||rt(e.parentNode))},ot=function(e,t,n,r){var o=function(e,t){return t.map((function(t){if(e.contains(t))return t;var n=rt(t);return n&&e.contains(n)?n:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)})).filter((function(e){return Boolean(e)}))}(t,Array.isArray(e)?e:[e]);tt[n]||(tt[n]=new WeakMap);var a=tt[n],i=[],l=new Set,s=new Set(o),c=function(e){e&&!l.has(e)&&(l.add(e),c(e.parentNode))};o.forEach(c);var u=function(e){e&&!s.has(e)&&Array.prototype.forEach.call(e.children,(function(e){if(l.has(e))u(e);else try{var t=e.getAttribute(r),o=null!==t&&"false"!==t,s=(Je.get(e)||0)+1,c=(a.get(e)||0)+1;Je.set(e,s),a.set(e,c),i.push(e),1===s&&o&&et.set(e,!0),1===c&&e.setAttribute(n,"true"),o||e.setAttribute(r,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}}))};return u(t),l.clear(),nt++,function(){i.forEach((function(e){var t=Je.get(e)-1,o=a.get(e)-1;Je.set(e,t),a.set(e,o),t||(et.has(e)||e.removeAttribute(r),et.delete(e)),o||e.removeAttribute(n)})),--nt||(Je=new WeakMap,Je=new WeakMap,et=new WeakMap,tt={})}},at=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=function(e){return"undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body}(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live]"))),ot(r,o,n,"aria-hidden")):function(){return null}},it="Dialog",[lt,st]=C(it),[ct,ut]=lt(it),dt=t=>{const{__scopeDialog:n,children:r,open:o,defaultOpen:a,onOpenChange:i,modal:l=!0}=t,s=e.useRef(null),c=e.useRef(null),[u=!1,m]=T({prop:o,defaultProp:a,onChange:i});return d(ct,{scope:n,triggerRef:s,contentRef:c,contentId:k(),titleId:k(),descriptionId:k(),open:u,onOpenChange:m,onOpenToggle:e.useCallback((()=>m((e=>!e))),[m]),modal:l,children:r})};dt.displayName=it;var mt="DialogTrigger",pt=e.forwardRef(((e,t)=>{const{__scopeDialog:n,...r}=e,o=ut(mt,n),a=S(t,o.triggerRef);return d(z.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":qt(o.open),...r,ref:a,onClick:D(e.onClick,o.onOpenToggle)})}));pt.displayName=mt;var ft="DialogPortal",[ht,vt]=lt(ft,{forceMount:void 0}),gt=t=>{const{__scopeDialog:n,forceMount:r,children:o,container:a}=t,i=ut(ft,n);return d(ht,{scope:n,forceMount:r,children:e.Children.map(o,(e=>d(le,{present:r||i.open,children:d(ie,{asChild:!0,container:a,children:e})})))})};gt.displayName=ft;var wt="DialogOverlay",yt=e.forwardRef(((e,t)=>{const n=vt(wt,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=ut(wt,e.__scopeDialog);return a.modal?d(le,{present:r||a.open,children:d(bt,{...o,ref:t})}):null}));yt.displayName=wt;var bt=e.forwardRef(((e,t)=>{const{__scopeDialog:n,...r}=e,o=ut(wt,n);return d(Ze,{as:I,allowPinchZoom:!0,shards:[o.contentRef],children:d(z.div,{"data-state":qt(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})})),_t="DialogContent",Et=e.forwardRef(((e,t)=>{const n=vt(_t,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=ut(_t,e.__scopeDialog);return d(le,{present:r||a.open,children:a.modal?d(xt,{...o,ref:t}):d(Ct,{...o,ref:t})})}));Et.displayName=_t;var xt=e.forwardRef(((t,n)=>{const r=ut(_t,t.__scopeDialog),o=e.useRef(null),a=S(n,r.contentRef,o);return e.useEffect((()=>{const e=o.current;if(e)return at(e)}),[]),d(Ot,{...t,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:D(t.onCloseAutoFocus,(e=>{e.preventDefault(),r.triggerRef.current?.focus()})),onPointerDownOutside:D(t.onPointerDownOutside,(e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()})),onFocusOutside:D(t.onFocusOutside,(e=>e.preventDefault()))})})),Ct=e.forwardRef(((t,n)=>{const r=ut(_t,t.__scopeDialog),o=e.useRef(!1),a=e.useRef(!1);return d(Ot,{...t,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{t.onCloseAutoFocus?.(e),e.defaultPrevented||(o.current||r.triggerRef.current?.focus(),e.preventDefault()),o.current=!1,a.current=!1},onInteractOutside:e=>{t.onInteractOutside?.(e),e.defaultPrevented||(o.current=!0,"pointerdown"===e.detail.originalEvent.type&&(a.current=!0));const n=e.target,i=r.triggerRef.current?.contains(n);i&&e.preventDefault(),"focusin"===e.detail.originalEvent.type&&a.current&&e.preventDefault()}})})),Ot=e.forwardRef(((t,n)=>{const{__scopeDialog:r,trapFocus:o,onOpenAutoFocus:a,onCloseAutoFocus:i,...l}=t,s=ut(_t,r),c=e.useRef(null),u=S(n,c);return ue(),p(m,{children:[d(J,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:a,onUnmountAutoFocus:i,children:d(Q,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":qt(s.open),...l,ref:u,onDismiss:()=>s.onOpenChange(!1)})}),p(m,{children:[d(It,{titleId:s.titleId}),d(Lt,{contentRef:c,descriptionId:s.descriptionId})]})]})})),Mt="DialogTitle",At=e.forwardRef(((e,t)=>{const{__scopeDialog:n,...r}=e,o=ut(Mt,n);return d(z.h2,{id:o.titleId,...r,ref:t})}));At.displayName=Mt;var St="DialogDescription",Dt=e.forwardRef(((e,t)=>{const{__scopeDialog:n,...r}=e,o=ut(St,n);return d(z.p,{id:o.descriptionId,...r,ref:t})}));Dt.displayName=St;var Pt="DialogClose",Nt=e.forwardRef(((e,t)=>{const{__scopeDialog:n,...r}=e,o=ut(Pt,n);return d(z.button,{type:"button",...r,ref:t,onClick:D(e.onClick,(()=>o.onOpenChange(!1)))})}));function qt(e){return e?"open":"closed"}Nt.displayName=Pt;var kt="DialogTitleWarning",[Rt,Tt]=function(t,n){const r=e.createContext(n),o=t=>{const{children:n,...o}=t,a=e.useMemo((()=>o),Object.values(o));return d(r.Provider,{value:a,children:n})};return o.displayName=t+"Provider",[o,function(o){const a=e.useContext(r);if(a)return a;if(void 0!==n)return n;throw new Error(`\`${o}\` must be used within \`${t}\``)}]}(kt,{contentName:_t,titleName:Mt,docsSlug:"dialog"}),It=({titleId:t})=>{const n=Tt(kt),r=`\`${n.contentName}\` requires a \`${n.titleName}\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return e.useEffect((()=>{if(t){document.getElementById(t)||console.error(r)}}),[r,t]),null},Lt=({contentRef:t,descriptionId:n})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Tt("DialogDescriptionWarning").contentName}}.`;return e.useEffect((()=>{const e=t.current?.getAttribute("aria-describedby");if(n&&e){document.getElementById(n)||console.warn(r)}}),[r,t,n]),null},Bt=dt,Ft=pt,zt=gt,jt=yt,Vt=Et,Ht=At,Ut=Dt,Wt=Nt,Kt="AlertDialog",[Qt,Gt]=C(Kt,[st]),$t=st(),Xt=e=>{const{__scopeAlertDialog:t,...n}=e,r=$t(t);return d(Bt,{...r,...n,modal:!0})};Xt.displayName=Kt;e.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=$t(n);return d(Ft,{...o,...r,ref:t})})).displayName="AlertDialogTrigger";var Yt=e=>{const{__scopeAlertDialog:t,...n}=e,r=$t(t);return d(zt,{...r,...n})};Yt.displayName="AlertDialogPortal";var Zt=e.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=$t(n);return d(jt,{...o,...r,ref:t})}));Zt.displayName="AlertDialogOverlay";var Jt="AlertDialogContent",[en,tn]=Qt(Jt),nn=e.forwardRef(((t,n)=>{const{__scopeAlertDialog:r,children:o,...a}=t,i=$t(r),l=e.useRef(null),s=S(n,l),c=e.useRef(null);return d(Rt,{contentName:Jt,titleName:rn,docsSlug:"alert-dialog",children:d(en,{scope:r,cancelRef:c,children:p(Vt,{role:"alertdialog",...i,...a,ref:s,onOpenAutoFocus:D(a.onOpenAutoFocus,(e=>{e.preventDefault(),c.current?.focus({preventScroll:!0})})),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[d(B,{children:o}),d(mn,{contentRef:l})]})})})}));nn.displayName=Jt;var rn="AlertDialogTitle",on=e.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=$t(n);return d(Ht,{...o,...r,ref:t})}));on.displayName=rn;var an="AlertDialogDescription",ln=e.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=$t(n);return d(Ut,{...o,...r,ref:t})}));ln.displayName=an;var sn=e.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...r}=e,o=$t(n);return d(Wt,{...o,...r,ref:t})}));sn.displayName="AlertDialogAction";var cn="AlertDialogCancel",un=e.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...r}=e,{cancelRef:o}=tn(cn,n),a=$t(n),i=S(t,o);return d(Wt,{...a,...r,ref:i})}));un.displayName=cn;var dn,mn=({contentRef:t})=>{const n=`\`${Jt}\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \`${Jt}\` by passing a \`${an}\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Jt}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return e.useEffect((()=>{document.getElementById(t.current?.getAttribute("aria-describedby"))||console.warn(n)}),[n,t]),null},pn=Xt,fn=Yt,hn=Zt,vn=nn,gn=sn,wn=un,yn=on,bn=ln;function _n(){return _n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_n.apply(null,arguments)}var En=r((function(t){return e.createElement("svg",_n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),dn||(dn=e.createElement("path",{fill:"#5D676B",d:"m12 13.4-4.9 4.9a.95.95 0 0 1-.7.276.95.95 0 0 1-.7-.275.95.95 0 0 1-.275-.7q0-.426.275-.7l4.9-4.9-4.9-4.9a.95.95 0 0 1-.275-.7q0-.426.275-.7a.95.95 0 0 1 .7-.275q.424 0 .7.275l4.9 4.9 4.9-4.9a.95.95 0 0 1 .7-.275q.424 0 .7.275a.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7L13.4 12l4.9 4.9a.95.95 0 0 1 .275.7.95.95 0 0 1-.275.7.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275z"})))})),xn={loader:"Loader-modules_loader__waPdv",rotate:"Loader-modules_rotate__vBNW3",spin:"Loader-modules_spin__i7TnV",small:"Loader-modules_small__ACDdJ",inheritColor:"Loader-modules_inheritColor__4aWvb"};function Cn({size:e="medium",className:n="",inheritColor:r=!1}){return t.createElement("span",{className:x("demio-ui-loader",xn.loader,{[xn[e]]:e,[xn.inheritColor]:r,[n]:n})})}var On={button:"Button-modules_button__tpJr3",secondary:"Button-modules_secondary__JGOIF",outline:"Button-modules_outline__R9gjd",danger:"Button-modules_danger__eTzli",small:"Button-modules_small__dNTOw",large:"Button-modules_large__5tvgy",prefix:"Button-modules_prefix__86hpR",suffix:"Button-modules_suffix__5uHiO",fullWidth:"Button-modules_fullWidth__3ET8J"};const Mn=t.forwardRef((({disabled:e=!1,children:n,onClick:r,size:o="medium",variant:a="primary",type:i="button",prefix:l="",suffix:s="",className:c="",fullWidth:u=!1,showLoader:d=!1,...m},p)=>t.createElement("button",{ref:p,type:i,disabled:e,className:x("demio-ui-button",On.button,{[c]:c,[On[o]]:o,[On[a]]:a,[On.fullWidth]:u}),onClick:r,...m},(l||d)&&t.createElement("span",{className:x("demio-ui-button-prefix",On.prefix)},d?t.createElement(Cn,{size:"small",inheritColor:!0}):l),n,s&&t.createElement("span",{className:x("demio-ui-button-suffix",On.suffix)},s))));var An="Alert-modules_overlay__4XRHj",Sn="Alert-modules_close__dyL0l",Dn="Alert-modules_content__Y7nMS",Pn="Alert-modules_title__e8UHT",Nn="Alert-modules_description__wyWR-",qn="Alert-modules_buttons__cOEDw";function kn({className:e="",open:n,actionText:r="OK",onActionClick:o,cancelText:a="Cancel",onCancelClick:i,title:l,description:s="",showLoader:c=!1,isOkDisabled:u=!1,actionButtonType:d="danger",maxWidth:m="540px",onClose:p,isCloseButtonVisible:f=!0,...h}){return t.createElement(pn,{open:n,...h},t.createElement(fn,null,t.createElement(hn,{className:x("demio-ui-alert__overlay",An)}),t.createElement(vn,{className:x("demio-ui-alert",Dn,e),style:{maxWidth:m}},f&&t.createElement("button",{className:x("demio-ui-alert__close-button",Sn),onClick:p||i,"data-testid":"close-button"},t.createElement(En,null)),t.createElement(yn,{className:x("demio-ui-alert__title",Pn)},l),s&&t.createElement(bn,{className:x("demio-ui-alert__description",Nn)},s),t.createElement("div",{className:x("demio-ui-alert__action-buttons",qn)},t.createElement(wn,{asChild:!0},t.createElement(Mn,{onClick:i,variant:"outline"},a)),t.createElement(gn,{asChild:!0},t.createElement(Mn,{onClick:o,disabled:u,variant:d,showLoader:c},r))))))}var Rn="Avatar",[Tn,In]=C(Rn),[Ln,Bn]=Tn(Rn),Fn=e.forwardRef(((t,n)=>{const{__scopeAvatar:r,...o}=t,[a,i]=e.useState("idle");return d(Ln,{scope:r,imageLoadingStatus:a,onImageLoadingStatusChange:i,children:d(z.span,{...o,ref:n})})}));Fn.displayName=Rn;var zn="AvatarImage",jn=e.forwardRef(((t,n)=>{const{__scopeAvatar:r,src:o,onLoadingStatusChange:a=()=>{},...i}=t,l=Bn(zn,r),s=function(t,n){const[r,o]=e.useState("idle");return P((()=>{if(!t)return void o("error");let e=!0;const r=new window.Image,a=t=>()=>{e&&o(t)};return o("loading"),r.onload=a("loaded"),r.onerror=a("error"),r.src=t,n&&(r.referrerPolicy=n),()=>{e=!1}}),[t,n]),r}(o,i.referrerPolicy),c=R((e=>{a(e),l.onImageLoadingStatusChange(e)}));return P((()=>{"idle"!==s&&c(s)}),[s,c]),"loaded"===s?d(z.img,{...i,ref:n,src:o}):null}));jn.displayName=zn;var Vn="AvatarFallback",Hn=e.forwardRef(((t,n)=>{const{__scopeAvatar:r,delayMs:o,...a}=t,i=Bn(Vn,r),[l,s]=e.useState(void 0===o);return e.useEffect((()=>{if(void 0!==o){const e=window.setTimeout((()=>s(!0)),o);return()=>window.clearTimeout(e)}}),[o]),l&&"loaded"!==i.imageLoadingStatus?d(z.span,{...a,ref:n}):null}));Hn.displayName=Vn;var Un,Wn,Kn=Fn,Qn=jn,Gn=Hn;function $n(){return $n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$n.apply(null,arguments)}var Xn,Yn=r((function(t){return e.createElement("svg",$n({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Un||(Un=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),Wn||(Wn=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M12 18.75a.73.73 0 0 1-.535-.216.73.73 0 0 1-.215-.534v-5.25H6a.73.73 0 0 1-.534-.216A.73.73 0 0 1 5.25 12q0-.32.216-.535A.73.73 0 0 1 6 11.25h5.25V6q0-.319.216-.534A.73.73 0 0 1 12 5.25q.32 0 .535.216A.73.73 0 0 1 12.75 6v5.25H18q.318 0 .534.216a.73.73 0 0 1 .216.534q0 .32-.216.535a.73.73 0 0 1-.534.215h-5.25V18q0 .318-.216.534a.73.73 0 0 1-.534.216"}))))}));function Zn(){return Zn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Zn.apply(null,arguments)}var Jn,er,tr=r((function(t){return e.createElement("svg",Zn({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Xn||(Xn=e.createElement("path",{fill:"#2C3336",d:"m12.277 22.093.928-.928a.56.56 0 0 0 0-.796l-7.272-7.271h16.005c.31 0 .562-.252.562-.563v-1.312a.563.563 0 0 0-.562-.563H5.933l7.272-7.272a.56.56 0 0 0 0-.795l-.928-.928a.563.563 0 0 0-.796 0L1.665 11.48a.563.563 0 0 0 0 .796l9.816 9.816c.22.22.576.22.796 0"})))}));function nr(){return nr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},nr.apply(null,arguments)}var rr,or=r((function(t){return e.createElement("svg",nr({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Jn||(Jn=e.createElement("path",{fill:"#2C3336",d:"m3.166 11.602 6.93-6.938a.57.57 0 0 1 .803 0l.935.928a.56.56 0 0 1 0 .797L6.24 12l5.594 5.61a.56.56 0 0 1 0 .798l-.935.928a.57.57 0 0 1-.803 0l-6.93-6.938a.56.56 0 0 1 0-.796"})),er||(er=e.createElement("path",{fill:"#2C3336",d:"m12.166 11.602 6.93-6.938a.57.57 0 0 1 .803 0l.935.928a.56.56 0 0 1 0 .797L15.24 12l5.594 5.61a.56.56 0 0 1 0 .798l-.935.928a.57.57 0 0 1-.803 0l-6.93-6.938a.56.56 0 0 1 0-.796"})))}));function ar(){return ar=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ar.apply(null,arguments)}var ir,lr=r((function(t){return e.createElement("svg",ar({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),rr||(rr=e.createElement("path",{fill:"#2C3336",d:"m7.697 11.602 6.881-6.938c.22-.22.577-.22.797 0l.928.928c.22.22.22.577 0 .797L10.748 12l5.555 5.61c.22.221.22.578 0 .798l-.928.928a.563.563 0 0 1-.797 0l-6.881-6.938a.563.563 0 0 1 0-.796"})))}));function sr(){return sr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},sr.apply(null,arguments)}var cr,ur=r((function(t){return e.createElement("svg",sr({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ir||(ir=e.createElement("path",{fill:"#2C3336",d:"M23.626 10.875c0-6.387-5.154-10.5-11.625-10.5C5.576.375.376 5.575.376 12s5.2 11.625 11.625 11.625c2.481 0 4.907-.8 6.895-2.265a.56.56 0 0 0 .098-.807l-.713-.872a.564.564 0 0 0-.77-.095A9.4 9.4 0 0 1 12 21.375c-5.17 0-9.375-4.206-9.375-9.375 0-5.17 4.206-9.375 9.375-9.375 5.132 0 9.375 3.048 9.375 8.25 0 2.958-1.991 4.607-3.891 4.607-.915 0-.944-.591-.768-1.474l1.342-6.964a.562.562 0 0 0-.552-.669H15.67a.56.56 0 0 0-.552.456c-.052.269-.078.391-.107.656-.559-.916-1.682-1.456-3.056-1.456-3.356 0-6.329 2.93-6.329 7.166 0 2.867 1.541 4.786 4.368 4.786 1.397 0 2.876-.789 3.738-1.98.195 1.446 1.336 1.782 2.783 1.782 4.649 0 7.111-2.982 7.111-6.91m-12.839 4.563c-1.335 0-2.131-.912-2.131-2.44 0-2.695 1.854-4.378 3.497-4.378 1.412 0 2.131 1.01 2.131 2.418 0 2.196-1.555 4.4-3.497 4.4"})))}));function dr(){return dr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},dr.apply(null,arguments)}var mr,pr,fr=r((function(t){return e.createElement("svg",dr({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),cr||(cr=e.createElement("path",{fill:"currentColor",d:"M3 21a.97.97 0 0 1-.712-.288A.97.97 0 0 1 2 20q0-.424.288-.712A.97.97 0 0 1 3 19h18q.424 0 .712.288.288.287.288.712 0 .424-.288.712A.97.97 0 0 1 21 21zm1.5-3q-.625 0-1.062-.437A1.45 1.45 0 0 1 3 16.5v-4q0-.625.438-1.062A1.45 1.45 0 0 1 4.5 11q.624 0 1.063.438Q6 11.875 6 12.5v4q0 .625-.437 1.063A1.45 1.45 0 0 1 4.5 18m5 0q-.625 0-1.062-.437A1.45 1.45 0 0 1 8 16.5v-9q0-.625.438-1.062A1.45 1.45 0 0 1 9.5 6q.624 0 1.063.438Q11 6.874 11 7.5v9q0 .625-.437 1.063A1.45 1.45 0 0 1 9.5 18m5 0q-.625 0-1.062-.437A1.45 1.45 0 0 1 13 16.5v-6q0-.625.438-1.062A1.45 1.45 0 0 1 14.5 9q.624 0 1.063.438Q16 9.874 16 10.5v6q0 .625-.437 1.063A1.45 1.45 0 0 1 14.5 18m5 0q-.625 0-1.062-.437A1.45 1.45 0 0 1 18 16.5v-12q0-.625.438-1.062A1.45 1.45 0 0 1 19.5 3q.625 0 1.063.438Q21 3.874 21 4.5v12q0 .625-.437 1.063A1.45 1.45 0 0 1 19.5 18"})))}));function hr(){return hr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hr.apply(null,arguments)}var vr,gr,wr=r((function(t){return e.createElement("svg",hr({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},mr||(mr=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),pr||(pr=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#42454B",d:"M12.002 21.5a9.3 9.3 0 0 1-3.705-.748 9.6 9.6 0 0 1-3.018-2.03 9.6 9.6 0 0 1-2.03-3.016 9.2 9.2 0 0 1-.749-3.704q0-1.972.748-3.705a9.6 9.6 0 0 1 2.03-3.018 9.6 9.6 0 0 1 3.016-2.03 9.2 9.2 0 0 1 3.704-.749q1.972 0 3.705.748a9.6 9.6 0 0 1 3.018 2.03 9.6 9.6 0 0 1 2.03 3.016 9.2 9.2 0 0 1 .749 3.704q0 1.972-.748 3.705a9.6 9.6 0 0 1-2.03 3.018 9.6 9.6 0 0 1-3.016 2.03 9.2 9.2 0 0 1-3.704.749M12 20q3.35 0 5.675-2.325T20 12q0-1.408-.48-2.71a8.1 8.1 0 0 0-1.374-2.382L6.908 18.146a7.9 7.9 0 0 0 2.382 1.378A7.8 7.8 0 0 0 12 20m-6.146-2.908L17.092 5.854a7.6 7.6 0 0 0-2.375-1.383A8 8 0 0 0 12 4Q8.65 4 6.325 6.325T4 12q0 1.408.476 2.71a7.9 7.9 0 0 0 1.378 2.382"}))))}));function yr(){return yr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},yr.apply(null,arguments)}var br,_r,Er=r((function(t){return e.createElement("svg",yr({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},vr||(vr=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),gr||(gr=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M3 14.5a.48.48 0 0 1-.35-.15.48.48 0 0 1 0-.7.48.48 0 0 1 .7 0 .48.48 0 0 1 0 .7.48.48 0 0 1-.35.15m0-4a.48.48 0 0 1-.35-.15.48.48 0 0 1 0-.7.48.48 0 0 1 .7 0 .48.48 0 0 1 0 .7.48.48 0 0 1-.35.15m3 8.423a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.392.265-.658A.9.9 0 0 1 6 17.077q.392 0 .658.265a.9.9 0 0 1 .265.658q0 .392-.265.658a.9.9 0 0 1-.658.265m0-4a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.391.265-.658A.9.9 0 0 1 6 13.077q.392 0 .658.265a.9.9 0 0 1 .265.658q0 .391-.265.658a.9.9 0 0 1-.658.265m0-4a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.392.265-.658A.9.9 0 0 1 6 9.077q.392 0 .658.265a.9.9 0 0 1 .265.658q0 .391-.265.658a.9.9 0 0 1-.658.265m0-4a.9.9 0 0 1-.658-.265A.9.9 0 0 1 5.077 6q0-.392.265-.658A.9.9 0 0 1 6 5.077q.392 0 .658.265A.9.9 0 0 1 6.923 6q0 .392-.265.658A.9.9 0 0 1 6 6.923m4.002 8.423q-.56 0-.954-.392a1.3 1.3 0 0 1-.394-.952q0-.56.392-.954.391-.394.952-.394t.954.392q.394.391.394.952t-.392.954a1.3 1.3 0 0 1-.952.394m0-4q-.56 0-.954-.392a1.3 1.3 0 0 1-.394-.952q0-.56.392-.954.391-.394.952-.394t.954.392q.394.391.394.952t-.392.954a1.3 1.3 0 0 1-.952.394M10 18.923a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.392.265-.658a.9.9 0 0 1 .658-.265q.391 0 .658.265a.9.9 0 0 1 .265.658q0 .392-.265.658a.9.9 0 0 1-.658.265m0-12a.9.9 0 0 1-.658-.265A.9.9 0 0 1 9.077 6q0-.392.265-.658A.9.9 0 0 1 10 5.077q.391 0 .658.265a.9.9 0 0 1 .265.658q0 .392-.265.658a.9.9 0 0 1-.658.265M10 21.5a.48.48 0 0 1-.35-.15.48.48 0 0 1 0-.7.48.48 0 0 1 .7 0 .48.48 0 0 1 0 .7.48.48 0 0 1-.35.15m0-18a.48.48 0 0 1-.35-.15.48.48 0 0 1 0-.7.48.48 0 0 1 .7 0 .48.48 0 0 1 0 .7.48.48 0 0 1-.35.15m4.002 11.846q-.56 0-.954-.392a1.3 1.3 0 0 1-.394-.952q0-.56.392-.954.391-.394.952-.394t.954.392q.394.391.394.952t-.392.954a1.3 1.3 0 0 1-.952.394m0-4q-.56 0-.954-.392a1.3 1.3 0 0 1-.394-.952q0-.56.392-.954.391-.394.952-.394t.954.392q.394.391.394.952t-.392.954a1.3 1.3 0 0 1-.952.394M14 18.923a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.392.265-.658a.9.9 0 0 1 .658-.265q.391 0 .658.265a.9.9 0 0 1 .265.658q0 .392-.265.658a.9.9 0 0 1-.658.265m0-12a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.392.265-.658A.9.9 0 0 1 14 5.077q.391 0 .658.265a.9.9 0 0 1 .265.658q0 .392-.265.658a.9.9 0 0 1-.658.265M14 21.5a.48.48 0 0 1-.35-.15.48.48 0 0 1 0-.7.48.48 0 0 1 .7 0 .48.48 0 0 1 0 .7.48.48 0 0 1-.35.15m0-18a.48.48 0 0 1-.35-.15.48.48 0 0 1 0-.7.48.48 0 0 1 .7 0 .48.48 0 0 1 0 .7.48.48 0 0 1-.35.15m4 15.423a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.392.265-.658a.9.9 0 0 1 .658-.265q.392 0 .658.265a.9.9 0 0 1 .265.658q0 .392-.265.658a.9.9 0 0 1-.658.265m0-4a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.391.265-.658a.9.9 0 0 1 .658-.265q.392 0 .658.265a.9.9 0 0 1 .265.658q0 .391-.265.658a.9.9 0 0 1-.658.265m0-4a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.392.265-.658A.9.9 0 0 1 18 9.077q.392 0 .658.265a.9.9 0 0 1 .265.658q0 .391-.265.658a.9.9 0 0 1-.658.265m0-4a.9.9 0 0 1-.658-.265.9.9 0 0 1-.265-.658q0-.392.265-.658A.9.9 0 0 1 18 5.077q.392 0 .658.265a.9.9 0 0 1 .265.658q0 .392-.265.658a.9.9 0 0 1-.658.265m3 7.577a.48.48 0 0 1-.35-.15.48.48 0 0 1 0-.7.48.48 0 0 1 .7 0 .48.48 0 0 1 0 .7.48.48 0 0 1-.35.15m0-4a.48.48 0 0 1-.35-.15.48.48 0 0 1 0-.7.48.48 0 0 1 .7 0 .48.48 0 0 1 0 .7.48.48 0 0 1-.35.15"}))))}));function xr(){return xr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xr.apply(null,arguments)}var Cr,Or,Mr=r((function(t){return e.createElement("svg",xr({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},br||(br=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),_r||(_r=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M12.05 19.75q-3.245 0-5.522-2.258T4.25 12v-.78l-1.323 1.322a.73.73 0 0 1-.522.213.7.7 0 0 1-.532-.213.72.72 0 0 1-.217-.527q0-.31.217-.527l2.494-2.494A.87.87 0 0 1 5 8.724a.87.87 0 0 1 .633.27l2.494 2.495q.208.207.212.521a.7.7 0 0 1-.212.532.72.72 0 0 1-.527.218.72.72 0 0 1-.527-.218L5.75 11.22V12q0 2.605 1.835 4.428t4.465 1.822q.439 0 .874-.06t.859-.204a.88.88 0 0 1 .603.02.8.8 0 0 1 .426.396.68.68 0 0 1 .018.585.66.66 0 0 1-.444.388q-.565.2-1.155.288a8 8 0 0 1-1.181.087m-.1-14q-.438 0-.874.06a4.6 4.6 0 0 0-.859.203.9.9 0 0 1-.61-.02.8.8 0 0 1-.434-.395.66.66 0 0 1-.023-.57.65.65 0 0 1 .423-.388q.581-.2 1.176-.295a7.6 7.6 0 0 1 1.201-.095q3.245 0 5.522 2.258T19.75 12v.78l1.323-1.322a.73.73 0 0 1 .522-.213.7.7 0 0 1 .532.213q.217.216.217.527a.72.72 0 0 1-.217.527l-2.494 2.494a.87.87 0 0 1-.633.27.87.87 0 0 1-.633-.27l-2.494-2.495a.72.72 0 0 1-.212-.522.7.7 0 0 1 .212-.531.72.72 0 0 1 .527-.218q.31 0 .527.218l1.323 1.323V12q0-2.605-1.835-4.428T11.95 5.75"}))))}));function Ar(){return Ar=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ar.apply(null,arguments)}var Sr,Dr=r((function(t){return e.createElement("svg",Ar({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 32 32"},t),e.createElement("mask",{id:"a",width:32,height:32,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Cr||(Cr=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h32v32H0z"}))),Or||(Or=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#11B06E",d:"M6.667 29.333a2.57 2.57 0 0 1-1.884-.783A2.57 2.57 0 0 1 4 26.666V8q0-1.1.783-1.883a2.57 2.57 0 0 1 1.884-.784H8V4q0-.567.383-.95a1.3 1.3 0 0 1 .95-.383q.567 0 .95.383.384.383.384.95v1.333h10.666V4q0-.567.384-.95a1.3 1.3 0 0 1 .95-.383q.566 0 .95.383Q24 3.433 24 4v1.333h1.333q1.1 0 1.884.784Q28 6.9 28 8v18.667q0 1.099-.783 1.883a2.57 2.57 0 0 1-1.884.783zm0-2.666h18.666V13.333H6.667zm9.333-8a1.3 1.3 0 0 1-.95-.384 1.3 1.3 0 0 1-.383-.95q0-.567.383-.95A1.3 1.3 0 0 1 16 16q.566 0 .95.383.383.383.383.95t-.383.95a1.3 1.3 0 0 1-.95.383m-5.333 0a1.3 1.3 0 0 1-.95-.384 1.3 1.3 0 0 1-.384-.95q0-.567.384-.95a1.3 1.3 0 0 1 .95-.383q.566 0 .95.383.383.383.383.95t-.383.95a1.3 1.3 0 0 1-.95.383m10.666 0a1.3 1.3 0 0 1-.95-.384 1.3 1.3 0 0 1-.383-.95q0-.567.383-.95a1.3 1.3 0 0 1 .95-.383q.567 0 .95.383.384.383.384.95t-.384.95a1.3 1.3 0 0 1-.95.383M16 24a1.3 1.3 0 0 1-.95-.384 1.3 1.3 0 0 1-.383-.95q0-.566.383-.95a1.3 1.3 0 0 1 .95-.383q.566 0 .95.384.383.383.383.95 0 .566-.383.95A1.3 1.3 0 0 1 16 24m-5.333 0a1.3 1.3 0 0 1-.95-.384 1.3 1.3 0 0 1-.384-.95q0-.566.384-.95a1.3 1.3 0 0 1 .95-.383q.566 0 .95.384.383.383.383.95 0 .566-.383.95a1.3 1.3 0 0 1-.95.383m10.666 0a1.3 1.3 0 0 1-.95-.384 1.3 1.3 0 0 1-.383-.95q0-.566.383-.95a1.3 1.3 0 0 1 .95-.383q.567 0 .95.384.384.383.384.95 0 .566-.384.95a1.3 1.3 0 0 1-.95.383"}))))}));function Pr(){return Pr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Pr.apply(null,arguments)}var Nr,qr,kr=r((function(t){return e.createElement("svg",Pr({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",width:"1em",height:"1em"},t),Sr||(Sr=e.createElement("path",{d:"M11.674 3.223H1.66A1.67 1.67 0 0 0 0 4.903v10.14c0 .927.743 1.68 1.66 1.68h10.014a1.67 1.67 0 0 0 1.66-1.68V4.902a1.67 1.67 0 0 0-1.66-1.68Zm6.576 1.325-3.806 2.658v5.533l3.806 2.655c.736.513 1.75-.01 1.75-.907V5.455c0-.893-1.01-1.42-1.75-.907"})))}));function Rr(){return Rr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Rr.apply(null,arguments)}var Tr,Ir=r((function(t){return e.createElement("svg",Rr({xmlns:"http://www.w3.org/2000/svg",fill:"none",width:"1em",height:"1em"},t),Nr||(Nr=e.createElement("g",{clipPath:"url(#a)"},e.createElement("path",{fill:"#98A2B3",d:"M3.25 3A3.25 3.25 0 0 0 0 6.25v7.5A3.25 3.25 0 0 0 3.25 17h7.5A3.25 3.25 0 0 0 14 13.75v-.312l3.258 2.25c1.16.8 2.744-.03 2.744-1.44V5.751c0-1.41-1.584-2.242-2.744-1.44L14 6.562V6.25A3.25 3.25 0 0 0 10.75 3zM14 8.384l4.11-2.838a.25.25 0 0 1 .392.206v8.495a.25.25 0 0 1-.392.206L14 11.615zM1.5 6.25c0-.966.784-1.75 1.75-1.75h7.5c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 0 1-1.75 1.75h-7.5a1.75 1.75 0 0 1-1.75-1.75z"}))),qr||(qr=e.createElement("defs",null,e.createElement("clipPath",{id:"a"},e.createElement("path",{fill:"#fff",d:"M0 0h20v20H0z"})))))}));function Lr(){return Lr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Lr.apply(null,arguments)}var Br,Fr,zr,jr,Vr,Hr=r((function(t){return e.createElement("svg",Lr({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Tr||(Tr=e.createElement("path",{d:"M17.333 10.333V3.667A2.67 2.67 0 0 0 14.667 1h-12A2.67 2.67 0 0 0 0 3.667v6.666A2.67 2.67 0 0 0 2.667 13v2.258c0 .334.379.525.646.325l3.45-2.587h7.904a2.663 2.663 0 0 0 2.666-2.663m4-2.666h-2.666v2.666c0 2.204-1.796 4-4 4H8V17a2.67 2.67 0 0 0 2.667 2.667h5.237l3.45 2.587c.267.2.646.008.646-.325v-2.262h1.333A2.67 2.67 0 0 0 24 17v-6.667a2.67 2.67 0 0 0-2.667-2.666"})))}));function Ur(){return Ur=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ur.apply(null,arguments)}var Wr,Kr=r((function(t){return e.createElement("svg",Ur({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Br||(Br=e.createElement("path",{fill:"#02BF6F",fillRule:"evenodd",d:"M0 15.6V2.4h2.4v13.2zM21.6 15.6V2.4H24v13.2zM21.6 2.4H2.4V0h19.2zM7.2 18H2.4v-2.4h4.8zM21.6 18h-4.8v-2.4h4.8z",clipRule:"evenodd"})),Fr||(Fr=e.createElement("path",{fill:"#02BF6F",d:"M24 2.4A2.4 2.4 0 0 0 21.6 0v2.4zM24 15.6a2.4 2.4 0 0 1-2.4 2.4v-2.4zM0 2.4A2.4 2.4 0 0 1 2.4 0v2.4zM0 15.6A2.4 2.4 0 0 0 2.4 18v-2.4zM7.2 15.6A2.4 2.4 0 0 1 9.6 18H7.2zM7.2 22.8a1.2 1.2 0 1 0 2.4 0z"})),zr||(zr=e.createElement("path",{fill:"#02BF6F",fillRule:"evenodd",d:"M7.2 22.8V18h2.4v4.8z",clipRule:"evenodd"})),jr||(jr=e.createElement("path",{fill:"#02BF6F",fillRule:"evenodd",d:"M17.777 16.103a1.2 1.2 0 0 1-.28 1.673l-8.4 6a1.2 1.2 0 0 1-1.394-1.953l8.4-6a1.2 1.2 0 0 1 1.673.28M12 6a3.6 3.6 0 1 0 0 7.2A3.6 3.6 0 0 0 12 6M6 9.6a6 6 0 1 1 12 0 6 6 0 0 1-12 0",clipRule:"evenodd"})),Vr||(Vr=e.createElement("path",{fill:"#02BF6F",fillRule:"evenodd",d:"M7.2 11.562 15.025 6l1.39 1.956-7.825 5.562z",clipRule:"evenodd"})))}));function Qr(){return Qr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Qr.apply(null,arguments)}var Gr,$r=r((function(t){return e.createElement("svg",Qr({fill:"currentColor","aria-hidden":"true","data-icon":"check",viewBox:"64 64 896 896",width:"1em",height:"1em"},t),Wr||(Wr=e.createElement("path",{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8"})))}));function Xr(){return Xr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xr.apply(null,arguments)}var Yr,Zr=r((function(t){return e.createElement("svg",Xr({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Gr||(Gr=e.createElement("path",{fill:"#2C3336",d:"m10.58 14.146-2.322-2.323a.72.72 0 0 0-.522-.212.7.7 0 0 0-.532.212.72.72 0 0 0-.217.527q0 .31.217.527l2.744 2.744a.87.87 0 0 0 .633.271q.361 0 .632-.27l5.564-5.564a.73.73 0 0 0 .212-.522.7.7 0 0 0-.212-.532.72.72 0 0 0-.527-.217.72.72 0 0 0-.527.217zm1.422 7.354a9.3 9.3 0 0 1-3.705-.748 9.6 9.6 0 0 1-3.018-2.03 9.6 9.6 0 0 1-2.03-3.016 9.2 9.2 0 0 1-.749-3.704q0-1.972.748-3.705a9.6 9.6 0 0 1 2.03-3.018 9.6 9.6 0 0 1 3.016-2.03 9.2 9.2 0 0 1 3.704-.749q1.972 0 3.705.748a9.6 9.6 0 0 1 3.018 2.03 9.6 9.6 0 0 1 2.03 3.016 9.2 9.2 0 0 1 .749 3.704q0 1.972-.748 3.705a9.6 9.6 0 0 1-2.03 3.018 9.6 9.6 0 0 1-3.016 2.03 9.2 9.2 0 0 1-3.704.749"})))}));function Jr(){return Jr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Jr.apply(null,arguments)}var eo,to=r((function(t){return e.createElement("svg",Jr({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Yr||(Yr=e.createElement("path",{fill:"#2C3336",d:"M23.938 12c0 6.42-5.205 11.625-11.625 11.625S.688 18.42.688 12 5.892.375 12.313.375C18.733.375 23.938 5.58 23.938 12m-12.97 6.155 8.625-8.625a.75.75 0 0 0 0-1.06l-1.06-1.06a.75.75 0 0 0-1.062 0l-7.033 7.033-3.285-3.284a.75.75 0 0 0-1.06 0l-1.06 1.06a.75.75 0 0 0 0 1.061l4.874 4.875a.75.75 0 0 0 1.06 0"})))}));function no(){return no=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},no.apply(null,arguments)}var ro,oo=r((function(t){return e.createElement("svg",no({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),eo||(eo=e.createElement("path",{fill:"#02BF6F",d:"m10.6 13.4-2.15-2.15a.95.95 0 0 0-.7-.275.95.95 0 0 0-.7.275.95.95 0 0 0-.275.7q0 .425.275.7L9.9 15.5q.3.3.7.3t.7-.3l5.65-5.65a.95.95 0 0 0 .275-.7.95.95 0 0 0-.275-.7.95.95 0 0 0-.7-.275.95.95 0 0 0-.7.275zM5 21q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 19V5q0-.824.587-1.412A1.93 1.93 0 0 1 5 3h14q.824 0 1.413.587Q21 4.176 21 5v14q0 .824-.587 1.413A1.93 1.93 0 0 1 19 21z"})))}));function ao(){return ao=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ao.apply(null,arguments)}var io,lo=r((function(t){return e.createElement("svg",ao({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ro||(ro=e.createElement("path",{fill:"#02BF6F",d:"M13 11.6V8a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 7a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 8v3.975q0 .2.075.388.075.187.225.337l3.3 3.3a.95.95 0 0 0 .7.275A.95.95 0 0 0 16 16a.95.95 0 0 0 .275-.7.95.95 0 0 0-.275-.7zM12 22a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.325 0 5.663-2.337T20 12t-2.337-5.662T12 4 6.338 6.338 4 12t2.338 5.663T12 20"})))}));function so(){return so=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},so.apply(null,arguments)}var co,uo=r((function(t){return e.createElement("svg",so({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),io||(io=e.createElement("path",{d:"M12 10.875V6.422c0-1.003 1.212-1.505 1.92-.796l1.3 1.299 5.26-5.26a.56.56 0 0 1 .795 0l1.06 1.06c.22.22.22.576 0 .796l-5.26 5.26 1.299 1.298c.709.71.207 1.921-.796 1.921h-4.453A1.125 1.125 0 0 1 12 10.875m-8.48 11.46 5.26-5.26 1.3 1.299c.708.709 1.92.207 1.92-.796v-4.453c0-.621-.504-1.125-1.125-1.125H6.422c-1.003 0-1.505 1.212-.796 1.92l1.299 1.3-5.26 5.26a.563.563 0 0 0 0 .795l1.06 1.06c.22.22.576.22.796 0Z"})))}));function mo(){return mo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mo.apply(null,arguments)}var po,fo,ho=r((function(t){return e.createElement("svg",mo({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),co||(co=e.createElement("path",{fill:"#2C3336",d:"M21.841 3.091 19.409.659A2.25 2.25 0 0 0 17.818 0H9.75A2.25 2.25 0 0 0 7.5 2.25V4.5H3.75A2.25 2.25 0 0 0 1.5 6.75v15A2.25 2.25 0 0 0 3.75 24h10.5a2.25 2.25 0 0 0 2.25-2.25V19.5h3.75a2.25 2.25 0 0 0 2.25-2.25V4.682a2.25 2.25 0 0 0-.659-1.591M18 1.523c.132.033.252.1.348.197l2.432 2.432a.74.74 0 0 1 .197.348H18zM15 21.75a.75.75 0 0 1-.75.75H3.75a.75.75 0 0 1-.75-.75v-15A.75.75 0 0 1 3.75 6H7.5v11.25a2.25 2.25 0 0 0 2.25 2.25H15zm6-4.5a.75.75 0 0 1-.75.75H9.75a.75.75 0 0 1-.75-.75v-15a.75.75 0 0 1 .75-.75h6.75v3.375c0 .619.506 1.125 1.125 1.125H21z"})))}));function vo(){return vo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vo.apply(null,arguments)}var go,wo,yo=r((function(t){return e.createElement("svg",vo({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:25,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},po||(po=e.createElement("path",{fill:"#D9D9D9",d:"M.5 0h24v24H.5z"}))),fo||(fo=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#02BF6F",d:"M14.5 21a.97.97 0 0 1-.713-.288A.97.97 0 0 1 13.5 20q0-.424.287-.712A.97.97 0 0 1 14.5 19q1.175 0 2.087-.462.913-.464.913-1.038 0-.35-.325-.65t-.9-.55l1.475-1.475q.8.476 1.275 1.125.475.65.475 1.55 0 1.65-1.575 2.575A6.64 6.64 0 0 1 14.5 21m-9.425-7.65q-.725-.425-1.15-.987T3.5 11q0-1.05.775-1.762.776-.714 2.775-1.588 1.574-.724 2.013-1.013Q9.5 6.35 9.5 6q0-.4-.488-.7T7.5 5q-.625 0-1.05.15t-.775.5A1.12 1.12 0 0 1 5 5.975a.9.9 0 0 1-.725-.225.94.94 0 0 1-.375-.65.9.9 0 0 1 .225-.725Q4.6 3.8 5.487 3.4T7.5 3q1.8 0 2.9.813T11.5 6q0 .975-.725 1.75-.725.776-2.925 1.725-1.45.625-1.9.925t-.45.6q0 .225.287.438.288.212.788.412zM19.35 10.4 15.1 6.15l1.05-1.05q.6-.6 1.438-.6.837 0 1.412.6l1.4 1.4q.6.575.6 1.412 0 .838-.6 1.438zM6.5 19h1.4l7.2-7.2-1.4-1.4-7.2 7.2zM5 21a.48.48 0 0 1-.35-.15.48.48 0 0 1-.15-.35v-3.55q0-.05.15-.35l9.05-9.05 4.25 4.25-9.05 9.05q-.05.05-.35.15z"}))))}));function bo(){return bo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},bo.apply(null,arguments)}var _o,Eo=r((function(t){return e.createElement("svg",bo({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},go||(go=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),wo||(wo=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M7.308 20.5q-.758 0-1.283-.525a1.75 1.75 0 0 1-.525-1.283V6h-.25a.73.73 0 0 1-.535-.215.73.73 0 0 1-.215-.535.73.73 0 0 1 .215-.535.73.73 0 0 1 .535-.215H9a.84.84 0 0 1 .263-.63.9.9 0 0 1 .64-.255h4.193q.377 0 .64.254A.84.84 0 0 1 15 4.5h3.75a.73.73 0 0 1 .535.215.73.73 0 0 1 .215.535.73.73 0 0 1-.215.535.73.73 0 0 1-.535.215h-.25v12.692q0 .758-.525 1.283t-1.283.525zM7 6v12.692a.3.3 0 0 0 .087.221.3.3 0 0 0 .22.087h9.385a.3.3 0 0 0 .221-.087.3.3 0 0 0 .087-.22V6zm2.404 10.25a.73.73 0 0 0 .215.535.73.73 0 0 0 .535.215.73.73 0 0 0 .534-.215.73.73 0 0 0 .216-.535v-7.5a.73.73 0 0 0-.216-.535.73.73 0 0 0-.534-.215.73.73 0 0 0-.535.215.73.73 0 0 0-.215.535zm3.692 0q0 .32.216.535a.73.73 0 0 0 .534.215.73.73 0 0 0 .535-.215.73.73 0 0 0 .215-.535v-7.5a.73.73 0 0 0-.215-.535.73.73 0 0 0-.535-.215.73.73 0 0 0-.534.215.73.73 0 0 0-.216.535zM7 6v12.692a.3.3 0 0 0 .087.221.3.3 0 0 0 .22.087H7z"}))))}));function xo(){return xo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xo.apply(null,arguments)}var Co,Oo=r((function(t){return e.createElement("svg",xo({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),_o||(_o=e.createElement("path",{fill:"#838B97",d:"M6 14q-.824 0-1.412-.588A1.93 1.93 0 0 1 4 12q0-.825.588-1.412A1.93 1.93 0 0 1 6 10q.824 0 1.412.588Q8 11.175 8 12t-.588 1.412A1.93 1.93 0 0 1 6 14m6 0q-.825 0-1.412-.588A1.93 1.93 0 0 1 10 12q0-.825.588-1.412A1.93 1.93 0 0 1 12 10q.825 0 1.412.588Q14 11.175 14 12t-.588 1.412A1.93 1.93 0 0 1 12 14m6 0q-.824 0-1.413-.588A1.93 1.93 0 0 1 16 12q0-.825.587-1.412A1.93 1.93 0 0 1 18 10q.824 0 1.413.588Q20 11.175 20 12t-.587 1.412A1.93 1.93 0 0 1 18 14"})))}));function Mo(){return Mo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mo.apply(null,arguments)}var Ao,So=r((function(t){return e.createElement("svg",Mo({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Co||(Co=e.createElement("path",{fill:"#2C3336",d:"M22 13.333h-3.837l1.92-1.92C21.338 10.157 20.45 8 18.671 8h-2.667V3.333a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2V8H5.338c-1.775 0-2.675 2.154-1.413 3.412l1.92 1.921H2a2 2 0 0 0-2 2v5.334a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2v-5.334a2 2 0 0 0-2-2M5.333 10H10V3.333h4V10h4.667L12 16.667zM22 20.667H2v-5.334h5.838l2.745 2.746a2 2 0 0 0 2.83 0l2.745-2.746H22zM18.333 18c0-.554.446-1 1-1 .555 0 1 .446 1 1s-.445 1-1 1-1-.446-1-1"})))}));function Do(){return Do=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Do.apply(null,arguments)}var Po,No,qo=r((function(t){return e.createElement("svg",Do({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Ao||(Ao=e.createElement("path",{fill:"#1C1B1F",d:"M4 21a.97.97 0 0 1-.712-.288A.97.97 0 0 1 3 20v-2.425a1.98 1.98 0 0 1 .575-1.4L16.2 3.575q.3-.275.663-.425.362-.15.762-.15t.775.15.65.45L20.425 5q.3.275.438.65a2.17 2.17 0 0 1 0 1.512 1.9 1.9 0 0 1-.438.663l-12.6 12.6a1.975 1.975 0 0 1-1.4.575zM17.6 7.8 19 6.4 17.6 5l-1.4 1.4z"})))}));function ko(){return ko=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ko.apply(null,arguments)}var Ro,To,Io=r((function(t){return e.createElement("svg",ko({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 20 20"},t),e.createElement("mask",{id:"a",width:20,height:20,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Po||(Po=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h20v20H0z"}))),No||(No=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#F19241",d:"m9.167 12.083-4.938-.625q-.52-.062-.677-.562-.156-.5.219-.854l8.52-8.167a.7.7 0 0 1 .25-.156q.147-.052.396-.052.417 0 .636.354t.01.729l-2.75 5.167 4.938.625q.52.062.677.562.156.5-.219.854l-8.52 8.167a.7.7 0 0 1-.25.156q-.147.052-.396.052a.7.7 0 0 1-.636-.354.68.68 0 0 1-.01-.729z"}))))}));function Lo(){return Lo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Lo.apply(null,arguments)}var Bo,Fo,zo=r((function(t){return e.createElement("svg",Lo({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 32 32"},t),e.createElement("mask",{id:"a",width:32,height:32,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Ro||(Ro=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h32v32H0z"}))),To||(To=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#11B06E",d:"M5.333 26.667a2.57 2.57 0 0 1-1.883-.784A2.57 2.57 0 0 1 2.667 24V8q0-1.1.783-1.883a2.57 2.57 0 0 1 1.883-.784h21.334q1.099 0 1.883.784.783.783.783 1.883v16q0 1.1-.783 1.883a2.57 2.57 0 0 1-1.883.784zm0-2.667h21.334V8H5.333zM8 22.667h16q.566 0 .95-.384a1.3 1.3 0 0 0 .383-.95 1.3 1.3 0 0 0-.383-.95A1.3 1.3 0 0 0 24 20H8a1.3 1.3 0 0 0-.95.383 1.3 1.3 0 0 0-.383.95q0 .567.383.95.383.384.95.384m0-5.334h16q.566 0 .95-.383a1.3 1.3 0 0 0 .383-.95 1.3 1.3 0 0 0-.383-.95 1.3 1.3 0 0 0-.95-.383H8a1.3 1.3 0 0 0-.95.383 1.3 1.3 0 0 0-.383.95q0 .566.383.95.383.383.95.383M8 12h10.667q.566 0 .95-.383a1.3 1.3 0 0 0 .383-.95 1.3 1.3 0 0 0-.383-.95 1.3 1.3 0 0 0-.95-.384H8a1.3 1.3 0 0 0-.95.384 1.3 1.3 0 0 0-.383.95q0 .566.383.95Q7.433 12 8 12"}))))}));function jo(){return jo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jo.apply(null,arguments)}var Vo,Ho=r((function(t){return e.createElement("svg",jo({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Bo||(Bo=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),Fo||(Fo=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#6C737A",d:"M5 22q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 20V6q0-.824.587-1.412A1.93 1.93 0 0 1 5 4h1V3q0-.424.287-.712A.97.97 0 0 1 7 2q.424 0 .713.288Q8 2.575 8 3v1h8V3q0-.424.288-.712A.97.97 0 0 1 17 2q.424 0 .712.288Q18 2.575 18 3v1h1q.824 0 1.413.588Q21 5.175 21 6v5q0 .424-.288.713A.97.97 0 0 1 20 12a.97.97 0 0 1-.712-.287A.97.97 0 0 1 19 11v-1H5v10h6q.424 0 .713.288.287.287.287.712 0 .424-.287.712A.97.97 0 0 1 11 22zm14 2q-1.6 0-2.863-.887a4.95 4.95 0 0 1-1.812-2.313.51.51 0 0 1 .063-.538.57.57 0 0 1 .487-.262q.35 0 .637.212.288.213.463.538a3.4 3.4 0 0 0 1.25 1.275A3.4 3.4 0 0 0 19 22.5q1.45 0 2.475-1.025A3.37 3.37 0 0 0 22.5 19q0-1.45-1.025-2.475A3.37 3.37 0 0 0 19 15.5a3.404 3.404 0 0 0-2.45 1h.7a.73.73 0 0 1 .75.75.73.73 0 0 1-.75.75H15a.97.97 0 0 1-.713-.288A.97.97 0 0 1 14 17v-2.25a.73.73 0 0 1 .75-.75.73.73 0 0 1 .75.75v.675q.675-.65 1.575-1.038A4.8 4.8 0 0 1 19 14q2.075 0 3.538 1.463T24 19t-1.462 3.538Q21.074 24 19 24M5 8h14V6H5z"}))))}));function Uo(){return Uo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Uo.apply(null,arguments)}var Wo,Ko=r((function(t){return e.createElement("svg",Uo({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Vo||(Vo=e.createElement("path",{fill:"#EDC121",d:"M23.625 12c0 6.422-5.205 11.625-11.625 11.625S.375 18.422.375 12C.375 5.582 5.58.375 12 .375S23.625 5.582 23.625 12M12 14.344a2.156 2.156 0 1 0 0 4.312 2.156 2.156 0 0 0 0-4.312m-2.047-7.75.348 6.374a.563.563 0 0 0 .561.532h2.276a.563.563 0 0 0 .562-.532l.347-6.375A.563.563 0 0 0 13.485 6h-2.97c-.323 0-.58.27-.562.593Z"})))}));function Qo(){return Qo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Qo.apply(null,arguments)}var Go,$o=r((function(t){return e.createElement("svg",Qo({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Wo||(Wo=e.createElement("path",{d:"M22.5 2.625v4.453c0 1.003-1.212 1.505-1.92.796l-1.3-1.299-5.026 5.027a.563.563 0 0 1-.796 0l-1.06-1.06a.563.563 0 0 1 0-.796l5.027-5.027-1.299-1.299c-.709-.708-.207-1.92.796-1.92h4.453c.621 0 1.125.504 1.125 1.125M9.746 12.398 4.72 17.425l-1.3-1.299c-.708-.709-1.92-.207-1.92.796v4.453c0 .621.504 1.125 1.125 1.125h4.453c1.003 0 1.505-1.212.796-1.92l-1.299-1.3 5.027-5.026a.563.563 0 0 0 0-.796l-1.06-1.06a.563.563 0 0 0-.796 0"})))}));function Xo(){return Xo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xo.apply(null,arguments)}var Yo,Zo,Jo=r((function(t){return e.createElement("svg",Xo({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 12 12",width:"1em",height:"1em"},t),Go||(Go=e.createElement("path",{fill:"#02BF6F",d:"m12 .8-.004 3.4a.3.3 0 0 1-.3.3h-.694a.3.3 0 0 1-.3-.306l.057-1.534-.043-.043-5.81 5.81a.25.25 0 0 1-.353 0l-.48-.48a.25.25 0 0 1 0-.354l5.81-5.81-.043-.042-1.534.056a.3.3 0 0 1-.306-.3V.804a.3.3 0 0 1 .3-.3L11.7.5a.3.3 0 0 1 .3.3M8.907 5.37l-.5.5a.25.25 0 0 0-.074.176v3.996a.125.125 0 0 1-.125.125H1.125A.125.125 0 0 1 1 10.042V2.958a.125.125 0 0 1 .125-.125h6.291a.25.25 0 0 0 .177-.426l-.5-.5a.25.25 0 0 0-.177-.074H1a1 1 0 0 0-1 1v7.334a1 1 0 0 0 1 1h7.333a1 1 0 0 0 1-1v-4.62a.25.25 0 0 0-.426-.177"})))}));function ea(){return ea=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ea.apply(null,arguments)}var ta,na=r((function(t){return e.createElement("svg",ea({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Yo||(Yo=e.createElement("g",{clipPath:"url(#a)"},e.createElement("circle",{cx:12.125,cy:12.005,r:11.625,fill:"#fff"}),e.createElement("path",{fill:"#9FA6AD",d:"M12.125.375C5.705.375.5 5.58.5 12s5.205 11.625 11.625 11.625S23.75 18.421 23.75 12C23.75 5.58 18.546.375 12.125.375m0 20.25A8.62 8.62 0 0 1 3.5 12a8.62 8.62 0 0 1 8.625-8.625A8.62 8.62 0 0 1 20.75 12a8.62 8.62 0 0 1-8.625 8.625m0-14.625a6 6 0 1 0 0 12 6 6 0 0 0 0-12m0 9c-1.654 0-3-1.346-3-3s1.346-3 3-3 3 1.346 3 3-1.346 3-3 3"}))),Zo||(Zo=e.createElement("defs",null,e.createElement("clipPath",{id:"a"},e.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"})))))}));function ra(){return ra=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ra.apply(null,arguments)}var oa,aa=r((function(t){return e.createElement("svg",ra({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ta||(ta=e.createElement("path",{fill:"#2C3336",d:"M16.5 11.625v1.313c0 .309-.253.562-.562.562H8.061a.564.564 0 0 1-.562-.562v-1.313c0-.31.253-.562.563-.562h7.874c.31 0 .563.253.563.562M15.938 15H8.061a.564.564 0 0 0-.562.563v1.312c0 .31.253.563.563.563h7.874c.31 0 .563-.254.563-.563v-1.312a.564.564 0 0 0-.562-.563M21 6.183V21.75A2.25 2.25 0 0 1 18.75 24H5.25A2.25 2.25 0 0 1 3 21.75V2.25A2.25 2.25 0 0 1 5.25 0h9.567c.595 0 1.167.24 1.59.66l3.932 3.934c.422.417.661.994.661 1.589m-6-3.75V6h3.567zm3.75 19.317V8.25h-4.875a1.12 1.12 0 0 1-1.125-1.125V2.25h-7.5v19.5z"})))}));function ia(){return ia=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ia.apply(null,arguments)}var la,sa=r((function(t){return e.createElement("svg",ia({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),oa||(oa=e.createElement("path",{fill:"#1C1B1F",d:"M11 18a.97.97 0 0 1-.713-.288A.97.97 0 0 1 10 17q0-.424.287-.712A.97.97 0 0 1 11 16h2q.424 0 .713.288.287.287.287.712 0 .424-.287.712A.97.97 0 0 1 13 18zm-4-5a.97.97 0 0 1-.713-.287A.97.97 0 0 1 6 12q0-.424.287-.713A.97.97 0 0 1 7 11h10q.424 0 .712.287.288.288.288.713 0 .424-.288.713A.97.97 0 0 1 17 13zM4 8a.97.97 0 0 1-.712-.287A.97.97 0 0 1 3 7q0-.424.288-.713A.97.97 0 0 1 4 6h16q.424 0 .712.287Q21 6.576 21 7q0 .424-.288.713A.97.97 0 0 1 20 8z"})))}));function ca(){return ca=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ca.apply(null,arguments)}var ua,da=r((function(t){return e.createElement("svg",ca({viewBox:"0 0 24 24",width:"1em",height:"1em"},t),la||(la=e.createElement("path",{d:"M20 5h-3.17L15 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m-8 13c-2.76 0-5-2.24-5-5H5l2.5-2.5L10 13H8c0 2.21 1.79 4 4 4 .58 0 1.13-.13 1.62-.35l.74.74c-.71.37-1.5.61-2.36.61m4.5-2.5L14 13h2c0-2.21-1.79-4-4-4-.58 0-1.13.13-1.62.35l-.74-.73C10.35 8.24 11.14 8 12 8c2.76 0 5 2.24 5 5h2z"})))}));function ma(){return ma=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ma.apply(null,arguments)}var pa,fa,ha=r((function(t){return e.createElement("svg",ma({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ua||(ua=e.createElement("path",{d:"m22.846 14.798-1.997-1.153a9 9 0 0 0 0-3.29L22.846 9.2a.566.566 0 0 0 .258-.656A11.7 11.7 0 0 0 20.54 4.11a.564.564 0 0 0-.694-.108l-1.997 1.153A8.9 8.9 0 0 0 15 3.511V1.209a.56.56 0 0 0-.44-.548 11.8 11.8 0 0 0-5.12 0 .56.56 0 0 0-.44.548v2.307A9.1 9.1 0 0 0 6.15 5.16L4.157 4.008a.56.56 0 0 0-.694.108A11.6 11.6 0 0 0 .9 8.55a.56.56 0 0 0 .258.656l1.997 1.153a9 9 0 0 0 0 3.29l-1.997 1.154a.566.566 0 0 0-.258.656 11.7 11.7 0 0 0 2.564 4.435.564.564 0 0 0 .694.108l1.997-1.154a8.9 8.9 0 0 0 2.85 1.646V22.8c0 .262.183.492.44.548 1.72.385 3.483.366 5.12 0a.56.56 0 0 0 .44-.548v-2.306a9.1 9.1 0 0 0 2.85-1.646l1.997 1.154c.23.13.515.089.693-.108a11.6 11.6 0 0 0 2.564-4.435.58.58 0 0 0-.262-.66Zm-10.847.952A3.755 3.755 0 0 1 8.25 12 3.755 3.755 0 0 1 12 8.25 3.755 3.755 0 0 1 15.75 12 3.755 3.755 0 0 1 12 15.75Z"})))}));function va(){return va=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},va.apply(null,arguments)}var ga,wa=r((function(t){return e.createElement("svg",va({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},pa||(pa=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),fa||(fa=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#1C1B1F",d:"M11.95 18q.525 0 .888-.363.362-.362.362-.887c0-.525-.12-.646-.362-.887a1.2 1.2 0 0 0-.888-.363 1.2 1.2 0 0 0-.887.363 1.2 1.2 0 0 0-.363.887q0 .525.363.887.362.363.887.363m.05 4a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12a9.7 9.7 0 0 1 .788-3.9 10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2a9.7 9.7 0 0 1 3.9.788 10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4 6.325 6.325 4 12t2.325 5.675T12 20m.1-12.3q.626 0 1.088.4t.462 1q0 .55-.338.975-.337.425-.762.8a6.7 6.7 0 0 0-1.013 1.1q-.437.6-.437 1.35 0 .35.263.588a.89.89 0 0 0 .612.237.9.9 0 0 0 .638-.25q.262-.25.337-.625a2 2 0 0 1 .45-.938q.35-.412.75-.787.575-.55.987-1.2a2.65 2.65 0 0 0 .413-1.45q0-1.275-1.038-2.088Q13.476 6 12.1 6a4.3 4.3 0 0 0-1.813.4 2.8 2.8 0 0 0-1.312 1.225.9.9 0 0 0-.112.637.74.74 0 0 0 .337.513q.35.2.725.125a1 1 0 0 0 .625-.425q.274-.375.688-.575.412-.2.862-.2"}))))}));function ya(){return ya=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ya.apply(null,arguments)}var ba,_a=r((function(t){return e.createElement("svg",ya({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ga||(ga=e.createElement("path",{fill:"#1C1B1F",d:"M11.95 18q.525 0 .888-.363.362-.362.362-.887t-.362-.887a1.2 1.2 0 0 0-.888-.363q-.525 0-.887.363a1.2 1.2 0 0 0-.363.887q0 .525.363.887.362.363.887.363m-.9-3.85h1.85q0-.825.188-1.3t1.062-1.3a7.5 7.5 0 0 0 1.025-1.238q.375-.587.375-1.412 0-1.4-1.025-2.15T12.1 6q-1.424 0-2.312.75T8.55 8.55l1.65.65q.124-.45.563-.975Q11.2 7.7 12.1 7.7q.8 0 1.2.437.4.438.4.963 0 .5-.3.938t-.75.812q-1.1.975-1.35 1.475t-.25 1.825M12 22a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22"})))}));function Ea(){return Ea=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ea.apply(null,arguments)}var xa,Ca,Oa=r((function(t){return e.createElement("svg",Ea({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ba||(ba=e.createElement("path",{fill:"#2C3336",d:"M12 17q.424 0 .713-.288A.97.97 0 0 0 13 16v-4a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 11a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 12v4q0 .424.287.712.288.288.713.288m0-8q.424 0 .713-.287A.97.97 0 0 0 13 8a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 7a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 8q0 .424.287.713Q11.576 9 12 9m0 13a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4 6.325 6.325 4 12t2.325 5.675T12 20"})))}));function Ma(){return Ma=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ma.apply(null,arguments)}var Aa,Sa=r((function(t){return e.createElement("svg",Ma({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},xa||(xa=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),Ca||(Ca=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M12 17a.97.97 0 0 0 .713-.288A.97.97 0 0 0 13 16v-4a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 11a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 12v4q0 .424.287.712.288.288.713.288m0-8q.424 0 .713-.287A.97.97 0 0 0 13 8a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 7a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 8q0 .424.287.713Q11.575 9 12 9m0 13a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12a9.7 9.7 0 0 1 .788-3.9 10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2a9.7 9.7 0 0 1 3.9.788 10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22"}))))}));function Da(){return Da=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Da.apply(null,arguments)}var Pa,Na=r((function(t){return e.createElement("svg",Da({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Aa||(Aa=e.createElement("path",{fill:"#2C3336",d:"M12 1.875c5.56 0 10.125 4.504 10.125 10.125A10.12 10.12 0 0 1 12 22.125C6.41 22.125 1.875 17.599 1.875 12 1.875 6.412 6.403 1.875 12 1.875m0-1.5C5.58.375.375 5.582.375 12 .375 18.422 5.58 23.625 12 23.625S23.625 18.422 23.625 12C23.625 5.582 18.42.375 12 .375M10.313 16.5h.562v-5.625h-.562a.563.563 0 0 1-.563-.562v-.376c0-.31.252-.562.563-.562h2.25c.31 0 .562.252.562.563V16.5h.563c.31 0 .562.252.562.563v.375c0 .31-.252.562-.562.562h-3.376a.563.563 0 0 1-.562-.562v-.375c0-.311.252-.563.563-.563M12 5.25a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3"})))}));function qa(){return qa=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qa.apply(null,arguments)}var ka,Ra=r((function(t){return e.createElement("svg",qa({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Pa||(Pa=e.createElement("path",{fill:"#2C3336",d:"M12 .375C5.58.375.375 5.582.375 12 .375 18.422 5.58 23.625 12 23.625S23.625 18.422 23.625 12C23.625 5.582 18.42.375 12 .375m0 5.156a1.969 1.969 0 1 1 0 3.938 1.969 1.969 0 0 1 0-3.938m2.625 11.907c0 .31-.252.562-.562.562H9.936a.563.563 0 0 1-.562-.562v-1.125c0-.311.252-.563.563-.563h.562v-3h-.562a.563.563 0 0 1-.563-.562v-1.126c0-.31.252-.562.563-.562h3c.31 0 .562.252.562.563v4.687h.563c.31 0 .562.252.562.563z"})))}));function Ta(){return Ta=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ta.apply(null,arguments)}var Ia,La,Ba=r((function(t){return e.createElement("svg",Ta({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),ka||(ka=e.createElement("path",{fill:"#5D676B",d:"M5 11q-.613 0-1.057-.443A1.44 1.44 0 0 1 3.5 9.5V5q0-.613.443-1.057A1.44 1.44 0 0 1 5 3.5h4.5q.613 0 1.057.443Q11 4.387 11 5v4.5q0 .613-.443 1.057A1.44 1.44 0 0 1 9.5 11zm0 9.5q-.613 0-1.057-.443A1.44 1.44 0 0 1 3.5 19v-4.5q0-.613.443-1.057A1.44 1.44 0 0 1 5 13h4.5q.613 0 1.057.443.443.444.443 1.057V19q0 .613-.443 1.057A1.44 1.44 0 0 1 9.5 20.5zm9.5-9.5q-.613 0-1.057-.443A1.44 1.44 0 0 1 13 9.5V5q0-.613.443-1.057A1.44 1.44 0 0 1 14.5 3.5H19q.613 0 1.057.443.443.444.443 1.057v4.5q0 .613-.443 1.057A1.44 1.44 0 0 1 19 11zm0 9.5q-.613 0-1.057-.443A1.44 1.44 0 0 1 13 19v-4.5q0-.613.443-1.057A1.44 1.44 0 0 1 14.5 13H19q.613 0 1.057.443.443.444.443 1.057V19q0 .613-.443 1.057A1.44 1.44 0 0 1 19 20.5zM5 9.5h4.5V5H5zm9.5 0H19V5h-4.5zm0 9.5H19v-4.5h-4.5zM5 19h4.5v-4.5H5z"})))}));function Fa(){return Fa=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Fa.apply(null,arguments)}var za,ja=r((function(t){return e.createElement("svg",Fa({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Ia||(Ia=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),La||(La=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M12 14.677a.9.9 0 0 1-.34-.066.8.8 0 0 1-.293-.19L6.873 9.927a.72.72 0 0 1-.217-.527q0-.31.217-.527a.72.72 0 0 1 .527-.217q.31 0 .527.217L12 12.946l4.073-4.073a.72.72 0 0 1 .527-.217q.31 0 .527.217t.217.527a.72.72 0 0 1-.217.527l-4.494 4.494a.83.83 0 0 1-.633.256"}))))}));function Va(){return Va=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Va.apply(null,arguments)}var Ha,Ua=r((function(t){return e.createElement("svg",Va({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),za||(za=e.createElement("path",{fill:"#5D676B",d:"M4.25 7a.73.73 0 0 1-.534-.216.73.73 0 0 1-.216-.534q0-.32.216-.535A.73.73 0 0 1 4.25 5.5h15.5q.318 0 .534.216a.73.73 0 0 1 .216.534q0 .32-.216.535A.73.73 0 0 1 19.75 7zm0 11.5a.73.73 0 0 1-.534-.216.73.73 0 0 1-.216-.534q0-.32.216-.535A.73.73 0 0 1 4.25 17h15.5q.318 0 .534.216a.73.73 0 0 1 .216.534q0 .32-.216.535a.73.73 0 0 1-.534.215zm0-5.75a.73.73 0 0 1-.534-.216A.73.73 0 0 1 3.5 12q0-.32.216-.535a.73.73 0 0 1 .534-.215h15.5q.318 0 .534.216A.73.73 0 0 1 20.5 12q0 .32-.216.535a.73.73 0 0 1-.534.215z"})))}));function Wa(){return Wa=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wa.apply(null,arguments)}var Ka,Qa=r((function(t){return e.createElement("svg",Wa({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Ha||(Ha=e.createElement("path",{fill:"#1C1B1F",d:"M12 19.35q3.05-2.8 4.525-5.088Q18 11.976 18 10.2q0-2.725-1.738-4.462Q14.526 4 12 4T7.738 5.737Q6 7.476 6 10.2q0 1.775 1.475 4.063Q8.95 16.549 12 19.35m0 1.975a2.1 2.1 0 0 1-.7-.125 1.8 1.8 0 0 1-.625-.375A39 39 0 0 1 7.8 17.9q-1.25-1.425-2.087-2.762-.838-1.338-1.275-2.575Q4 11.325 4 10.2q0-3.75 2.412-5.975T12 2t5.587 2.225T20 10.2q0 1.125-.437 2.363-.438 1.237-1.275 2.574A21.7 21.7 0 0 1 16.2 17.9a39 39 0 0 1-2.875 2.925 1.8 1.8 0 0 1-.625.375 2.1 2.1 0 0 1-.7.125M12 12q.825 0 1.412-.588Q14 10.826 14 10t-.588-1.412A1.93 1.93 0 0 0 12 8q-.825 0-1.412.588A1.93 1.93 0 0 0 10 10q0 .825.588 1.412Q11.175 12 12 12"})))}));function Ga(){return Ga=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ga.apply(null,arguments)}var $a,Xa=r((function(t){return e.createElement("svg",Ga({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Ka||(Ka=e.createElement("path",{fill:"#2C3336",d:"M12 19.313A1.31 1.31 0 0 1 10.688 18v-3A1.31 1.31 0 0 1 12 13.688 1.31 1.31 0 0 1 13.313 15v3A1.31 1.31 0 0 1 12 19.313m10.5-8.063v10.5A2.25 2.25 0 0 1 20.25 24H3.75a2.25 2.25 0 0 1-2.25-2.25v-10.5A2.25 2.25 0 0 1 3.75 9h1.5V6.75A6.76 6.76 0 0 1 12.019 0c3.731.01 6.731 3.084 6.731 6.816V9h1.5a2.25 2.25 0 0 1 2.25 2.25M7.5 9h9V6.75c0-2.48-2.02-4.5-4.5-4.5s-4.5 2.02-4.5 4.5zm12.75 2.25H3.75v10.5h16.5z"})))}));function Ya(){return Ya=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ya.apply(null,arguments)}var Za,Ja=r((function(t){return e.createElement("svg",Ya({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),$a||($a=e.createElement("path",{fill:"#02BF6F",d:"M23.341 3.576 20.424.659A2.24 2.24 0 0 0 18.835 0c-.576 0-1.152.22-1.591.66L.659 17.242a2.25 2.25 0 0 0 0 3.181l2.917 2.917c.439.44 1.015.659 1.59.659s1.152-.22 1.592-.66L23.34 6.759c.879-.879.879-2.303 0-3.182M5.167 21.75 2.25 18.833 12.745 8.337l2.918 2.917zM17.254 9.663l-2.918-2.918 4.495-4.495h.003l2.916 2.917zM20.25 13.5 19 16l-2.5 1.25L19 18.5l1.25 2.5 1.25-2.5 2.5-1.25L21.5 16zm-9.75-9 .75-1.5 1.5-.75-1.5-.75L10.5 0l-.75 1.5-1.5.75 1.5.75zm-6.75 3L5 5l2.5-1.25L5 2.5 3.75 0 2.5 2.5 0 3.75 2.5 5z"})))}));function ei(){return ei=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ei.apply(null,arguments)}var ti,ni,ri=r((function(t){return e.createElement("svg",ei({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Za||(Za=e.createElement("path",{fill:"#1C1B1F",d:"M4 20q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 18V6q0-.824.587-1.412A1.93 1.93 0 0 1 4 4h16q.824 0 1.413.588Q22 5.175 22 6v12q0 .824-.587 1.413A1.93 1.93 0 0 1 20 20zM20 8l-7.475 4.675a1.04 1.04 0 0 1-.525.15 1.04 1.04 0 0 1-.525-.15L4 8v10h16zm-8 3 8-5H4zM4 8.25V6.775 6.8v-.013z"})))}));function oi(){return oi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},oi.apply(null,arguments)}var ai,ii,li=r((function(t){return e.createElement("svg",oi({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},ti||(ti=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),ni||(ni=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#02BF6F",d:"m10.825 17.425-2.55 1.6a.49.49 0 0 1-.513.013.46.46 0 0 1-.262-.438v-3.2q0-.3.263-.437a.49.49 0 0 1 .512.012l2.55 1.6q.25.15.25.425a.47.47 0 0 1-.25.425M13 10a2.9 2.9 0 0 1-2.125-.875A2.9 2.9 0 0 1 10 7q0-1.25.875-2.125A2.9 2.9 0 0 1 13 4h.5a.73.73 0 0 1 .75.75.73.73 0 0 1-.75.75H13q-.625 0-1.062.438A1.45 1.45 0 0 0 11.5 7q0 .624.438 1.063.437.437 1.062.437h.5a.73.73 0 0 1 .75.75.73.73 0 0 1-.75.75zm4 0h-.5a.73.73 0 0 1-.75-.75.73.73 0 0 1 .75-.75h.5q.625 0 1.063-.437Q18.5 7.625 18.5 7t-.437-1.062A1.45 1.45 0 0 0 17 5.5h-.5a.73.73 0 0 1-.75-.75.73.73 0 0 1 .75-.75h.5q1.25 0 2.125.875T20 7t-.875 2.125A2.9 2.9 0 0 1 17 10m-.75-2.25h-2.5A.73.73 0 0 1 13 7a.73.73 0 0 1 .75-.75h2.5A.73.73 0 0 1 17 7a.73.73 0 0 1-.75.75M16.1 14v-2H21V3H9v9H7V3q0-.824.588-1.412A1.93 1.93 0 0 1 9 1h12q.824 0 1.413.587Q23 2.176 23 3v9q0 .825-.587 1.412A1.93 1.93 0 0 1 21 14zM3 23q-.824 0-1.412-.587A1.93 1.93 0 0 1 1 21v-8q0-.825.587-1.412A1.93 1.93 0 0 1 3 11h12q.824 0 1.413.588Q17 12.175 17 13v8q0 .824-.587 1.413A1.93 1.93 0 0 1 15 23zm0-2h12v-8H3z"}))))}));function si(){return si=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},si.apply(null,arguments)}var ci,ui,di=r((function(t){return e.createElement("svg",si({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},ai||(ai=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),ii||(ii=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"currentColor",d:"m17.24 14.18-1.103-1.122q.158-.29.281-.636t.18-.734a.9.9 0 0 1 .266-.488q.21-.2.484-.2a.75.75 0 0 1 .573.238.64.64 0 0 1 .177.558q-.086.685-.31 1.272a6.5 6.5 0 0 1-.548 1.113m-3.219-3.25L9.144 6.036V5q0-1.048.726-1.774a2.41 2.41 0 0 1 1.774-.726q1.048 0 1.774.726T14.144 5v5.346q0 .17-.038.308a6 6 0 0 1-.085.277m5.32 10.258L2.205 4.054a.73.73 0 0 1-.213-.522A.7.7 0 0 1 2.206 3a.72.72 0 0 1 .527-.217q.31 0 .527.217l17.134 17.135q.208.207.213.522a.7.7 0 0 1-.213.531.72.72 0 0 1-.527.218.72.72 0 0 1-.527-.218M10.893 20v-2.542q-2.267-.262-3.854-1.848a6.3 6.3 0 0 1-1.85-3.814.64.64 0 0 1 .177-.558.77.77 0 0 1 .589-.238q.263 0 .47.2a.9.9 0 0 1 .264.488q.249 1.827 1.652 3.07T11.644 16q.966 0 1.815-.344a4.9 4.9 0 0 0 1.502-.954l1.07 1.07a6.4 6.4 0 0 1-1.65 1.12 6.3 6.3 0 0 1-1.987.566V20a.73.73 0 0 1-.215.535.73.73 0 0 1-.535.215.73.73 0 0 1-.534-.215.73.73 0 0 1-.216-.535"}))))}));function mi(){return mi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mi.apply(null,arguments)}var pi,fi=r((function(t){return e.createElement("svg",mi({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},ci||(ci=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),ui||(ui=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"currentColor",d:"m17.24 14.18-1.103-1.122q.158-.29.281-.636t.18-.734a.9.9 0 0 1 .266-.488q.21-.2.484-.2a.75.75 0 0 1 .573.238.64.64 0 0 1 .177.558q-.086.685-.31 1.272a6.5 6.5 0 0 1-.548 1.113m-3.219-3.25-1.377-1.376V5a.97.97 0 0 0-.287-.713.97.97 0 0 0-.713-.287.97.97 0 0 0-.712.287.97.97 0 0 0-.288.713v2.535l-1.5-1.5V5q0-1.048.726-1.774a2.41 2.41 0 0 1 1.774-.726q1.048 0 1.774.726T14.144 5v5.346q0 .17-.038.308a6 6 0 0 1-.085.277m5.32 10.258L2.205 4.054a.73.73 0 0 1-.213-.522A.7.7 0 0 1 2.206 3a.72.72 0 0 1 .527-.217q.31 0 .527.217l17.134 17.135q.208.207.213.522a.7.7 0 0 1-.213.531.72.72 0 0 1-.527.218.72.72 0 0 1-.527-.218M10.893 20v-2.546q-2.267-.267-3.854-1.85a6.27 6.27 0 0 1-1.85-3.808.64.64 0 0 1 .177-.558.77.77 0 0 1 .589-.238q.263 0 .47.2a.9.9 0 0 1 .264.488q.249 1.827 1.652 3.07T11.644 16q.966 0 1.815-.344a4.9 4.9 0 0 0 1.502-.954l1.07 1.07a6.6 6.6 0 0 1-1.65 1.128 5.9 5.9 0 0 1-1.987.554V20a.73.73 0 0 1-.215.535.73.73 0 0 1-.535.215.73.73 0 0 1-.534-.215.73.73 0 0 1-.216-.535"}))))}));function hi(){return hi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hi.apply(null,arguments)}var vi,gi,wi=r((function(t){return e.createElement("svg",hi({xmlns:"http://www.w3.org/2000/svg",fill:"none",width:"1em",height:"1em"},t),pi||(pi=e.createElement("path",{fill:"#98A2B3",d:"M16.25 9a.75.75 0 0 1 .743.648L17 9.75v.5a6.75 6.75 0 0 1-6.249 6.732l-.001 2.268a.75.75 0 0 1-1.493.102l-.007-.102v-2.268a6.75 6.75 0 0 1-6.246-6.496L3 10.25v-.5a.75.75 0 0 1 1.493-.102l.007.102v.5a5.25 5.25 0 0 0 5.034 5.246l.216.004h.5a5.25 5.25 0 0 0 5.246-5.034l.004-.216v-.5a.75.75 0 0 1 .75-.75M10 0a4 4 0 0 1 4 4v6a4 4 0 0 1-8 0V4a4 4 0 0 1 4-4m0 1.5A2.5 2.5 0 0 0 7.5 4v6a2.5 2.5 0 0 0 5 0V4A2.5 2.5 0 0 0 10 1.5"})))}));function yi(){return yi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},yi.apply(null,arguments)}var bi,_i=r((function(t){return e.createElement("svg",yi({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},vi||(vi=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),gi||(gi=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"currentColor",d:"M12 13.5q-1.048 0-1.774-.726A2.41 2.41 0 0 1 9.5 11V5q0-1.048.726-1.774A2.41 2.41 0 0 1 12 2.5q1.047 0 1.774.726.726.726.726 1.774v6q0 1.048-.726 1.774A2.41 2.41 0 0 1 12 13.5m0 7.25a.73.73 0 0 1-.535-.215.73.73 0 0 1-.215-.535v-2.542q-2.267-.262-3.854-1.848a6.3 6.3 0 0 1-1.85-3.814.64.64 0 0 1 .177-.558A.77.77 0 0 1 6.31 11q.264 0 .471.2a.9.9 0 0 1 .264.488q.248 1.827 1.652 3.07T12 16t3.302-1.242 1.652-3.07a.9.9 0 0 1 .266-.488q.21-.2.484-.2a.75.75 0 0 1 .573.238.64.64 0 0 1 .177.558 6.3 6.3 0 0 1-1.85 3.814q-1.587 1.585-3.854 1.848V20a.73.73 0 0 1-.216.535.73.73 0 0 1-.534.215"}))))}));function Ei(){return Ei=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ei.apply(null,arguments)}var xi,Ci=r((function(t){return e.createElement("svg",Ei({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",width:"1em",height:"1em"},t),bi||(bi=e.createElement("path",{d:"M7.215 19.986a2.12 2.12 0 0 1 1.488-2.044v-2.045a6.47 6.47 0 0 1-3.412-1.84 6.6 6.6 0 0 1-1.406-2.134 6.8 6.8 0 0 1-.525-2.624v-.9a1.736 1.736 0 0 1 1.726-1.758v2.658a4.96 4.96 0 0 0 1.44 3.524 4.85 4.85 0 0 0 5.284 1.117 4.9 4.9 0 0 0 1.589-1.035l.075-.082a4.96 4.96 0 0 0 1.44-3.524V6.64a1.743 1.743 0 0 1 1.726 1.758v.907c0 .9-.176 1.791-.518 2.624a6.8 6.8 0 0 1-1.427 2.14 6.47 6.47 0 0 1-3.412 1.84v2.045A2.12 2.12 0 0 1 12.771 20zM6.39 9.3V3.887A3.6 3.6 0 0 1 8.493.324a3.614 3.614 0 0 1 4.863 1.981c.178.459.26.948.24 1.439v5.555a3.6 3.6 0 0 1-1.006 2.57 3.614 3.614 0 0 1-6.214-2.427l.014-.143Z"})))}));function Oi(){return Oi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Oi.apply(null,arguments)}var Mi,Ai=r((function(t){return e.createElement("svg",Oi({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"#2C3336",className:"demio-icon",style:{fontSize:16},viewBox:"0 0 16 16"},t),xi||(xi=e.createElement("path",{d:"M11.5 0h-7A1.5 1.5 0 0 0 3 1.5v13A1.5 1.5 0 0 0 4.5 16h7a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 11.5 0M8 15a.999.999 0 1 1 0-2 .999.999 0 1 1 0 2m3.5-3.375a.376.376 0 0 1-.375.375h-6.25a.376.376 0 0 1-.375-.375v-9.75c0-.206.169-.375.375-.375h6.25c.206 0 .375.169.375.375z"})))}));function Si(){return Si=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Si.apply(null,arguments)}var Di,Pi=r((function(t){return e.createElement("svg",Si({xmlns:"http://www.w3.org/2000/svg",fill:"#BBB",viewBox:"0 0 33 24",width:"1em",height:"1em"},t),Mi||(Mi=e.createElement("path",{d:"M6 0h5.25c.412 0 .75.338.75.75v1.5c0 .413-.338.75-.75.75H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h5.25c.412 0 .75.337.75.75v1.5c0 .413-.338.75-.75.75H6c-3.313 0-6-2.688-6-6V6c0-3.313 2.688-6 6-6m14.444 1.219-1.225 1.225c-.3.3-.294.781.012 1.069l7.069 6.862H10.75a.75.75 0 0 0-.75.75v1.75c0 .412.338.75.75.75H26.3l-7.069 6.856a.753.753 0 0 0-.012 1.069l1.225 1.225a.75.75 0 0 0 1.062 0l10.275-10.25a.75.75 0 0 0 0-1.063L21.506 1.213a.756.756 0 0 0-1.062.007Z"})))}));function Ni(){return Ni=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ni.apply(null,arguments)}var qi,ki=r((function(t){return e.createElement("svg",Ni({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 22 16",width:"1em",height:"1em"},t),Di||(Di=e.createElement("path",{fill:"#838B97",d:"M11 2.335a9.77 9.77 0 0 1 8.82 5.5 9.76 9.76 0 0 1-8.82 5.5 9.76 9.76 0 0 1-8.82-5.5 9.77 9.77 0 0 1 8.82-5.5m0-2c-5 0-9.27 3.11-11 7.5 1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5m0 5a2.5 2.5 0 0 1 0 5 2.5 2.5 0 0 1 0-5m0-2c-2.48 0-4.5 2.02-4.5 4.5s2.02 4.5 4.5 4.5 4.5-2.02 4.5-4.5-2.02-4.5-4.5-4.5"})))}));function Ri(){return Ri=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ri.apply(null,arguments)}var Ti,Ii=r((function(t){return e.createElement("svg",Ri({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 20",width:"1em",height:"1em"},t),qi||(qi=e.createElement("path",{fill:"#838B97",d:"M23.775 17.898 1.35.367A.6.6 0 0 0 .507.46L.132.93a.6.6 0 0 0 .093.844l22.425 17.53a.6.6 0 0 0 .843-.093l.375-.468a.6.6 0 0 0-.093-.844zM11.13 5.728l5.054 3.952a4.19 4.19 0 0 0-5.055-3.952zm1.74 8.215L7.816 9.99a4.19 4.19 0 0 0 5.054 3.952zM12 4.435c3.7 0 7.09 2.063 8.922 5.4a10.7 10.7 0 0 1-1.65 2.258l1.416 1.106a12.5 12.5 0 0 0 1.983-2.817 1.21 1.21 0 0 0 0-1.094C20.636 5.32 16.61 2.635 12 2.635c-1.376 0-2.69.263-3.924.706l1.74 1.36A10 10 0 0 1 12 4.435m0 10.8c-3.7 0-7.09-2.062-8.922-5.4.45-.821 1.004-1.58 1.651-2.257L3.314 6.472a12.5 12.5 0 0 0-1.983 2.816 1.21 1.21 0 0 0 0 1.095C3.364 14.35 7.39 17.035 12 17.035c1.376 0 2.689-.264 3.924-.705l-1.74-1.36a10 10 0 0 1-2.184.265"})))}));function Li(){return Li=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Li.apply(null,arguments)}var Bi,Fi=r((function(t){return e.createElement("svg",Li({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 18",width:"1em",height:"1em"},t),Ti||(Ti=e.createElement("path",{fill:"#BBB",d:"M7.2 9c2.321 0 4.2-1.879 4.2-4.2S9.521.6 7.2.6A4.2 4.2 0 0 0 3 4.8C3 7.121 4.879 9 7.2 9m2.88 1.2h-.311c-.78.375-1.646.6-2.569.6a5.9 5.9 0 0 1-2.569-.6H4.32A4.32 4.32 0 0 0 0 14.52v1.08a1.8 1.8 0 0 0 1.8 1.8h10.8a1.8 1.8 0 0 0 1.8-1.8v-1.08a4.32 4.32 0 0 0-4.32-4.32M18 9a3.6 3.6 0 0 0 0-7.2A3.6 3.6 0 0 0 18 9m1.8 1.2h-.143c-.52.18-1.072.3-1.657.3s-1.136-.12-1.657-.3H16.2a4.16 4.16 0 0 0-2.089.578A5.5 5.5 0 0 1 15.6 14.52v1.44c0 .082-.019.161-.022.24H22.2a1.8 1.8 0 0 0 1.8-1.8c0-2.321-1.879-4.2-4.2-4.2"})))}));function zi(){return zi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zi.apply(null,arguments)}var ji,Vi=r((function(t){return e.createElement("svg",zi({xmlns:"http://www.w3.org/2000/svg",fill:"#FFF",viewBox:"0 0 24 18",width:"1em",height:"1em"},t),Bi||(Bi=e.createElement("path",{d:"M3.6 7.799a2.4 2.4 0 1 0 0-4.8 2.4 2.4 0 0 0 0 4.8m8.4 1.2a3.6 3.6 0 0 0 3.6-3.6v-.6H8.4v.6a3.6 3.6 0 0 0 3.6 3.6m9.6 0h-2.4c-.66 0-1.256.266-1.69.697a5.5 5.5 0 0 1 2.817 4.103H22.8a1.2 1.2 0 0 0 1.2-1.2v-1.2a2.4 2.4 0 0 0-2.4-2.4m-15.11.697a2.4 2.4 0 0 0-1.69-.697H2.4a2.4 2.4 0 0 0-2.4 2.4v1.2a1.2 1.2 0 0 0 1.2 1.2h2.473A5.5 5.5 0 0 1 6.49 9.696M20.4 7.799a2.4 2.4 0 1 0 0-4.8 2.4 2.4 0 0 0 0 4.8m-5.52 2.4h-.312c-.781.373-1.646.6-2.568.6a5.9 5.9 0 0 1-2.568-.6H9.12a4.32 4.32 0 0 0-4.32 4.32v1.08a1.8 1.8 0 0 0 1.8 1.8h10.8a1.8 1.8 0 0 0 1.8-1.8v-1.08a4.32 4.32 0 0 0-4.32-4.32m.72-9.6-1.8.9-1.8-.9-1.8.9-1.8-.9v3h7.2z"})))}));function Hi(){return Hi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Hi.apply(null,arguments)}var Ui,Wi=r((function(t){return e.createElement("svg",Hi({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ji||(ji=e.createElement("path",{fill:"#2C3336",d:"M12 12q-1.65 0-2.825-1.175T8 8t1.175-2.825T12 4t2.825 1.175T16 8t-1.175 2.825T12 12m6 8H6q-.824 0-1.412-.587A1.93 1.93 0 0 1 4 18v-.8q0-.85.438-1.562.437-.713 1.162-1.088a14.8 14.8 0 0 1 3.15-1.163A13.8 13.8 0 0 1 12 13q1.65 0 3.25.387 1.6.388 3.15 1.163.724.375 1.163 1.087Q20 16.35 20 17.2v.8q0 .824-.587 1.413A1.93 1.93 0 0 1 18 20M6 18h12v-.8a.973.973 0 0 0-.5-.85q-1.35-.675-2.725-1.012a11.6 11.6 0 0 0-5.55 0Q7.85 15.675 6.5 16.35a.97.97 0 0 0-.5.85zm6-8q.825 0 1.412-.588Q14 8.826 14 8q0-.824-.588-1.412A1.93 1.93 0 0 0 12 6q-.825 0-1.412.588A1.93 1.93 0 0 0 10 8q0 .825.588 1.412Q11.175 10 12 10"})))}));function Ki(){return Ki=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ki.apply(null,arguments)}var Qi,Gi=r((function(t){return e.createElement("svg",Ki({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24"},t),Ui||(Ui=e.createElement("path",{fill:"#212121",d:"M17.5 12a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11m-5.478 2a6.5 6.5 0 0 0-.708 1.5h-7.06a.75.75 0 0 0-.75.75v.907c0 .656.286 1.279.783 1.706C5.545 19.945 7.44 20.501 10 20.501q.898 0 1.688-.09c.25.5.563.963.93 1.38q-1.205.21-2.618.21c-2.89 0-5.128-.657-6.691-2a3.75 3.75 0 0 1-1.305-2.844v-.907A2.25 2.25 0 0 1 4.254 14zm3.071.966-.07.058-.057.07a.5.5 0 0 0 0 .568l.058.07 1.77 1.769-1.768 1.766-.057.07a.5.5 0 0 0 0 .568l.057.07.07.057a.5.5 0 0 0 .568 0l.07-.057 1.766-1.767 1.77 1.769.069.058a.5.5 0 0 0 .568 0l.07-.058.057-.07a.5.5 0 0 0 0-.568l-.057-.07-1.77-1.768 1.772-1.77.058-.069a.5.5 0 0 0 0-.569l-.058-.069-.069-.058a.5.5 0 0 0-.569 0l-.069.058-1.772 1.77-1.77-1.77-.068-.058a.5.5 0 0 0-.493-.043zM10 2.005a5 5 0 1 1 0 10 5 5 0 0 1 0-10m0 1.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7"})))}));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 r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$i.apply(null,arguments)}var Xi,Yi=r((function(t){return e.createElement("svg",$i({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},t),Qi||(Qi=e.createElement("path",{fill:"#42454B",d:"m15.262 6.708-11-6.503C3.37-.323 2 .19 2 1.495V14.5c0 1.172 1.272 1.878 2.263 1.29l11-6.5c.98-.578.984-2.002 0-2.58Z"})))}));function Zi(){return Zi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Zi.apply(null,arguments)}var Ji,el,tl=r((function(t){return e.createElement("svg",Zi({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Xi||(Xi=e.createElement("path",{fill:"#2C3336",d:"M20.625 10.875h-7.5v-7.5A.375.375 0 0 0 12.75 3h-1.5a.375.375 0 0 0-.375.375v7.5h-7.5A.375.375 0 0 0 3 11.25v1.5c0 .207.168.375.375.375h7.5v7.5c0 .207.168.375.375.375h1.5a.375.375 0 0 0 .375-.375v-7.5h7.5A.375.375 0 0 0 21 12.75v-1.5a.375.375 0 0 0-.375-.375"})))}));function nl(){return nl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},nl.apply(null,arguments)}var rl,ol=r((function(t){return e.createElement("svg",nl({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Ji||(Ji=e.createElement("path",{fill:"#2C3336",d:"M1.5 3.75v16.5a2.25 2.25 0 0 0 2.25 2.25h16.5a2.25 2.25 0 0 0 2.25-2.25V3.75a2.25 2.25 0 0 0-2.25-2.25H3.75A2.25 2.25 0 0 0 1.5 3.75M6.75 18a.75.75 0 0 1-.75-.75v-6a.75.75 0 0 1 .75-.75h1.5a.75.75 0 0 1 .75.75v6a.75.75 0 0 1-.75.75zm10.5-4.5a.75.75 0 0 1 .75.75v3a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75v-3a.75.75 0 0 1 .75-.75zM12.75 6a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-1.5a.75.75 0 0 1-.75-.75V6.75a.75.75 0 0 1 .75-.75z"})),el||(el=e.createElement("path",{fill:"#2C3336",d:"M9 17.25v-6a.75.75 0 0 0-.75-.75h-1.5a.75.75 0 0 0-.75.75v6a.75.75 0 0 0 .75.75h1.5a.75.75 0 0 0 .75-.75m6-3v3a.75.75 0 0 0 .75.75h1.5a.75.75 0 0 0 .75-.75v-3a.75.75 0 0 0-.75-.75h-1.5a.75.75 0 0 0-.75.75m-4.5-7.5v10.5a.75.75 0 0 0 .75.75h1.5a.75.75 0 0 0 .75-.75V6.75a.75.75 0 0 0-.75-.75h-1.5a.75.75 0 0 0-.75.75"})))}));function al(){return al=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},al.apply(null,arguments)}var il,ll=r((function(t){return e.createElement("svg",al({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 12 12",width:"1em",height:"1em"},t),rl||(rl=e.createElement("path",{d:"M11.667.667H.333A.333.333 0 0 0 0 1v.333c0 .184.15.334.333.334h.334v5.666c0 .368.298.667.666.667H5.5v.91l-1.618 1.618a.333.333 0 0 0 0 .472l.236.236c.13.13.341.13.471 0L6 9.825l1.41 1.41c.131.13.342.13.472 0L8.118 11a.333.333 0 0 0 0-.472L6.5 8.911V8h4.167a.667.667 0 0 0 .666-.667V1.666h.334A.333.333 0 0 0 12 1.333V1a.333.333 0 0 0-.333-.333M10.333 7H1.667V1.667h8.666z"})))}));function sl(){return sl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},sl.apply(null,arguments)}var cl,ul,dl,ml=r((function(t){return e.createElement("svg",sl({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),il||(il=e.createElement("path",{fill:"#DEE4E8",d:"M12 0A12 12 0 1 1 0 12h2.64A9.36 9.36 0 1 0 12 2.64z"})))}));function pl(){return pl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},pl.apply(null,arguments)}var fl,hl=r((function(t){return e.createElement("svg",pl({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),cl||(cl=e.createElement("path",{fill:"#DEE4E8",d:"M12 .375C5.578.375.375 5.578.375 12S5.578 23.625 12 23.625 23.625 18.422 23.625 12 18.422.375 12 .375m5.423 12.75-8.25 4.734a1.127 1.127 0 0 1-1.673-.984v-9.75c0-.862.928-1.397 1.673-.984l8.25 5.015c.77.431.77 1.542 0 1.969",opacity:.8})),ul||(ul=e.createElement("path",{fill:"#fff",d:"m17.424 13.125-8.25 4.735a1.127 1.127 0 0 1-1.674-.985v-9.75c0-.862.928-1.397 1.673-.984l8.25 5.016c.77.43.77 1.542 0 1.968",opacity:.8})),dl||(dl=e.createElement("path",{stroke:"#fff",d:"m3.161 20.133 16.97-16.971"})))}));function vl(){return vl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vl.apply(null,arguments)}var gl,wl=r((function(t){return e.createElement("svg",vl({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),fl||(fl=e.createElement("path",{fill:"#2C3336",d:"M23.625 11.979a11.59 11.59 0 0 0-3.22-8.01l1.674-1.673c.71-.71.207-1.921-.795-1.921H15c-.621 0-1.125.504-1.125 1.125v6.284c0 1.002 1.212 1.504 1.92.796l1.958-1.958a7.82 7.82 0 0 1 2.122 5.308c.037 4.331-3.468 7.982-7.943 7.945-4.245-.036-7.807-3.477-7.807-7.875 0-1.928.688-3.75 1.948-5.186a.56.56 0 0 0-.026-.767l-1.86-1.86a.564.564 0 0 0-.816.023A11.58 11.58 0 0 0 .375 12C.375 18.42 5.58 23.625 12 23.625c6.413 0 11.637-5.233 11.625-11.646"})))}));function yl(){return yl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},yl.apply(null,arguments)}var bl,_l=r((function(t){return e.createElement("svg",yl({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),gl||(gl=e.createElement("path",{d:"M7.1 11.35q.35-.7.725-1.35t.825-1.3l-1.4-.275-2.1 2.1zm12.05-6.875q-1.75.05-3.737 1.025A13.5 13.5 0 0 0 11.8 8.1q-1.05 1.05-1.875 2.25T8.7 12.6l2.85 2.825q1.05-.4 2.25-1.225t2.25-1.875a13.6 13.6 0 0 0 2.6-3.6Q19.625 6.75 19.675 5a.6.6 0 0 0-.038-.2.49.49 0 0 0-.287-.288.6.6 0 0 0-.2-.037m-5.5 6a1.92 1.92 0 0 1-.575-1.413q0-.837.575-1.412t1.425-.575 1.425.575.575 1.412a1.92 1.92 0 0 1-.575 1.413q-.575.575-1.425.575t-1.425-.575m-.85 6.55L13.625 19l2.1-2.1-.275-1.4q-.65.45-1.3.813t-1.35.712m8.775-13.35q.2 2.75-.9 5.362T17.2 14.025l.5 2.475q.1.5-.05.975t-.5.825L14 21.45a.98.98 0 0 1-.9.288.9.9 0 0 1-.725-.588l-1.525-3.575L6.575 13.3 3 11.775a.92.92 0 0 1-.6-.725.95.95 0 0 1 .275-.9L5.825 7q.35-.35.838-.5t.987-.05l2.475.5q2.375-2.375 4.988-3.475 2.612-1.1 5.362-.9.2.025.4.112a1.13 1.13 0 0 1 .587.588q.088.2.113.4m-17.65 12.3q.875-.876 2.138-.887 1.262-.013 2.137.862.874.875.863 2.137-.014 1.263-.888 2.138-.625.625-2.087 1.075t-4.038.8q.35-2.575.8-4.038.45-1.462 1.075-2.087m1.425 1.4q-.25.25-.5.913a6.5 6.5 0 0 0-.35 1.337q.675-.101 1.338-.337.662-.238.912-.488.3-.3.325-.725a.9.9 0 0 0-.275-.725.95.95 0 0 0-.725-.288 1.03 1.03 0 0 0-.725.313"})))}));function El(){return El=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},El.apply(null,arguments)}var xl,Cl=r((function(t){return e.createElement("svg",El({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",width:"1em",height:"1em"},t),bl||(bl=e.createElement("path",{fill:"#D0D5DD",d:"M17.745 2a2.25 2.25 0 0 1 2.25 2.25v11.505a2.25 2.25 0 0 1-2.25 2.25H2.25A2.25 2.25 0 0 1 0 15.755V4.25A2.25 2.25 0 0 1 2.25 2zm0 1.5H2.25a.75.75 0 0 0-.75.75v11.505c0 .414.336.75.75.75l2.749-.001L5 13.75a1.75 1.75 0 0 1 1.606-1.744L6.75 12h6.495a1.75 1.75 0 0 1 1.744 1.607l.006.143-.001 2.754h2.751a.75.75 0 0 0 .75-.75V4.25a.75.75 0 0 0-.75-.75m-4.5 10H6.75a.25.25 0 0 0-.243.193l-.007.057-.001 2.754h6.995V13.75a.25.25 0 0 0-.192-.243zM10 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6m0 1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3"})))}));function Ol(){return Ol=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ol.apply(null,arguments)}var Ml,Al=r((function(t){return e.createElement("svg",Ol({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),xl||(xl=e.createElement("path",{fill:"#2C3336",d:"M21.75 0h-15A2.25 2.25 0 0 0 4.5 2.25V4.5H2.25A2.25 2.25 0 0 0 0 6.75v15A2.25 2.25 0 0 0 2.25 24h15a2.25 2.25 0 0 0 2.25-2.25V19.5h2.25A2.25 2.25 0 0 0 24 17.25v-15A2.25 2.25 0 0 0 21.75 0m-4.5 21.75h-15V12h15zm4.5-4.5H19.5V6.75a2.25 2.25 0 0 0-2.25-2.25H6.75V2.25h15z"})))}));function Sl(){return Sl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sl.apply(null,arguments)}var Dl,Pl=r((function(t){return e.createElement("svg",Sl({xmlns:"http://www.w3.org/2000/svg",fill:"#BBB",className:"demio-icon",style:{fontSize:20},viewBox:"0 0 20 18",width:"1em",height:"1em"},t),Ml||(Ml=e.createElement("path",{d:"M18.333 0H1.667C.747 0 0 .756 0 1.688v11.25c0 .931.747 1.687 1.667 1.687h6.666l-.555 1.688h-2.5a.837.837 0 0 0-.834.843c0 .468.372.844.834.844h9.444a.837.837 0 0 0 .834-.844.837.837 0 0 0-.834-.843h-2.5l-.555-1.688h6.666c.92 0 1.667-.756 1.667-1.688V1.688C20 .756 19.253 0 18.333 0m-.555 12.375H2.222V2.25h15.556z"})))}));function Nl(){return Nl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Nl.apply(null,arguments)}var ql,kl=r((function(t){return e.createElement("svg",Nl({xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Dl||(Dl=e.createElement("path",{fill:"#2C3336",d:"m23.835 21.979-5.69-5.69a.56.56 0 0 0-.399-.165h-.619A9.72 9.72 0 0 0 19.5 9.75 9.75 9.75 0 0 0 9.749 0 9.75 9.75 0 0 0 0 9.75a9.75 9.75 0 0 0 9.75 9.749 9.72 9.72 0 0 0 6.374-2.372v.619c0 .15.061.29.164.398l5.69 5.69c.22.221.577.221.797 0l1.06-1.059a.563.563 0 0 0 0-.796M9.75 17.249a7.5 7.5 0 0 1-7.5-7.5c0-4.143 3.356-7.5 7.5-7.5 4.143 0 7.5 3.357 7.5 7.5 0 4.144-3.357 7.5-7.5 7.5"})))}));function Rl(){return Rl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Rl.apply(null,arguments)}var Tl,Il=r((function(t){return e.createElement("svg",Rl({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ql||(ql=e.createElement("path",{fill:"currentColor",d:"M8.857 3h6.286c1.084 0 1.958 0 2.666.058.729.06 1.369.185 1.961.487a5 5 0 0 1 2.185 2.185c.302.592.428 1.233.487 1.961.058.708.058 1.582.058 2.666v3.286c0 1.084 0 1.958-.058 2.666-.06.729-.185 1.369-.487 1.961a5 5 0 0 1-2.185 2.185c-.592.302-1.232.428-1.961.487C17.1 21 16.227 21 15.143 21H8.857c-1.084 0-1.958 0-2.666-.058-.728-.06-1.369-.185-1.96-.487a5 5 0 0 1-2.186-2.185c-.302-.592-.428-1.232-.487-1.961C1.5 15.6 1.5 14.727 1.5 13.643v-3.286c0-1.084 0-1.958.058-2.666.06-.728.185-1.369.487-1.96A5 5 0 0 1 4.23 3.544c.592-.302 1.233-.428 1.961-.487C6.9 3 7.773 3 8.857 3M6.354 5.051c-.605.05-.953.142-1.216.276a3 3 0 0 0-1.311 1.311c-.134.263-.226.611-.276 1.216-.05.617-.051 1.41-.051 2.546v3.2c0 1.137 0 1.929.051 2.546.05.605.142.953.276 1.216a3 3 0 0 0 1.311 1.311c.263.134.611.226 1.216.276.617.05 1.41.051 2.546.051h.6V5h-.6c-1.137 0-1.929 0-2.546.051M11.5 5v14h3.6c1.137 0 1.929 0 2.546-.051.605-.05.953-.142 1.216-.276a3 3 0 0 0 1.311-1.311c.134-.263.226-.611.276-1.216.05-.617.051-1.41.051-2.546v-3.2c0-1.137 0-1.929-.051-2.546-.05-.605-.142-.953-.276-1.216a3 3 0 0 0-1.311-1.311c-.263-.134-.611-.226-1.216-.276C17.029 5.001 16.236 5 15.1 5zM5 8.5a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1M5 12a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1"})))}));function Ll(){return Ll=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ll.apply(null,arguments)}var Bl,Fl=r((function(t){return e.createElement("svg",Ll({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},t),Tl||(Tl=e.createElement("path",{fill:"#9FA6AD",d:"M10 .313A9.686 9.686 0 0 0 .313 10 9.686 9.686 0 0 0 10 19.688 9.686 9.686 0 0 0 19.688 10 9.686 9.686 0 0 0 10 .313m0 17.5c-4.309 0-7.812-3.504-7.812-7.813S5.69 2.188 10 2.188 17.813 5.69 17.813 10 14.309 17.813 10 17.813M6.875 9.375c.691 0 1.25-.559 1.25-1.25s-.559-1.25-1.25-1.25-1.25.559-1.25 1.25.559 1.25 1.25 1.25m6.25 0c.691 0 1.25-.559 1.25-1.25s-.559-1.25-1.25-1.25-1.25.559-1.25 1.25.559 1.25 1.25 1.25m.156 2.836A4.26 4.26 0 0 1 10 13.75a4.25 4.25 0 0 1-3.281-1.54.94.94 0 0 0-1.32-.12.94.94 0 0 0-.122 1.32A6.13 6.13 0 0 0 10 15.621c1.828 0 3.55-.805 4.723-2.21a.937.937 0 1 0-1.442-1.2"})))}));function zl(){return zl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zl.apply(null,arguments)}var jl,Vl,Hl=r((function(t){return e.createElement("svg",zl({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},t),Bl||(Bl=e.createElement("path",{fill:"#5D676B",d:"M2.004 0A1.88 1.88 0 0 0 .9.314l-.02.02H.858c-.835.65-1.15 1.858-.542 2.77v.022l.812 1.125.375.541.542-.375 2.208-1.541.542-.375-.375-.542L3.69.897 3.67.876V.855A2.27 2.27 0 0 0 2.379.042a2 2 0 0 0-.375-.041Zm3.73 3.396-1.126.73L2.942 5.27 1.796 6l2.23 7.79c.047.458.333.817.666 1.063.363.269.804.46 1.333.625 1.057.33 2.45.521 3.979.521s2.922-.19 3.979-.52c.528-.166.97-.357 1.333-.626.363-.268.688-.669.688-1.187 0-.519-.325-.92-.688-1.188a3 3 0 0 0-.292-.187zm4.27 9.27c1.416 0 2.69.186 3.562.46.437.136.782.306.959.437a1 1 0 0 1 .124.104 1 1 0 0 1-.124.104c-.177.13-.522.301-.959.437-.873.273-2.146.459-3.562.459s-2.69-.186-3.562-.459c-.437-.136-.782-.307-.959-.437a1 1 0 0 1-.125-.104 1 1 0 0 1 .125-.104c.177-.13.522-.302.959-.438.873-.273 2.146-.458 3.562-.458Z"})))}));function Ul(){return Ul=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ul.apply(null,arguments)}var Wl,Kl=r((function(t){return e.createElement("svg",Ul({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},jl||(jl=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),Vl||(Vl=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#02BF6F",d:"M7 17q-.824 0-1.412-.587A1.93 1.93 0 0 1 5 15V5q0-.824.588-1.412A1.93 1.93 0 0 1 7 3h14q.824 0 1.413.587Q23 4.176 23 5v10q0 .824-.587 1.413A1.93 1.93 0 0 1 21 17zm6.425-5.1L7 7.425V15h14V7.425L14.575 11.9a.96.96 0 0 1-.575.2.96.96 0 0 1-.575-.2M14 9.85 21 5H7zM3 21q-.824 0-1.412-.587A1.93 1.93 0 0 1 1 19V7.5q0-.424.288-.713A.97.97 0 0 1 2 6.5q.424 0 .712.287Q3 7.076 3 7.5V19h15.5q.424 0 .712.288.288.287.288.712 0 .424-.288.712A.97.97 0 0 1 18.5 21z"}))))}));function Ql(){return Ql=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ql.apply(null,arguments)}var Gl,$l=r((function(t){return e.createElement("svg",Ql({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 20 20",width:"1em",height:"1em"},t),Wl||(Wl=e.createElement("path",{fill:"#98A2B3",d:"M18.245 10.997c.709 0 1.022.892.469 1.335l-4.718 3.778v1.644a2.25 2.25 0 0 1-2.25 2.25H8.25A2.25 2.25 0 0 1 6 17.754V16.11l-4.72-3.778c-.553-.443-.24-1.335.47-1.335zm-2.137 1.5H3.887l3.332 2.667a.75.75 0 0 1 .281.585v2.005c0 .414.336.75.75.75h3.496a.75.75 0 0 0 .75-.75V15.75a.75.75 0 0 1 .281-.585zM6.75 7h6.495a1.75 1.75 0 0 1 1.744 1.606l.006.144V10h-1.5V8.75a.25.25 0 0 0-.192-.244l-.058-.006H6.75a.25.25 0 0 0-.243.192L6.5 8.75V10H5V8.75a1.75 1.75 0 0 1 1.607-1.745zh6.495zM10 0a3 3 0 1 1 0 6 3 3 0 0 1 0-6m0 1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3"})))}));function Xl(){return Xl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xl.apply(null,arguments)}var Yl,Zl=r((function(t){return e.createElement("svg",Xl({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Gl||(Gl=e.createElement("path",{fill:"#2C3336",d:"M23.438.375h-1.3c-.315 0-.57.26-.562.576l.11 4.62A11.61 11.61 0 0 0 12 .376C6.32.375 1.59 4.45.576 9.835a.562.562 0 0 0 .554.665h1.34a.564.564 0 0 0 .55-.447A9.184 9.184 0 0 1 12 2.813a9.18 9.18 0 0 1 8.375 5.404l-5.924-.14a.563.563 0 0 0-.576.562v1.299c0 .31.252.562.563.562h9c.31 0 .562-.252.562-.562v-9a.563.563 0 0 0-.562-.563M22.87 13.5h-1.34a.564.564 0 0 0-.55.447 9.184 9.184 0 0 1-8.98 7.24 9.18 9.18 0 0 1-8.375-5.404l5.924.14a.563.563 0 0 0 .576-.562v-1.299a.563.563 0 0 0-.562-.562h-9a.563.563 0 0 0-.563.563v9c0 .31.252.562.563.562H1.86c.316 0 .57-.26.563-.576l-.11-4.62A11.61 11.61 0 0 0 12 23.624c5.68 0 10.41-4.075 11.424-9.46a.562.562 0 0 0-.554-.665"})))}));function Jl(){return Jl=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Jl.apply(null,arguments)}var es,ts,ns=r((function(t){return e.createElement("svg",Jl({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),Yl||(Yl=e.createElement("path",{fill:"#2C3336",d:"M12.313.375C5.89.375.688 5.578.688 12S5.89 23.625 12.313 23.625 23.938 18.422 23.938 12 18.734.375 12.313.375m5.7 14.677c.22.22.22.576 0 .796L16.156 17.7a.563.563 0 0 1-.797 0l-3.046-3.075L9.26 17.7a.563.563 0 0 1-.797 0l-1.852-1.856a.563.563 0 0 1 0-.797L9.689 12 6.611 8.948a.563.563 0 0 1 0-.796L8.47 6.295c.22-.22.576-.22.797 0l3.047 3.08L15.364 6.3c.22-.22.577-.22.797 0l1.856 1.856c.22.22.22.577 0 .797L14.937 12z"})))}));function rs(){return rs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},rs.apply(null,arguments)}var os,as=r((function(t){return e.createElement("svg",rs({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},es||(es=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),ts||(ts=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#02BF6F",d:"M9 16.5q-1.05 0-1.775-.725T6.5 14t.725-1.775T9 11.5t1.775.725T11.5 14t-.725 1.775T9 16.5M5 22q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 20V6q0-.824.587-1.412A1.93 1.93 0 0 1 5 4h1V3q0-.424.287-.712A.97.97 0 0 1 7 2q.424 0 .713.288Q8 2.575 8 3v1h8V3q0-.424.288-.712A.97.97 0 0 1 17 2q.424 0 .712.288Q18 2.575 18 3v1h1q.824 0 1.413.588Q21 5.175 21 6v14q0 .824-.587 1.413A1.93 1.93 0 0 1 19 22zm0-2h14V10H5zM5 8h14V6H5z"}))))}));function is(){return is=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},is.apply(null,arguments)}var ls,ss=r((function(t){return e.createElement("svg",is({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),os||(os=e.createElement("path",{fill:"#2C3336",d:"M21.75 3.75h-3.863l-1.593-2.658A2.25 2.25 0 0 0 14.363 0H9.638a2.25 2.25 0 0 0-1.932 1.092L6.112 3.75H2.25a.75.75 0 0 0-.75.75v.75a.75.75 0 0 0 .75.75H3l.994 15.89A2.25 2.25 0 0 0 6.239 24h11.522a2.25 2.25 0 0 0 2.245-2.11L21 6h.75a.75.75 0 0 0 .75-.75V4.5a.75.75 0 0 0-.75-.75M9.638 2.25h4.725l.9 1.5H8.737zm8.123 19.5H6.24L5.255 6h13.49z"})))}));function cs(){return cs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},cs.apply(null,arguments)}var us,ds=r((function(t){return e.createElement("svg",cs({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ls||(ls=e.createElement("path",{fill:"#1C1B1F",d:"m18.6 16-5.2-5.15-2.575 2.575Q10.25 14 9.4 14t-1.425-.575L2.7 8.1a.98.98 0 0 1-.288-.688A.93.93 0 0 1 2.7 6.7a.95.95 0 0 1 .7-.275q.425 0 .7.275L9.4 12l2.575-2.575q.575-.575 1.425-.575t1.425.575L20 14.6V13q0-.424.288-.713A.97.97 0 0 1 21 12q.424 0 .712.287.288.288.288.713v4q0 .424-.288.712A.97.97 0 0 1 21 18h-4a.97.97 0 0 1-.712-.288A.97.97 0 0 1 16 17q0-.424.288-.712A.97.97 0 0 1 17 16z"})))}));function ms(){return ms=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ms.apply(null,arguments)}var ps,fs=r((function(t){return e.createElement("svg",ms({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),us||(us=e.createElement("path",{fill:"#1C1B1F",d:"M2.7 17.625a.93.93 0 0 1-.288-.712.98.98 0 0 1 .288-.688l5.275-5.35Q8.55 10.3 9.4 10.3t1.425.575l2.575 2.6 5.2-5.15H17a.97.97 0 0 1-.712-.287.97.97 0 0 1-.288-.713q0-.424.288-.712A.97.97 0 0 1 17 6.325h4q.424 0 .712.288.288.287.288.712v4q0 .424-.288.713a.97.97 0 0 1-.712.287.97.97 0 0 1-.712-.287.97.97 0 0 1-.288-.713v-1.6L14.825 14.9q-.575.575-1.425.575t-1.425-.575L9.4 12.325l-5.3 5.3a.95.95 0 0 1-.7.275.95.95 0 0 1-.7-.275"})))}));function hs(){return hs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hs.apply(null,arguments)}var vs,gs,ws=r((function(t){return e.createElement("svg",hs({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),ps||(ps=e.createElement("path",{fill:"#2C3336",d:"M.75.375h1.299c.316 0 .57.26.562.576l-.11 4.62A11.61 11.61 0 0 1 12.225.375c6.393.02 11.598 5.25 11.588 11.644-.01 6.411-5.211 11.606-11.625 11.606a11.58 11.58 0 0 1-7.79-2.996.563.563 0 0 1-.023-.817l.926-.925c.21-.21.55-.224.773-.026a9.15 9.15 0 0 0 6.114 2.326A9.183 9.183 0 0 0 21.374 12a9.183 9.183 0 0 0-9.187-9.187 9.18 9.18 0 0 0-8.376 5.404l5.925-.14a.563.563 0 0 1 .575.562v1.299c0 .31-.251.562-.562.562h-9a.56.56 0 0 1-.562-.562v-9C.188.627.439.375.75.375"})))}));function ys(){return ys=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ys.apply(null,arguments)}var bs,_s,Es=r((function(t){return e.createElement("svg",ys({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},vs||(vs=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),gs||(gs=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M4.548 19.5q-.758 0-1.283-.525a1.75 1.75 0 0 1-.525-1.283V6.308q0-.758.525-1.283T4.548 4.5h11.385q.757 0 1.282.525t.525 1.283v4.577l2.737-2.737q.23-.23.506-.11t.276.44v7.043q0 .321-.276.441t-.506-.11l-2.737-2.737v4.577q0 .758-.525 1.283-.524.525-1.283.525zm0-1.5h11.385a.3.3 0 0 0 .22-.087.3.3 0 0 0 .087-.22V6.307a.3.3 0 0 0-.086-.221.3.3 0 0 0-.222-.087H4.548a.3.3 0 0 0-.221.087.3.3 0 0 0-.087.22v11.385a.3.3 0 0 0 .087.221.3.3 0 0 0 .22.087"}))))}));function xs(){return xs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xs.apply(null,arguments)}var Cs,Os,Ms=r((function(t){return e.createElement("svg",xs({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},bs||(bs=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),_s||(_s=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M4.548 19.5q-.758 0-1.283-.525a1.75 1.75 0 0 1-.525-1.283V6.308q0-.758.525-1.283T4.548 4.5h11.385q.757 0 1.282.525t.525 1.283v4.577l2.737-2.737a.43.43 0 0 1 .499-.103q.283.113.283.434v7.042q0 .321-.283.434a.43.43 0 0 1-.5-.103l-2.736-2.737v4.577q0 .758-.525 1.283-.524.525-1.283.525z"}))))}));function As(){return As=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},As.apply(null,arguments)}var Ss,Ds,Ps=r((function(t){return e.createElement("svg",As({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Cs||(Cs=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),Os||(Os=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"m18.946 21.612-2.488-2.489q-.312.18-.619.344a8 8 0 0 1-.643.304.67.67 0 0 1-.699-.091.8.8 0 0 1-.324-.674q0-.209.124-.363a.8.8 0 0 1 .307-.235 5 5 0 0 0 .77-.37l-3.585-3.584v2.15q0 .607-.555.841t-.982-.193L7.5 14.5H4.692a.88.88 0 0 1-.645-.259.88.88 0 0 1-.258-.645v-3.192q0-.387.258-.645a.88.88 0 0 1 .645-.259h2.143L2.523 5.188a.73.73 0 0 1-.212-.522.7.7 0 0 1 .212-.531.72.72 0 0 1 .527-.218q.31 0 .527.218L20 20.558q.209.207.212.522a.7.7 0 0 1-.212.532.72.72 0 0 1-.527.217.72.72 0 0 1-.527-.218m-3.75-17.433a8.5 8.5 0 0 1 3.836 3.087q1.449 2.101 1.449 4.709 0 1.315-.392 2.526-.39 1.21-1.104 2.232l-1.075-1.075a6.77 6.77 0 0 0 1.07-3.683q0-2.162-1.197-3.897a6.93 6.93 0 0 0-3.18-2.536.66.66 0 0 1-.43-.623q0-.416.324-.654a.68.68 0 0 1 .7-.086m.727 9.492-1.75-1.75V8.296a3.85 3.85 0 0 1 1.564 1.55 4.4 4.4 0 0 1 .46 3.017q-.09.42-.274.808M11.79 9.537 9.63 7.369l.621-.62q.427-.428.982-.194t.555.841zm-1.5 5.613v-2.196L8.335 11H5.289v2h2.85z"}))))}));function Ns(){return Ns=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ns.apply(null,arguments)}var qs,ks,Rs=r((function(t){return e.createElement("svg",Ns({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Ss||(Ss=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),Ds||(Ds=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M15.061 19.771a.67.67 0 0 1-.699-.091.8.8 0 0 1-.324-.674q0-.209.124-.363a.8.8 0 0 1 .307-.235 6.93 6.93 0 0 0 3.179-2.536q1.198-1.735 1.198-3.897t-1.198-3.897a6.93 6.93 0 0 0-3.179-2.536.66.66 0 0 1-.32-.248.66.66 0 0 1-.11-.375q0-.416.323-.654a.68.68 0 0 1 .7-.086 8.55 8.55 0 0 1 3.83 3.087q1.454 2.101 1.454 4.709t-1.454 4.709a8.55 8.55 0 0 1-3.83 3.087M4.558 14.5a.88.88 0 0 1-.646-.259.88.88 0 0 1-.258-.645v-3.192q0-.387.258-.645a.88.88 0 0 1 .646-.259h2.807l2.752-2.752q.427-.426.982-.193.555.234.555.841v9.208q0 .607-.555.841t-.982-.193L7.365 14.5zm9.48 1.154V8.296q.971.525 1.544 1.524a4.3 4.3 0 0 1 .572 2.18q0 1.18-.572 2.155a3.93 3.93 0 0 1-1.544 1.499"}))))}));function Ts(){return Ts=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ts.apply(null,arguments)}var Is,Ls,Bs=r((function(t){return e.createElement("svg",Ts({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",width:"1em",height:"1em"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},qs||(qs=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),ks||(ks=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M2.725 21a.97.97 0 0 1-.85-.5 1.1 1.1 0 0 1-.138-.488.9.9 0 0 1 .138-.512l9.25-16a1 1 0 0 1 .387-.375Q11.75 3 12 3t.487.125a1 1 0 0 1 .388.375l9.25 16q.15.25.137.512a1.1 1.1 0 0 1-.137.488.97.97 0 0 1-.85.5zM12 18q.424 0 .712-.288A.97.97 0 0 0 13 17a.97.97 0 0 0-.288-.712A.97.97 0 0 0 12 16a.97.97 0 0 0-.713.288A.97.97 0 0 0 11 17q0 .424.287.712.288.288.713.288m0-3a.97.97 0 0 0 .712-.287A.97.97 0 0 0 13 14v-3a.97.97 0 0 0-.288-.713A.97.97 0 0 0 12 10a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 11v3q0 .424.287.713.288.287.713.287"}))))}));function Fs(){return Fs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Fs.apply(null,arguments)}var zs=r((function(t){return e.createElement("svg",Fs({xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",fill:"none",viewBox:"0 0 24 24"},t),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Is||(Is=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),Ls||(Ls=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"#2C3336",d:"M3.426 20.5a.878.878 0 0 1-.772-.452.96.96 0 0 1-.129-.437.8.8 0 0 1 .127-.467l8.561-14.788A.9.9 0 0 1 12 3.904q.23 0 .44.11.208.111.347.342l8.56 14.788q.14.231.128.467a.96.96 0 0 1-.129.437.88.88 0 0 1-.771.452zM4.45 19h15.1L12 6zM12 17.808q.343 0 .576-.232a.78.78 0 0 0 .232-.576.78.78 0 0 0-.232-.575.78.78 0 0 0-.576-.233.78.78 0 0 0-.575.233.78.78 0 0 0-.233.575q0 .343.233.576a.78.78 0 0 0 .575.232m0-2.616q.32 0 .535-.215a.73.73 0 0 0 .215-.535v-3.5a.73.73 0 0 0-.216-.534.73.73 0 0 0-.534-.216.73.73 0 0 0-.534.216.73.73 0 0 0-.216.534v3.5q0 .32.216.535a.73.73 0 0 0 .534.215"}))))})),js=Object.freeze({__proto__:null,AddIcon:Yn,ArrowDownIcon:ja,ArrowLeftDoubleIcon:or,ArrowLeftIcon:tr,ArrowLeftSingleIcon:lr,AtIcon:ur,BarChartIcon:fr,BlockIcon:wr,BlurOnIcon:Er,CachedIcon:Mr,CalendarIcon:Dr,CameraIcon:kr,CameraOutlinedIcon:Ir,ChatDisabledIcon:Kr,ChatIcon:Hr,CheckCircleIcon:Zr,CheckCircleSolidIcon:to,CheckIcon:$r,CheckboxIcon:oo,ClockIcon:lo,CloseIcon:En,CompressIcon:uo,CopyIcon:ho,CustomizeIcon:yo,DeleteIcon:Eo,DotsIcon:Oo,DownloadIcon:So,EditIcon:qo,ElectricBoltIcon:Io,EventDetailsIcon:zo,EventRepeatIcon:Ho,ExclamationIcon:Ko,ExpandIcon:$o,ExternalLinkIcon:Jo,FeatureActionIcon:na,FileIcon:aa,FilterListIcon:sa,FlipCameraIcon:da,GearIcon:ha,HelpIcon:wa,HelpSolidIcon:_a,InfoCircleIcon:Na,InfoCircleSolidIcon:Ra,InfoIcon:Oa,InfoSolidIcon:Sa,ItemsIcon:Ba,ListIcon:Ua,LocationIcon:Qa,LockIcon:Xa,MagicIcon:Ja,MailIcon:ri,MaterialsIcon:li,MicBoldIcon:Ci,MicOffIcon:fi,MicOffSolidIcon:di,MicOnSolidIcon:_i,MicOutlinedIcon:wi,MobileDeviceIcon:Ai,OutStageIcon:Pi,PasswordEyeCrossedIcon:Ii,PasswordEyeIcon:ki,PeopleCommunityIcon:Vi,PeopleIcon:Fi,Person:Wi,PersonDeleteIcon:Gi,PersonIcon:Wi,PlayIcon:Yi,PlusIcon:tl,PollIcon:ol,PresentationIcon:ll,ProgressIcon:ml,ReplayDisabledIcon:hl,RestartIcon:wl,RocketIcon:_l,ScreenPersonIcon:Cl,ScreenShareIcon:Pl,ScreenShareWindowIcon:Al,SearchIcon:kl,SideBarIcon:Il,SmileIcon:Fl,SpotlightIcon:Hl,StackedEmailIcon:Kl,StageIcon:$l,SyncIcon:Zl,TimesCircleIcon:ns,TodayIcon:as,TrashIcon:ss,TrendingDownIcon:ds,TrendingUpIcon:fs,UndoIcon:ws,VideoCamOnIcon:Es,VideoCamOnSolidIcon:Ms,VolumeOffIcon:Ps,VolumeUpSolidIcon:Rs,WarningIcon:zs,WarningSolidIcon:Bs}),Vs={avatarRoot:"Avatar-modules_avatarRoot__-f6qf",avatarImage:"Avatar-modules_avatarImage__zceNY",avatarFallback:"Avatar-modules_avatarFallback__q-QHl",size16:"Avatar-modules_size16__G8gqA",size24:"Avatar-modules_size24__mfBv9",size32:"Avatar-modules_size32__B21z8",size40:"Avatar-modules_size40__ixjf7",size48:"Avatar-modules_size48__l5CtN",size64:"Avatar-modules_size64__2kbdu",size80:"Avatar-modules_size80__MjWsy",size96:"Avatar-modules_size96__GRUKB",size128:"Avatar-modules_size128__STzjL"};const Hs=[16,24,32,40,48,64,80,96,128],Us=({src:e="",size:n=32,userName:r="",alt:o="",className:a="",fallbackDelay:i=600})=>{const l=Hs.includes(n)?Vs[`size${n}`]:Vs.size32,s=String(r).slice(0,1)||"";return t.createElement("div",{className:x(l,"demio-ui-avatar",a)},t.createElement(Kn,{className:x(Vs.avatarRoot,"demio-ui-avatar-root")},t.createElement(Qn,{className:x(Vs.avatarImage,"demio-ui-avatar-image"),src:e,alt:o||`${r} profile picture`}),t.createElement(Gn,{className:x(Vs.avatarFallback,"demio-ui-avatar-fallback"),delayMs:i},s||t.createElement(Wi,null))))};var Ws={badge:"Badge-modules_badge__Q3gMy",title:"Badge-modules_title__ldcxW",icon:"Badge-modules_icon__PuMGj",orange:"Badge-modules_orange__KUE8y",gray:"Badge-modules_gray__gyQRh",purple:"Badge-modules_purple__0r-Ep",blue:"Badge-modules_blue__gLy09",outlined:"Badge-modules_outlined__6J7Qy",contained:"Badge-modules_contained__iOqhq",green:"Badge-modules_green__az-Sp"};const Ks=({className:e="",icon:n=null,children:r=null,variant:o="contained",color:a="green"})=>t.createElement("div",{className:x(Ws.badge,Ws[o],Ws[a],"demio-ui-badge",e)},n&&t.createElement("div",{className:x(Ws.icon,"demio-ui-badge-icon")},n),t.createElement("p",{className:x(Ws.title,"demio-ui-badge-title")},r));var Qs={button:"Button-modules_button__aG-rx",primary:"Button-modules_primary__4wFpG",red:"Button-modules_red__kzhcS",dark:"Button-modules_dark__y2K4o",secondary:"Button-modules_secondary__BxoW-",green:"Button-modules_green__XduFJ",tertiary:"Button-modules_tertiary__atvmK",quarter:"Button-modules_quarter__X0oiw",fullWidth:"Button-modules_fullWidth__K1YM1",prefix:"Button-modules_prefix__5QA-K",suffix:"Button-modules_suffix__alHaW"};const Gs=o((({disabled:e=!1,children:n,onClick:r,variant:o="primary",color:a="green",type:i="button",prefix:l="",suffix:s="",className:c="",fullWidth:u=!1,showLoader:d=!1,...m},p)=>t.createElement("button",{ref:p,type:i,disabled:e,className:x("demio-ui-button",Qs.button,{[c]:c,[Qs[o]]:o,[Qs.fullWidth]:u,[Qs[a]]:!!a}),onClick:r,...m},(l||d)&&t.createElement("span",{className:x("demio-ui-button-prefix",Qs.prefix)},d?t.createElement(Cn,{size:"small",inheritColor:!0}):l),t.createElement("span",null,n),s&&t.createElement("span",{className:x("demio-ui-button-suffix",Qs.suffix)},s))));var $s={Card:"Card-modules_Card__z6Ana",shadowElevation1:"Card-modules_shadowElevation1__W-OBt",shadowElevation2:"Card-modules_shadowElevation2__wi10x",shadowElevation3:"Card-modules_shadowElevation3__PhQ67",shadowElevation4:"Card-modules_shadowElevation4__Gw1NR",shadowElevation5:"Card-modules_shadowElevation5__1dyXB",shadowElevation6:"Card-modules_shadowElevation6__d6Bwl",shadowElevation7:"Card-modules_shadowElevation7__IKuo-",shadowElevation8:"Card-modules_shadowElevation8__fboRY",shadowElevation9:"Card-modules_shadowElevation9__hpxHG",emptyState:"Card-modules_emptyState__NPe3g"};const Xs=r((({children:e=null,className:n="",isEmptyStateAvailable:r=!0,isLoading:o=!1,emptyStateIcon:a=null,emptyStateText:i="",shadowElevation:l=1})=>{const s=null===a,c=""===i,u=$s[`shadowElevation${l}`];return t.createElement("div",{className:x($s.Card,u,"demio-ui-card",n)},o&&t.createElement(Cn,{className:"demio-ui-card-loader"}),!o&&(e||t.createElement("div",{className:x($s.emptyState,"demio-ui-card-empty-state")},r&&t.createElement(t.Fragment,null,t.createElement("div",{className:x({"demio-ui-card-empty-state-icon":s,"demio-ui-card-custom-state-icon":!s})},a||t.createElement(fr,null)),t.createElement("div",{className:x({"demio-ui-card-empty-state-text":c,"demio-ui-card-custom-state-text":!c})},i||"No Data Available")))))}));function Ys(t){const n=e.useRef({value:t,previous:t});return e.useMemo((()=>(n.current.value!==t&&(n.current.previous=n.current.value,n.current.value=t),n.current.previous)),[t])}function Zs(t){const[n,r]=e.useState(void 0);return P((()=>{if(t){r({width:t.offsetWidth,height:t.offsetHeight});const e=new ResizeObserver((e=>{if(!Array.isArray(e))return;if(!e.length)return;const n=e[0];let o,a;if("borderBoxSize"in n){const e=n.borderBoxSize,t=Array.isArray(e)?e[0]:e;o=t.inlineSize,a=t.blockSize}else o=t.offsetWidth,a=t.offsetHeight;r({width:o,height:a})}));return e.observe(t,{box:"border-box"}),()=>e.unobserve(t)}r(void 0)}),[t]),n}var Js="Checkbox",[ec,tc]=C(Js),[nc,rc]=ec(Js),oc=e.forwardRef(((t,n)=>{const{__scopeCheckbox:r,name:o,checked:a,defaultChecked:i,required:l,disabled:s,value:c="on",onCheckedChange:u,form:m,...f}=t,[h,v]=e.useState(null),g=S(n,(e=>v(e))),w=e.useRef(!1),y=!h||(m||!!h.closest("form")),[b=!1,_]=T({prop:a,defaultProp:i,onChange:u}),E=e.useRef(b);return e.useEffect((()=>{const e=h?.form;if(e){const t=()=>_(E.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}}),[h,_]),p(nc,{scope:r,state:b,disabled:s,children:[d(z.button,{type:"button",role:"checkbox","aria-checked":sc(b)?"mixed":b,"aria-required":l,"data-state":cc(b),"data-disabled":s?"":void 0,disabled:s,value:c,...f,ref:g,onKeyDown:D(t.onKeyDown,(e=>{"Enter"===e.key&&e.preventDefault()})),onClick:D(t.onClick,(e=>{_((e=>!!sc(e)||!e)),y&&(w.current=e.isPropagationStopped(),w.current||e.stopPropagation())}))}),y&&d(lc,{control:h,bubbles:!w.current,name:o,value:c,checked:b,required:l,disabled:s,form:m,style:{transform:"translateX(-100%)"},defaultChecked:!sc(i)&&i})]})}));oc.displayName=Js;var ac="CheckboxIndicator",ic=e.forwardRef(((e,t)=>{const{__scopeCheckbox:n,forceMount:r,...o}=e,a=rc(ac,n);return d(le,{present:r||sc(a.state)||!0===a.state,children:d(z.span,{"data-state":cc(a.state),"data-disabled":a.disabled?"":void 0,...o,ref:t,style:{pointerEvents:"none",...e.style}})})}));ic.displayName=ac;var lc=t=>{const{control:n,checked:r,bubbles:o=!0,defaultChecked:a,...i}=t,l=e.useRef(null),s=Ys(r),c=Zs(n);e.useEffect((()=>{const e=l.current,t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,"checked").set;if(s!==r&&n){const t=new Event("click",{bubbles:o});e.indeterminate=sc(r),n.call(e,!sc(r)&&r),e.dispatchEvent(t)}}),[s,r,o]);const u=e.useRef(!sc(r)&&r);return d("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a??u.current,...i,tabIndex:-1,ref:l,style:{...t.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function sc(e){return"indeterminate"===e}function cc(e){return sc(e)?"indeterminate":e?"checked":"unchecked"}var uc=oc,dc=ic,mc=e.forwardRef(((e,t)=>d(z.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}})));mc.displayName="Label";var pc=mc,fc="Label-modules_label__rXO6J",hc="Label-modules_semiBold__vTm1B",vc="Label-modules_regular__F9gNE";const gc=(e="regular")=>"semiBold"===e?hc:vc;function wc({htmlFor:e,children:n,className:r="",weight:o="regular"}){return t.createElement(pc,{htmlFor:e,className:x("demio-ui-label",fc,[gc(o)],{[r]:!!r})},n)}var yc="Checkbox-modules_container__psQsQ",bc="Checkbox-modules_root__iysyc",_c="Checkbox-modules_label__4TV-f";const Ec=r(o((({children:e=null,disabled:n=!1,id:r,...o},a)=>t.createElement("div",{className:x("demio-ui-checkbox",yc),ref:a},t.createElement(uc,{...o,className:x("demio-ui-checkbox-button",bc),disabled:n,id:r},t.createElement(dc,{className:"demio-ui-checkbox-button"},t.createElement(oo,null))),e&&t.createElement(wc,{className:x("demio-ui-checkbox-label",_c),htmlFor:r,weight:"regular"},e)))));var xc="InputHint-modules_root__bJTnj",Cc="InputHint-modules_error__HZnQD";function Oc({children:e,type:n="hint",className:r=""}){return t.createElement("div",{className:x("demio-ui-input-hint",xc,{[Cc]:"error"===n,[r]:!!r}),"data-html":n},e)}var Mc={root:"Input-modules_root__vdxX5",label:"Input-modules_label__2RN8-",optional:"Input-modules_optional__M78yJ",static:"Input-modules_static__cpwFU",correctedTop:"Input-modules_correctedTop__I3y-S",inputWrapper:"Input-modules_inputWrapper__KPYyg",input:"Input-modules_input__y9hSj",startAdornment:"Input-modules_startAdornment__Xs8xw",endAdornment:"Input-modules_endAdornment__z04mP",footer:"Input-modules_footer__R8J8U",togglePasswordButton:"Input-modules_togglePasswordButton__KGieB",footerMessage:"Input-modules_footerMessage__akEOh",counter:"Input-modules_counter__HFA5P",isDisabled:"Input-modules_isDisabled__bHf8L",hint:"Input-modules_hint__e-KNY",isError:"Input-modules_isError__1B8e9",isFocused:"Input-modules_isFocused__Oa1Re",isLabelStatic:"Input-modules_isLabelStatic__iF0-s"};const Ac=o(((e,r)=>{const{autoComplete:o="off",className:a="",counterVisibilityLimit:i=.8,defaultValue:l="",disabled:s=!1,endAdornment:c=null,endAdornmentClassName:u="",errorMessage:d="",hint:m="",id:p,inputWrapperClass:f="",isLabelStatic:h=!1,label:v="",maxLength:g=150,name:w="",onBlur:y,onChange:b,onFocus:_,optionalText:E="Optional",placeholder:C="",required:O=!1,startAdornment:M=null,type:A="text",value:S,...D}=e,[P,N]=n(!1),[q,k]=n(l||""),[R,T]=n(!1),I=void 0!==S,L="password"===A,B=L?P?"text":"password":A,F=I?S:q,z=F.length,j=z>=g*i;return t.createElement("div",{className:x("demio-ui-input",`demio-ui-input-${A}`,Mc.root,{[a]:!!a,[Mc.isDisabled]:s,[Mc.isFocused]:R||F,[Mc.hasStartAdornment]:!!M,[Mc.isError]:!!d,[Mc.isLabelStatic]:!!h,"demio-ui-input-has-error":!!d}),"data-html":"container","data-state":R?"focused":""},v&&t.createElement("label",{htmlFor:p,className:x("demio-ui-input-label",Mc.label,{[Mc.static]:h}),"data-html":"label"},v),!O&&t.createElement("span",{className:x("demio-ui-input-optional",Mc.optional,{[Mc.correctedTop]:h}),"data-html":"optional"},E),t.createElement("div",{className:x("demio-ui-input-wrapper",Mc.inputWrapper,f),"data-html":"wrapper"},M&&t.createElement("div",{className:Mc.startAdornment,"data-html":"start-adornment"},M),t.createElement("input",{...D,type:B,id:p,ref:r,name:w||p,className:Mc.input,placeholder:C,required:O,"data-html":"input",disabled:s,autoComplete:o,maxLength:g,onChange:e=>{b?.(e),I||k(e.target.value)},value:F,onFocus:e=>{_?.(e),T(!0)},onBlur:e=>{y?.(e),T(!1)}}),c&&t.createElement("div",{className:x(Mc.endAdornment,{[u]:!!u}),"data-html":"end-adornment"},c)),t.createElement("div",{className:x("demio-ui-input-footer",Mc.footer,{[Mc.footerWithEndAdornment]:!!c}),"data-html":"footer"},t.createElement("div",{className:x("demio-ui-input-footer-message",Mc.footerMessage)},d&&t.createElement(Oc,{type:"error"},d),m&&!d&&t.createElement(Oc,{className:Mc.hint},m)),t.createElement(Oc,{className:x("demio-ui-input-counter",Mc.counter)},j&&`(${z} / ${g})`)),L&&t.createElement("button",{type:"button",className:x("demio-ui-input-toggle-password-button",Mc.togglePasswordButton),onClick:()=>{N(!P)}},P?t.createElement(ki,null):t.createElement(Ii,null)))}));var Sc="CopyLinkInput-module_root__oxVd0",Dc="CopyLinkInput-module_input__MQztq",Pc="CopyLinkInput-module_button__J5F9v",Nc="CopyLinkInput-module_inputWrapper__m0PMy";const qc=({onCopy:e})=>t.createElement("button",{type:"button",className:Pc,onClick:e,"aria-label":"Copy to clipboard"},t.createElement(ho,{width:16,height:16})),kc=({value:e="",className:r="",hint:o="Link copied to clipboard",id:s="copy-link-input",...c})=>{const[u,d]=n(!1),m=a(null),p=a(null),f=i((async()=>{await(async e=>{try{await navigator.clipboard.writeText(e)}catch(e){console.error("Could not copy text: ",e)}})(e),d(!0),m.current=setTimeout((()=>{d(!1)}),2e3)}),[e]);return l((()=>()=>{m.current&&clearTimeout(m.current)}),[]),t.createElement("div",{className:x(Sc,r)},t.createElement(Ac,{className:Dc,readOnly:!0,id:s,ref:p,value:e,hint:u?o:"",inputWrapperClass:Nc,endAdornment:t.createElement(qc,{onCopy:f}),required:!0,onFocus:e=>{f(),c.onFocus&&c.onFocus(e)},...c}))};function Rc(e,[t,n]){return Math.min(n,Math.max(t,e))}var Tc=e.createContext(void 0);function Ic(t){const n=e.useContext(Tc);return t||n||"ltr"}function Lc(e){const n=e+"CollectionProvider",[r,o]=C(n),[a,i]=r(n,{collectionRef:{current:null},itemMap:new Map}),l=e=>{const{scope:n,children:r}=e,o=t.useRef(null),i=t.useRef(new Map).current;return d(a,{scope:n,itemMap:i,collectionRef:o,children:r})};l.displayName=n;const s=e+"CollectionSlot",c=t.forwardRef(((e,t)=>{const{scope:n,children:r}=e,o=S(t,i(s,n).collectionRef);return d(I,{ref:o,children:r})}));c.displayName=s;const u=e+"CollectionItemSlot",m="data-radix-collection-item",p=t.forwardRef(((e,n)=>{const{scope:r,children:o,...a}=e,l=t.useRef(null),s=S(n,l),c=i(u,r);return t.useEffect((()=>(c.itemMap.set(l,{ref:l,...a}),()=>{c.itemMap.delete(l)}))),d(I,{[m]:"",ref:s,children:o})}));return p.displayName=u,[{Provider:l,Slot:c,ItemSlot:p},function(n){const r=i(e+"CollectionConsumer",n);return t.useCallback((()=>{const e=r.collectionRef.current;if(!e)return[];const t=Array.from(e.querySelectorAll(`[${m}]`));return Array.from(r.itemMap.values()).sort(((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current)))}),[r.collectionRef,r.itemMap])},o]}var Bc=["PageUp","PageDown"],Fc=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],zc={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},jc="Slider",[Vc,Hc,Uc]=Lc(jc),[Wc,Kc]=C(jc,[Uc]),[Qc,Gc]=Wc(jc),$c=e.forwardRef(((t,n)=>{const{name:r,min:o=0,max:a=100,step:i=1,orientation:l="horizontal",disabled:s=!1,minStepsBetweenThumbs:c=0,defaultValue:u=[o],value:m,onValueChange:p=()=>{},onValueCommit:f=()=>{},inverted:h=!1,form:v,...g}=t,w=e.useRef(new Set),y=e.useRef(0),b="horizontal"===l?Zc:Jc,[_=[],E]=T({prop:m,defaultProp:u,onChange:e=>{const t=[...w.current];t[y.current]?.focus(),p(e)}}),x=e.useRef(_);function C(e,t,{commit:n}={commit:!1}){const r=function(e){return(String(e).split(".")[1]||"").length}(i),l=function(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}(Math.round((e-o)/i)*i+o,r),s=Rc(l,[o,a]);E(((e=[])=>{const r=function(e=[],t,n){const r=[...e];return r[n]=t,r.sort(((e,t)=>e-t))}(e,s,t);if(function(e,t){if(t>0){const n=function(e){return e.slice(0,-1).map(((t,n)=>e[n+1]-t))}(e);return Math.min(...n)>=t}return!0}(r,c*i)){y.current=r.indexOf(s);const t=String(r)!==String(e);return t&&n&&f(r),t?r:e}return e}))}return d(Qc,{scope:t.__scopeSlider,name:r,disabled:s,min:o,max:a,valueIndexToChangeRef:y,thumbs:w.current,values:_,orientation:l,form:v,children:d(Vc.Provider,{scope:t.__scopeSlider,children:d(Vc.Slot,{scope:t.__scopeSlider,children:d(b,{"aria-disabled":s,"data-disabled":s?"":void 0,...g,ref:n,onPointerDown:D(g.onPointerDown,(()=>{s||(x.current=_)})),min:o,max:a,inverted:h,onSlideStart:s?void 0:function(e){const t=function(e,t){if(1===e.length)return 0;const n=e.map((e=>Math.abs(e-t))),r=Math.min(...n);return n.indexOf(r)}(_,e);C(e,t)},onSlideMove:s?void 0:function(e){C(e,y.current)},onSlideEnd:s?void 0:function(){const e=x.current[y.current];_[y.current]!==e&&f(_)},onHomeKeyDown:()=>!s&&C(o,0,{commit:!0}),onEndKeyDown:()=>!s&&C(a,_.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!s){const n=Bc.includes(e.key)||e.shiftKey&&Fc.includes(e.key)?10:1,r=y.current;C(_[r]+i*n*t,r,{commit:!0})}}})})})})}));$c.displayName=jc;var[Xc,Yc]=Wc(jc,{startEdge:"left",endEdge:"right",size:"width",direction:1}),Zc=e.forwardRef(((t,n)=>{const{min:r,max:o,dir:a,inverted:i,onSlideStart:l,onSlideMove:s,onSlideEnd:c,onStepKeyDown:u,...m}=t,[p,f]=e.useState(null),h=S(n,(e=>f(e))),v=e.useRef(void 0),g=Ic(a),w="ltr"===g,y=w&&!i||!w&&i;function b(e){const t=v.current||p.getBoundingClientRect(),n=uu([0,t.width],y?[r,o]:[o,r]);return v.current=t,n(e-t.left)}return d(Xc,{scope:t.__scopeSlider,startEdge:y?"left":"right",endEdge:y?"right":"left",direction:y?1:-1,size:"width",children:d(eu,{dir:g,"data-orientation":"horizontal",...m,ref:h,style:{...m.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{const t=b(e.clientX);l?.(t)},onSlideMove:e=>{const t=b(e.clientX);s?.(t)},onSlideEnd:()=>{v.current=void 0,c?.()},onStepKeyDown:e=>{const t=zc[y?"from-left":"from-right"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})})),Jc=e.forwardRef(((t,n)=>{const{min:r,max:o,inverted:a,onSlideStart:i,onSlideMove:l,onSlideEnd:s,onStepKeyDown:c,...u}=t,m=e.useRef(null),p=S(n,m),f=e.useRef(void 0),h=!a;function v(e){const t=f.current||m.current.getBoundingClientRect(),n=uu([0,t.height],h?[o,r]:[r,o]);return f.current=t,n(e-t.top)}return d(Xc,{scope:t.__scopeSlider,startEdge:h?"bottom":"top",endEdge:h?"top":"bottom",size:"height",direction:h?1:-1,children:d(eu,{"data-orientation":"vertical",...u,ref:p,style:{...u.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{const t=v(e.clientY);i?.(t)},onSlideMove:e=>{const t=v(e.clientY);l?.(t)},onSlideEnd:()=>{f.current=void 0,s?.()},onStepKeyDown:e=>{const t=zc[h?"from-bottom":"from-top"].includes(e.key);c?.({event:e,direction:t?-1:1})}})})})),eu=e.forwardRef(((e,t)=>{const{__scopeSlider:n,onSlideStart:r,onSlideMove:o,onSlideEnd:a,onHomeKeyDown:i,onEndKeyDown:l,onStepKeyDown:s,...c}=e,u=Gc(jc,n);return d(z.span,{...c,ref:t,onKeyDown:D(e.onKeyDown,(e=>{"Home"===e.key?(i(e),e.preventDefault()):"End"===e.key?(l(e),e.preventDefault()):Bc.concat(Fc).includes(e.key)&&(s(e),e.preventDefault())})),onPointerDown:D(e.onPointerDown,(e=>{const t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():r(e)})),onPointerMove:D(e.onPointerMove,(e=>{e.target.hasPointerCapture(e.pointerId)&&o(e)})),onPointerUp:D(e.onPointerUp,(e=>{const t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))}))})})),tu="SliderTrack",nu=e.forwardRef(((e,t)=>{const{__scopeSlider:n,...r}=e,o=Gc(tu,n);return d(z.span,{"data-disabled":o.disabled?"":void 0,"data-orientation":o.orientation,...r,ref:t})}));nu.displayName=tu;var ru="SliderRange",ou=e.forwardRef(((t,n)=>{const{__scopeSlider:r,...o}=t,a=Gc(ru,r),i=Yc(ru,r),l=S(n,e.useRef(null)),s=a.values.length,c=a.values.map((e=>cu(e,a.min,a.max))),u=s>1?Math.min(...c):0,m=100-Math.max(...c);return d(z.span,{"data-orientation":a.orientation,"data-disabled":a.disabled?"":void 0,...o,ref:l,style:{...t.style,[i.startEdge]:u+"%",[i.endEdge]:m+"%"}})}));ou.displayName=ru;var au="SliderThumb",iu=e.forwardRef(((t,n)=>{const r=Hc(t.__scopeSlider),[o,a]=e.useState(null),i=S(n,(e=>a(e))),l=e.useMemo((()=>o?r().findIndex((e=>e.ref.current===o)):-1),[r,o]);return d(lu,{...t,ref:i,index:l})})),lu=e.forwardRef(((t,n)=>{const{__scopeSlider:r,index:o,name:a,...i}=t,l=Gc(au,r),s=Yc(au,r),[c,u]=e.useState(null),m=S(n,(e=>u(e))),f=!c||(l.form||!!c.closest("form")),h=Zs(c),v=l.values[o],g=void 0===v?0:cu(v,l.min,l.max),w=function(e,t){return t>2?`Value ${e+1} of ${t}`:2===t?["Minimum","Maximum"][e]:void 0}(o,l.values.length),y=h?.[s.size],b=y?function(e,t,n){const r=e/2,o=uu([0,50],[0,r]);return(r-o(t)*n)*n}(y,g,s.direction):0;return e.useEffect((()=>{if(c)return l.thumbs.add(c),()=>{l.thumbs.delete(c)}}),[c,l.thumbs]),p("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[s.startEdge]:`calc(${g}% + ${b}px)`},children:[d(Vc.ItemSlot,{scope:t.__scopeSlider,children:d(z.span,{role:"slider","aria-label":t["aria-label"]||w,"aria-valuemin":l.min,"aria-valuenow":v,"aria-valuemax":l.max,"aria-orientation":l.orientation,"data-orientation":l.orientation,"data-disabled":l.disabled?"":void 0,tabIndex:l.disabled?void 0:0,...i,ref:m,style:void 0===v?{display:"none"}:t.style,onFocus:D(t.onFocus,(()=>{l.valueIndexToChangeRef.current=o}))})}),f&&d(su,{name:a??(l.name?l.name+(l.values.length>1?"[]":""):void 0),form:l.form,value:v},o)]})}));iu.displayName=au;var su=t=>{const{value:n,...r}=t,o=e.useRef(null),a=Ys(n);return e.useEffect((()=>{const e=o.current,t=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(t,"value").set;if(a!==n&&r){const t=new Event("input",{bubbles:!0});r.call(e,n),e.dispatchEvent(t)}}),[a,n]),d("input",{style:{display:"none"},...r,ref:o,defaultValue:n})};function cu(e,t,n){return Rc(100/(n-t)*(e-t),[0,100])}function uu(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}var du=$c,mu=nu,pu=ou,fu=iu,hu="Slider-modules_container__ZtkgF",vu="Slider-modules_track__KLggY",gu="Slider-modules_range__3s39d",wu="Slider-modules_thumb__P9ZoJ",yu="Slider-modules_thumbArea__lNKj-";const bu=r((e=>{const{className:r,isDisabled:o=!1,max:a,min:i,name:s="slider",onChange:c,step:u,thumbAriaLabel:d="",value:m=0}=e,[p,f]=n(m);return l((()=>{f(m)}),[m]),t.createElement(du,{className:x("demio-ui-slider-container",hu,r),"data-testid":"container",disabled:o,min:i,max:a,name:s,onValueChange:e=>{return t=e[0],f(t),void(c&&c(t));var t},step:u,value:[p]},t.createElement(mu,{className:x("demio-ui-slider-track",vu),"data-testid":"track"},t.createElement(pu,{className:x("demio-ui-slider-range",gu),"data-testid":"range"})),t.createElement(fu,{"aria-label":d,className:x("demio-ui-slider-thumb",wu),"data-testid":"thumb"},t.createElement("div",{className:x("demio-ui-slider-thumb-area",yu)})))}));var _u="Crop-modules_root__rN-SB",Eu="Crop-modules_wrapper__gCOCS",xu="Crop-modules_slider__-2TIB";const Cu=r((e=>{const{aspect:r=1,className:o="",image:a="",isGridVisible:i=!1,onCropChange:l,onCropComplete:s,onZoomChange:c,sliderMin:u=1,sliderMax:d=3,sliderStep:m=.1}=e,[p,f]=n({x:0,y:0}),[h,g]=n(u);return a&&t.createElement("div",{className:x("demio-ui-crop-root",_u,o),"data-testid":"crop-root"},t.createElement("div",{className:x("demio-ui-crop-wrapper",Eu),"data-testid":"crop-wrapper"},t.createElement(v,{...e,aspect:r,classes:{containerClassName:"demio-ui-crop-container",mediaClassName:"demio-ui-crop-image "+(i?"demio-ui-crop-grid":"")},crop:p,image:a,onCropChange:e=>{f(e),l&&l(e)},onCropComplete:async(e,t)=>{s&&s(e,t)},onZoomChange:g,showGrid:i,zoom:h})),t.createElement("div",{className:x("demio-ui-crop-slider",xu),"data-testid":"crop-slider"},t.createElement(bu,{max:d,min:u,onChange:e=>{g(e),c&&c(e)},step:m})))})),Ou={jpg:["image/jpeg"],jpeg:["image/jpeg"],png:["image/png"],gif:["image/gif"],bmp:["image/bmp"],webp:["image/webp"],tiff:["image/tiff"],ico:["image/x-icon"],svg:["image/svg+xml"],pdf:["application/pdf"],txt:["text/plain"],doc:["application/msword"],docx:["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],xls:["application/vnd.ms-excel"],xlsx:["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],pps:["application/vnd.ms-powerpoint","application/mspowerpoint","application/powerpoint","application/x-mspowerpoint","application/x-powerpoint"],ppt:["application/vnd.ms-powerpoint"],pptx:["application/vnd.openxmlformats-officedocument.presentationml.presentation"],odt:["application/vnd.oasis.opendocument.text"],ods:["application/vnd.oasis.opendocument.spreadsheet"],odp:["application/vnd.oasis.opendocument.presentation"],rtf:["application/rtf"],mp3:["audio/mpeg"],wav:["audio/wav"],ogg:["audio/ogg"],aac:["audio/aac"],flac:["audio/flac"],avi:["video/x-msvideo","video/avi","video/x-avi"],flv:["video/x-flv","video/flv"],m4v:["video/x-m4v","video/m4v","video/mp4"],mkv:["video/x-matroska"],mov:["video/quicktime"],mp4:["video/mp4"],mpeg:["video/mpeg"],mpg:["video/mpeg"],webm:["video/webm"],zip:["application/zip"],tar:["application/x-tar"],gz:["application/gzip","application/x-gzip"],rar:["application/x-rar-compressed"],"7z":["application/x-7z-compressed"],html:["text/html"],htm:["text/html"],css:["text/css"],js:["application/javascript"],json:["application/json"],xml:["application/xml"],ttf:["font/ttf"],otf:["font/otf"],woff:["font/woff"],woff2:["font/woff2"],csv:["text/csv"],sql:["application/sql"],md:["text/markdown"],yaml:["text/yaml"],yml:["text/yaml"],epub:["application/epub+zip"],mobi:["application/x-mobipocket-ebook"]},Mu=(e=null)=>{if(!(e instanceof File&&e.name))return"";const t=e.name.toLowerCase().trim(),n=t.lastIndexOf(".");return-1!==n?t.substring(n+1):""},Au=(e=null)=>{if(!(e instanceof File))return"";const t=e.type?.toLowerCase().trim()||"";return t.length>0?t:""},Su=(e="",t="")=>{if("string"!=typeof e||"string"!=typeof t)return!1;const n=e.toLowerCase().trim(),r=t.toLowerCase().trim(),o=Ou[n]||[];return!(o.length>0)||o.includes(r)},Du=(e=null,t="")=>{if(!(e instanceof File))return!1;if(!("string"==typeof t&&t?.length>0))return!0;const n=Mu(e),r=Au(e);if(!n||!r)return!1;if(!Su(n,r))return!1;return t.toLowerCase().trim().includes(n)},Pu=(e=null)=>e instanceof File&&e.type.startsWith("image/"),Nu=(e=null)=>e instanceof File&&e.type.startsWith("video/"),qu=(e=null,t=0)=>{if(!(e instanceof File))return!1;if(!t||"number"!=typeof t||t<0)return!0;const n=1024*t*1024;return e.size<n},ku=async(e=null,t=0,n=0)=>new Promise(((r,o)=>{if(!(e instanceof File))return r(!1);if(!Pu(e))return r(!0);const a=new FileReader;a.onload=e=>{const a=new Image;a.onload=()=>{const e=a.width>=t&&a.height>=n;r(e)},a.onerror=()=>{o(new Error("Error while loading Image"))},a.src=e.target?.result},a.onerror=()=>{o(new Error("Error while reading Image"))},a.readAsDataURL(e)})),Ru=e=>new Promise(((t,n)=>{if(!e)return void n(new Error("URL is empty"));const r=new Image;r.addEventListener("load",(()=>t(r))),r.addEventListener("error",(e=>n(e))),r.setAttribute("crossOrigin","anonymous"),r.src=e})),Tu=(e=0)=>e*Math.PI/180,Iu=(e,t,n)=>{const r=Tu(n);return{width:Math.abs(Math.cos(r)*e)+Math.abs(Math.sin(r)*t),height:Math.abs(Math.sin(r)*e)+Math.abs(Math.cos(r)*t)}},Lu=async(e,t,n=0,r={horizontal:!1,vertical:!1})=>{const o=await Ru(e),a=document.createElement("canvas"),i=a.getContext("2d");if(!i)return null;const{width:l,height:s}=Iu(o.width,o.height,n);a.width=l,a.height=s,i.translate(l/2,s/2),i.scale(r.horizontal?-1:1,r.vertical?-1:1),i.translate(-o.width/2,-o.height/2),i.drawImage(o,0,0);const c=document.createElement("canvas"),u=c.getContext("2d");return u?(c.width=t.width,c.height=t.height,u.drawImage(a,t.x,t.y,t.width,t.height,0,0,t.width,t.height),new Promise(((e,t)=>{c.toBlob((n=>{n?e(URL.createObjectURL(n)):t(null)}),"image/jpeg")}))):null};var Bu="Toast-modules_toast__jBLRk",Fu="Toast-modules_noCloseBtn__pyGvH",zu="Toast-modules_icon__ORsLy",ju="Toast-modules_success__BYfwB",Vu="Toast-modules_warning__HLJ8C",Hu="Toast-modules_error__yN4Cu",Uu="Toast-modules_info__V0nO3",Wu="Toast-modules_message__fnWMJ",Ku="Toast-modules_description__GYPY5",Qu="Toast-modules_noMessage__3Wskx",Gu="Toast-modules_closeButton__GIv2a",$u="Toast-modules_closeIcon__2qev9";const Xu=r((({className:e="",description:r="",duration:o=4e3,icon:a=null,id:i,isClosable:s=!0,message:c="",onClose:u,style:d={},type:m="info"})=>{const[p,f]=n(!0),h=i||Date.now(),v=Boolean(r),g=Boolean(c),w="error"===m&&!a,y="info"===m&&!a,b="success"===m&&!a,_="warning"===m&&!a,E=o<1e3?1e3*o:o,C=e=>{"object"==typeof e&&(e?.preventDefault?.(),e?.stopPropagation?.()),clearTimeout("number"==typeof e?e:void 0),f(!1),u?.(h)};return l((()=>{const e=setTimeout((()=>C(e)),E);return()=>clearTimeout(e)}),[]),(g||v)&&p&&t.createElement("div",{className:x("demio-ui-toast",Bu,{[Fu]:!s},e),"data-testid":`toast-${h}`,style:d},a&&t.createElement("div",{className:x("demio-ui-toast-custom-icon",zu),"data-testid":"toast-custom-icon"},a),w&&t.createElement(Ko,{className:x("demio-ui-toast-icon demio-ui-toast-icon-error",zu,Hu),"data-testid":"toast-icon-error"}),y&&t.createElement(Na,{className:x("demio-ui-toast-icon demio-ui-toast-icon-info",zu,Uu),"data-testid":"toast-icon-info"}),b&&t.createElement(Zr,{className:x("demio-ui-toast-icon demio-ui-toast-icon-success",zu,ju),"data-testid":"toast-icon-success"}),_&&t.createElement(Oa,{className:x("demio-ui-toast-icon demio-ui-toast-icon-warning",zu,Vu),"data-testid":"toast-icon-warning"}),t.createElement("div",{className:x("demio-ui-toast-message",Wu),"data-testid":"toast-message"},c,v&&t.createElement("div",{className:x("demio-ui-toast-description",Ku,{[Qu]:!g}),"data-testid":"toast-description"},r)),s&&t.createElement("button",{className:x("demio-ui-toast-close-btn",Gu),"data-testid":"toast-close-btn",onClick:()=>C(null)},t.createElement(En,{className:x("demio-ui-toast-close-icon",$u),"data-testid":"toast-close-icon"})))}));var Yu="ToastList-modules_toastList__9nnFy";const Zu=r((()=>{const[e,r]=n([]),o=0===e.length,a=i((e=>r((t=>t.filter((t=>t.id!==e))))),[r]),s=i((()=>{o||(a(Number(e[0].id)),e[0].onClose?.(Number(e[0].id)))}),[o,e[0],a]),c=i((e=>{"Escape"===e?.key&&s()}),[s]);return l((()=>{ed?.updateSetter(r)}),[]),l((()=>(document.addEventListener("keydown",c),()=>{document.removeEventListener("keydown",c)})),[c]),t.createElement("div",{className:x("demio-ui-toast-list",Yu),id:"demio-ui-toast-list","data-testid":"toast-list"},e.map((e=>t.createElement(Xu,{...e,key:`toast-${e.id}`}))))})),Ju=()=>{if("undefined"==typeof document)return!1;let e=document.getElementById("demio-ui-toast-root");return e||(e=document.createElement("div"),e.setAttribute("id","demio-ui-toast-root"),e.setAttribute("data-testid","demio-ui-toast-root"),document.body.appendChild(e),g(e).render(t.createElement(Zu,null))),!0};const ed=new class{setToastList=null;toastQueue=[];timerId=null;isWaitingForClient=!1;constructor(){this.render()}render=()=>{"undefined"!=typeof document?Ju():this.waitForClient()};waitForClient(){if(!this.isWaitingForClient&&"undefined"!=typeof window&&(this.isWaitingForClient=!0,window.addEventListener("load",(()=>{Ju(),this.isWaitingForClient=!1})),"undefined"!=typeof MutationObserver)){const e=new MutationObserver((()=>{document.getElementById("demio-ui-toast-root")&&(Ju(),e.disconnect(),this.isWaitingForClient=!1)}));e.observe(document.body,{childList:!0,subtree:!0})}}updateSetter(e){this.setToastList=e}remove=e=>{this.setToastList?.((t=>t.map((t=>t.id===e?{...t,message:""}:t))))};getUIToastListAmount=()=>document.getElementById("demio-ui-toast-list")?.children?.length||null;add=e=>{const t=this.getUIToastListAmount(),n={...e,id:e.id||Date.now()};this.setToastList?.((e=>null===t?[{...n}]:[...e,{...n}]))};processQueue=()=>{if(null!==this.timerId||0===this.toastQueue.length)return;const e=this.toastQueue.shift();e&&(this.add(e),this.timerId=setTimeout((()=>{this.timerId=null,this.processQueue()}),40))};addToQueue=e=>{if(!Ju())return this.isWaitingForClient||this.waitForClient(),void setTimeout((()=>this.addToQueue(e)),50);this.toastQueue.push(e),this.processQueue()};error=e=>{this.addToQueue({...e,type:"error"})};info=e=>{this.addToQueue({...e,type:"info"})};success=e=>{this.addToQueue({...e,type:"success"})};warning=e=>{this.addToQueue({...e,type:"warning"})}},td=(e="",t=null)=>{const[r,o]=n("");return l((()=>{t&&e?Lu(e,t).then((e=>{o(String(e))})).catch((()=>{o("")})):o("")}),[e,t]),{croppedImageURL:r}},nd={isFileDimensionValid:!0,isFileSizeValid:!0,isFileTypeValid:!0,isFileValid:!0},rd=({acceptableFileTypes:e="",fileSizeMbLimit:t=0,isValidationEnabled:r=!0,isDimensionValidationEnabled:o=!0,isSizeValidationEnabled:a=!0,minHeightLimit:i=0,minWidthLimit:l=0})=>{const[s,c]=n(nd);return{...s,validate:async(n=null)=>{if(!(r&&n instanceof File))return nd;const u=!o||await ku(n,l,i),d=!a||qu(n,t),m=!(e.length>0)||Du(n,e),p=u&&d&&m,f={...s,isFileDimensionValid:u,isFileSizeValid:d,isFileTypeValid:m,isFileValid:p};return c(f),f}}};var od="Note-modules_note__6dcyr",ad="Note-modules_error__sG0TM",id="Note-modules_info__4-D0C",ld="Note-modules_icon__P-p8I",sd="Note-modules_blue__uKo5V";const cd={info:Ra,error:ns},ud=r((e=>{const{className:n="",classNameIcon:r="",text:o="",type:a="error"}=e,i=o.trim().length>0,l="info"===a,s=cd[a];return i&&t.createElement("div",{className:x("demio-ui-note",od,{[ad]:!l,[id]:l},n),"data-testid":"note",role:l?"status":"alert"},t.createElement(s,{className:x("demio-ui-note-icon",ld,{[sd]:l},r),"data-testid":`note-icon-${a}`}),o)}));var dd="DnDArea-modules_container__bPaID",md="DnDArea-modules_isDraggedOver__A5x5L";const pd=r((e=>{const{acceptableFileTypes:r="",className:o="",children:a="Drag the file into the selected area",dropText:i="Drop it like it’s hot! 🔥",fileSizeMbLimit:l=0,error:s="",minHeightLimit:c=0,minWidthLimit:u=0,errorDimension:d=`Minimum required dimensions are ${u}x${c}.`,errorSize:m=`Exceeds maximum size limit of ${l} MB.`,errorType:p="File type is not supported.",isValidationEnabled:f=!0,isDimensionValidationEnabled:h=!0,isSizeValidationEnabled:v=!0,onDragLeave:g,onDragOver:w,onDrop:y}=e,[b,_]=n(!1),{isFileDimensionValid:E,isFileSizeValid:C,isFileTypeValid:O,validate:M}=rd({acceptableFileTypes:r,fileSizeMbLimit:l,isDimensionValidationEnabled:h,isSizeValidationEnabled:v,isValidationEnabled:f,minHeightLimit:c,minWidthLimit:u}),A=s.length>0,S=r.length>0,D=f&&h&&!E,P=f&&v&&!C,N=f&&S&&!O;return t.createElement("div",{className:"demio-ui-dnd-area-root","data-testid":"dnd-area-root"},f&&A&&t.createElement(ud,{text:s}),f&&!A&&N&&t.createElement(ud,{text:p}),f&&!A&&!N&&P&&t.createElement(ud,{text:m}),f&&!A&&!N&&!P&&D&&t.createElement(ud,{text:d}),t.createElement("div",{className:x("demio-ui-dnd-area-container",dd,{[md]:b},o),"data-testid":"dnd-area-container",onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),_(!1),g&&g(e)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),_(!0),w&&w(e)},onDrop:async e=>{e.preventDefault(),e.stopPropagation(),_(!1);const t=e.dataTransfer?.files[0]||null;await M(t),y&&y(e,t)}},b&&i,!b&&a))}));var fd="Modal-modules_overlay__V-vTn",hd="Modal-modules_header__-dxAm",vd="Modal-modules_isTitleHidden__T6g1-",gd="Modal-modules_close__CwIjR",wd="Modal-modules_title__3ehge",yd="Modal-modules_titleCentered__Qqy8u",bd="Modal-modules_content__sK9HS",_d="Modal-modules_body__8Khpx";function Ed({children:e=null,contentClassName:n="",isCloseButtonVisible:r=!0,onClose:o=()=>{},onOpenChange:a,open:i,overlayClassName:l="",title:s,isClosable:c=!0,portalContainer:u=document.body,...d}){return t.createElement(Bt,{open:i,onOpenChange:e=>{c&&a&&a(e)},"data-testid":"modal-overlay"},t.createElement(zt,{container:u||void 0},t.createElement(jt,{"data-testid":"modal-overlay",className:x(fd,{[l]:!!l,[vd]:!s&&!r},"demio-ui-modal-overlay")},t.createElement(Vt,{...d,className:x(bd,{[n]:!!n},"demio-ui-modal-content"),"aria-describedby":void 0},t.createElement("div",{className:x(hd,"demio-ui-modal-header"),"data-html":"header"},t.createElement(Ht,{className:x(wd,{[yd]:!r},"demio-ui-modal-title"),"data-html":"title"},s),r&&t.createElement(Wt,{className:x(gd,"demio-ui-modal-close-button"),onClick:()=>{a(!1),o()},"data-html":"close-btn","data-testid":"close-btn"},t.createElement(En,null))),t.createElement("div",{className:x(_d,"demio-ui-modal-children"),"data-html":"content"},e)))))}var xd={overlay:"Drawer-modules_overlay__BbKV9",content:"Drawer-modules_content__mZs-5",alignRight:"Drawer-modules_alignRight__QQxn4",alignLeft:"Drawer-modules_alignLeft__4W0Tp",childrenWrapper:"Drawer-modules_childrenWrapper__dGPQP",header:"Drawer-modules_header__cM4Mi"};const Cd=({children:e=null,isOpen:n=!1,className:r="",isCloseButtonVisible:o=!0,header:a=null,toggleDrawer:i=()=>{},align:l="right",isClosable:s=!0})=>t.createElement(t.Fragment,null,n&&t.createElement("div",{className:x(xd.drawer,"demio-ui-drawer",r)},t.createElement(Ed,{isClosable:s,open:n,overlayClassName:xd.overlay,contentClassName:x(xd.content,{[xd.alignRight]:"right"===l,[xd.alignLeft]:"left"===l}),onOpenChange:i,isCloseButtonVisible:o},a&&t.createElement("div",{className:x(xd.header,"demio-ui-drawer-header")},a),e&&t.createElement("div",{className:x(xd.childrenWrapper,"demio-ui-drawer-children-wrapper")},e)))),Od=["top","right","bottom","left"],Md=Math.min,Ad=Math.max,Sd=Math.round,Dd=Math.floor,Pd=e=>({x:e,y:e}),Nd={left:"right",right:"left",bottom:"top",top:"bottom"},qd={start:"end",end:"start"};function kd(e,t,n){return Ad(e,Md(t,n))}function Rd(e,t){return"function"==typeof e?e(t):e}function Td(e){return e.split("-")[0]}function Id(e){return e.split("-")[1]}function Ld(e){return"x"===e?"y":"x"}function Bd(e){return"y"===e?"height":"width"}function Fd(e){return["top","bottom"].includes(Td(e))?"y":"x"}function zd(e){return Ld(Fd(e))}function jd(e){return e.replace(/start|end/g,(e=>qd[e]))}function Vd(e){return e.replace(/left|right|bottom|top/g,(e=>Nd[e]))}function Hd(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 Ud(e){const{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Wd(e,t,n){let{reference:r,floating:o}=e;const a=Fd(t),i=zd(t),l=Bd(i),s=Td(t),c="y"===a,u=r.x+r.width/2-o.width/2,d=r.y+r.height/2-o.height/2,m=r[l]/2-o[l]/2;let p;switch(s){case"top":p={x:u,y:r.y-o.height};break;case"bottom":p={x:u,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:d};break;case"left":p={x:r.x-o.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Id(t)){case"start":p[i]-=m*(n&&c?-1:1);break;case"end":p[i]+=m*(n&&c?-1:1)}return p}async function Kd(e,t){var n;void 0===t&&(t={});const{x:r,y:o,platform:a,rects:i,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:m=!1,padding:p=0}=Rd(t,e),f=Hd(p),h=l[m?"floating"===d?"reference":"floating":d],v=Ud(await a.getClippingRect({element:null==(n=await(null==a.isElement?void 0:a.isElement(h)))||n?h:h.contextElement||await(null==a.getDocumentElement?void 0:a.getDocumentElement(l.floating)),boundary:c,rootBoundary:u,strategy:s})),g="floating"===d?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,w=await(null==a.getOffsetParent?void 0:a.getOffsetParent(l.floating)),y=await(null==a.isElement?void 0:a.isElement(w))&&await(null==a.getScale?void 0:a.getScale(w))||{x:1,y:1},b=Ud(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:g,offsetParent:w,strategy:s}):g);return{top:(v.top-b.top+f.top)/y.y,bottom:(b.bottom-v.bottom+f.bottom)/y.y,left:(v.left-b.left+f.left)/y.x,right:(b.right-v.right+f.right)/y.x}}function Qd(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Gd(e){return Od.some((t=>e[t]>=0))}function $d(){return"undefined"!=typeof window}function Xd(e){return Jd(e)?(e.nodeName||"").toLowerCase():"#document"}function Yd(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function Zd(e){var t;return null==(t=(Jd(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function Jd(e){return!!$d()&&(e instanceof Node||e instanceof Yd(e).Node)}function em(e){return!!$d()&&(e instanceof Element||e instanceof Yd(e).Element)}function tm(e){return!!$d()&&(e instanceof HTMLElement||e instanceof Yd(e).HTMLElement)}function nm(e){return!(!$d()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof Yd(e).ShadowRoot)}function rm(e){const{overflow:t,overflowX:n,overflowY:r,display:o}=cm(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!["inline","contents"].includes(o)}function om(e){return["table","td","th"].includes(Xd(e))}function am(e){return[":popover-open",":modal"].some((t=>{try{return e.matches(t)}catch(e){return!1}}))}function im(e){const t=lm(),n=em(e)?cm(e):e;return["transform","translate","scale","rotate","perspective"].some((e=>!!n[e]&&"none"!==n[e]))||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","translate","scale","rotate","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function lm(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function sm(e){return["html","body","#document"].includes(Xd(e))}function cm(e){return Yd(e).getComputedStyle(e)}function um(e){return em(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function dm(e){if("html"===Xd(e))return e;const t=e.assignedSlot||e.parentNode||nm(e)&&e.host||Zd(e);return nm(t)?t.host:t}function mm(e){const t=dm(e);return sm(t)?e.ownerDocument?e.ownerDocument.body:e.body:tm(t)&&rm(t)?t:mm(t)}function pm(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);const o=mm(e),a=o===(null==(r=e.ownerDocument)?void 0:r.body),i=Yd(o);if(a){const e=fm(i);return t.concat(i,i.visualViewport||[],rm(o)?o:[],e&&n?pm(e):[])}return t.concat(o,pm(o,[],n))}function fm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function hm(e){const t=cm(e);let n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;const o=tm(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,l=Sd(n)!==a||Sd(r)!==i;return l&&(n=a,r=i),{width:n,height:r,$:l}}function vm(e){return em(e)?e:e.contextElement}function gm(e){const t=vm(e);if(!tm(t))return Pd(1);const n=t.getBoundingClientRect(),{width:r,height:o,$:a}=hm(t);let i=(a?Sd(n.width):n.width)/r,l=(a?Sd(n.height):n.height)/o;return i&&Number.isFinite(i)||(i=1),l&&Number.isFinite(l)||(l=1),{x:i,y:l}}const wm=Pd(0);function ym(e){const t=Yd(e);return lm()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:wm}function bm(e,t,n,r){void 0===t&&(t=!1),void 0===n&&(n=!1);const o=e.getBoundingClientRect(),a=vm(e);let i=Pd(1);t&&(r?em(r)&&(i=gm(r)):i=gm(e));const l=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==Yd(e))&&t}(a,n,r)?ym(a):Pd(0);let s=(o.left+l.x)/i.x,c=(o.top+l.y)/i.y,u=o.width/i.x,d=o.height/i.y;if(a){const e=Yd(a),t=r&&em(r)?Yd(r):r;let n=e,o=fm(n);for(;o&&r&&t!==n;){const e=gm(o),t=o.getBoundingClientRect(),r=cm(o),a=t.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,i=t.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;s*=e.x,c*=e.y,u*=e.x,d*=e.y,s+=a,c+=i,n=Yd(o),o=fm(n)}}return Ud({width:u,height:d,x:s,y:c})}function _m(e,t){const n=um(e).scrollLeft;return t?t.left+n:bm(Zd(e)).left+n}function Em(e,t,n){void 0===n&&(n=!1);const r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-(n?0:_m(e,r)),y:r.top+t.scrollTop}}function xm(e,t,n){let r;if("viewport"===t)r=function(e,t){const n=Yd(e),r=Zd(e),o=n.visualViewport;let a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;const e=lm();(!e||e&&"fixed"===t)&&(l=o.offsetLeft,s=o.offsetTop)}return{width:a,height:i,x:l,y:s}}(e,n);else if("document"===t)r=function(e){const t=Zd(e),n=um(e),r=e.ownerDocument.body,o=Ad(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=Ad(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let i=-n.scrollLeft+_m(e);const l=-n.scrollTop;return"rtl"===cm(r).direction&&(i+=Ad(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:l}}(Zd(e));else if(em(t))r=function(e,t){const n=bm(e,!0,"fixed"===t),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=tm(e)?gm(e):Pd(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:o*a.x,y:r*a.y}}(t,n);else{const n=ym(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ud(r)}function Cm(e,t){const n=dm(e);return!(n===t||!em(n)||sm(n))&&("fixed"===cm(n).position||Cm(n,t))}function Om(e,t,n){const r=tm(t),o=Zd(t),a="fixed"===n,i=bm(e,!0,a,t);let l={scrollLeft:0,scrollTop:0};const s=Pd(0);if(r||!r&&!a)if(("body"!==Xd(t)||rm(o))&&(l=um(t)),r){const e=bm(t,!0,a,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else o&&(s.x=_m(o));const c=!o||r||a?Pd(0):Em(o,l);return{x:i.left+l.scrollLeft-s.x-c.x,y:i.top+l.scrollTop-s.y-c.y,width:i.width,height:i.height}}function Mm(e){return"static"===cm(e).position}function Am(e,t){if(!tm(e)||"fixed"===cm(e).position)return null;if(t)return t(e);let n=e.offsetParent;return Zd(e)===n&&(n=n.ownerDocument.body),n}function Sm(e,t){const n=Yd(e);if(am(e))return n;if(!tm(e)){let t=dm(e);for(;t&&!sm(t);){if(em(t)&&!Mm(t))return t;t=dm(t)}return n}let r=Am(e,t);for(;r&&om(r)&&Mm(r);)r=Am(r,t);return r&&sm(r)&&Mm(r)&&!im(r)?n:r||function(e){let t=dm(e);for(;tm(t)&&!sm(t);){if(im(t))return t;if(am(t))return null;t=dm(t)}return null}(e)||n}const Dm={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e;const a="fixed"===o,i=Zd(r),l=!!t&&am(t.floating);if(r===i||l&&a)return n;let s={scrollLeft:0,scrollTop:0},c=Pd(1);const u=Pd(0),d=tm(r);if((d||!d&&!a)&&(("body"!==Xd(r)||rm(i))&&(s=um(r)),tm(r))){const e=bm(r);c=gm(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}const m=!i||d||a?Pd(0):Em(i,s,!0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+u.x+m.x,y:n.y*c.y-s.scrollTop*c.y+u.y+m.y}},getDocumentElement:Zd,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e;const a=[..."clippingAncestors"===n?am(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let r=pm(e,[],!1).filter((e=>em(e)&&"body"!==Xd(e))),o=null;const a="fixed"===cm(e).position;let i=a?dm(e):e;for(;em(i)&&!sm(i);){const t=cm(i),n=im(i);n||"fixed"!==t.position||(o=null),(a?!n&&!o:!n&&"static"===t.position&&o&&["absolute","fixed"].includes(o.position)||rm(i)&&!n&&Cm(e,i))?r=r.filter((e=>e!==i)):o=t,i=dm(i)}return t.set(e,r),r}(t,this._c):[].concat(n),r],i=a[0],l=a.reduce(((e,n)=>{const r=xm(t,n,o);return e.top=Ad(r.top,e.top),e.right=Md(r.right,e.right),e.bottom=Md(r.bottom,e.bottom),e.left=Ad(r.left,e.left),e}),xm(t,i,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},getOffsetParent:Sm,getElementRects:async function(e){const t=this.getOffsetParent||Sm,n=this.getDimensions,r=await n(e.floating);return{reference:Om(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=hm(e);return{width:t,height:n}},getScale:gm,isElement:em,isRTL:function(e){return"rtl"===cm(e).direction}};function Pm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Nm(e,t,n,r){void 0===r&&(r={});const{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:s=!1}=r,c=vm(e),u=o||a?[...c?pm(c):[],...pm(t)]:[];u.forEach((e=>{o&&e.addEventListener("scroll",n,{passive:!0}),a&&e.addEventListener("resize",n)}));const d=c&&l?function(e,t){let n,r=null;const o=Zd(e);function a(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return function i(l,s){void 0===l&&(l=!1),void 0===s&&(s=1),a();const c=e.getBoundingClientRect(),{left:u,top:d,width:m,height:p}=c;if(l||t(),!m||!p)return;const f={rootMargin:-Dd(d)+"px "+-Dd(o.clientWidth-(u+m))+"px "+-Dd(o.clientHeight-(d+p))+"px "+-Dd(u)+"px",threshold:Ad(0,Md(1,s))||1};let h=!0;function v(t){const r=t[0].intersectionRatio;if(r!==s){if(!h)return i();r?i(!1,r):n=setTimeout((()=>{i(!1,1e-7)}),1e3)}1!==r||Pm(c,e.getBoundingClientRect())||i(),h=!1}try{r=new IntersectionObserver(v,{...f,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(v,f)}r.observe(e)}(!0),a}(c,n):null;let m,p=-1,f=null;i&&(f=new ResizeObserver((e=>{let[r]=e;r&&r.target===c&&f&&(f.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame((()=>{var e;null==(e=f)||e.observe(t)}))),n()})),c&&!s&&f.observe(c),f.observe(t));let h=s?bm(e):null;return s&&function t(){const r=bm(e);h&&!Pm(h,r)&&n();h=r,m=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{o&&e.removeEventListener("scroll",n),a&&e.removeEventListener("resize",n)})),null==d||d(),null==(e=f)||e.disconnect(),f=null,s&&cancelAnimationFrame(m)}}const qm=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,r;const{x:o,y:a,placement:i,middlewareData:l}=t,s=await async function(e,t){const{placement:n,platform:r,elements:o}=e,a=await(null==r.isRTL?void 0:r.isRTL(o.floating)),i=Td(n),l=Id(n),s="y"===Fd(n),c=["left","top"].includes(i)?-1:1,u=a&&s?-1:1,d=Rd(t,e);let{mainAxis:m,crossAxis:p,alignmentAxis:f}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return l&&"number"==typeof f&&(p="end"===l?-1*f:f),s?{x:p*u,y:m*c}:{x:m*c,y:p*u}}(t,e);return i===(null==(n=l.offset)?void 0:n.placement)&&null!=(r=l.arrow)&&r.alignmentOffset?{}:{x:o+s.x,y:a+s.y,data:{...s,placement:i}}}}},km=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:r,placement:o}=t,{mainAxis:a=!0,crossAxis:i=!1,limiter:l={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...s}=Rd(e,t),c={x:n,y:r},u=await Kd(t,s),d=Fd(Td(o)),m=Ld(d);let p=c[m],f=c[d];if(a){const e="y"===m?"bottom":"right";p=kd(p+u["y"===m?"top":"left"],p,p-u[e])}if(i){const e="y"===d?"bottom":"right";f=kd(f+u["y"===d?"top":"left"],f,f-u[e])}const h=l.fn({...t,[m]:p,[d]:f});return{...h,data:{x:h.x-n,y:h.y-r,enabled:{[m]:a,[d]:i}}}}}},Rm=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,r;const{placement:o,middlewareData:a,rects:i,initialPlacement:l,platform:s,elements:c}=t,{mainAxis:u=!0,crossAxis:d=!0,fallbackPlacements:m,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:f="none",flipAlignment:h=!0,...v}=Rd(e,t);if(null!=(n=a.arrow)&&n.alignmentOffset)return{};const g=Td(o),w=Fd(l),y=Td(l)===l,b=await(null==s.isRTL?void 0:s.isRTL(c.floating)),_=m||(y||!h?[Vd(l)]:function(e){const t=Vd(e);return[jd(e),t,jd(t)]}(l)),E="none"!==f;!m&&E&&_.push(...function(e,t,n,r){const o=Id(e);let a=function(e,t,n){const r=["left","right"],o=["right","left"],a=["top","bottom"],i=["bottom","top"];switch(e){case"top":case"bottom":return n?t?o:r:t?r:o;case"left":case"right":return t?a:i;default:return[]}}(Td(e),"start"===n,r);return o&&(a=a.map((e=>e+"-"+o)),t&&(a=a.concat(a.map(jd)))),a}(l,h,f,b));const x=[l,..._],C=await Kd(t,v),O=[];let M=(null==(r=a.flip)?void 0:r.overflows)||[];if(u&&O.push(C[g]),d){const e=function(e,t,n){void 0===n&&(n=!1);const r=Id(e),o=zd(e),a=Bd(o);let i="x"===o?r===(n?"end":"start")?"right":"left":"start"===r?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=Vd(i)),[i,Vd(i)]}(o,i,b);O.push(C[e[0]],C[e[1]])}if(M=[...M,{placement:o,overflows:O}],!O.every((e=>e<=0))){var A,S;const e=((null==(A=a.flip)?void 0:A.index)||0)+1,t=x[e];if(t)return{data:{index:e,overflows:M},reset:{placement:t}};let n=null==(S=M.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:S.placement;if(!n)switch(p){case"bestFit":{var D;const e=null==(D=M.filter((e=>{if(E){const t=Fd(e.placement);return t===w||"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:D[0];e&&(n=e);break}case"initialPlacement":n=l}if(o!==n)return{reset:{placement:n}}}return{}}}},Tm=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,r;const{placement:o,rects:a,platform:i,elements:l}=t,{apply:s=()=>{},...c}=Rd(e,t),u=await Kd(t,c),d=Td(o),m=Id(o),p="y"===Fd(o),{width:f,height:h}=a.floating;let v,g;"top"===d||"bottom"===d?(v=d,g=m===(await(null==i.isRTL?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(g=d,v="end"===m?"top":"bottom");const w=h-u.top-u.bottom,y=f-u.left-u.right,b=Md(h-u[v],w),_=Md(f-u[g],y),E=!t.middlewareData.shift;let x=b,C=_;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(C=y),null!=(r=t.middlewareData.shift)&&r.enabled.y&&(x=w),E&&!m){const e=Ad(u.left,0),t=Ad(u.right,0),n=Ad(u.top,0),r=Ad(u.bottom,0);p?C=f-2*(0!==e||0!==t?e+t:Ad(u.left,u.right)):x=h-2*(0!==n||0!==r?n+r:Ad(u.top,u.bottom))}await s({...t,availableWidth:C,availableHeight:x});const O=await i.getDimensions(l.floating);return f!==O.width||h!==O.height?{reset:{rects:!0}}:{}}}},Im=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:r="referenceHidden",...o}=Rd(e,t);switch(r){case"referenceHidden":{const e=Qd(await Kd(t,{...o,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Gd(e)}}}case"escaped":{const e=Qd(await Kd(t,{...o,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Gd(e)}}}default:return{}}}}},Lm=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:r,placement:o,rects:a,platform:i,elements:l,middlewareData:s}=t,{element:c,padding:u=0}=Rd(e,t)||{};if(null==c)return{};const d=Hd(u),m={x:n,y:r},p=zd(o),f=Bd(p),h=await i.getDimensions(c),v="y"===p,g=v?"top":"left",w=v?"bottom":"right",y=v?"clientHeight":"clientWidth",b=a.reference[f]+a.reference[p]-m[p]-a.floating[f],_=m[p]-a.reference[p],E=await(null==i.getOffsetParent?void 0:i.getOffsetParent(c));let x=E?E[y]:0;x&&await(null==i.isElement?void 0:i.isElement(E))||(x=l.floating[y]||a.floating[f]);const C=b/2-_/2,O=x/2-h[f]/2-1,M=Md(d[g],O),A=Md(d[w],O),S=M,D=x-h[f]-A,P=x/2-h[f]/2+C,N=kd(S,P,D),q=!s.arrow&&null!=Id(o)&&P!==N&&a.reference[f]/2-(P<S?M:A)-h[f]/2<0,k=q?P<S?P-S:P-D:0;return{[p]:m[p]+k,data:{[p]:N,centerOffset:P-N-k,...q&&{alignmentOffset:k}},reset:q}}}),Bm=function(e){return void 0===e&&(e={}),{options:e,fn(t){const{x:n,y:r,placement:o,rects:a,middlewareData:i}=t,{offset:l=0,mainAxis:s=!0,crossAxis:c=!0}=Rd(e,t),u={x:n,y:r},d=Fd(o),m=Ld(d);let p=u[m],f=u[d];const h=Rd(l,t),v="number"==typeof h?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(s){const e="y"===m?"height":"width",t=a.reference[m]-a.floating[e]+v.mainAxis,n=a.reference[m]+a.reference[e]-v.mainAxis;p<t?p=t:p>n&&(p=n)}if(c){var g,w;const e="y"===m?"width":"height",t=["top","left"].includes(Td(o)),n=a.reference[d]-a.floating[e]+(t&&(null==(g=i.offset)?void 0:g[d])||0)+(t?0:v.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:(null==(w=i.offset)?void 0:w[d])||0)-(t?v.crossAxis:0);f<n?f=n:f>r&&(f=r)}return{[m]:p,[d]:f}}}},Fm=(e,t,n)=>{const r=new Map,o={platform:Dm,...n},a={...o.platform,_c:r};return(async(e,t,n)=>{const{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=a.filter(Boolean),s=await(null==i.isRTL?void 0:i.isRTL(t));let c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:u,y:d}=Wd(c,r,s),m=r,p={},f=0;for(let n=0;n<l.length;n++){const{name:a,fn:h}=l[n],{x:v,y:g,data:w,reset:y}=await h({x:u,y:d,initialPlacement:r,placement:m,strategy:o,middlewareData:p,rects:c,platform:i,elements:{reference:e,floating:t}});u=null!=v?v:u,d=null!=g?g:d,p={...p,[a]:{...p[a],...w}},y&&f<=50&&(f++,"object"==typeof y&&(y.placement&&(m=y.placement),y.rects&&(c=!0===y.rects?await i.getElementRects({reference:e,floating:t,strategy:o}):y.rects),({x:u,y:d}=Wd(c,m,s))),n=-1)}return{x:u,y:d,placement:m,strategy:o,middlewareData:p}})(e,t,{...o,platform:a})};var zm="undefined"!=typeof document?s:l;function jm(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,r,o;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;0!=r--;)if(!jm(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;0!=r--;){const n=o[r];if(("_owner"!==n||!e.$$typeof)&&!jm(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function Vm(e){if("undefined"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Hm(e,t){const n=Vm(e);return Math.round(t*n)/n}function Um(t){const n=e.useRef(t);return zm((()=>{n.current=t})),n}const Wm=e=>({name:"arrow",options:e,fn(t){const{element:n,padding:r}="function"==typeof e?e(t):e;return n&&(o=n,{}.hasOwnProperty.call(o,"current"))?null!=n.current?Lm({element:n.current,padding:r}).fn(t):{}:n?Lm({element:n,padding:r}).fn(t):{};var o}}),Km=(e,t)=>({...qm(e),options:[e,t]}),Qm=(e,t)=>({...km(e),options:[e,t]}),Gm=(e,t)=>({...Bm(e),options:[e,t]}),$m=(e,t)=>({...Rm(e),options:[e,t]}),Xm=(e,t)=>({...Tm(e),options:[e,t]}),Ym=(e,t)=>({...Im(e),options:[e,t]}),Zm=(e,t)=>({...Wm(e),options:[e,t]});var Jm=e.forwardRef(((e,t)=>{const{children:n,width:r=10,height:o=5,...a}=e;return d(z.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:d("polygon",{points:"0,0 30,0 15,10"})})}));Jm.displayName="Arrow";var ep=Jm,tp="Popper",[np,rp]=C(tp),[op,ap]=np(tp),ip=t=>{const{__scopePopper:n,children:r}=t,[o,a]=e.useState(null);return d(op,{scope:n,anchor:o,onAnchorChange:a,children:r})};ip.displayName=tp;var lp="PopperAnchor",sp=e.forwardRef(((t,n)=>{const{__scopePopper:r,virtualRef:o,...a}=t,i=ap(lp,r),l=e.useRef(null),s=S(n,l);return e.useEffect((()=>{i.onAnchorChange(o?.current||l.current)})),o?null:d(z.div,{...a,ref:s})}));sp.displayName=lp;var cp="PopperContent",[up,dp]=np(cp),mp=e.forwardRef(((t,n)=>{const{__scopePopper:r,side:o="bottom",sideOffset:a=0,align:i="center",alignOffset:l=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:u=[],collisionPadding:m=0,sticky:p="partial",hideWhenDetached:h=!1,updatePositionStrategy:v="optimized",onPlaced:g,...w}=t,y=ap(cp,r),[b,_]=e.useState(null),E=S(n,(e=>_(e))),[x,C]=e.useState(null),O=Zs(x),M=O?.width??0,A=O?.height??0,D=o+("center"!==i?"-"+i:""),N="number"==typeof m?m:{top:0,right:0,bottom:0,left:0,...m},q=Array.isArray(u)?u:[u],k=q.length>0,T={padding:N,boundary:q.filter(vp),altBoundary:k},{refs:I,floatingStyles:L,placement:B,isPositioned:F,middlewareData:j}=function(t){void 0===t&&(t={});const{placement:n="bottom",strategy:r="absolute",middleware:o=[],platform:a,elements:{reference:i,floating:l}={},transform:s=!0,whileElementsMounted:c,open:u}=t,[d,m]=e.useState({x:0,y:0,strategy:r,placement:n,middlewareData:{},isPositioned:!1}),[p,h]=e.useState(o);jm(p,o)||h(o);const[v,g]=e.useState(null),[w,y]=e.useState(null),b=e.useCallback((e=>{e!==C.current&&(C.current=e,g(e))}),[]),_=e.useCallback((e=>{e!==O.current&&(O.current=e,y(e))}),[]),E=i||v,x=l||w,C=e.useRef(null),O=e.useRef(null),M=e.useRef(d),A=null!=c,S=Um(c),D=Um(a),P=Um(u),N=e.useCallback((()=>{if(!C.current||!O.current)return;const e={placement:n,strategy:r,middleware:p};D.current&&(e.platform=D.current),Fm(C.current,O.current,e).then((e=>{const t={...e,isPositioned:!1!==P.current};q.current&&!jm(M.current,t)&&(M.current=t,f.flushSync((()=>{m(t)})))}))}),[p,n,r,D,P]);zm((()=>{!1===u&&M.current.isPositioned&&(M.current.isPositioned=!1,m((e=>({...e,isPositioned:!1}))))}),[u]);const q=e.useRef(!1);zm((()=>(q.current=!0,()=>{q.current=!1})),[]),zm((()=>{if(E&&(C.current=E),x&&(O.current=x),E&&x){if(S.current)return S.current(E,x,N);N()}}),[E,x,N,S,A]);const k=e.useMemo((()=>({reference:C,floating:O,setReference:b,setFloating:_})),[b,_]),R=e.useMemo((()=>({reference:E,floating:x})),[E,x]),T=e.useMemo((()=>{const e={position:r,left:0,top:0};if(!R.floating)return e;const t=Hm(R.floating,d.x),n=Hm(R.floating,d.y);return s?{...e,transform:"translate("+t+"px, "+n+"px)",...Vm(R.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:t,top:n}}),[r,s,R.floating,d.x,d.y]);return e.useMemo((()=>({...d,update:N,refs:k,elements:R,floatingStyles:T})),[d,N,k,R,T])}({strategy:"fixed",placement:D,whileElementsMounted:(...e)=>Nm(...e,{animationFrame:"always"===v}),elements:{reference:y.anchor},middleware:[Km({mainAxis:a+A,alignmentAxis:l}),c&&Qm({mainAxis:!0,crossAxis:!1,limiter:"partial"===p?Gm():void 0,...T}),c&&$m({...T}),Xm({...T,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{const{width:o,height:a}=t.reference,i=e.floating.style;i.setProperty("--radix-popper-available-width",`${n}px`),i.setProperty("--radix-popper-available-height",`${r}px`),i.setProperty("--radix-popper-anchor-width",`${o}px`),i.setProperty("--radix-popper-anchor-height",`${a}px`)}}),x&&Zm({element:x,padding:s}),gp({arrowWidth:M,arrowHeight:A}),h&&Ym({strategy:"referenceHidden",...T})]}),[V,H]=wp(B),U=R(g);P((()=>{F&&U?.()}),[F,U]);const W=j.arrow?.x,K=j.arrow?.y,Q=0!==j.arrow?.centerOffset,[G,$]=e.useState();return P((()=>{b&&$(window.getComputedStyle(b).zIndex)}),[b]),d("div",{ref:I.setFloating,"data-radix-popper-content-wrapper":"",style:{...L,transform:F?L.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:G,"--radix-popper-transform-origin":[j.transformOrigin?.x,j.transformOrigin?.y].join(" "),...j.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:t.dir,children:d(up,{scope:r,placedSide:V,onArrowChange:C,arrowX:W,arrowY:K,shouldHideArrow:Q,children:d(z.div,{"data-side":V,"data-align":H,...w,ref:E,style:{...w.style,animation:F?void 0:"none"}})})})}));mp.displayName=cp;var pp="PopperArrow",fp={top:"bottom",right:"left",bottom:"top",left:"right"},hp=e.forwardRef((function(e,t){const{__scopePopper:n,...r}=e,o=dp(pp,n),a=fp[o.placedSide];return d("span",{ref:o.onArrowChange,style:{position:"absolute",left:o.arrowX,top:o.arrowY,[a]: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(ep,{...r,ref:t,style:{...r.style,display:"block"}})})}));function vp(e){return null!==e}hp.displayName=pp;var gp=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:r,middlewareData:o}=t,a=0!==o.arrow?.centerOffset,i=a?0:e.arrowWidth,l=a?0:e.arrowHeight,[s,c]=wp(n),u={start:"0%",center:"50%",end:"100%"}[c],d=(o.arrow?.x??0)+i/2,m=(o.arrow?.y??0)+l/2;let p="",f="";return"bottom"===s?(p=a?u:`${d}px`,f=-l+"px"):"top"===s?(p=a?u:`${d}px`,f=`${r.floating.height+l}px`):"right"===s?(p=-l+"px",f=a?u:`${m}px`):"left"===s&&(p=`${r.floating.width+l}px`,f=a?u:`${m}px`),{data:{x:p,y:f}}}});function wp(e){const[t,n="center"]=e.split("-");return[t,n]}var yp=ip,bp=sp,_p=mp,Ep=hp,xp="rovingFocusGroup.onEntryFocus",Cp={bubbles:!1,cancelable:!0},Op="RovingFocusGroup",[Mp,Ap,Sp]=Lc(Op),[Dp,Pp]=C(Op,[Sp]),[Np,qp]=Dp(Op),kp=e.forwardRef(((e,t)=>d(Mp.Provider,{scope:e.__scopeRovingFocusGroup,children:d(Mp.Slot,{scope:e.__scopeRovingFocusGroup,children:d(Rp,{...e,ref:t})})})));kp.displayName=Op;var Rp=e.forwardRef(((t,n)=>{const{__scopeRovingFocusGroup:r,orientation:o,loop:a=!1,dir:i,currentTabStopId:l,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:u,preventScrollOnEntryFocus:m=!1,...p}=t,f=e.useRef(null),h=S(n,f),v=Ic(i),[g=null,w]=T({prop:l,defaultProp:s,onChange:c}),[y,b]=e.useState(!1),_=R(u),E=Ap(r),x=e.useRef(!1),[C,O]=e.useState(0);return e.useEffect((()=>{const e=f.current;if(e)return e.addEventListener(xp,_),()=>e.removeEventListener(xp,_)}),[_]),d(Np,{scope:r,orientation:o,dir:v,loop:a,currentTabStopId:g,onItemFocus:e.useCallback((e=>w(e)),[w]),onItemShiftTab:e.useCallback((()=>b(!0)),[]),onFocusableItemAdd:e.useCallback((()=>O((e=>e+1))),[]),onFocusableItemRemove:e.useCallback((()=>O((e=>e-1))),[]),children:d(z.div,{tabIndex:y||0===C?-1:0,"data-orientation":o,...p,ref:h,style:{outline:"none",...t.style},onMouseDown:D(t.onMouseDown,(()=>{x.current=!0})),onFocus:D(t.onFocus,(e=>{const t=!x.current;if(e.target===e.currentTarget&&t&&!y){const t=new CustomEvent(xp,Cp);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){const e=E().filter((e=>e.focusable));Bp([e.find((e=>e.active)),e.find((e=>e.id===g)),...e].filter(Boolean).map((e=>e.ref.current)),m)}}x.current=!1})),onBlur:D(t.onBlur,(()=>b(!1)))})})})),Tp="RovingFocusGroupItem",Ip=e.forwardRef(((t,n)=>{const{__scopeRovingFocusGroup:r,focusable:o=!0,active:a=!1,tabStopId:i,...l}=t,s=k(),c=i||s,u=qp(Tp,r),m=u.currentTabStopId===c,p=Ap(r),{onFocusableItemAdd:f,onFocusableItemRemove:h}=u;return e.useEffect((()=>{if(o)return f(),()=>h()}),[o,f,h]),d(Mp.ItemSlot,{scope:r,id:c,focusable:o,active:a,children:d(z.span,{tabIndex:m?0:-1,"data-orientation":u.orientation,...l,ref:n,onMouseDown:D(t.onMouseDown,(e=>{o?u.onItemFocus(c):e.preventDefault()})),onFocus:D(t.onFocus,(()=>u.onItemFocus(c))),onKeyDown:D(t.onKeyDown,(e=>{if("Tab"===e.key&&e.shiftKey)return void u.onItemShiftTab();if(e.target!==e.currentTarget)return;const t=function(e,t,n){const r=function(e,t){return"rtl"!==t?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}(e.key,n);return"vertical"===t&&["ArrowLeft","ArrowRight"].includes(r)||"horizontal"===t&&["ArrowUp","ArrowDown"].includes(r)?void 0:Lp[r]}(e,u.orientation,u.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=p().filter((e=>e.focusable)).map((e=>e.ref.current));if("last"===t)o.reverse();else if("prev"===t||"next"===t){"prev"===t&&o.reverse();const a=o.indexOf(e.currentTarget);o=u.loop?(r=a+1,(n=o).map(((e,t)=>n[(r+t)%n.length]))):o.slice(a+1)}setTimeout((()=>Bp(o)))}var n,r}))})})}));Ip.displayName=Tp;var Lp={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Bp(e,t=!1){const n=document.activeElement;for(const r of e){if(r===n)return;if(r.focus({preventScroll:t}),document.activeElement!==n)return}}var Fp=kp,zp=Ip,jp=["Enter"," "],Vp=["ArrowUp","PageDown","End"],Hp=["ArrowDown","PageUp","Home",...Vp],Up={ltr:[...jp,"ArrowRight"],rtl:[...jp,"ArrowLeft"]},Wp={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Kp="Menu",[Qp,Gp,$p]=Lc(Kp),[Xp,Yp]=C(Kp,[$p,rp,Pp]),Zp=rp(),Jp=Pp(),[ef,tf]=Xp(Kp),[nf,rf]=Xp(Kp),of=t=>{const{__scopeMenu:n,open:r=!1,children:o,dir:a,onOpenChange:i,modal:l=!0}=t,s=Zp(n),[c,u]=e.useState(null),m=e.useRef(!1),p=R(i),f=Ic(a);return e.useEffect((()=>{const e=()=>{m.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>m.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}}),[]),d(yp,{...s,children:d(ef,{scope:n,open:r,onOpenChange:p,content:c,onContentChange:u,children:d(nf,{scope:n,onClose:e.useCallback((()=>p(!1)),[p]),isUsingKeyboardRef:m,dir:f,modal:l,children:o})})})};of.displayName=Kp;var af=e.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e,o=Zp(n);return d(bp,{...o,...r,ref:t})}));af.displayName="MenuAnchor";var lf="MenuPortal",[sf,cf]=Xp(lf,{forceMount:void 0}),uf=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:o}=e,a=tf(lf,t);return d(sf,{scope:t,forceMount:n,children:d(le,{present:n||a.open,children:d(ie,{asChild:!0,container:o,children:r})})})};uf.displayName=lf;var df="MenuContent",[mf,pf]=Xp(df),ff=e.forwardRef(((e,t)=>{const n=cf(df,e.__scopeMenu),{forceMount:r=n.forceMount,...o}=e,a=tf(df,e.__scopeMenu),i=rf(df,e.__scopeMenu);return d(Qp.Provider,{scope:e.__scopeMenu,children:d(le,{present:r||a.open,children:d(Qp.Slot,{scope:e.__scopeMenu,children:i.modal?d(hf,{...o,ref:t}):d(vf,{...o,ref:t})})})})})),hf=e.forwardRef(((t,n)=>{const r=tf(df,t.__scopeMenu),o=e.useRef(null),a=S(n,o);return e.useEffect((()=>{const e=o.current;if(e)return at(e)}),[]),d(gf,{...t,ref:a,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:D(t.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})})),vf=e.forwardRef(((e,t)=>{const n=tf(df,e.__scopeMenu);return d(gf,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})})),gf=e.forwardRef(((t,n)=>{const{__scopeMenu:r,loop:o=!1,trapFocus:a,onOpenAutoFocus:i,onCloseAutoFocus:l,disableOutsidePointerEvents:s,onEntryFocus:c,onEscapeKeyDown:u,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:f,onDismiss:h,disableOutsideScroll:v,...g}=t,w=tf(df,r),y=rf(df,r),b=Zp(r),_=Jp(r),E=Gp(r),[x,C]=e.useState(null),O=e.useRef(null),M=S(n,O,w.onContentChange),A=e.useRef(0),P=e.useRef(""),N=e.useRef(0),q=e.useRef(null),k=e.useRef("right"),R=e.useRef(0),T=v?Ze:e.Fragment,L=v?{as:I,allowPinchZoom:!0}:void 0,B=e=>{const t=P.current+e,n=E().filter((e=>!e.disabled)),r=document.activeElement,o=n.find((e=>e.ref.current===r))?.textValue,a=function(e,t,n){const r=t.length>1&&Array.from(t).every((e=>e===t[0])),o=r?t[0]:t,a=n?e.indexOf(n):-1;let i=(l=e,s=Math.max(a,0),l.map(((e,t)=>l[(s+t)%l.length])));var l,s;1===o.length&&(i=i.filter((e=>e!==n)));const c=i.find((e=>e.toLowerCase().startsWith(o.toLowerCase())));return c!==n?c:void 0}(n.map((e=>e.textValue)),t,o),i=n.find((e=>e.textValue===a))?.ref.current;!function e(t){P.current=t,window.clearTimeout(A.current),""!==t&&(A.current=window.setTimeout((()=>e("")),1e3))}(t),i&&setTimeout((()=>i.focus()))};e.useEffect((()=>()=>window.clearTimeout(A.current)),[]),ue();const F=e.useCallback((e=>k.current===q.current?.side&&function(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return function(e,t){const{x:n,y:r}=e;let o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){const i=t[e].x,l=t[e].y,s=t[a].x,c=t[a].y;l>r!=c>r&&n<(s-i)*(r-l)/(c-l)+i&&(o=!o)}return o}(n,t)}(e,q.current?.area)),[]);return d(mf,{scope:r,searchRef:P,onItemEnter:e.useCallback((e=>{F(e)&&e.preventDefault()}),[F]),onItemLeave:e.useCallback((e=>{F(e)||(O.current?.focus(),C(null))}),[F]),onTriggerLeave:e.useCallback((e=>{F(e)&&e.preventDefault()}),[F]),pointerGraceTimerRef:N,onPointerGraceIntentChange:e.useCallback((e=>{q.current=e}),[]),children:d(T,{...L,children:d(J,{asChild:!0,trapped:a,onMountAutoFocus:D(i,(e=>{e.preventDefault(),O.current?.focus({preventScroll:!0})})),onUnmountAutoFocus:l,children:d(Q,{asChild:!0,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:m,onFocusOutside:p,onInteractOutside:f,onDismiss:h,children:d(Fp,{asChild:!0,..._,dir:y.dir,orientation:"vertical",loop:o,currentTabStopId:x,onCurrentTabStopIdChange:C,onEntryFocus:D(c,(e=>{y.isUsingKeyboardRef.current||e.preventDefault()})),preventScrollOnEntryFocus:!0,children:d(_p,{role:"menu","aria-orientation":"vertical","data-state":Hf(w.open),"data-radix-menu-content":"",dir:y.dir,...b,...g,ref:M,style:{outline:"none",...g.style},onKeyDown:D(g.onKeyDown,(e=>{const t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!n&&r&&B(e.key));const o=O.current;if(e.target!==o)return;if(!Hp.includes(e.key))return;e.preventDefault();const a=E().filter((e=>!e.disabled)).map((e=>e.ref.current));Vp.includes(e.key)&&a.reverse(),function(e){const t=document.activeElement;for(const n of e){if(n===t)return;if(n.focus(),document.activeElement!==t)return}}(a)})),onBlur:D(t.onBlur,(e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(A.current),P.current="")})),onPointerMove:D(t.onPointerMove,Kf((e=>{const t=e.target,n=R.current!==e.clientX;if(e.currentTarget.contains(t)&&n){const t=e.clientX>R.current?"right":"left";k.current=t,R.current=e.clientX}})))})})})})})})}));ff.displayName=df;var wf=e.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e;return d(z.div,{role:"group",...r,ref:t})}));wf.displayName="MenuGroup";var yf=e.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e;return d(z.div,{...r,ref:t})}));yf.displayName="MenuLabel";var bf="MenuItem",_f="menu.itemSelect",Ef=e.forwardRef(((t,n)=>{const{disabled:r=!1,onSelect:o,...a}=t,i=e.useRef(null),l=rf(bf,t.__scopeMenu),s=pf(bf,t.__scopeMenu),c=S(n,i),u=e.useRef(!1);return d(xf,{...a,ref:c,disabled:r,onClick:D(t.onClick,(()=>{const e=i.current;if(!r&&e){const t=new CustomEvent(_f,{bubbles:!0,cancelable:!0});e.addEventListener(_f,(e=>o?.(e)),{once:!0}),j(e,t),t.defaultPrevented?u.current=!1:l.onClose()}})),onPointerDown:e=>{t.onPointerDown?.(e),u.current=!0},onPointerUp:D(t.onPointerUp,(e=>{u.current||e.currentTarget?.click()})),onKeyDown:D(t.onKeyDown,(e=>{const t=""!==s.searchRef.current;r||t&&" "===e.key||jp.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())}))})}));Ef.displayName=bf;var xf=e.forwardRef(((t,n)=>{const{__scopeMenu:r,disabled:o=!1,textValue:a,...i}=t,l=pf(bf,r),s=Jp(r),c=e.useRef(null),u=S(n,c),[m,p]=e.useState(!1),[f,h]=e.useState("");return e.useEffect((()=>{const e=c.current;e&&h((e.textContent??"").trim())}),[i.children]),d(Qp.ItemSlot,{scope:r,disabled:o,textValue:a??f,children:d(zp,{asChild:!0,...s,focusable:!o,children:d(z.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...i,ref:u,onPointerMove:D(t.onPointerMove,Kf((e=>{if(o)l.onItemLeave(e);else if(l.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}}))),onPointerLeave:D(t.onPointerLeave,Kf((e=>l.onItemLeave(e)))),onFocus:D(t.onFocus,(()=>p(!0))),onBlur:D(t.onBlur,(()=>p(!1)))})})})})),Cf=e.forwardRef(((e,t)=>{const{checked:n=!1,onCheckedChange:r,...o}=e;return d(qf,{scope:e.__scopeMenu,checked:n,children:d(Ef,{role:"menuitemcheckbox","aria-checked":Uf(n)?"mixed":n,...o,ref:t,"data-state":Wf(n),onSelect:D(o.onSelect,(()=>r?.(!!Uf(n)||!n)),{checkForDefaultPrevented:!1})})})}));Cf.displayName="MenuCheckboxItem";var Of="MenuRadioGroup",[Mf,Af]=Xp(Of,{value:void 0,onValueChange:()=>{}}),Sf=e.forwardRef(((e,t)=>{const{value:n,onValueChange:r,...o}=e,a=R(r);return d(Mf,{scope:e.__scopeMenu,value:n,onValueChange:a,children:d(wf,{...o,ref:t})})}));Sf.displayName=Of;var Df="MenuRadioItem",Pf=e.forwardRef(((e,t)=>{const{value:n,...r}=e,o=Af(Df,e.__scopeMenu),a=n===o.value;return d(qf,{scope:e.__scopeMenu,checked:a,children:d(Ef,{role:"menuitemradio","aria-checked":a,...r,ref:t,"data-state":Wf(a),onSelect:D(r.onSelect,(()=>o.onValueChange?.(n)),{checkForDefaultPrevented:!1})})})}));Pf.displayName=Df;var Nf="MenuItemIndicator",[qf,kf]=Xp(Nf,{checked:!1}),Rf=e.forwardRef(((e,t)=>{const{__scopeMenu:n,forceMount:r,...o}=e,a=kf(Nf,n);return d(le,{present:r||Uf(a.checked)||!0===a.checked,children:d(z.span,{...o,ref:t,"data-state":Wf(a.checked)})})}));Rf.displayName=Nf;var Tf=e.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e;return d(z.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})}));Tf.displayName="MenuSeparator";var If=e.forwardRef(((e,t)=>{const{__scopeMenu:n,...r}=e,o=Zp(n);return d(Ep,{...o,...r,ref:t})}));If.displayName="MenuArrow";var[Lf,Bf]=Xp("MenuSub"),Ff="MenuSubTrigger",zf=e.forwardRef(((t,n)=>{const r=tf(Ff,t.__scopeMenu),o=rf(Ff,t.__scopeMenu),a=Bf(Ff,t.__scopeMenu),i=pf(Ff,t.__scopeMenu),l=e.useRef(null),{pointerGraceTimerRef:s,onPointerGraceIntentChange:c}=i,u={__scopeMenu:t.__scopeMenu},m=e.useCallback((()=>{l.current&&window.clearTimeout(l.current),l.current=null}),[]);return e.useEffect((()=>m),[m]),e.useEffect((()=>{const e=s.current;return()=>{window.clearTimeout(e),c(null)}}),[s,c]),d(af,{asChild:!0,...u,children:d(xf,{id:a.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":a.contentId,"data-state":Hf(r.open),...t,ref:A(n,a.onTriggerChange),onClick:e=>{t.onClick?.(e),t.disabled||e.defaultPrevented||(e.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:D(t.onPointerMove,Kf((e=>{i.onItemEnter(e),e.defaultPrevented||t.disabled||r.open||l.current||(i.onPointerGraceIntentChange(null),l.current=window.setTimeout((()=>{r.onOpenChange(!0),m()}),100))}))),onPointerLeave:D(t.onPointerLeave,Kf((e=>{m();const t=r.content?.getBoundingClientRect();if(t){const n=r.content?.dataset.side,o="right"===n,a=o?-5:5,l=t[o?"left":"right"],c=t[o?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:l,y:t.top},{x:c,y:t.top},{x:c,y:t.bottom},{x:l,y:t.bottom}],side:n}),window.clearTimeout(s.current),s.current=window.setTimeout((()=>i.onPointerGraceIntentChange(null)),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}}))),onKeyDown:D(t.onKeyDown,(e=>{const n=""!==i.searchRef.current;t.disabled||n&&" "===e.key||Up[o.dir].includes(e.key)&&(r.onOpenChange(!0),r.content?.focus(),e.preventDefault())}))})})}));zf.displayName=Ff;var jf="MenuSubContent",Vf=e.forwardRef(((t,n)=>{const r=cf(df,t.__scopeMenu),{forceMount:o=r.forceMount,...a}=t,i=tf(df,t.__scopeMenu),l=rf(df,t.__scopeMenu),s=Bf(jf,t.__scopeMenu),c=e.useRef(null),u=S(n,c);return d(Qp.Provider,{scope:t.__scopeMenu,children:d(le,{present:o||i.open,children:d(Qp.Slot,{scope:t.__scopeMenu,children:d(gf,{id:s.contentId,"aria-labelledby":s.triggerId,...a,ref:u,align:"start",side:"rtl"===l.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{l.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:D(t.onFocusOutside,(e=>{e.target!==s.trigger&&i.onOpenChange(!1)})),onEscapeKeyDown:D(t.onEscapeKeyDown,(e=>{l.onClose(),e.preventDefault()})),onKeyDown:D(t.onKeyDown,(e=>{const t=e.currentTarget.contains(e.target),n=Wp[l.dir].includes(e.key);t&&n&&(i.onOpenChange(!1),s.trigger?.focus(),e.preventDefault())}))})})})})}));function Hf(e){return e?"open":"closed"}function Uf(e){return"indeterminate"===e}function Wf(e){return Uf(e)?"indeterminate":e?"checked":"unchecked"}function Kf(e){return t=>"mouse"===t.pointerType?e(t):void 0}Vf.displayName=jf;var Qf=of,Gf=af,$f=uf,Xf=ff,Yf=wf,Zf=yf,Jf=Ef,eh=Cf,th=Sf,nh=Pf,rh=Rf,oh=Tf,ah=If,ih=zf,lh=Vf,sh="DropdownMenu",[ch,uh]=C(sh,[Yp]),dh=Yp(),[mh,ph]=ch(sh),fh=t=>{const{__scopeDropdownMenu:n,children:r,dir:o,open:a,defaultOpen:i,onOpenChange:l,modal:s=!0}=t,c=dh(n),u=e.useRef(null),[m=!1,p]=T({prop:a,defaultProp:i,onChange:l});return d(mh,{scope:n,triggerId:k(),triggerRef:u,contentId:k(),open:m,onOpenChange:p,onOpenToggle:e.useCallback((()=>p((e=>!e))),[p]),modal:s,children:d(Qf,{...c,open:m,onOpenChange:p,dir:o,modal:s,children:r})})};fh.displayName=sh;var hh="DropdownMenuTrigger",vh=e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...o}=e,a=ph(hh,n),i=dh(n);return d(Gf,{asChild:!0,...i,children:d(z.button,{type:"button",id:a.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":a.open?a.contentId:void 0,"data-state":a.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...o,ref:A(t,a.triggerRef),onPointerDown:D(e.onPointerDown,(e=>{r||0!==e.button||!1!==e.ctrlKey||(a.onOpenToggle(),a.open||e.preventDefault())})),onKeyDown:D(e.onKeyDown,(e=>{r||(["Enter"," "].includes(e.key)&&a.onOpenToggle(),"ArrowDown"===e.key&&a.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())}))})})}));vh.displayName=hh;var gh=e=>{const{__scopeDropdownMenu:t,...n}=e,r=dh(t);return d($f,{...r,...n})};gh.displayName="DropdownMenuPortal";var wh="DropdownMenuContent",yh=e.forwardRef(((t,n)=>{const{__scopeDropdownMenu:r,...o}=t,a=ph(wh,r),i=dh(r),l=e.useRef(!1);return d(Xf,{id:a.contentId,"aria-labelledby":a.triggerId,...i,...o,ref:n,onCloseAutoFocus:D(t.onCloseAutoFocus,(e=>{l.current||a.triggerRef.current?.focus(),l.current=!1,e.preventDefault()})),onInteractOutside:D(t.onInteractOutside,(e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;a.modal&&!r||(l.current=!0)})),style:{...t.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}));yh.displayName=wh;var bh=e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(Yf,{...o,...r,ref:t})}));bh.displayName="DropdownMenuGroup";var _h=e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(Zf,{...o,...r,ref:t})}));_h.displayName="DropdownMenuLabel";var Eh=e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(Jf,{...o,...r,ref:t})}));Eh.displayName="DropdownMenuItem";e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(eh,{...o,...r,ref:t})})).displayName="DropdownMenuCheckboxItem";e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(th,{...o,...r,ref:t})})).displayName="DropdownMenuRadioGroup";e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(nh,{...o,...r,ref:t})})).displayName="DropdownMenuRadioItem";e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(rh,{...o,...r,ref:t})})).displayName="DropdownMenuItemIndicator";var xh=e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(oh,{...o,...r,ref:t})}));xh.displayName="DropdownMenuSeparator";e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(ah,{...o,...r,ref:t})})).displayName="DropdownMenuArrow";e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(ih,{...o,...r,ref:t})})).displayName="DropdownMenuSubTrigger";e.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,o=dh(n);return d(lh,{...o,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})})).displayName="DropdownMenuSubContent";var Ch=fh,Oh=vh,Mh=gh,Ah=yh,Sh=bh,Dh=_h,Ph=Eh,Nh=xh,qh="Dropdown-modules_content__hz-wg",kh="Dropdown-modules_scrollableArea__9SHHg",Rh="Dropdown-modules_item__67YXq",Th="Dropdown-modules_label__05rx3",Ih="Dropdown-modules_warning__dIJD1",Lh="Dropdown-modules_separator__dNtZP";const Bh=t.forwardRef((({children:e,className:n,...r},o)=>t.createElement(Mh,null,t.createElement(Ah,{className:x(qh,"demio-ui-dropdown-content",n),...r,ref:o},t.createElement("div",{className:kh},e))))),Fh=t.forwardRef((({className:e,...n},r)=>t.createElement(Nh,{ref:r,...n,className:x(Lh,"demio-ui-dropdown-separator",e)}))),zh=Ch,jh=Oh,Vh=Dh,Hh=Ph,Uh=Sh,Wh=Mh,Kh=({children:e,className:n="",isWarning:r=!1,isLabel:o=!1,disabled:a=!1,...i})=>{const l=o?Dh:Ph;return t.createElement(l,{className:x(Rh,"demio-ui-dropdown-item",{[n]:n,[Ih]:r,"demio-ui-dropdown-label":o,[Th]:o}),disabled:a,...i},e)};var Qh={formGroup:"FormGroup-modules_formGroup__Zjh7i",horizontal:"FormGroup-modules_horizontal__9g7gn",vertical:"FormGroup-modules_vertical__yPEor",between:"FormGroup-modules_between__poqnA",start:"FormGroup-modules_start__ylflU",center:"FormGroup-modules_center__xkWT-",startAlignItems:"FormGroup-modules_startAlignItems__h-nDr",stretchAlignItems:"FormGroup-modules_stretchAlignItems__jg3e0",centerAlignItems:"FormGroup-modules_centerAlignItems__J7KaF"};function Gh({children:e,position:n="vertical",justify:r="start",alignItems:o="start",className:a}){return t.createElement("div",{className:x("demio-ui-form-group",Qh.formGroup,a,{[Qh.horizontal]:"horizontal"===n,[Qh.vertical]:"vertical"===n,[Qh[r]]:!!r,[Qh[`${o}AlignItems`]]:!!o})},e)}var $h="InfoBanner-modules_infoBanner__6KCFX",Xh="InfoBanner-modules_infoBannerWrapper__mUG2s",Yh="InfoBanner-modules_contentWrapper__GVYBK",Zh="InfoBanner-modules_title__HqhSZ",Jh="InfoBanner-modules_iconWrapper__MiPMN";const ev=({children:e=null,className:n="",icon:r=null,isIconVisible:o=!0,text:a=null,title:i=null})=>t.createElement("div",{className:x($h,"demio-ui-info-banner",n)},t.createElement("div",{className:x(Xh,"demio-ui-info-banner-wrapper")},o&&t.createElement("div",{className:x(Jh,"demio-ui-info-banner-iconWrapper")},r||t.createElement(_l,null)),e||t.createElement("div",{className:x(Yh,"demio-ui-info-banner-contentWrapper")},i&&t.createElement("span",{className:x(Zh,"demio-ui-info-banner-title")},i),a&&t.createElement("span",{className:"demio-ui-info-banner-text"},a))));var tv="ModalScrollable-modules_overlay__e4-c1",nv="ModalScrollable-modules_closeBtn__prSB-",rv="ModalScrollable-modules_isHidden__rqtyM",ov="ModalScrollable-modules_title__TzPu5",av="ModalScrollable-modules_withHeader__OTqO-",iv="ModalScrollable-modules_header__BaeDK",lv="ModalScrollable-modules_noTitle__Aeqsv",sv="ModalScrollable-modules_content__oWfLS",cv="ModalScrollable-modules_body__zrctf",uv="ModalScrollable-modules_footer__fxnqN",dv="ModalScrollable-modules_footerButtonsContainer__MhbTv",mv="ModalScrollable-modules_withFooter__HDHPq",pv="ModalScrollable-modules_btn__KdfVl",fv="ModalScrollable-modules_cancelButton__gQ23p";const hv=r(o((({cancelBtnText:e="Cancel",children:n,customBodyClass:r="",customCancelBtnClass:o="",customCloseBtnClass:a="",customContentClass:i="",customFooterClass:l="",customOkBtnClass:s="",customOverlayClass:c="",customTitleClass:u="",footer:d,header:m,isAvailableCancelBtn:p=!0,isAvailableOkBtn:f=!0,isClosable:h=!0,isCloseButtonVisible:v=!0,isOkBtnDisabled:g=!1,isOpen:w,isOpenByDefault:y=!1,okBtnText:b="ok",onCancel:_,onOk:E,onOpenChange:C,portalContainer:O,title:M=""},A)=>{const S=e=>{C?.(e)};return t.createElement(Bt,{defaultOpen:y,open:w,onOpenChange:S},t.createElement(zt,{container:O||void 0},t.createElement(jt,{className:x("demio-ui-scrollable-modal-overlay",tv,c),"data-testid":"scrollable-modal-overlay"}),t.createElement(Vt,{"aria-describedby":void 0,className:x("demio-ui-scrollable-modal-content",sv,i),"data-testid":"scrollable-modal-content",onPointerDownOutside:e=>{h||e?.preventDefault()},ref:A},t.createElement(Ht,{className:x("demio-ui-scrollable-modal-title",ov,{"no-title":!M,[rv]:!M,"with-header":!!m,[av]:!!m},u),"data-testid":"scrollable-modal-title"},M),!!m&&t.createElement("div",{className:x("demio-ui-scrollable-modal-header",iv,{"without-title":!M,[lv]:!M}),"data-testid":"scrollable-modal-header"},m),t.createElement(Wt,{className:x("demio-ui-scrollable-modal-close-btn",nv,{"no-close-btn":!v,[rv]:!v},a),"data-testid":"scrollable-modal-close-btn"},t.createElement(En,null)),t.createElement("div",{className:x("demio-ui-scrollable-modal-body",cv,r),"data-testid":"scrollable-modal-body"},n),(p||f||!!d)&&t.createElement("div",{className:x("demio-ui-scrollable-modal-footer",uv,l),"data-testid":"scrollable-modal-footer"},d,(p||f)&&t.createElement("div",{className:x("demio-ui-scrollable-modal-footer-buttons-container",dv,{"with-footer":!!d,[mv]:!!d}),"data-testid":"scrollable-modal-footer-buttons-container"},p&&t.createElement(Mn,{className:x("demio-ui-scrollable-modal-footer-cancel-btn",pv,fv,o),"data-testid":"scrollable-modal-footer-cancel-btn",onClick:e=>{_?.(e),S(!1)},variant:"outline"},e),f&&t.createElement(Mn,{className:x("demio-ui-scrollable-modal-footer-ok-btn",pv,s),"data-testid":"scrollable-modal-footer-ok-btn",disabled:g,onClick:e=>{E?.(e)},variant:"primary"},b))))))})));var vv="MultiSelect-modules_menuPortal__ul6k7",gv="MultiSelect-modules_container__Mn9VS",wv="MultiSelect-modules_menu__W5T89",yv="MultiSelect-modules_menuList__xbYKy",bv="MultiSelect-modules_option__K81Xh",_v="MultiSelect-modules_optionFocused__wx-Me",Ev="MultiSelect-modules_optionSelected__WQUPs",xv="MultiSelect-modules_optionDisabled__5vZh1",Cv="MultiSelect-modules_input__HhsgF",Ov="MultiSelect-modules_control__8x7-K",Mv="MultiSelect-modules_controlIsFocused__82GDX",Av="MultiSelect-modules_isDisabled__OstVw",Sv="MultiSelect-modules_placeholder__DbrLc",Dv="MultiSelect-modules_multiValue__PO-ik",Pv="MultiSelect-modules_indicator__tnLxc",Nv="MultiSelect-modules_indicatorIsDisabled__e6zXU",qv="MultiSelect-modules_controlIsOpened__x9-TZ",kv="MultiSelect-modules_multiValueIsDisabled__nPxAv",Rv="MultiSelect-modules_multiValueLabel__kDgH6",Tv="MultiSelect-modules_multiValueLabelIsDisabled__jgqo0",Iv="MultiSelect-modules_multiValueRemove__c6VU-",Lv="MultiSelect-modules_multiValueRemoveIsDisabled__Dc-gy",Bv="MultiSelect-modules_valueContainer__KLcgg",Fv="MultiSelect-modules_singleValue__7-x1w",zv="MultiSelect-modules_noOptionMessage__1T9-0",jv="MultiSelect-modules_errorMessage__crhXM",Vv="MultiSelect-modules_wrapper__NZzex",Hv="MultiSelect-modules_label__q8Ey7",Uv="MultiSelect-modules_optional__3QTxE";const Wv=e=>t.createElement(y.IndicatorsContainer,{...e,className:x("demio-ui-multiselect-indicator",Pv,{"demio-ui-multiselect-indicator-disabled":e.isDisabled,[Nv]:e.isDisabled})},e.children||t.createElement(ja,{className:x("demio-ui-multiselect-indicator-icon")})),Kv=e=>t.createElement(y.MultiValueRemove,{...e},t.createElement(En,{className:x("demio-ui-multiselect-multi-value-remove-icon")})),Qv=()=>t.createElement("p",{className:x("demio-ui-multiselect-empty-options",zv)},"No results found."),Gv=r(o(((e,r)=>{const{className:o="",classNamePrefix:a="",errorMessage:i="",errorMessageClass:s="",isMulti:c=!0,isVisibleOptional:u=!1,label:d="",onChange:m=null,portalTarget:p=document.body,value:f=""}=e,[h,v]=n("");return l((()=>{v(f)}),[f]),t.createElement("div",{className:x("demio-ui-multiselect-wrapper",Vv)},t.createElement(w,{...e,className:x("demio-ui-multiselect",gv,o),classNamePrefix:a,classNames:{control:e=>x("demio-ui-multiselect-control",Ov,{"demio-ui-multiselect-control-focused":e.isFocused,[Mv]:e.isFocused,"demio-ui-multiselect-control-menu-is-open":e.menuIsOpen,[qv]:e.menuIsOpen,"demio-ui-multiselect-control-is-disabled":e.isDisabled,[Av]:e.isDisabled}),input:e=>x("demio-ui-multiselect-input",Cv,{"demio-ui-multiselect-input-is-multi":e.isMulti}),menu:()=>x("demio-ui-multiselect-menu",wv),menuList:()=>x("demio-ui-multiselect-menu-list",yv),menuPortal:()=>x("demio-ui-multiselect-menu-portal",vv),multiValue:e=>x("demio-ui-multiselect-multi-value",Dv,{"demio-ui-multiselect-multi-value-focused":e.isFocused,"demio-ui-multiselect-multi-value-is-multi":e.isMulti,"demio-ui-multiselect-multi-value-disabled":e.isDisabled,[kv]:e.isDisabled}),multiValueLabel:e=>x("demio-ui-multiselect-multi-value-label",Rv,{"demio-ui-multiselect-multi-value-label-disabled":e.isDisabled,[Tv]:e.isDisabled}),multiValueRemove:e=>x("demio-ui-multiselect-multi-value-remove",Iv,{"demio-ui-multiselect-multi-value-remove-disabled":e.isDisabled,[Lv]:e.isDisabled}),option:e=>x("demio-ui-multiselect-option",bv,{"demio-ui-multiselect-option-selected":e.isSelected,[Ev]:e.isSelected,"demio-ui-multiselect-option-focused":e.isFocused,[_v]:e.isFocused,"demio-ui-multiselect-option-disabled":e.isDisabled,[xv]:e.isDisabled}),placeholder:e=>x("demio-ui-multiselect-placeholder",Sv,{"demio-ui-multiselect-placeholder-focused":e.isFocused,"demio-ui-multiselect-placeholder-is-multi":e.isMulti}),singleValue:()=>x("demio-ui-multiselect-single-value",Fv),valueContainer:()=>x("demio-ui-multiselect-value-container",Bv)},components:{IndicatorSeparator:null,DropdownIndicator:Wv,MultiValueRemove:Kv,NoOptionsMessage:Qv},isMulti:c,menuPortalTarget:p,onChange:e=>{v(e),m&&m(e)},ref:r,styles:{multiValue:(e,t)=>({...e,pointerEvents:t.selectProps.isDisabled?"none":"auto"})},value:h}),d&&t.createElement("div",{className:x("demio-ui-multiselect-label",Hv)},d),u&&t.createElement("div",{className:x("demio-ui-multiselect-optional",Uv)},"Optional"),!!i&&t.createElement(Oc,{className:x("demio-ui-multiselect-error",jv,s),type:"error"},i))})));var $v="Pagination-modules_container__KyJ0Q",Xv="Pagination-modules_button__wRk2o",Yv="Pagination-modules_selected__ZgeXX",Zv="Pagination-modules_rotated__k03AZ",Jv="Pagination-modules_disabled__NU2ZU";const eg=r((e=>{const{className:r="",currentPage:o=1,isDisabled:a=!1,onChange:s,pageSize:c=10,total:u}=e,[d,m]=n(o),p=Math.ceil(u/c),f=d<=1,h=d>=p,v=u>c,g=d-1,w=d-2,y=d+1,b=d+2,_=i((e=>Math.min(Math.max(e,1),p)),[p]),E=e=>{if(e===d)return;const t=_(e);m(t),s&&s(t)};return l((()=>{m(_(o))}),[o,_]),v&&t.createElement("div",{"aria-label":"Pagination Navigation",className:x("demio-ui-pagination",$v,r,{"demio-ui-pagination-disabled":a,[Jv]:a}),role:"navigation"},t.createElement(Gs,{"aria-label":"Go to first page",className:x("demio-ui-pagination-first",Xv),disabled:f,onClick:()=>E(1)},t.createElement(or,null)),t.createElement(Gs,{"aria-label":"Go to previous page",className:x("demio-ui-pagination-previous",Xv),disabled:f,onClick:()=>E(g)},t.createElement(lr,null)),h&&w>=1&&t.createElement(Gs,{"aria-label":`Go to page ${w}`,className:x("demio-ui-pagination-previous-previous",Xv),onClick:()=>E(w)},w),!f&&t.createElement(Gs,{"aria-label":`Go to page ${g}`,className:x("demio-ui-pagination-previous-page",Xv),onClick:()=>E(g)},g),t.createElement(Gs,{"aria-label":`Selected page ${d}`,className:x("demio-ui-pagination-selected",Xv,Yv),onClick:()=>E(d)},d),!h&&t.createElement(Gs,{"aria-label":`Go to page ${y}`,className:x("demio-ui-pagination-next-page",Xv),onClick:()=>E(y)},y),f&&b<=p&&t.createElement(Gs,{"aria-label":`Go to page ${b}`,className:x("demio-ui-pagination-next-next",Xv),onClick:()=>E(b)},b),t.createElement(Gs,{"aria-label":"Go to next page",className:x("demio-ui-pagination-next",Xv,Zv),disabled:h,onClick:()=>E(y)},t.createElement(lr,null)),t.createElement(Gs,{"aria-label":"Go to last page",className:x("demio-ui-pagination-last",Xv,Zv),disabled:h,onClick:()=>E(p)},t.createElement(or,null)))}));var tg="Popover",[ng,rg]=C(tg,[rp]),og=rp(),[ag,ig]=ng(tg),lg=t=>{const{__scopePopover:n,children:r,open:o,defaultOpen:a,onOpenChange:i,modal:l=!1}=t,s=og(n),c=e.useRef(null),[u,m]=e.useState(!1),[p=!1,f]=T({prop:o,defaultProp:a,onChange:i});return d(yp,{...s,children:d(ag,{scope:n,contentId:k(),triggerRef:c,open:p,onOpenChange:f,onOpenToggle:e.useCallback((()=>f((e=>!e))),[f]),hasCustomAnchor:u,onCustomAnchorAdd:e.useCallback((()=>m(!0)),[]),onCustomAnchorRemove:e.useCallback((()=>m(!1)),[]),modal:l,children:r})})};lg.displayName=tg;var sg="PopoverAnchor";e.forwardRef(((t,n)=>{const{__scopePopover:r,...o}=t,a=ig(sg,r),i=og(r),{onCustomAnchorAdd:l,onCustomAnchorRemove:s}=a;return e.useEffect((()=>(l(),()=>s())),[l,s]),d(bp,{...i,...o,ref:n})})).displayName=sg;var cg="PopoverTrigger",ug=e.forwardRef(((e,t)=>{const{__scopePopover:n,...r}=e,o=ig(cg,n),a=og(n),i=S(t,o.triggerRef),l=d(z.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":Eg(o.open),...r,ref:i,onClick:D(e.onClick,o.onOpenToggle)});return o.hasCustomAnchor?l:d(bp,{asChild:!0,...a,children:l})}));ug.displayName=cg;var dg="PopoverPortal",[mg,pg]=ng(dg,{forceMount:void 0}),fg=e=>{const{__scopePopover:t,forceMount:n,children:r,container:o}=e,a=ig(dg,t);return d(mg,{scope:t,forceMount:n,children:d(le,{present:n||a.open,children:d(ie,{asChild:!0,container:o,children:r})})})};fg.displayName=dg;var hg="PopoverContent",vg=e.forwardRef(((e,t)=>{const n=pg(hg,e.__scopePopover),{forceMount:r=n.forceMount,...o}=e,a=ig(hg,e.__scopePopover);return d(le,{present:r||a.open,children:a.modal?d(gg,{...o,ref:t}):d(wg,{...o,ref:t})})}));vg.displayName=hg;var gg=e.forwardRef(((t,n)=>{const r=ig(hg,t.__scopePopover),o=e.useRef(null),a=S(n,o),i=e.useRef(!1);return e.useEffect((()=>{const e=o.current;if(e)return at(e)}),[]),d(Ze,{as:I,allowPinchZoom:!0,children:d(yg,{...t,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:D(t.onCloseAutoFocus,(e=>{e.preventDefault(),i.current||r.triggerRef.current?.focus()})),onPointerDownOutside:D(t.onPointerDownOutside,(e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,r=2===t.button||n;i.current=r}),{checkForDefaultPrevented:!1}),onFocusOutside:D(t.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1})})})})),wg=e.forwardRef(((t,n)=>{const r=ig(hg,t.__scopePopover),o=e.useRef(!1),a=e.useRef(!1);return d(yg,{...t,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:e=>{t.onCloseAutoFocus?.(e),e.defaultPrevented||(o.current||r.triggerRef.current?.focus(),e.preventDefault()),o.current=!1,a.current=!1},onInteractOutside:e=>{t.onInteractOutside?.(e),e.defaultPrevented||(o.current=!0,"pointerdown"===e.detail.originalEvent.type&&(a.current=!0));const n=e.target,i=r.triggerRef.current?.contains(n);i&&e.preventDefault(),"focusin"===e.detail.originalEvent.type&&a.current&&e.preventDefault()}})})),yg=e.forwardRef(((e,t)=>{const{__scopePopover:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:i,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:c,onInteractOutside:u,...m}=e,p=ig(hg,n),f=og(n);return ue(),d(J,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:a,children:d(Q,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:u,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:c,onDismiss:()=>p.onOpenChange(!1),children:d(_p,{"data-state":Eg(p.open),role:"dialog",id:p.contentId,...f,...m,ref:t,style:{...m.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)"}})})})})),bg="PopoverClose";e.forwardRef(((e,t)=>{const{__scopePopover:n,...r}=e,o=ig(bg,n);return d(z.button,{type:"button",...r,ref:t,onClick:D(e.onClick,(()=>o.onOpenChange(!1)))})})).displayName=bg;var _g=e.forwardRef(((e,t)=>{const{__scopePopover:n,...r}=e,o=og(n);return d(Ep,{...o,...r,ref:t})}));function Eg(e){return e?"open":"closed"}_g.displayName="PopoverArrow";var xg=lg,Cg=ug,Og=fg,Mg=vg,Ag=_g,Sg="Popover-modules_popoverContent__EQXkn",Dg="Popover-modules_popoverTrigger__vCIUa",Pg="Popover-modules_arrow__x1Xqe";const Ng=({children:e="",content:n="",contentClassName:r="",triggerClassName:o="",container:a=document.body,contentProps:i={},open:l,onOpenChange:s,showArrow:c=!1,asChild:u=!1})=>n?t.createElement(xg,{open:l,onOpenChange:e=>{s&&"function"==typeof s&&s(e)}},t.createElement(Cg,{asChild:u,className:x("demio-ui-popover-trigger",{[Dg]:!0,[o]:!!o})},e),t.createElement(Og,{container:a},t.createElement(Mg,{...i,className:x("demio-ui-popover-content",Sg,{[r]:!!r})},c&&t.createElement(Ag,{className:Pg}),n))):e;var qg="Progress",kg=100,[Rg,Tg]=C(qg),[Ig,Lg]=Rg(qg),Bg=e.forwardRef(((e,t)=>{const{__scopeProgress:n,value:r=null,max:o,getValueLabel:a=jg,...i}=e;!o&&0!==o||Ug(o)||console.error(`Invalid prop \`max\` of value \`${`${o}`}\` supplied to \`${"Progress"}\`. Only numbers greater than 0 are valid max values. Defaulting to \`100\`.`);const l=Ug(o)?o:kg;null===r||Wg(r,l)||console.error(function(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:\n - a positive number\n - less than the value passed to \`max\` (or 100 if no \`max\` prop is set)\n - \`null\` or \`undefined\` if the progress is indeterminate.\n\nDefaulting to \`null\`.`}(`${r}`,"Progress"));const s=Wg(r,l)?r:null,c=Hg(s)?a(s,l):void 0;return d(Ig,{scope:n,value:s,max:l,children:d(z.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":Hg(s)?s:void 0,"aria-valuetext":c,role:"progressbar","data-state":Vg(s,l),"data-value":s??void 0,"data-max":l,...i,ref:t})})}));Bg.displayName=qg;var Fg="ProgressIndicator",zg=e.forwardRef(((e,t)=>{const{__scopeProgress:n,...r}=e,o=Lg(Fg,n);return d(z.div,{"data-state":Vg(o.value,o.max),"data-value":o.value??void 0,"data-max":o.max,...r,ref:t})}));function jg(e,t){return`${Math.round(e/t*100)}%`}function Vg(e,t){return null==e?"indeterminate":e===t?"complete":"loading"}function Hg(e){return"number"==typeof e}function Ug(e){return Hg(e)&&!isNaN(e)&&e>0}function Wg(e,t){return Hg(e)&&!isNaN(e)&&e<=t&&e>=0}zg.displayName=Fg;var Kg=Bg,Qg=zg,Gg="Progress-modules_root__E0rHH",$g="Progress-modules_indicator__qpwRi";function Xg({max:e=100,progress:n=0,className:r="",...o}){const a=n>e?"100%":n/e*100+"%";return t.createElement(Kg,{className:x("demio-ui-progress",Gg,{className:!!r}),value:n>e?e:n,max:e,...o},t.createElement(Qg,{className:$g,style:{width:a}}))}var Yg="Radio",[Zg,Jg]=C(Yg),[ew,tw]=Zg(Yg),nw=e.forwardRef(((t,n)=>{const{__scopeRadio:r,name:o,checked:a=!1,required:i,disabled:l,value:s="on",onCheck:c,form:u,...m}=t,[f,h]=e.useState(null),v=S(n,(e=>h(e))),g=e.useRef(!1),w=!f||(u||!!f.closest("form"));return p(ew,{scope:r,checked:a,disabled:l,children:[d(z.button,{type:"button",role:"radio","aria-checked":a,"data-state":iw(a),"data-disabled":l?"":void 0,disabled:l,value:s,...m,ref:v,onClick:D(t.onClick,(e=>{a||c?.(),w&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())}))}),w&&d(aw,{control:f,bubbles:!g.current,name:o,value:s,checked:a,required:i,disabled:l,form:u,style:{transform:"translateX(-100%)"}})]})}));nw.displayName=Yg;var rw="RadioIndicator",ow=e.forwardRef(((e,t)=>{const{__scopeRadio:n,forceMount:r,...o}=e,a=tw(rw,n);return d(le,{present:r||a.checked,children:d(z.span,{"data-state":iw(a.checked),"data-disabled":a.disabled?"":void 0,...o,ref:t})})}));ow.displayName=rw;var aw=t=>{const{control:n,checked:r,bubbles:o=!0,...a}=t,i=e.useRef(null),l=Ys(r),s=Zs(n);return e.useEffect((()=>{const e=i.current,t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,"checked").set;if(l!==r&&n){const t=new Event("click",{bubbles:o});n.call(e,r),e.dispatchEvent(t)}}),[l,r,o]),d("input",{type:"radio","aria-hidden":!0,defaultChecked:r,...a,tabIndex:-1,ref:i,style:{...t.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function iw(e){return e?"checked":"unchecked"}var lw=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],sw="RadioGroup",[cw,uw]=C(sw,[Pp,Jg]),dw=Pp(),mw=Jg(),[pw,fw]=cw(sw),hw=e.forwardRef(((e,t)=>{const{__scopeRadioGroup:n,name:r,defaultValue:o,value:a,required:i=!1,disabled:l=!1,orientation:s,dir:c,loop:u=!0,onValueChange:m,...p}=e,f=dw(n),h=Ic(c),[v,g]=T({prop:a,defaultProp:o,onChange:m});return d(pw,{scope:n,name:r,required:i,disabled:l,value:v,onValueChange:g,children:d(Fp,{asChild:!0,...f,orientation:s,dir:h,loop:u,children:d(z.div,{role:"radiogroup","aria-required":i,"aria-orientation":s,"data-disabled":l?"":void 0,dir:h,...p,ref:t})})})}));hw.displayName=sw;var vw="RadioGroupItem",gw=e.forwardRef(((t,n)=>{const{__scopeRadioGroup:r,disabled:o,...a}=t,i=fw(vw,r),l=i.disabled||o,s=dw(r),c=mw(r),u=e.useRef(null),m=S(n,u),p=i.value===a.value,f=e.useRef(!1);return e.useEffect((()=>{const e=e=>{lw.includes(e.key)&&(f.current=!0)},t=()=>f.current=!1;return document.addEventListener("keydown",e),document.addEventListener("keyup",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}}),[]),d(zp,{asChild:!0,...s,focusable:!l,active:p,children:d(nw,{disabled:l,required:i.required,checked:p,...c,...a,name:i.name,ref:m,onCheck:()=>i.onValueChange(a.value),onKeyDown:D((e=>{"Enter"===e.key&&e.preventDefault()})),onFocus:D(a.onFocus,(()=>{f.current&&u.current?.click()}))})})}));gw.displayName=vw;var ww=e.forwardRef(((e,t)=>{const{__scopeRadioGroup:n,...r}=e,o=mw(n);return d(ow,{...o,...r,ref:t})}));ww.displayName="RadioGroupIndicator";var yw=hw,bw=gw,_w=ww,Ew={root:"RadioGroup-modules_root__AbbNa",container:"RadioGroup-modules_container__yPAMg",indicator:"RadioGroup-modules_indicator__jEw97",item:"RadioGroup-modules_item__wuUmn",label:"RadioGroup-modules_label__ggYdY",footer:"RadioGroup-modules_footer__1Zp99",disabled:"RadioGroup-modules_disabled__H3T--"};function xw({items:e=[],error:n="",defaultValue:r="",ariaLabel:o="",hint:a="",onChange:i,disabled:l=!1,value:s="",className:u="",...d}){const m=c((()=>i?{value:s,onValueChange:i}:{}),[s,i]);return t.createElement(yw,{...m,...d,className:x("demio-ui-radio-group",Ew.root,{[Ew.error]:!!n,[u]:!!u}),defaultValue:r,"aria-label":o},e.map((e=>t.createElement("div",{key:e.id,className:x(Ew.container,{[Ew.disabled]:e.disabled||l})},t.createElement(bw,{className:Ew.item,value:e.value,disabled:e.disabled||l,id:e.id},t.createElement(_w,{className:Ew.indicator})),t.createElement(wc,{className:Ew.label,htmlFor:e.id,weight:"regular"},e.label)))),t.createElement("div",{className:Ew.footer},n&&t.createElement(Oc,{type:"error"},n),a&&!n&&t.createElement(Oc,null,a)))}var Cw=e.forwardRef(((e,t)=>d(z.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}})));Cw.displayName="VisuallyHidden";var Ow=[" ","Enter","ArrowUp","ArrowDown"],Mw=[" ","Enter"],Aw="Select",[Sw,Dw,Pw]=Lc(Aw),[Nw,qw]=C(Aw,[Pw,rp]),kw=rp(),[Rw,Tw]=Nw(Aw),[Iw,Lw]=Nw(Aw),Bw=t=>{const{__scopeSelect:n,children:r,open:o,defaultOpen:a,onOpenChange:i,value:l,defaultValue:s,onValueChange:c,dir:u,name:m,autoComplete:f,disabled:h,required:v,form:g}=t,w=kw(n),[y,b]=e.useState(null),[_,E]=e.useState(null),[x,C]=e.useState(!1),O=Ic(u),[M=!1,A]=T({prop:o,defaultProp:a,onChange:i}),[S,D]=T({prop:l,defaultProp:s,onChange:c}),P=e.useRef(null),N=!y||(g||!!y.closest("form")),[q,R]=e.useState(new Set),I=Array.from(q).map((e=>e.props.value)).join(";");return d(yp,{...w,children:p(Rw,{required:v,scope:n,trigger:y,onTriggerChange:b,valueNode:_,onValueNodeChange:E,valueNodeHasChildren:x,onValueNodeHasChildrenChange:C,contentId:k(),value:S,onValueChange:D,open:M,onOpenChange:A,dir:O,triggerPointerDownPosRef:P,disabled:h,children:[d(Sw.Provider,{scope:n,children:d(Iw,{scope:t.__scopeSelect,onNativeOptionAdd:e.useCallback((e=>{R((t=>new Set(t).add(e)))}),[]),onNativeOptionRemove:e.useCallback((e=>{R((t=>{const n=new Set(t);return n.delete(e),n}))}),[]),children:r})}),N?p(yy,{"aria-hidden":!0,required:v,tabIndex:-1,name:m,autoComplete:f,value:S,onChange:e=>D(e.target.value),disabled:h,form:g,children:[void 0===S?d("option",{value:""}):null,Array.from(q)]},I):null]})})};Bw.displayName=Aw;var Fw="SelectTrigger",zw=e.forwardRef(((t,n)=>{const{__scopeSelect:r,disabled:o=!1,...a}=t,i=kw(r),l=Tw(Fw,r),s=l.disabled||o,c=S(n,l.onTriggerChange),u=Dw(r),m=e.useRef("touch"),[p,f,h]=by((e=>{const t=u().filter((e=>!e.disabled)),n=t.find((e=>e.value===l.value)),r=_y(t,e,n);void 0!==r&&l.onValueChange(r.value)})),v=e=>{s||(l.onOpenChange(!0),h()),e&&(l.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return d(bp,{asChild:!0,...i,children:d(z.button,{type:"button",role:"combobox","aria-controls":l.contentId,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":wy(l.value)?"":void 0,...a,ref:c,onClick:D(a.onClick,(e=>{e.currentTarget.focus(),"mouse"!==m.current&&v(e)})),onPointerDown:D(a.onPointerDown,(e=>{m.current=e.pointerType;const t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(v(e),e.preventDefault())})),onKeyDown:D(a.onKeyDown,(e=>{const t=""!==p.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||f(e.key),t&&" "===e.key||Ow.includes(e.key)&&(v(),e.preventDefault())}))})})}));zw.displayName=Fw;var jw="SelectValue",Vw=e.forwardRef(((e,t)=>{const{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...l}=e,s=Tw(jw,n),{onValueNodeHasChildrenChange:c}=s,u=void 0!==a,p=S(t,s.onValueNodeChange);return P((()=>{c(u)}),[c,u]),d(z.span,{...l,ref:p,style:{pointerEvents:"none"},children:wy(s.value)?d(m,{children:i}):a})}));Vw.displayName=jw;var Hw=e.forwardRef(((e,t)=>{const{__scopeSelect:n,children:r,...o}=e;return d(z.span,{"aria-hidden":!0,...o,ref:t,children:r||"▼"})}));Hw.displayName="SelectIcon";var Uw=e=>d(ie,{asChild:!0,...e});Uw.displayName="SelectPortal";var Ww="SelectContent",Kw=e.forwardRef(((t,n)=>{const r=Tw(Ww,t.__scopeSelect),[o,a]=e.useState();if(P((()=>{a(new DocumentFragment)}),[]),!r.open){const e=o;return e?f.createPortal(d(Gw,{scope:t.__scopeSelect,children:d(Sw.Slot,{scope:t.__scopeSelect,children:d("div",{children:t.children})})}),e):null}return d(Xw,{...t,ref:n})}));Kw.displayName=Ww;var Qw=10,[Gw,$w]=Nw(Ww),Xw=e.forwardRef(((t,n)=>{const{__scopeSelect:r,position:o="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:i,onPointerDownOutside:l,side:s,sideOffset:c,align:u,alignOffset:m,arrowPadding:p,collisionBoundary:f,collisionPadding:h,sticky:v,hideWhenDetached:g,avoidCollisions:w,...y}=t,b=Tw(Ww,r),[_,E]=e.useState(null),[x,C]=e.useState(null),O=S(n,(e=>E(e))),[M,A]=e.useState(null),[P,N]=e.useState(null),q=Dw(r),[k,R]=e.useState(!1),T=e.useRef(!1);e.useEffect((()=>{if(_)return at(_)}),[_]),ue();const L=e.useCallback((e=>{const[t,...n]=q().map((e=>e.ref.current)),[r]=n.slice(-1),o=document.activeElement;for(const n of e){if(n===o)return;if(n?.scrollIntoView({block:"nearest"}),n===t&&x&&(x.scrollTop=0),n===r&&x&&(x.scrollTop=x.scrollHeight),n?.focus(),document.activeElement!==o)return}}),[q,x]),B=e.useCallback((()=>L([M,_])),[L,M,_]);e.useEffect((()=>{k&&B()}),[k,B]);const{onOpenChange:F,triggerPointerDownPosRef:z}=b;e.useEffect((()=>{if(_){let e={x:0,y:0};const t=t=>{e={x:Math.abs(Math.round(t.pageX)-(z.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(z.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():_.contains(n.target)||F(!1),document.removeEventListener("pointermove",t),z.current=null};return null!==z.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",n,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",n,{capture:!0})}}}),[_,F,z]),e.useEffect((()=>{const e=()=>F(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}}),[F]);const[j,V]=by((e=>{const t=q().filter((e=>!e.disabled)),n=t.find((e=>e.ref.current===document.activeElement)),r=_y(t,e,n);r&&setTimeout((()=>r.ref.current.focus()))})),H=e.useCallback(((e,t,n)=>{const r=!T.current&&!n;(void 0!==b.value&&b.value===t||r)&&(A(e),r&&(T.current=!0))}),[b.value]),U=e.useCallback((()=>_?.focus()),[_]),W=e.useCallback(((e,t,n)=>{const r=!T.current&&!n;(void 0!==b.value&&b.value===t||r)&&N(e)}),[b.value]),K="popper"===o?Zw:Yw,G=K===Zw?{side:s,sideOffset:c,align:u,alignOffset:m,arrowPadding:p,collisionBoundary:f,collisionPadding:h,sticky:v,hideWhenDetached:g,avoidCollisions:w}:{};return d(Gw,{scope:r,content:_,viewport:x,onViewportChange:C,itemRefCallback:H,selectedItem:M,onItemLeave:U,itemTextRefCallback:W,focusSelectedItem:B,selectedItemText:P,position:o,isPositioned:k,searchRef:j,children:d(Ze,{as:I,allowPinchZoom:!0,children:d(J,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:D(a,(e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()})),children:d(Q,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:d(K,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:e=>e.preventDefault(),...y,...G,onPlaced:()=>R(!0),ref:O,style:{display:"flex",flexDirection:"column",outline:"none",...y.style},onKeyDown:D(y.onKeyDown,(e=>{const t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||V(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=q().filter((e=>!e.disabled)).map((e=>e.ref.current));if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){const n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout((()=>L(t))),e.preventDefault()}}))})})})})})}));Xw.displayName="SelectContentImpl";var Yw=e.forwardRef(((t,n)=>{const{__scopeSelect:r,onPlaced:o,...a}=t,i=Tw(Ww,r),l=$w(Ww,r),[s,c]=e.useState(null),[u,m]=e.useState(null),p=S(n,(e=>m(e))),f=Dw(r),h=e.useRef(!1),v=e.useRef(!0),{viewport:g,selectedItem:w,selectedItemText:y,focusSelectedItem:b}=l,_=e.useCallback((()=>{if(i.trigger&&i.valueNode&&s&&u&&g&&w&&y){const e=i.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=i.valueNode.getBoundingClientRect(),r=y.getBoundingClientRect();if("rtl"!==i.dir){const o=r.left-t.left,a=n.left-o,i=e.left-a,l=e.width+i,c=Math.max(l,t.width),u=window.innerWidth-Qw,d=Rc(a,[Qw,Math.max(Qw,u-c)]);s.style.minWidth=l+"px",s.style.left=d+"px"}else{const o=t.right-r.right,a=window.innerWidth-n.right-o,i=window.innerWidth-e.right-a,l=e.width+i,c=Math.max(l,t.width),u=window.innerWidth-Qw,d=Rc(a,[Qw,Math.max(Qw,u-c)]);s.style.minWidth=l+"px",s.style.right=d+"px"}const a=f(),l=window.innerHeight-2*Qw,c=g.scrollHeight,d=window.getComputedStyle(u),m=parseInt(d.borderTopWidth,10),p=parseInt(d.paddingTop,10),v=parseInt(d.borderBottomWidth,10),b=m+p+c+parseInt(d.paddingBottom,10)+v,_=Math.min(5*w.offsetHeight,b),E=window.getComputedStyle(g),x=parseInt(E.paddingTop,10),C=parseInt(E.paddingBottom,10),O=e.top+e.height/2-Qw,M=l-O,A=w.offsetHeight/2,S=m+p+(w.offsetTop+A),D=b-S;if(S<=O){const e=a.length>0&&w===a[a.length-1].ref.current;s.style.bottom="0px";const t=u.clientHeight-g.offsetTop-g.offsetHeight,n=S+Math.max(M,A+(e?C:0)+t+v);s.style.height=n+"px"}else{const e=a.length>0&&w===a[0].ref.current;s.style.top="0px";const t=Math.max(O,m+g.offsetTop+(e?x:0)+A)+D;s.style.height=t+"px",g.scrollTop=S-O+g.offsetTop}s.style.margin=`${Qw}px 0`,s.style.minHeight=_+"px",s.style.maxHeight=l+"px",o?.(),requestAnimationFrame((()=>h.current=!0))}}),[f,i.trigger,i.valueNode,s,u,g,w,y,i.dir,o]);P((()=>_()),[_]);const[E,x]=e.useState();P((()=>{u&&x(window.getComputedStyle(u).zIndex)}),[u]);const C=e.useCallback((e=>{e&&!0===v.current&&(_(),b?.(),v.current=!1)}),[_,b]);return d(Jw,{scope:r,contentWrapper:s,shouldExpandOnScrollRef:h,onScrollButtonChange:C,children:d("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:E},children:d(z.div,{...a,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})}));Yw.displayName="SelectItemAlignedPosition";var Zw=e.forwardRef(((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:o=Qw,...a}=e,i=kw(n);return d(_p,{...i,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})}));Zw.displayName="SelectPopperPosition";var[Jw,ey]=Nw(Ww,{}),ty="SelectViewport",ny=e.forwardRef(((t,n)=>{const{__scopeSelect:r,nonce:o,...a}=t,i=$w(ty,r),l=ey(ty,r),s=S(n,i.onViewportChange),c=e.useRef(0);return p(m,{children:[d("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),d(Sw.Slot,{scope:r,children:d(z.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:D(a.onScroll,(e=>{const t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=l;if(r?.current&&n){const e=Math.abs(c.current-t.scrollTop);if(e>0){const r=window.innerHeight-2*Qw,o=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),i=Math.max(o,a);if(i<r){const o=i+e,a=Math.min(r,o),l=o-a;n.style.height=a+"px","0px"===n.style.bottom&&(t.scrollTop=l>0?l:0,n.style.justifyContent="flex-end")}}}c.current=t.scrollTop}))})})]})}));ny.displayName=ty;var ry="SelectGroup",[oy,ay]=Nw(ry);e.forwardRef(((e,t)=>{const{__scopeSelect:n,...r}=e,o=k();return d(oy,{scope:n,id:o,children:d(z.div,{role:"group","aria-labelledby":o,...r,ref:t})})})).displayName=ry;var iy="SelectLabel";e.forwardRef(((e,t)=>{const{__scopeSelect:n,...r}=e,o=ay(iy,n);return d(z.div,{id:o.id,...r,ref:t})})).displayName=iy;var ly="SelectItem",[sy,cy]=Nw(ly),uy=e.forwardRef(((t,n)=>{const{__scopeSelect:r,value:o,disabled:a=!1,textValue:i,...l}=t,s=Tw(ly,r),c=$w(ly,r),u=s.value===o,[m,p]=e.useState(i??""),[f,h]=e.useState(!1),v=S(n,(e=>c.itemRefCallback?.(e,o,a))),g=k(),w=e.useRef("touch"),y=()=>{a||(s.onValueChange(o),s.onOpenChange(!1))};if(""===o)throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return d(sy,{scope:r,value:o,disabled:a,textId:g,isSelected:u,onItemTextChange:e.useCallback((e=>{p((t=>t||(e?.textContent??"").trim()))}),[]),children:d(Sw.ItemSlot,{scope:r,value:o,disabled:a,textValue:m,children:d(z.div,{role:"option","aria-labelledby":g,"data-highlighted":f?"":void 0,"aria-selected":u&&f,"data-state":u?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...l,ref:v,onFocus:D(l.onFocus,(()=>h(!0))),onBlur:D(l.onBlur,(()=>h(!1))),onClick:D(l.onClick,(()=>{"mouse"!==w.current&&y()})),onPointerUp:D(l.onPointerUp,(()=>{"mouse"===w.current&&y()})),onPointerDown:D(l.onPointerDown,(e=>{w.current=e.pointerType})),onPointerMove:D(l.onPointerMove,(e=>{w.current=e.pointerType,a?c.onItemLeave?.():"mouse"===w.current&&e.currentTarget.focus({preventScroll:!0})})),onPointerLeave:D(l.onPointerLeave,(e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()})),onKeyDown:D(l.onKeyDown,(e=>{""!==c.searchRef?.current&&" "===e.key||(Mw.includes(e.key)&&y()," "===e.key&&e.preventDefault())}))})})})}));uy.displayName=ly;var dy="SelectItemText",my=e.forwardRef(((t,n)=>{const{__scopeSelect:r,className:o,style:a,...i}=t,l=Tw(dy,r),s=$w(dy,r),c=cy(dy,r),u=Lw(dy,r),[h,v]=e.useState(null),g=S(n,(e=>v(e)),c.onItemTextChange,(e=>s.itemTextRefCallback?.(e,c.value,c.disabled))),w=h?.textContent,y=e.useMemo((()=>d("option",{value:c.value,disabled:c.disabled,children:w},c.value)),[c.disabled,c.value,w]),{onNativeOptionAdd:b,onNativeOptionRemove:_}=u;return P((()=>(b(y),()=>_(y))),[b,_,y]),p(m,{children:[d(z.span,{id:c.textId,...i,ref:g}),c.isSelected&&l.valueNode&&!l.valueNodeHasChildren?f.createPortal(i.children,l.valueNode):null]})}));my.displayName=dy;var py="SelectItemIndicator";e.forwardRef(((e,t)=>{const{__scopeSelect:n,...r}=e;return cy(py,n).isSelected?d(z.span,{"aria-hidden":!0,...r,ref:t}):null})).displayName=py;var fy="SelectScrollUpButton";e.forwardRef(((t,n)=>{const r=$w(fy,t.__scopeSelect),o=ey(fy,t.__scopeSelect),[a,i]=e.useState(!1),l=S(n,o.onScrollButtonChange);return P((()=>{if(r.viewport&&r.isPositioned){let e=function(){const e=t.scrollTop>0;i(e)};const t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}}),[r.viewport,r.isPositioned]),a?d(vy,{...t,ref:l,onAutoScroll:()=>{const{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null})).displayName=fy;var hy="SelectScrollDownButton";e.forwardRef(((t,n)=>{const r=$w(hy,t.__scopeSelect),o=ey(hy,t.__scopeSelect),[a,i]=e.useState(!1),l=S(n,o.onScrollButtonChange);return P((()=>{if(r.viewport&&r.isPositioned){let e=function(){const e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;i(n)};const t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}}),[r.viewport,r.isPositioned]),a?d(vy,{...t,ref:l,onAutoScroll:()=>{const{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null})).displayName=hy;var vy=e.forwardRef(((t,n)=>{const{__scopeSelect:r,onAutoScroll:o,...a}=t,i=$w("SelectScrollButton",r),l=e.useRef(null),s=Dw(r),c=e.useCallback((()=>{null!==l.current&&(window.clearInterval(l.current),l.current=null)}),[]);return e.useEffect((()=>()=>c()),[c]),P((()=>{const e=s().find((e=>e.ref.current===document.activeElement));e?.ref.current?.scrollIntoView({block:"nearest"})}),[s]),d(z.div,{"aria-hidden":!0,...a,ref:n,style:{flexShrink:0,...a.style},onPointerDown:D(a.onPointerDown,(()=>{null===l.current&&(l.current=window.setInterval(o,50))})),onPointerMove:D(a.onPointerMove,(()=>{i.onItemLeave?.(),null===l.current&&(l.current=window.setInterval(o,50))})),onPointerLeave:D(a.onPointerLeave,(()=>{c()}))})}));e.forwardRef(((e,t)=>{const{__scopeSelect:n,...r}=e;return d(z.div,{"aria-hidden":!0,...r,ref:t})})).displayName="SelectSeparator";var gy="SelectArrow";function wy(e){return""===e||void 0===e}e.forwardRef(((e,t)=>{const{__scopeSelect:n,...r}=e,o=kw(n),a=Tw(gy,n),i=$w(gy,n);return a.open&&"popper"===i.position?d(Ep,{...o,...r,ref:t}):null})).displayName=gy;var yy=e.forwardRef(((t,n)=>{const{value:r,...o}=t,a=e.useRef(null),i=S(n,a),l=Ys(r);return e.useEffect((()=>{const e=a.current,t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,"value").set;if(l!==r&&n){const t=new Event("change",{bubbles:!0});n.call(e,r),e.dispatchEvent(t)}}),[l,r]),d(Cw,{asChild:!0,children:d("select",{...o,ref:i,defaultValue:r})})}));function by(t){const n=R(t),r=e.useRef(""),o=e.useRef(0),a=e.useCallback((e=>{const t=r.current+e;n(t),function e(t){r.current=t,window.clearTimeout(o.current),""!==t&&(o.current=window.setTimeout((()=>e("")),1e3))}(t)}),[n]),i=e.useCallback((()=>{r.current="",window.clearTimeout(o.current)}),[]);return e.useEffect((()=>()=>window.clearTimeout(o.current)),[]),[r,a,i]}function _y(e,t,n){const r=t.length>1&&Array.from(t).every((e=>e===t[0]))?t[0]:t,o=n?e.indexOf(n):-1;let a=(i=e,l=Math.max(o,0),i.map(((e,t)=>i[(l+t)%i.length])));var i,l;1===r.length&&(a=a.filter((e=>e!==n)));const s=a.find((e=>e.textValue.toLowerCase().startsWith(r.toLowerCase())));return s!==n?s:void 0}yy.displayName="BubbleSelect";var Ey=Bw,xy=zw,Cy=Vw,Oy=Hw,My=Uw,Ay=Kw,Sy=ny,Dy=uy,Py=my,Ny="Select-modules_trigger__dS9Dx",qy="Select-modules_icon__sgRRc",ky="Select-modules_startIcon__kohMV",Ry="Select-modules_value__h6Q4Z",Ty="Select-modules_content__YuAqS",Iy="Select-modules_item__cTAIm";const Ly=t.forwardRef((({children:e,cssClass:n="",sideOffset:r=4,position:o="popper",disabled:a=!1,value:i="",id:l,icon:s=null,placeholder:c="",portalContainer:u=document.body,contentClassName:d="",contentProps:m={},...p},f)=>t.createElement(Ey,{value:i||void 0,disabled:a,...p},t.createElement(xy,{id:l,ref:f,className:x(Ny,n,"demio-ui-select-trigger")},s&&t.createElement("span",{className:x(ky,"demio-ui-select-start-icon")},s),t.createElement("span",{className:x(Ry,"demio-ui-select-value")},t.createElement(Cy,{placeholder:i||c})),t.createElement(Oy,{className:x(qy,"demio-ui-select-icon")},t.createElement(ja,null))),t.createElement(My,{container:u},t.createElement(Ay,{position:o,className:x("demio-ui-select-content",Ty,d),...m,sideOffset:r},t.createElement(Sy,null,t.createElement(Sy,null,e))))))),By=t.forwardRef((({children:e,className:n,disabled:r=!1,...o},a)=>t.createElement(Dy,{...o,ref:a,className:x(Iy,"demio-ui-select-item",n),disabled:r},e))),Fy=Py;var zy="Switch",[jy,Vy]=C(zy),[Hy,Uy]=jy(zy),Wy=e.forwardRef(((t,n)=>{const{__scopeSwitch:r,name:o,checked:a,defaultChecked:i,required:l,disabled:s,value:c="on",onCheckedChange:u,form:m,...f}=t,[h,v]=e.useState(null),g=S(n,(e=>v(e))),w=e.useRef(!1),y=!h||(m||!!h.closest("form")),[b=!1,_]=T({prop:a,defaultProp:i,onChange:u});return p(Hy,{scope:r,checked:b,disabled:s,children:[d(z.button,{type:"button",role:"switch","aria-checked":b,"aria-required":l,"data-state":$y(b),"data-disabled":s?"":void 0,disabled:s,value:c,...f,ref:g,onClick:D(t.onClick,(e=>{_((e=>!e)),y&&(w.current=e.isPropagationStopped(),w.current||e.stopPropagation())}))}),y&&d(Gy,{control:h,bubbles:!w.current,name:o,value:c,checked:b,required:l,disabled:s,form:m,style:{transform:"translateX(-100%)"}})]})}));Wy.displayName=zy;var Ky="SwitchThumb",Qy=e.forwardRef(((e,t)=>{const{__scopeSwitch:n,...r}=e,o=Uy(Ky,n);return d(z.span,{"data-state":$y(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})}));Qy.displayName=Ky;var Gy=t=>{const{control:n,checked:r,bubbles:o=!0,...a}=t,i=e.useRef(null),l=Ys(r),s=Zs(n);return e.useEffect((()=>{const e=i.current,t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,"checked").set;if(l!==r&&n){const t=new Event("click",{bubbles:o});n.call(e,r),e.dispatchEvent(t)}}),[l,r,o]),d("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...a,tabIndex:-1,ref:i,style:{...t.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function $y(e){return e?"checked":"unchecked"}var Xy=Wy,Yy=Qy,Zy="Switch-modules_root__V5S6a",Jy="Switch-modules_thumb__PZ-lR";function eb({className:e="",id:n="",disabled:r=!1,required:o=!1,name:a,...i}){return t.createElement(Xy,{className:x(Zy,"demio-ui-switch",{[e]:!!e}),disabled:r,required:o,name:a,id:n||a,...i},t.createElement(Yy,{className:Jy}))}var tb="Tabs",[nb,rb]=C(tb,[Pp]),ob=Pp(),[ab,ib]=nb(tb),lb=e.forwardRef(((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:l,activationMode:s="automatic",...c}=e,u=Ic(l),[m,p]=T({prop:r,onChange:o,defaultProp:a});return d(ab,{scope:n,baseId:k(),value:m,onValueChange:p,orientation:i,dir:u,activationMode:s,children:d(z.div,{dir:u,"data-orientation":i,...c,ref:t})})}));lb.displayName=tb;var sb="TabsList",cb=e.forwardRef(((e,t)=>{const{__scopeTabs:n,loop:r=!0,...o}=e,a=ib(sb,n),i=ob(n);return d(Fp,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:r,children:d(z.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})}));cb.displayName=sb;var ub="TabsTrigger",db=e.forwardRef(((e,t)=>{const{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,i=ib(ub,n),l=ob(n),s=fb(i.baseId,r),c=hb(i.baseId,r),u=r===i.value;return d(zp,{asChild:!0,...l,focusable:!o,active:u,children:d(z.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":c,"data-state":u?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:s,...a,ref:t,onMouseDown:D(e.onMouseDown,(e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():i.onValueChange(r)})),onKeyDown:D(e.onKeyDown,(e=>{[" ","Enter"].includes(e.key)&&i.onValueChange(r)})),onFocus:D(e.onFocus,(()=>{const e="manual"!==i.activationMode;u||o||!e||i.onValueChange(r)}))})})}));db.displayName=ub;var mb="TabsContent",pb=e.forwardRef(((t,n)=>{const{__scopeTabs:r,value:o,forceMount:a,children:i,...l}=t,s=ib(mb,r),c=fb(s.baseId,o),u=hb(s.baseId,o),m=o===s.value,p=e.useRef(m);return e.useEffect((()=>{const e=requestAnimationFrame((()=>p.current=!1));return()=>cancelAnimationFrame(e)}),[]),d(le,{present:a||m,children:({present:e})=>d(z.div,{"data-state":m?"active":"inactive","data-orientation":s.orientation,role:"tabpanel","aria-labelledby":c,hidden:!e,id:u,tabIndex:0,...l,ref:n,style:{...t.style,animationDuration:p.current?"0s":void 0},children:e&&i})})}));function fb(e,t){return`${e}-trigger-${t}`}function hb(e,t){return`${e}-content-${t}`}pb.displayName=mb;var vb=lb,gb=cb,wb=db,yb=pb,bb="Tabs-modules_root__TvYE1",_b="Tabs-modules_list__G3KVd",Eb="Tabs-modules_tab__-FuG6",xb="Tabs-modules_content__X0OLh";function Cb({children:e,className:n="",...r}){return t.createElement(vb,{...r,className:x(bb,"demio-ui-tabs",{[n]:n})},e)}function Ob({children:e,className:n=""}){return t.createElement(gb,{className:x(_b,"demio-ui-tabs-list",{[n]:n})},e)}function Mb({children:e,className:n="",...r}){return t.createElement(wb,{...r,className:x(Eb,{[n]:n})},e)}function Ab({children:e,value:n,className:r=""}){return t.createElement(yb,{value:n,className:x(xb,"demio-ui-tabs-tab",{[r]:r})},e)}var Sb="Tag-modules_default__A5rGa",Db="Tag-modules_deleteButton__HzjLp";function Pb({children:e,onDelete:n=null,className:r=""}){return t.createElement("div",{className:x(Sb,"demio-ui-tag-container",r)},e,Boolean(n)&&t.createElement("button",{type:"button",onClick:n,className:x(Db,"demio-ui-tag-delete-button")},t.createElement(En,null)))}var Nb=e.forwardRef(((e,t)=>d(z.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}})));Nb.displayName="VisuallyHidden";var qb=Nb,[kb,Rb]=C("Tooltip",[rp]),Tb=rp(),Ib="TooltipProvider",Lb=700,Bb="tooltip.open",[Fb,zb]=kb(Ib),jb=t=>{const{__scopeTooltip:n,delayDuration:r=Lb,skipDelayDuration:o=300,disableHoverableContent:a=!1,children:i}=t,[l,s]=e.useState(!0),c=e.useRef(!1),u=e.useRef(0);return e.useEffect((()=>{const e=u.current;return()=>window.clearTimeout(e)}),[]),d(Fb,{scope:n,isOpenDelayed:l,delayDuration:r,onOpen:e.useCallback((()=>{window.clearTimeout(u.current),s(!1)}),[]),onClose:e.useCallback((()=>{window.clearTimeout(u.current),u.current=window.setTimeout((()=>s(!0)),o)}),[o]),isPointerInTransitRef:c,onPointerInTransitChange:e.useCallback((e=>{c.current=e}),[]),disableHoverableContent:a,children:i})};jb.displayName=Ib;var Vb="Tooltip",[Hb,Ub]=kb(Vb),Wb=t=>{const{__scopeTooltip:n,children:r,open:o,defaultOpen:a=!1,onOpenChange:i,disableHoverableContent:l,delayDuration:s}=t,c=zb(Vb,t.__scopeTooltip),u=Tb(n),[m,p]=e.useState(null),f=k(),h=e.useRef(0),v=l??c.disableHoverableContent,g=s??c.delayDuration,w=e.useRef(!1),[y=!1,b]=T({prop:o,defaultProp:a,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Bb))):c.onClose(),i?.(e)}}),_=e.useMemo((()=>y?w.current?"delayed-open":"instant-open":"closed"),[y]),E=e.useCallback((()=>{window.clearTimeout(h.current),h.current=0,w.current=!1,b(!0)}),[b]),x=e.useCallback((()=>{window.clearTimeout(h.current),h.current=0,b(!1)}),[b]),C=e.useCallback((()=>{window.clearTimeout(h.current),h.current=window.setTimeout((()=>{w.current=!0,b(!0),h.current=0}),g)}),[g,b]);return e.useEffect((()=>()=>{h.current&&(window.clearTimeout(h.current),h.current=0)}),[]),d(yp,{...u,children:d(Hb,{scope:n,contentId:f,open:y,stateAttribute:_,trigger:m,onTriggerChange:p,onTriggerEnter:e.useCallback((()=>{c.isOpenDelayed?C():E()}),[c.isOpenDelayed,C,E]),onTriggerLeave:e.useCallback((()=>{v?x():(window.clearTimeout(h.current),h.current=0)}),[x,v]),onOpen:E,onClose:x,disableHoverableContent:v,children:r})})};Wb.displayName=Vb;var Kb="TooltipTrigger",Qb=e.forwardRef(((t,n)=>{const{__scopeTooltip:r,...o}=t,a=Ub(Kb,r),i=zb(Kb,r),l=Tb(r),s=S(n,e.useRef(null),a.onTriggerChange),c=e.useRef(!1),u=e.useRef(!1),m=e.useCallback((()=>c.current=!1),[]);return e.useEffect((()=>()=>document.removeEventListener("pointerup",m)),[m]),d(bp,{asChild:!0,...l,children:d(z.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...o,ref:s,onPointerMove:D(t.onPointerMove,(e=>{"touch"!==e.pointerType&&(u.current||i.isPointerInTransitRef.current||(a.onTriggerEnter(),u.current=!0))})),onPointerLeave:D(t.onPointerLeave,(()=>{a.onTriggerLeave(),u.current=!1})),onPointerDown:D(t.onPointerDown,(()=>{c.current=!0,document.addEventListener("pointerup",m,{once:!0})})),onFocus:D(t.onFocus,(()=>{c.current||a.onOpen()})),onBlur:D(t.onBlur,a.onClose),onClick:D(t.onClick,a.onClose)})})}));Qb.displayName=Kb;var Gb="TooltipPortal",[$b,Xb]=kb(Gb,{forceMount:void 0}),Yb=e=>{const{__scopeTooltip:t,forceMount:n,children:r,container:o}=e,a=Ub(Gb,t);return d($b,{scope:t,forceMount:n,children:d(le,{present:n||a.open,children:d(ie,{asChild:!0,container:o,children:r})})})};Yb.displayName=Gb;var Zb="TooltipContent",Jb=e.forwardRef(((e,t)=>{const n=Xb(Zb,e.__scopeTooltip),{forceMount:r=n.forceMount,side:o="top",...a}=e,i=Ub(Zb,e.__scopeTooltip);return d(le,{present:r||i.open,children:i.disableHoverableContent?d(r_,{side:o,...a,ref:t}):d(e_,{side:o,...a,ref:t})})})),e_=e.forwardRef(((t,n)=>{const r=Ub(Zb,t.__scopeTooltip),o=zb(Zb,t.__scopeTooltip),a=e.useRef(null),i=S(n,a),[l,s]=e.useState(null),{trigger:c,onClose:u}=r,m=a.current,{onPointerInTransitChange:p}=o,f=e.useCallback((()=>{s(null),p(!1)}),[p]),h=e.useCallback(((e,t)=>{const n=e.currentTarget,r={x:e.clientX,y:e.clientY},o=function(e,t,n=5){const r=[];switch(t){case"top":r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}(r,function(e,t){const n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,o,a)){case a:return"left";case o:return"right";case n:return"top";case r:return"bottom";default:throw new Error("unreachable")}}(r,n.getBoundingClientRect())),a=function(e){const t=e.slice();return t.sort(((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0)),function(e){if(e.length<=1)return e.slice();const t=[];for(let n=0;n<e.length;n++){const r=e[n];for(;t.length>=2;){const e=t[t.length-1],n=t[t.length-2];if(!((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x)))break;t.pop()}t.push(r)}t.pop();const n=[];for(let t=e.length-1;t>=0;t--){const r=e[t];for(;n.length>=2;){const e=n[n.length-1],t=n[n.length-2];if(!((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x)))break;n.pop()}n.push(r)}return n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}(t)}([...o,...function(e){const{top:t,right:n,bottom:r,left:o}=e;return[{x:o,y:t},{x:n,y:t},{x:n,y:r},{x:o,y:r}]}(t.getBoundingClientRect())]);s(a),p(!0)}),[p]);return e.useEffect((()=>()=>f()),[f]),e.useEffect((()=>{if(c&&m){const e=e=>h(e,m),t=e=>h(e,c);return c.addEventListener("pointerleave",e),m.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),m.removeEventListener("pointerleave",t)}}}),[c,m,h,f]),e.useEffect((()=>{if(l){const e=e=>{const t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||m?.contains(t),o=!function(e,t){const{x:n,y:r}=e;let o=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){const i=t[e].x,l=t[e].y,s=t[a].x,c=t[a].y;l>r!=c>r&&n<(s-i)*(r-l)/(c-l)+i&&(o=!o)}return o}(n,l);r?f():o&&(f(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}}),[c,m,l,u,f]),d(r_,{...t,ref:i})})),[t_,n_]=kb(Vb,{isInside:!1}),r_=e.forwardRef(((t,n)=>{const{__scopeTooltip:r,children:o,"aria-label":a,onEscapeKeyDown:i,onPointerDownOutside:l,...s}=t,c=Ub(Zb,r),u=Tb(r),{onClose:m}=c;return e.useEffect((()=>(document.addEventListener(Bb,m),()=>document.removeEventListener(Bb,m))),[m]),e.useEffect((()=>{if(c.trigger){const e=e=>{const t=e.target;t?.contains(c.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}}),[c.trigger,m]),d(Q,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:p(_p,{"data-state":c.stateAttribute,...u,...s,ref:n,style:{...s.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[d(B,{children:o}),d(t_,{scope:r,isInside:!0,children:d(qb,{id:c.contentId,role:"tooltip",children:a||o})})]})})}));Jb.displayName=Zb;var o_="TooltipArrow",a_=e.forwardRef(((e,t)=>{const{__scopeTooltip:n,...r}=e,o=Tb(n);return n_(o_,n).isInside?null:d(Ep,{...o,...r,ref:t})}));a_.displayName=o_;var i_=jb,l_=Wb,s_=Qb,c_=Yb,u_=Jb,d_=a_,m_="Tooltip-modules_content__--tK0",p_="Tooltip-modules_tooltipTrigger__-SmeR",f_="Tooltip-modules_arrow__4vjj8";function h_({align:e="center",alignOffset:r=0,children:o,className:a="",collisionBoundary:i,container:l,content:s,defaultOpen:c,delayDuration:u=200,isCustomTrigger:d=!1,isPortal:m=!1,isTriggerAsChild:p=!0,open:f,onOpenChange:h,side:v="top",sideOffset:g=4,skipDelayDuration:w=300,...y}){const[b,_]=n(c),E=f??b,C=t.createElement(u_,{sideOffset:g,alignOffset:r,side:v,align:e,collisionBoundary:i,...y,className:x(m_,"demio-ui-tooltip",{[a]:a})},s,t.createElement(d_,{className:f_,width:11,height:5}));return s?t.createElement(i_,{skipDelayDuration:w,delayDuration:u},t.createElement(l_,{defaultOpen:c,onOpenChange:e=>{h&&h(e),_(e)},open:E},t.createElement(s_,{asChild:d||p},d?t.createElement("div",{className:x("demio-ui-tooltip-trigger",p_)},o):o),m?t.createElement(c_,{container:l},C):C)):o}function v_({align:e="center",alignOffset:n=0,children:r,className:o="",collisionBoundary:a,container:i,content:l,side:s="top",sideOffset:c=4,...u}){return"ontouchstart"in window||navigator.maxTouchPoints>0?t.createElement(Ng,{content:l,contentProps:{side:s,align:e,sideOffset:c,alignOffset:n,collisionBoundary:a},...u,showArrow:!0,asChild:!0,container:i,contentClassName:x(m_,o,"demio-ui-tooltip")},r):t.createElement(h_,{align:e,alignOffset:n,children:r,className:o,collisionBoundary:a,container:i,content:l,side:s,sideOffset:c,...u})}var g_={default:"Typography-modules_default__JCzxD",headerFirst:"Typography-modules_headerFirst__NkO--",headerSecond:"Typography-modules_headerSecond__LEiQi",headerThird:"Typography-modules_headerThird__lSaFv",headerForth:"Typography-modules_headerForth__B5L3L",headerFifth:"Typography-modules_headerFifth__5LBdo",headerSixth:"Typography-modules_headerSixth__Bxy4-",bodyFirst:"Typography-modules_bodyFirst__iMtZC",bodySecond:"Typography-modules_bodySecond__bRjfb",bodyThird:"Typography-modules_bodyThird__SR8zo",semiBoldFirst:"Typography-modules_semiBoldFirst__IekIE",semiBoldSecond:"Typography-modules_semiBoldSecond__AaWKP",semiBoldThird:"Typography-modules_semiBoldThird__mmpEF",overLineFirst:"Typography-modules_overLineFirst__6-WmT",overLineSecond:"Typography-modules_overLineSecond__bRFIg",link:"Typography-modules_link__T8ZSo",left:"Typography-modules_left__toyKQ",center:"Typography-modules_center__LyrMT",right:"Typography-modules_right__s-R-0",inherit:"Typography-modules_inherit__yG6sp",regular:"Typography-modules_regular__nf3tw",bold:"Typography-modules_bold__kZqUJ",italic:"Typography-modules_italic__YadIq"};const w_={h1:"headerFirst",h2:"headerSecond",h3:"headerThird",h4:"headerForth",h5:"headerFifth",h6:"headerSixth",b1:"bodyFirst",b2:"bodySecond",b3:"bodyThird",sb1:"semiBoldFirst",sb2:"semiBoldSecond",sb3:"semiBoldThird",ol1:"overLineFirst",ol2:"overLineSecond",link:"link"},y_=({tag:e,dataTestId:n="",align:r="left",className:o="",children:a=null,emphasis:i="regular",title:l="",variant:s="b1",...c})=>{const u=e;return t.createElement(u,{title:l,"data-testid":n,className:x(g_.default,g_[w_[s]],g_[r],g_[i],"demio-ui-typography-element",`typography-${s}`,o),...c},a)};var b_="UploadMenu-modules_triggerButton__TnM4-",__="UploadMenu-modules_triggerButtonIcon__j-eLU",E_="UploadMenu-modules_menuContent__hPJib",x_="UploadMenu-modules_menuItem__XOxMt",C_="UploadMenu-modules_menuItemDisabled__QmNk4";const O_=4,M_=r((e=>{const{align:r="end",isOpen:o=!1,menu:a=[],onInteractOutside:i,onOpen:s,portalContainer:u,sideOffset:d=O_,triggerButton:m=null,triggerButtonClass:p=""}=e,[f,h]=n(o||!1),v=Boolean(m),g=c((()=>a.filter((e=>Boolean(e)&&Boolean(e?.text||e?.icon)))),[a]),w=Boolean(g.length);return l((()=>{h(o)}),[o]),t.createElement("div",{className:x("demio-ui-upload-menu"),"data-testid":"upload-menu"},w&&t.createElement(zh,{open:f,onOpenChange:e=>{h(e),s&&s(e)}},t.createElement(jh,{className:x("demio-ui-upload-menu-trigger-button",b_,p),"data-testid":"upload-menu-trigger-button"},v&&m,!v&&t.createElement(Oo,{className:x("demio-ui-upload-menu-default-trigger-button",__),"data-testid":"upload-menu-default-trigger-button",width:16})),t.createElement(Wh,{container:u instanceof Element?u:void 0},t.createElement(Bh,{align:r,className:x("demio-ui-upload-menu-content",E_),"data-testid":"upload-menu-content",onInteractOutside:e=>{e?.preventDefault(),h(!1),i?.()},sideOffset:d},g.map((({className:e,icon:n,isDisabled:r,text:o},a)=>t.createElement(Hh,{className:x("demio-ui-upload-menu-item",x_,{[C_]:r},e),"data-testid":`upload-menu-item-${a}`,disabled:r,key:`upload-menu-item-key-${a}`,onSelect:r?void 0:e=>((e,t)=>{g[t]&&g[t].onSelect&&g[t].onSelect(e,{itemNumber:t})})(e,a)},n,o)))))))}));var A_="UploadProgressPreview-modules_root__9StJo",S_="UploadProgressPreview-modules_image__OMRPt",D_="UploadProgressPreview-modules_row__KkHVU",P_="UploadProgressPreview-modules_iconContainer__Ktq69",N_="UploadProgressPreview-modules_icon__z5MfW",q_="UploadProgressPreview-modules_percent__VVNJt",k_="UploadProgressPreview-modules_fileData__hhid5",R_="UploadProgressPreview-modules_isUploadMode__M13Qp",T_="UploadProgressPreview-modules_noMenu__Kyn3S",I_="UploadProgressPreview-modules_fileName__i-Dl-",L_="UploadProgressPreview-modules_duration__HRRaa";const B_=r((({className:e="",fileName:n="",fileInfo:r="",imageSrc:o="",imageTitle:a="",isUpload:i=!1,menu:l=[],percent:s})=>{const u=Boolean(l.length),d=i||"number"==typeof s&&s<100,m=c((()=>l.filter((e=>e?.isPreviewOnly))),[l]),p=c((()=>l.filter((e=>e?.isProgressOnly))),[l]);return t.createElement("div",{className:x("demio-ui-upload-progress-preview",A_,e),"data-testid":"upload-progress-preview"},o&&!d&&t.createElement("img",{alt:a,className:x("demio-ui-upload-progress-preview-image",S_),"data-testid":"upload-progress-preview-image",title:a,src:o}),t.createElement("div",{className:x("demio-ui-upload-progress-preview-row",D_),"data-testid":"upload-progress-preview-row"},d&&t.createElement(t.Fragment,null,t.createElement("div",{className:x("demio-ui-upload-progress-preview-progress-icon-container",P_),"data-testid":"upload-progress-preview-progress-icon-container"},t.createElement(ml,{className:x("demio-ui-upload-progress-preview-progress-icon",N_),"data-testid":"upload-progress-preview-progress-icon"})),t.createElement("div",{className:x("demio-ui-upload-progress-preview-progress-percentage",q_),"data-testid":"upload-progress-preview-progress-percentage"},s,"%")),t.createElement("div",{className:x("demio-ui-upload-progress-preview-file-data",k_,{[T_]:!u,[R_]:d}),"data-testid":"upload-progress-preview-file-data"},n&&t.createElement("div",{className:x("demio-ui-upload-progress-preview-file-name",I_),"data-testid":"upload-progress-preview-file-name"},n),r&&!d&&t.createElement("div",{className:x("demio-ui-upload-progress-preview-file-info",L_),"data-testid":"upload-progress-preview-file-info"},r)),u&&t.createElement("div",{className:x("demio-ui-upload-progress-preview-menu",{isProgressOnly:d,isPreviewOnly:!d}),"data-testid":"upload-progress-preview-menu"},t.createElement(M_,{menu:d?p:m}))))}));var F_="Upload-modules_root__DE-cj",z_="Upload-modules_croppedImageContainer__tPNFg",j_="Upload-modules_croppedImageWrapper__H1aDd",V_="Upload-modules_croppedImage__5pBYs",H_="Upload-modules_uploadLabel__aWGAb",U_="Upload-modules_uploadInput__Bq7Fp",W_="Upload-modules_icon__pmGlQ",K_="Upload-modules_header__adz5V",Q_="Upload-modules_text__PS7SI",G_="Upload-modules_uploadTextFormat__IGVKt",$_="Upload-modules_modalContent__tfbd6",X_="Upload-modules_modalBody__q-3hj",Y_="Upload-modules_modalFooter__jFAuB";const Z_=r(o(((e,r)=>{const{acceptableFileTypes:o="",children:a=null,className:i="",customIcon:s=null,customHeader:d="Upload Media",customText:m=null,cropAspectRatio:p=1,error:f="",fileSizeMbLimit:h=3,minHeightLimit:v=0,minWidthLimit:g=0,errorDimension:w=`Minimum required dimensions are ${g}x${v}.`,errorSize:y=`Exceeds maximum size limit of ${h} MB.`,errorType:b="File type is not supported.",isCropAllowed:_=!1,isDimensionValidationEnabled:E=!0,isSizeValidationEnabled:C=!0,isValidationEnabled:O=!0,menu:M=[],onUpload:A,onCropCancel:S,onCropOk:D,onCropComplete:P,onCropChange:N,onDrop:q,onReadFileError:k,onReadFileProgress:R,onReadFileStart:T,onReadFileSuccess:I,onZoomChange:L,previewFileInfo:B="",previewFileName:F="",previewImage:z="",previewImageTitle:j="",uploadPercent:V}=e,[H,U]=n(null),[W,K]=n(""),[Q,G]=n(!1),[$,X]=n(!1),[Y,Z]=n(""),[J,ee]=n(null),[te,ne]=n(void 0),{croppedImageURL:re}=td(W,H),{validate:oe}=rd({acceptableFileTypes:o,fileSizeMbLimit:h,isDimensionValidationEnabled:E,isSizeValidationEnabled:C,isValidationEnabled:O,minHeightLimit:v,minWidthLimit:g}),ae="number"==typeof te,ie=o.replaceAll(",","").toLowerCase()||"",le=J?.name||"",se=Boolean(re),ce=Pu(J),ue=o.length>0,de=async(e=null)=>{if(!(e instanceof File))return;const t=await(async e=>{const t=URL.createObjectURL(e)||"",{isFileValid:n,isFileDimensionValid:r,isFileSizeValid:o,isFileTypeValid:a}=await oe(e);n?(K(t),ee(e)):pe();const i=(ue&&!a?b:"")||(C&&!o?y:"")||(E&&!r?w:"");return ne(i?void 0:0),Z(O&&!n&&i||f),n})(e);if(t){A?.(e);try{const t=new FileReader;T?.(e),t.onprogress=t=>{if(t.lengthComputable){const n=Math.floor(Number(t.loaded/t.total*100));R?.(n,e)}},t.onload=()=>{I?.(t.result,e)},t.onerror=()=>{ne(void 0),k?.(t.error,e)},t.readAsDataURL(e)}catch(t){Z("Something went wrong while reading File"),ne(void 0),k?.(t,e)}}},me=()=>{K(""),G(!1),X(!1),Z(""),ee(null),ne(void 0)},pe=()=>{me(),S&&S()},fe=c((()=>M.filter((e=>Boolean(e))).map(((e,t)=>({...e,onSelect:e=>((e,t)=>{M[t]&&("cancel"===M[t].action?.toLowerCase()&&me(),M[t].onSelect&&M[t].onSelect(e,{itemNumber:t,croppedImageURL:re,setFileUrl:K,cancelUpload:me}))})(e,t)})))),[M]),he=c((()=>fe.filter((e=>e.isPreviewOnly||e.isProgressOnly))),[fe]),ve=c((()=>fe.filter((e=>!(e.isProgressOnly||e.isPreviewOnly)))),[fe]);return u(r,(()=>({cancelUpload:me}))),l((()=>{_&&ce&&X(!0)}),[_,ce]),l((()=>{se||ee(null)}),[se]),l((()=>{$||G(se)}),[se,$]),l((()=>{Z(f)}),[f]),l((()=>{ne(V)}),[V]),l((()=>{me()}),[o,h]),t.createElement("div",{className:x("demio-ui-upload-root",F_,i),"data-testid":"upload-root"},Y&&t.createElement(ud,{text:Y}),ae&&t.createElement(B_,{fileName:le||F,fileInfo:B,imageSrc:z,imageTitle:j,menu:he,percent:te}),!ae&&t.createElement(pd,{...e,error:Y,isValidationEnabled:!1,onDrop:async(e,t)=>{await de(t),q&&q(e,t)}},Q&&t.createElement("div",{className:x("demio-ui-upload-cropped-image-container",z_),"data-testid":"upload-cropped-image-container"},t.createElement("div",{className:x("demio-ui-upload-cropped-image-wrapper",j_),"data-testid":"upload-cropped-image-wrapper"},t.createElement("img",{alt:"Cropped image",className:x("demio-ui-upload-cropped-image",V_),"data-testid":"upload-cropped-image",src:re})),t.createElement("div",{className:x("demio-ui-upload-menu"),"data-testid":"upload-menu"},t.createElement(M_,{menu:ve}))),!Q&&t.createElement("label",{className:x("demio-ui-upload-label",H_),"data-testid":"upload-label",htmlFor:"file"},t.createElement("input",{accept:o,className:x("demio-ui-upload-input",U_),"data-testid":"upload-input",id:"file",name:"file",onChange:async e=>{const t=e?.target?.files?.[0]||null;await de(t)},type:"file"}),a,!a&&t.createElement(t.Fragment,null,s||t.createElement(tl,{className:x("demio-ui-upload-icon",W_),"data-testid":"upload-icon"}),d&&t.createElement("div",{className:x("demio-ui-upload-header",K_),"data-testid":"upload-header"},d),t.createElement("div",{className:x("demio-ui-upload-text",Q_),"data-testid":"upload-text"},m||t.createElement(t.Fragment,null,t.createElement("strong",{className:x("demio-ui-upload-text-format",G_),"data-testid":"upload-text-format"},ie)," ","up to ",t.createElement("strong",null,h," MB")))))),$&&ce&&_&&t.createElement(Ed,{contentClassName:$_,open:!0,isClosable:!1,onOpenChange:()=>X(!1),title:"Crop & Upload Profile Picture"},t.createElement("div",{className:x("demio-ui-upload-crop-modal-body",X_),"data-testid":"upload-crop-modal-body"},!!W&&t.createElement(Cu,{aspect:p,image:W,onCropChange:N,onCropComplete:(e,t)=>{U(t),P&&P(e,t)},onZoomChange:L})),t.createElement("div",{className:x("demio-ui-upload-crop-modal-footer",Y_),"data-testid":"upload-crop-modal-footer"},t.createElement(Mn,{className:"demio-ui-upload-crop-modal-btn-cancel","data-testid":"upload-crop-modal-btn-cancel",onClick:pe,variant:"secondary"},"no, never mind"),t.createElement(Mn,{className:"demio-ui-upload-crop-modal-btn-ok","data-testid":"upload-crop-modal-btn-ok",onClick:()=>{G(!0),X(!1),D&&D(re)}},"crop image"))))})));export{kn as Alert,Us as Avatar,Ks as Badge,Mn as Button,Gs as ButtonNew,Xs as Card,Ec as Checkbox,kc as CopyLinkInput,Cu as Crop,pd as DnDArea,Cd as Drawer,Kh as DropdownItem,Bh as DropdownMenuContent,Uh as DropdownMenuGroup,Hh as DropdownMenuItem,Vh as DropdownMenuLabel,zh as DropdownMenuRoot,Fh as DropdownMenuSeparator,jh as DropdownMenuTrigger,Gh as FormGroup,ev as InfoBanner,Ac as Input,Oc as InputHint,wc as Label,Cn as Loader,Ed as Modal,hv as ModalScrollable,Gv as MultiSelect,ud as Note,eg as Pagination,Ng as Popover,Mg as PopoverContent,Og as PopoverPortal,xg as PopoverRoot,v_ as PopoverTooltip,Cg as PopoverTrigger,Xg as Progress,xw as RadioGroup,hv as ScrollableModal,Ly as Select,By as SelectItem,Fy as SelectItemText,bu as Slider,eb as Switch,Mb as Tab,Ab as TabsContent,Ob as TabsList,Cb as TabsRoot,Pb as Tag,Xu as Toast,h_ as Tooltip,y_ as Typography,Z_ as Upload,M_ as UploadMenu,B_ as UploadProgressPreview,Ru as createImage,Lu as getCroppedImageURL,Mu as getFileExtension,Au as getFileMimeType,Tu as getRadianAngle,js as icons,Su as isExtensionMatchingMimeType,Pu as isImage,ku as isValidFileDimension,qu as isValidFileSize,Du as isValidFileType,Nu as isVideo,Ou as mimeTypeMap,Iu as rotateSize,ed as toast,td as useCroppedImage,rd as useFileValidation};
|
|
7
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9jbGFzc25hbWVzL2luZGV4LmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1jb250ZXh0L2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnMvZGlzdC9pbmRleC5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3ByaW1pdGl2ZS9kaXN0L2luZGV4Lm1qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtdXNlLWxheW91dC1lZmZlY3QvZGlzdC9pbmRleC5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWlkL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC11c2UtY2FsbGJhY2stcmVmL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC11c2UtY29udHJvbGxhYmxlLXN0YXRlL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1zbG90L2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1wcmltaXRpdmUvZGlzdC9pbmRleC5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWRpc21pc3NhYmxlLWxheWVyL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC11c2UtZXNjYXBlLWtleWRvd24vZGlzdC9pbmRleC5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWZvY3VzLXNjb3BlL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1wb3J0YWwvZGlzdC9pbmRleC5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXByZXNlbmNlL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1mb2N1cy1ndWFyZHMvZGlzdC9pbmRleC5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlbW92ZS1zY3JvbGwtYmFyL2Rpc3QvZXMyMDE1L2NvbnN0YW50cy5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91c2UtY2FsbGJhY2stcmVmL2Rpc3QvZXMyMDE1L2Fzc2lnblJlZi5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91c2UtY2FsbGJhY2stcmVmL2Rpc3QvZXMyMDE1L3VzZU1lcmdlUmVmLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3VzZS1jYWxsYmFjay1yZWYvZGlzdC9lczIwMTUvdXNlUmVmLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3VzZS1zaWRlY2FyL2Rpc3QvZXMyMDE1L21lZGl1bS5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy91c2Utc2lkZWNhci9kaXN0L2VzMjAxNS9leHBvcnRzLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlbW92ZS1zY3JvbGwvZGlzdC9lczIwMTUvbWVkaXVtLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlbW92ZS1zY3JvbGwvZGlzdC9lczIwMTUvVUkuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3Qtc3R5bGUtc2luZ2xldG9uL2Rpc3QvZXMyMDE1L3NpbmdsZXRvbi5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9nZXQtbm9uY2UvZGlzdC9lczIwMTUvaW5kZXguanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3Qtc3R5bGUtc2luZ2xldG9uL2Rpc3QvZXMyMDE1L2NvbXBvbmVudC5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1zdHlsZS1zaW5nbGV0b24vZGlzdC9lczIwMTUvaG9vay5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1yZW1vdmUtc2Nyb2xsLWJhci9kaXN0L2VzMjAxNS91dGlscy5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1yZW1vdmUtc2Nyb2xsLWJhci9kaXN0L2VzMjAxNS9jb21wb25lbnQuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9hZ2dyZXNpdmVDYXB0dXJlLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlbW92ZS1zY3JvbGwvZGlzdC9lczIwMTUvaGFuZGxlU2Nyb2xsLmpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWN0LXJlbW92ZS1zY3JvbGwvZGlzdC9lczIwMTUvU2lkZUVmZmVjdC5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFjdC1yZW1vdmUtc2Nyb2xsL2Rpc3QvZXMyMDE1L3NpZGVjYXIuanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmVhY3QtcmVtb3ZlLXNjcm9sbC9kaXN0L2VzMjAxNS9Db21iaW5hdGlvbi5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hcmlhLWhpZGRlbi9kaXN0L2VzMjAxNS9pbmRleC5qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtZGlhbG9nL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1hbGVydC1kaWFsb2cvZGlzdC9pbmRleC5tanMiLCIuLi8uLi9zcmMvaWNvbnMvY2xvc2Uuc3ZnIiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTG9hZGVyL0xvYWRlci50c3giLCIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9CdXR0b24vQnV0dG9uLnRzeCIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0FsZXJ0L0FsZXJ0LnRzeCIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtYXZhdGFyL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vc3JjL2ljb25zL2FkZC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvYXJyb3ctbGVmdC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvYXJyb3ctbGVmdC1kb3VibGUuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2Fycm93LWxlZnQtc2luZ2xlLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9hdC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvYmFyX2NoYXJ0LnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9ibG9jay5zdmciLCIuLi8uLi9zcmMvaWNvbnMvYmx1cl9vbi5zdmciLCIuLi8uLi9zcmMvaWNvbnMvY2FjaGVkLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9jYWxlbmRhci5zdmciLCIuLi8uLi9zcmMvaWNvbnMvY2FtZXJhLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9jYW1lcmFfb3V0bGluZWQuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2NoYXRfaWNvbi5zdmciLCIuLi8uLi9zcmMvaWNvbnMvY2hhdC1kaXNhYmxlZC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvY2hlY2suc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2NoZWNrX2NpcmNsZS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvY2hlY2stY2lyY2xlLXNvbGlkLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9jaGVja2JveC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvY2xvY2suc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2NvbXByZXNzLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9jb3B5LnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9jdXN0b21pemUuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2RlbGV0ZS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvZG90cy5zdmciLCIuLi8uLi9zcmMvaWNvbnMvZG93bmxvYWQuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2VkaXQuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2VsZWN0cmljX2JvbHQuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2V2ZW50X2RldGFpbHMuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2V2ZW50X3JlcGVhdC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvZXhjbGFtYXRpb24uc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2V4cGFuZC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvZXh0ZXJuYWxfbGluay5zdmciLCIuLi8uLi9zcmMvaWNvbnMvZmVhdHVyZV9hY3Rpb24uc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2ZpbGUuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2ZpbHRlcl9saXN0LnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9mbGlwLWNhbWVyYS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvZ2Vhci5zdmciLCIuLi8uLi9zcmMvaWNvbnMvaGVscC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvaGVscC1zb2xpZC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvaW5mby5zdmciLCIuLi8uLi9zcmMvaWNvbnMvaW5mby0xLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9pbmZvLWNpcmNsZS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvaW5mby1jaXJjbGUtc29saWQuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL2l0ZW1zLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9rZXlib2FyZF9hcnJvd19kb3duLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9saXN0LnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9sb2NhdGlvbi5zdmciLCIuLi8uLi9zcmMvaWNvbnMvbG9jay5zdmciLCIuLi8uLi9zcmMvaWNvbnMvbWFnaWMuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL21haWwuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL21hdGVyaWFscy5zdmciLCIuLi8uLi9zcmMvaWNvbnMvbWljX29mZi5zdmciLCIuLi8uLi9zcmMvaWNvbnMvbWljX29mZi0xLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9taWNfb3V0bGluZWQuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL21pYy0xLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9taWMtYm9sZC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvbW9iaWxlLWRldmljZS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvb3V0LXN0YWdlLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9wYXNzd29yZF9leWUuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL3Bhc3N3b3JkX2V5ZV9jcm9zc2VkLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9wZW9wbGUuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL3Blb3BsZS1jb21tdW5pdHkuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL3BlcnNvbi5zdmciLCIuLi8uLi9zcmMvaWNvbnMvcGVyc29uX2RlbGV0ZS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvcGxheS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvcGx1cy5zdmciLCIuLi8uLi9zcmMvaWNvbnMvcG9sbC5zdmciLCIuLi8uLi9zcmMvaWNvbnMvcHJlc2VudGF0aW9uLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9wcm9ncmVzcy5zdmciLCIuLi8uLi9zcmMvaWNvbnMvcmVwbGF5X2Rpc2FibGVkLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9yZXN0YXJ0LnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9yb2NrZXQuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL3NjcmVlbi1wZXJzb24uc3ZnIiwiLi4vLi4vc3JjL2ljb25zL3NjcmVlbi1zY2FyZS13aW5kb3dzLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9zY3JlZW4tc2hhcmluZy5zdmciLCIuLi8uLi9zcmMvaWNvbnMvc2VhcmNoLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9zaWRlYmFyLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9zbWlsZS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvc3BvdGxpZ2h0LnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9zdGFja2VkX2VtYWlsLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy9zdGFnZS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvc3luYy5zdmciLCIuLi8uLi9zcmMvaWNvbnMvdGltZXMtY2lyY2xlLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy90b2RheS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvdHJhc2guc3ZnIiwiLi4vLi4vc3JjL2ljb25zL3RyZW5kaW5nX2Rvd24uc3ZnIiwiLi4vLi4vc3JjL2ljb25zL3RyZW5kaW5nX3VwLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy91bmRvLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy92aWRlb2NhbS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvdmlkZW9jYW0tMS5zdmciLCIuLi8uLi9zcmMvaWNvbnMvdm9sdW1lX29mZi0xLnN2ZyIsIi4uLy4uL3NyYy9pY29ucy92b2x1bWVfdXAuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL3dhcm5pbmcuc3ZnIiwiLi4vLi4vc3JjL2ljb25zL3dhcm5pbmctMS5zdmciLCIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9BdmF0YXIvQXZhdGFyLnRzeCIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0JhZGdlL0JhZGdlLnRzeCIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0J1dHRvbk5ldy9CdXR0b24udHN4IiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ2FyZC9DYXJkLnRzeCIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtdXNlLXByZXZpb3VzL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC11c2Utc2l6ZS9kaXN0L2luZGV4Lm1qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtY2hlY2tib3gvZGlzdC9pbmRleC5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWxhYmVsL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTGFiZWwvTGFiZWwudHN4IiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQ2hlY2tib3gvQ2hlY2tib3gudHN4IiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSW5wdXRIaW50L0lucHV0SGludC50c3giLCIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9JbnB1dC9JbnB1dC50c3giLCIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Db3B5TGlua0lucHV0L0NvcHlMaW5rSW5wdXQudHN4IiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9udW1iZXIvZGlzdC9pbmRleC5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWRpcmVjdGlvbi9kaXN0L2luZGV4Lm1qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtY29sbGVjdGlvbi9kaXN0L2luZGV4Lm1qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3Qtc2xpZGVyL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvU2xpZGVyL1NsaWRlci50c3giLCIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Dcm9wL0Nyb3AudHN4IiwiLi4vLi4vLi4vc3JjL3V0aWxzL2ZpbGUvZmlsZS11dGlscy50cyIsIi4uLy4uLy4uL3NyYy91dGlscy9pbWFnZS9pbWFnZS11dGlscy50cyIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RvYXN0L1RvYXN0LnRzeCIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RvYXN0TGlzdC9Ub2FzdExpc3QudHN4IiwiLi4vLi4vLi4vc3JjL3V0aWxzL3RvYXN0L3RvYXN0LnRzeCIsIi4uLy4uLy4uL3NyYy9ob29rcy91c2VDcm9wcGVkSW1hZ2UvdXNlQ3JvcHBlZEltYWdlLnRzIiwiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUZpbGVWYWxpZGF0aW9uL3VzZUZpbGVWYWxpZGF0aW9uLnRzIiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTm90ZS9Ob3RlLnRzeCIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0RuREFyZWEvRG5EQXJlYS50c3giLCIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9Nb2RhbC50c3giLCIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9EcmF3ZXIvRHJhd2VyLnRzeCIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZsb2F0aW5nLXVpL2NvcmUvZGlzdC9mbG9hdGluZy11aS5jb3JlLm1qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZmxvYXRpbmctdWkvdXRpbHMvZGlzdC9mbG9hdGluZy11aS51dGlscy5kb20ubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS9kb20vZGlzdC9mbG9hdGluZy11aS5kb20ubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0BmbG9hdGluZy11aS9yZWFjdC1kb20vZGlzdC9mbG9hdGluZy11aS5yZWFjdC1kb20ubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1hcnJvdy9kaXN0L2luZGV4Lm1qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtcG9wcGVyL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1yb3ZpbmctZm9jdXMvZGlzdC9pbmRleC5tanMiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LWRyb3Bkb3duLW1lbnUvbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1tZW51L2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1kcm9wZG93bi1tZW51L2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd24udHN4IiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRHJvcGRvd24vRHJvcGRvd25JdGVtLnRzeCIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0Zvcm1Hcm91cC9Gb3JtR3JvdXAudHN4IiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSW5mb0Jhbm5lci9JbmZvQmFubmVyLnRzeCIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL01vZGFsU2Nyb2xsYWJsZS9Nb2RhbFNjcm9sbGFibGUudHN4IiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTXVsdGlTZWxlY3QvTXVsdGlTZWxlY3QudHN4IiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvUGFnaW5hdGlvbi9QYWdpbmF0aW9uLnRzeCIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtcG9wb3Zlci9kaXN0L2luZGV4Lm1qcyIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1BvcG92ZXIvUG9wb3Zlci50c3giLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXByb2dyZXNzL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvUHJvZ3Jlc3MvUHJvZ3Jlc3MudHN4IiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC1yYWRpby1ncm91cC9kaXN0L2luZGV4Lm1qcyIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1JhZGlvR3JvdXAvUmFkaW9Hcm91cC50c3giLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXNlbGVjdC9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXZpc3VhbGx5LWhpZGRlbi9kaXN0L2luZGV4Lm1qcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3Qtc2VsZWN0L2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giLCIuLi8uLi9ub2RlX21vZHVsZXMvQHJhZGl4LXVpL3JlYWN0LXN3aXRjaC9kaXN0L2luZGV4Lm1qcyIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1N3aXRjaC9Td2l0Y2gudHN4IiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC10YWJzL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVGFicy9UYWJzLnRzeCIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RhZy9UYWcudHN4IiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC10b29sdGlwL25vZGVfbW9kdWxlcy9AcmFkaXgtdWkvcmVhY3QtdmlzdWFsbHktaGlkZGVuL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0ByYWRpeC11aS9yZWFjdC10b29sdGlwL2Rpc3QvaW5kZXgubWpzIiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVG9vbHRpcC9Ub29sdGlwLnRzeCIsIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1R5cG9ncmFwaHkvVHlwb2dyYXBoeS50c3giLCIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9VcGxvYWRNZW51L1VwbG9hZE1lbnUudHN4IiwiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVXBsb2FkUHJvZ3Jlc3NQcmV2aWV3L1VwbG9hZFByb2dyZXNzUHJldmlldy50c3giLCIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9VcGxvYWQvVXBsb2FkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcblx0Q29weXJpZ2h0IChjKSAyMDE4IEplZCBXYXRzb24uXG5cdExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSAoTUlUKSwgc2VlXG5cdGh0dHA6Ly9qZWR3YXRzb24uZ2l0aHViLmlvL2NsYXNzbmFtZXNcbiovXG4vKiBnbG9iYWwgZGVmaW5lICovXG5cbihmdW5jdGlvbiAoKSB7XG5cdCd1c2Ugc3RyaWN0JztcblxuXHR2YXIgaGFzT3duID0ge30uaGFzT3duUHJvcGVydHk7XG5cblx0ZnVuY3Rpb24gY2xhc3NOYW1lcyAoKSB7XG5cdFx0dmFyIGNsYXNzZXMgPSAnJztcblxuXHRcdGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHR2YXIgYXJnID0gYXJndW1lbnRzW2ldO1xuXHRcdFx0aWYgKGFyZykge1xuXHRcdFx0XHRjbGFzc2VzID0gYXBwZW5kQ2xhc3MoY2xhc3NlcywgcGFyc2VWYWx1ZShhcmcpKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gY2xhc3Nlcztcblx0fVxuXG5cdGZ1bmN0aW9uIHBhcnNlVmFsdWUgKGFyZykge1xuXHRcdGlmICh0eXBlb2YgYXJnID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xuXHRcdFx0cmV0dXJuIGFyZztcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIGFyZyAhPT0gJ29iamVjdCcpIHtcblx0XHRcdHJldHVybiAnJztcblx0XHR9XG5cblx0XHRpZiAoQXJyYXkuaXNBcnJheShhcmcpKSB7XG5cdFx0XHRyZXR1cm4gY2xhc3NOYW1lcy5hcHBseShudWxsLCBhcmcpO1xuXHRcdH1cblxuXHRcdGlmIChhcmcudG9TdHJpbmcgIT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgJiYgIWFyZy50b1N0cmluZy50b1N0cmluZygpLmluY2x1ZGVzKCdbbmF0aXZlIGNvZGVdJykpIHtcblx0XHRcdHJldHVybiBhcmcudG9TdHJpbmcoKTtcblx0XHR9XG5cblx0XHR2YXIgY2xhc3NlcyA9ICcnO1xuXG5cdFx0Zm9yICh2YXIga2V5IGluIGFyZykge1xuXHRcdFx0aWYgKGhhc093bi5jYWxsKGFyZywga2V5KSAmJiBhcmdba2V5XSkge1xuXHRcdFx0XHRjbGFzc2VzID0gYXBwZW5kQ2xhc3MoY2xhc3Nlcywga2V5KTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gY2xhc3Nlcztcblx0fVxuXG5cdGZ1bmN0aW9uIGFwcGVuZENsYXNzICh2YWx1ZSwgbmV3Q2xhc3MpIHtcblx0XHRpZiAoIW5ld0NsYXNzKSB7XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fVxuXHRcblx0XHRpZiAodmFsdWUpIHtcblx0XHRcdHJldHVybiB2YWx1ZSArICcgJyArIG5ld0NsYXNzO1xuXHRcdH1cblx0XG5cdFx0cmV0dXJuIHZhbHVlICsgbmV3Q2xhc3M7XG5cdH1cblxuXHRpZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcblx0XHRjbGFzc05hbWVzLmRlZmF1bHQgPSBjbGFzc05hbWVzO1xuXHRcdG1vZHVsZS5leHBvcnRzID0gY2xhc3NOYW1lcztcblx0fSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBkZWZpbmUuYW1kID09PSAnb2JqZWN0JyAmJiBkZWZpbmUuYW1kKSB7XG5cdFx0Ly8gcmVnaXN0ZXIgYXMgJ2NsYXNzbmFtZXMnLCBjb25zaXN0ZW50IHdpdGggbnBtIHBhY2thZ2UgbmFtZVxuXHRcdGRlZmluZSgnY2xhc3NuYW1lcycsIFtdLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRyZXR1cm4gY2xhc3NOYW1lcztcblx0XHR9KTtcblx0fSBlbHNlIHtcblx0XHR3aW5kb3cuY2xhc3NOYW1lcyA9IGNsYXNzTmFtZXM7XG5cdH1cbn0oKSk7XG4iLCIvLyBwYWNrYWdlcy9yZWFjdC9jb250ZXh0L3NyYy9jcmVhdGVDb250ZXh0LnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmZ1bmN0aW9uIGNyZWF0ZUNvbnRleHQyKHJvb3RDb21wb25lbnROYW1lLCBkZWZhdWx0Q29udGV4dCkge1xuICBjb25zdCBDb250ZXh0ID0gUmVhY3QuY3JlYXRlQ29udGV4dChkZWZhdWx0Q29udGV4dCk7XG4gIGNvbnN0IFByb3ZpZGVyID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBjaGlsZHJlbiwgLi4uY29udGV4dCB9ID0gcHJvcHM7XG4gICAgY29uc3QgdmFsdWUgPSBSZWFjdC51c2VNZW1vKCgpID0+IGNvbnRleHQsIE9iamVjdC52YWx1ZXMoY29udGV4dCkpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KENvbnRleHQuUHJvdmlkZXIsIHsgdmFsdWUsIGNoaWxkcmVuIH0pO1xuICB9O1xuICBQcm92aWRlci5kaXNwbGF5TmFtZSA9IHJvb3RDb21wb25lbnROYW1lICsgXCJQcm92aWRlclwiO1xuICBmdW5jdGlvbiB1c2VDb250ZXh0Mihjb25zdW1lck5hbWUpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChDb250ZXh0KTtcbiAgICBpZiAoY29udGV4dCkgcmV0dXJuIGNvbnRleHQ7XG4gICAgaWYgKGRlZmF1bHRDb250ZXh0ICE9PSB2b2lkIDApIHJldHVybiBkZWZhdWx0Q29udGV4dDtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFxcYCR7Y29uc3VtZXJOYW1lfVxcYCBtdXN0IGJlIHVzZWQgd2l0aGluIFxcYCR7cm9vdENvbXBvbmVudE5hbWV9XFxgYCk7XG4gIH1cbiAgcmV0dXJuIFtQcm92aWRlciwgdXNlQ29udGV4dDJdO1xufVxuZnVuY3Rpb24gY3JlYXRlQ29udGV4dFNjb3BlKHNjb3BlTmFtZSwgY3JlYXRlQ29udGV4dFNjb3BlRGVwcyA9IFtdKSB7XG4gIGxldCBkZWZhdWx0Q29udGV4dHMgPSBbXTtcbiAgZnVuY3Rpb24gY3JlYXRlQ29udGV4dDMocm9vdENvbXBvbmVudE5hbWUsIGRlZmF1bHRDb250ZXh0KSB7XG4gICAgY29uc3QgQmFzZUNvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0KGRlZmF1bHRDb250ZXh0KTtcbiAgICBjb25zdCBpbmRleCA9IGRlZmF1bHRDb250ZXh0cy5sZW5ndGg7XG4gICAgZGVmYXVsdENvbnRleHRzID0gWy4uLmRlZmF1bHRDb250ZXh0cywgZGVmYXVsdENvbnRleHRdO1xuICAgIGNvbnN0IFByb3ZpZGVyID0gKHByb3BzKSA9PiB7XG4gICAgICBjb25zdCB7IHNjb3BlLCBjaGlsZHJlbiwgLi4uY29udGV4dCB9ID0gcHJvcHM7XG4gICAgICBjb25zdCBDb250ZXh0ID0gc2NvcGU/LltzY29wZU5hbWVdPy5baW5kZXhdIHx8IEJhc2VDb250ZXh0O1xuICAgICAgY29uc3QgdmFsdWUgPSBSZWFjdC51c2VNZW1vKCgpID0+IGNvbnRleHQsIE9iamVjdC52YWx1ZXMoY29udGV4dCkpO1xuICAgICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goQ29udGV4dC5Qcm92aWRlciwgeyB2YWx1ZSwgY2hpbGRyZW4gfSk7XG4gICAgfTtcbiAgICBQcm92aWRlci5kaXNwbGF5TmFtZSA9IHJvb3RDb21wb25lbnROYW1lICsgXCJQcm92aWRlclwiO1xuICAgIGZ1bmN0aW9uIHVzZUNvbnRleHQyKGNvbnN1bWVyTmFtZSwgc2NvcGUpIHtcbiAgICAgIGNvbnN0IENvbnRleHQgPSBzY29wZT8uW3Njb3BlTmFtZV0/LltpbmRleF0gfHwgQmFzZUNvbnRleHQ7XG4gICAgICBjb25zdCBjb250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChDb250ZXh0KTtcbiAgICAgIGlmIChjb250ZXh0KSByZXR1cm4gY29udGV4dDtcbiAgICAgIGlmIChkZWZhdWx0Q29udGV4dCAhPT0gdm9pZCAwKSByZXR1cm4gZGVmYXVsdENvbnRleHQ7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFxcYCR7Y29uc3VtZXJOYW1lfVxcYCBtdXN0IGJlIHVzZWQgd2l0aGluIFxcYCR7cm9vdENvbXBvbmVudE5hbWV9XFxgYCk7XG4gICAgfVxuICAgIHJldHVybiBbUHJvdmlkZXIsIHVzZUNvbnRleHQyXTtcbiAgfVxuICBjb25zdCBjcmVhdGVTY29wZSA9ICgpID0+IHtcbiAgICBjb25zdCBzY29wZUNvbnRleHRzID0gZGVmYXVsdENvbnRleHRzLm1hcCgoZGVmYXVsdENvbnRleHQpID0+IHtcbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVDb250ZXh0KGRlZmF1bHRDb250ZXh0KTtcbiAgICB9KTtcbiAgICByZXR1cm4gZnVuY3Rpb24gdXNlU2NvcGUoc2NvcGUpIHtcbiAgICAgIGNvbnN0IGNvbnRleHRzID0gc2NvcGU/LltzY29wZU5hbWVdIHx8IHNjb3BlQ29udGV4dHM7XG4gICAgICByZXR1cm4gUmVhY3QudXNlTWVtbyhcbiAgICAgICAgKCkgPT4gKHsgW2BfX3Njb3BlJHtzY29wZU5hbWV9YF06IHsgLi4uc2NvcGUsIFtzY29wZU5hbWVdOiBjb250ZXh0cyB9IH0pLFxuICAgICAgICBbc2NvcGUsIGNvbnRleHRzXVxuICAgICAgKTtcbiAgICB9O1xuICB9O1xuICBjcmVhdGVTY29wZS5zY29wZU5hbWUgPSBzY29wZU5hbWU7XG4gIHJldHVybiBbY3JlYXRlQ29udGV4dDMsIGNvbXBvc2VDb250ZXh0U2NvcGVzKGNyZWF0ZVNjb3BlLCAuLi5jcmVhdGVDb250ZXh0U2NvcGVEZXBzKV07XG59XG5mdW5jdGlvbiBjb21wb3NlQ29udGV4dFNjb3BlcyguLi5zY29wZXMpIHtcbiAgY29uc3QgYmFzZVNjb3BlID0gc2NvcGVzWzBdO1xuICBpZiAoc2NvcGVzLmxlbmd0aCA9PT0gMSkgcmV0dXJuIGJhc2VTY29wZTtcbiAgY29uc3QgY3JlYXRlU2NvcGUgPSAoKSA9PiB7XG4gICAgY29uc3Qgc2NvcGVIb29rcyA9IHNjb3Blcy5tYXAoKGNyZWF0ZVNjb3BlMikgPT4gKHtcbiAgICAgIHVzZVNjb3BlOiBjcmVhdGVTY29wZTIoKSxcbiAgICAgIHNjb3BlTmFtZTogY3JlYXRlU2NvcGUyLnNjb3BlTmFtZVxuICAgIH0pKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gdXNlQ29tcG9zZWRTY29wZXMob3ZlcnJpZGVTY29wZXMpIHtcbiAgICAgIGNvbnN0IG5leHRTY29wZXMgPSBzY29wZUhvb2tzLnJlZHVjZSgobmV4dFNjb3BlczIsIHsgdXNlU2NvcGUsIHNjb3BlTmFtZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHNjb3BlUHJvcHMgPSB1c2VTY29wZShvdmVycmlkZVNjb3Blcyk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTY29wZSA9IHNjb3BlUHJvcHNbYF9fc2NvcGUke3Njb3BlTmFtZX1gXTtcbiAgICAgICAgcmV0dXJuIHsgLi4ubmV4dFNjb3BlczIsIC4uLmN1cnJlbnRTY29wZSB9O1xuICAgICAgfSwge30pO1xuICAgICAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gKHsgW2BfX3Njb3BlJHtiYXNlU2NvcGUuc2NvcGVOYW1lfWBdOiBuZXh0U2NvcGVzIH0pLCBbbmV4dFNjb3Blc10pO1xuICAgIH07XG4gIH07XG4gIGNyZWF0ZVNjb3BlLnNjb3BlTmFtZSA9IGJhc2VTY29wZS5zY29wZU5hbWU7XG4gIHJldHVybiBjcmVhdGVTY29wZTtcbn1cbmV4cG9ydCB7XG4gIGNyZWF0ZUNvbnRleHQyIGFzIGNyZWF0ZUNvbnRleHQsXG4gIGNyZWF0ZUNvbnRleHRTY29wZVxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiIsIi8vIHBhY2thZ2VzL3JlYWN0L2NvbXBvc2UtcmVmcy9zcmMvY29tcG9zZVJlZnMudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIHNldFJlZihyZWYsIHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgcmVmID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gcmVmKHZhbHVlKTtcbiAgfSBlbHNlIGlmIChyZWYgIT09IG51bGwgJiYgcmVmICE9PSB2b2lkIDApIHtcbiAgICByZWYuY3VycmVudCA9IHZhbHVlO1xuICB9XG59XG5mdW5jdGlvbiBjb21wb3NlUmVmcyguLi5yZWZzKSB7XG4gIHJldHVybiAobm9kZSkgPT4ge1xuICAgIGxldCBoYXNDbGVhbnVwID0gZmFsc2U7XG4gICAgY29uc3QgY2xlYW51cHMgPSByZWZzLm1hcCgocmVmKSA9PiB7XG4gICAgICBjb25zdCBjbGVhbnVwID0gc2V0UmVmKHJlZiwgbm9kZSk7XG4gICAgICBpZiAoIWhhc0NsZWFudXAgJiYgdHlwZW9mIGNsZWFudXAgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGhhc0NsZWFudXAgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNsZWFudXA7XG4gICAgfSk7XG4gICAgaWYgKGhhc0NsZWFudXApIHtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2xlYW51cHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBjbGVhbnVwID0gY2xlYW51cHNbaV07XG4gICAgICAgICAgaWYgKHR5cGVvZiBjbGVhbnVwID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgY2xlYW51cCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZXRSZWYocmVmc1tpXSwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIHVzZUNvbXBvc2VkUmVmcyguLi5yZWZzKSB7XG4gIHJldHVybiBSZWFjdC51c2VDYWxsYmFjayhjb21wb3NlUmVmcyguLi5yZWZzKSwgcmVmcyk7XG59XG5leHBvcnQge1xuICBjb21wb3NlUmVmcyxcbiAgdXNlQ29tcG9zZWRSZWZzXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiLy8gcGFja2FnZXMvY29yZS9wcmltaXRpdmUvc3JjL3ByaW1pdGl2ZS50c3hcbmZ1bmN0aW9uIGNvbXBvc2VFdmVudEhhbmRsZXJzKG9yaWdpbmFsRXZlbnRIYW5kbGVyLCBvdXJFdmVudEhhbmRsZXIsIHsgY2hlY2tGb3JEZWZhdWx0UHJldmVudGVkID0gdHJ1ZSB9ID0ge30pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGhhbmRsZUV2ZW50KGV2ZW50KSB7XG4gICAgb3JpZ2luYWxFdmVudEhhbmRsZXI/LihldmVudCk7XG4gICAgaWYgKGNoZWNrRm9yRGVmYXVsdFByZXZlbnRlZCA9PT0gZmFsc2UgfHwgIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgIHJldHVybiBvdXJFdmVudEhhbmRsZXI/LihldmVudCk7XG4gICAgfVxuICB9O1xufVxuZXhwb3J0IHtcbiAgY29tcG9zZUV2ZW50SGFuZGxlcnNcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCIvLyBwYWNrYWdlcy9yZWFjdC91c2UtbGF5b3V0LWVmZmVjdC9zcmMvdXNlTGF5b3V0RWZmZWN0LnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG52YXIgdXNlTGF5b3V0RWZmZWN0MiA9IEJvb2xlYW4oZ2xvYmFsVGhpcz8uZG9jdW1lbnQpID8gUmVhY3QudXNlTGF5b3V0RWZmZWN0IDogKCkgPT4ge1xufTtcbmV4cG9ydCB7XG4gIHVzZUxheW91dEVmZmVjdDIgYXMgdXNlTGF5b3V0RWZmZWN0XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiLy8gcGFja2FnZXMvcmVhY3QvaWQvc3JjL2lkLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0XCI7XG52YXIgdXNlUmVhY3RJZCA9IFJlYWN0W1widXNlSWRcIi50b1N0cmluZygpXSB8fCAoKCkgPT4gdm9pZCAwKTtcbnZhciBjb3VudCA9IDA7XG5mdW5jdGlvbiB1c2VJZChkZXRlcm1pbmlzdGljSWQpIHtcbiAgY29uc3QgW2lkLCBzZXRJZF0gPSBSZWFjdC51c2VTdGF0ZSh1c2VSZWFjdElkKCkpO1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZGV0ZXJtaW5pc3RpY0lkKSBzZXRJZCgocmVhY3RJZCkgPT4gcmVhY3RJZCA/PyBTdHJpbmcoY291bnQrKykpO1xuICB9LCBbZGV0ZXJtaW5pc3RpY0lkXSk7XG4gIHJldHVybiBkZXRlcm1pbmlzdGljSWQgfHwgKGlkID8gYHJhZGl4LSR7aWR9YCA6IFwiXCIpO1xufVxuZXhwb3J0IHtcbiAgdXNlSWRcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCIvLyBwYWNrYWdlcy9yZWFjdC91c2UtY2FsbGJhY2stcmVmL3NyYy91c2VDYWxsYmFja1JlZi50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuZnVuY3Rpb24gdXNlQ2FsbGJhY2tSZWYoY2FsbGJhY2spIHtcbiAgY29uc3QgY2FsbGJhY2tSZWYgPSBSZWFjdC51c2VSZWYoY2FsbGJhY2spO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNhbGxiYWNrUmVmLmN1cnJlbnQgPSBjYWxsYmFjaztcbiAgfSk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+ICguLi5hcmdzKSA9PiBjYWxsYmFja1JlZi5jdXJyZW50Py4oLi4uYXJncyksIFtdKTtcbn1cbmV4cG9ydCB7XG4gIHVzZUNhbGxiYWNrUmVmXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiLy8gcGFja2FnZXMvcmVhY3QvdXNlLWNvbnRyb2xsYWJsZS1zdGF0ZS9zcmMvdXNlQ29udHJvbGxhYmxlU3RhdGUudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrUmVmIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtY2FsbGJhY2stcmVmXCI7XG5mdW5jdGlvbiB1c2VDb250cm9sbGFibGVTdGF0ZSh7XG4gIHByb3AsXG4gIGRlZmF1bHRQcm9wLFxuICBvbkNoYW5nZSA9ICgpID0+IHtcbiAgfVxufSkge1xuICBjb25zdCBbdW5jb250cm9sbGVkUHJvcCwgc2V0VW5jb250cm9sbGVkUHJvcF0gPSB1c2VVbmNvbnRyb2xsZWRTdGF0ZSh7IGRlZmF1bHRQcm9wLCBvbkNoYW5nZSB9KTtcbiAgY29uc3QgaXNDb250cm9sbGVkID0gcHJvcCAhPT0gdm9pZCAwO1xuICBjb25zdCB2YWx1ZSA9IGlzQ29udHJvbGxlZCA/IHByb3AgOiB1bmNvbnRyb2xsZWRQcm9wO1xuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VDYWxsYmFja1JlZihvbkNoYW5nZSk7XG4gIGNvbnN0IHNldFZhbHVlID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgKG5leHRWYWx1ZSkgPT4ge1xuICAgICAgaWYgKGlzQ29udHJvbGxlZCkge1xuICAgICAgICBjb25zdCBzZXR0ZXIgPSBuZXh0VmFsdWU7XG4gICAgICAgIGNvbnN0IHZhbHVlMiA9IHR5cGVvZiBuZXh0VmFsdWUgPT09IFwiZnVuY3Rpb25cIiA/IHNldHRlcihwcm9wKSA6IG5leHRWYWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlMiAhPT0gcHJvcCkgaGFuZGxlQ2hhbmdlKHZhbHVlMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRVbmNvbnRyb2xsZWRQcm9wKG5leHRWYWx1ZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbaXNDb250cm9sbGVkLCBwcm9wLCBzZXRVbmNvbnRyb2xsZWRQcm9wLCBoYW5kbGVDaGFuZ2VdXG4gICk7XG4gIHJldHVybiBbdmFsdWUsIHNldFZhbHVlXTtcbn1cbmZ1bmN0aW9uIHVzZVVuY29udHJvbGxlZFN0YXRlKHtcbiAgZGVmYXVsdFByb3AsXG4gIG9uQ2hhbmdlXG59KSB7XG4gIGNvbnN0IHVuY29udHJvbGxlZFN0YXRlID0gUmVhY3QudXNlU3RhdGUoZGVmYXVsdFByb3ApO1xuICBjb25zdCBbdmFsdWVdID0gdW5jb250cm9sbGVkU3RhdGU7XG4gIGNvbnN0IHByZXZWYWx1ZVJlZiA9IFJlYWN0LnVzZVJlZih2YWx1ZSk7XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrUmVmKG9uQ2hhbmdlKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJldlZhbHVlUmVmLmN1cnJlbnQgIT09IHZhbHVlKSB7XG4gICAgICBoYW5kbGVDaGFuZ2UodmFsdWUpO1xuICAgICAgcHJldlZhbHVlUmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICB9XG4gIH0sIFt2YWx1ZSwgcHJldlZhbHVlUmVmLCBoYW5kbGVDaGFuZ2VdKTtcbiAgcmV0dXJuIHVuY29udHJvbGxlZFN0YXRlO1xufVxuZXhwb3J0IHtcbiAgdXNlQ29udHJvbGxhYmxlU3RhdGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCIvLyBwYWNrYWdlcy9yZWFjdC9zbG90L3NyYy9zbG90LnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjb21wb3NlUmVmcyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzXCI7XG5pbXBvcnQgeyBGcmFnbWVudCBhcyBGcmFnbWVudDIsIGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIFNsb3QgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnNsb3RQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IGNoaWxkcmVuQXJyYXkgPSBSZWFjdC5DaGlsZHJlbi50b0FycmF5KGNoaWxkcmVuKTtcbiAgY29uc3Qgc2xvdHRhYmxlID0gY2hpbGRyZW5BcnJheS5maW5kKGlzU2xvdHRhYmxlKTtcbiAgaWYgKHNsb3R0YWJsZSkge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBzbG90dGFibGUucHJvcHMuY2hpbGRyZW47XG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBjaGlsZHJlbkFycmF5Lm1hcCgoY2hpbGQpID0+IHtcbiAgICAgIGlmIChjaGlsZCA9PT0gc2xvdHRhYmxlKSB7XG4gICAgICAgIGlmIChSZWFjdC5DaGlsZHJlbi5jb3VudChuZXdFbGVtZW50KSA+IDEpIHJldHVybiBSZWFjdC5DaGlsZHJlbi5vbmx5KG51bGwpO1xuICAgICAgICByZXR1cm4gUmVhY3QuaXNWYWxpZEVsZW1lbnQobmV3RWxlbWVudCkgPyBuZXdFbGVtZW50LnByb3BzLmNoaWxkcmVuIDogbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTbG90Q2xvbmUsIHsgLi4uc2xvdFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiwgY2hpbGRyZW46IFJlYWN0LmlzVmFsaWRFbGVtZW50KG5ld0VsZW1lbnQpID8gUmVhY3QuY2xvbmVFbGVtZW50KG5ld0VsZW1lbnQsIHZvaWQgMCwgbmV3Q2hpbGRyZW4pIDogbnVsbCB9KTtcbiAgfVxuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTbG90Q2xvbmUsIHsgLi4uc2xvdFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiwgY2hpbGRyZW4gfSk7XG59KTtcblNsb3QuZGlzcGxheU5hbWUgPSBcIlNsb3RcIjtcbnZhciBTbG90Q2xvbmUgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIC4uLnNsb3RQcm9wcyB9ID0gcHJvcHM7XG4gIGlmIChSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpIHtcbiAgICBjb25zdCBjaGlsZHJlblJlZiA9IGdldEVsZW1lbnRSZWYoY2hpbGRyZW4pO1xuICAgIGNvbnN0IHByb3BzMiA9IG1lcmdlUHJvcHMoc2xvdFByb3BzLCBjaGlsZHJlbi5wcm9wcyk7XG4gICAgaWYgKGNoaWxkcmVuLnR5cGUgIT09IFJlYWN0LkZyYWdtZW50KSB7XG4gICAgICBwcm9wczIucmVmID0gZm9yd2FyZGVkUmVmID8gY29tcG9zZVJlZnMoZm9yd2FyZGVkUmVmLCBjaGlsZHJlblJlZikgOiBjaGlsZHJlblJlZjtcbiAgICB9XG4gICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChjaGlsZHJlbiwgcHJvcHMyKTtcbiAgfVxuICByZXR1cm4gUmVhY3QuQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pID4gMSA/IFJlYWN0LkNoaWxkcmVuLm9ubHkobnVsbCkgOiBudWxsO1xufSk7XG5TbG90Q2xvbmUuZGlzcGxheU5hbWUgPSBcIlNsb3RDbG9uZVwiO1xudmFyIFNsb3R0YWJsZSA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goRnJhZ21lbnQyLCB7IGNoaWxkcmVuIH0pO1xufTtcbmZ1bmN0aW9uIGlzU2xvdHRhYmxlKGNoaWxkKSB7XG4gIHJldHVybiBSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkgJiYgY2hpbGQudHlwZSA9PT0gU2xvdHRhYmxlO1xufVxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzbG90UHJvcHMsIGNoaWxkUHJvcHMpIHtcbiAgY29uc3Qgb3ZlcnJpZGVQcm9wcyA9IHsgLi4uY2hpbGRQcm9wcyB9O1xuICBmb3IgKGNvbnN0IHByb3BOYW1lIGluIGNoaWxkUHJvcHMpIHtcbiAgICBjb25zdCBzbG90UHJvcFZhbHVlID0gc2xvdFByb3BzW3Byb3BOYW1lXTtcbiAgICBjb25zdCBjaGlsZFByb3BWYWx1ZSA9IGNoaWxkUHJvcHNbcHJvcE5hbWVdO1xuICAgIGNvbnN0IGlzSGFuZGxlciA9IC9eb25bQS1aXS8udGVzdChwcm9wTmFtZSk7XG4gICAgaWYgKGlzSGFuZGxlcikge1xuICAgICAgaWYgKHNsb3RQcm9wVmFsdWUgJiYgY2hpbGRQcm9wVmFsdWUpIHtcbiAgICAgICAgb3ZlcnJpZGVQcm9wc1twcm9wTmFtZV0gPSAoLi4uYXJncykgPT4ge1xuICAgICAgICAgIGNoaWxkUHJvcFZhbHVlKC4uLmFyZ3MpO1xuICAgICAgICAgIHNsb3RQcm9wVmFsdWUoLi4uYXJncyk7XG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKHNsb3RQcm9wVmFsdWUpIHtcbiAgICAgICAgb3ZlcnJpZGVQcm9wc1twcm9wTmFtZV0gPSBzbG90UHJvcFZhbHVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcE5hbWUgPT09IFwic3R5bGVcIikge1xuICAgICAgb3ZlcnJpZGVQcm9wc1twcm9wTmFtZV0gPSB7IC4uLnNsb3RQcm9wVmFsdWUsIC4uLmNoaWxkUHJvcFZhbHVlIH07XG4gICAgfSBlbHNlIGlmIChwcm9wTmFtZSA9PT0gXCJjbGFzc05hbWVcIikge1xuICAgICAgb3ZlcnJpZGVQcm9wc1twcm9wTmFtZV0gPSBbc2xvdFByb3BWYWx1ZSwgY2hpbGRQcm9wVmFsdWVdLmZpbHRlcihCb29sZWFuKS5qb2luKFwiIFwiKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHsgLi4uc2xvdFByb3BzLCAuLi5vdmVycmlkZVByb3BzIH07XG59XG5mdW5jdGlvbiBnZXRFbGVtZW50UmVmKGVsZW1lbnQpIHtcbiAgbGV0IGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZWxlbWVudC5wcm9wcywgXCJyZWZcIik/LmdldDtcbiAgbGV0IG1heVdhcm4gPSBnZXR0ZXIgJiYgXCJpc1JlYWN0V2FybmluZ1wiIGluIGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmc7XG4gIGlmIChtYXlXYXJuKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQucmVmO1xuICB9XG4gIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZWxlbWVudCwgXCJyZWZcIik/LmdldDtcbiAgbWF5V2FybiA9IGdldHRlciAmJiBcImlzUmVhY3RXYXJuaW5nXCIgaW4gZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZztcbiAgaWYgKG1heVdhcm4pIHtcbiAgICByZXR1cm4gZWxlbWVudC5wcm9wcy5yZWY7XG4gIH1cbiAgcmV0dXJuIGVsZW1lbnQucHJvcHMucmVmIHx8IGVsZW1lbnQucmVmO1xufVxudmFyIFJvb3QgPSBTbG90O1xuZXhwb3J0IHtcbiAgUm9vdCxcbiAgU2xvdCxcbiAgU2xvdHRhYmxlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiLy8gcGFja2FnZXMvcmVhY3QvcHJpbWl0aXZlL3NyYy9wcmltaXRpdmUudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCAqIGFzIFJlYWN0RE9NIGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIE5PREVTID0gW1xuICBcImFcIixcbiAgXCJidXR0b25cIixcbiAgXCJkaXZcIixcbiAgXCJmb3JtXCIsXG4gIFwiaDJcIixcbiAgXCJoM1wiLFxuICBcImltZ1wiLFxuICBcImlucHV0XCIsXG4gIFwibGFiZWxcIixcbiAgXCJsaVwiLFxuICBcIm5hdlwiLFxuICBcIm9sXCIsXG4gIFwicFwiLFxuICBcInNwYW5cIixcbiAgXCJzdmdcIixcbiAgXCJ1bFwiXG5dO1xudmFyIFByaW1pdGl2ZSA9IE5PREVTLnJlZHVjZSgocHJpbWl0aXZlLCBub2RlKSA9PiB7XG4gIGNvbnN0IE5vZGUgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBhc0NoaWxkLCAuLi5wcmltaXRpdmVQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgQ29tcCA9IGFzQ2hpbGQgPyBTbG90IDogbm9kZTtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93W1N5bWJvbC5mb3IoXCJyYWRpeC11aVwiKV0gPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChDb21wLCB7IC4uLnByaW1pdGl2ZVByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbiAgfSk7XG4gIE5vZGUuZGlzcGxheU5hbWUgPSBgUHJpbWl0aXZlLiR7bm9kZX1gO1xuICByZXR1cm4geyAuLi5wcmltaXRpdmUsIFtub2RlXTogTm9kZSB9O1xufSwge30pO1xuZnVuY3Rpb24gZGlzcGF0Y2hEaXNjcmV0ZUN1c3RvbUV2ZW50KHRhcmdldCwgZXZlbnQpIHtcbiAgaWYgKHRhcmdldCkgUmVhY3RET00uZmx1c2hTeW5jKCgpID0+IHRhcmdldC5kaXNwYXRjaEV2ZW50KGV2ZW50KSk7XG59XG52YXIgUm9vdCA9IFByaW1pdGl2ZTtcbmV4cG9ydCB7XG4gIFByaW1pdGl2ZSxcbiAgUm9vdCxcbiAgZGlzcGF0Y2hEaXNjcmV0ZUN1c3RvbUV2ZW50XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiXCJ1c2UgY2xpZW50XCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L2Rpc21pc3NhYmxlLWxheWVyL3NyYy9kaXNtaXNzYWJsZS1sYXllci50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfSBmcm9tIFwiQHJhZGl4LXVpL3ByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlLCBkaXNwYXRjaERpc2NyZXRlQ3VzdG9tRXZlbnQgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnNcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrUmVmIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtY2FsbGJhY2stcmVmXCI7XG5pbXBvcnQgeyB1c2VFc2NhcGVLZXlkb3duIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtZXNjYXBlLWtleWRvd25cIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIERJU01JU1NBQkxFX0xBWUVSX05BTUUgPSBcIkRpc21pc3NhYmxlTGF5ZXJcIjtcbnZhciBDT05URVhUX1VQREFURSA9IFwiZGlzbWlzc2FibGVMYXllci51cGRhdGVcIjtcbnZhciBQT0lOVEVSX0RPV05fT1VUU0lERSA9IFwiZGlzbWlzc2FibGVMYXllci5wb2ludGVyRG93bk91dHNpZGVcIjtcbnZhciBGT0NVU19PVVRTSURFID0gXCJkaXNtaXNzYWJsZUxheWVyLmZvY3VzT3V0c2lkZVwiO1xudmFyIG9yaWdpbmFsQm9keVBvaW50ZXJFdmVudHM7XG52YXIgRGlzbWlzc2FibGVMYXllckNvbnRleHQgPSBSZWFjdC5jcmVhdGVDb250ZXh0KHtcbiAgbGF5ZXJzOiAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpLFxuICBsYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZDogLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKSxcbiAgYnJhbmNoZXM6IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KClcbn0pO1xudmFyIERpc21pc3NhYmxlTGF5ZXIgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50cyA9IGZhbHNlLFxuICAgICAgb25Fc2NhcGVLZXlEb3duLFxuICAgICAgb25Qb2ludGVyRG93bk91dHNpZGUsXG4gICAgICBvbkZvY3VzT3V0c2lkZSxcbiAgICAgIG9uSW50ZXJhY3RPdXRzaWRlLFxuICAgICAgb25EaXNtaXNzLFxuICAgICAgLi4ubGF5ZXJQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChEaXNtaXNzYWJsZUxheWVyQ29udGV4dCk7XG4gICAgY29uc3QgW25vZGUsIHNldE5vZGVdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgb3duZXJEb2N1bWVudCA9IG5vZGU/Lm93bmVyRG9jdW1lbnQgPz8gZ2xvYmFsVGhpcz8uZG9jdW1lbnQ7XG4gICAgY29uc3QgWywgZm9yY2VdID0gUmVhY3QudXNlU3RhdGUoe30pO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlMikgPT4gc2V0Tm9kZShub2RlMikpO1xuICAgIGNvbnN0IGxheWVycyA9IEFycmF5LmZyb20oY29udGV4dC5sYXllcnMpO1xuICAgIGNvbnN0IFtoaWdoZXN0TGF5ZXJXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZF0gPSBbLi4uY29udGV4dC5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZF0uc2xpY2UoLTEpO1xuICAgIGNvbnN0IGhpZ2hlc3RMYXllcldpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkSW5kZXggPSBsYXllcnMuaW5kZXhPZihoaWdoZXN0TGF5ZXJXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZCk7XG4gICAgY29uc3QgaW5kZXggPSBub2RlID8gbGF5ZXJzLmluZGV4T2Yobm9kZSkgOiAtMTtcbiAgICBjb25zdCBpc0JvZHlQb2ludGVyRXZlbnRzRGlzYWJsZWQgPSBjb250ZXh0LmxheWVyc1dpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkLnNpemUgPiAwO1xuICAgIGNvbnN0IGlzUG9pbnRlckV2ZW50c0VuYWJsZWQgPSBpbmRleCA+PSBoaWdoZXN0TGF5ZXJXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZEluZGV4O1xuICAgIGNvbnN0IHBvaW50ZXJEb3duT3V0c2lkZSA9IHVzZVBvaW50ZXJEb3duT3V0c2lkZSgoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgIGNvbnN0IGlzUG9pbnRlckRvd25PbkJyYW5jaCA9IFsuLi5jb250ZXh0LmJyYW5jaGVzXS5zb21lKChicmFuY2gpID0+IGJyYW5jaC5jb250YWlucyh0YXJnZXQpKTtcbiAgICAgIGlmICghaXNQb2ludGVyRXZlbnRzRW5hYmxlZCB8fCBpc1BvaW50ZXJEb3duT25CcmFuY2gpIHJldHVybjtcbiAgICAgIG9uUG9pbnRlckRvd25PdXRzaWRlPy4oZXZlbnQpO1xuICAgICAgb25JbnRlcmFjdE91dHNpZGU/LihldmVudCk7XG4gICAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIG9uRGlzbWlzcz8uKCk7XG4gICAgfSwgb3duZXJEb2N1bWVudCk7XG4gICAgY29uc3QgZm9jdXNPdXRzaWRlID0gdXNlRm9jdXNPdXRzaWRlKChldmVudCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgY29uc3QgaXNGb2N1c0luQnJhbmNoID0gWy4uLmNvbnRleHQuYnJhbmNoZXNdLnNvbWUoKGJyYW5jaCkgPT4gYnJhbmNoLmNvbnRhaW5zKHRhcmdldCkpO1xuICAgICAgaWYgKGlzRm9jdXNJbkJyYW5jaCkgcmV0dXJuO1xuICAgICAgb25Gb2N1c091dHNpZGU/LihldmVudCk7XG4gICAgICBvbkludGVyYWN0T3V0c2lkZT8uKGV2ZW50KTtcbiAgICAgIGlmICghZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgb25EaXNtaXNzPy4oKTtcbiAgICB9LCBvd25lckRvY3VtZW50KTtcbiAgICB1c2VFc2NhcGVLZXlkb3duKChldmVudCkgPT4ge1xuICAgICAgY29uc3QgaXNIaWdoZXN0TGF5ZXIgPSBpbmRleCA9PT0gY29udGV4dC5sYXllcnMuc2l6ZSAtIDE7XG4gICAgICBpZiAoIWlzSGlnaGVzdExheWVyKSByZXR1cm47XG4gICAgICBvbkVzY2FwZUtleURvd24/LihldmVudCk7XG4gICAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQgJiYgb25EaXNtaXNzKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uRGlzbWlzcygpO1xuICAgICAgfVxuICAgIH0sIG93bmVyRG9jdW1lbnQpO1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIW5vZGUpIHJldHVybjtcbiAgICAgIGlmIChkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHMpIHtcbiAgICAgICAgaWYgKGNvbnRleHQubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuc2l6ZSA9PT0gMCkge1xuICAgICAgICAgIG9yaWdpbmFsQm9keVBvaW50ZXJFdmVudHMgPSBvd25lckRvY3VtZW50LmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cztcbiAgICAgICAgICBvd25lckRvY3VtZW50LmJvZHkuc3R5bGUucG9pbnRlckV2ZW50cyA9IFwibm9uZVwiO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQubGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQuYWRkKG5vZGUpO1xuICAgICAgfVxuICAgICAgY29udGV4dC5sYXllcnMuYWRkKG5vZGUpO1xuICAgICAgZGlzcGF0Y2hVcGRhdGUoKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHMgJiYgY29udGV4dC5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5zaXplID09PSAxKSB7XG4gICAgICAgICAgb3duZXJEb2N1bWVudC5ib2R5LnN0eWxlLnBvaW50ZXJFdmVudHMgPSBvcmlnaW5hbEJvZHlQb2ludGVyRXZlbnRzO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtub2RlLCBvd25lckRvY3VtZW50LCBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHMsIGNvbnRleHRdKTtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaWYgKCFub2RlKSByZXR1cm47XG4gICAgICAgIGNvbnRleHQubGF5ZXJzLmRlbGV0ZShub2RlKTtcbiAgICAgICAgY29udGV4dC5sYXllcnNXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZC5kZWxldGUobm9kZSk7XG4gICAgICAgIGRpc3BhdGNoVXBkYXRlKCk7XG4gICAgICB9O1xuICAgIH0sIFtub2RlLCBjb250ZXh0XSk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZVVwZGF0ZSA9ICgpID0+IGZvcmNlKHt9KTtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoQ09OVEVYVF9VUERBVEUsIGhhbmRsZVVwZGF0ZSk7XG4gICAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihDT05URVhUX1VQREFURSwgaGFuZGxlVXBkYXRlKTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBQcmltaXRpdmUuZGl2LFxuICAgICAge1xuICAgICAgICAuLi5sYXllclByb3BzLFxuICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICBwb2ludGVyRXZlbnRzOiBpc0JvZHlQb2ludGVyRXZlbnRzRGlzYWJsZWQgPyBpc1BvaW50ZXJFdmVudHNFbmFibGVkID8gXCJhdXRvXCIgOiBcIm5vbmVcIiA6IHZvaWQgMCxcbiAgICAgICAgICAuLi5wcm9wcy5zdHlsZVxuICAgICAgICB9LFxuICAgICAgICBvbkZvY3VzQ2FwdHVyZTogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Gb2N1c0NhcHR1cmUsIGZvY3VzT3V0c2lkZS5vbkZvY3VzQ2FwdHVyZSksXG4gICAgICAgIG9uQmx1ckNhcHR1cmU6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQmx1ckNhcHR1cmUsIGZvY3VzT3V0c2lkZS5vbkJsdXJDYXB0dXJlKSxcbiAgICAgICAgb25Qb2ludGVyRG93bkNhcHR1cmU6IGNvbXBvc2VFdmVudEhhbmRsZXJzKFxuICAgICAgICAgIHByb3BzLm9uUG9pbnRlckRvd25DYXB0dXJlLFxuICAgICAgICAgIHBvaW50ZXJEb3duT3V0c2lkZS5vblBvaW50ZXJEb3duQ2FwdHVyZVxuICAgICAgICApXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbkRpc21pc3NhYmxlTGF5ZXIuZGlzcGxheU5hbWUgPSBESVNNSVNTQUJMRV9MQVlFUl9OQU1FO1xudmFyIEJSQU5DSF9OQU1FID0gXCJEaXNtaXNzYWJsZUxheWVyQnJhbmNoXCI7XG52YXIgRGlzbWlzc2FibGVMYXllckJyYW5jaCA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRGlzbWlzc2FibGVMYXllckNvbnRleHQpO1xuICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIHJlZik7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IHJlZi5jdXJyZW50O1xuICAgIGlmIChub2RlKSB7XG4gICAgICBjb250ZXh0LmJyYW5jaGVzLmFkZChub2RlKTtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNvbnRleHQuYnJhbmNoZXMuZGVsZXRlKG5vZGUpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFtjb250ZXh0LmJyYW5jaGVzXSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFByaW1pdGl2ZS5kaXYsIHsgLi4ucHJvcHMsIHJlZjogY29tcG9zZWRSZWZzIH0pO1xufSk7XG5EaXNtaXNzYWJsZUxheWVyQnJhbmNoLmRpc3BsYXlOYW1lID0gQlJBTkNIX05BTUU7XG5mdW5jdGlvbiB1c2VQb2ludGVyRG93bk91dHNpZGUob25Qb2ludGVyRG93bk91dHNpZGUsIG93bmVyRG9jdW1lbnQgPSBnbG9iYWxUaGlzPy5kb2N1bWVudCkge1xuICBjb25zdCBoYW5kbGVQb2ludGVyRG93bk91dHNpZGUgPSB1c2VDYWxsYmFja1JlZihvblBvaW50ZXJEb3duT3V0c2lkZSk7XG4gIGNvbnN0IGlzUG9pbnRlckluc2lkZVJlYWN0VHJlZVJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IGhhbmRsZUNsaWNrUmVmID0gUmVhY3QudXNlUmVmKCgpID0+IHtcbiAgfSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlUG9pbnRlckRvd24gPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC50YXJnZXQgJiYgIWlzUG9pbnRlckluc2lkZVJlYWN0VHJlZVJlZi5jdXJyZW50KSB7XG4gICAgICAgIGxldCBoYW5kbGVBbmREaXNwYXRjaFBvaW50ZXJEb3duT3V0c2lkZUV2ZW50MiA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgIGhhbmRsZUFuZERpc3BhdGNoQ3VzdG9tRXZlbnQoXG4gICAgICAgICAgICBQT0lOVEVSX0RPV05fT1VUU0lERSxcbiAgICAgICAgICAgIGhhbmRsZVBvaW50ZXJEb3duT3V0c2lkZSxcbiAgICAgICAgICAgIGV2ZW50RGV0YWlsLFxuICAgICAgICAgICAgeyBkaXNjcmV0ZTogdHJ1ZSB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfTtcbiAgICAgICAgdmFyIGhhbmRsZUFuZERpc3BhdGNoUG9pbnRlckRvd25PdXRzaWRlRXZlbnQgPSBoYW5kbGVBbmREaXNwYXRjaFBvaW50ZXJEb3duT3V0c2lkZUV2ZW50MjtcbiAgICAgICAgY29uc3QgZXZlbnREZXRhaWwgPSB7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50IH07XG4gICAgICAgIGlmIChldmVudC5wb2ludGVyVHlwZSA9PT0gXCJ0b3VjaFwiKSB7XG4gICAgICAgICAgb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlQ2xpY2tSZWYuY3VycmVudCk7XG4gICAgICAgICAgaGFuZGxlQ2xpY2tSZWYuY3VycmVudCA9IGhhbmRsZUFuZERpc3BhdGNoUG9pbnRlckRvd25PdXRzaWRlRXZlbnQyO1xuICAgICAgICAgIG93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIGhhbmRsZUNsaWNrUmVmLmN1cnJlbnQsIHsgb25jZTogdHJ1ZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoYW5kbGVBbmREaXNwYXRjaFBvaW50ZXJEb3duT3V0c2lkZUV2ZW50MigpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvd25lckRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBoYW5kbGVDbGlja1JlZi5jdXJyZW50KTtcbiAgICAgIH1cbiAgICAgIGlzUG9pbnRlckluc2lkZVJlYWN0VHJlZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgfTtcbiAgICBjb25zdCB0aW1lcklkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgb3duZXJEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcmRvd25cIiwgaGFuZGxlUG9pbnRlckRvd24pO1xuICAgIH0sIDApO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVySWQpO1xuICAgICAgb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcmRvd25cIiwgaGFuZGxlUG9pbnRlckRvd24pO1xuICAgICAgb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgaGFuZGxlQ2xpY2tSZWYuY3VycmVudCk7XG4gICAgfTtcbiAgfSwgW293bmVyRG9jdW1lbnQsIGhhbmRsZVBvaW50ZXJEb3duT3V0c2lkZV0pO1xuICByZXR1cm4ge1xuICAgIC8vIGVuc3VyZXMgd2UgY2hlY2sgUmVhY3QgY29tcG9uZW50IHRyZWUgKG5vdCBqdXN0IERPTSB0cmVlKVxuICAgIG9uUG9pbnRlckRvd25DYXB0dXJlOiAoKSA9PiBpc1BvaW50ZXJJbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCA9IHRydWVcbiAgfTtcbn1cbmZ1bmN0aW9uIHVzZUZvY3VzT3V0c2lkZShvbkZvY3VzT3V0c2lkZSwgb3duZXJEb2N1bWVudCA9IGdsb2JhbFRoaXM/LmRvY3VtZW50KSB7XG4gIGNvbnN0IGhhbmRsZUZvY3VzT3V0c2lkZSA9IHVzZUNhbGxiYWNrUmVmKG9uRm9jdXNPdXRzaWRlKTtcbiAgY29uc3QgaXNGb2N1c0luc2lkZVJlYWN0VHJlZVJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlRm9jdXMgPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC50YXJnZXQgJiYgIWlzRm9jdXNJbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCkge1xuICAgICAgICBjb25zdCBldmVudERldGFpbCA9IHsgb3JpZ2luYWxFdmVudDogZXZlbnQgfTtcbiAgICAgICAgaGFuZGxlQW5kRGlzcGF0Y2hDdXN0b21FdmVudChGT0NVU19PVVRTSURFLCBoYW5kbGVGb2N1c091dHNpZGUsIGV2ZW50RGV0YWlsLCB7XG4gICAgICAgICAgZGlzY3JldGU6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgb3duZXJEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNpblwiLCBoYW5kbGVGb2N1cyk7XG4gICAgcmV0dXJuICgpID0+IG93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3VzaW5cIiwgaGFuZGxlRm9jdXMpO1xuICB9LCBbb3duZXJEb2N1bWVudCwgaGFuZGxlRm9jdXNPdXRzaWRlXSk7XG4gIHJldHVybiB7XG4gICAgb25Gb2N1c0NhcHR1cmU6ICgpID0+IGlzRm9jdXNJbnNpZGVSZWFjdFRyZWVSZWYuY3VycmVudCA9IHRydWUsXG4gICAgb25CbHVyQ2FwdHVyZTogKCkgPT4gaXNGb2N1c0luc2lkZVJlYWN0VHJlZVJlZi5jdXJyZW50ID0gZmFsc2VcbiAgfTtcbn1cbmZ1bmN0aW9uIGRpc3BhdGNoVXBkYXRlKCkge1xuICBjb25zdCBldmVudCA9IG5ldyBDdXN0b21FdmVudChDT05URVhUX1VQREFURSk7XG4gIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xufVxuZnVuY3Rpb24gaGFuZGxlQW5kRGlzcGF0Y2hDdXN0b21FdmVudChuYW1lLCBoYW5kbGVyLCBkZXRhaWwsIHsgZGlzY3JldGUgfSkge1xuICBjb25zdCB0YXJnZXQgPSBkZXRhaWwub3JpZ2luYWxFdmVudC50YXJnZXQ7XG4gIGNvbnN0IGV2ZW50ID0gbmV3IEN1c3RvbUV2ZW50KG5hbWUsIHsgYnViYmxlczogZmFsc2UsIGNhbmNlbGFibGU6IHRydWUsIGRldGFpbCB9KTtcbiAgaWYgKGhhbmRsZXIpIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKG5hbWUsIGhhbmRsZXIsIHsgb25jZTogdHJ1ZSB9KTtcbiAgaWYgKGRpc2NyZXRlKSB7XG4gICAgZGlzcGF0Y2hEaXNjcmV0ZUN1c3RvbUV2ZW50KHRhcmdldCwgZXZlbnQpO1xuICB9IGVsc2Uge1xuICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgfVxufVxudmFyIFJvb3QgPSBEaXNtaXNzYWJsZUxheWVyO1xudmFyIEJyYW5jaCA9IERpc21pc3NhYmxlTGF5ZXJCcmFuY2g7XG5leHBvcnQge1xuICBCcmFuY2gsXG4gIERpc21pc3NhYmxlTGF5ZXIsXG4gIERpc21pc3NhYmxlTGF5ZXJCcmFuY2gsXG4gIFJvb3Rcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCIvLyBwYWNrYWdlcy9yZWFjdC91c2UtZXNjYXBlLWtleWRvd24vc3JjL3VzZUVzY2FwZUtleWRvd24udHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrUmVmIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtY2FsbGJhY2stcmVmXCI7XG5mdW5jdGlvbiB1c2VFc2NhcGVLZXlkb3duKG9uRXNjYXBlS2V5RG93blByb3AsIG93bmVyRG9jdW1lbnQgPSBnbG9iYWxUaGlzPy5kb2N1bWVudCkge1xuICBjb25zdCBvbkVzY2FwZUtleURvd24gPSB1c2VDYWxsYmFja1JlZihvbkVzY2FwZUtleURvd25Qcm9wKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiKSB7XG4gICAgICAgIG9uRXNjYXBlS2V5RG93bihldmVudCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBvd25lckRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZUtleURvd24sIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICByZXR1cm4gKCkgPT4gb3duZXJEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVLZXlEb3duLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gIH0sIFtvbkVzY2FwZUtleURvd24sIG93bmVyRG9jdW1lbnRdKTtcbn1cbmV4cG9ydCB7XG4gIHVzZUVzY2FwZUtleWRvd25cbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvZm9jdXMtc2NvcGUvc3JjL2ZvY3VzLXNjb3BlLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmc1wiO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmltaXRpdmVcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrUmVmIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtY2FsbGJhY2stcmVmXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbnZhciBBVVRPRk9DVVNfT05fTU9VTlQgPSBcImZvY3VzU2NvcGUuYXV0b0ZvY3VzT25Nb3VudFwiO1xudmFyIEFVVE9GT0NVU19PTl9VTk1PVU5UID0gXCJmb2N1c1Njb3BlLmF1dG9Gb2N1c09uVW5tb3VudFwiO1xudmFyIEVWRU5UX09QVElPTlMgPSB7IGJ1YmJsZXM6IGZhbHNlLCBjYW5jZWxhYmxlOiB0cnVlIH07XG52YXIgRk9DVVNfU0NPUEVfTkFNRSA9IFwiRm9jdXNTY29wZVwiO1xudmFyIEZvY3VzU2NvcGUgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBsb29wID0gZmFsc2UsXG4gICAgdHJhcHBlZCA9IGZhbHNlLFxuICAgIG9uTW91bnRBdXRvRm9jdXM6IG9uTW91bnRBdXRvRm9jdXNQcm9wLFxuICAgIG9uVW5tb3VudEF1dG9Gb2N1czogb25Vbm1vdW50QXV0b0ZvY3VzUHJvcCxcbiAgICAuLi5zY29wZVByb3BzXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgW2NvbnRhaW5lciwgc2V0Q29udGFpbmVyXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBvbk1vdW50QXV0b0ZvY3VzID0gdXNlQ2FsbGJhY2tSZWYob25Nb3VudEF1dG9Gb2N1c1Byb3ApO1xuICBjb25zdCBvblVubW91bnRBdXRvRm9jdXMgPSB1c2VDYWxsYmFja1JlZihvblVubW91bnRBdXRvRm9jdXNQcm9wKTtcbiAgY29uc3QgbGFzdEZvY3VzZWRFbGVtZW50UmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCAobm9kZSkgPT4gc2V0Q29udGFpbmVyKG5vZGUpKTtcbiAgY29uc3QgZm9jdXNTY29wZSA9IFJlYWN0LnVzZVJlZih7XG4gICAgcGF1c2VkOiBmYWxzZSxcbiAgICBwYXVzZSgpIHtcbiAgICAgIHRoaXMucGF1c2VkID0gdHJ1ZTtcbiAgICB9LFxuICAgIHJlc3VtZSgpIHtcbiAgICAgIHRoaXMucGF1c2VkID0gZmFsc2U7XG4gICAgfVxuICB9KS5jdXJyZW50O1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0cmFwcGVkKSB7XG4gICAgICBsZXQgaGFuZGxlRm9jdXNJbjIgPSBmdW5jdGlvbihldmVudCkge1xuICAgICAgICBpZiAoZm9jdXNTY29wZS5wYXVzZWQgfHwgIWNvbnRhaW5lcikgcmV0dXJuO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGlmIChjb250YWluZXIuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgIGxhc3RGb2N1c2VkRWxlbWVudFJlZi5jdXJyZW50ID0gdGFyZ2V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZvY3VzKGxhc3RGb2N1c2VkRWxlbWVudFJlZi5jdXJyZW50LCB7IHNlbGVjdDogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSwgaGFuZGxlRm9jdXNPdXQyID0gZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgaWYgKGZvY3VzU2NvcGUucGF1c2VkIHx8ICFjb250YWluZXIpIHJldHVybjtcbiAgICAgICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIGlmIChyZWxhdGVkVGFyZ2V0ID09PSBudWxsKSByZXR1cm47XG4gICAgICAgIGlmICghY29udGFpbmVyLmNvbnRhaW5zKHJlbGF0ZWRUYXJnZXQpKSB7XG4gICAgICAgICAgZm9jdXMobGFzdEZvY3VzZWRFbGVtZW50UmVmLmN1cnJlbnQsIHsgc2VsZWN0OiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICB9LCBoYW5kbGVNdXRhdGlvbnMyID0gZnVuY3Rpb24obXV0YXRpb25zKSB7XG4gICAgICAgIGNvbnN0IGZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICAgICAgaWYgKGZvY3VzZWRFbGVtZW50ICE9PSBkb2N1bWVudC5ib2R5KSByZXR1cm47XG4gICAgICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zKSB7XG4gICAgICAgICAgaWYgKG11dGF0aW9uLnJlbW92ZWROb2Rlcy5sZW5ndGggPiAwKSBmb2N1cyhjb250YWluZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgdmFyIGhhbmRsZUZvY3VzSW4gPSBoYW5kbGVGb2N1c0luMiwgaGFuZGxlRm9jdXNPdXQgPSBoYW5kbGVGb2N1c091dDIsIGhhbmRsZU11dGF0aW9ucyA9IGhhbmRsZU11dGF0aW9uczI7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNpblwiLCBoYW5kbGVGb2N1c0luMik7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlRm9jdXNPdXQyKTtcbiAgICAgIGNvbnN0IG11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihoYW5kbGVNdXRhdGlvbnMyKTtcbiAgICAgIGlmIChjb250YWluZXIpIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZShjb250YWluZXIsIHsgY2hpbGRMaXN0OiB0cnVlLCBzdWJ0cmVlOiB0cnVlIH0pO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3VzaW5cIiwgaGFuZGxlRm9jdXNJbjIpO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlRm9jdXNPdXQyKTtcbiAgICAgICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9O1xuICAgIH1cbiAgfSwgW3RyYXBwZWQsIGNvbnRhaW5lciwgZm9jdXNTY29wZS5wYXVzZWRdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICBmb2N1c1Njb3Blc1N0YWNrLmFkZChmb2N1c1Njb3BlKTtcbiAgICAgIGNvbnN0IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCBoYXNGb2N1c2VkQ2FuZGlkYXRlID0gY29udGFpbmVyLmNvbnRhaW5zKHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCk7XG4gICAgICBpZiAoIWhhc0ZvY3VzZWRDYW5kaWRhdGUpIHtcbiAgICAgICAgY29uc3QgbW91bnRFdmVudCA9IG5ldyBDdXN0b21FdmVudChBVVRPRk9DVVNfT05fTU9VTlQsIEVWRU5UX09QVElPTlMpO1xuICAgICAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcihBVVRPRk9DVVNfT05fTU9VTlQsIG9uTW91bnRBdXRvRm9jdXMpO1xuICAgICAgICBjb250YWluZXIuZGlzcGF0Y2hFdmVudChtb3VudEV2ZW50KTtcbiAgICAgICAgaWYgKCFtb3VudEV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICBmb2N1c0ZpcnN0KHJlbW92ZUxpbmtzKGdldFRhYmJhYmxlQ2FuZGlkYXRlcyhjb250YWluZXIpKSwgeyBzZWxlY3Q6IHRydWUgfSk7XG4gICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCkge1xuICAgICAgICAgICAgZm9jdXMoY29udGFpbmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKEFVVE9GT0NVU19PTl9NT1VOVCwgb25Nb3VudEF1dG9Gb2N1cyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVubW91bnRFdmVudCA9IG5ldyBDdXN0b21FdmVudChBVVRPRk9DVVNfT05fVU5NT1VOVCwgRVZFTlRfT1BUSU9OUyk7XG4gICAgICAgICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoQVVUT0ZPQ1VTX09OX1VOTU9VTlQsIG9uVW5tb3VudEF1dG9Gb2N1cyk7XG4gICAgICAgICAgY29udGFpbmVyLmRpc3BhdGNoRXZlbnQodW5tb3VudEV2ZW50KTtcbiAgICAgICAgICBpZiAoIXVubW91bnRFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICBmb2N1cyhwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQgPz8gZG9jdW1lbnQuYm9keSwgeyBzZWxlY3Q6IHRydWUgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKEFVVE9GT0NVU19PTl9VTk1PVU5ULCBvblVubW91bnRBdXRvRm9jdXMpO1xuICAgICAgICAgIGZvY3VzU2NvcGVzU3RhY2sucmVtb3ZlKGZvY3VzU2NvcGUpO1xuICAgICAgICB9LCAwKTtcbiAgICAgIH07XG4gICAgfVxuICB9LCBbY29udGFpbmVyLCBvbk1vdW50QXV0b0ZvY3VzLCBvblVubW91bnRBdXRvRm9jdXMsIGZvY3VzU2NvcGVdKTtcbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgaWYgKCFsb29wICYmICF0cmFwcGVkKSByZXR1cm47XG4gICAgICBpZiAoZm9jdXNTY29wZS5wYXVzZWQpIHJldHVybjtcbiAgICAgIGNvbnN0IGlzVGFiS2V5ID0gZXZlbnQua2V5ID09PSBcIlRhYlwiICYmICFldmVudC5hbHRLZXkgJiYgIWV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50Lm1ldGFLZXk7XG4gICAgICBjb25zdCBmb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICBpZiAoaXNUYWJLZXkgJiYgZm9jdXNlZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyMiA9IGV2ZW50LmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IFtmaXJzdCwgbGFzdF0gPSBnZXRUYWJiYWJsZUVkZ2VzKGNvbnRhaW5lcjIpO1xuICAgICAgICBjb25zdCBoYXNUYWJiYWJsZUVsZW1lbnRzSW5zaWRlID0gZmlyc3QgJiYgbGFzdDtcbiAgICAgICAgaWYgKCFoYXNUYWJiYWJsZUVsZW1lbnRzSW5zaWRlKSB7XG4gICAgICAgICAgaWYgKGZvY3VzZWRFbGVtZW50ID09PSBjb250YWluZXIyKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkgJiYgZm9jdXNlZEVsZW1lbnQgPT09IGxhc3QpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAobG9vcCkgZm9jdXMoZmlyc3QsIHsgc2VsZWN0OiB0cnVlIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgZm9jdXNlZEVsZW1lbnQgPT09IGZpcnN0KSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKGxvb3ApIGZvY3VzKGxhc3QsIHsgc2VsZWN0OiB0cnVlIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2xvb3AsIHRyYXBwZWQsIGZvY3VzU2NvcGUucGF1c2VkXVxuICApO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQcmltaXRpdmUuZGl2LCB7IHRhYkluZGV4OiAtMSwgLi4uc2NvcGVQcm9wcywgcmVmOiBjb21wb3NlZFJlZnMsIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biB9KTtcbn0pO1xuRm9jdXNTY29wZS5kaXNwbGF5TmFtZSA9IEZPQ1VTX1NDT1BFX05BTUU7XG5mdW5jdGlvbiBmb2N1c0ZpcnN0KGNhbmRpZGF0ZXMsIHsgc2VsZWN0ID0gZmFsc2UgfSA9IHt9KSB7XG4gIGNvbnN0IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICBmb2N1cyhjYW5kaWRhdGUsIHsgc2VsZWN0IH0pO1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBwcmV2aW91c2x5Rm9jdXNlZEVsZW1lbnQpIHJldHVybjtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0VGFiYmFibGVFZGdlcyhjb250YWluZXIpIHtcbiAgY29uc3QgY2FuZGlkYXRlcyA9IGdldFRhYmJhYmxlQ2FuZGlkYXRlcyhjb250YWluZXIpO1xuICBjb25zdCBmaXJzdCA9IGZpbmRWaXNpYmxlKGNhbmRpZGF0ZXMsIGNvbnRhaW5lcik7XG4gIGNvbnN0IGxhc3QgPSBmaW5kVmlzaWJsZShjYW5kaWRhdGVzLnJldmVyc2UoKSwgY29udGFpbmVyKTtcbiAgcmV0dXJuIFtmaXJzdCwgbGFzdF07XG59XG5mdW5jdGlvbiBnZXRUYWJiYWJsZUNhbmRpZGF0ZXMoY29udGFpbmVyKSB7XG4gIGNvbnN0IG5vZGVzID0gW107XG4gIGNvbnN0IHdhbGtlciA9IGRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoY29udGFpbmVyLCBOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCwge1xuICAgIGFjY2VwdE5vZGU6IChub2RlKSA9PiB7XG4gICAgICBjb25zdCBpc0hpZGRlbklucHV0ID0gbm9kZS50YWdOYW1lID09PSBcIklOUFVUXCIgJiYgbm9kZS50eXBlID09PSBcImhpZGRlblwiO1xuICAgICAgaWYgKG5vZGUuZGlzYWJsZWQgfHwgbm9kZS5oaWRkZW4gfHwgaXNIaWRkZW5JbnB1dCkgcmV0dXJuIE5vZGVGaWx0ZXIuRklMVEVSX1NLSVA7XG4gICAgICByZXR1cm4gbm9kZS50YWJJbmRleCA+PSAwID8gTm9kZUZpbHRlci5GSUxURVJfQUNDRVBUIDogTm9kZUZpbHRlci5GSUxURVJfU0tJUDtcbiAgICB9XG4gIH0pO1xuICB3aGlsZSAod2Fsa2VyLm5leHROb2RlKCkpIG5vZGVzLnB1c2god2Fsa2VyLmN1cnJlbnROb2RlKTtcbiAgcmV0dXJuIG5vZGVzO1xufVxuZnVuY3Rpb24gZmluZFZpc2libGUoZWxlbWVudHMsIGNvbnRhaW5lcikge1xuICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgZWxlbWVudHMpIHtcbiAgICBpZiAoIWlzSGlkZGVuKGVsZW1lbnQsIHsgdXBUbzogY29udGFpbmVyIH0pKSByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuZnVuY3Rpb24gaXNIaWRkZW4obm9kZSwgeyB1cFRvIH0pIHtcbiAgaWYgKGdldENvbXB1dGVkU3R5bGUobm9kZSkudmlzaWJpbGl0eSA9PT0gXCJoaWRkZW5cIikgcmV0dXJuIHRydWU7XG4gIHdoaWxlIChub2RlKSB7XG4gICAgaWYgKHVwVG8gIT09IHZvaWQgMCAmJiBub2RlID09PSB1cFRvKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGdldENvbXB1dGVkU3R5bGUobm9kZSkuZGlzcGxheSA9PT0gXCJub25lXCIpIHJldHVybiB0cnVlO1xuICAgIG5vZGUgPSBub2RlLnBhcmVudEVsZW1lbnQ7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gaXNTZWxlY3RhYmxlSW5wdXQoZWxlbWVudCkge1xuICByZXR1cm4gZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgJiYgXCJzZWxlY3RcIiBpbiBlbGVtZW50O1xufVxuZnVuY3Rpb24gZm9jdXMoZWxlbWVudCwgeyBzZWxlY3QgPSBmYWxzZSB9ID0ge30pIHtcbiAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5mb2N1cykge1xuICAgIGNvbnN0IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgZWxlbWVudC5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgaWYgKGVsZW1lbnQgIT09IHByZXZpb3VzbHlGb2N1c2VkRWxlbWVudCAmJiBpc1NlbGVjdGFibGVJbnB1dChlbGVtZW50KSAmJiBzZWxlY3QpXG4gICAgICBlbGVtZW50LnNlbGVjdCgpO1xuICB9XG59XG52YXIgZm9jdXNTY29wZXNTdGFjayA9IGNyZWF0ZUZvY3VzU2NvcGVzU3RhY2soKTtcbmZ1bmN0aW9uIGNyZWF0ZUZvY3VzU2NvcGVzU3RhY2soKSB7XG4gIGxldCBzdGFjayA9IFtdO1xuICByZXR1cm4ge1xuICAgIGFkZChmb2N1c1Njb3BlKSB7XG4gICAgICBjb25zdCBhY3RpdmVGb2N1c1Njb3BlID0gc3RhY2tbMF07XG4gICAgICBpZiAoZm9jdXNTY29wZSAhPT0gYWN0aXZlRm9jdXNTY29wZSkge1xuICAgICAgICBhY3RpdmVGb2N1c1Njb3BlPy5wYXVzZSgpO1xuICAgICAgfVxuICAgICAgc3RhY2sgPSBhcnJheVJlbW92ZShzdGFjaywgZm9jdXNTY29wZSk7XG4gICAgICBzdGFjay51bnNoaWZ0KGZvY3VzU2NvcGUpO1xuICAgIH0sXG4gICAgcmVtb3ZlKGZvY3VzU2NvcGUpIHtcbiAgICAgIHN0YWNrID0gYXJyYXlSZW1vdmUoc3RhY2ssIGZvY3VzU2NvcGUpO1xuICAgICAgc3RhY2tbMF0/LnJlc3VtZSgpO1xuICAgIH1cbiAgfTtcbn1cbmZ1bmN0aW9uIGFycmF5UmVtb3ZlKGFycmF5LCBpdGVtKSB7XG4gIGNvbnN0IHVwZGF0ZWRBcnJheSA9IFsuLi5hcnJheV07XG4gIGNvbnN0IGluZGV4ID0gdXBkYXRlZEFycmF5LmluZGV4T2YoaXRlbSk7XG4gIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICB1cGRhdGVkQXJyYXkuc3BsaWNlKGluZGV4LCAxKTtcbiAgfVxuICByZXR1cm4gdXBkYXRlZEFycmF5O1xufVxuZnVuY3Rpb24gcmVtb3ZlTGlua3MoaXRlbXMpIHtcbiAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS50YWdOYW1lICE9PSBcIkFcIik7XG59XG52YXIgUm9vdCA9IEZvY3VzU2NvcGU7XG5leHBvcnQge1xuICBGb2N1c1Njb3BlLFxuICBSb290XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiXCJ1c2UgY2xpZW50XCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L3BvcnRhbC9zcmMvcG9ydGFsLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmltaXRpdmVcIjtcbmltcG9ydCB7IHVzZUxheW91dEVmZmVjdCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLWxheW91dC1lZmZlY3RcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIFBPUlRBTF9OQU1FID0gXCJQb3J0YWxcIjtcbnZhciBQb3J0YWwgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgY29udGFpbmVyOiBjb250YWluZXJQcm9wLCAuLi5wb3J0YWxQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IFttb3VudGVkLCBzZXRNb3VudGVkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHNldE1vdW50ZWQodHJ1ZSksIFtdKTtcbiAgY29uc3QgY29udGFpbmVyID0gY29udGFpbmVyUHJvcCB8fCBtb3VudGVkICYmIGdsb2JhbFRoaXM/LmRvY3VtZW50Py5ib2R5O1xuICByZXR1cm4gY29udGFpbmVyID8gUmVhY3RET00uY3JlYXRlUG9ydGFsKC8qIEBfX1BVUkVfXyAqLyBqc3goUHJpbWl0aXZlLmRpdiwgeyAuLi5wb3J0YWxQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSksIGNvbnRhaW5lcikgOiBudWxsO1xufSk7XG5Qb3J0YWwuZGlzcGxheU5hbWUgPSBQT1JUQUxfTkFNRTtcbnZhciBSb290ID0gUG9ydGFsO1xuZXhwb3J0IHtcbiAgUG9ydGFsLFxuICBSb290XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiXCJ1c2UgY2xpZW50XCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L3ByZXNlbmNlL3NyYy9QcmVzZW5jZS50c3hcbmltcG9ydCAqIGFzIFJlYWN0MiBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUNvbXBvc2VkUmVmcyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzXCI7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0XCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L3ByZXNlbmNlL3NyYy91c2VTdGF0ZU1hY2hpbmUudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIHVzZVN0YXRlTWFjaGluZShpbml0aWFsU3RhdGUsIG1hY2hpbmUpIHtcbiAgcmV0dXJuIFJlYWN0LnVzZVJlZHVjZXIoKHN0YXRlLCBldmVudCkgPT4ge1xuICAgIGNvbnN0IG5leHRTdGF0ZSA9IG1hY2hpbmVbc3RhdGVdW2V2ZW50XTtcbiAgICByZXR1cm4gbmV4dFN0YXRlID8/IHN0YXRlO1xuICB9LCBpbml0aWFsU3RhdGUpO1xufVxuXG4vLyBwYWNrYWdlcy9yZWFjdC9wcmVzZW5jZS9zcmMvUHJlc2VuY2UudHN4XG52YXIgUHJlc2VuY2UgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBwcmVzZW50LCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gIGNvbnN0IHByZXNlbmNlID0gdXNlUHJlc2VuY2UocHJlc2VudCk7XG4gIGNvbnN0IGNoaWxkID0gdHlwZW9mIGNoaWxkcmVuID09PSBcImZ1bmN0aW9uXCIgPyBjaGlsZHJlbih7IHByZXNlbnQ6IHByZXNlbmNlLmlzUHJlc2VudCB9KSA6IFJlYWN0Mi5DaGlsZHJlbi5vbmx5KGNoaWxkcmVuKTtcbiAgY29uc3QgcmVmID0gdXNlQ29tcG9zZWRSZWZzKHByZXNlbmNlLnJlZiwgZ2V0RWxlbWVudFJlZihjaGlsZCkpO1xuICBjb25zdCBmb3JjZU1vdW50ID0gdHlwZW9mIGNoaWxkcmVuID09PSBcImZ1bmN0aW9uXCI7XG4gIHJldHVybiBmb3JjZU1vdW50IHx8IHByZXNlbmNlLmlzUHJlc2VudCA/IFJlYWN0Mi5jbG9uZUVsZW1lbnQoY2hpbGQsIHsgcmVmIH0pIDogbnVsbDtcbn07XG5QcmVzZW5jZS5kaXNwbGF5TmFtZSA9IFwiUHJlc2VuY2VcIjtcbmZ1bmN0aW9uIHVzZVByZXNlbmNlKHByZXNlbnQpIHtcbiAgY29uc3QgW25vZGUsIHNldE5vZGVdID0gUmVhY3QyLnVzZVN0YXRlKCk7XG4gIGNvbnN0IHN0eWxlc1JlZiA9IFJlYWN0Mi51c2VSZWYoe30pO1xuICBjb25zdCBwcmV2UHJlc2VudFJlZiA9IFJlYWN0Mi51c2VSZWYocHJlc2VudCk7XG4gIGNvbnN0IHByZXZBbmltYXRpb25OYW1lUmVmID0gUmVhY3QyLnVzZVJlZihcIm5vbmVcIik7XG4gIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHByZXNlbnQgPyBcIm1vdW50ZWRcIiA6IFwidW5tb3VudGVkXCI7XG4gIGNvbnN0IFtzdGF0ZSwgc2VuZF0gPSB1c2VTdGF0ZU1hY2hpbmUoaW5pdGlhbFN0YXRlLCB7XG4gICAgbW91bnRlZDoge1xuICAgICAgVU5NT1VOVDogXCJ1bm1vdW50ZWRcIixcbiAgICAgIEFOSU1BVElPTl9PVVQ6IFwidW5tb3VudFN1c3BlbmRlZFwiXG4gICAgfSxcbiAgICB1bm1vdW50U3VzcGVuZGVkOiB7XG4gICAgICBNT1VOVDogXCJtb3VudGVkXCIsXG4gICAgICBBTklNQVRJT05fRU5EOiBcInVubW91bnRlZFwiXG4gICAgfSxcbiAgICB1bm1vdW50ZWQ6IHtcbiAgICAgIE1PVU5UOiBcIm1vdW50ZWRcIlxuICAgIH1cbiAgfSk7XG4gIFJlYWN0Mi51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRBbmltYXRpb25OYW1lID0gZ2V0QW5pbWF0aW9uTmFtZShzdHlsZXNSZWYuY3VycmVudCk7XG4gICAgcHJldkFuaW1hdGlvbk5hbWVSZWYuY3VycmVudCA9IHN0YXRlID09PSBcIm1vdW50ZWRcIiA/IGN1cnJlbnRBbmltYXRpb25OYW1lIDogXCJub25lXCI7XG4gIH0sIFtzdGF0ZV0pO1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHN0eWxlcyA9IHN0eWxlc1JlZi5jdXJyZW50O1xuICAgIGNvbnN0IHdhc1ByZXNlbnQgPSBwcmV2UHJlc2VudFJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGhhc1ByZXNlbnRDaGFuZ2VkID0gd2FzUHJlc2VudCAhPT0gcHJlc2VudDtcbiAgICBpZiAoaGFzUHJlc2VudENoYW5nZWQpIHtcbiAgICAgIGNvbnN0IHByZXZBbmltYXRpb25OYW1lID0gcHJldkFuaW1hdGlvbk5hbWVSZWYuY3VycmVudDtcbiAgICAgIGNvbnN0IGN1cnJlbnRBbmltYXRpb25OYW1lID0gZ2V0QW5pbWF0aW9uTmFtZShzdHlsZXMpO1xuICAgICAgaWYgKHByZXNlbnQpIHtcbiAgICAgICAgc2VuZChcIk1PVU5UXCIpO1xuICAgICAgfSBlbHNlIGlmIChjdXJyZW50QW5pbWF0aW9uTmFtZSA9PT0gXCJub25lXCIgfHwgc3R5bGVzPy5kaXNwbGF5ID09PSBcIm5vbmVcIikge1xuICAgICAgICBzZW5kKFwiVU5NT1VOVFwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGlzQW5pbWF0aW5nID0gcHJldkFuaW1hdGlvbk5hbWUgIT09IGN1cnJlbnRBbmltYXRpb25OYW1lO1xuICAgICAgICBpZiAod2FzUHJlc2VudCAmJiBpc0FuaW1hdGluZykge1xuICAgICAgICAgIHNlbmQoXCJBTklNQVRJT05fT1VUXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlbmQoXCJVTk1PVU5UXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwcmV2UHJlc2VudFJlZi5jdXJyZW50ID0gcHJlc2VudDtcbiAgICB9XG4gIH0sIFtwcmVzZW50LCBzZW5kXSk7XG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIGxldCB0aW1lb3V0SWQ7XG4gICAgICBjb25zdCBvd25lcldpbmRvdyA9IG5vZGUub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyA/PyB3aW5kb3c7XG4gICAgICBjb25zdCBoYW5kbGVBbmltYXRpb25FbmQgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEFuaW1hdGlvbk5hbWUgPSBnZXRBbmltYXRpb25OYW1lKHN0eWxlc1JlZi5jdXJyZW50KTtcbiAgICAgICAgY29uc3QgaXNDdXJyZW50QW5pbWF0aW9uID0gY3VycmVudEFuaW1hdGlvbk5hbWUuaW5jbHVkZXMoZXZlbnQuYW5pbWF0aW9uTmFtZSk7XG4gICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IG5vZGUgJiYgaXNDdXJyZW50QW5pbWF0aW9uKSB7XG4gICAgICAgICAgc2VuZChcIkFOSU1BVElPTl9FTkRcIik7XG4gICAgICAgICAgaWYgKCFwcmV2UHJlc2VudFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RmlsbE1vZGUgPSBub2RlLnN0eWxlLmFuaW1hdGlvbkZpbGxNb2RlO1xuICAgICAgICAgICAgbm9kZS5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9IFwiZm9yd2FyZHNcIjtcbiAgICAgICAgICAgIHRpbWVvdXRJZCA9IG93bmVyV2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAobm9kZS5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9PT0gXCJmb3J3YXJkc1wiKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5zdHlsZS5hbmltYXRpb25GaWxsTW9kZSA9IGN1cnJlbnRGaWxsTW9kZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgY29uc3QgaGFuZGxlQW5pbWF0aW9uU3RhcnQgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gbm9kZSkge1xuICAgICAgICAgIHByZXZBbmltYXRpb25OYW1lUmVmLmN1cnJlbnQgPSBnZXRBbmltYXRpb25OYW1lKHN0eWxlc1JlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIG5vZGUuYWRkRXZlbnRMaXN0ZW5lcihcImFuaW1hdGlvbnN0YXJ0XCIsIGhhbmRsZUFuaW1hdGlvblN0YXJ0KTtcbiAgICAgIG5vZGUuYWRkRXZlbnRMaXN0ZW5lcihcImFuaW1hdGlvbmNhbmNlbFwiLCBoYW5kbGVBbmltYXRpb25FbmQpO1xuICAgICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKFwiYW5pbWF0aW9uZW5kXCIsIGhhbmRsZUFuaW1hdGlvbkVuZCk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBvd25lcldpbmRvdy5jbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgICAgICAgbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKFwiYW5pbWF0aW9uc3RhcnRcIiwgaGFuZGxlQW5pbWF0aW9uU3RhcnQpO1xuICAgICAgICBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJhbmltYXRpb25jYW5jZWxcIiwgaGFuZGxlQW5pbWF0aW9uRW5kKTtcbiAgICAgICAgbm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKFwiYW5pbWF0aW9uZW5kXCIsIGhhbmRsZUFuaW1hdGlvbkVuZCk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBzZW5kKFwiQU5JTUFUSU9OX0VORFwiKTtcbiAgICB9XG4gIH0sIFtub2RlLCBzZW5kXSk7XG4gIHJldHVybiB7XG4gICAgaXNQcmVzZW50OiBbXCJtb3VudGVkXCIsIFwidW5tb3VudFN1c3BlbmRlZFwiXS5pbmNsdWRlcyhzdGF0ZSksXG4gICAgcmVmOiBSZWFjdDIudXNlQ2FsbGJhY2soKG5vZGUyKSA9PiB7XG4gICAgICBpZiAobm9kZTIpIHN0eWxlc1JlZi5jdXJyZW50ID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlMik7XG4gICAgICBzZXROb2RlKG5vZGUyKTtcbiAgICB9LCBbXSlcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldEFuaW1hdGlvbk5hbWUoc3R5bGVzKSB7XG4gIHJldHVybiBzdHlsZXM/LmFuaW1hdGlvbk5hbWUgfHwgXCJub25lXCI7XG59XG5mdW5jdGlvbiBnZXRFbGVtZW50UmVmKGVsZW1lbnQpIHtcbiAgbGV0IGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZWxlbWVudC5wcm9wcywgXCJyZWZcIik/LmdldDtcbiAgbGV0IG1heVdhcm4gPSBnZXR0ZXIgJiYgXCJpc1JlYWN0V2FybmluZ1wiIGluIGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmc7XG4gIGlmIChtYXlXYXJuKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQucmVmO1xuICB9XG4gIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZWxlbWVudCwgXCJyZWZcIik/LmdldDtcbiAgbWF5V2FybiA9IGdldHRlciAmJiBcImlzUmVhY3RXYXJuaW5nXCIgaW4gZ2V0dGVyICYmIGdldHRlci5pc1JlYWN0V2FybmluZztcbiAgaWYgKG1heVdhcm4pIHtcbiAgICByZXR1cm4gZWxlbWVudC5wcm9wcy5yZWY7XG4gIH1cbiAgcmV0dXJuIGVsZW1lbnQucHJvcHMucmVmIHx8IGVsZW1lbnQucmVmO1xufVxuZXhwb3J0IHtcbiAgUHJlc2VuY2Vcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvZm9jdXMtZ3VhcmRzL3NyYy9Gb2N1c0d1YXJkcy50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xudmFyIGNvdW50ID0gMDtcbmZ1bmN0aW9uIEZvY3VzR3VhcmRzKHByb3BzKSB7XG4gIHVzZUZvY3VzR3VhcmRzKCk7XG4gIHJldHVybiBwcm9wcy5jaGlsZHJlbjtcbn1cbmZ1bmN0aW9uIHVzZUZvY3VzR3VhcmRzKCkge1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVkZ2VHdWFyZHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiW2RhdGEtcmFkaXgtZm9jdXMtZ3VhcmRdXCIpO1xuICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KFwiYWZ0ZXJiZWdpblwiLCBlZGdlR3VhcmRzWzBdID8/IGNyZWF0ZUZvY3VzR3VhcmQoKSk7XG4gICAgZG9jdW1lbnQuYm9keS5pbnNlcnRBZGphY2VudEVsZW1lbnQoXCJiZWZvcmVlbmRcIiwgZWRnZUd1YXJkc1sxXSA/PyBjcmVhdGVGb2N1c0d1YXJkKCkpO1xuICAgIGNvdW50Kys7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChjb3VudCA9PT0gMSkge1xuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiW2RhdGEtcmFkaXgtZm9jdXMtZ3VhcmRdXCIpLmZvckVhY2goKG5vZGUpID0+IG5vZGUucmVtb3ZlKCkpO1xuICAgICAgfVxuICAgICAgY291bnQtLTtcbiAgICB9O1xuICB9LCBbXSk7XG59XG5mdW5jdGlvbiBjcmVhdGVGb2N1c0d1YXJkKCkge1xuICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNwYW5cIik7XG4gIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YS1yYWRpeC1mb2N1cy1ndWFyZFwiLCBcIlwiKTtcbiAgZWxlbWVudC50YWJJbmRleCA9IDA7XG4gIGVsZW1lbnQuc3R5bGUub3V0bGluZSA9IFwibm9uZVwiO1xuICBlbGVtZW50LnN0eWxlLm9wYWNpdHkgPSBcIjBcIjtcbiAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9IFwiZml4ZWRcIjtcbiAgZWxlbWVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gXCJub25lXCI7XG4gIHJldHVybiBlbGVtZW50O1xufVxudmFyIFJvb3QgPSBGb2N1c0d1YXJkcztcbmV4cG9ydCB7XG4gIEZvY3VzR3VhcmRzLFxuICBSb290LFxuICB1c2VGb2N1c0d1YXJkc1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxucHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG5SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wsIEl0ZXJhdG9yICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsIHApKSBkW3BdID0gYltwXTsgfTtcclxuICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XHJcbiAgICBpZiAodHlwZW9mIGIgIT09IFwiZnVuY3Rpb25cIiAmJiBiICE9PSBudWxsKVxyXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDbGFzcyBleHRlbmRzIHZhbHVlIFwiICsgU3RyaW5nKGIpICsgXCIgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbFwiKTtcclxuICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XHJcbiAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cclxuICAgIGQucHJvdG90eXBlID0gYiA9PT0gbnVsbCA/IE9iamVjdC5jcmVhdGUoYikgOiAoX18ucHJvdG90eXBlID0gYi5wcm90b3R5cGUsIG5ldyBfXygpKTtcclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2Fzc2lnbiA9IGZ1bmN0aW9uKCkge1xyXG4gICAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcclxuICAgICAgICBmb3IgKHZhciBzLCBpID0gMSwgbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBuOyBpKyspIHtcclxuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcclxuICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX19hc3NpZ24uYXBwbHkodGhpcywgYXJndW1lbnRzKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVzdChzLCBlKSB7XHJcbiAgICB2YXIgdCA9IHt9O1xyXG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXHJcbiAgICAgICAgdFtwXSA9IHNbcF07XHJcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXHJcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcclxuICAgICAgICB9XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2VzRGVjb3JhdGUoY3RvciwgZGVzY3JpcHRvckluLCBkZWNvcmF0b3JzLCBjb250ZXh0SW4sIGluaXRpYWxpemVycywgZXh0cmFJbml0aWFsaXplcnMpIHtcclxuICAgIGZ1bmN0aW9uIGFjY2VwdChmKSB7IGlmIChmICE9PSB2b2lkIDAgJiYgdHlwZW9mIGYgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkZ1bmN0aW9uIGV4cGVjdGVkXCIpOyByZXR1cm4gZjsgfVxyXG4gICAgdmFyIGtpbmQgPSBjb250ZXh0SW4ua2luZCwga2V5ID0ga2luZCA9PT0gXCJnZXR0ZXJcIiA/IFwiZ2V0XCIgOiBraW5kID09PSBcInNldHRlclwiID8gXCJzZXRcIiA6IFwidmFsdWVcIjtcclxuICAgIHZhciB0YXJnZXQgPSAhZGVzY3JpcHRvckluICYmIGN0b3IgPyBjb250ZXh0SW5bXCJzdGF0aWNcIl0gPyBjdG9yIDogY3Rvci5wcm90b3R5cGUgOiBudWxsO1xyXG4gICAgdmFyIGRlc2NyaXB0b3IgPSBkZXNjcmlwdG9ySW4gfHwgKHRhcmdldCA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBjb250ZXh0SW4ubmFtZSkgOiB7fSk7XHJcbiAgICB2YXIgXywgZG9uZSA9IGZhbHNlO1xyXG4gICAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICB2YXIgY29udGV4dCA9IHt9O1xyXG4gICAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluKSBjb250ZXh0W3BdID0gcCA9PT0gXCJhY2Nlc3NcIiA/IHt9IDogY29udGV4dEluW3BdO1xyXG4gICAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluLmFjY2VzcykgY29udGV4dC5hY2Nlc3NbcF0gPSBjb250ZXh0SW4uYWNjZXNzW3BdO1xyXG4gICAgICAgIGNvbnRleHQuYWRkSW5pdGlhbGl6ZXIgPSBmdW5jdGlvbiAoZikgeyBpZiAoZG9uZSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZFwiKTsgZXh0cmFJbml0aWFsaXplcnMucHVzaChhY2NlcHQoZiB8fCBudWxsKSk7IH07XHJcbiAgICAgICAgdmFyIHJlc3VsdCA9ICgwLCBkZWNvcmF0b3JzW2ldKShraW5kID09PSBcImFjY2Vzc29yXCIgPyB7IGdldDogZGVzY3JpcHRvci5nZXQsIHNldDogZGVzY3JpcHRvci5zZXQgfSA6IGRlc2NyaXB0b3Jba2V5XSwgY29udGV4dCk7XHJcbiAgICAgICAgaWYgKGtpbmQgPT09IFwiYWNjZXNzb3JcIikge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSB2b2lkIDApIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0ID09PSBudWxsIHx8IHR5cGVvZiByZXN1bHQgIT09IFwib2JqZWN0XCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJPYmplY3QgZXhwZWN0ZWRcIik7XHJcbiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5nZXQpKSBkZXNjcmlwdG9yLmdldCA9IF87XHJcbiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5zZXQpKSBkZXNjcmlwdG9yLnNldCA9IF87XHJcbiAgICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5pbml0KSkgaW5pdGlhbGl6ZXJzLnVuc2hpZnQoXyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKF8gPSBhY2NlcHQocmVzdWx0KSkge1xyXG4gICAgICAgICAgICBpZiAoa2luZCA9PT0gXCJmaWVsZFwiKSBpbml0aWFsaXplcnMudW5zaGlmdChfKTtcclxuICAgICAgICAgICAgZWxzZSBkZXNjcmlwdG9yW2tleV0gPSBfO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0YXJnZXQpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGNvbnRleHRJbi5uYW1lLCBkZXNjcmlwdG9yKTtcclxuICAgIGRvbmUgPSB0cnVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcnVuSW5pdGlhbGl6ZXJzKHRoaXNBcmcsIGluaXRpYWxpemVycywgdmFsdWUpIHtcclxuICAgIHZhciB1c2VWYWx1ZSA9IGFyZ3VtZW50cy5sZW5ndGggPiAyO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbml0aWFsaXplcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YWx1ZSA9IHVzZVZhbHVlID8gaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZywgdmFsdWUpIDogaW5pdGlhbGl6ZXJzW2ldLmNhbGwodGhpc0FyZyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXNlVmFsdWUgPyB2YWx1ZSA6IHZvaWQgMDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Byb3BLZXkoeCkge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB4ID09PSBcInN5bWJvbFwiID8geCA6IFwiXCIuY29uY2F0KHgpO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc2V0RnVuY3Rpb25OYW1lKGYsIG5hbWUsIHByZWZpeCkge1xyXG4gICAgaWYgKHR5cGVvZiBuYW1lID09PSBcInN5bWJvbFwiKSBuYW1lID0gbmFtZS5kZXNjcmlwdGlvbiA/IFwiW1wiLmNvbmNhdChuYW1lLmRlc2NyaXB0aW9uLCBcIl1cIikgOiBcIlwiO1xyXG4gICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCBcIm5hbWVcIiwgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiBwcmVmaXggPyBcIlwiLmNvbmNhdChwcmVmaXgsIFwiIFwiLCBuYW1lKSA6IG5hbWUgfSk7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xyXG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnID0gT2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yID09PSBcImZ1bmN0aW9uXCIgPyBJdGVyYXRvciA6IE9iamVjdCkucHJvdG90eXBlKTtcclxuICAgIHJldHVybiBnLm5leHQgPSB2ZXJiKDApLCBnW1widGhyb3dcIl0gPSB2ZXJiKDEpLCBnW1wicmV0dXJuXCJdID0gdmVyYigyKSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXM7IH0pLCBnO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IHJldHVybiBmdW5jdGlvbiAodikgeyByZXR1cm4gc3RlcChbbiwgdl0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XHJcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xyXG4gICAgICAgIHdoaWxlIChnICYmIChnID0gMCwgb3BbMF0gJiYgKF8gPSAwKSksIF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IHZhciBfX2NyZWF0ZUJpbmRpbmcgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XHJcbiAgICBpZiAoazIgPT09IHVuZGVmaW5lZCkgazIgPSBrO1xyXG4gICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG0sIGspO1xyXG4gICAgaWYgKCFkZXNjIHx8IChcImdldFwiIGluIGRlc2MgPyAhbS5fX2VzTW9kdWxlIDogZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSkpIHtcclxuICAgICAgICBkZXNjID0geyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gbVtrXTsgfSB9O1xyXG4gICAgfVxyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcclxufSkgOiAoZnVuY3Rpb24obywgbSwgaywgazIpIHtcclxuICAgIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XHJcbiAgICBvW2syXSA9IG1ba107XHJcbn0pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBvKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmIChwICE9PSBcImRlZmF1bHRcIiAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG8sIHApKSBfX2NyZWF0ZUJpbmRpbmcobywgbSwgcCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICBpZiAobyAmJiB0eXBlb2Ygby5sZW5ndGggPT09IFwibnVtYmVyXCIpIHJldHVybiB7XHJcbiAgICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBpZiAobyAmJiBpID49IG8ubGVuZ3RoKSBvID0gdm9pZCAwO1xyXG4gICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbyAmJiBvW2krK10sIGRvbmU6ICFvIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IocyA/IFwiT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS5cIiA6IFwiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fcmVhZChvLCBuKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XHJcbiAgICBpZiAoIW0pIHJldHVybiBvO1xyXG4gICAgdmFyIGkgPSBtLmNhbGwobyksIHIsIGFyID0gW10sIGU7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHdoaWxlICgobiA9PT0gdm9pZCAwIHx8IG4tLSA+IDApICYmICEociA9IGkubmV4dCgpKS5kb25lKSBhci5wdXNoKHIudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmluYWxseSB7IGlmIChlKSB0aHJvdyBlLmVycm9yOyB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbi8qKiBAZGVwcmVjYXRlZCAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbi8qKiBAZGVwcmVjYXRlZCAqL1xyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheXMoKSB7XHJcbiAgICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcclxuICAgIGZvciAodmFyIHIgPSBBcnJheShzKSwgayA9IDAsIGkgPSAwOyBpIDwgaWw7IGkrKylcclxuICAgICAgICBmb3IgKHZhciBhID0gYXJndW1lbnRzW2ldLCBqID0gMCwgamwgPSBhLmxlbmd0aDsgaiA8IGpsOyBqKyssIGsrKylcclxuICAgICAgICAgICAgcltrXSA9IGFbal07XHJcbiAgICByZXR1cm4gcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXkodG8sIGZyb20sIHBhY2spIHtcclxuICAgIGlmIChwYWNrIHx8IGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIGZvciAodmFyIGkgPSAwLCBsID0gZnJvbS5sZW5ndGgsIGFyOyBpIDwgbDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xyXG4gICAgICAgICAgICBpZiAoIWFyKSBhciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGZyb20sIDAsIGkpO1xyXG4gICAgICAgICAgICBhcltpXSA9IGZyb21baV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvLmNvbmNhdChhciB8fCBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmcm9tKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSBPYmplY3QuY3JlYXRlKCh0eXBlb2YgQXN5bmNJdGVyYXRvciA9PT0gXCJmdW5jdGlvblwiID8gQXN5bmNJdGVyYXRvciA6IE9iamVjdCkucHJvdG90eXBlKSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiLCBhd2FpdFJldHVybiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcclxuICAgIGZ1bmN0aW9uIGF3YWl0UmV0dXJuKGYpIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBQcm9taXNlLnJlc29sdmUodikudGhlbihmLCByZWplY3QpOyB9OyB9XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaWYgKGdbbl0pIHsgaVtuXSA9IGZ1bmN0aW9uICh2KSB7IHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAoYSwgYikgeyBxLnB1c2goW24sIHYsIGEsIGJdKSA+IDEgfHwgcmVzdW1lKG4sIHYpOyB9KTsgfTsgaWYgKGYpIGlbbl0gPSBmKGlbbl0pOyB9IH1cclxuICAgIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAocikgeyByLnZhbHVlIGluc3RhbmNlb2YgX19hd2FpdCA/IFByb21pc2UucmVzb2x2ZShyLnZhbHVlLnYpLnRoZW4oZnVsZmlsbCwgcmVqZWN0KSA6IHNldHRsZShxWzBdWzJdLCByKTsgfVxyXG4gICAgZnVuY3Rpb24gZnVsZmlsbCh2YWx1ZSkgeyByZXN1bWUoXCJuZXh0XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxyXG4gICAgZnVuY3Rpb24gc2V0dGxlKGYsIHYpIHsgaWYgKGYodiksIHEuc2hpZnQoKSwgcS5sZW5ndGgpIHJlc3VtZShxWzBdWzBdLCBxWzBdWzFdKTsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0RlbGVnYXRvcihvKSB7XHJcbiAgICB2YXIgaSwgcDtcclxuICAgIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4sIGYpIHsgaVtuXSA9IG9bbl0gPyBmdW5jdGlvbiAodikgeyByZXR1cm4gKHAgPSAhcCkgPyB7IHZhbHVlOiBfX2F3YWl0KG9bbl0odikpLCBkb25lOiBmYWxzZSB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbnZhciBfX3NldE1vZHVsZURlZmF1bHQgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIHYpIHtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBcImRlZmF1bHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdiB9KTtcclxufSkgOiBmdW5jdGlvbihvLCB2KSB7XHJcbiAgICBvW1wiZGVmYXVsdFwiXSA9IHY7XHJcbn07XHJcblxyXG52YXIgb3duS2V5cyA9IGZ1bmN0aW9uKG8pIHtcclxuICAgIG93bktleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB8fCBmdW5jdGlvbiAobykge1xyXG4gICAgICAgIHZhciBhciA9IFtdO1xyXG4gICAgICAgIGZvciAodmFyIGsgaW4gbykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBrKSkgYXJbYXIubGVuZ3RoXSA9IGs7XHJcbiAgICAgICAgcmV0dXJuIGFyO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBvd25LZXlzKG8pO1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcclxuICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XHJcbiAgICB2YXIgcmVzdWx0ID0ge307XHJcbiAgICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgPSBvd25LZXlzKG1vZCksIGkgPSAwOyBpIDwgay5sZW5ndGg7IGkrKykgaWYgKGtbaV0gIT09IFwiZGVmYXVsdFwiKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGtbaV0pO1xyXG4gICAgX19zZXRNb2R1bGVEZWZhdWx0KHJlc3VsdCwgbW9kKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydERlZmF1bHQobW9kKSB7XHJcbiAgICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcclxuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlclwiKTtcclxuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0XCIpO1xyXG4gICAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xyXG4gICAgaWYgKGtpbmQgPT09IFwibVwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBtZXRob2QgaXMgbm90IHdyaXRhYmxlXCIpO1xyXG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xyXG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcclxuICAgIHJldHVybiAoa2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIsIHZhbHVlKSA6IGYgPyBmLnZhbHVlID0gdmFsdWUgOiBzdGF0ZS5zZXQocmVjZWl2ZXIsIHZhbHVlKSksIHZhbHVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEluKHN0YXRlLCByZWNlaXZlcikge1xyXG4gICAgaWYgKHJlY2VpdmVyID09PSBudWxsIHx8ICh0eXBlb2YgcmVjZWl2ZXIgIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIHJlY2VpdmVyICE9PSBcImZ1bmN0aW9uXCIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3RcIik7XHJcbiAgICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciA9PT0gc3RhdGUgOiBzdGF0ZS5oYXMocmVjZWl2ZXIpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hZGREaXNwb3NhYmxlUmVzb3VyY2UoZW52LCB2YWx1ZSwgYXN5bmMpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdm9pZCAwKSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgdmFsdWUgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBleHBlY3RlZC5cIik7XHJcbiAgICAgICAgdmFyIGRpc3Bvc2UsIGlubmVyO1xyXG4gICAgICAgIGlmIChhc3luYykge1xyXG4gICAgICAgICAgICBpZiAoIVN5bWJvbC5hc3luY0Rpc3Bvc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNEaXNwb3NlIGlzIG5vdCBkZWZpbmVkLlwiKTtcclxuICAgICAgICAgICAgZGlzcG9zZSA9IHZhbHVlW1N5bWJvbC5hc3luY0Rpc3Bvc2VdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlzcG9zZSA9PT0gdm9pZCAwKSB7XHJcbiAgICAgICAgICAgIGlmICghU3ltYm9sLmRpc3Bvc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICAgICAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuZGlzcG9zZV07XHJcbiAgICAgICAgICAgIGlmIChhc3luYykgaW5uZXIgPSBkaXNwb3NlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIGRpc3Bvc2UgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk9iamVjdCBub3QgZGlzcG9zYWJsZS5cIik7XHJcbiAgICAgICAgaWYgKGlubmVyKSBkaXNwb3NlID0gZnVuY3Rpb24oKSB7IHRyeSB7IGlubmVyLmNhbGwodGhpcyk7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIFByb21pc2UucmVqZWN0KGUpOyB9IH07XHJcbiAgICAgICAgZW52LnN0YWNrLnB1c2goeyB2YWx1ZTogdmFsdWUsIGRpc3Bvc2U6IGRpc3Bvc2UsIGFzeW5jOiBhc3luYyB9KTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGFzeW5jKSB7XHJcbiAgICAgICAgZW52LnN0YWNrLnB1c2goeyBhc3luYzogdHJ1ZSB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuXHJcbn1cclxuXHJcbnZhciBfU3VwcHJlc3NlZEVycm9yID0gdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19kaXNwb3NlUmVzb3VyY2VzKGVudikge1xyXG4gICAgZnVuY3Rpb24gZmFpbChlKSB7XHJcbiAgICAgICAgZW52LmVycm9yID0gZW52Lmhhc0Vycm9yID8gbmV3IF9TdXBwcmVzc2VkRXJyb3IoZSwgZW52LmVycm9yLCBcIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC5cIikgOiBlO1xyXG4gICAgICAgIGVudi5oYXNFcnJvciA9IHRydWU7XHJcbiAgICB9XHJcbiAgICB2YXIgciwgcyA9IDA7XHJcbiAgICBmdW5jdGlvbiBuZXh0KCkge1xyXG4gICAgICAgIHdoaWxlIChyID0gZW52LnN0YWNrLnBvcCgpKSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXIuYXN5bmMgJiYgcyA9PT0gMSkgcmV0dXJuIHMgPSAwLCBlbnYuc3RhY2sucHVzaChyKSwgUHJvbWlzZS5yZXNvbHZlKCkudGhlbihuZXh0KTtcclxuICAgICAgICAgICAgICAgIGlmIChyLmRpc3Bvc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gci5kaXNwb3NlLmNhbGwoci52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHIuYXN5bmMpIHJldHVybiBzIHw9IDIsIFByb21pc2UucmVzb2x2ZShyZXN1bHQpLnRoZW4obmV4dCwgZnVuY3Rpb24oZSkgeyBmYWlsKGUpOyByZXR1cm4gbmV4dCgpOyB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2UgcyB8PSAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICBmYWlsKGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzID09PSAxKSByZXR1cm4gZW52Lmhhc0Vycm9yID8gUHJvbWlzZS5yZWplY3QoZW52LmVycm9yKSA6IFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgICAgIGlmIChlbnYuaGFzRXJyb3IpIHRocm93IGVudi5lcnJvcjtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXh0KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3Jld3JpdGVSZWxhdGl2ZUltcG9ydEV4dGVuc2lvbihwYXRoLCBwcmVzZXJ2ZUpzeCkge1xyXG4gICAgaWYgKHR5cGVvZiBwYXRoID09PSBcInN0cmluZ1wiICYmIC9eXFwuXFwuP1xcLy8udGVzdChwYXRoKSkge1xyXG4gICAgICAgIHJldHVybiBwYXRoLnJlcGxhY2UoL1xcLih0c3gpJHwoKD86XFwuZCk/KSgoPzpcXC5bXi4vXSs/KT8pXFwuKFtjbV0/KXRzJC9pLCBmdW5jdGlvbiAobSwgdHN4LCBkLCBleHQsIGNtKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0c3ggPyBwcmVzZXJ2ZUpzeCA/IFwiLmpzeFwiIDogXCIuanNcIiA6IGQgJiYgKCFleHQgfHwgIWNtKSA/IG0gOiAoZCArIGV4dCArIFwiLlwiICsgY20udG9Mb3dlckNhc2UoKSArIFwianNcIik7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGF0aDtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gICAgX19leHRlbmRzOiBfX2V4dGVuZHMsXHJcbiAgICBfX2Fzc2lnbjogX19hc3NpZ24sXHJcbiAgICBfX3Jlc3Q6IF9fcmVzdCxcclxuICAgIF9fZGVjb3JhdGU6IF9fZGVjb3JhdGUsXHJcbiAgICBfX3BhcmFtOiBfX3BhcmFtLFxyXG4gICAgX19lc0RlY29yYXRlOiBfX2VzRGVjb3JhdGUsXHJcbiAgICBfX3J1bkluaXRpYWxpemVyczogX19ydW5Jbml0aWFsaXplcnMsXHJcbiAgICBfX3Byb3BLZXk6IF9fcHJvcEtleSxcclxuICAgIF9fc2V0RnVuY3Rpb25OYW1lOiBfX3NldEZ1bmN0aW9uTmFtZSxcclxuICAgIF9fbWV0YWRhdGE6IF9fbWV0YWRhdGEsXHJcbiAgICBfX2F3YWl0ZXI6IF9fYXdhaXRlcixcclxuICAgIF9fZ2VuZXJhdG9yOiBfX2dlbmVyYXRvcixcclxuICAgIF9fY3JlYXRlQmluZGluZzogX19jcmVhdGVCaW5kaW5nLFxyXG4gICAgX19leHBvcnRTdGFyOiBfX2V4cG9ydFN0YXIsXHJcbiAgICBfX3ZhbHVlczogX192YWx1ZXMsXHJcbiAgICBfX3JlYWQ6IF9fcmVhZCxcclxuICAgIF9fc3ByZWFkOiBfX3NwcmVhZCxcclxuICAgIF9fc3ByZWFkQXJyYXlzOiBfX3NwcmVhZEFycmF5cyxcclxuICAgIF9fc3ByZWFkQXJyYXk6IF9fc3ByZWFkQXJyYXksXHJcbiAgICBfX2F3YWl0OiBfX2F3YWl0LFxyXG4gICAgX19hc3luY0dlbmVyYXRvcjogX19hc3luY0dlbmVyYXRvcixcclxuICAgIF9fYXN5bmNEZWxlZ2F0b3I6IF9fYXN5bmNEZWxlZ2F0b3IsXHJcbiAgICBfX2FzeW5jVmFsdWVzOiBfX2FzeW5jVmFsdWVzLFxyXG4gICAgX19tYWtlVGVtcGxhdGVPYmplY3Q6IF9fbWFrZVRlbXBsYXRlT2JqZWN0LFxyXG4gICAgX19pbXBvcnRTdGFyOiBfX2ltcG9ydFN0YXIsXHJcbiAgICBfX2ltcG9ydERlZmF1bHQ6IF9faW1wb3J0RGVmYXVsdCxcclxuICAgIF9fY2xhc3NQcml2YXRlRmllbGRHZXQ6IF9fY2xhc3NQcml2YXRlRmllbGRHZXQsXHJcbiAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0OiBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0LFxyXG4gICAgX19jbGFzc1ByaXZhdGVGaWVsZEluOiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4sXHJcbiAgICBfX2FkZERpc3Bvc2FibGVSZXNvdXJjZTogX19hZGREaXNwb3NhYmxlUmVzb3VyY2UsXHJcbiAgICBfX2Rpc3Bvc2VSZXNvdXJjZXM6IF9fZGlzcG9zZVJlc291cmNlcyxcclxuICAgIF9fcmV3cml0ZVJlbGF0aXZlSW1wb3J0RXh0ZW5zaW9uOiBfX3Jld3JpdGVSZWxhdGl2ZUltcG9ydEV4dGVuc2lvbixcclxufTtcclxuIiwiZXhwb3J0IHZhciB6ZXJvUmlnaHRDbGFzc05hbWUgPSAncmlnaHQtc2Nyb2xsLWJhci1wb3NpdGlvbic7XG5leHBvcnQgdmFyIGZ1bGxXaWR0aENsYXNzTmFtZSA9ICd3aWR0aC1iZWZvcmUtc2Nyb2xsLWJhcic7XG5leHBvcnQgdmFyIG5vU2Nyb2xsYmFyc0NsYXNzTmFtZSA9ICd3aXRoLXNjcm9sbC1iYXJzLWhpZGRlbic7XG4vKipcbiAqIE5hbWUgb2YgYSBDU1MgdmFyaWFibGUgY29udGFpbmluZyB0aGUgYW1vdW50IG9mIFwiaGlkZGVuXCIgc2Nyb2xsYmFyXG4gKiAhIG1pZ2h0IGJlIHVuZGVmaW5lZCAhIHVzZSB3aWxsIGZhbGxiYWNrIVxuICovXG5leHBvcnQgdmFyIHJlbW92ZWRCYXJTaXplVmFyaWFibGUgPSAnLS1yZW1vdmVkLWJvZHktc2Nyb2xsLWJhci1zaXplJztcbiIsIi8qKlxuICogQXNzaWducyBhIHZhbHVlIGZvciBhIGdpdmVuIHJlZiwgbm8gbWF0dGVyIG9mIHRoZSByZWYgZm9ybWF0XG4gKiBAcGFyYW0ge1JlZk9iamVjdH0gcmVmIC0gYSBjYWxsYmFjayBmdW5jdGlvbiBvciByZWYgb2JqZWN0XG4gKiBAcGFyYW0gdmFsdWUgLSBhIG5ldyB2YWx1ZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3RoZUthc2hleS91c2UtY2FsbGJhY2stcmVmI2Fzc2lnbnJlZlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHJlZk9iamVjdCA9IHVzZVJlZigpO1xuICogY29uc3QgcmVmRm4gPSAocmVmKSA9PiB7Li4uLn1cbiAqXG4gKiBhc3NpZ25SZWYocmVmT2JqZWN0LCBcInJlZlZhbHVlXCIpO1xuICogYXNzaWduUmVmKHJlZkZuLCBcInJlZlZhbHVlXCIpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzaWduUmVmKHJlZiwgdmFsdWUpIHtcbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZWYodmFsdWUpO1xuICAgIH1cbiAgICBlbHNlIGlmIChyZWYpIHtcbiAgICAgICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZjtcbn1cbiIsImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGFzc2lnblJlZiB9IGZyb20gJy4vYXNzaWduUmVmJztcbmltcG9ydCB7IHVzZUNhbGxiYWNrUmVmIH0gZnJvbSAnLi91c2VSZWYnO1xudmFyIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IFJlYWN0LnVzZUxheW91dEVmZmVjdCA6IFJlYWN0LnVzZUVmZmVjdDtcbnZhciBjdXJyZW50VmFsdWVzID0gbmV3IFdlYWtNYXAoKTtcbi8qKlxuICogTWVyZ2VzIHR3byBvciBtb3JlIHJlZnMgdG9nZXRoZXIgcHJvdmlkaW5nIGEgc2luZ2xlIGludGVyZmFjZSB0byBzZXQgdGhlaXIgdmFsdWVcbiAqIEBwYXJhbSB7UmVmT2JqZWN0fFJlZn0gcmVmc1xuICogQHJldHVybnMge011dGFibGVSZWZPYmplY3R9IC0gYSBuZXcgcmVmLCB3aGljaCB0cmFuc2xhdGVzIGFsbCBjaGFuZ2VzIHRvIHtyZWZzfVxuICpcbiAqIEBzZWUge0BsaW5rIG1lcmdlUmVmc30gYSB2ZXJzaW9uIHdpdGhvdXQgYnVpdC1pbiBtZW1vaXphdGlvblxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vdGhlS2FzaGV5L3VzZS1jYWxsYmFjay1yZWYjdXNlbWVyZ2VyZWZzXG4gKiBAZXhhbXBsZVxuICogY29uc3QgQ29tcG9uZW50ID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICogICBjb25zdCBvd25SZWYgPSB1c2VSZWYoKTtcbiAqICAgY29uc3QgZG9tUmVmID0gdXNlTWVyZ2VSZWZzKFtyZWYsIG93blJlZl0pOyAvLyDwn5GIIG1lcmdlIHRvZ2V0aGVyXG4gKiAgIHJldHVybiA8ZGl2IHJlZj17ZG9tUmVmfT4uLi48L2Rpdj5cbiAqIH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU1lcmdlUmVmcyhyZWZzLCBkZWZhdWx0VmFsdWUpIHtcbiAgICB2YXIgY2FsbGJhY2tSZWYgPSB1c2VDYWxsYmFja1JlZihkZWZhdWx0VmFsdWUgfHwgbnVsbCwgZnVuY3Rpb24gKG5ld1ZhbHVlKSB7XG4gICAgICAgIHJldHVybiByZWZzLmZvckVhY2goZnVuY3Rpb24gKHJlZikgeyByZXR1cm4gYXNzaWduUmVmKHJlZiwgbmV3VmFsdWUpOyB9KTtcbiAgICB9KTtcbiAgICAvLyBoYW5kbGUgcmVmcyBjaGFuZ2VzIC0gYWRkZWQgb3IgcmVtb3ZlZFxuICAgIHVzZUlzb21vcnBoaWNMYXlvdXRFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgb2xkVmFsdWUgPSBjdXJyZW50VmFsdWVzLmdldChjYWxsYmFja1JlZik7XG4gICAgICAgIGlmIChvbGRWYWx1ZSkge1xuICAgICAgICAgICAgdmFyIHByZXZSZWZzXzEgPSBuZXcgU2V0KG9sZFZhbHVlKTtcbiAgICAgICAgICAgIHZhciBuZXh0UmVmc18xID0gbmV3IFNldChyZWZzKTtcbiAgICAgICAgICAgIHZhciBjdXJyZW50XzEgPSBjYWxsYmFja1JlZi5jdXJyZW50O1xuICAgICAgICAgICAgcHJldlJlZnNfMS5mb3JFYWNoKGZ1bmN0aW9uIChyZWYpIHtcbiAgICAgICAgICAgICAgICBpZiAoIW5leHRSZWZzXzEuaGFzKHJlZikpIHtcbiAgICAgICAgICAgICAgICAgICAgYXNzaWduUmVmKHJlZiwgbnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBuZXh0UmVmc18xLmZvckVhY2goZnVuY3Rpb24gKHJlZikge1xuICAgICAgICAgICAgICAgIGlmICghcHJldlJlZnNfMS5oYXMocmVmKSkge1xuICAgICAgICAgICAgICAgICAgICBhc3NpZ25SZWYocmVmLCBjdXJyZW50XzEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnRWYWx1ZXMuc2V0KGNhbGxiYWNrUmVmLCByZWZzKTtcbiAgICB9LCBbcmVmc10pO1xuICAgIHJldHVybiBjYWxsYmFja1JlZjtcbn1cbiIsImltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuLyoqXG4gKiBjcmVhdGVzIGEgTXV0YWJsZVJlZiB3aXRoIHJlZiBjaGFuZ2UgY2FsbGJhY2tcbiAqIEBwYXJhbSBpbml0aWFsVmFsdWUgLSBpbml0aWFsIHJlZiB2YWx1ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sgLSBhIGNhbGxiYWNrIHRvIHJ1biB3aGVuIHZhbHVlIGNoYW5nZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgcmVmID0gdXNlQ2FsbGJhY2tSZWYoMCwgKG5ld1ZhbHVlLCBvbGRWYWx1ZSkgPT4gY29uc29sZS5sb2cob2xkVmFsdWUsICctPicsIG5ld1ZhbHVlKTtcbiAqIHJlZi5jdXJyZW50ID0gMTtcbiAqIC8vIHByaW50cyAwIC0+IDFcbiAqXG4gKiBAc2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9ob29rcy1yZWZlcmVuY2UuaHRtbCN1c2VyZWZcbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3RoZUthc2hleS91c2UtY2FsbGJhY2stcmVmI3VzZWNhbGxiYWNrcmVmLS0tdG8tcmVwbGFjZS1yZWFjdHVzZXJlZlxuICogQHJldHVybnMge011dGFibGVSZWZPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDYWxsYmFja1JlZihpbml0aWFsVmFsdWUsIGNhbGxiYWNrKSB7XG4gICAgdmFyIHJlZiA9IHVzZVN0YXRlKGZ1bmN0aW9uICgpIHsgcmV0dXJuICh7XG4gICAgICAgIC8vIHZhbHVlXG4gICAgICAgIHZhbHVlOiBpbml0aWFsVmFsdWUsXG4gICAgICAgIC8vIGxhc3QgY2FsbGJhY2tcbiAgICAgICAgY2FsbGJhY2s6IGNhbGxiYWNrLFxuICAgICAgICAvLyBcIm1lbW9pemVkXCIgcHVibGljIGludGVyZmFjZVxuICAgICAgICBmYWNhZGU6IHtcbiAgICAgICAgICAgIGdldCBjdXJyZW50KCkge1xuICAgICAgICAgICAgICAgIHJldHVybiByZWYudmFsdWU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0IGN1cnJlbnQodmFsdWUpIHtcbiAgICAgICAgICAgICAgICB2YXIgbGFzdCA9IHJlZi52YWx1ZTtcbiAgICAgICAgICAgICAgICBpZiAobGFzdCAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIHJlZi5jYWxsYmFjayh2YWx1ZSwgbGFzdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9KTsgfSlbMF07XG4gICAgLy8gdXBkYXRlIGNhbGxiYWNrXG4gICAgcmVmLmNhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgcmV0dXJuIHJlZi5mYWNhZGU7XG59XG4iLCJpbXBvcnQgeyBfX2Fzc2lnbiB9IGZyb20gXCJ0c2xpYlwiO1xuZnVuY3Rpb24gSXRvSShhKSB7XG4gICAgcmV0dXJuIGE7XG59XG5mdW5jdGlvbiBpbm5lckNyZWF0ZU1lZGl1bShkZWZhdWx0cywgbWlkZGxld2FyZSkge1xuICAgIGlmIChtaWRkbGV3YXJlID09PSB2b2lkIDApIHsgbWlkZGxld2FyZSA9IEl0b0k7IH1cbiAgICB2YXIgYnVmZmVyID0gW107XG4gICAgdmFyIGFzc2lnbmVkID0gZmFsc2U7XG4gICAgdmFyIG1lZGl1bSA9IHtcbiAgICAgICAgcmVhZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKGFzc2lnbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaWRlY2FyOiBjb3VsZCBub3QgYHJlYWRgIGZyb20gYW4gYGFzc2lnbmVkYCBtZWRpdW0uIGByZWFkYCBjb3VsZCBiZSB1c2VkIG9ubHkgd2l0aCBgdXNlTWVkaXVtYC4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChidWZmZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJ1ZmZlcltidWZmZXIubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdHM7XG4gICAgICAgIH0sXG4gICAgICAgIHVzZU1lZGl1bTogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgIHZhciBpdGVtID0gbWlkZGxld2FyZShkYXRhLCBhc3NpZ25lZCk7XG4gICAgICAgICAgICBidWZmZXIucHVzaChpdGVtKTtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgYnVmZmVyID0gYnVmZmVyLmZpbHRlcihmdW5jdGlvbiAoeCkgeyByZXR1cm4geCAhPT0gaXRlbTsgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgICAgICBhc3NpZ25TeW5jTWVkaXVtOiBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgICAgIGFzc2lnbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHdoaWxlIChidWZmZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNicyA9IGJ1ZmZlcjtcbiAgICAgICAgICAgICAgICBidWZmZXIgPSBbXTtcbiAgICAgICAgICAgICAgICBjYnMuZm9yRWFjaChjYik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBidWZmZXIgPSB7XG4gICAgICAgICAgICAgICAgcHVzaDogZnVuY3Rpb24gKHgpIHsgcmV0dXJuIGNiKHgpOyB9LFxuICAgICAgICAgICAgICAgIGZpbHRlcjogZnVuY3Rpb24gKCkgeyByZXR1cm4gYnVmZmVyOyB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICAgICAgYXNzaWduTWVkaXVtOiBmdW5jdGlvbiAoY2IpIHtcbiAgICAgICAgICAgIGFzc2lnbmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHZhciBwZW5kaW5nUXVldWUgPSBbXTtcbiAgICAgICAgICAgIGlmIChidWZmZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNicyA9IGJ1ZmZlcjtcbiAgICAgICAgICAgICAgICBidWZmZXIgPSBbXTtcbiAgICAgICAgICAgICAgICBjYnMuZm9yRWFjaChjYik7XG4gICAgICAgICAgICAgICAgcGVuZGluZ1F1ZXVlID0gYnVmZmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGV4ZWN1dGVRdWV1ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgY2JzID0gcGVuZGluZ1F1ZXVlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdRdWV1ZSA9IFtdO1xuICAgICAgICAgICAgICAgIGNicy5mb3JFYWNoKGNiKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICB2YXIgY3ljbGUgPSBmdW5jdGlvbiAoKSB7IHJldHVybiBQcm9taXNlLnJlc29sdmUoKS50aGVuKGV4ZWN1dGVRdWV1ZSk7IH07XG4gICAgICAgICAgICBjeWNsZSgpO1xuICAgICAgICAgICAgYnVmZmVyID0ge1xuICAgICAgICAgICAgICAgIHB1c2g6IGZ1bmN0aW9uICh4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBlbmRpbmdRdWV1ZS5wdXNoKHgpO1xuICAgICAgICAgICAgICAgICAgICBjeWNsZSgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBmdW5jdGlvbiAoZmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHBlbmRpbmdRdWV1ZSA9IHBlbmRpbmdRdWV1ZS5maWx0ZXIoZmlsdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJ1ZmZlcjtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiBtZWRpdW07XG59XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWVkaXVtKGRlZmF1bHRzLCBtaWRkbGV3YXJlKSB7XG4gICAgaWYgKG1pZGRsZXdhcmUgPT09IHZvaWQgMCkgeyBtaWRkbGV3YXJlID0gSXRvSTsgfVxuICAgIHJldHVybiBpbm5lckNyZWF0ZU1lZGl1bShkZWZhdWx0cywgbWlkZGxld2FyZSk7XG59XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNpZGVjYXJNZWRpdW0ob3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIHsgb3B0aW9ucyA9IHt9OyB9XG4gICAgdmFyIG1lZGl1bSA9IGlubmVyQ3JlYXRlTWVkaXVtKG51bGwpO1xuICAgIG1lZGl1bS5vcHRpb25zID0gX19hc3NpZ24oeyBhc3luYzogdHJ1ZSwgc3NyOiBmYWxzZSB9LCBvcHRpb25zKTtcbiAgICByZXR1cm4gbWVkaXVtO1xufVxuIiwiaW1wb3J0IHsgX19hc3NpZ24sIF9fcmVzdCB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xudmFyIFNpZGVDYXIgPSBmdW5jdGlvbiAoX2EpIHtcbiAgICB2YXIgc2lkZUNhciA9IF9hLnNpZGVDYXIsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInNpZGVDYXJcIl0pO1xuICAgIGlmICghc2lkZUNhcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NpZGVjYXI6IHBsZWFzZSBwcm92aWRlIGBzaWRlQ2FyYCBwcm9wZXJ0eSB0byBpbXBvcnQgdGhlIHJpZ2h0IGNhcicpO1xuICAgIH1cbiAgICB2YXIgVGFyZ2V0ID0gc2lkZUNhci5yZWFkKCk7XG4gICAgaWYgKCFUYXJnZXQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdTaWRlY2FyIG1lZGl1bSBub3QgZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVGFyZ2V0LCBfX2Fzc2lnbih7fSwgcmVzdCkpO1xufTtcblNpZGVDYXIuaXNTaWRlQ2FyRXhwb3J0ID0gdHJ1ZTtcbmV4cG9ydCBmdW5jdGlvbiBleHBvcnRTaWRlY2FyKG1lZGl1bSwgZXhwb3J0ZWQpIHtcbiAgICBtZWRpdW0udXNlTWVkaXVtKGV4cG9ydGVkKTtcbiAgICByZXR1cm4gU2lkZUNhcjtcbn1cbiIsImltcG9ydCB7IGNyZWF0ZVNpZGVjYXJNZWRpdW0gfSBmcm9tICd1c2Utc2lkZWNhcic7XG5leHBvcnQgdmFyIGVmZmVjdENhciA9IGNyZWF0ZVNpZGVjYXJNZWRpdW0oKTtcbiIsImltcG9ydCB7IF9fYXNzaWduLCBfX3Jlc3QgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGZ1bGxXaWR0aENsYXNzTmFtZSwgemVyb1JpZ2h0Q2xhc3NOYW1lIH0gZnJvbSAncmVhY3QtcmVtb3ZlLXNjcm9sbC1iYXIvY29uc3RhbnRzJztcbmltcG9ydCB7IHVzZU1lcmdlUmVmcyB9IGZyb20gJ3VzZS1jYWxsYmFjay1yZWYnO1xuaW1wb3J0IHsgZWZmZWN0Q2FyIH0gZnJvbSAnLi9tZWRpdW0nO1xudmFyIG5vdGhpbmcgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuO1xufTtcbi8qKlxuICogUmVtb3ZlcyBzY3JvbGxiYXIgZnJvbSB0aGUgcGFnZSBhbmQgY29udGFpbiB0aGUgc2Nyb2xsIHdpdGhpbiB0aGUgTG9ja1xuICovXG52YXIgUmVtb3ZlU2Nyb2xsID0gUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiAocHJvcHMsIHBhcmVudFJlZikge1xuICAgIHZhciByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgdmFyIF9hID0gUmVhY3QudXNlU3RhdGUoe1xuICAgICAgICBvblNjcm9sbENhcHR1cmU6IG5vdGhpbmcsXG4gICAgICAgIG9uV2hlZWxDYXB0dXJlOiBub3RoaW5nLFxuICAgICAgICBvblRvdWNoTW92ZUNhcHR1cmU6IG5vdGhpbmcsXG4gICAgfSksIGNhbGxiYWNrcyA9IF9hWzBdLCBzZXRDYWxsYmFja3MgPSBfYVsxXTtcbiAgICB2YXIgZm9yd2FyZFByb3BzID0gcHJvcHMuZm9yd2FyZFByb3BzLCBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLCBjbGFzc05hbWUgPSBwcm9wcy5jbGFzc05hbWUsIHJlbW92ZVNjcm9sbEJhciA9IHByb3BzLnJlbW92ZVNjcm9sbEJhciwgZW5hYmxlZCA9IHByb3BzLmVuYWJsZWQsIHNoYXJkcyA9IHByb3BzLnNoYXJkcywgc2lkZUNhciA9IHByb3BzLnNpZGVDYXIsIG5vSXNvbGF0aW9uID0gcHJvcHMubm9Jc29sYXRpb24sIGluZXJ0ID0gcHJvcHMuaW5lcnQsIGFsbG93UGluY2hab29tID0gcHJvcHMuYWxsb3dQaW5jaFpvb20sIF9iID0gcHJvcHMuYXMsIENvbnRhaW5lciA9IF9iID09PSB2b2lkIDAgPyAnZGl2JyA6IF9iLCBnYXBNb2RlID0gcHJvcHMuZ2FwTW9kZSwgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiZm9yd2FyZFByb3BzXCIsIFwiY2hpbGRyZW5cIiwgXCJjbGFzc05hbWVcIiwgXCJyZW1vdmVTY3JvbGxCYXJcIiwgXCJlbmFibGVkXCIsIFwic2hhcmRzXCIsIFwic2lkZUNhclwiLCBcIm5vSXNvbGF0aW9uXCIsIFwiaW5lcnRcIiwgXCJhbGxvd1BpbmNoWm9vbVwiLCBcImFzXCIsIFwiZ2FwTW9kZVwiXSk7XG4gICAgdmFyIFNpZGVDYXIgPSBzaWRlQ2FyO1xuICAgIHZhciBjb250YWluZXJSZWYgPSB1c2VNZXJnZVJlZnMoW3JlZiwgcGFyZW50UmVmXSk7XG4gICAgdmFyIGNvbnRhaW5lclByb3BzID0gX19hc3NpZ24oX19hc3NpZ24oe30sIHJlc3QpLCBjYWxsYmFja3MpO1xuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCxcbiAgICAgICAgZW5hYmxlZCAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChTaWRlQ2FyLCB7IHNpZGVDYXI6IGVmZmVjdENhciwgcmVtb3ZlU2Nyb2xsQmFyOiByZW1vdmVTY3JvbGxCYXIsIHNoYXJkczogc2hhcmRzLCBub0lzb2xhdGlvbjogbm9Jc29sYXRpb24sIGluZXJ0OiBpbmVydCwgc2V0Q2FsbGJhY2tzOiBzZXRDYWxsYmFja3MsIGFsbG93UGluY2hab29tOiAhIWFsbG93UGluY2hab29tLCBsb2NrUmVmOiByZWYsIGdhcE1vZGU6IGdhcE1vZGUgfSkpLFxuICAgICAgICBmb3J3YXJkUHJvcHMgPyAoUmVhY3QuY2xvbmVFbGVtZW50KFJlYWN0LkNoaWxkcmVuLm9ubHkoY2hpbGRyZW4pLCBfX2Fzc2lnbihfX2Fzc2lnbih7fSwgY29udGFpbmVyUHJvcHMpLCB7IHJlZjogY29udGFpbmVyUmVmIH0pKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChDb250YWluZXIsIF9fYXNzaWduKHt9LCBjb250YWluZXJQcm9wcywgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSwgcmVmOiBjb250YWluZXJSZWYgfSksIGNoaWxkcmVuKSkpKTtcbn0pO1xuUmVtb3ZlU2Nyb2xsLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIHJlbW92ZVNjcm9sbEJhcjogdHJ1ZSxcbiAgICBpbmVydDogZmFsc2UsXG59O1xuUmVtb3ZlU2Nyb2xsLmNsYXNzTmFtZXMgPSB7XG4gICAgZnVsbFdpZHRoOiBmdWxsV2lkdGhDbGFzc05hbWUsXG4gICAgemVyb1JpZ2h0OiB6ZXJvUmlnaHRDbGFzc05hbWUsXG59O1xuZXhwb3J0IHsgUmVtb3ZlU2Nyb2xsIH07XG4iLCJpbXBvcnQgeyBnZXROb25jZSB9IGZyb20gJ2dldC1ub25jZSc7XG5mdW5jdGlvbiBtYWtlU3R5bGVUYWcoKSB7XG4gICAgaWYgKCFkb2N1bWVudClcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgdmFyIHRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgdGFnLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgIHZhciBub25jZSA9IGdldE5vbmNlKCk7XG4gICAgaWYgKG5vbmNlKSB7XG4gICAgICAgIHRhZy5zZXRBdHRyaWJ1dGUoJ25vbmNlJywgbm9uY2UpO1xuICAgIH1cbiAgICByZXR1cm4gdGFnO1xufVxuZnVuY3Rpb24gaW5qZWN0U3R5bGVzKHRhZywgY3NzKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmICh0YWcuc3R5bGVTaGVldCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRhZy5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB0YWcuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gICAgfVxufVxuZnVuY3Rpb24gaW5zZXJ0U3R5bGVUYWcodGFnKSB7XG4gICAgdmFyIGhlYWQgPSBkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gICAgaGVhZC5hcHBlbmRDaGlsZCh0YWcpO1xufVxuZXhwb3J0IHZhciBzdHlsZXNoZWV0U2luZ2xldG9uID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBjb3VudGVyID0gMDtcbiAgICB2YXIgc3R5bGVzaGVldCA9IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgYWRkOiBmdW5jdGlvbiAoc3R5bGUpIHtcbiAgICAgICAgICAgIGlmIChjb3VudGVyID09IDApIHtcbiAgICAgICAgICAgICAgICBpZiAoKHN0eWxlc2hlZXQgPSBtYWtlU3R5bGVUYWcoKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5qZWN0U3R5bGVzKHN0eWxlc2hlZXQsIHN0eWxlKTtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXJ0U3R5bGVUYWcoc3R5bGVzaGVldCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY291bnRlcisrO1xuICAgICAgICB9LFxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNvdW50ZXItLTtcbiAgICAgICAgICAgIGlmICghY291bnRlciAmJiBzdHlsZXNoZWV0KSB7XG4gICAgICAgICAgICAgICAgc3R5bGVzaGVldC5wYXJlbnROb2RlICYmIHN0eWxlc2hlZXQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZXNoZWV0KTtcbiAgICAgICAgICAgICAgICBzdHlsZXNoZWV0ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9O1xufTtcbiIsInZhciBjdXJyZW50Tm9uY2U7XG5leHBvcnQgdmFyIHNldE5vbmNlID0gZnVuY3Rpb24gKG5vbmNlKSB7XG4gICAgY3VycmVudE5vbmNlID0gbm9uY2U7XG59O1xuZXhwb3J0IHZhciBnZXROb25jZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoY3VycmVudE5vbmNlKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50Tm9uY2U7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgX193ZWJwYWNrX25vbmNlX18gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBfX3dlYnBhY2tfbm9uY2VfXztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG4iLCJpbXBvcnQgeyBzdHlsZUhvb2tTaW5nbGV0b24gfSBmcm9tICcuL2hvb2snO1xuLyoqXG4gKiBjcmVhdGUgYSBDb21wb25lbnQgdG8gYWRkIHN0eWxlcyBvbiBkZW1hbmRcbiAqIC0gc3R5bGVzIGFyZSBhZGRlZCB3aGVuIGZpcnN0IGluc3RhbmNlIGlzIG1vdW50ZWRcbiAqIC0gc3R5bGVzIGFyZSByZW1vdmVkIHdoZW4gdGhlIGxhc3QgaW5zdGFuY2UgaXMgdW5tb3VudGVkXG4gKiAtIGNoYW5naW5nIHN0eWxlcyBpbiBydW50aW1lIGRvZXMgbm90aGluZyB1bmxlc3MgZHluYW1pYyBpcyBzZXQuIEJ1dCB3aXRoIG11bHRpcGxlIGNvbXBvbmVudHMgdGhhdCBjYW4gbGVhZCB0byB0aGUgdW5kZWZpbmVkIGJlaGF2aW9yXG4gKi9cbmV4cG9ydCB2YXIgc3R5bGVTaW5nbGV0b24gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHVzZVN0eWxlID0gc3R5bGVIb29rU2luZ2xldG9uKCk7XG4gICAgdmFyIFNoZWV0ID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgIHZhciBzdHlsZXMgPSBfYS5zdHlsZXMsIGR5bmFtaWMgPSBfYS5keW5hbWljO1xuICAgICAgICB1c2VTdHlsZShzdHlsZXMsIGR5bmFtaWMpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuICAgIHJldHVybiBTaGVldDtcbn07XG4iLCJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzdHlsZXNoZWV0U2luZ2xldG9uIH0gZnJvbSAnLi9zaW5nbGV0b24nO1xuLyoqXG4gKiBjcmVhdGVzIGEgaG9vayB0byBjb250cm9sIHN0eWxlIHNpbmdsZXRvblxuICogQHNlZSB7QGxpbmsgc3R5bGVTaW5nbGV0b259IGZvciBhIHNhZmVyIGNvbXBvbmVudCB2ZXJzaW9uXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCB1c2VTdHlsZSA9IHN0eWxlSG9va1NpbmdsZXRvbigpO1xuICogLy8vXG4gKiB1c2VTdHlsZSgnYm9keSB7IG92ZXJmbG93OiBoaWRkZW59Jyk7XG4gKi9cbmV4cG9ydCB2YXIgc3R5bGVIb29rU2luZ2xldG9uID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBzaGVldCA9IHN0eWxlc2hlZXRTaW5nbGV0b24oKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKHN0eWxlcywgaXNEeW5hbWljKSB7XG4gICAgICAgIFJlYWN0LnVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzaGVldC5hZGQoc3R5bGVzKTtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgc2hlZXQucmVtb3ZlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9LCBbc3R5bGVzICYmIGlzRHluYW1pY10pO1xuICAgIH07XG59O1xuIiwiZXhwb3J0IHZhciB6ZXJvR2FwID0ge1xuICAgIGxlZnQ6IDAsXG4gICAgdG9wOiAwLFxuICAgIHJpZ2h0OiAwLFxuICAgIGdhcDogMCxcbn07XG52YXIgcGFyc2UgPSBmdW5jdGlvbiAoeCkgeyByZXR1cm4gcGFyc2VJbnQoeCB8fCAnJywgMTApIHx8IDA7IH07XG52YXIgZ2V0T2Zmc2V0ID0gZnVuY3Rpb24gKGdhcE1vZGUpIHtcbiAgICB2YXIgY3MgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KTtcbiAgICB2YXIgbGVmdCA9IGNzW2dhcE1vZGUgPT09ICdwYWRkaW5nJyA/ICdwYWRkaW5nTGVmdCcgOiAnbWFyZ2luTGVmdCddO1xuICAgIHZhciB0b3AgPSBjc1tnYXBNb2RlID09PSAncGFkZGluZycgPyAncGFkZGluZ1RvcCcgOiAnbWFyZ2luVG9wJ107XG4gICAgdmFyIHJpZ2h0ID0gY3NbZ2FwTW9kZSA9PT0gJ3BhZGRpbmcnID8gJ3BhZGRpbmdSaWdodCcgOiAnbWFyZ2luUmlnaHQnXTtcbiAgICByZXR1cm4gW3BhcnNlKGxlZnQpLCBwYXJzZSh0b3ApLCBwYXJzZShyaWdodCldO1xufTtcbmV4cG9ydCB2YXIgZ2V0R2FwV2lkdGggPSBmdW5jdGlvbiAoZ2FwTW9kZSkge1xuICAgIGlmIChnYXBNb2RlID09PSB2b2lkIDApIHsgZ2FwTW9kZSA9ICdtYXJnaW4nOyB9XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiB6ZXJvR2FwO1xuICAgIH1cbiAgICB2YXIgb2Zmc2V0cyA9IGdldE9mZnNldChnYXBNb2RlKTtcbiAgICB2YXIgZG9jdW1lbnRXaWR0aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICB2YXIgd2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICByZXR1cm4ge1xuICAgICAgICBsZWZ0OiBvZmZzZXRzWzBdLFxuICAgICAgICB0b3A6IG9mZnNldHNbMV0sXG4gICAgICAgIHJpZ2h0OiBvZmZzZXRzWzJdLFxuICAgICAgICBnYXA6IE1hdGgubWF4KDAsIHdpbmRvd1dpZHRoIC0gZG9jdW1lbnRXaWR0aCArIG9mZnNldHNbMl0gLSBvZmZzZXRzWzBdKSxcbiAgICB9O1xufTtcbiIsImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHN0eWxlU2luZ2xldG9uIH0gZnJvbSAncmVhY3Qtc3R5bGUtc2luZ2xldG9uJztcbmltcG9ydCB7IGZ1bGxXaWR0aENsYXNzTmFtZSwgemVyb1JpZ2h0Q2xhc3NOYW1lLCBub1Njcm9sbGJhcnNDbGFzc05hbWUsIHJlbW92ZWRCYXJTaXplVmFyaWFibGUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRHYXBXaWR0aCB9IGZyb20gJy4vdXRpbHMnO1xudmFyIFN0eWxlID0gc3R5bGVTaW5nbGV0b24oKTtcbmV4cG9ydCB2YXIgbG9ja0F0dHJpYnV0ZSA9ICdkYXRhLXNjcm9sbC1sb2NrZWQnO1xuLy8gaW1wb3J0YW50IHRpcCAtIG9uY2Ugd2UgbWVhc3VyZSBzY3JvbGxCYXIgd2lkdGggYW5kIHJlbW92ZSB0aGVtXG4vLyB3ZSBjb3VsZCBub3QgcmVwZWF0IHRoaXMgb3BlcmF0aW9uXG4vLyB0aHVzIHdlIGFyZSB1c2luZyBzdHlsZS1zaW5nbGV0b24gLSBvbmx5IHRoZSBmaXJzdCBcInlldCBjb3JyZWN0XCIgc3R5bGUgd2lsbCBiZSBhcHBsaWVkLlxudmFyIGdldFN0eWxlcyA9IGZ1bmN0aW9uIChfYSwgYWxsb3dSZWxhdGl2ZSwgZ2FwTW9kZSwgaW1wb3J0YW50KSB7XG4gICAgdmFyIGxlZnQgPSBfYS5sZWZ0LCB0b3AgPSBfYS50b3AsIHJpZ2h0ID0gX2EucmlnaHQsIGdhcCA9IF9hLmdhcDtcbiAgICBpZiAoZ2FwTW9kZSA9PT0gdm9pZCAwKSB7IGdhcE1vZGUgPSAnbWFyZ2luJzsgfVxuICAgIHJldHVybiBcIlxcbiAgLlwiLmNvbmNhdChub1Njcm9sbGJhcnNDbGFzc05hbWUsIFwiIHtcXG4gICBvdmVyZmxvdzogaGlkZGVuIFwiKS5jb25jYXQoaW1wb3J0YW50LCBcIjtcXG4gICBwYWRkaW5nLXJpZ2h0OiBcIikuY29uY2F0KGdhcCwgXCJweCBcIikuY29uY2F0KGltcG9ydGFudCwgXCI7XFxuICB9XFxuICBib2R5W1wiKS5jb25jYXQobG9ja0F0dHJpYnV0ZSwgXCJdIHtcXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiBcIikuY29uY2F0KGltcG9ydGFudCwgXCI7XFxuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XFxuICAgIFwiKS5jb25jYXQoW1xuICAgICAgICBhbGxvd1JlbGF0aXZlICYmIFwicG9zaXRpb246IHJlbGF0aXZlIFwiLmNvbmNhdChpbXBvcnRhbnQsIFwiO1wiKSxcbiAgICAgICAgZ2FwTW9kZSA9PT0gJ21hcmdpbicgJiZcbiAgICAgICAgICAgIFwiXFxuICAgIHBhZGRpbmctbGVmdDogXCIuY29uY2F0KGxlZnQsIFwicHg7XFxuICAgIHBhZGRpbmctdG9wOiBcIikuY29uY2F0KHRvcCwgXCJweDtcXG4gICAgcGFkZGluZy1yaWdodDogXCIpLmNvbmNhdChyaWdodCwgXCJweDtcXG4gICAgbWFyZ2luLWxlZnQ6MDtcXG4gICAgbWFyZ2luLXRvcDowO1xcbiAgICBtYXJnaW4tcmlnaHQ6IFwiKS5jb25jYXQoZ2FwLCBcInB4IFwiKS5jb25jYXQoaW1wb3J0YW50LCBcIjtcXG4gICAgXCIpLFxuICAgICAgICBnYXBNb2RlID09PSAncGFkZGluZycgJiYgXCJwYWRkaW5nLXJpZ2h0OiBcIi5jb25jYXQoZ2FwLCBcInB4IFwiKS5jb25jYXQoaW1wb3J0YW50LCBcIjtcIiksXG4gICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcnKSwgXCJcXG4gIH1cXG4gIFxcbiAgLlwiKS5jb25jYXQoemVyb1JpZ2h0Q2xhc3NOYW1lLCBcIiB7XFxuICAgIHJpZ2h0OiBcIikuY29uY2F0KGdhcCwgXCJweCBcIikuY29uY2F0KGltcG9ydGFudCwgXCI7XFxuICB9XFxuICBcXG4gIC5cIikuY29uY2F0KGZ1bGxXaWR0aENsYXNzTmFtZSwgXCIge1xcbiAgICBtYXJnaW4tcmlnaHQ6IFwiKS5jb25jYXQoZ2FwLCBcInB4IFwiKS5jb25jYXQoaW1wb3J0YW50LCBcIjtcXG4gIH1cXG4gIFxcbiAgLlwiKS5jb25jYXQoemVyb1JpZ2h0Q2xhc3NOYW1lLCBcIiAuXCIpLmNvbmNhdCh6ZXJvUmlnaHRDbGFzc05hbWUsIFwiIHtcXG4gICAgcmlnaHQ6IDAgXCIpLmNvbmNhdChpbXBvcnRhbnQsIFwiO1xcbiAgfVxcbiAgXFxuICAuXCIpLmNvbmNhdChmdWxsV2lkdGhDbGFzc05hbWUsIFwiIC5cIikuY29uY2F0KGZ1bGxXaWR0aENsYXNzTmFtZSwgXCIge1xcbiAgICBtYXJnaW4tcmlnaHQ6IDAgXCIpLmNvbmNhdChpbXBvcnRhbnQsIFwiO1xcbiAgfVxcbiAgXFxuICBib2R5W1wiKS5jb25jYXQobG9ja0F0dHJpYnV0ZSwgXCJdIHtcXG4gICAgXCIpLmNvbmNhdChyZW1vdmVkQmFyU2l6ZVZhcmlhYmxlLCBcIjogXCIpLmNvbmNhdChnYXAsIFwicHg7XFxuICB9XFxuXCIpO1xufTtcbnZhciBnZXRDdXJyZW50VXNlQ291bnRlciA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgY291bnRlciA9IHBhcnNlSW50KGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKGxvY2tBdHRyaWJ1dGUpIHx8ICcwJywgMTApO1xuICAgIHJldHVybiBpc0Zpbml0ZShjb3VudGVyKSA/IGNvdW50ZXIgOiAwO1xufTtcbmV4cG9ydCB2YXIgdXNlTG9ja0F0dHJpYnV0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBSZWFjdC51c2VFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZShsb2NrQXR0cmlidXRlLCAoZ2V0Q3VycmVudFVzZUNvdW50ZXIoKSArIDEpLnRvU3RyaW5nKCkpO1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIG5ld0NvdW50ZXIgPSBnZXRDdXJyZW50VXNlQ291bnRlcigpIC0gMTtcbiAgICAgICAgICAgIGlmIChuZXdDb3VudGVyIDw9IDApIHtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZShsb2NrQXR0cmlidXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKGxvY2tBdHRyaWJ1dGUsIG5ld0NvdW50ZXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xufTtcbi8qKlxuICogUmVtb3ZlcyBwYWdlIHNjcm9sbGJhciBhbmQgYmxvY2tzIHBhZ2Ugc2Nyb2xsIHdoZW4gbW91bnRlZFxuICovXG5leHBvcnQgdmFyIFJlbW92ZVNjcm9sbEJhciA9IGZ1bmN0aW9uIChfYSkge1xuICAgIHZhciBub1JlbGF0aXZlID0gX2Eubm9SZWxhdGl2ZSwgbm9JbXBvcnRhbnQgPSBfYS5ub0ltcG9ydGFudCwgX2IgPSBfYS5nYXBNb2RlLCBnYXBNb2RlID0gX2IgPT09IHZvaWQgMCA/ICdtYXJnaW4nIDogX2I7XG4gICAgdXNlTG9ja0F0dHJpYnV0ZSgpO1xuICAgIC8qXG4gICAgIGdhcCB3aWxsIGJlIG1lYXN1cmVkIG9uIGV2ZXJ5IGNvbXBvbmVudCBtb3VudFxuICAgICBob3dldmVyIGl0IHdpbGwgYmUgdXNlZCBvbmx5IGJ5IHRoZSBcImZpcnN0XCIgaW52b2NhdGlvblxuICAgICBkdWUgdG8gc2luZ2xldG9uIG5hdHVyZSBvZiA8U3R5bGVcbiAgICAgKi9cbiAgICB2YXIgZ2FwID0gUmVhY3QudXNlTWVtbyhmdW5jdGlvbiAoKSB7IHJldHVybiBnZXRHYXBXaWR0aChnYXBNb2RlKTsgfSwgW2dhcE1vZGVdKTtcbiAgICByZXR1cm4gUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZSwgeyBzdHlsZXM6IGdldFN0eWxlcyhnYXAsICFub1JlbGF0aXZlLCBnYXBNb2RlLCAhbm9JbXBvcnRhbnQgPyAnIWltcG9ydGFudCcgOiAnJykgfSk7XG59O1xuIiwidmFyIHBhc3NpdmVTdXBwb3J0ZWQgPSBmYWxzZTtcbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIHRyeSB7XG4gICAgICAgIHZhciBvcHRpb25zID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAncGFzc2l2ZScsIHtcbiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHBhc3NpdmVTdXBwb3J0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBvcHRpb25zLCBvcHRpb25zKTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIG9wdGlvbnMsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHBhc3NpdmVTdXBwb3J0ZWQgPSBmYWxzZTtcbiAgICB9XG59XG5leHBvcnQgdmFyIG5vblBhc3NpdmUgPSBwYXNzaXZlU3VwcG9ydGVkID8geyBwYXNzaXZlOiBmYWxzZSB9IDogZmFsc2U7XG4iLCJ2YXIgYWx3YXlzQ29udGFpbnNTY3JvbGwgPSBmdW5jdGlvbiAobm9kZSkge1xuICAgIC8vIHRleHRhcmVhIHdpbGwgYWx3YXlzIF9jb250YWluXyBzY3JvbGwgaW5zaWRlIHNlbGYuIEl0IG9ubHkgY2FuIGJlIGhpZGRlblxuICAgIHJldHVybiBub2RlLnRhZ05hbWUgPT09ICdURVhUQVJFQSc7XG59O1xudmFyIGVsZW1lbnRDYW5CZVNjcm9sbGVkID0gZnVuY3Rpb24gKG5vZGUsIG92ZXJmbG93KSB7XG4gICAgaWYgKCEobm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdmFyIHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUpO1xuICAgIHJldHVybiAoXG4gICAgLy8gbm90LW5vdC1zY3JvbGxhYmxlXG4gICAgc3R5bGVzW292ZXJmbG93XSAhPT0gJ2hpZGRlbicgJiZcbiAgICAgICAgLy8gY29udGFpbnMgc2Nyb2xsIGluc2lkZSBzZWxmXG4gICAgICAgICEoc3R5bGVzLm92ZXJmbG93WSA9PT0gc3R5bGVzLm92ZXJmbG93WCAmJiAhYWx3YXlzQ29udGFpbnNTY3JvbGwobm9kZSkgJiYgc3R5bGVzW292ZXJmbG93XSA9PT0gJ3Zpc2libGUnKSk7XG59O1xudmFyIGVsZW1lbnRDb3VsZEJlVlNjcm9sbGVkID0gZnVuY3Rpb24gKG5vZGUpIHsgcmV0dXJuIGVsZW1lbnRDYW5CZVNjcm9sbGVkKG5vZGUsICdvdmVyZmxvd1knKTsgfTtcbnZhciBlbGVtZW50Q291bGRCZUhTY3JvbGxlZCA9IGZ1bmN0aW9uIChub2RlKSB7IHJldHVybiBlbGVtZW50Q2FuQmVTY3JvbGxlZChub2RlLCAnb3ZlcmZsb3dYJyk7IH07XG5leHBvcnQgdmFyIGxvY2F0aW9uQ291bGRCZVNjcm9sbGVkID0gZnVuY3Rpb24gKGF4aXMsIG5vZGUpIHtcbiAgICB2YXIgb3duZXJEb2N1bWVudCA9IG5vZGUub3duZXJEb2N1bWVudDtcbiAgICB2YXIgY3VycmVudCA9IG5vZGU7XG4gICAgZG8ge1xuICAgICAgICAvLyBTa2lwIG92ZXIgc2hhZG93IHJvb3RcbiAgICAgICAgaWYgKHR5cGVvZiBTaGFkb3dSb290ICE9PSAndW5kZWZpbmVkJyAmJiBjdXJyZW50IGluc3RhbmNlb2YgU2hhZG93Um9vdCkge1xuICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQuaG9zdDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaXNTY3JvbGxhYmxlID0gZWxlbWVudENvdWxkQmVTY3JvbGxlZChheGlzLCBjdXJyZW50KTtcbiAgICAgICAgaWYgKGlzU2Nyb2xsYWJsZSkge1xuICAgICAgICAgICAgdmFyIF9hID0gZ2V0U2Nyb2xsVmFyaWFibGVzKGF4aXMsIGN1cnJlbnQpLCBzY3JvbGxIZWlnaHQgPSBfYVsxXSwgY2xpZW50SGVpZ2h0ID0gX2FbMl07XG4gICAgICAgICAgICBpZiAoc2Nyb2xsSGVpZ2h0ID4gY2xpZW50SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudCA9IGN1cnJlbnQucGFyZW50Tm9kZTtcbiAgICB9IHdoaWxlIChjdXJyZW50ICYmIGN1cnJlbnQgIT09IG93bmVyRG9jdW1lbnQuYm9keSk7XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcbnZhciBnZXRWU2Nyb2xsVmFyaWFibGVzID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIHNjcm9sbFRvcCA9IF9hLnNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0ID0gX2Euc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgPSBfYS5jbGllbnRIZWlnaHQ7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgc2Nyb2xsVG9wLFxuICAgICAgICBzY3JvbGxIZWlnaHQsXG4gICAgICAgIGNsaWVudEhlaWdodCxcbiAgICBdO1xufTtcbnZhciBnZXRIU2Nyb2xsVmFyaWFibGVzID0gZnVuY3Rpb24gKF9hKSB7XG4gICAgdmFyIHNjcm9sbExlZnQgPSBfYS5zY3JvbGxMZWZ0LCBzY3JvbGxXaWR0aCA9IF9hLnNjcm9sbFdpZHRoLCBjbGllbnRXaWR0aCA9IF9hLmNsaWVudFdpZHRoO1xuICAgIHJldHVybiBbXG4gICAgICAgIHNjcm9sbExlZnQsXG4gICAgICAgIHNjcm9sbFdpZHRoLFxuICAgICAgICBjbGllbnRXaWR0aCxcbiAgICBdO1xufTtcbnZhciBlbGVtZW50Q291bGRCZVNjcm9sbGVkID0gZnVuY3Rpb24gKGF4aXMsIG5vZGUpIHtcbiAgICByZXR1cm4gYXhpcyA9PT0gJ3YnID8gZWxlbWVudENvdWxkQmVWU2Nyb2xsZWQobm9kZSkgOiBlbGVtZW50Q291bGRCZUhTY3JvbGxlZChub2RlKTtcbn07XG52YXIgZ2V0U2Nyb2xsVmFyaWFibGVzID0gZnVuY3Rpb24gKGF4aXMsIG5vZGUpIHtcbiAgICByZXR1cm4gYXhpcyA9PT0gJ3YnID8gZ2V0VlNjcm9sbFZhcmlhYmxlcyhub2RlKSA6IGdldEhTY3JvbGxWYXJpYWJsZXMobm9kZSk7XG59O1xudmFyIGdldERpcmVjdGlvbkZhY3RvciA9IGZ1bmN0aW9uIChheGlzLCBkaXJlY3Rpb24pIHtcbiAgICAvKipcbiAgICAgKiBJZiB0aGUgZWxlbWVudCdzIGRpcmVjdGlvbiBpcyBydGwgKHJpZ2h0LXRvLWxlZnQpLCB0aGVuIHNjcm9sbExlZnQgaXMgMCB3aGVuIHRoZSBzY3JvbGxiYXIgaXMgYXQgaXRzIHJpZ2h0bW9zdCBwb3NpdGlvbixcbiAgICAgKiBhbmQgdGhlbiBpbmNyZWFzaW5nbHkgbmVnYXRpdmUgYXMgeW91IHNjcm9sbCB0b3dhcmRzIHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQuXG4gICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRWxlbWVudC9zY3JvbGxMZWZ0XG4gICAgICovXG4gICAgcmV0dXJuIGF4aXMgPT09ICdoJyAmJiBkaXJlY3Rpb24gPT09ICdydGwnID8gLTEgOiAxO1xufTtcbmV4cG9ydCB2YXIgaGFuZGxlU2Nyb2xsID0gZnVuY3Rpb24gKGF4aXMsIGVuZFRhcmdldCwgZXZlbnQsIHNvdXJjZURlbHRhLCBub092ZXJzY3JvbGwpIHtcbiAgICB2YXIgZGlyZWN0aW9uRmFjdG9yID0gZ2V0RGlyZWN0aW9uRmFjdG9yKGF4aXMsIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVuZFRhcmdldCkuZGlyZWN0aW9uKTtcbiAgICB2YXIgZGVsdGEgPSBkaXJlY3Rpb25GYWN0b3IgKiBzb3VyY2VEZWx0YTtcbiAgICAvLyBmaW5kIHNjcm9sbGFibGUgdGFyZ2V0XG4gICAgdmFyIHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICB2YXIgdGFyZ2V0SW5Mb2NrID0gZW5kVGFyZ2V0LmNvbnRhaW5zKHRhcmdldCk7XG4gICAgdmFyIHNob3VsZENhbmNlbFNjcm9sbCA9IGZhbHNlO1xuICAgIHZhciBpc0RlbHRhUG9zaXRpdmUgPSBkZWx0YSA+IDA7XG4gICAgdmFyIGF2YWlsYWJsZVNjcm9sbCA9IDA7XG4gICAgdmFyIGF2YWlsYWJsZVNjcm9sbFRvcCA9IDA7XG4gICAgZG8ge1xuICAgICAgICB2YXIgX2EgPSBnZXRTY3JvbGxWYXJpYWJsZXMoYXhpcywgdGFyZ2V0KSwgcG9zaXRpb24gPSBfYVswXSwgc2Nyb2xsXzEgPSBfYVsxXSwgY2FwYWNpdHkgPSBfYVsyXTtcbiAgICAgICAgdmFyIGVsZW1lbnRTY3JvbGwgPSBzY3JvbGxfMSAtIGNhcGFjaXR5IC0gZGlyZWN0aW9uRmFjdG9yICogcG9zaXRpb247XG4gICAgICAgIGlmIChwb3NpdGlvbiB8fCBlbGVtZW50U2Nyb2xsKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudENvdWxkQmVTY3JvbGxlZChheGlzLCB0YXJnZXQpKSB7XG4gICAgICAgICAgICAgICAgYXZhaWxhYmxlU2Nyb2xsICs9IGVsZW1lbnRTY3JvbGw7XG4gICAgICAgICAgICAgICAgYXZhaWxhYmxlU2Nyb2xsVG9wICs9IHBvc2l0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0YXJnZXQgaW5zdGFuY2VvZiBTaGFkb3dSb290KSB7XG4gICAgICAgICAgICB0YXJnZXQgPSB0YXJnZXQuaG9zdDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldCA9IHRhcmdldC5wYXJlbnROb2RlO1xuICAgICAgICB9XG4gICAgfSB3aGlsZSAoXG4gICAgLy8gcG9ydGFsZWQgY29udGVudFxuICAgICghdGFyZ2V0SW5Mb2NrICYmIHRhcmdldCAhPT0gZG9jdW1lbnQuYm9keSkgfHxcbiAgICAgICAgLy8gc2VsZiBjb250ZW50XG4gICAgICAgICh0YXJnZXRJbkxvY2sgJiYgKGVuZFRhcmdldC5jb250YWlucyh0YXJnZXQpIHx8IGVuZFRhcmdldCA9PT0gdGFyZ2V0KSkpO1xuICAgIC8vIGhhbmRsZSBlcHNpbG9uIGFyb3VuZCAwIChub24gc3RhbmRhcmQgem9vbSBsZXZlbHMpXG4gICAgaWYgKGlzRGVsdGFQb3NpdGl2ZSAmJlxuICAgICAgICAoKG5vT3ZlcnNjcm9sbCAmJiBNYXRoLmFicyhhdmFpbGFibGVTY3JvbGwpIDwgMSkgfHwgKCFub092ZXJzY3JvbGwgJiYgZGVsdGEgPiBhdmFpbGFibGVTY3JvbGwpKSkge1xuICAgICAgICBzaG91bGRDYW5jZWxTY3JvbGwgPSB0cnVlO1xuICAgIH1cbiAgICBlbHNlIGlmICghaXNEZWx0YVBvc2l0aXZlICYmXG4gICAgICAgICgobm9PdmVyc2Nyb2xsICYmIE1hdGguYWJzKGF2YWlsYWJsZVNjcm9sbFRvcCkgPCAxKSB8fCAoIW5vT3ZlcnNjcm9sbCAmJiAtZGVsdGEgPiBhdmFpbGFibGVTY3JvbGxUb3ApKSkge1xuICAgICAgICBzaG91bGRDYW5jZWxTY3JvbGwgPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gc2hvdWxkQ2FuY2VsU2Nyb2xsO1xufTtcbiIsImltcG9ydCB7IF9fc3ByZWFkQXJyYXkgfSBmcm9tIFwidHNsaWJcIjtcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFJlbW92ZVNjcm9sbEJhciB9IGZyb20gJ3JlYWN0LXJlbW92ZS1zY3JvbGwtYmFyJztcbmltcG9ydCB7IHN0eWxlU2luZ2xldG9uIH0gZnJvbSAncmVhY3Qtc3R5bGUtc2luZ2xldG9uJztcbmltcG9ydCB7IG5vblBhc3NpdmUgfSBmcm9tICcuL2FnZ3Jlc2l2ZUNhcHR1cmUnO1xuaW1wb3J0IHsgaGFuZGxlU2Nyb2xsLCBsb2NhdGlvbkNvdWxkQmVTY3JvbGxlZCB9IGZyb20gJy4vaGFuZGxlU2Nyb2xsJztcbmV4cG9ydCB2YXIgZ2V0VG91Y2hYWSA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiAnY2hhbmdlZFRvdWNoZXMnIGluIGV2ZW50ID8gW2V2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFgsIGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFldIDogWzAsIDBdO1xufTtcbmV4cG9ydCB2YXIgZ2V0RGVsdGFYWSA9IGZ1bmN0aW9uIChldmVudCkgeyByZXR1cm4gW2V2ZW50LmRlbHRhWCwgZXZlbnQuZGVsdGFZXTsgfTtcbnZhciBleHRyYWN0UmVmID0gZnVuY3Rpb24gKHJlZikge1xuICAgIHJldHVybiByZWYgJiYgJ2N1cnJlbnQnIGluIHJlZiA/IHJlZi5jdXJyZW50IDogcmVmO1xufTtcbnZhciBkZWx0YUNvbXBhcmUgPSBmdW5jdGlvbiAoeCwgeSkgeyByZXR1cm4geFswXSA9PT0geVswXSAmJiB4WzFdID09PSB5WzFdOyB9O1xudmFyIGdlbmVyYXRlU3R5bGUgPSBmdW5jdGlvbiAoaWQpIHsgcmV0dXJuIFwiXFxuICAuYmxvY2staW50ZXJhY3Rpdml0eS1cIi5jb25jYXQoaWQsIFwiIHtwb2ludGVyLWV2ZW50czogbm9uZTt9XFxuICAuYWxsb3ctaW50ZXJhY3Rpdml0eS1cIikuY29uY2F0KGlkLCBcIiB7cG9pbnRlci1ldmVudHM6IGFsbDt9XFxuXCIpOyB9O1xudmFyIGlkQ291bnRlciA9IDA7XG52YXIgbG9ja1N0YWNrID0gW107XG5leHBvcnQgZnVuY3Rpb24gUmVtb3ZlU2Nyb2xsU2lkZUNhcihwcm9wcykge1xuICAgIHZhciBzaG91bGRQcmV2ZW50UXVldWUgPSBSZWFjdC51c2VSZWYoW10pO1xuICAgIHZhciB0b3VjaFN0YXJ0UmVmID0gUmVhY3QudXNlUmVmKFswLCAwXSk7XG4gICAgdmFyIGFjdGl2ZUF4aXMgPSBSZWFjdC51c2VSZWYoKTtcbiAgICB2YXIgaWQgPSBSZWFjdC51c2VTdGF0ZShpZENvdW50ZXIrKylbMF07XG4gICAgdmFyIFN0eWxlID0gUmVhY3QudXNlU3RhdGUoc3R5bGVTaW5nbGV0b24pWzBdO1xuICAgIHZhciBsYXN0UHJvcHMgPSBSZWFjdC51c2VSZWYocHJvcHMpO1xuICAgIFJlYWN0LnVzZUVmZmVjdChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGxhc3RQcm9wcy5jdXJyZW50ID0gcHJvcHM7XG4gICAgfSwgW3Byb3BzXSk7XG4gICAgUmVhY3QudXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHByb3BzLmluZXJ0KSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJibG9jay1pbnRlcmFjdGl2aXR5LVwiLmNvbmNhdChpZCkpO1xuICAgICAgICAgICAgdmFyIGFsbG93XzEgPSBfX3NwcmVhZEFycmF5KFtwcm9wcy5sb2NrUmVmLmN1cnJlbnRdLCAocHJvcHMuc2hhcmRzIHx8IFtdKS5tYXAoZXh0cmFjdFJlZiksIHRydWUpLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgICAgIGFsbG93XzEuZm9yRWFjaChmdW5jdGlvbiAoZWwpIHsgcmV0dXJuIGVsLmNsYXNzTGlzdC5hZGQoXCJhbGxvdy1pbnRlcmFjdGl2aXR5LVwiLmNvbmNhdChpZCkpOyB9KTtcbiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKFwiYmxvY2staW50ZXJhY3Rpdml0eS1cIi5jb25jYXQoaWQpKTtcbiAgICAgICAgICAgICAgICBhbGxvd18xLmZvckVhY2goZnVuY3Rpb24gKGVsKSB7IHJldHVybiBlbC5jbGFzc0xpc3QucmVtb3ZlKFwiYWxsb3ctaW50ZXJhY3Rpdml0eS1cIi5jb25jYXQoaWQpKTsgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9LCBbcHJvcHMuaW5lcnQsIHByb3BzLmxvY2tSZWYuY3VycmVudCwgcHJvcHMuc2hhcmRzXSk7XG4gICAgdmFyIHNob3VsZENhbmNlbEV2ZW50ID0gUmVhY3QudXNlQ2FsbGJhY2soZnVuY3Rpb24gKGV2ZW50LCBwYXJlbnQpIHtcbiAgICAgICAgaWYgKCgndG91Y2hlcycgaW4gZXZlbnQgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPT09IDIpIHx8IChldmVudC50eXBlID09PSAnd2hlZWwnICYmIGV2ZW50LmN0cmxLZXkpKSB7XG4gICAgICAgICAgICByZXR1cm4gIWxhc3RQcm9wcy5jdXJyZW50LmFsbG93UGluY2hab29tO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0b3VjaCA9IGdldFRvdWNoWFkoZXZlbnQpO1xuICAgICAgICB2YXIgdG91Y2hTdGFydCA9IHRvdWNoU3RhcnRSZWYuY3VycmVudDtcbiAgICAgICAgdmFyIGRlbHRhWCA9ICdkZWx0YVgnIGluIGV2ZW50ID8gZXZlbnQuZGVsdGFYIDogdG91Y2hTdGFydFswXSAtIHRvdWNoWzBdO1xuICAgICAgICB2YXIgZGVsdGFZID0gJ2RlbHRhWScgaW4gZXZlbnQgPyBldmVudC5kZWx0YVkgOiB0b3VjaFN0YXJ0WzFdIC0gdG91Y2hbMV07XG4gICAgICAgIHZhciBjdXJyZW50QXhpcztcbiAgICAgICAgdmFyIHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgdmFyIG1vdmVEaXJlY3Rpb24gPSBNYXRoLmFicyhkZWx0YVgpID4gTWF0aC5hYnMoZGVsdGFZKSA/ICdoJyA6ICd2JztcbiAgICAgICAgLy8gYWxsb3cgaG9yaXpvbnRhbCB0b3VjaCBtb3ZlIG9uIFJhbmdlIGlucHV0cy4gVGhleSB3aWxsIG5vdCBjYXVzZSBhbnkgc2Nyb2xsXG4gICAgICAgIGlmICgndG91Y2hlcycgaW4gZXZlbnQgJiYgbW92ZURpcmVjdGlvbiA9PT0gJ2gnICYmIHRhcmdldC50eXBlID09PSAncmFuZ2UnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNhbkJlU2Nyb2xsZWRJbk1haW5EaXJlY3Rpb24gPSBsb2NhdGlvbkNvdWxkQmVTY3JvbGxlZChtb3ZlRGlyZWN0aW9uLCB0YXJnZXQpO1xuICAgICAgICBpZiAoIWNhbkJlU2Nyb2xsZWRJbk1haW5EaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYW5CZVNjcm9sbGVkSW5NYWluRGlyZWN0aW9uKSB7XG4gICAgICAgICAgICBjdXJyZW50QXhpcyA9IG1vdmVEaXJlY3Rpb247XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjdXJyZW50QXhpcyA9IG1vdmVEaXJlY3Rpb24gPT09ICd2JyA/ICdoJyA6ICd2JztcbiAgICAgICAgICAgIGNhbkJlU2Nyb2xsZWRJbk1haW5EaXJlY3Rpb24gPSBsb2NhdGlvbkNvdWxkQmVTY3JvbGxlZChtb3ZlRGlyZWN0aW9uLCB0YXJnZXQpO1xuICAgICAgICAgICAgLy8gb3RoZXIgYXhpcyBtaWdodCBiZSBub3Qgc2Nyb2xsYWJsZVxuICAgICAgICB9XG4gICAgICAgIGlmICghY2FuQmVTY3JvbGxlZEluTWFpbkRpcmVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYWN0aXZlQXhpcy5jdXJyZW50ICYmICdjaGFuZ2VkVG91Y2hlcycgaW4gZXZlbnQgJiYgKGRlbHRhWCB8fCBkZWx0YVkpKSB7XG4gICAgICAgICAgICBhY3RpdmVBeGlzLmN1cnJlbnQgPSBjdXJyZW50QXhpcztcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWN1cnJlbnRBeGlzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY2FuY2VsaW5nQXhpcyA9IGFjdGl2ZUF4aXMuY3VycmVudCB8fCBjdXJyZW50QXhpcztcbiAgICAgICAgcmV0dXJuIGhhbmRsZVNjcm9sbChjYW5jZWxpbmdBeGlzLCBwYXJlbnQsIGV2ZW50LCBjYW5jZWxpbmdBeGlzID09PSAnaCcgPyBkZWx0YVggOiBkZWx0YVksIHRydWUpO1xuICAgIH0sIFtdKTtcbiAgICB2YXIgc2hvdWxkUHJldmVudCA9IFJlYWN0LnVzZUNhbGxiYWNrKGZ1bmN0aW9uIChfZXZlbnQpIHtcbiAgICAgICAgdmFyIGV2ZW50ID0gX2V2ZW50O1xuICAgICAgICBpZiAoIWxvY2tTdGFjay5sZW5ndGggfHwgbG9ja1N0YWNrW2xvY2tTdGFjay5sZW5ndGggLSAxXSAhPT0gU3R5bGUpIHtcbiAgICAgICAgICAgIC8vIG5vdCB0aGUgbGFzdCBhY3RpdmVcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZGVsdGEgPSAnZGVsdGFZJyBpbiBldmVudCA/IGdldERlbHRhWFkoZXZlbnQpIDogZ2V0VG91Y2hYWShldmVudCk7XG4gICAgICAgIHZhciBzb3VyY2VFdmVudCA9IHNob3VsZFByZXZlbnRRdWV1ZS5jdXJyZW50LmZpbHRlcihmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS5uYW1lID09PSBldmVudC50eXBlICYmIChlLnRhcmdldCA9PT0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnRhcmdldCA9PT0gZS5zaGFkb3dQYXJlbnQpICYmIGRlbHRhQ29tcGFyZShlLmRlbHRhLCBkZWx0YSk7IH0pWzBdO1xuICAgICAgICAvLyBzZWxmIGV2ZW50LCBhbmQgc2hvdWxkIGJlIGNhbmNlbGVkXG4gICAgICAgIGlmIChzb3VyY2VFdmVudCAmJiBzb3VyY2VFdmVudC5zaG91bGQpIHtcbiAgICAgICAgICAgIGlmIChldmVudC5jYW5jZWxhYmxlKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBvdXRzaWRlIG9yIHNoYXJkIGV2ZW50XG4gICAgICAgIGlmICghc291cmNlRXZlbnQpIHtcbiAgICAgICAgICAgIHZhciBzaGFyZE5vZGVzID0gKGxhc3RQcm9wcy5jdXJyZW50LnNoYXJkcyB8fCBbXSlcbiAgICAgICAgICAgICAgICAubWFwKGV4dHJhY3RSZWYpXG4gICAgICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKG5vZGUpIHsgcmV0dXJuIG5vZGUuY29udGFpbnMoZXZlbnQudGFyZ2V0KTsgfSk7XG4gICAgICAgICAgICB2YXIgc2hvdWxkU3RvcCA9IHNoYXJkTm9kZXMubGVuZ3RoID4gMCA/IHNob3VsZENhbmNlbEV2ZW50KGV2ZW50LCBzaGFyZE5vZGVzWzBdKSA6ICFsYXN0UHJvcHMuY3VycmVudC5ub0lzb2xhdGlvbjtcbiAgICAgICAgICAgIGlmIChzaG91bGRTdG9wKSB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmNhbmNlbGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgdmFyIHNob3VsZENhbmNlbCA9IFJlYWN0LnVzZUNhbGxiYWNrKGZ1bmN0aW9uIChuYW1lLCBkZWx0YSwgdGFyZ2V0LCBzaG91bGQpIHtcbiAgICAgICAgdmFyIGV2ZW50ID0geyBuYW1lOiBuYW1lLCBkZWx0YTogZGVsdGEsIHRhcmdldDogdGFyZ2V0LCBzaG91bGQ6IHNob3VsZCwgc2hhZG93UGFyZW50OiBnZXRPdXRlcm1vc3RTaGFkb3dQYXJlbnQodGFyZ2V0KSB9O1xuICAgICAgICBzaG91bGRQcmV2ZW50UXVldWUuY3VycmVudC5wdXNoKGV2ZW50KTtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBzaG91bGRQcmV2ZW50UXVldWUuY3VycmVudCA9IHNob3VsZFByZXZlbnRRdWV1ZS5jdXJyZW50LmZpbHRlcihmdW5jdGlvbiAoZSkgeyByZXR1cm4gZSAhPT0gZXZlbnQ7IH0pO1xuICAgICAgICB9LCAxKTtcbiAgICB9LCBbXSk7XG4gICAgdmFyIHNjcm9sbFRvdWNoU3RhcnQgPSBSZWFjdC51c2VDYWxsYmFjayhmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgdG91Y2hTdGFydFJlZi5jdXJyZW50ID0gZ2V0VG91Y2hYWShldmVudCk7XG4gICAgICAgIGFjdGl2ZUF4aXMuY3VycmVudCA9IHVuZGVmaW5lZDtcbiAgICB9LCBbXSk7XG4gICAgdmFyIHNjcm9sbFdoZWVsID0gUmVhY3QudXNlQ2FsbGJhY2soZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHNob3VsZENhbmNlbChldmVudC50eXBlLCBnZXREZWx0YVhZKGV2ZW50KSwgZXZlbnQudGFyZ2V0LCBzaG91bGRDYW5jZWxFdmVudChldmVudCwgcHJvcHMubG9ja1JlZi5jdXJyZW50KSk7XG4gICAgfSwgW10pO1xuICAgIHZhciBzY3JvbGxUb3VjaE1vdmUgPSBSZWFjdC51c2VDYWxsYmFjayhmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgc2hvdWxkQ2FuY2VsKGV2ZW50LnR5cGUsIGdldFRvdWNoWFkoZXZlbnQpLCBldmVudC50YXJnZXQsIHNob3VsZENhbmNlbEV2ZW50KGV2ZW50LCBwcm9wcy5sb2NrUmVmLmN1cnJlbnQpKTtcbiAgICB9LCBbXSk7XG4gICAgUmVhY3QudXNlRWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbG9ja1N0YWNrLnB1c2goU3R5bGUpO1xuICAgICAgICBwcm9wcy5zZXRDYWxsYmFja3Moe1xuICAgICAgICAgICAgb25TY3JvbGxDYXB0dXJlOiBzY3JvbGxXaGVlbCxcbiAgICAgICAgICAgIG9uV2hlZWxDYXB0dXJlOiBzY3JvbGxXaGVlbCxcbiAgICAgICAgICAgIG9uVG91Y2hNb3ZlQ2FwdHVyZTogc2Nyb2xsVG91Y2hNb3ZlLFxuICAgICAgICB9KTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignd2hlZWwnLCBzaG91bGRQcmV2ZW50LCBub25QYXNzaXZlKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgc2hvdWxkUHJldmVudCwgbm9uUGFzc2l2ZSk7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBzY3JvbGxUb3VjaFN0YXJ0LCBub25QYXNzaXZlKTtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGxvY2tTdGFjayA9IGxvY2tTdGFjay5maWx0ZXIoZnVuY3Rpb24gKGluc3QpIHsgcmV0dXJuIGluc3QgIT09IFN0eWxlOyB9KTtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3doZWVsJywgc2hvdWxkUHJldmVudCwgbm9uUGFzc2l2ZSk7XG4gICAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCBzaG91bGRQcmV2ZW50LCBub25QYXNzaXZlKTtcbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCBzY3JvbGxUb3VjaFN0YXJ0LCBub25QYXNzaXZlKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgdmFyIHJlbW92ZVNjcm9sbEJhciA9IHByb3BzLnJlbW92ZVNjcm9sbEJhciwgaW5lcnQgPSBwcm9wcy5pbmVydDtcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsXG4gICAgICAgIGluZXJ0ID8gUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZSwgeyBzdHlsZXM6IGdlbmVyYXRlU3R5bGUoaWQpIH0pIDogbnVsbCxcbiAgICAgICAgcmVtb3ZlU2Nyb2xsQmFyID8gUmVhY3QuY3JlYXRlRWxlbWVudChSZW1vdmVTY3JvbGxCYXIsIHsgZ2FwTW9kZTogcHJvcHMuZ2FwTW9kZSB9KSA6IG51bGwpKTtcbn1cbmZ1bmN0aW9uIGdldE91dGVybW9zdFNoYWRvd1BhcmVudChub2RlKSB7XG4gICAgdmFyIHNoYWRvd1BhcmVudCA9IG51bGw7XG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBTaGFkb3dSb290KSB7XG4gICAgICAgICAgICBzaGFkb3dQYXJlbnQgPSBub2RlLmhvc3Q7XG4gICAgICAgICAgICBub2RlID0gbm9kZS5ob3N0O1xuICAgICAgICB9XG4gICAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7XG4gICAgfVxuICAgIHJldHVybiBzaGFkb3dQYXJlbnQ7XG59XG4iLCJpbXBvcnQgeyBleHBvcnRTaWRlY2FyIH0gZnJvbSAndXNlLXNpZGVjYXInO1xuaW1wb3J0IHsgUmVtb3ZlU2Nyb2xsU2lkZUNhciB9IGZyb20gJy4vU2lkZUVmZmVjdCc7XG5pbXBvcnQgeyBlZmZlY3RDYXIgfSBmcm9tICcuL21lZGl1bSc7XG5leHBvcnQgZGVmYXVsdCBleHBvcnRTaWRlY2FyKGVmZmVjdENhciwgUmVtb3ZlU2Nyb2xsU2lkZUNhcik7XG4iLCJpbXBvcnQgeyBfX2Fzc2lnbiB9IGZyb20gXCJ0c2xpYlwiO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUmVtb3ZlU2Nyb2xsIH0gZnJvbSAnLi9VSSc7XG5pbXBvcnQgU2lkZUNhciBmcm9tICcuL3NpZGVjYXInO1xudmFyIFJlYWN0UmVtb3ZlU2Nyb2xsID0gUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiAocHJvcHMsIHJlZikgeyByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVtb3ZlU2Nyb2xsLCBfX2Fzc2lnbih7fSwgcHJvcHMsIHsgcmVmOiByZWYsIHNpZGVDYXI6IFNpZGVDYXIgfSkpKTsgfSk7XG5SZWFjdFJlbW92ZVNjcm9sbC5jbGFzc05hbWVzID0gUmVtb3ZlU2Nyb2xsLmNsYXNzTmFtZXM7XG5leHBvcnQgZGVmYXVsdCBSZWFjdFJlbW92ZVNjcm9sbDtcbiIsInZhciBnZXREZWZhdWx0UGFyZW50ID0gZnVuY3Rpb24gKG9yaWdpbmFsVGFyZ2V0KSB7XG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhciBzYW1wbGVUYXJnZXQgPSBBcnJheS5pc0FycmF5KG9yaWdpbmFsVGFyZ2V0KSA/IG9yaWdpbmFsVGFyZ2V0WzBdIDogb3JpZ2luYWxUYXJnZXQ7XG4gICAgcmV0dXJuIHNhbXBsZVRhcmdldC5vd25lckRvY3VtZW50LmJvZHk7XG59O1xudmFyIGNvdW50ZXJNYXAgPSBuZXcgV2Vha01hcCgpO1xudmFyIHVuY29udHJvbGxlZE5vZGVzID0gbmV3IFdlYWtNYXAoKTtcbnZhciBtYXJrZXJNYXAgPSB7fTtcbnZhciBsb2NrQ291bnQgPSAwO1xudmFyIHVud3JhcEhvc3QgPSBmdW5jdGlvbiAobm9kZSkge1xuICAgIHJldHVybiBub2RlICYmIChub2RlLmhvc3QgfHwgdW53cmFwSG9zdChub2RlLnBhcmVudE5vZGUpKTtcbn07XG52YXIgY29ycmVjdFRhcmdldHMgPSBmdW5jdGlvbiAocGFyZW50LCB0YXJnZXRzKSB7XG4gICAgcmV0dXJuIHRhcmdldHNcbiAgICAgICAgLm1hcChmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgICAgIGlmIChwYXJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY29ycmVjdGVkVGFyZ2V0ID0gdW53cmFwSG9zdCh0YXJnZXQpO1xuICAgICAgICBpZiAoY29ycmVjdGVkVGFyZ2V0ICYmIHBhcmVudC5jb250YWlucyhjb3JyZWN0ZWRUYXJnZXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gY29ycmVjdGVkVGFyZ2V0O1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2FyaWEtaGlkZGVuJywgdGFyZ2V0LCAnaW4gbm90IGNvbnRhaW5lZCBpbnNpZGUnLCBwYXJlbnQsICcuIERvaW5nIG5vdGhpbmcnKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSlcbiAgICAgICAgLmZpbHRlcihmdW5jdGlvbiAoeCkgeyByZXR1cm4gQm9vbGVhbih4KTsgfSk7XG59O1xuLyoqXG4gKiBNYXJrcyBldmVyeXRoaW5nIGV4Y2VwdCBnaXZlbiBub2RlKG9yIG5vZGVzKSBhcyBhcmlhLWhpZGRlblxuICogQHBhcmFtIHtFbGVtZW50IHwgRWxlbWVudFtdfSBvcmlnaW5hbFRhcmdldCAtIGVsZW1lbnRzIHRvIGtlZXAgb24gdGhlIHBhZ2VcbiAqIEBwYXJhbSBbcGFyZW50Tm9kZV0gLSB0b3AgZWxlbWVudCwgZGVmYXVsdHMgdG8gZG9jdW1lbnQuYm9keVxuICogQHBhcmFtIHtTdHJpbmd9IFttYXJrZXJOYW1lXSAtIGEgc3BlY2lhbCBhdHRyaWJ1dGUgdG8gbWFyayBldmVyeSBub2RlXG4gKiBAcGFyYW0ge1N0cmluZ30gW2NvbnRyb2xBdHRyaWJ1dGVdIC0gaHRtbCBBdHRyaWJ1dGUgdG8gY29udHJvbFxuICogQHJldHVybiB7VW5kb30gdW5kbyBjb21tYW5kXG4gKi9cbnZhciBhcHBseUF0dHJpYnV0ZVRvT3RoZXJzID0gZnVuY3Rpb24gKG9yaWdpbmFsVGFyZ2V0LCBwYXJlbnROb2RlLCBtYXJrZXJOYW1lLCBjb250cm9sQXR0cmlidXRlKSB7XG4gICAgdmFyIHRhcmdldHMgPSBjb3JyZWN0VGFyZ2V0cyhwYXJlbnROb2RlLCBBcnJheS5pc0FycmF5KG9yaWdpbmFsVGFyZ2V0KSA/IG9yaWdpbmFsVGFyZ2V0IDogW29yaWdpbmFsVGFyZ2V0XSk7XG4gICAgaWYgKCFtYXJrZXJNYXBbbWFya2VyTmFtZV0pIHtcbiAgICAgICAgbWFya2VyTWFwW21hcmtlck5hbWVdID0gbmV3IFdlYWtNYXAoKTtcbiAgICB9XG4gICAgdmFyIG1hcmtlckNvdW50ZXIgPSBtYXJrZXJNYXBbbWFya2VyTmFtZV07XG4gICAgdmFyIGhpZGRlbk5vZGVzID0gW107XG4gICAgdmFyIGVsZW1lbnRzVG9LZWVwID0gbmV3IFNldCgpO1xuICAgIHZhciBlbGVtZW50c1RvU3RvcCA9IG5ldyBTZXQodGFyZ2V0cyk7XG4gICAgdmFyIGtlZXAgPSBmdW5jdGlvbiAoZWwpIHtcbiAgICAgICAgaWYgKCFlbCB8fCBlbGVtZW50c1RvS2VlcC5oYXMoZWwpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZWxlbWVudHNUb0tlZXAuYWRkKGVsKTtcbiAgICAgICAga2VlcChlbC5wYXJlbnROb2RlKTtcbiAgICB9O1xuICAgIHRhcmdldHMuZm9yRWFjaChrZWVwKTtcbiAgICB2YXIgZGVlcCA9IGZ1bmN0aW9uIChwYXJlbnQpIHtcbiAgICAgICAgaWYgKCFwYXJlbnQgfHwgZWxlbWVudHNUb1N0b3AuaGFzKHBhcmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHBhcmVudC5jaGlsZHJlbiwgZnVuY3Rpb24gKG5vZGUpIHtcbiAgICAgICAgICAgIGlmIChlbGVtZW50c1RvS2VlcC5oYXMobm9kZSkpIHtcbiAgICAgICAgICAgICAgICBkZWVwKG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGF0dHIgPSBub2RlLmdldEF0dHJpYnV0ZShjb250cm9sQXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGFscmVhZHlIaWRkZW4gPSBhdHRyICE9PSBudWxsICYmIGF0dHIgIT09ICdmYWxzZSc7XG4gICAgICAgICAgICAgICAgICAgIHZhciBjb3VudGVyVmFsdWUgPSAoY291bnRlck1hcC5nZXQobm9kZSkgfHwgMCkgKyAxO1xuICAgICAgICAgICAgICAgICAgICB2YXIgbWFya2VyVmFsdWUgPSAobWFya2VyQ291bnRlci5nZXQobm9kZSkgfHwgMCkgKyAxO1xuICAgICAgICAgICAgICAgICAgICBjb3VudGVyTWFwLnNldChub2RlLCBjb3VudGVyVmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICBtYXJrZXJDb3VudGVyLnNldChub2RlLCBtYXJrZXJWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbk5vZGVzLnB1c2gobm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb3VudGVyVmFsdWUgPT09IDEgJiYgYWxyZWFkeUhpZGRlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdW5jb250cm9sbGVkTm9kZXMuc2V0KG5vZGUsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXJrZXJWYWx1ZSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUobWFya2VyTmFtZSwgJ3RydWUnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWFscmVhZHlIaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKGNvbnRyb2xBdHRyaWJ1dGUsICd0cnVlJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignYXJpYS1oaWRkZW46IGNhbm5vdCBvcGVyYXRlIG9uICcsIG5vZGUsIGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBkZWVwKHBhcmVudE5vZGUpO1xuICAgIGVsZW1lbnRzVG9LZWVwLmNsZWFyKCk7XG4gICAgbG9ja0NvdW50Kys7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaGlkZGVuTm9kZXMuZm9yRWFjaChmdW5jdGlvbiAobm9kZSkge1xuICAgICAgICAgICAgdmFyIGNvdW50ZXJWYWx1ZSA9IGNvdW50ZXJNYXAuZ2V0KG5vZGUpIC0gMTtcbiAgICAgICAgICAgIHZhciBtYXJrZXJWYWx1ZSA9IG1hcmtlckNvdW50ZXIuZ2V0KG5vZGUpIC0gMTtcbiAgICAgICAgICAgIGNvdW50ZXJNYXAuc2V0KG5vZGUsIGNvdW50ZXJWYWx1ZSk7XG4gICAgICAgICAgICBtYXJrZXJDb3VudGVyLnNldChub2RlLCBtYXJrZXJWYWx1ZSk7XG4gICAgICAgICAgICBpZiAoIWNvdW50ZXJWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICghdW5jb250cm9sbGVkTm9kZXMuaGFzKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKGNvbnRyb2xBdHRyaWJ1dGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB1bmNvbnRyb2xsZWROb2Rlcy5kZWxldGUobm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIW1hcmtlclZhbHVlKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUobWFya2VyTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBsb2NrQ291bnQtLTtcbiAgICAgICAgaWYgKCFsb2NrQ291bnQpIHtcbiAgICAgICAgICAgIC8vIGNsZWFyXG4gICAgICAgICAgICBjb3VudGVyTWFwID0gbmV3IFdlYWtNYXAoKTtcbiAgICAgICAgICAgIGNvdW50ZXJNYXAgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgICAgICAgdW5jb250cm9sbGVkTm9kZXMgPSBuZXcgV2Vha01hcCgpO1xuICAgICAgICAgICAgbWFya2VyTWFwID0ge307XG4gICAgICAgIH1cbiAgICB9O1xufTtcbi8qKlxuICogTWFya3MgZXZlcnl0aGluZyBleGNlcHQgZ2l2ZW4gbm9kZShvciBub2RlcykgYXMgYXJpYS1oaWRkZW5cbiAqIEBwYXJhbSB7RWxlbWVudCB8IEVsZW1lbnRbXX0gb3JpZ2luYWxUYXJnZXQgLSBlbGVtZW50cyB0byBrZWVwIG9uIHRoZSBwYWdlXG4gKiBAcGFyYW0gW3BhcmVudE5vZGVdIC0gdG9wIGVsZW1lbnQsIGRlZmF1bHRzIHRvIGRvY3VtZW50LmJvZHlcbiAqIEBwYXJhbSB7U3RyaW5nfSBbbWFya2VyTmFtZV0gLSBhIHNwZWNpYWwgYXR0cmlidXRlIHRvIG1hcmsgZXZlcnkgbm9kZVxuICogQHJldHVybiB7VW5kb30gdW5kbyBjb21tYW5kXG4gKi9cbmV4cG9ydCB2YXIgaGlkZU90aGVycyA9IGZ1bmN0aW9uIChvcmlnaW5hbFRhcmdldCwgcGFyZW50Tm9kZSwgbWFya2VyTmFtZSkge1xuICAgIGlmIChtYXJrZXJOYW1lID09PSB2b2lkIDApIHsgbWFya2VyTmFtZSA9ICdkYXRhLWFyaWEtaGlkZGVuJzsgfVxuICAgIHZhciB0YXJnZXRzID0gQXJyYXkuZnJvbShBcnJheS5pc0FycmF5KG9yaWdpbmFsVGFyZ2V0KSA/IG9yaWdpbmFsVGFyZ2V0IDogW29yaWdpbmFsVGFyZ2V0XSk7XG4gICAgdmFyIGFjdGl2ZVBhcmVudE5vZGUgPSBwYXJlbnROb2RlIHx8IGdldERlZmF1bHRQYXJlbnQob3JpZ2luYWxUYXJnZXQpO1xuICAgIGlmICghYWN0aXZlUGFyZW50Tm9kZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyByZXR1cm4gbnVsbDsgfTtcbiAgICB9XG4gICAgLy8gd2Ugc2hvdWxkIG5vdCBoaWRlIGFyaWFMaXZlIGVsZW1lbnRzIC0gaHR0cHM6Ly9naXRodWIuY29tL3RoZUthc2hleS9hcmlhLWhpZGRlbi9pc3N1ZXMvMTBcbiAgICB0YXJnZXRzLnB1c2guYXBwbHkodGFyZ2V0cywgQXJyYXkuZnJvbShhY3RpdmVQYXJlbnROb2RlLnF1ZXJ5U2VsZWN0b3JBbGwoJ1thcmlhLWxpdmVdJykpKTtcbiAgICByZXR1cm4gYXBwbHlBdHRyaWJ1dGVUb090aGVycyh0YXJnZXRzLCBhY3RpdmVQYXJlbnROb2RlLCBtYXJrZXJOYW1lLCAnYXJpYS1oaWRkZW4nKTtcbn07XG4vKipcbiAqIE1hcmtzIGV2ZXJ5dGhpbmcgZXhjZXB0IGdpdmVuIG5vZGUob3Igbm9kZXMpIGFzIGluZXJ0XG4gKiBAcGFyYW0ge0VsZW1lbnQgfCBFbGVtZW50W119IG9yaWdpbmFsVGFyZ2V0IC0gZWxlbWVudHMgdG8ga2VlcCBvbiB0aGUgcGFnZVxuICogQHBhcmFtIFtwYXJlbnROb2RlXSAtIHRvcCBlbGVtZW50LCBkZWZhdWx0cyB0byBkb2N1bWVudC5ib2R5XG4gKiBAcGFyYW0ge1N0cmluZ30gW21hcmtlck5hbWVdIC0gYSBzcGVjaWFsIGF0dHJpYnV0ZSB0byBtYXJrIGV2ZXJ5IG5vZGVcbiAqIEByZXR1cm4ge1VuZG99IHVuZG8gY29tbWFuZFxuICovXG5leHBvcnQgdmFyIGluZXJ0T3RoZXJzID0gZnVuY3Rpb24gKG9yaWdpbmFsVGFyZ2V0LCBwYXJlbnROb2RlLCBtYXJrZXJOYW1lKSB7XG4gICAgaWYgKG1hcmtlck5hbWUgPT09IHZvaWQgMCkgeyBtYXJrZXJOYW1lID0gJ2RhdGEtaW5lcnQtZWQnOyB9XG4gICAgdmFyIGFjdGl2ZVBhcmVudE5vZGUgPSBwYXJlbnROb2RlIHx8IGdldERlZmF1bHRQYXJlbnQob3JpZ2luYWxUYXJnZXQpO1xuICAgIGlmICghYWN0aXZlUGFyZW50Tm9kZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyByZXR1cm4gbnVsbDsgfTtcbiAgICB9XG4gICAgcmV0dXJuIGFwcGx5QXR0cmlidXRlVG9PdGhlcnMob3JpZ2luYWxUYXJnZXQsIGFjdGl2ZVBhcmVudE5vZGUsIG1hcmtlck5hbWUsICdpbmVydCcpO1xufTtcbi8qKlxuICogQHJldHVybnMgaWYgY3VycmVudCBicm93c2VyIHN1cHBvcnRzIGluZXJ0XG4gKi9cbmV4cG9ydCB2YXIgc3VwcG9ydHNJbmVydCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdHlwZW9mIEhUTUxFbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiBIVE1MRWxlbWVudC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ2luZXJ0Jyk7XG59O1xuLyoqXG4gKiBBdXRvbWF0aWMgZnVuY3Rpb24gdG8gXCJzdXBwcmVzc1wiIERPTSBlbGVtZW50cyAtIF9oaWRlXyBvciBfaW5lcnRfIGluIHRoZSBiZXN0IHBvc3NpYmxlIHdheVxuICogQHBhcmFtIHtFbGVtZW50IHwgRWxlbWVudFtdfSBvcmlnaW5hbFRhcmdldCAtIGVsZW1lbnRzIHRvIGtlZXAgb24gdGhlIHBhZ2VcbiAqIEBwYXJhbSBbcGFyZW50Tm9kZV0gLSB0b3AgZWxlbWVudCwgZGVmYXVsdHMgdG8gZG9jdW1lbnQuYm9keVxuICogQHBhcmFtIHtTdHJpbmd9IFttYXJrZXJOYW1lXSAtIGEgc3BlY2lhbCBhdHRyaWJ1dGUgdG8gbWFyayBldmVyeSBub2RlXG4gKiBAcmV0dXJuIHtVbmRvfSB1bmRvIGNvbW1hbmRcbiAqL1xuZXhwb3J0IHZhciBzdXBwcmVzc090aGVycyA9IGZ1bmN0aW9uIChvcmlnaW5hbFRhcmdldCwgcGFyZW50Tm9kZSwgbWFya2VyTmFtZSkge1xuICAgIGlmIChtYXJrZXJOYW1lID09PSB2b2lkIDApIHsgbWFya2VyTmFtZSA9ICdkYXRhLXN1cHByZXNzZWQnOyB9XG4gICAgcmV0dXJuIChzdXBwb3J0c0luZXJ0KCkgPyBpbmVydE90aGVycyA6IGhpZGVPdGhlcnMpKG9yaWdpbmFsVGFyZ2V0LCBwYXJlbnROb2RlLCBtYXJrZXJOYW1lKTtcbn07XG4iLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvZGlhbG9nL3NyYy9kaWFsb2cudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSBcIkByYWRpeC11aS9wcmltaXRpdmVcIjtcbmltcG9ydCB7IHVzZUNvbXBvc2VkUmVmcyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0LCBjcmVhdGVDb250ZXh0U2NvcGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUlkIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1pZFwiO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxhYmxlU3RhdGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGVcIjtcbmltcG9ydCB7IERpc21pc3NhYmxlTGF5ZXIgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWRpc21pc3NhYmxlLWxheWVyXCI7XG5pbXBvcnQgeyBGb2N1c1Njb3BlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1mb2N1cy1zY29wZVwiO1xuaW1wb3J0IHsgUG9ydGFsIGFzIFBvcnRhbFByaW1pdGl2ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcG9ydGFsXCI7XG5pbXBvcnQgeyBQcmVzZW5jZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcHJlc2VuY2VcIjtcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlXCI7XG5pbXBvcnQgeyB1c2VGb2N1c0d1YXJkcyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtZm9jdXMtZ3VhcmRzXCI7XG5pbXBvcnQgeyBSZW1vdmVTY3JvbGwgfSBmcm9tIFwicmVhY3QtcmVtb3ZlLXNjcm9sbFwiO1xuaW1wb3J0IHsgaGlkZU90aGVycyB9IGZyb20gXCJhcmlhLWhpZGRlblwiO1xuaW1wb3J0IHsgU2xvdCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3Qtc2xvdFwiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIERJQUxPR19OQU1FID0gXCJEaWFsb2dcIjtcbnZhciBbY3JlYXRlRGlhbG9nQ29udGV4dCwgY3JlYXRlRGlhbG9nU2NvcGVdID0gY3JlYXRlQ29udGV4dFNjb3BlKERJQUxPR19OQU1FKTtcbnZhciBbRGlhbG9nUHJvdmlkZXIsIHVzZURpYWxvZ0NvbnRleHRdID0gY3JlYXRlRGlhbG9nQ29udGV4dChESUFMT0dfTkFNRSk7XG52YXIgRGlhbG9nID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfX3Njb3BlRGlhbG9nLFxuICAgIGNoaWxkcmVuLFxuICAgIG9wZW46IG9wZW5Qcm9wLFxuICAgIGRlZmF1bHRPcGVuLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBtb2RhbCA9IHRydWVcbiAgfSA9IHByb3BzO1xuICBjb25zdCB0cmlnZ2VyUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBjb250ZW50UmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBbb3BlbiA9IGZhbHNlLCBzZXRPcGVuXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICBwcm9wOiBvcGVuUHJvcCxcbiAgICBkZWZhdWx0UHJvcDogZGVmYXVsdE9wZW4sXG4gICAgb25DaGFuZ2U6IG9uT3BlbkNoYW5nZVxuICB9KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgRGlhbG9nUHJvdmlkZXIsXG4gICAge1xuICAgICAgc2NvcGU6IF9fc2NvcGVEaWFsb2csXG4gICAgICB0cmlnZ2VyUmVmLFxuICAgICAgY29udGVudFJlZixcbiAgICAgIGNvbnRlbnRJZDogdXNlSWQoKSxcbiAgICAgIHRpdGxlSWQ6IHVzZUlkKCksXG4gICAgICBkZXNjcmlwdGlvbklkOiB1c2VJZCgpLFxuICAgICAgb3BlbixcbiAgICAgIG9uT3BlbkNoYW5nZTogc2V0T3BlbixcbiAgICAgIG9uT3BlblRvZ2dsZTogUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4gc2V0T3BlbigocHJldk9wZW4pID0+ICFwcmV2T3BlbiksIFtzZXRPcGVuXSksXG4gICAgICBtb2RhbCxcbiAgICAgIGNoaWxkcmVuXG4gICAgfVxuICApO1xufTtcbkRpYWxvZy5kaXNwbGF5TmFtZSA9IERJQUxPR19OQU1FO1xudmFyIFRSSUdHRVJfTkFNRSA9IFwiRGlhbG9nVHJpZ2dlclwiO1xudmFyIERpYWxvZ1RyaWdnZXIgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZURpYWxvZywgLi4udHJpZ2dlclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlRGlhbG9nQ29udGV4dChUUklHR0VSX05BTUUsIF9fc2NvcGVEaWFsb2cpO1xuICAgIGNvbnN0IGNvbXBvc2VkVHJpZ2dlclJlZiA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIGNvbnRleHQudHJpZ2dlclJlZik7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBQcmltaXRpdmUuYnV0dG9uLFxuICAgICAge1xuICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICBcImFyaWEtaGFzcG9wdXBcIjogXCJkaWFsb2dcIixcbiAgICAgICAgXCJhcmlhLWV4cGFuZGVkXCI6IGNvbnRleHQub3BlbixcbiAgICAgICAgXCJhcmlhLWNvbnRyb2xzXCI6IGNvbnRleHQuY29udGVudElkLFxuICAgICAgICBcImRhdGEtc3RhdGVcIjogZ2V0U3RhdGUoY29udGV4dC5vcGVuKSxcbiAgICAgICAgLi4udHJpZ2dlclByb3BzLFxuICAgICAgICByZWY6IGNvbXBvc2VkVHJpZ2dlclJlZixcbiAgICAgICAgb25DbGljazogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25DbGljaywgY29udGV4dC5vbk9wZW5Ub2dnbGUpXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbkRpYWxvZ1RyaWdnZXIuZGlzcGxheU5hbWUgPSBUUklHR0VSX05BTUU7XG52YXIgUE9SVEFMX05BTUUgPSBcIkRpYWxvZ1BvcnRhbFwiO1xudmFyIFtQb3J0YWxQcm92aWRlciwgdXNlUG9ydGFsQ29udGV4dF0gPSBjcmVhdGVEaWFsb2dDb250ZXh0KFBPUlRBTF9OQU1FLCB7XG4gIGZvcmNlTW91bnQ6IHZvaWQgMFxufSk7XG52YXIgRGlhbG9nUG9ydGFsID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgX19zY29wZURpYWxvZywgZm9yY2VNb3VudCwgY2hpbGRyZW4sIGNvbnRhaW5lciB9ID0gcHJvcHM7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VEaWFsb2dDb250ZXh0KFBPUlRBTF9OQU1FLCBfX3Njb3BlRGlhbG9nKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUG9ydGFsUHJvdmlkZXIsIHsgc2NvcGU6IF9fc2NvcGVEaWFsb2csIGZvcmNlTW91bnQsIGNoaWxkcmVuOiBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIChjaGlsZCkgPT4gLyogQF9fUFVSRV9fICovIGpzeChQcmVzZW5jZSwgeyBwcmVzZW50OiBmb3JjZU1vdW50IHx8IGNvbnRleHQub3BlbiwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUG9ydGFsUHJpbWl0aXZlLCB7IGFzQ2hpbGQ6IHRydWUsIGNvbnRhaW5lciwgY2hpbGRyZW46IGNoaWxkIH0pIH0pKSB9KTtcbn07XG5EaWFsb2dQb3J0YWwuZGlzcGxheU5hbWUgPSBQT1JUQUxfTkFNRTtcbnZhciBPVkVSTEFZX05BTUUgPSBcIkRpYWxvZ092ZXJsYXlcIjtcbnZhciBEaWFsb2dPdmVybGF5ID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCBwb3J0YWxDb250ZXh0ID0gdXNlUG9ydGFsQ29udGV4dChPVkVSTEFZX05BTUUsIHByb3BzLl9fc2NvcGVEaWFsb2cpO1xuICAgIGNvbnN0IHsgZm9yY2VNb3VudCA9IHBvcnRhbENvbnRleHQuZm9yY2VNb3VudCwgLi4ub3ZlcmxheVByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlRGlhbG9nQ29udGV4dChPVkVSTEFZX05BTUUsIHByb3BzLl9fc2NvcGVEaWFsb2cpO1xuICAgIHJldHVybiBjb250ZXh0Lm1vZGFsID8gLyogQF9fUFVSRV9fICovIGpzeChQcmVzZW5jZSwgeyBwcmVzZW50OiBmb3JjZU1vdW50IHx8IGNvbnRleHQub3BlbiwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goRGlhbG9nT3ZlcmxheUltcGwsIHsgLi4ub3ZlcmxheVByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KSB9KSA6IG51bGw7XG4gIH1cbik7XG5EaWFsb2dPdmVybGF5LmRpc3BsYXlOYW1lID0gT1ZFUkxBWV9OQU1FO1xudmFyIERpYWxvZ092ZXJsYXlJbXBsID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVEaWFsb2csIC4uLm92ZXJsYXlQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURpYWxvZ0NvbnRleHQoT1ZFUkxBWV9OQU1FLCBfX3Njb3BlRGlhbG9nKTtcbiAgICByZXR1cm4gKFxuICAgICAgLy8gTWFrZSBzdXJlIGBDb250ZW50YCBpcyBzY3JvbGxhYmxlIGV2ZW4gd2hlbiBpdCBkb2Vzbid0IGxpdmUgaW5zaWRlIGBSZW1vdmVTY3JvbGxgXG4gICAgICAvLyBpZS4gd2hlbiBgT3ZlcmxheWAgYW5kIGBDb250ZW50YCBhcmUgc2libGluZ3NcbiAgICAgIC8qIEBfX1BVUkVfXyAqLyBqc3goUmVtb3ZlU2Nyb2xsLCB7IGFzOiBTbG90LCBhbGxvd1BpbmNoWm9vbTogdHJ1ZSwgc2hhcmRzOiBbY29udGV4dC5jb250ZW50UmVmXSwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgIFByaW1pdGl2ZS5kaXYsXG4gICAgICAgIHtcbiAgICAgICAgICBcImRhdGEtc3RhdGVcIjogZ2V0U3RhdGUoY29udGV4dC5vcGVuKSxcbiAgICAgICAgICAuLi5vdmVybGF5UHJvcHMsXG4gICAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgICAgc3R5bGU6IHsgcG9pbnRlckV2ZW50czogXCJhdXRvXCIsIC4uLm92ZXJsYXlQcm9wcy5zdHlsZSB9XG4gICAgICAgIH1cbiAgICAgICkgfSlcbiAgICApO1xuICB9XG4pO1xudmFyIENPTlRFTlRfTkFNRSA9IFwiRGlhbG9nQ29udGVudFwiO1xudmFyIERpYWxvZ0NvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHBvcnRhbENvbnRleHQgPSB1c2VQb3J0YWxDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZURpYWxvZyk7XG4gICAgY29uc3QgeyBmb3JjZU1vdW50ID0gcG9ydGFsQ29udGV4dC5mb3JjZU1vdW50LCAuLi5jb250ZW50UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VEaWFsb2dDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZURpYWxvZyk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUHJlc2VuY2UsIHsgcHJlc2VudDogZm9yY2VNb3VudCB8fCBjb250ZXh0Lm9wZW4sIGNoaWxkcmVuOiBjb250ZXh0Lm1vZGFsID8gLyogQF9fUFVSRV9fICovIGpzeChEaWFsb2dDb250ZW50TW9kYWwsIHsgLi4uY29udGVudFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KSA6IC8qIEBfX1BVUkVfXyAqLyBqc3goRGlhbG9nQ29udGVudE5vbk1vZGFsLCB7IC4uLmNvbnRlbnRQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSkgfSk7XG4gIH1cbik7XG5EaWFsb2dDb250ZW50LmRpc3BsYXlOYW1lID0gQ09OVEVOVF9OQU1FO1xudmFyIERpYWxvZ0NvbnRlbnRNb2RhbCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURpYWxvZ0NvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlRGlhbG9nKTtcbiAgICBjb25zdCBjb250ZW50UmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIGNvbnRleHQuY29udGVudFJlZiwgY29udGVudFJlZik7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50UmVmLmN1cnJlbnQ7XG4gICAgICBpZiAoY29udGVudCkgcmV0dXJuIGhpZGVPdGhlcnMoY29udGVudCk7XG4gICAgfSwgW10pO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgRGlhbG9nQ29udGVudEltcGwsXG4gICAgICB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgdHJhcEZvY3VzOiBjb250ZXh0Lm9wZW4sXG4gICAgICAgIGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50czogdHJ1ZSxcbiAgICAgICAgb25DbG9zZUF1dG9Gb2N1czogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25DbG9zZUF1dG9Gb2N1cywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBjb250ZXh0LnRyaWdnZXJSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgICAgfSksXG4gICAgICAgIG9uUG9pbnRlckRvd25PdXRzaWRlOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vblBvaW50ZXJEb3duT3V0c2lkZSwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3JpZ2luYWxFdmVudCA9IGV2ZW50LmRldGFpbC5vcmlnaW5hbEV2ZW50O1xuICAgICAgICAgIGNvbnN0IGN0cmxMZWZ0Q2xpY2sgPSBvcmlnaW5hbEV2ZW50LmJ1dHRvbiA9PT0gMCAmJiBvcmlnaW5hbEV2ZW50LmN0cmxLZXkgPT09IHRydWU7XG4gICAgICAgICAgY29uc3QgaXNSaWdodENsaWNrID0gb3JpZ2luYWxFdmVudC5idXR0b24gPT09IDIgfHwgY3RybExlZnRDbGljaztcbiAgICAgICAgICBpZiAoaXNSaWdodENsaWNrKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9KSxcbiAgICAgICAgb25Gb2N1c091dHNpZGU6IGNvbXBvc2VFdmVudEhhbmRsZXJzKFxuICAgICAgICAgIHByb3BzLm9uRm9jdXNPdXRzaWRlLFxuICAgICAgICAgIChldmVudCkgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgICApXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbnZhciBEaWFsb2dDb250ZW50Tm9uTW9kYWwgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VEaWFsb2dDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZURpYWxvZyk7XG4gICAgY29uc3QgaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGhhc1BvaW50ZXJEb3duT3V0c2lkZVJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBEaWFsb2dDb250ZW50SW1wbCxcbiAgICAgIHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICAgICB0cmFwRm9jdXM6IGZhbHNlLFxuICAgICAgICBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6IGZhbHNlLFxuICAgICAgICBvbkNsb3NlQXV0b0ZvY3VzOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICBwcm9wcy5vbkNsb3NlQXV0b0ZvY3VzPy4oZXZlbnQpO1xuICAgICAgICAgIGlmICghZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgaWYgKCFoYXNJbnRlcmFjdGVkT3V0c2lkZVJlZi5jdXJyZW50KSBjb250ZXh0LnRyaWdnZXJSZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGhhc0ludGVyYWN0ZWRPdXRzaWRlUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICBoYXNQb2ludGVyRG93bk91dHNpZGVSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBvbkludGVyYWN0T3V0c2lkZTogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgcHJvcHMub25JbnRlcmFjdE91dHNpZGU/LihldmVudCk7XG4gICAgICAgICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICBoYXNJbnRlcmFjdGVkT3V0c2lkZVJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudC50eXBlID09PSBcInBvaW50ZXJkb3duXCIpIHtcbiAgICAgICAgICAgICAgaGFzUG9pbnRlckRvd25PdXRzaWRlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0SXNUcmlnZ2VyID0gY29udGV4dC50cmlnZ2VyUmVmLmN1cnJlbnQ/LmNvbnRhaW5zKHRhcmdldCk7XG4gICAgICAgICAgaWYgKHRhcmdldElzVHJpZ2dlcikgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBpZiAoZXZlbnQuZGV0YWlsLm9yaWdpbmFsRXZlbnQudHlwZSA9PT0gXCJmb2N1c2luXCIgJiYgaGFzUG9pbnRlckRvd25PdXRzaWRlUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbnZhciBEaWFsb2dDb250ZW50SW1wbCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlRGlhbG9nLCB0cmFwRm9jdXMsIG9uT3BlbkF1dG9Gb2N1cywgb25DbG9zZUF1dG9Gb2N1cywgLi4uY29udGVudFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlRGlhbG9nQ29udGV4dChDT05URU5UX05BTUUsIF9fc2NvcGVEaWFsb2cpO1xuICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgY29udGVudFJlZik7XG4gICAgdXNlRm9jdXNHdWFyZHMoKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtcbiAgICAgIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgIEZvY3VzU2NvcGUsXG4gICAgICAgIHtcbiAgICAgICAgICBhc0NoaWxkOiB0cnVlLFxuICAgICAgICAgIGxvb3A6IHRydWUsXG4gICAgICAgICAgdHJhcHBlZDogdHJhcEZvY3VzLFxuICAgICAgICAgIG9uTW91bnRBdXRvRm9jdXM6IG9uT3BlbkF1dG9Gb2N1cyxcbiAgICAgICAgICBvblVubW91bnRBdXRvRm9jdXM6IG9uQ2xvc2VBdXRvRm9jdXMsXG4gICAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgICBEaXNtaXNzYWJsZUxheWVyLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICByb2xlOiBcImRpYWxvZ1wiLFxuICAgICAgICAgICAgICBpZDogY29udGV4dC5jb250ZW50SWQsXG4gICAgICAgICAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBjb250ZXh0LmRlc2NyaXB0aW9uSWQsXG4gICAgICAgICAgICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IGNvbnRleHQudGl0bGVJZCxcbiAgICAgICAgICAgICAgXCJkYXRhLXN0YXRlXCI6IGdldFN0YXRlKGNvbnRleHQub3BlbiksXG4gICAgICAgICAgICAgIC4uLmNvbnRlbnRQcm9wcyxcbiAgICAgICAgICAgICAgcmVmOiBjb21wb3NlZFJlZnMsXG4gICAgICAgICAgICAgIG9uRGlzbWlzczogKCkgPT4gY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgLyogQF9fUFVSRV9fICovIGpzeHMoRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtcbiAgICAgICAgLyogQF9fUFVSRV9fICovIGpzeChUaXRsZVdhcm5pbmcsIHsgdGl0bGVJZDogY29udGV4dC50aXRsZUlkIH0pLFxuICAgICAgICAvKiBAX19QVVJFX18gKi8ganN4KERlc2NyaXB0aW9uV2FybmluZywgeyBjb250ZW50UmVmLCBkZXNjcmlwdGlvbklkOiBjb250ZXh0LmRlc2NyaXB0aW9uSWQgfSlcbiAgICAgIF0gfSlcbiAgICBdIH0pO1xuICB9XG4pO1xudmFyIFRJVExFX05BTUUgPSBcIkRpYWxvZ1RpdGxlXCI7XG52YXIgRGlhbG9nVGl0bGUgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZURpYWxvZywgLi4udGl0bGVQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURpYWxvZ0NvbnRleHQoVElUTEVfTkFNRSwgX19zY29wZURpYWxvZyk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUHJpbWl0aXZlLmgyLCB7IGlkOiBjb250ZXh0LnRpdGxlSWQsIC4uLnRpdGxlUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xuICB9XG4pO1xuRGlhbG9nVGl0bGUuZGlzcGxheU5hbWUgPSBUSVRMRV9OQU1FO1xudmFyIERFU0NSSVBUSU9OX05BTUUgPSBcIkRpYWxvZ0Rlc2NyaXB0aW9uXCI7XG52YXIgRGlhbG9nRGVzY3JpcHRpb24gPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZURpYWxvZywgLi4uZGVzY3JpcHRpb25Qcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURpYWxvZ0NvbnRleHQoREVTQ1JJUFRJT05fTkFNRSwgX19zY29wZURpYWxvZyk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUHJpbWl0aXZlLnAsIHsgaWQ6IGNvbnRleHQuZGVzY3JpcHRpb25JZCwgLi4uZGVzY3JpcHRpb25Qcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG4gIH1cbik7XG5EaWFsb2dEZXNjcmlwdGlvbi5kaXNwbGF5TmFtZSA9IERFU0NSSVBUSU9OX05BTUU7XG52YXIgQ0xPU0VfTkFNRSA9IFwiRGlhbG9nQ2xvc2VcIjtcbnZhciBEaWFsb2dDbG9zZSA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlRGlhbG9nLCAuLi5jbG9zZVByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlRGlhbG9nQ29udGV4dChDTE9TRV9OQU1FLCBfX3Njb3BlRGlhbG9nKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFByaW1pdGl2ZS5idXR0b24sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIC4uLmNsb3NlUHJvcHMsXG4gICAgICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICAgICBvbkNsaWNrOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkNsaWNrLCAoKSA9PiBjb250ZXh0Lm9uT3BlbkNoYW5nZShmYWxzZSkpXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbkRpYWxvZ0Nsb3NlLmRpc3BsYXlOYW1lID0gQ0xPU0VfTkFNRTtcbmZ1bmN0aW9uIGdldFN0YXRlKG9wZW4pIHtcbiAgcmV0dXJuIG9wZW4gPyBcIm9wZW5cIiA6IFwiY2xvc2VkXCI7XG59XG52YXIgVElUTEVfV0FSTklOR19OQU1FID0gXCJEaWFsb2dUaXRsZVdhcm5pbmdcIjtcbnZhciBbV2FybmluZ1Byb3ZpZGVyLCB1c2VXYXJuaW5nQ29udGV4dF0gPSBjcmVhdGVDb250ZXh0KFRJVExFX1dBUk5JTkdfTkFNRSwge1xuICBjb250ZW50TmFtZTogQ09OVEVOVF9OQU1FLFxuICB0aXRsZU5hbWU6IFRJVExFX05BTUUsXG4gIGRvY3NTbHVnOiBcImRpYWxvZ1wiXG59KTtcbnZhciBUaXRsZVdhcm5pbmcgPSAoeyB0aXRsZUlkIH0pID0+IHtcbiAgY29uc3QgdGl0bGVXYXJuaW5nQ29udGV4dCA9IHVzZVdhcm5pbmdDb250ZXh0KFRJVExFX1dBUk5JTkdfTkFNRSk7XG4gIGNvbnN0IE1FU1NBR0UgPSBgXFxgJHt0aXRsZVdhcm5pbmdDb250ZXh0LmNvbnRlbnROYW1lfVxcYCByZXF1aXJlcyBhIFxcYCR7dGl0bGVXYXJuaW5nQ29udGV4dC50aXRsZU5hbWV9XFxgIGZvciB0aGUgY29tcG9uZW50IHRvIGJlIGFjY2Vzc2libGUgZm9yIHNjcmVlbiByZWFkZXIgdXNlcnMuXG5cbklmIHlvdSB3YW50IHRvIGhpZGUgdGhlIFxcYCR7dGl0bGVXYXJuaW5nQ29udGV4dC50aXRsZU5hbWV9XFxgLCB5b3UgY2FuIHdyYXAgaXQgd2l0aCBvdXIgVmlzdWFsbHlIaWRkZW4gY29tcG9uZW50LlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vcmFkaXgtdWkuY29tL3ByaW1pdGl2ZXMvZG9jcy9jb21wb25lbnRzLyR7dGl0bGVXYXJuaW5nQ29udGV4dC5kb2NzU2x1Z31gO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aXRsZUlkKSB7XG4gICAgICBjb25zdCBoYXNUaXRsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRpdGxlSWQpO1xuICAgICAgaWYgKCFoYXNUaXRsZSkgY29uc29sZS5lcnJvcihNRVNTQUdFKTtcbiAgICB9XG4gIH0sIFtNRVNTQUdFLCB0aXRsZUlkXSk7XG4gIHJldHVybiBudWxsO1xufTtcbnZhciBERVNDUklQVElPTl9XQVJOSU5HX05BTUUgPSBcIkRpYWxvZ0Rlc2NyaXB0aW9uV2FybmluZ1wiO1xudmFyIERlc2NyaXB0aW9uV2FybmluZyA9ICh7IGNvbnRlbnRSZWYsIGRlc2NyaXB0aW9uSWQgfSkgPT4ge1xuICBjb25zdCBkZXNjcmlwdGlvbldhcm5pbmdDb250ZXh0ID0gdXNlV2FybmluZ0NvbnRleHQoREVTQ1JJUFRJT05fV0FSTklOR19OQU1FKTtcbiAgY29uc3QgTUVTU0FHRSA9IGBXYXJuaW5nOiBNaXNzaW5nIFxcYERlc2NyaXB0aW9uXFxgIG9yIFxcYGFyaWEtZGVzY3JpYmVkYnk9e3VuZGVmaW5lZH1cXGAgZm9yIHske2Rlc2NyaXB0aW9uV2FybmluZ0NvbnRleHQuY29udGVudE5hbWV9fS5gO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGRlc2NyaWJlZEJ5SWQgPSBjb250ZW50UmVmLmN1cnJlbnQ/LmdldEF0dHJpYnV0ZShcImFyaWEtZGVzY3JpYmVkYnlcIik7XG4gICAgaWYgKGRlc2NyaXB0aW9uSWQgJiYgZGVzY3JpYmVkQnlJZCkge1xuICAgICAgY29uc3QgaGFzRGVzY3JpcHRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChkZXNjcmlwdGlvbklkKTtcbiAgICAgIGlmICghaGFzRGVzY3JpcHRpb24pIGNvbnNvbGUud2FybihNRVNTQUdFKTtcbiAgICB9XG4gIH0sIFtNRVNTQUdFLCBjb250ZW50UmVmLCBkZXNjcmlwdGlvbklkXSk7XG4gIHJldHVybiBudWxsO1xufTtcbnZhciBSb290ID0gRGlhbG9nO1xudmFyIFRyaWdnZXIgPSBEaWFsb2dUcmlnZ2VyO1xudmFyIFBvcnRhbCA9IERpYWxvZ1BvcnRhbDtcbnZhciBPdmVybGF5ID0gRGlhbG9nT3ZlcmxheTtcbnZhciBDb250ZW50ID0gRGlhbG9nQ29udGVudDtcbnZhciBUaXRsZSA9IERpYWxvZ1RpdGxlO1xudmFyIERlc2NyaXB0aW9uID0gRGlhbG9nRGVzY3JpcHRpb247XG52YXIgQ2xvc2UgPSBEaWFsb2dDbG9zZTtcbmV4cG9ydCB7XG4gIENsb3NlLFxuICBDb250ZW50LFxuICBEZXNjcmlwdGlvbixcbiAgRGlhbG9nLFxuICBEaWFsb2dDbG9zZSxcbiAgRGlhbG9nQ29udGVudCxcbiAgRGlhbG9nRGVzY3JpcHRpb24sXG4gIERpYWxvZ092ZXJsYXksXG4gIERpYWxvZ1BvcnRhbCxcbiAgRGlhbG9nVGl0bGUsXG4gIERpYWxvZ1RyaWdnZXIsXG4gIE92ZXJsYXksXG4gIFBvcnRhbCxcbiAgUm9vdCxcbiAgVGl0bGUsXG4gIFRyaWdnZXIsXG4gIFdhcm5pbmdQcm92aWRlcixcbiAgY3JlYXRlRGlhbG9nU2NvcGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvYWxlcnQtZGlhbG9nL3NyYy9hbGVydC1kaWFsb2cudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnNcIjtcbmltcG9ydCAqIGFzIERpYWxvZ1ByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWRpYWxvZ1wiO1xuaW1wb3J0IHsgY3JlYXRlRGlhbG9nU2NvcGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWRpYWxvZ1wiO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfSBmcm9tIFwiQHJhZGl4LXVpL3ByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgU2xvdHRhYmxlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1zbG90XCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbnZhciBST09UX05BTUUgPSBcIkFsZXJ0RGlhbG9nXCI7XG52YXIgW2NyZWF0ZUFsZXJ0RGlhbG9nQ29udGV4dCwgY3JlYXRlQWxlcnREaWFsb2dTY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUoUk9PVF9OQU1FLCBbXG4gIGNyZWF0ZURpYWxvZ1Njb3BlXG5dKTtcbnZhciB1c2VEaWFsb2dTY29wZSA9IGNyZWF0ZURpYWxvZ1Njb3BlKCk7XG52YXIgQWxlcnREaWFsb2cgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlQWxlcnREaWFsb2csIC4uLmFsZXJ0RGlhbG9nUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCBkaWFsb2dTY29wZSA9IHVzZURpYWxvZ1Njb3BlKF9fc2NvcGVBbGVydERpYWxvZyk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KERpYWxvZ1ByaW1pdGl2ZS5Sb290LCB7IC4uLmRpYWxvZ1Njb3BlLCAuLi5hbGVydERpYWxvZ1Byb3BzLCBtb2RhbDogdHJ1ZSB9KTtcbn07XG5BbGVydERpYWxvZy5kaXNwbGF5TmFtZSA9IFJPT1RfTkFNRTtcbnZhciBUUklHR0VSX05BTUUgPSBcIkFsZXJ0RGlhbG9nVHJpZ2dlclwiO1xudmFyIEFsZXJ0RGlhbG9nVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQWxlcnREaWFsb2csIC4uLnRyaWdnZXJQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGlhbG9nU2NvcGUgPSB1c2VEaWFsb2dTY29wZShfX3Njb3BlQWxlcnREaWFsb2cpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KERpYWxvZ1ByaW1pdGl2ZS5UcmlnZ2VyLCB7IC4uLmRpYWxvZ1Njb3BlLCAuLi50cmlnZ2VyUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xuICB9XG4pO1xuQWxlcnREaWFsb2dUcmlnZ2VyLmRpc3BsYXlOYW1lID0gVFJJR0dFUl9OQU1FO1xudmFyIFBPUlRBTF9OQU1FID0gXCJBbGVydERpYWxvZ1BvcnRhbFwiO1xudmFyIEFsZXJ0RGlhbG9nUG9ydGFsID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgX19zY29wZUFsZXJ0RGlhbG9nLCAuLi5wb3J0YWxQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IGRpYWxvZ1Njb3BlID0gdXNlRGlhbG9nU2NvcGUoX19zY29wZUFsZXJ0RGlhbG9nKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goRGlhbG9nUHJpbWl0aXZlLlBvcnRhbCwgeyAuLi5kaWFsb2dTY29wZSwgLi4ucG9ydGFsUHJvcHMgfSk7XG59O1xuQWxlcnREaWFsb2dQb3J0YWwuZGlzcGxheU5hbWUgPSBQT1JUQUxfTkFNRTtcbnZhciBPVkVSTEFZX05BTUUgPSBcIkFsZXJ0RGlhbG9nT3ZlcmxheVwiO1xudmFyIEFsZXJ0RGlhbG9nT3ZlcmxheSA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQWxlcnREaWFsb2csIC4uLm92ZXJsYXlQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgZGlhbG9nU2NvcGUgPSB1c2VEaWFsb2dTY29wZShfX3Njb3BlQWxlcnREaWFsb2cpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KERpYWxvZ1ByaW1pdGl2ZS5PdmVybGF5LCB7IC4uLmRpYWxvZ1Njb3BlLCAuLi5vdmVybGF5UHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xuICB9XG4pO1xuQWxlcnREaWFsb2dPdmVybGF5LmRpc3BsYXlOYW1lID0gT1ZFUkxBWV9OQU1FO1xudmFyIENPTlRFTlRfTkFNRSA9IFwiQWxlcnREaWFsb2dDb250ZW50XCI7XG52YXIgW0FsZXJ0RGlhbG9nQ29udGVudFByb3ZpZGVyLCB1c2VBbGVydERpYWxvZ0NvbnRlbnRDb250ZXh0XSA9IGNyZWF0ZUFsZXJ0RGlhbG9nQ29udGV4dChDT05URU5UX05BTUUpO1xudmFyIEFsZXJ0RGlhbG9nQ29udGVudCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQWxlcnREaWFsb2csIGNoaWxkcmVuLCAuLi5jb250ZW50UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGRpYWxvZ1Njb3BlID0gdXNlRGlhbG9nU2NvcGUoX19zY29wZUFsZXJ0RGlhbG9nKTtcbiAgICBjb25zdCBjb250ZW50UmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIGNvbnRlbnRSZWYpO1xuICAgIGNvbnN0IGNhbmNlbFJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIERpYWxvZ1ByaW1pdGl2ZS5XYXJuaW5nUHJvdmlkZXIsXG4gICAgICB7XG4gICAgICAgIGNvbnRlbnROYW1lOiBDT05URU5UX05BTUUsXG4gICAgICAgIHRpdGxlTmFtZTogVElUTEVfTkFNRSxcbiAgICAgICAgZG9jc1NsdWc6IFwiYWxlcnQtZGlhbG9nXCIsXG4gICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KEFsZXJ0RGlhbG9nQ29udGVudFByb3ZpZGVyLCB7IHNjb3BlOiBfX3Njb3BlQWxlcnREaWFsb2csIGNhbmNlbFJlZiwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3hzKFxuICAgICAgICAgIERpYWxvZ1ByaW1pdGl2ZS5Db250ZW50LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJvbGU6IFwiYWxlcnRkaWFsb2dcIixcbiAgICAgICAgICAgIC4uLmRpYWxvZ1Njb3BlLFxuICAgICAgICAgICAgLi4uY29udGVudFByb3BzLFxuICAgICAgICAgICAgcmVmOiBjb21wb3NlZFJlZnMsXG4gICAgICAgICAgICBvbk9wZW5BdXRvRm9jdXM6IGNvbXBvc2VFdmVudEhhbmRsZXJzKGNvbnRlbnRQcm9wcy5vbk9wZW5BdXRvRm9jdXMsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBjYW5jZWxSZWYuY3VycmVudD8uZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBvblBvaW50ZXJEb3duT3V0c2lkZTogKGV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgb25JbnRlcmFjdE91dHNpZGU6IChldmVudCkgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgIC8qIEBfX1BVUkVfXyAqLyBqc3goU2xvdHRhYmxlLCB7IGNoaWxkcmVuIH0pLFxuICAgICAgICAgICAgICAvKiBAX19QVVJFX18gKi8ganN4KERlc2NyaXB0aW9uV2FybmluZywgeyBjb250ZW50UmVmIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICApIH0pXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbkFsZXJ0RGlhbG9nQ29udGVudC5kaXNwbGF5TmFtZSA9IENPTlRFTlRfTkFNRTtcbnZhciBUSVRMRV9OQU1FID0gXCJBbGVydERpYWxvZ1RpdGxlXCI7XG52YXIgQWxlcnREaWFsb2dUaXRsZSA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQWxlcnREaWFsb2csIC4uLnRpdGxlUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGRpYWxvZ1Njb3BlID0gdXNlRGlhbG9nU2NvcGUoX19zY29wZUFsZXJ0RGlhbG9nKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChEaWFsb2dQcmltaXRpdmUuVGl0bGUsIHsgLi4uZGlhbG9nU2NvcGUsIC4uLnRpdGxlUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xuICB9XG4pO1xuQWxlcnREaWFsb2dUaXRsZS5kaXNwbGF5TmFtZSA9IFRJVExFX05BTUU7XG52YXIgREVTQ1JJUFRJT05fTkFNRSA9IFwiQWxlcnREaWFsb2dEZXNjcmlwdGlvblwiO1xudmFyIEFsZXJ0RGlhbG9nRGVzY3JpcHRpb24gPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgX19zY29wZUFsZXJ0RGlhbG9nLCAuLi5kZXNjcmlwdGlvblByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgZGlhbG9nU2NvcGUgPSB1c2VEaWFsb2dTY29wZShfX3Njb3BlQWxlcnREaWFsb2cpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChEaWFsb2dQcmltaXRpdmUuRGVzY3JpcHRpb24sIHsgLi4uZGlhbG9nU2NvcGUsIC4uLmRlc2NyaXB0aW9uUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xufSk7XG5BbGVydERpYWxvZ0Rlc2NyaXB0aW9uLmRpc3BsYXlOYW1lID0gREVTQ1JJUFRJT05fTkFNRTtcbnZhciBBQ1RJT05fTkFNRSA9IFwiQWxlcnREaWFsb2dBY3Rpb25cIjtcbnZhciBBbGVydERpYWxvZ0FjdGlvbiA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQWxlcnREaWFsb2csIC4uLmFjdGlvblByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBkaWFsb2dTY29wZSA9IHVzZURpYWxvZ1Njb3BlKF9fc2NvcGVBbGVydERpYWxvZyk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goRGlhbG9nUHJpbWl0aXZlLkNsb3NlLCB7IC4uLmRpYWxvZ1Njb3BlLCAuLi5hY3Rpb25Qcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG4gIH1cbik7XG5BbGVydERpYWxvZ0FjdGlvbi5kaXNwbGF5TmFtZSA9IEFDVElPTl9OQU1FO1xudmFyIENBTkNFTF9OQU1FID0gXCJBbGVydERpYWxvZ0NhbmNlbFwiO1xudmFyIEFsZXJ0RGlhbG9nQ2FuY2VsID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVBbGVydERpYWxvZywgLi4uY2FuY2VsUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgY2FuY2VsUmVmIH0gPSB1c2VBbGVydERpYWxvZ0NvbnRlbnRDb250ZXh0KENBTkNFTF9OQU1FLCBfX3Njb3BlQWxlcnREaWFsb2cpO1xuICAgIGNvbnN0IGRpYWxvZ1Njb3BlID0gdXNlRGlhbG9nU2NvcGUoX19zY29wZUFsZXJ0RGlhbG9nKTtcbiAgICBjb25zdCByZWYgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBjYW5jZWxSZWYpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KERpYWxvZ1ByaW1pdGl2ZS5DbG9zZSwgeyAuLi5kaWFsb2dTY29wZSwgLi4uY2FuY2VsUHJvcHMsIHJlZiB9KTtcbiAgfVxuKTtcbkFsZXJ0RGlhbG9nQ2FuY2VsLmRpc3BsYXlOYW1lID0gQ0FOQ0VMX05BTUU7XG52YXIgRGVzY3JpcHRpb25XYXJuaW5nID0gKHsgY29udGVudFJlZiB9KSA9PiB7XG4gIGNvbnN0IE1FU1NBR0UgPSBgXFxgJHtDT05URU5UX05BTUV9XFxgIHJlcXVpcmVzIGEgZGVzY3JpcHRpb24gZm9yIHRoZSBjb21wb25lbnQgdG8gYmUgYWNjZXNzaWJsZSBmb3Igc2NyZWVuIHJlYWRlciB1c2Vycy5cblxuWW91IGNhbiBhZGQgYSBkZXNjcmlwdGlvbiB0byB0aGUgXFxgJHtDT05URU5UX05BTUV9XFxgIGJ5IHBhc3NpbmcgYSBcXGAke0RFU0NSSVBUSU9OX05BTUV9XFxgIGNvbXBvbmVudCBhcyBhIGNoaWxkLCB3aGljaCBhbHNvIGJlbmVmaXRzIHNpZ2h0ZWQgdXNlcnMgYnkgYWRkaW5nIHZpc2libGUgY29udGV4dCB0byB0aGUgZGlhbG9nLlxuXG5BbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHVzZSB5b3VyIG93biBjb21wb25lbnQgYXMgYSBkZXNjcmlwdGlvbiBieSBhc3NpZ25pbmcgaXQgYW4gXFxgaWRcXGAgYW5kIHBhc3NpbmcgdGhlIHNhbWUgdmFsdWUgdG8gdGhlIFxcYGFyaWEtZGVzY3JpYmVkYnlcXGAgcHJvcCBpbiBcXGAke0NPTlRFTlRfTkFNRX1cXGAuIElmIHRoZSBkZXNjcmlwdGlvbiBpcyBjb25mdXNpbmcgb3IgZHVwbGljYXRpdmUgZm9yIHNpZ2h0ZWQgdXNlcnMsIHlvdSBjYW4gdXNlIHRoZSBcXGBAcmFkaXgtdWkvcmVhY3QtdmlzdWFsbHktaGlkZGVuXFxgIHByaW1pdGl2ZSBhcyBhIHdyYXBwZXIgYXJvdW5kIHlvdXIgZGVzY3JpcHRpb24gY29tcG9uZW50LlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vcmFkaXgtdWkuY29tL3ByaW1pdGl2ZXMvZG9jcy9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZ2A7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFzRGVzY3JpcHRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcbiAgICAgIGNvbnRlbnRSZWYuY3VycmVudD8uZ2V0QXR0cmlidXRlKFwiYXJpYS1kZXNjcmliZWRieVwiKVxuICAgICk7XG4gICAgaWYgKCFoYXNEZXNjcmlwdGlvbikgY29uc29sZS53YXJuKE1FU1NBR0UpO1xuICB9LCBbTUVTU0FHRSwgY29udGVudFJlZl0pO1xuICByZXR1cm4gbnVsbDtcbn07XG52YXIgUm9vdDIgPSBBbGVydERpYWxvZztcbnZhciBUcmlnZ2VyMiA9IEFsZXJ0RGlhbG9nVHJpZ2dlcjtcbnZhciBQb3J0YWwyID0gQWxlcnREaWFsb2dQb3J0YWw7XG52YXIgT3ZlcmxheTIgPSBBbGVydERpYWxvZ092ZXJsYXk7XG52YXIgQ29udGVudDIgPSBBbGVydERpYWxvZ0NvbnRlbnQ7XG52YXIgQWN0aW9uID0gQWxlcnREaWFsb2dBY3Rpb247XG52YXIgQ2FuY2VsID0gQWxlcnREaWFsb2dDYW5jZWw7XG52YXIgVGl0bGUyID0gQWxlcnREaWFsb2dUaXRsZTtcbnZhciBEZXNjcmlwdGlvbjIgPSBBbGVydERpYWxvZ0Rlc2NyaXB0aW9uO1xuZXhwb3J0IHtcbiAgQWN0aW9uLFxuICBBbGVydERpYWxvZyxcbiAgQWxlcnREaWFsb2dBY3Rpb24sXG4gIEFsZXJ0RGlhbG9nQ2FuY2VsLFxuICBBbGVydERpYWxvZ0NvbnRlbnQsXG4gIEFsZXJ0RGlhbG9nRGVzY3JpcHRpb24sXG4gIEFsZXJ0RGlhbG9nT3ZlcmxheSxcbiAgQWxlcnREaWFsb2dQb3J0YWwsXG4gIEFsZXJ0RGlhbG9nVGl0bGUsXG4gIEFsZXJ0RGlhbG9nVHJpZ2dlcixcbiAgQ2FuY2VsLFxuICBDb250ZW50MiBhcyBDb250ZW50LFxuICBEZXNjcmlwdGlvbjIgYXMgRGVzY3JpcHRpb24sXG4gIE92ZXJsYXkyIGFzIE92ZXJsYXksXG4gIFBvcnRhbDIgYXMgUG9ydGFsLFxuICBSb290MiBhcyBSb290LFxuICBUaXRsZTIgYXMgVGl0bGUsXG4gIFRyaWdnZXIyIGFzIFRyaWdnZXIsXG4gIGNyZWF0ZUFsZXJ0RGlhbG9nU2NvcGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGQ9XCJNMTEuOTk5OCAxMy40MDA4TDcuMDk5OCAxOC4zMDA4QzYuOTE2NDcgMTguNDg0MSA2LjY4MzE0IDE4LjU3NTggNi4zOTk4IDE4LjU3NThDNi4xMTY0NyAxOC41NzU4IDUuODgzMTQgMTguNDg0MSA1LjY5OTggMTguMzAwOEM1LjUxNjQ3IDE4LjExNzQgNS40MjQ4IDE3Ljg4NDEgNS40MjQ4IDE3LjYwMDhDNS40MjQ4IDE3LjMxNzQgNS41MTY0NyAxNy4wODQxIDUuNjk5OCAxNi45MDA4TDEwLjU5OTggMTIuMDAwOEw1LjY5OTggNy4xMDA3OEM1LjUxNjQ3IDYuOTE3NDUgNS40MjQ4IDYuNjg0MTEgNS40MjQ4IDYuNDAwNzhDNS40MjQ4IDYuMTE3NDUgNS41MTY0NyA1Ljg4NDExIDUuNjk5OCA1LjcwMDc4QzUuODgzMTQgNS41MTc0NSA2LjExNjQ3IDUuNDI1NzggNi4zOTk4IDUuNDI1NzhDNi42ODMxNCA1LjQyNTc4IDYuOTE2NDcgNS41MTc0NSA3LjA5OTggNS43MDA3OEwxMS45OTk4IDEwLjYwMDhMMTYuODk5OCA1LjcwMDc4QzE3LjA4MzEgNS41MTc0NSAxNy4zMTY1IDUuNDI1NzggMTcuNTk5OCA1LjQyNTc4QzE3Ljg4MzEgNS40MjU3OCAxOC4xMTY1IDUuNTE3NDUgMTguMjk5OCA1LjcwMDc4QzE4LjQ4MzEgNS44ODQxMSAxOC41NzQ4IDYuMTE3NDUgMTguNTc0OCA2LjQwMDc4QzE4LjU3NDggNi42ODQxMSAxOC40ODMxIDYuOTE3NDUgMTguMjk5OCA3LjEwMDc4TDEzLjM5OTggMTIuMDAwOEwxOC4yOTk4IDE2LjkwMDhDMTguNDgzMSAxNy4wODQxIDE4LjU3NDggMTcuMzE3NCAxOC41NzQ4IDE3LjYwMDhDMTguNTc0OCAxNy44ODQxIDE4LjQ4MzEgMTguMTE3NCAxOC4yOTk4IDE4LjMwMDhDMTguMTE2NSAxOC40ODQxIDE3Ljg4MzEgMTguNTc1OCAxNy41OTk4IDE4LjU3NThDMTcuMzE2NSAxOC41NzU4IDE3LjA4MzEgMTguNDg0MSAxNi44OTk4IDE4LjMwMDhMMTEuOTk5OCAxMy40MDA4WlwiIGZpbGw9XCIjNUQ2NzZCXCIvPlxuPC9zdmc+XG4iLG51bGwsbnVsbCxudWxsLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvYXZhdGFyL3NyYy9hdmF0YXIudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tSZWYgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1jYWxsYmFjay1yZWZcIjtcbmltcG9ydCB7IHVzZUxheW91dEVmZmVjdCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLWxheW91dC1lZmZlY3RcIjtcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbnZhciBBVkFUQVJfTkFNRSA9IFwiQXZhdGFyXCI7XG52YXIgW2NyZWF0ZUF2YXRhckNvbnRleHQsIGNyZWF0ZUF2YXRhclNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShBVkFUQVJfTkFNRSk7XG52YXIgW0F2YXRhclByb3ZpZGVyLCB1c2VBdmF0YXJDb250ZXh0XSA9IGNyZWF0ZUF2YXRhckNvbnRleHQoQVZBVEFSX05BTUUpO1xudmFyIEF2YXRhciA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQXZhdGFyLCAuLi5hdmF0YXJQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2ltYWdlTG9hZGluZ1N0YXR1cywgc2V0SW1hZ2VMb2FkaW5nU3RhdHVzXSA9IFJlYWN0LnVzZVN0YXRlKFwiaWRsZVwiKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIEF2YXRhclByb3ZpZGVyLFxuICAgICAge1xuICAgICAgICBzY29wZTogX19zY29wZUF2YXRhcixcbiAgICAgICAgaW1hZ2VMb2FkaW5nU3RhdHVzLFxuICAgICAgICBvbkltYWdlTG9hZGluZ1N0YXR1c0NoYW5nZTogc2V0SW1hZ2VMb2FkaW5nU3RhdHVzLFxuICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChQcmltaXRpdmUuc3BhbiwgeyAuLi5hdmF0YXJQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSlcbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuQXZhdGFyLmRpc3BsYXlOYW1lID0gQVZBVEFSX05BTUU7XG52YXIgSU1BR0VfTkFNRSA9IFwiQXZhdGFySW1hZ2VcIjtcbnZhciBBdmF0YXJJbWFnZSA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQXZhdGFyLCBzcmMsIG9uTG9hZGluZ1N0YXR1c0NoYW5nZSA9ICgpID0+IHtcbiAgICB9LCAuLi5pbWFnZVByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlQXZhdGFyQ29udGV4dChJTUFHRV9OQU1FLCBfX3Njb3BlQXZhdGFyKTtcbiAgICBjb25zdCBpbWFnZUxvYWRpbmdTdGF0dXMgPSB1c2VJbWFnZUxvYWRpbmdTdGF0dXMoc3JjLCBpbWFnZVByb3BzLnJlZmVycmVyUG9saWN5KTtcbiAgICBjb25zdCBoYW5kbGVMb2FkaW5nU3RhdHVzQ2hhbmdlID0gdXNlQ2FsbGJhY2tSZWYoKHN0YXR1cykgPT4ge1xuICAgICAgb25Mb2FkaW5nU3RhdHVzQ2hhbmdlKHN0YXR1cyk7XG4gICAgICBjb250ZXh0Lm9uSW1hZ2VMb2FkaW5nU3RhdHVzQ2hhbmdlKHN0YXR1cyk7XG4gICAgfSk7XG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChpbWFnZUxvYWRpbmdTdGF0dXMgIT09IFwiaWRsZVwiKSB7XG4gICAgICAgIGhhbmRsZUxvYWRpbmdTdGF0dXNDaGFuZ2UoaW1hZ2VMb2FkaW5nU3RhdHVzKTtcbiAgICAgIH1cbiAgICB9LCBbaW1hZ2VMb2FkaW5nU3RhdHVzLCBoYW5kbGVMb2FkaW5nU3RhdHVzQ2hhbmdlXSk7XG4gICAgcmV0dXJuIGltYWdlTG9hZGluZ1N0YXR1cyA9PT0gXCJsb2FkZWRcIiA/IC8qIEBfX1BVUkVfXyAqLyBqc3goUHJpbWl0aXZlLmltZywgeyAuLi5pbWFnZVByb3BzLCByZWY6IGZvcndhcmRlZFJlZiwgc3JjIH0pIDogbnVsbDtcbiAgfVxuKTtcbkF2YXRhckltYWdlLmRpc3BsYXlOYW1lID0gSU1BR0VfTkFNRTtcbnZhciBGQUxMQkFDS19OQU1FID0gXCJBdmF0YXJGYWxsYmFja1wiO1xudmFyIEF2YXRhckZhbGxiYWNrID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVBdmF0YXIsIGRlbGF5TXMsIC4uLmZhbGxiYWNrUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VBdmF0YXJDb250ZXh0KEZBTExCQUNLX05BTUUsIF9fc2NvcGVBdmF0YXIpO1xuICAgIGNvbnN0IFtjYW5SZW5kZXIsIHNldENhblJlbmRlcl0gPSBSZWFjdC51c2VTdGF0ZShkZWxheU1zID09PSB2b2lkIDApO1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoZGVsYXlNcyAhPT0gdm9pZCAwKSB7XG4gICAgICAgIGNvbnN0IHRpbWVySWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiBzZXRDYW5SZW5kZXIodHJ1ZSksIGRlbGF5TXMpO1xuICAgICAgICByZXR1cm4gKCkgPT4gd2luZG93LmNsZWFyVGltZW91dCh0aW1lcklkKTtcbiAgICAgIH1cbiAgICB9LCBbZGVsYXlNc10pO1xuICAgIHJldHVybiBjYW5SZW5kZXIgJiYgY29udGV4dC5pbWFnZUxvYWRpbmdTdGF0dXMgIT09IFwibG9hZGVkXCIgPyAvKiBAX19QVVJFX18gKi8ganN4KFByaW1pdGl2ZS5zcGFuLCB7IC4uLmZhbGxiYWNrUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pIDogbnVsbDtcbiAgfVxuKTtcbkF2YXRhckZhbGxiYWNrLmRpc3BsYXlOYW1lID0gRkFMTEJBQ0tfTkFNRTtcbmZ1bmN0aW9uIHVzZUltYWdlTG9hZGluZ1N0YXR1cyhzcmMsIHJlZmVycmVyUG9saWN5KSB7XG4gIGNvbnN0IFtsb2FkaW5nU3RhdHVzLCBzZXRMb2FkaW5nU3RhdHVzXSA9IFJlYWN0LnVzZVN0YXRlKFwiaWRsZVwiKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXNyYykge1xuICAgICAgc2V0TG9hZGluZ1N0YXR1cyhcImVycm9yXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgaXNNb3VudGVkID0gdHJ1ZTtcbiAgICBjb25zdCBpbWFnZSA9IG5ldyB3aW5kb3cuSW1hZ2UoKTtcbiAgICBjb25zdCB1cGRhdGVTdGF0dXMgPSAoc3RhdHVzKSA9PiAoKSA9PiB7XG4gICAgICBpZiAoIWlzTW91bnRlZCkgcmV0dXJuO1xuICAgICAgc2V0TG9hZGluZ1N0YXR1cyhzdGF0dXMpO1xuICAgIH07XG4gICAgc2V0TG9hZGluZ1N0YXR1cyhcImxvYWRpbmdcIik7XG4gICAgaW1hZ2Uub25sb2FkID0gdXBkYXRlU3RhdHVzKFwibG9hZGVkXCIpO1xuICAgIGltYWdlLm9uZXJyb3IgPSB1cGRhdGVTdGF0dXMoXCJlcnJvclwiKTtcbiAgICBpbWFnZS5zcmMgPSBzcmM7XG4gICAgaWYgKHJlZmVycmVyUG9saWN5KSB7XG4gICAgICBpbWFnZS5yZWZlcnJlclBvbGljeSA9IHJlZmVycmVyUG9saWN5O1xuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaXNNb3VudGVkID0gZmFsc2U7XG4gICAgfTtcbiAgfSwgW3NyYywgcmVmZXJyZXJQb2xpY3ldKTtcbiAgcmV0dXJuIGxvYWRpbmdTdGF0dXM7XG59XG52YXIgUm9vdCA9IEF2YXRhcjtcbnZhciBJbWFnZSA9IEF2YXRhckltYWdlO1xudmFyIEZhbGxiYWNrID0gQXZhdGFyRmFsbGJhY2s7XG5leHBvcnQge1xuICBBdmF0YXIsXG4gIEF2YXRhckZhbGxiYWNrLFxuICBBdmF0YXJJbWFnZSxcbiAgRmFsbGJhY2ssXG4gIEltYWdlLFxuICBSb290LFxuICBjcmVhdGVBdmF0YXJTY29wZVxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiIsIjxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPG1hc2sgaWQ9XCJtYXNrMF82XzMwODVcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPlxuPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEOUQ5RDlcIi8+XG48L21hc2s+XG48ZyBtYXNrPVwidXJsKCNtYXNrMF82XzMwODUpXCI+XG48cGF0aCBkPVwiTTExLjk5OTcgMTguNzVDMTEuNzg3MSAxOC43NSAxMS42MDkgMTguNjc4MSAxMS40NjU0IDE4LjUzNDRDMTEuMzIxOCAxOC4zOTA2IDExLjI1IDE4LjIxMjUgMTEuMjUgMThWMTIuNzVINS45OTk5N0M1Ljc4NzQ3IDEyLjc1IDUuNjA5MzYgMTIuNjc4IDUuNDY1NjMgMTIuNTM0MkM1LjMyMTg4IDEyLjM5MDQgNS4yNSAxMi4yMTIyIDUuMjUgMTEuOTk5N0M1LjI1IDExLjc4NzEgNS4zMjE4OCAxMS42MDkgNS40NjU2MyAxMS40NjU0QzUuNjA5MzYgMTEuMzIxOCA1Ljc4NzQ3IDExLjI1IDUuOTk5OTcgMTEuMjVIMTEuMjVWNS45OTk5N0MxMS4yNSA1Ljc4NzQ3IDExLjMyMTkgNS42MDkzNSAxMS40NjU3IDUuNDY1NkMxMS42MDk1IDUuMzIxODcgMTEuNzg3NyA1LjI1IDEyLjAwMDMgNS4yNUMxMi4yMTI5IDUuMjUgMTIuMzkxIDUuMzIxODcgMTIuNTM0NiA1LjQ2NTZDMTIuNjc4MiA1LjYwOTM1IDEyLjc0OTkgNS43ODc0NyAxMi43NDk5IDUuOTk5OTdWMTEuMjVIMThDMTguMjEyNSAxMS4yNSAxOC4zOTA2IDExLjMyMTkgMTguNTM0NCAxMS40NjU3QzE4LjY3ODEgMTEuNjA5NSAxOC43NSAxMS43ODc3IDE4Ljc1IDEyLjAwMDNDMTguNzUgMTIuMjEyOSAxOC42NzgxIDEyLjM5MSAxOC41MzQ0IDEyLjUzNDZDMTguMzkwNiAxMi42NzgyIDE4LjIxMjUgMTIuNzUgMTggMTIuNzVIMTIuNzQ5OVYxOEMxMi43NDk5IDE4LjIxMjUgMTIuNjc4IDE4LjM5MDYgMTIuNTM0MiAxOC41MzQ0QzEyLjM5MDQgMTguNjc4MSAxMi4yMTIyIDE4Ljc1IDExLjk5OTcgMTguNzVaXCIgZmlsbD1cIiMyQzMzMzZcIi8+XG48L2c+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0xMi4yNzY1IDIyLjA5MjhMMTMuMjA0NiAyMS4xNjQ3QzEzLjQyNDMgMjAuOTQ1IDEzLjQyNDMgMjAuNTg4OSAxMy4yMDQ2IDIwLjM2OTJMNS45MzI5IDEzLjA5NzVIMjEuOTM3NUMyMi4yNDgxIDEzLjA5NzUgMjIuNSAxMi44NDU2IDIyLjUgMTIuNTM1VjExLjIyMjVDMjIuNSAxMC45MTE5IDIyLjI0ODEgMTAuNjYgMjEuOTM3NSAxMC42Nkg1LjkzMjlMMTMuMjA0NiAzLjM4ODI5QzEzLjQyNDMgMy4xNjg2MyAxMy40MjQzIDIuODEyNDcgMTMuMjA0NiAyLjU5Mjc3TDEyLjI3NjUgMS42NjQ3NEMxMi4wNTY5IDEuNDQ1MDkgMTEuNzAwNyAxLjQ0NTA5IDExLjQ4MSAxLjY2NDc0TDEuNjY0NzQgMTEuNDgxQzEuNDQ1MDkgMTEuNzAwNyAxLjQ0NTA5IDEyLjA1NjggMS42NjQ3NCAxMi4yNzY1TDExLjQ4MSAyMi4wOTI4QzExLjcwMDcgMjIuMzEyNSAxMi4wNTY4IDIyLjMxMjUgMTIuMjc2NSAyMi4wOTI4WlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGQ9XCJNMy4xNjY0IDExLjYwMTZMMTAuMDk2NCA0LjY2NDA3QzEwLjMxODMgNC40NDM3NiAxMC42NzcgNC40NDM3NiAxMC44OTg5IDQuNjY0MDdMMTEuODMzNiA1LjU5MjJDMTIuMDU1NSA1LjgxMjUxIDEyLjA1NTUgNi4xNjg3NiAxMS44MzM2IDYuMzg5MDdMNi4yMzk1OCAxMkwxMS44MzM2IDE3LjYxMDlDMTIuMDU1NSAxNy44MzEzIDEyLjA1NTUgMTguMTg3NSAxMS44MzM2IDE4LjQwNzhMMTAuODk4OSAxOS4zMzU5QzEwLjY3NyAxOS41NTYzIDEwLjMxODMgMTkuNTU2MyAxMC4wOTY0IDE5LjMzNTlMMy4xNjY0IDEyLjM5ODRDMi45NDQ1MyAxMi4xNzgxIDIuOTQ0NTMgMTEuODIxOSAzLjE2NjQgMTEuNjAxNlpcIiBmaWxsPVwiIzJDMzMzNlwiIC8+XG48cGF0aCBkPVwiTTEyLjE2NjQgMTEuNjAxNkwxOS4wOTY0IDQuNjY0MDdDMTkuMzE4MyA0LjQ0Mzc2IDE5LjY3NyA0LjQ0Mzc2IDE5Ljg5ODkgNC42NjQwN0wyMC44MzM2IDUuNTkyMkMyMS4wNTU1IDUuODEyNTEgMjEuMDU1NSA2LjE2ODc2IDIwLjgzMzYgNi4zODkwN0wxNS4yMzk2IDEyTDIwLjgzMzYgMTcuNjEwOUMyMS4wNTU1IDE3LjgzMTMgMjEuMDU1NSAxOC4xODc1IDIwLjgzMzYgMTguNDA3OEwxOS44OTg5IDE5LjMzNTlDMTkuNjc3IDE5LjU1NjMgMTkuMzE4MyAxOS41NTYzIDE5LjA5NjQgMTkuMzM1OUwxMi4xNjY0IDEyLjM5ODRDMTEuOTQ0NSAxMi4xNzgxIDExLjk0NDUgMTEuODIxOSAxMi4xNjY0IDExLjYwMTZaXCIgZmlsbD1cIiMyQzMzMzZcIiAvPlxuPC9zdmc+XG4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGQ9XCJNNy42OTY4NSAxMS42MDE2TDE0LjU3ODEgNC42NjQwN0MxNC43OTg0IDQuNDQzNzYgMTUuMTU0NyA0LjQ0Mzc2IDE1LjM3NSA0LjY2NDA3TDE2LjMwMzEgNS41OTIyQzE2LjUyMzQgNS44MTI1MSAxNi41MjM0IDYuMTY4NzYgMTYuMzAzMSA2LjM4OTA3TDEwLjc0ODQgMTJMMTYuMzAzMSAxNy42MTA5QzE2LjUyMzQgMTcuODMxMyAxNi41MjM0IDE4LjE4NzUgMTYuMzAzMSAxOC40MDc4TDE1LjM3NSAxOS4zMzU5QzE1LjE1NDcgMTkuNTU2MyAxNC43OTg0IDE5LjU1NjMgMTQuNTc4MSAxOS4zMzU5TDcuNjk2ODUgMTIuMzk4NEM3LjQ3NjU0IDEyLjE3ODEgNy40NzY1NCAxMS44MjE5IDcuNjk2ODUgMTEuNjAxNlpcIiBmaWxsPVwiIzJDMzMzNlwiIC8+XG48L3N2Zz5cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGZpbGw9XCIjMkMzMzM2XCIgZD1cIk0yMy42MjYgMTAuODc1YzAtNi4zODctNS4xNTQtMTAuNS0xMS42MjUtMTAuNUM1LjU3Ni4zNzUuMzc2IDUuNTc1LjM3NiAxMnM1LjIgMTEuNjI1IDExLjYyNSAxMS42MjVjMi40ODEgMCA0LjkwNy0uOCA2Ljg5NS0yLjI2NWEuNTYxLjU2MSAwIDAgMCAuMDk4LS44MDdsLS43MTMtLjg3MmEuNTY0LjU2NCAwIDAgMC0uNzctLjA5NUE5LjM5NyA5LjM5NyAwIDAgMSAxMiAyMS4zNzVjLTUuMTcgMC05LjM3NS00LjIwNi05LjM3NS05LjM3NSAwLTUuMTcgNC4yMDYtOS4zNzUgOS4zNzUtOS4zNzUgNS4xMzIgMCA5LjM3NSAzLjA0OCA5LjM3NSA4LjI1IDAgMi45NTgtMS45OTEgNC42MDctMy44OTEgNC42MDctLjkxNSAwLS45NDQtLjU5MS0uNzY4LTEuNDc0bDEuMzQyLTYuOTY0YS41NjIuNTYyIDAgMCAwLS41NTItLjY2OUgxNS42N2EuNTYzLjU2MyAwIDAgMC0uNTUyLjQ1NmMtLjA1Mi4yNjktLjA3OC4zOTEtLjEwNy42NTYtLjU1OS0uOTE2LTEuNjgyLTEuNDU2LTMuMDU2LTEuNDU2LTMuMzU2IDAtNi4zMjkgMi45My02LjMyOSA3LjE2NiAwIDIuODY3IDEuNTQxIDQuNzg2IDQuMzY4IDQuNzg2IDEuMzk3IDAgMi44NzYtLjc4OSAzLjczOC0xLjk4LjE5NSAxLjQ0NiAxLjMzNiAxLjc4MiAyLjc4MyAxLjc4MiA0LjY0OSAwIDcuMTExLTIuOTgyIDcuMTExLTYuOTFabS0xMi44MzkgNC41NjNjLTEuMzM1IDAtMi4xMzEtLjkxMi0yLjEzMS0yLjQ0IDAtMi42OTUgMS44NTQtNC4zNzggMy40OTctNC4zNzggMS40MTIgMCAyLjEzMSAxLjAxIDIuMTMxIDIuNDE4IDAgMi4xOTYtMS41NTUgNC40LTMuNDk3IDQuNFpcIi8+PC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHBhdGggZD1cIk0zIDIxQzIuNzE2NjcgMjEgMi40NzkxNyAyMC45MDQyIDIuMjg3NSAyMC43MTI1QzIuMDk1ODMgMjAuNTIwOCAyIDIwLjI4MzMgMiAyMEMyIDE5LjcxNjcgMi4wOTU4MyAxOS40NzkyIDIuMjg3NSAxOS4yODc1QzIuNDc5MTcgMTkuMDk1OCAyLjcxNjY3IDE5IDMgMTlIMjFDMjEuMjgzMyAxOSAyMS41MjA4IDE5LjA5NTggMjEuNzEyNSAxOS4yODc1QzIxLjkwNDIgMTkuNDc5MiAyMiAxOS43MTY3IDIyIDIwQzIyIDIwLjI4MzMgMjEuOTA0MiAyMC41MjA4IDIxLjcxMjUgMjAuNzEyNUMyMS41MjA4IDIwLjkwNDIgMjEuMjgzMyAyMSAyMSAyMUgzWk00LjUgMThDNC4wODMzMyAxOCAzLjcyOTE3IDE3Ljg1NDIgMy40Mzc1IDE3LjU2MjVDMy4xNDU4MyAxNy4yNzA4IDMgMTYuOTE2NyAzIDE2LjVWMTIuNUMzIDEyLjA4MzMgMy4xNDU4MyAxMS43MjkyIDMuNDM3NSAxMS40Mzc1QzMuNzI5MTcgMTEuMTQ1OCA0LjA4MzMzIDExIDQuNSAxMUM0LjkxNjY3IDExIDUuMjcwODMgMTEuMTQ1OCA1LjU2MjUgMTEuNDM3NUM1Ljg1NDE3IDExLjcyOTIgNiAxMi4wODMzIDYgMTIuNVYxNi41QzYgMTYuOTE2NyA1Ljg1NDE3IDE3LjI3MDggNS41NjI1IDE3LjU2MjVDNS4yNzA4MyAxNy44NTQyIDQuOTE2NjcgMTggNC41IDE4Wk05LjUgMThDOS4wODMzMyAxOCA4LjcyOTE3IDE3Ljg1NDIgOC40Mzc1IDE3LjU2MjVDOC4xNDU4MyAxNy4yNzA4IDggMTYuOTE2NyA4IDE2LjVWNy41QzggNy4wODMzMyA4LjE0NTgzIDYuNzI5MTcgOC40Mzc1IDYuNDM3NUM4LjcyOTE3IDYuMTQ1ODMgOS4wODMzMyA2IDkuNSA2QzkuOTE2NjcgNiAxMC4yNzA4IDYuMTQ1ODMgMTAuNTYyNSA2LjQzNzVDMTAuODU0MiA2LjcyOTE3IDExIDcuMDgzMzMgMTEgNy41VjE2LjVDMTEgMTYuOTE2NyAxMC44NTQyIDE3LjI3MDggMTAuNTYyNSAxNy41NjI1QzEwLjI3MDggMTcuODU0MiA5LjkxNjY3IDE4IDkuNSAxOFpNMTQuNSAxOEMxNC4wODMzIDE4IDEzLjcyOTIgMTcuODU0MiAxMy40Mzc1IDE3LjU2MjVDMTMuMTQ1OCAxNy4yNzA4IDEzIDE2LjkxNjcgMTMgMTYuNVYxMC41QzEzIDEwLjA4MzMgMTMuMTQ1OCA5LjcyOTE3IDEzLjQzNzUgOS40Mzc1QzEzLjcyOTIgOS4xNDU4MyAxNC4wODMzIDkgMTQuNSA5QzE0LjkxNjcgOSAxNS4yNzA4IDkuMTQ1ODMgMTUuNTYyNSA5LjQzNzVDMTUuODU0MiA5LjcyOTE3IDE2IDEwLjA4MzMgMTYgMTAuNVYxNi41QzE2IDE2LjkxNjcgMTUuODU0MiAxNy4yNzA4IDE1LjU2MjUgMTcuNTYyNUMxNS4yNzA4IDE3Ljg1NDIgMTQuOTE2NyAxOCAxNC41IDE4Wk0xOS41IDE4QzE5LjA4MzMgMTggMTguNzI5MiAxNy44NTQyIDE4LjQzNzUgMTcuNTYyNUMxOC4xNDU4IDE3LjI3MDggMTggMTYuOTE2NyAxOCAxNi41VjQuNUMxOCA0LjA4MzMzIDE4LjE0NTggMy43MjkxNyAxOC40Mzc1IDMuNDM3NUMxOC43MjkyIDMuMTQ1ODMgMTkuMDgzMyAzIDE5LjUgM0MxOS45MTY3IDMgMjAuMjcwOCAzLjE0NTgzIDIwLjU2MjUgMy40Mzc1QzIwLjg1NDIgMy43MjkxNyAyMSA0LjA4MzMzIDIxIDQuNVYxNi41QzIxIDE2LjkxNjcgMjAuODU0MiAxNy4yNzA4IDIwLjU2MjUgMTcuNTYyNUMyMC4yNzA4IDE3Ljg1NDIgMTkuOTE2NyAxOCAxOS41IDE4WlwiIGZpbGw9XCIjMDAwMDAwXCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cbiAgICA8bWFzayBpZD1cImFcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHN0eWxlPVwibWFzay10eXBlOmFscGhhXCI+XG4gICAgPHBhdGggZmlsbD1cIiNEOUQ5RDlcIiBkPVwiTTAgMGgyNHYyNEgwelwiLz5cbiAgICA8L21hc2s+XG4gICAgPGcgbWFzaz1cInVybCgjYSlcIj5cbiAgICAgICAgPHBhdGggZmlsbD1cIiM0MjQ1NEJcIiBkPVwiTTEyLjAwMiAyMS41YTkuMjU1IDkuMjU1IDAgMCAxLTMuNzA1LS43NDggOS41OTggOS41OTggMCAwIDEtMy4wMTgtMi4wMyA5LjU5MSA5LjU5MSAwIDAgMS0yLjAzLTMuMDE2IDkuMjQ1IDkuMjQ1IDAgMCAxLS43NDktMy43MDRjMC0xLjMxNC4yNS0yLjU1Ljc0OC0zLjcwNWE5LjU5NyA5LjU5NyAwIDAgMSAyLjAzLTMuMDE4IDkuNTkyIDkuNTkyIDAgMCAxIDMuMDE2LTIuMDMgOS4yNDUgOS4yNDUgMCAwIDEgMy43MDQtLjc0OWMxLjMxNCAwIDIuNTUuMjUgMy43MDUuNzQ4YTkuNTk3IDkuNTk3IDAgMCAxIDMuMDE4IDIuMDMgOS41OTIgOS41OTIgMCAwIDEgMi4wMyAzLjAxNiA5LjI0NSA5LjI0NSAwIDAgMSAuNzQ5IDMuNzA0YzAgMS4zMTQtLjI1IDIuNTUtLjc0OCAzLjcwNWE5LjU5OCA5LjU5OCAwIDAgMS0yLjAzIDMuMDE4IDkuNTkyIDkuNTkyIDAgMCAxLTMuMDE2IDIuMDMgOS4yNDUgOS4yNDUgMCAwIDEtMy43MDQuNzQ5Wk0xMiAyMGMyLjIzMyAwIDQuMTI1LS43NzUgNS42NzUtMi4zMjVDMTkuMjI1IDE2LjEyNSAyMCAxNC4yMzMgMjAgMTJjMC0uOTM4LS4xNi0xLjg0Mi0uNDgtMi43MWE4LjEyNCA4LjEyNCAwIDAgMC0xLjM3NC0yLjM4Mkw2LjkwOCAxOC4xNDZhNy45MyA3LjkzIDAgMCAwIDIuMzgyIDEuMzc4QTcuODM5IDcuODM5IDAgMCAwIDEyIDIwWm0tNi4xNDYtMi45MDhMMTcuMDkyIDUuODU0YTcuNjIgNy42MiAwIDAgMC0yLjM3NS0xLjM4M0E3Ljk0NyA3Ljk0NyAwIDAgMCAxMiA0Yy0yLjIzMyAwLTQuMTI1Ljc3NS01LjY3NSAyLjMyNUM0Ljc3NSA3Ljg3NSA0IDkuNzY3IDQgMTJjMCAuOTM4LjE1OSAxLjg0Mi40NzYgMi43MWE3LjkzIDcuOTMgMCAwIDAgMS4zNzggMi4zODJaXCIvPlxuICAgIDwvZz5cbjwvc3ZnPiIsIjxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPG1hc2sgaWQ9XCJtYXNrMF82XzMwNzBcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPlxuPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEOUQ5RDlcIi8+XG48L21hc2s+XG48ZyBtYXNrPVwidXJsKCNtYXNrMF82XzMwNzApXCI+XG48cGF0aCBkPVwiTTMgMTQuNUMyLjg2NjY3IDE0LjUgMi43NSAxNC40NSAyLjY1IDE0LjM1QzIuNTUgMTQuMjUgMi41IDE0LjEzMzMgMi41IDE0QzIuNSAxMy44NjY3IDIuNTUgMTMuNzUgMi42NSAxMy42NUMyLjc1IDEzLjU1IDIuODY2NjcgMTMuNSAzIDEzLjVDMy4xMzMzMyAxMy41IDMuMjUgMTMuNTUgMy4zNSAxMy42NUMzLjQ1IDEzLjc1IDMuNSAxMy44NjY3IDMuNSAxNEMzLjUgMTQuMTMzMyAzLjQ1IDE0LjI1IDMuMzUgMTQuMzVDMy4yNSAxNC40NSAzLjEzMzMzIDE0LjUgMyAxNC41Wk0zIDEwLjVDMi44NjY2NyAxMC41IDIuNzUgMTAuNDUgMi42NSAxMC4zNUMyLjU1IDEwLjI1IDIuNSAxMC4xMzMzIDIuNSAxMEMyLjUgOS44NjY2NyAyLjU1IDkuNzUgMi42NSA5LjY1QzIuNzUgOS41NSAyLjg2NjY3IDkuNSAzIDkuNUMzLjEzMzMzIDkuNSAzLjI1IDkuNTUgMy4zNSA5LjY1QzMuNDUgOS43NSAzLjUgOS44NjY2NyAzLjUgMTBDMy41IDEwLjEzMzMgMy40NSAxMC4yNSAzLjM1IDEwLjM1QzMuMjUgMTAuNDUgMy4xMzMzMyAxMC41IDMgMTAuNVpNNiAxOC45MjMxQzUuNzM4NDcgMTguOTIzMSA1LjUxOTIzIDE4LjgzNDYgNS4zNDIzIDE4LjY1NzdDNS4xNjUzOCAxOC40ODA4IDUuMDc2OTMgMTguMjYxNSA1LjA3NjkzIDE4QzUuMDc2OTMgMTcuNzM4NSA1LjE2NTM4IDE3LjUxOTIgNS4zNDIzIDE3LjM0MjNDNS41MTkyMyAxNy4xNjU0IDUuNzM4NDcgMTcuMDc2OSA2IDE3LjA3NjlDNi4yNjE1MyAxNy4wNzY5IDYuNDgwNzcgMTcuMTY1NCA2LjY1NzcgMTcuMzQyM0M2LjgzNDYyIDE3LjUxOTIgNi45MjMwOCAxNy43Mzg1IDYuOTIzMDggMThDNi45MjMwOCAxOC4yNjE1IDYuODM0NjIgMTguNDgwOCA2LjY1NzcgMTguNjU3N0M2LjQ4MDc3IDE4LjgzNDYgNi4yNjE1MyAxOC45MjMxIDYgMTguOTIzMVpNNiAxNC45MjMxQzUuNzM4NDcgMTQuOTIzMSA1LjUxOTIzIDE0LjgzNDYgNS4zNDIzIDE0LjY1NzdDNS4xNjUzOCAxNC40ODA4IDUuMDc2OTMgMTQuMjYxNSA1LjA3NjkzIDE0QzUuMDc2OTMgMTMuNzM4NSA1LjE2NTM4IDEzLjUxOTIgNS4zNDIzIDEzLjM0MjNDNS41MTkyMyAxMy4xNjU0IDUuNzM4NDcgMTMuMDc2OSA2IDEzLjA3NjlDNi4yNjE1MyAxMy4wNzY5IDYuNDgwNzcgMTMuMTY1NCA2LjY1NzcgMTMuMzQyM0M2LjgzNDYyIDEzLjUxOTIgNi45MjMwOCAxMy43Mzg1IDYuOTIzMDggMTRDNi45MjMwOCAxNC4yNjE1IDYuODM0NjIgMTQuNDgwOCA2LjY1NzcgMTQuNjU3N0M2LjQ4MDc3IDE0LjgzNDYgNi4yNjE1MyAxNC45MjMxIDYgMTQuOTIzMVpNNiAxMC45MjMxQzUuNzM4NDcgMTAuOTIzMSA1LjUxOTIzIDEwLjgzNDYgNS4zNDIzIDEwLjY1NzdDNS4xNjUzOCAxMC40ODA4IDUuMDc2OTMgMTAuMjYxNSA1LjA3NjkzIDEwQzUuMDc2OTMgOS43Mzg0NyA1LjE2NTM4IDkuNTE5MjQgNS4zNDIzIDkuMzQyMzJDNS41MTkyMyA5LjE2NTM5IDUuNzM4NDcgOS4wNzY5MiA2IDkuMDc2OTJDNi4yNjE1MyA5LjA3NjkyIDYuNDgwNzcgOS4xNjUzOSA2LjY1NzcgOS4zNDIzMkM2LjgzNDYyIDkuNTE5MjQgNi45MjMwOCA5LjczODQ3IDYuOTIzMDggMTBDNi45MjMwOCAxMC4yNjE1IDYuODM0NjIgMTAuNDgwOCA2LjY1NzcgMTAuNjU3N0M2LjQ4MDc3IDEwLjgzNDYgNi4yNjE1MyAxMC45MjMxIDYgMTAuOTIzMVpNNiA2LjkyMzA4QzUuNzM4NDcgNi45MjMwOCA1LjUxOTIzIDYuODM0NjEgNS4zNDIzIDYuNjU3NjhDNS4xNjUzOCA2LjQ4MDc2IDUuMDc2OTMgNi4yNjE1MyA1LjA3NjkzIDZDNS4wNzY5MyA1LjczODQ3IDUuMTY1MzggNS41MTkyNCA1LjM0MjMgNS4zNDIzMkM1LjUxOTIzIDUuMTY1MzkgNS43Mzg0NyA1LjA3NjkzIDYgNS4wNzY5M0M2LjI2MTUzIDUuMDc2OTMgNi40ODA3NyA1LjE2NTM5IDYuNjU3NyA1LjM0MjMyQzYuODM0NjIgNS41MTkyNCA2LjkyMzA4IDUuNzM4NDcgNi45MjMwOCA2QzYuOTIzMDggNi4yNjE1MyA2LjgzNDYyIDYuNDgwNzYgNi42NTc3IDYuNjU3NjhDNi40ODA3NyA2LjgzNDYxIDYuMjYxNTMgNi45MjMwOCA2IDYuOTIzMDhaTTEwLjAwMjMgMTUuMzQ2MkM5LjYyODk3IDE1LjM0NjIgOS4zMTA5MSAxNS4yMTU1IDkuMDQ4MDggMTQuOTU0MkM4Ljc4NTI2IDE0LjY5MjkgOC42NTM4NSAxNC4zNzU2IDguNjUzODUgMTQuMDAyM0M4LjY1Mzg1IDEzLjYyOSA4Ljc4NDUxIDEzLjMxMDkgOS4wNDU4MyAxMy4wNDgxQzkuMzA3MTQgMTIuNzg1MyA5LjYyNDQ0IDEyLjY1MzggOS45OTc3MyAxMi42NTM4QzEwLjM3MSAxMi42NTM4IDEwLjY4OTEgMTIuNzg0NSAxMC45NTE5IDEzLjA0NThDMTEuMjE0NyAxMy4zMDcxIDExLjM0NjIgMTMuNjI0NCAxMS4zNDYyIDEzLjk5NzdDMTEuMzQ2MiAxNC4zNzEgMTEuMjE1NSAxNC42ODkxIDEwLjk1NDIgMTQuOTUxOUMxMC42OTI5IDE1LjIxNDcgMTAuMzc1NiAxNS4zNDYyIDEwLjAwMjMgMTUuMzQ2MlpNMTAuMDAyMyAxMS4zNDYyQzkuNjI4OTcgMTEuMzQ2MiA5LjMxMDkxIDExLjIxNTUgOS4wNDgwOCAxMC45NTQyQzguNzg1MjYgMTAuNjkyOSA4LjY1Mzg1IDEwLjM3NTYgOC42NTM4NSAxMC4wMDIzQzguNjUzODUgOS42Mjg5NyA4Ljc4NDUxIDkuMzEwOTEgOS4wNDU4MyA5LjA0ODA4QzkuMzA3MTQgOC43ODUyNiA5LjYyNDQ0IDguNjUzODUgOS45OTc3MyA4LjY1Mzg1QzEwLjM3MSA4LjY1Mzg1IDEwLjY4OTEgOC43ODQ1MSAxMC45NTE5IDkuMDQ1ODNDMTEuMjE0NyA5LjMwNzEzIDExLjM0NjIgOS42MjQ0MiAxMS4zNDYyIDkuOTk3NzNDMTEuMzQ2MiAxMC4zNzEgMTEuMjE1NSAxMC42ODkxIDEwLjk1NDIgMTAuOTUxOUMxMC42OTI5IDExLjIxNDcgMTAuMzc1NiAxMS4zNDYyIDEwLjAwMjMgMTEuMzQ2MlpNMTAgMTguOTIzMUM5LjczODQ3IDE4LjkyMzEgOS41MTkyMyAxOC44MzQ2IDkuMzQyMyAxOC42NTc3QzkuMTY1MzggMTguNDgwOCA5LjA3NjkyIDE4LjI2MTUgOS4wNzY5MiAxOEM5LjA3NjkyIDE3LjczODUgOS4xNjUzOCAxNy41MTkyIDkuMzQyMyAxNy4zNDIzQzkuNTE5MjMgMTcuMTY1NCA5LjczODQ3IDE3LjA3NjkgMTAgMTcuMDc2OUMxMC4yNjE1IDE3LjA3NjkgMTAuNDgwOCAxNy4xNjU0IDEwLjY1NzcgMTcuMzQyM0MxMC44MzQ2IDE3LjUxOTIgMTAuOTIzMSAxNy43Mzg1IDEwLjkyMzEgMThDMTAuOTIzMSAxOC4yNjE1IDEwLjgzNDYgMTguNDgwOCAxMC42NTc3IDE4LjY1NzdDMTAuNDgwOCAxOC44MzQ2IDEwLjI2MTUgMTguOTIzMSAxMCAxOC45MjMxWk0xMCA2LjkyMzA4QzkuNzM4NDcgNi45MjMwOCA5LjUxOTIzIDYuODM0NjEgOS4zNDIzIDYuNjU3NjhDOS4xNjUzOCA2LjQ4MDc2IDkuMDc2OTIgNi4yNjE1MyA5LjA3NjkyIDZDOS4wNzY5MiA1LjczODQ3IDkuMTY1MzggNS41MTkyNCA5LjM0MjMgNS4zNDIzMkM5LjUxOTIzIDUuMTY1MzkgOS43Mzg0NyA1LjA3NjkzIDEwIDUuMDc2OTNDMTAuMjYxNSA1LjA3NjkzIDEwLjQ4MDggNS4xNjUzOSAxMC42NTc3IDUuMzQyMzJDMTAuODM0NiA1LjUxOTI0IDEwLjkyMzEgNS43Mzg0NyAxMC45MjMxIDZDMTAuOTIzMSA2LjI2MTUzIDEwLjgzNDYgNi40ODA3NiAxMC42NTc3IDYuNjU3NjhDMTAuNDgwOCA2LjgzNDYxIDEwLjI2MTUgNi45MjMwOCAxMCA2LjkyMzA4Wk0xMCAyMS41QzkuODY2NjcgMjEuNSA5Ljc1IDIxLjQ1IDkuNjUgMjEuMzVDOS41NSAyMS4yNSA5LjUgMjEuMTMzMyA5LjUgMjFDOS41IDIwLjg2NjcgOS41NSAyMC43NSA5LjY1IDIwLjY1QzkuNzUgMjAuNTUgOS44NjY2NyAyMC41IDEwIDIwLjVDMTAuMTMzMyAyMC41IDEwLjI1IDIwLjU1IDEwLjM1IDIwLjY1QzEwLjQ1IDIwLjc1IDEwLjUgMjAuODY2NyAxMC41IDIxQzEwLjUgMjEuMTMzMyAxMC40NSAyMS4yNSAxMC4zNSAyMS4zNUMxMC4yNSAyMS40NSAxMC4xMzMzIDIxLjUgMTAgMjEuNVpNMTAgMy41QzkuODY2NjcgMy41IDkuNzUgMy40NSA5LjY1IDMuMzVDOS41NSAzLjI1IDkuNSAzLjEzMzMzIDkuNSAzQzkuNSAyLjg2NjY3IDkuNTUgMi43NSA5LjY1IDIuNjVDOS43NSAyLjU1IDkuODY2NjcgMi41IDEwIDIuNUMxMC4xMzMzIDIuNSAxMC4yNSAyLjU1IDEwLjM1IDIuNjVDMTAuNDUgMi43NSAxMC41IDIuODY2NjcgMTAuNSAzQzEwLjUgMy4xMzMzMyAxMC40NSAzLjI1IDEwLjM1IDMuMzVDMTAuMjUgMy40NSAxMC4xMzMzIDMuNSAxMCAzLjVaTTE0LjAwMjMgMTUuMzQ2MkMxMy42MjkgMTUuMzQ2MiAxMy4zMTA5IDE1LjIxNTUgMTMuMDQ4MSAxNC45NTQyQzEyLjc4NTMgMTQuNjkyOSAxMi42NTM4IDE0LjM3NTYgMTIuNjUzOCAxNC4wMDIzQzEyLjY1MzggMTMuNjI5IDEyLjc4NDUgMTMuMzEwOSAxMy4wNDU4IDEzLjA0ODFDMTMuMzA3MSAxMi43ODUzIDEzLjYyNDQgMTIuNjUzOCAxMy45OTc3IDEyLjY1MzhDMTQuMzcxIDEyLjY1MzggMTQuNjg5MSAxMi43ODQ1IDE0Ljk1MTkgMTMuMDQ1OEMxNS4yMTQ3IDEzLjMwNzEgMTUuMzQ2MiAxMy42MjQ0IDE1LjM0NjIgMTMuOTk3N0MxNS4zNDYyIDE0LjM3MSAxNS4yMTU1IDE0LjY4OTEgMTQuOTU0MiAxNC45NTE5QzE0LjY5MjkgMTUuMjE0NyAxNC4zNzU2IDE1LjM0NjIgMTQuMDAyMyAxNS4zNDYyWk0xNC4wMDIzIDExLjM0NjJDMTMuNjI5IDExLjM0NjIgMTMuMzEwOSAxMS4yMTU1IDEzLjA0ODEgMTAuOTU0MkMxMi43ODUzIDEwLjY5MjkgMTIuNjUzOCAxMC4zNzU2IDEyLjY1MzggMTAuMDAyM0MxMi42NTM4IDkuNjI4OTcgMTIuNzg0NSA5LjMxMDkxIDEzLjA0NTggOS4wNDgwOEMxMy4zMDcxIDguNzg1MjYgMTMuNjI0NCA4LjY1Mzg1IDEzLjk5NzcgOC42NTM4NUMxNC4zNzEgOC42NTM4NSAxNC42ODkxIDguNzg0NTEgMTQuOTUxOSA5LjA0NTgzQzE1LjIxNDcgOS4zMDcxMyAxNS4zNDYyIDkuNjI0NDIgMTUuMzQ2MiA5Ljk5NzczQzE1LjM0NjIgMTAuMzcxIDE1LjIxNTUgMTAuNjg5MSAxNC45NTQyIDEwLjk1MTlDMTQuNjkyOSAxMS4yMTQ3IDE0LjM3NTYgMTEuMzQ2MiAxNC4wMDIzIDExLjM0NjJaTTE0IDE4LjkyMzFDMTMuNzM4NSAxOC45MjMxIDEzLjUxOTIgMTguODM0NiAxMy4zNDIzIDE4LjY1NzdDMTMuMTY1NCAxOC40ODA4IDEzLjA3NjkgMTguMjYxNSAxMy4wNzY5IDE4QzEzLjA3NjkgMTcuNzM4NSAxMy4xNjU0IDE3LjUxOTIgMTMuMzQyMyAxNy4zNDIzQzEzLjUxOTIgMTcuMTY1NCAxMy43Mzg1IDE3LjA3NjkgMTQgMTcuMDc2OUMxNC4yNjE1IDE3LjA3NjkgMTQuNDgwOCAxNy4xNjU0IDE0LjY1NzcgMTcuMzQyM0MxNC44MzQ2IDE3LjUxOTIgMTQuOTIzMSAxNy43Mzg1IDE0LjkyMzEgMThDMTQuOTIzMSAxOC4yNjE1IDE0LjgzNDYgMTguNDgwOCAxNC42NTc3IDE4LjY1NzdDMTQuNDgwOCAxOC44MzQ2IDE0LjI2MTUgMTguOTIzMSAxNCAxOC45MjMxWk0xNCA2LjkyMzA4QzEzLjczODUgNi45MjMwOCAxMy41MTkyIDYuODM0NjEgMTMuMzQyMyA2LjY1NzY4QzEzLjE2NTQgNi40ODA3NiAxMy4wNzY5IDYuMjYxNTMgMTMuMDc2OSA2QzEzLjA3NjkgNS43Mzg0NyAxMy4xNjU0IDUuNTE5MjQgMTMuMzQyMyA1LjM0MjMyQzEzLjUxOTIgNS4xNjUzOSAxMy43Mzg1IDUuMDc2OTMgMTQgNS4wNzY5M0MxNC4yNjE1IDUuMDc2OTMgMTQuNDgwOCA1LjE2NTM5IDE0LjY1NzcgNS4zNDIzMkMxNC44MzQ2IDUuNTE5MjQgMTQuOTIzMSA1LjczODQ3IDE0LjkyMzEgNkMxNC45MjMxIDYuMjYxNTMgMTQuODM0NiA2LjQ4MDc2IDE0LjY1NzcgNi42NTc2OEMxNC40ODA4IDYuODM0NjEgMTQuMjYxNSA2LjkyMzA4IDE0IDYuOTIzMDhaTTE0IDIxLjVDMTMuODY2NyAyMS41IDEzLjc1IDIxLjQ1IDEzLjY1IDIxLjM1QzEzLjU1IDIxLjI1IDEzLjUgMjEuMTMzMyAxMy41IDIxQzEzLjUgMjAuODY2NyAxMy41NSAyMC43NSAxMy42NSAyMC42NUMxMy43NSAyMC41NSAxMy44NjY3IDIwLjUgMTQgMjAuNUMxNC4xMzMzIDIwLjUgMTQuMjUgMjAuNTUgMTQuMzUgMjAuNjVDMTQuNDUgMjAuNzUgMTQuNSAyMC44NjY3IDE0LjUgMjFDMTQuNSAyMS4xMzMzIDE0LjQ1IDIxLjI1IDE0LjM1IDIxLjM1QzE0LjI1IDIxLjQ1IDE0LjEzMzMgMjEuNSAxNCAyMS41Wk0xNCAzLjVDMTMuODY2NyAzLjUgMTMuNzUgMy40NSAxMy42NSAzLjM1QzEzLjU1IDMuMjUgMTMuNSAzLjEzMzMzIDEzLjUgM0MxMy41IDIuODY2NjcgMTMuNTUgMi43NSAxMy42NSAyLjY1QzEzLjc1IDIuNTUgMTMuODY2NyAyLjUgMTQgMi41QzE0LjEzMzMgMi41IDE0LjI1IDIuNTUgMTQuMzUgMi42NUMxNC40NSAyLjc1IDE0LjUgMi44NjY2NyAxNC41IDNDMTQuNSAzLjEzMzMzIDE0LjQ1IDMuMjUgMTQuMzUgMy4zNUMxNC4yNSAzLjQ1IDE0LjEzMzMgMy41IDE0IDMuNVpNMTggMTguOTIzMUMxNy43Mzg1IDE4LjkyMzEgMTcuNTE5MiAxOC44MzQ2IDE3LjM0MjMgMTguNjU3N0MxNy4xNjU0IDE4LjQ4MDggMTcuMDc2OSAxOC4yNjE1IDE3LjA3NjkgMThDMTcuMDc2OSAxNy43Mzg1IDE3LjE2NTQgMTcuNTE5MiAxNy4zNDIzIDE3LjM0MjNDMTcuNTE5MiAxNy4xNjU0IDE3LjczODUgMTcuMDc2OSAxOCAxNy4wNzY5QzE4LjI2MTUgMTcuMDc2OSAxOC40ODA4IDE3LjE2NTQgMTguNjU3NyAxNy4zNDIzQzE4LjgzNDYgMTcuNTE5MiAxOC45MjMxIDE3LjczODUgMTguOTIzMSAxOEMxOC45MjMxIDE4LjI2MTUgMTguODM0NiAxOC40ODA4IDE4LjY1NzcgMTguNjU3N0MxOC40ODA4IDE4LjgzNDYgMTguMjYxNSAxOC45MjMxIDE4IDE4LjkyMzFaTTE4IDE0LjkyMzFDMTcuNzM4NSAxNC45MjMxIDE3LjUxOTIgMTQuODM0NiAxNy4zNDIzIDE0LjY1NzdDMTcuMTY1NCAxNC40ODA4IDE3LjA3NjkgMTQuMjYxNSAxNy4wNzY5IDE0QzE3LjA3NjkgMTMuNzM4NSAxNy4xNjU0IDEzLjUxOTIgMTcuMzQyMyAxMy4zNDIzQzE3LjUxOTIgMTMuMTY1NCAxNy43Mzg1IDEzLjA3NjkgMTggMTMuMDc2OUMxOC4yNjE1IDEzLjA3NjkgMTguNDgwOCAxMy4xNjU0IDE4LjY1NzcgMTMuMzQyM0MxOC44MzQ2IDEzLjUxOTIgMTguOTIzMSAxMy43Mzg1IDE4LjkyMzEgMTRDMTguOTIzMSAxNC4yNjE1IDE4LjgzNDYgMTQuNDgwOCAxOC42NTc3IDE0LjY1NzdDMTguNDgwOCAxNC44MzQ2IDE4LjI2MTUgMTQuOTIzMSAxOCAxNC45MjMxWk0xOCAxMC45MjMxQzE3LjczODUgMTAuOTIzMSAxNy41MTkyIDEwLjgzNDYgMTcuMzQyMyAxMC42NTc3QzE3LjE2NTQgMTAuNDgwOCAxNy4wNzY5IDEwLjI2MTUgMTcuMDc2OSAxMEMxNy4wNzY5IDkuNzM4NDcgMTcuMTY1NCA5LjUxOTI0IDE3LjM0MjMgOS4zNDIzMkMxNy41MTkyIDkuMTY1MzkgMTcuNzM4NSA5LjA3NjkyIDE4IDkuMDc2OTJDMTguMjYxNSA5LjA3NjkyIDE4LjQ4MDggOS4xNjUzOSAxOC42NTc3IDkuMzQyMzJDMTguODM0NiA5LjUxOTI0IDE4LjkyMzEgOS43Mzg0NyAxOC45MjMxIDEwQzE4LjkyMzEgMTAuMjYxNSAxOC44MzQ2IDEwLjQ4MDggMTguNjU3NyAxMC42NTc3QzE4LjQ4MDggMTAuODM0NiAxOC4yNjE1IDEwLjkyMzEgMTggMTAuOTIzMVpNMTggNi45MjMwOEMxNy43Mzg1IDYuOTIzMDggMTcuNTE5MiA2LjgzNDYxIDE3LjM0MjMgNi42NTc2OEMxNy4xNjU0IDYuNDgwNzYgMTcuMDc2OSA2LjI2MTUzIDE3LjA3NjkgNkMxNy4wNzY5IDUuNzM4NDcgMTcuMTY1NCA1LjUxOTI0IDE3LjM0MjMgNS4zNDIzMkMxNy41MTkyIDUuMTY1MzkgMTcuNzM4NSA1LjA3NjkzIDE4IDUuMDc2OTNDMTguMjYxNSA1LjA3NjkzIDE4LjQ4MDggNS4xNjUzOSAxOC42NTc3IDUuMzQyMzJDMTguODM0NiA1LjUxOTI0IDE4LjkyMzEgNS43Mzg0NyAxOC45MjMxIDZDMTguOTIzMSA2LjI2MTUzIDE4LjgzNDYgNi40ODA3NiAxOC42NTc3IDYuNjU3NjhDMTguNDgwOCA2LjgzNDYxIDE4LjI2MTUgNi45MjMwOCAxOCA2LjkyMzA4Wk0yMSAxNC41QzIwLjg2NjcgMTQuNSAyMC43NSAxNC40NSAyMC42NSAxNC4zNUMyMC41NSAxNC4yNSAyMC41IDE0LjEzMzMgMjAuNSAxNEMyMC41IDEzLjg2NjcgMjAuNTUgMTMuNzUgMjAuNjUgMTMuNjVDMjAuNzUgMTMuNTUgMjAuODY2NyAxMy41IDIxIDEzLjVDMjEuMTMzMyAxMy41IDIxLjI1IDEzLjU1IDIxLjM1IDEzLjY1QzIxLjQ1IDEzLjc1IDIxLjUgMTMuODY2NyAyMS41IDE0QzIxLjUgMTQuMTMzMyAyMS40NSAxNC4yNSAyMS4zNSAxNC4zNUMyMS4yNSAxNC40NSAyMS4xMzMzIDE0LjUgMjEgMTQuNVpNMjEgMTAuNUMyMC44NjY3IDEwLjUgMjAuNzUgMTAuNDUgMjAuNjUgMTAuMzVDMjAuNTUgMTAuMjUgMjAuNSAxMC4xMzMzIDIwLjUgMTBDMjAuNSA5Ljg2NjY3IDIwLjU1IDkuNzUgMjAuNjUgOS42NUMyMC43NSA5LjU1IDIwLjg2NjcgOS41IDIxIDkuNUMyMS4xMzMzIDkuNSAyMS4yNSA5LjU1IDIxLjM1IDkuNjVDMjEuNDUgOS43NSAyMS41IDkuODY2NjcgMjEuNSAxMEMyMS41IDEwLjEzMzMgMjEuNDUgMTAuMjUgMjEuMzUgMTAuMzVDMjEuMjUgMTAuNDUgMjEuMTMzMyAxMC41IDIxIDEwLjVaXCIgZmlsbD1cIiMyQzMzMzZcIi8+XG48L2c+XG48L3N2Zz5cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxtYXNrIGlkPVwiYVwiIHg9XCIwXCIgeT1cIjBcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHN0eWxlPVwibWFzay10eXBlOmFscGhhXCI+PHBhdGggZmlsbD1cIiNEOUQ5RDlcIiBkPVwiTTAgMGgyNHYyNEgwelwiLz48L21hc2s+PGcgbWFzaz1cInVybCgjYSlcIj48cGF0aCBmaWxsPVwiIzJDMzMzNlwiIGQ9XCJNMTIuMDUgMTkuNzVjLTIuMTYzIDAtNC4wMDQtLjc1My01LjUyMi0yLjI1OEM1LjAwOSAxNS45ODcgNC4yNSAxNC4xNTYgNC4yNSAxMnYtLjc4bC0xLjMyMyAxLjMyMmEuNzI1LjcyNSAwIDAgMS0uNTIyLjIxMy43MDcuNzA3IDAgMCAxLS41MzItLjIxMy43MTguNzE4IDAgMCAxLS4yMTctLjUyN2MwLS4yMDYuMDcyLS4zODIuMjE3LS41MjdsMi40OTQtMi40OTRBLjg2Ny44NjcgMCAwIDEgNSA4LjcyNGMuMjQxIDAgLjQ1Mi4wOS42MzMuMjdsMi40OTQgMi40OTVjLjEzOC4xMzguMjEuMzEyLjIxMi41MjFhLjcwNy43MDcgMCAwIDEtLjIxMi41MzIuNzE4LjcxOCAwIDAgMS0uNTI3LjIxOC43MTguNzE4IDAgMCAxLS41MjctLjIxOEw1Ljc1IDExLjIyVjEyYzAgMS43MzcuNjEyIDMuMjEzIDEuODM1IDQuNDI4IDEuMjIzIDEuMjE1IDIuNzExIDEuODIyIDQuNDY1IDEuODIyLjI5MiAwIC41ODQtLjAyLjg3NC0uMDYuMjktLjA0LjU3Ny0uMTA3Ljg1OS0uMjA0YS44NzkuODc5IDAgMCAxIC42MDMuMDIuODEuODEgMCAwIDEgLjQyNi4zOTYuNjc4LjY3OCAwIDAgMSAuMDE4LjU4NS42NjQuNjY0IDAgMCAxLS40NDQuMzg4Yy0uMzc2LjEzMy0uNzYyLjIzLTEuMTU1LjI4OGE4LjA0OSA4LjA0OSAwIDAgMS0xLjE4MS4wODdabS0uMS0xNGMtLjI5MiAwLS41ODQuMDItLjg3NC4wNi0uMjkuMDQtLjU3Ny4xMDctLjg1OS4yMDNhLjkwMS45MDEgMCAwIDEtLjYxLS4wMi44MDguODA4IDAgMCAxLS40MzQtLjM5NS42NTUuNjU1IDAgMCAxLS4wMjMtLjU3LjY0Ni42NDYgMCAwIDEgLjQyMy0uMzg4Yy4zODctLjEzMy43OC0uMjMxIDEuMTc2LS4yOTVhNy41OTMgNy41OTMgMCAwIDEgMS4yMDEtLjA5NWMyLjE2MyAwIDQuMDA0Ljc1MyA1LjUyMiAyLjI1OEMxOC45OTEgOC4wMTMgMTkuNzUgOS44NDQgMTkuNzUgMTJ2Ljc4bDEuMzIzLTEuMzIyYS43MjUuNzI1IDAgMCAxIC41MjItLjIxMy43MDcuNzA3IDAgMCAxIC41MzIuMjEzYy4xNDUuMTQ0LjIxNy4zMi4yMTcuNTI3YS43MTcuNzE3IDAgMCAxLS4yMTcuNTI3bC0yLjQ5NCAyLjQ5NGEuODY3Ljg2NyAwIDAgMS0uNjMzLjI3Ljg2Ny44NjcgMCAwIDEtLjYzMy0uMjdsLTIuNDk0LTIuNDk1YS43MjQuNzI0IDAgMCAxLS4yMTItLjUyMi43MDcuNzA3IDAgMCAxIC4yMTItLjUzMS43MTcuNzE3IDAgMCAxIC41MjctLjIxOGMuMjA2IDAgLjM4Mi4wNzMuNTI3LjIxOGwxLjMyMyAxLjMyM1YxMmMwLTEuNzM3LS42MTEtMy4yMTMtMS44MzUtNC40MjgtMS4yMjMtMS4yMTUtMi43MTEtMS44MjItNC40NjUtMS44MjJaXCIvPjwvZz48L3N2Zz4iLCI8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxnIGlkPVwiY2FsZW5kYXJfbW9udGhfZmlsbFwiPlxuPG1hc2sgaWQ9XCJtYXNrMF83MjVfMTEzNjNcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiPlxuPHJlY3QgaWQ9XCJCb3VuZGluZyBib3hcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiBmaWxsPVwiI0Q5RDlEOVwiLz5cbjwvbWFzaz5cbjxnIG1hc2s9XCJ1cmwoI21hc2swXzcyNV8xMTM2MylcIj5cbjxwYXRoIGlkPVwiY2FsZW5kYXJfbW9udGhcIiBkPVwiTTYuNjY2NjcgMjkuMzMzMkM1LjkzMzMzIDI5LjMzMzIgNS4zMDU1NiAyOS4wNzIxIDQuNzgzMzMgMjguNTQ5OEM0LjI2MTExIDI4LjAyNzYgNCAyNy4zOTk4IDQgMjYuNjY2NVY3Ljk5OTg0QzQgNy4yNjY1IDQuMjYxMTEgNi42Mzg3MyA0Ljc4MzMzIDYuMTE2NUM1LjMwNTU2IDUuNTk0MjggNS45MzMzMyA1LjMzMzE3IDYuNjY2NjcgNS4zMzMxN0g4VjMuOTk5ODRDOCAzLjYyMjA2IDguMTI3NzggMy4zMDUzOSA4LjM4MzMzIDMuMDQ5ODRDOC42Mzg4OSAyLjc5NDI4IDguOTU1NTYgMi42NjY1IDkuMzMzMzMgMi42NjY1QzkuNzExMTEgMi42NjY1IDEwLjAyNzggMi43OTQyOCAxMC4yODMzIDMuMDQ5ODRDMTAuNTM4OSAzLjMwNTM5IDEwLjY2NjcgMy42MjIwNiAxMC42NjY3IDMuOTk5ODRWNS4zMzMxN0gyMS4zMzMzVjMuOTk5ODRDMjEuMzMzMyAzLjYyMjA2IDIxLjQ2MTEgMy4zMDUzOSAyMS43MTY3IDMuMDQ5ODRDMjEuOTcyMiAyLjc5NDI4IDIyLjI4ODkgMi42NjY1IDIyLjY2NjcgMi42NjY1QzIzLjA0NDQgMi42NjY1IDIzLjM2MTEgMi43OTQyOCAyMy42MTY3IDMuMDQ5ODRDMjMuODcyMiAzLjMwNTM5IDI0IDMuNjIyMDYgMjQgMy45OTk4NFY1LjMzMzE3SDI1LjMzMzNDMjYuMDY2NyA1LjMzMzE3IDI2LjY5NDQgNS41OTQyOCAyNy4yMTY3IDYuMTE2NUMyNy43Mzg5IDYuNjM4NzMgMjggNy4yNjY1IDI4IDcuOTk5ODRWMjYuNjY2NUMyOCAyNy4zOTk4IDI3LjczODkgMjguMDI3NiAyNy4yMTY3IDI4LjU0OThDMjYuNjk0NCAyOS4wNzIxIDI2LjA2NjcgMjkuMzMzMiAyNS4zMzMzIDI5LjMzMzJINi42NjY2N1pNNi42NjY2NyAyNi42NjY1SDI1LjMzMzNWMTMuMzMzMkg2LjY2NjY3VjI2LjY2NjVaTTE2IDE4LjY2NjVDMTUuNjIyMiAxOC42NjY1IDE1LjMwNTYgMTguNTM4NyAxNS4wNSAxOC4yODMyQzE0Ljc5NDQgMTguMDI3NiAxNC42NjY3IDE3LjcxMDkgMTQuNjY2NyAxNy4zMzMyQzE0LjY2NjcgMTYuOTU1NCAxNC43OTQ0IDE2LjYzODcgMTUuMDUgMTYuMzgzMkMxNS4zMDU2IDE2LjEyNzYgMTUuNjIyMiAxNS45OTk4IDE2IDE1Ljk5OThDMTYuMzc3OCAxNS45OTk4IDE2LjY5NDQgMTYuMTI3NiAxNi45NSAxNi4zODMyQzE3LjIwNTYgMTYuNjM4NyAxNy4zMzMzIDE2Ljk1NTQgMTcuMzMzMyAxNy4zMzMyQzE3LjMzMzMgMTcuNzEwOSAxNy4yMDU2IDE4LjAyNzYgMTYuOTUgMTguMjgzMkMxNi42OTQ0IDE4LjUzODcgMTYuMzc3OCAxOC42NjY1IDE2IDE4LjY2NjVaTTEwLjY2NjcgMTguNjY2NUMxMC4yODg5IDE4LjY2NjUgOS45NzIyMiAxOC41Mzg3IDkuNzE2NjcgMTguMjgzMkM5LjQ2MTExIDE4LjAyNzYgOS4zMzMzMyAxNy43MTA5IDkuMzMzMzMgMTcuMzMzMkM5LjMzMzMzIDE2Ljk1NTQgOS40NjExMSAxNi42Mzg3IDkuNzE2NjcgMTYuMzgzMkM5Ljk3MjIyIDE2LjEyNzYgMTAuMjg4OSAxNS45OTk4IDEwLjY2NjcgMTUuOTk5OEMxMS4wNDQ0IDE1Ljk5OTggMTEuMzYxMSAxNi4xMjc2IDExLjYxNjcgMTYuMzgzMkMxMS44NzIyIDE2LjYzODcgMTIgMTYuOTU1NCAxMiAxNy4zMzMyQzEyIDE3LjcxMDkgMTEuODcyMiAxOC4wMjc2IDExLjYxNjcgMTguMjgzMkMxMS4zNjExIDE4LjUzODcgMTEuMDQ0NCAxOC42NjY1IDEwLjY2NjcgMTguNjY2NVpNMjEuMzMzMyAxOC42NjY1QzIwLjk1NTYgMTguNjY2NSAyMC42Mzg5IDE4LjUzODcgMjAuMzgzMyAxOC4yODMyQzIwLjEyNzggMTguMDI3NiAyMCAxNy43MTA5IDIwIDE3LjMzMzJDMjAgMTYuOTU1NCAyMC4xMjc4IDE2LjYzODcgMjAuMzgzMyAxNi4zODMyQzIwLjYzODkgMTYuMTI3NiAyMC45NTU2IDE1Ljk5OTggMjEuMzMzMyAxNS45OTk4QzIxLjcxMTEgMTUuOTk5OCAyMi4wMjc4IDE2LjEyNzYgMjIuMjgzMyAxNi4zODMyQzIyLjUzODkgMTYuNjM4NyAyMi42NjY3IDE2Ljk1NTQgMjIuNjY2NyAxNy4zMzMyQzIyLjY2NjcgMTcuNzEwOSAyMi41Mzg5IDE4LjAyNzYgMjIuMjgzMyAxOC4yODMyQzIyLjAyNzggMTguNTM4NyAyMS43MTExIDE4LjY2NjUgMjEuMzMzMyAxOC42NjY1Wk0xNiAyMy45OTk4QzE1LjYyMjIgMjMuOTk5OCAxNS4zMDU2IDIzLjg3MjEgMTUuMDUgMjMuNjE2NUMxNC43OTQ0IDIzLjM2MSAxNC42NjY3IDIzLjA0NDMgMTQuNjY2NyAyMi42NjY1QzE0LjY2NjcgMjIuMjg4NyAxNC43OTQ0IDIxLjk3MjEgMTUuMDUgMjEuNzE2NUMxNS4zMDU2IDIxLjQ2MDkgMTUuNjIyMiAyMS4zMzMyIDE2IDIxLjMzMzJDMTYuMzc3OCAyMS4zMzMyIDE2LjY5NDQgMjEuNDYwOSAxNi45NSAyMS43MTY1QzE3LjIwNTYgMjEuOTcyMSAxNy4zMzMzIDIyLjI4ODcgMTcuMzMzMyAyMi42NjY1QzE3LjMzMzMgMjMuMDQ0MyAxNy4yMDU2IDIzLjM2MSAxNi45NSAyMy42MTY1QzE2LjY5NDQgMjMuODcyMSAxNi4zNzc4IDIzLjk5OTggMTYgMjMuOTk5OFpNMTAuNjY2NyAyMy45OTk4QzEwLjI4ODkgMjMuOTk5OCA5Ljk3MjIyIDIzLjg3MjEgOS43MTY2NyAyMy42MTY1QzkuNDYxMTEgMjMuMzYxIDkuMzMzMzMgMjMuMDQ0MyA5LjMzMzMzIDIyLjY2NjVDOS4zMzMzMyAyMi4yODg3IDkuNDYxMTEgMjEuOTcyMSA5LjcxNjY3IDIxLjcxNjVDOS45NzIyMiAyMS40NjA5IDEwLjI4ODkgMjEuMzMzMiAxMC42NjY3IDIxLjMzMzJDMTEuMDQ0NCAyMS4zMzMyIDExLjM2MTEgMjEuNDYwOSAxMS42MTY3IDIxLjcxNjVDMTEuODcyMiAyMS45NzIxIDEyIDIyLjI4ODcgMTIgMjIuNjY2NUMxMiAyMy4wNDQzIDExLjg3MjIgMjMuMzYxIDExLjYxNjcgMjMuNjE2NUMxMS4zNjExIDIzLjg3MjEgMTEuMDQ0NCAyMy45OTk4IDEwLjY2NjcgMjMuOTk5OFpNMjEuMzMzMyAyMy45OTk4QzIwLjk1NTYgMjMuOTk5OCAyMC42Mzg5IDIzLjg3MjEgMjAuMzgzMyAyMy42MTY1QzIwLjEyNzggMjMuMzYxIDIwIDIzLjA0NDMgMjAgMjIuNjY2NUMyMCAyMi4yODg3IDIwLjEyNzggMjEuOTcyMSAyMC4zODMzIDIxLjcxNjVDMjAuNjM4OSAyMS40NjA5IDIwLjk1NTYgMjEuMzMzMiAyMS4zMzMzIDIxLjMzMzJDMjEuNzExMSAyMS4zMzMyIDIyLjAyNzggMjEuNDYwOSAyMi4yODMzIDIxLjcxNjVDMjIuNTM4OSAyMS45NzIxIDIyLjY2NjcgMjIuMjg4NyAyMi42NjY3IDIyLjY2NjVDMjIuNjY2NyAyMy4wNDQzIDIyLjUzODkgMjMuMzYxIDIyLjI4MzMgMjMuNjE2NUMyMi4wMjc4IDIzLjg3MjEgMjEuNzExMSAyMy45OTk4IDIxLjMzMzMgMjMuOTk5OFpcIiBmaWxsPVwiIzExQjA2RVwiLz5cbjwvZz5cbjwvZz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiID48cGF0aCBkPVwiTTExLjY3NCAzLjIyM0gxLjY2QTEuNjcgMS42NyAwIDAgMCAwIDQuOTAzdjEwLjE0YzAgLjkyNy43NDMgMS42OCAxLjY2IDEuNjhoMTAuMDE0YTEuNjcgMS42NyAwIDAgMCAxLjY2LTEuNjhWNC45MDJhMS42NyAxLjY3IDAgMCAwLTEuNjYtMS42OFptNi41NzYgMS4zMjUtMy44MDYgMi42NTh2NS41MzNsMy44MDYgMi42NTVjLjczNi41MTMgMS43NS0uMDEgMS43NS0uOTA3VjUuNDU1YzAtLjg5My0xLjAxLTEuNDItMS43NS0uOTA3WlwiPjwvcGF0aD48L3N2Zz4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiPjxnIGNsaXAtcGF0aD1cInVybCgjYSlcIj48cGF0aCBmaWxsPVwiIzk4QTJCM1wiIGQ9XCJNMy4yNSAzQTMuMjUgMy4yNSAwIDAgMCAwIDYuMjV2Ny41QTMuMjUgMy4yNSAwIDAgMCAzLjI1IDE3aDcuNUEzLjI1IDMuMjUgMCAwIDAgMTQgMTMuNzV2LS4zMTJsMy4yNTggMi4yNWMxLjE2LjggMi43NDQtLjAzIDIuNzQ0LTEuNDRWNS43NTFjMC0xLjQxLTEuNTg0LTIuMjQyLTIuNzQ0LTEuNDRMMTQgNi41NjJWNi4yNUEzLjI1IDMuMjUgMCAwIDAgMTAuNzUgM2gtNy41Wk0xNCA4LjM4NGw0LjExLTIuODM4YS4yNS4yNSAwIDAgMSAuMzkyLjIwNnY4LjQ5NWEuMjUuMjUgMCAwIDEtLjM5Mi4yMDZMMTQgMTEuNjE1VjguMzg0Wk0xLjUgNi4yNWMwLS45NjYuNzg0LTEuNzUgMS43NS0xLjc1aDcuNWMuOTY2IDAgMS43NS43ODQgMS43NSAxLjc1djcuNWExLjc1IDEuNzUgMCAwIDEtMS43NSAxLjc1aC03LjVhMS43NSAxLjc1IDAgMCAxLTEuNzUtMS43NXYtNy41WlwiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPVwiYVwiPjxwYXRoIGZpbGw9XCIjZmZmXCIgZD1cIk0wIDBoMjB2MjBIMHpcIi8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+IiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTE3LjMzMyAxMC4zMzNWMy42NjdBMi42NyAyLjY3IDAgMCAwIDE0LjY2NyAxaC0xMkEyLjY3IDIuNjcgMCAwIDAgMCAzLjY2N3Y2LjY2NkEyLjY3IDIuNjcgMCAwIDAgMi42NjcgMTN2Mi4yNThjMCAuMzM0LjM3OS41MjUuNjQ2LjMyNWwzLjQ1LTIuNTg3aDcuOTA0YTIuNjYzIDIuNjYzIDAgMCAwIDIuNjY2LTIuNjYzWm00LTIuNjY2aC0yLjY2NnYyLjY2NmMwIDIuMjA0LTEuNzk2IDQtNCA0SDhWMTdhMi42NyAyLjY3IDAgMCAwIDIuNjY3IDIuNjY3aDUuMjM3bDMuNDUgMi41ODdjLjI2Ny4yLjY0Ni4wMDguNjQ2LS4zMjV2LTIuMjYyaDEuMzMzQTIuNjcgMi42NyAwIDAgMCAyNCAxN3YtNi42NjdhMi42NyAyLjY3IDAgMCAwLTIuNjY3LTIuNjY2WlwiLz48L3N2Zz4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0wIDE1LjU5OTlWMi4zOTk5OUgyLjRWMTUuNTk5OUgwWlwiIGZpbGw9XCIjMDJCRjZGXCIgLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0yMS42IDE1LjU5OTlWMi4zOTk5OUgyNFYxNS41OTk5SDIxLjZaXCIgZmlsbD1cIiMwMkJGNkZcIiAvPlxuPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTIxLjYgMi4zOTk5OUgyLjRWMEgyMS42VjIuMzk5OTlaXCIgZmlsbD1cIiMwMkJGNkZcIiAvPlxuPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTcuMiAxNy45OTk5SDIuNFYxNS41OTk5SDcuMlYxNy45OTk5WlwiIGZpbGw9XCIjMDJCRjZGXCIgLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0yMS42IDE3Ljk5OTlIMTYuOFYxNS41OTk5SDIxLjZWMTcuOTk5OVpcIiBmaWxsPVwiIzAyQkY2RlwiIC8+XG48cGF0aCBkPVwiTTI0IDIuMzk5OTlDMjQgMi4wODQ4MiAyMy45Mzc5IDEuNzcyNzMgMjMuODE3MyAxLjQ4MTU1QzIzLjY5NjcgMS4xOTAzNyAyMy41MTk5IDAuOTI1ODAxIDIzLjI5NzEgMC43MDI5NDFDMjMuMDc0MiAwLjQ4MDA4MSAyMi44MDk2IDAuMzAzMjk5IDIyLjUxODQgMC4xODI2ODhDMjIuMjI3MyAwLjA2MjA3NzYgMjEuOTE1MiAtMS4zNzc2M2UtMDggMjEuNiAwVjIuMzk5OTlIMjRaXCIgZmlsbD1cIiMwMkJGNkZcIiAvPlxuPHBhdGggZD1cIk0yNCAxNS41OTk5QzI0IDE1LjkxNTEgMjMuOTM3OSAxNi4yMjcyIDIzLjgxNzMgMTYuNTE4NEMyMy42OTY3IDE2LjgwOTYgMjMuNTE5OSAxNy4wNzQxIDIzLjI5NzEgMTcuMjk3QzIzLjA3NDIgMTcuNTE5OCAyMi44MDk2IDE3LjY5NjYgMjIuNTE4NCAxNy44MTcyQzIyLjIyNzMgMTcuOTM3OSAyMS45MTUyIDE3Ljk5OTkgMjEuNiAxNy45OTk5VjE1LjU5OTlIMjRaXCIgZmlsbD1cIiMwMkJGNkZcIiAvPlxuPHBhdGggZD1cIk0wIDIuMzk5OTlDMi43NTUzM2UtMDggMi4wODQ4MiAwLjA2MjA3NzkgMS43NzI3MyAwLjE4MjY4OSAxLjQ4MTU1QzAuMzAzMzAxIDEuMTkwMzcgMC40ODAwODMgMC45MjU4IDAuNzAyOTQ0IDAuNzAyOTRDMC45MjU4MDUgMC40ODAwODEgMS4xOTAzOCAwLjMwMzI5OSAxLjQ4MTU2IDAuMTgyNjg4QzEuNzcyNzQgMC4wNjIwNzczIDIuMDg0ODMgLTEuNTQwNDNlLTA3IDIuNCAwVjIuMzk5OTlIMFpcIiBmaWxsPVwiIzAyQkY2RlwiIC8+XG48cGF0aCBkPVwiTTAgMTUuNTk5OUMtMi43NTUzMmUtMDggMTUuOTE1MSAwLjA2MjA3NzggMTYuMjI3MiAwLjE4MjY4OSAxNi41MTg0QzAuMzAzMyAxNi44MDk2IDAuNDgwMDgzIDE3LjA3NDEgMC43MDI5NDQgMTcuMjk3QzAuOTI1ODA0IDE3LjUxOTggMS4xOTAzOCAxNy42OTY2IDEuNDgxNTYgMTcuODE3MkMxLjc3Mjc0IDE3LjkzNzkgMi4wODQ4MyAxNy45OTk5IDIuNCAxNy45OTk5VjE1LjU5OTlIMFpcIiBmaWxsPVwiIzAyQkY2RlwiIC8+XG48cGF0aCBkPVwiTTcuMiAxNS41OTk5QzcuNTE1MTcgMTUuNTk5OSA3LjgyNzI2IDE1LjY2MiA4LjExODQ0IDE1Ljc4MjZDOC40MDk2MiAxNS45MDMyIDguNjc0MiAxNi4wOCA4Ljg5NzA2IDE2LjMwMjlDOS4xMTk5MiAxNi41MjU3IDkuMjk2NyAxNi43OTAzIDkuNDE3MzEgMTcuMDgxNUM5LjUzNzkyIDE3LjM3MjcgOS42IDE3LjY4NDggOS42IDE3Ljk5OTlINy4yVjE1LjU5OTlaXCIgZmlsbD1cIiMwMkJGNkZcIiAvPlxuPHBhdGggZD1cIk03LjIgMjIuNzk5OUM3LjIgMjMuMTE4MiA3LjMyNjQzIDIzLjQyMzQgNy41NTE0NyAyMy42NDg0QzcuNzc2NTIgMjMuODczNSA4LjA4MTc0IDIzLjk5OTkgOC40IDIzLjk5OTlDOC43MTgyNiAyMy45OTk5IDkuMDIzNDggMjMuODczNSA5LjI0ODUzIDIzLjY0ODRDOS40NzM1NyAyMy40MjM0IDkuNiAyMy4xMTgyIDkuNiAyMi43OTk5SDcuMlpcIiBmaWxsPVwiIzAyQkY2RlwiIC8+XG48cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNy4yIDIyLjc5OTlWMTcuOTk5OUg5LjZWMjIuNzk5OUg3LjJaXCIgZmlsbD1cIiMwMkJGNkZcIiAvPlxuPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE3Ljc3NjUgMTYuMTAyNUMxOC4xNjE3IDE2LjY0MTcgMTguMDM2OCAxNy4zOTEyIDE3LjQ5NzUgMTcuNzc2NEw5LjA5NzQ3IDIzLjc3NjRDOC41NTgxOCAyNC4xNjE2IDcuODA4NzIgMjQuMDM2NyA3LjQyMzUgMjMuNDk3NEM3LjAzODI5IDIyLjk1ODEgNy4xNjMyIDIyLjIwODYgNy43MDI1IDIxLjgyMzRMMTYuMTAyNSAxNS44MjM1QzE2LjY0MTggMTUuNDM4MyAxNy4zOTEzIDE1LjU2MzIgMTcuNzc2NSAxNi4xMDI1WlwiIGZpbGw9XCIjMDJCRjZGXCIgLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xMiA1Ljk5OTk4QzEwLjAxMTggNS45OTk5OCA4LjQgNy42MTE3NCA4LjQgOS41OTk5NkM4LjQgMTEuNTg4MiAxMC4wMTE4IDEzLjE5OTkgMTIgMTMuMTk5OUMxMy45ODgyIDEzLjE5OTkgMTUuNiAxMS41ODgyIDE1LjYgOS41OTk5NkMxNS42IDcuNjExNzQgMTMuOTg4MiA1Ljk5OTk4IDEyIDUuOTk5OThaTTYgOS41OTk5NkM2IDYuMjg2MjcgOC42ODYyOSAzLjU5OTk5IDEyIDMuNTk5OTlDMTUuMzEzNyAzLjU5OTk5IDE4IDYuMjg2MjcgMTggOS41OTk5NkMxOCAxMi45MTM3IDE1LjMxMzcgMTUuNTk5OSAxMiAxNS41OTk5QzguNjg2MjkgMTUuNTk5OSA2IDEyLjkxMzcgNiA5LjU5OTk2WlwiIGZpbGw9XCIjMDJCRjZGXCIgLz5cbjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk03LjE5OTk4IDExLjU2MTlMMTUuMDI0NiA1Ljk5OTk4TDE2LjQxNTEgNy45NTYxNEw4LjU5MDQ2IDEzLjUxOEw3LjE5OTk4IDExLjU2MTlaXCIgZmlsbD1cIiMwMkJGNkZcIiAvPlxuPC9zdmc+XG4iLCI8c3ZnIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBkYXRhLWljb249XCJjaGVja1wiIHZpZXdCb3g9XCI2NCA2NCA4OTYgODk2XCI+PHBhdGggZD1cIk05MTIgMTkwaC02OS45Yy05LjggMC0xOS4xIDQuNS0yNS4xIDEyLjJMNDA0LjcgNzI0LjUgMjA3IDQ3NGEzMiAzMiAwIDAgMC0yNS4xLTEyLjJIMTEyYy02LjcgMC0xMC40IDcuNy02LjMgMTIuOWwyNzMuOSAzNDdjMTIuOCAxNi4yIDM3LjQgMTYuMiA1MC4zIDBsNDg4LjQtNjE4LjljNC4xLTUuMS40LTEyLjgtNi4zLTEyLjh6XCIvPjwvc3ZnPiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuPHBhdGggZmlsbD1cIiMyQzMzMzZcIiBkPVwibTEwLjU4IDE0LjE0Ni0yLjMyMi0yLjMyM2EuNzI0LjcyNCAwIDAgMC0uNTIyLS4yMTIuNzA3LjcwNyAwIDAgMC0uNTMyLjIxMi43MTcuNzE3IDAgMCAwLS4yMTcuNTI3YzAgLjIwNi4wNzIuMzgyLjIxNy41MjdsMi43NDQgMi43NDRhLjg3Ljg3IDAgMCAwIC42MzMuMjcxYy4yNCAwIC40NTItLjA5LjYzMi0uMjdsNS41NjQtNS41NjRhLjcyNS43MjUgMCAwIDAgLjIxMi0uNTIyLjcwNy43MDcgMCAwIDAtLjIxMi0uNTMyLjcxOC43MTggMCAwIDAtLjUyNy0uMjE3LjcxNy43MTcgMCAwIDAtLjUyNy4yMTdsLTUuMTQyIDUuMTQyWm0xLjQyMiA3LjM1NGE5LjI1NSA5LjI1NSAwIDAgMS0zLjcwNS0uNzQ4IDkuNTk4IDkuNTk4IDAgMCAxLTMuMDE4LTIuMDMgOS41OTEgOS41OTEgMCAwIDEtMi4wMy0zLjAxNiA5LjI0NSA5LjI0NSAwIDAgMS0uNzQ5LTMuNzA0YzAtMS4zMTQuMjUtMi41NS43NDgtMy43MDVhOS41OTcgOS41OTcgMCAwIDEgMi4wMy0zLjAxOCA5LjU5MiA5LjU5MiAwIDAgMSAzLjAxNi0yLjAzIDkuMjQ1IDkuMjQ1IDAgMCAxIDMuNzA0LS43NDljMS4zMTQgMCAyLjU1LjI1IDMuNzA1Ljc0OGE5LjU5NyA5LjU5NyAwIDAgMSAzLjAxOCAyLjAzIDkuNTkyIDkuNTkyIDAgMCAxIDIuMDMgMy4wMTYgOS4yNDUgOS4yNDUgMCAwIDEgLjc0OSAzLjcwNGMwIDEuMzE0LS4yNSAyLjU1LS43NDggMy43MDVhOS41OTggOS41OTggMCAwIDEtMi4wMyAzLjAxOCA5LjU5MiA5LjU5MiAwIDAgMS0zLjAxNiAyLjAzIDkuMjQ1IDkuMjQ1IDAgMCAxLTMuNzA0Ljc0OVpcIi8+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0yMy45Mzc1IDEyQzIzLjkzNzUgMTguNDIwMyAxOC43MzI4IDIzLjYyNSAxMi4zMTI1IDIzLjYyNUM1Ljg5MjE3IDIzLjYyNSAwLjY4NzUgMTguNDIwMyAwLjY4NzUgMTJDMC42ODc1IDUuNTc5NjcgNS44OTIxNyAwLjM3NSAxMi4zMTI1IDAuMzc1QzE4LjczMjggMC4zNzUgMjMuOTM3NSA1LjU3OTY3IDIzLjkzNzUgMTJaTTEwLjk2NzggMTguMTU1M0wxOS41OTI4IDkuNTMwMzRDMTkuODg1NyA5LjIzNzQ3IDE5Ljg4NTcgOC43NjI1OCAxOS41OTI4IDguNDY5N0wxOC41MzIyIDcuNDA5MDZDMTguMjM5MyA3LjExNjE0IDE3Ljc2NDQgNy4xMTYxNCAxNy40NzE1IDcuNDA5MDZMMTAuNDM3NSAxNC40NDNMNy4xNTM0OCAxMS4xNTlDNi44NjA2MSAxMC44NjYxIDYuMzg1NzIgMTAuODY2MSA2LjA5MjggMTEuMTU5TDUuMDMyMTYgMTIuMjE5N0M0LjczOTI4IDEyLjUxMjUgNC43MzkyOCAxMi45ODc0IDUuMDMyMTYgMTMuMjgwM0w5LjkwNzE2IDE4LjE1NTNDMTAuMjAwMSAxOC40NDgyIDEwLjY3NDkgMTguNDQ4MiAxMC45Njc4IDE4LjE1NTNaXCIgZmlsbD1cIiMyQzMzMzZcIi8+XG48L3N2Zz5cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxuPHBhdGggZD1cIk0xMC42IDEzLjRMOC40NSAxMS4yNUM4LjI2NjY3IDExLjA2NjcgOC4wMzMzMyAxMC45NzUgNy43NSAxMC45NzVDNy40NjY2NyAxMC45NzUgNy4yMzMzMyAxMS4wNjY3IDcuMDUgMTEuMjVDNi44NjY2NyAxMS40MzMzIDYuNzc1IDExLjY2NjcgNi43NzUgMTEuOTVDNi43NzUgMTIuMjMzMyA2Ljg2NjY3IDEyLjQ2NjcgNy4wNSAxMi42NUw5LjkgMTUuNUMxMC4xIDE1LjcgMTAuMzMzMyAxNS44IDEwLjYgMTUuOEMxMC44NjY3IDE1LjggMTEuMSAxNS43IDExLjMgMTUuNUwxNi45NSA5Ljg1QzE3LjEzMzMgOS42NjY2NyAxNy4yMjUgOS40MzMzMyAxNy4yMjUgOS4xNUMxNy4yMjUgOC44NjY2NyAxNy4xMzMzIDguNjMzMzMgMTYuOTUgOC40NUMxNi43NjY3IDguMjY2NjcgMTYuNTMzMyA4LjE3NSAxNi4yNSA4LjE3NUMxNS45NjY3IDguMTc1IDE1LjczMzMgOC4yNjY2NyAxNS41NSA4LjQ1TDEwLjYgMTMuNFpNNSAyMUM0LjQ1IDIxIDMuOTc5MTcgMjAuODA0MiAzLjU4NzUgMjAuNDEyNUMzLjE5NTgzIDIwLjAyMDggMyAxOS41NSAzIDE5VjVDMyA0LjQ1IDMuMTk1ODMgMy45NzkxNyAzLjU4NzUgMy41ODc1QzMuOTc5MTcgMy4xOTU4MyA0LjQ1IDMgNSAzSDE5QzE5LjU1IDMgMjAuMDIwOCAzLjE5NTgzIDIwLjQxMjUgMy41ODc1QzIwLjgwNDIgMy45NzkxNyAyMSA0LjQ1IDIxIDVWMTlDMjEgMTkuNTUgMjAuODA0MiAyMC4wMjA4IDIwLjQxMjUgMjAuNDEyNUMyMC4wMjA4IDIwLjgwNDIgMTkuNTUgMjEgMTkgMjFINVpcIiBmaWxsPVwiIzAyQkY2RlwiLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBpZD1cInNjaGVkdWxlXCIgZD1cIk0xMyAxMS42VjhDMTMgNy43MTY2NyAxMi45MDQyIDcuNDc5MTcgMTIuNzEyNSA3LjI4NzVDMTIuNTIwOCA3LjA5NTgzIDEyLjI4MzMgNyAxMiA3QzExLjcxNjcgNyAxMS40NzkyIDcuMDk1ODMgMTEuMjg3NSA3LjI4NzVDMTEuMDk1OCA3LjQ3OTE3IDExIDcuNzE2NjcgMTEgOFYxMS45NzVDMTEgMTIuMTA4MyAxMS4wMjUgMTIuMjM3NSAxMS4wNzUgMTIuMzYyNUMxMS4xMjUgMTIuNDg3NSAxMS4yIDEyLjYgMTEuMyAxMi43TDE0LjYgMTZDMTQuNzgzMyAxNi4xODMzIDE1LjAxNjcgMTYuMjc1IDE1LjMgMTYuMjc1QzE1LjU4MzMgMTYuMjc1IDE1LjgxNjcgMTYuMTgzMyAxNiAxNkMxNi4xODMzIDE1LjgxNjcgMTYuMjc1IDE1LjU4MzMgMTYuMjc1IDE1LjNDMTYuMjc1IDE1LjAxNjcgMTYuMTgzMyAxNC43ODMzIDE2IDE0LjZMMTMgMTEuNlpNMTIgMjJDMTAuNjE2NyAyMiA5LjMxNjY3IDIxLjczNzUgOC4xIDIxLjIxMjVDNi44ODMzMyAyMC42ODc1IDUuODI1IDE5Ljk3NSA0LjkyNSAxOS4wNzVDNC4wMjUgMTguMTc1IDMuMzEyNSAxNy4xMTY3IDIuNzg3NSAxNS45QzIuMjYyNSAxNC42ODMzIDIgMTMuMzgzMyAyIDEyQzIgMTAuNjE2NyAyLjI2MjUgOS4zMTY2NyAyLjc4NzUgOC4xQzMuMzEyNSA2Ljg4MzMzIDQuMDI1IDUuODI1IDQuOTI1IDQuOTI1QzUuODI1IDQuMDI1IDYuODgzMzMgMy4zMTI1IDguMSAyLjc4NzVDOS4zMTY2NyAyLjI2MjUgMTAuNjE2NyAyIDEyIDJDMTMuMzgzMyAyIDE0LjY4MzMgMi4yNjI1IDE1LjkgMi43ODc1QzE3LjExNjcgMy4zMTI1IDE4LjE3NSA0LjAyNSAxOS4wNzUgNC45MjVDMTkuOTc1IDUuODI1IDIwLjY4NzUgNi44ODMzMyAyMS4yMTI1IDguMUMyMS43Mzc1IDkuMzE2NjcgMjIgMTAuNjE2NyAyMiAxMkMyMiAxMy4zODMzIDIxLjczNzUgMTQuNjgzMyAyMS4yMTI1IDE1LjlDMjAuNjg3NSAxNy4xMTY3IDE5Ljk3NSAxOC4xNzUgMTkuMDc1IDE5LjA3NUMxOC4xNzUgMTkuOTc1IDE3LjExNjcgMjAuNjg3NSAxNS45IDIxLjIxMjVDMTQuNjgzMyAyMS43Mzc1IDEzLjM4MzMgMjIgMTIgMjJaTTEyIDIwQzE0LjIxNjcgMjAgMTYuMTA0MiAxOS4yMjA4IDE3LjY2MjUgMTcuNjYyNUMxOS4yMjA4IDE2LjEwNDIgMjAgMTQuMjE2NyAyMCAxMkMyMCA5Ljc4MzMzIDE5LjIyMDggNy44OTU4MyAxNy42NjI1IDYuMzM3NUMxNi4xMDQyIDQuNzc5MTcgMTQuMjE2NyA0IDEyIDRDOS43ODMzMyA0IDcuODk1ODMgNC43NzkxNyA2LjMzNzUgNi4zMzc1QzQuNzc5MTcgNy44OTU4MyA0IDkuNzgzMzMgNCAxMkM0IDE0LjIxNjcgNC43NzkxNyAxNi4xMDQyIDYuMzM3NSAxNy42NjI1QzcuODk1ODMgMTkuMjIwOCA5Ljc4MzMzIDIwIDEyIDIwWlwiIGZpbGw9XCIjMDJCRjZGXCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMiAxMC44NzVWNi40MjJjMC0xLjAwMyAxLjIxMi0xLjUwNSAxLjkyLS43OTZsMS4zIDEuMjk5IDUuMjYtNS4yNmMuMjE5LS4yMi41NzUtLjIyLjc5NSAwbDEuMDYgMS4wNmMuMjIuMjIuMjIuNTc2IDAgLjc5NmwtNS4yNiA1LjI2IDEuMjk5IDEuMjk4Yy43MDkuNzEuMjA3IDEuOTIxLS43OTYgMS45MjFoLTQuNDUzQTEuMTI1IDEuMTI1IDAgMCAxIDEyIDEwLjg3NVptLTguNDggMTEuNDYgNS4yNi01LjI2IDEuMyAxLjI5OWMuNzA4LjcwOSAxLjkyLjIwNyAxLjkyLS43OTZ2LTQuNDUzYzAtLjYyMS0uNTA0LTEuMTI1LTEuMTI1LTEuMTI1SDYuNDIyYy0xLjAwMyAwLTEuNTA1IDEuMjEyLS43OTYgMS45MmwxLjI5OSAxLjMtNS4yNiA1LjI2YS41NjMuNTYzIDAgMCAwIDAgLjc5NWwxLjA2IDEuMDZjLjIyLjIyLjU3Ni4yMi43OTYgMFpcIj48L3BhdGg+PC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBkPVwiTTIxLjg0MSAzLjA5MDk4TDE5LjQwOSAwLjY1OTAxNkMxOC45ODcxIDAuMjM3MDU4IDE4LjQxNDggMy4xMjAzNmUtMDYgMTcuODE4IDBMOS43NSAwQzguNTA3MzQgMCA3LjUgMS4wMDczNCA3LjUgMi4yNVY0LjVIMy43NUMyLjUwNzM0IDQuNSAxLjUgNS41MDczNCAxLjUgNi43NVYyMS43NUMxLjUgMjIuOTkyNyAyLjUwNzM0IDI0IDMuNzUgMjRIMTQuMjVDMTUuNDkyNyAyNCAxNi41IDIyLjk5MjcgMTYuNSAyMS43NVYxOS41SDIwLjI1QzIxLjQ5MjcgMTkuNSAyMi41IDE4LjQ5MjcgMjIuNSAxNy4yNVY0LjY4MTk3QzIyLjUgNC4wODUyMyAyMi4yNjI5IDMuNTEyOTQgMjEuODQxIDMuMDkwOThaTTE4IDEuNTIzMDJDMTguMTMxOSAxLjU1NTU1IDE4LjI1MjMgMS42MjM1NiAxOC4zNDgzIDEuNzE5NjZMMjAuNzgwMyA0LjE1MTY3QzIwLjg3NjQgNC4yNDc2NyAyMC45NDQ0IDQuMzY4MTMgMjAuOTc2OSA0LjVIMThWMS41MjMwMlpNMTUgMjEuNzVDMTUgMjIuMTYzNSAxNC42NjM1IDIyLjUgMTQuMjUgMjIuNUgzLjc1QzMuMzM2NDcgMjIuNSAzIDIyLjE2MzUgMyAyMS43NVY2Ljc1QzMgNi4zMzY0NyAzLjMzNjQ3IDYgMy43NSA2SDcuNVYxNy4yNUM3LjUgMTguNDkyNyA4LjUwNzM0IDE5LjUgOS43NSAxOS41SDE1VjIxLjc1Wk0yMSAxNy4yNUMyMSAxNy42NjM1IDIwLjY2MzUgMTggMjAuMjUgMThIOS43NUM5LjMzNjQ3IDE4IDkgMTcuNjYzNSA5IDE3LjI1VjIuMjVDOSAxLjgzNjQ3IDkuMzM2NDcgMS41IDkuNzUgMS41SDE2LjVWNC44NzVDMTYuNSA1LjQ5Mzc1IDE3LjAwNjMgNiAxNy42MjUgNkgyMVYxNy4yNVpcIiBmaWxsPVwiIzJDMzMzNlwiLz5cbjwvc3ZnPlxuIiwiPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48ZyBpZD1cImN1c3RvbWl6ZVwiPlxuPG1hc2sgaWQ9XCJtYXNrMF80XzE4NDRcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMjVcIiBoZWlnaHQ9XCIyNFwiPlxuPHJlY3QgaWQ9XCJCb3VuZGluZyBib3hcIiB4PVwiMC41XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEOUQ5RDlcIi8+XG48L21hc2s+XG48ZyBtYXNrPVwidXJsKCNtYXNrMF80XzE4NDQpXCI+XG48cGF0aCBpZD1cImRyYXdcIiBkPVwiTTE0LjUgMjFDMTQuMjE2NyAyMSAxMy45NzkyIDIwLjkwNDIgMTMuNzg3NSAyMC43MTI1QzEzLjU5NTggMjAuNTIwOCAxMy41IDIwLjI4MzMgMTMuNSAyMEMxMy41IDE5LjcxNjcgMTMuNTk1OCAxOS40NzkyIDEzLjc4NzUgMTkuMjg3NUMxMy45NzkyIDE5LjA5NTggMTQuMjE2NyAxOSAxNC41IDE5QzE1LjI4MzMgMTkgMTUuOTc5MiAxOC44NDU4IDE2LjU4NzUgMTguNTM3NUMxNy4xOTU4IDE4LjIyOTIgMTcuNSAxNy44ODMzIDE3LjUgMTcuNUMxNy41IDE3LjI2NjcgMTcuMzkxNyAxNy4wNSAxNy4xNzUgMTYuODVDMTYuOTU4MyAxNi42NSAxNi42NTgzIDE2LjQ2NjcgMTYuMjc1IDE2LjNMMTcuNzUgMTQuODI1QzE4LjI4MzMgMTUuMTQxNyAxOC43MDgzIDE1LjUxNjcgMTkuMDI1IDE1Ljk1QzE5LjM0MTcgMTYuMzgzMyAxOS41IDE2LjkgMTkuNSAxNy41QzE5LjUgMTguNiAxOC45NzUgMTkuNDU4MyAxNy45MjUgMjAuMDc1QzE2Ljg3NSAyMC42OTE3IDE1LjczMzMgMjEgMTQuNSAyMVpNNS4wNzUgMTMuMzVDNC41OTE2NyAxMy4wNjY3IDQuMjA4MzMgMTIuNzM3NSAzLjkyNSAxMi4zNjI1QzMuNjQxNjcgMTEuOTg3NSAzLjUgMTEuNTMzMyAzLjUgMTFDMy41IDEwLjMgMy43NTgzMyA5LjcxMjUgNC4yNzUgOS4yMzc1QzQuNzkxNjcgOC43NjI1IDUuNzE2NjcgOC4yMzMzMyA3LjA1IDcuNjVDOC4xIDcuMTY2NjcgOC43NzA4MyA2LjgyOTE3IDkuMDYyNSA2LjYzNzVDOS4zNTQxNyA2LjQ0NTgzIDkuNSA2LjIzMzMzIDkuNSA2QzkuNSA1LjczMzMzIDkuMzM3NSA1LjUgOS4wMTI1IDUuM0M4LjY4NzUgNS4xIDguMTgzMzMgNSA3LjUgNUM3LjA4MzMzIDUgNi43MzMzMyA1LjA1IDYuNDUgNS4xNUM2LjE2NjY3IDUuMjUgNS45MDgzMyA1LjQxNjY3IDUuNjc1IDUuNjVDNS40OTE2NyA1LjgzMzMzIDUuMjY2NjcgNS45NDE2NyA1IDUuOTc1QzQuNzMzMzMgNi4wMDgzMyA0LjQ5MTY3IDUuOTMzMzMgNC4yNzUgNS43NUM0LjA1ODMzIDUuNTgzMzMgMy45MzMzMyA1LjM2NjY3IDMuOSA1LjFDMy44NjY2NyA0LjgzMzMzIDMuOTQxNjcgNC41OTE2NyA0LjEyNSA0LjM3NUM0LjQ0MTY3IDMuOTkxNjcgNC44OTU4MyAzLjY2NjY3IDUuNDg3NSAzLjRDNi4wNzkxNyAzLjEzMzMzIDYuNzUgMyA3LjUgM0M4LjcgMyA5LjY2NjY3IDMuMjcwODMgMTAuNCAzLjgxMjVDMTEuMTMzMyA0LjM1NDE3IDExLjUgNS4wODMzMyAxMS41IDZDMTEuNSA2LjY1IDExLjI1ODMgNy4yMzMzMyAxMC43NzUgNy43NUMxMC4yOTE3IDguMjY2NjcgOS4zMTY2NyA4Ljg0MTY3IDcuODUgOS40NzVDNi44ODMzMyA5Ljg5MTY3IDYuMjUgMTAuMiA1Ljk1IDEwLjRDNS42NSAxMC42IDUuNSAxMC44IDUuNSAxMUM1LjUgMTEuMTUgNS41OTU4MyAxMS4yOTU4IDUuNzg3NSAxMS40Mzc1QzUuOTc5MTcgMTEuNTc5MiA2LjI0MTY3IDExLjcxNjcgNi41NzUgMTEuODVMNS4wNzUgMTMuMzVaTTE5LjM1IDEwLjRMMTUuMSA2LjE1TDE2LjE1IDUuMUMxNi41NSA0LjcgMTcuMDI5MiA0LjUgMTcuNTg3NSA0LjVDMTguMTQ1OCA0LjUgMTguNjE2NyA0LjcgMTkgNS4xTDIwLjQgNi41QzIwLjggNi44ODMzMyAyMSA3LjM1NDE3IDIxIDcuOTEyNUMyMSA4LjQ3MDgzIDIwLjggOC45NSAyMC40IDkuMzVMMTkuMzUgMTAuNFpNNi41IDE5SDcuOUwxNS4xIDExLjhMMTMuNyAxMC40TDYuNSAxNy42VjE5Wk01IDIxQzQuODY2NjcgMjEgNC43NSAyMC45NSA0LjY1IDIwLjg1QzQuNTUgMjAuNzUgNC41IDIwLjYzMzMgNC41IDIwLjVWMTYuOTVDNC41IDE2LjkxNjcgNC41NSAxNi44IDQuNjUgMTYuNkwxMy43IDcuNTVMMTcuOTUgMTEuOEw4LjkgMjAuODVDOC44NjY2NyAyMC44ODMzIDguNzUgMjAuOTMzMyA4LjU1IDIxSDVaXCIgZmlsbD1cIiMwMkJGNkZcIi8+XG48L2c+XG48L2c+XG48L3N2Zz5cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICA8bWFzayBpZD1cImFcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB4PVwiMFwiIHk9XCIwXCIgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiPlxuICAgIDxwYXRoIGZpbGw9XCIjRDlEOUQ5XCIgZD1cIk0wIDBoMjR2MjRIMHpcIi8+XG4gIDwvbWFzaz5cbiAgPGcgbWFzaz1cInVybCgjYSlcIj5cbiAgICA8cGF0aCBmaWxsPVwiIzJDMzMzNlwiIGQ9XCJNNy4zMDggMjAuNWMtLjUwNSAwLS45MzMtLjE3NS0xLjI4My0uNTI1YTEuNzQ1IDEuNzQ1IDAgMCAxLS41MjUtMS4yODNWNmgtLjI1YS43MjYuNzI2IDAgMCAxLS41MzUtLjIxNS43MjYuNzI2IDAgMCAxLS4yMTUtLjUzNS43My43MyAwIDAgMSAuMjE1LS41MzUuNzI2LjcyNiAwIDAgMSAuNTM1LS4yMTVIOWEuODQuODQgMCAwIDEgLjI2My0uNjMuODg5Ljg4OSAwIDAgMSAuNjQtLjI1NWg0LjE5M2MuMjUxIDAgLjQ2NS4wODUuNjQuMjU0QS44NC44NCAwIDAgMSAxNSA0LjVoMy43NWEuNzMuNzMgMCAwIDEgLjUzNS4yMTUuNzI2LjcyNiAwIDAgMSAuMjE1LjUzNS43MjYuNzI2IDAgMCAxLS4yMTUuNTM1LjcyNi43MjYgMCAwIDEtLjUzNS4yMTVoLS4yNXYxMi42OTJjMCAuNTA2LS4xNzUuOTMzLS41MjUgMS4yODMtLjM1LjM1LS43NzguNTI1LTEuMjgzLjUyNUg3LjMwOFpNNyA2djEyLjY5MmEuMy4zIDAgMCAwIC4wODcuMjIxLjMuMyAwIDAgMCAuMjIuMDg3aDkuMzg1YS4zLjMgMCAwIDAgLjIyMS0uMDg3LjMuMyAwIDAgMCAuMDg3LS4yMlY2SDdabTIuNDA0IDEwLjI1YS43My43MyAwIDAgMCAuMjE1LjUzNS43MjYuNzI2IDAgMCAwIC41MzUuMjE1LjcyNi43MjYgMCAwIDAgLjUzNC0uMjE1LjcyNi43MjYgMCAwIDAgLjIxNi0uNTM1di03LjVhLjcyNi43MjYgMCAwIDAtLjIxNi0uNTM1LjcyNi43MjYgMCAwIDAtLjUzNC0uMjE1LjcyNi43MjYgMCAwIDAtLjUzNS4yMTUuNzI2LjcyNiAwIDAgMC0uMjE1LjUzNXY3LjVabTMuNjkyIDBjMCAuMjEzLjA3Mi4zOTEuMjE2LjUzNWEuNzI2LjcyNiAwIDAgMCAuNTM0LjIxNS43MjYuNzI2IDAgMCAwIC41MzUtLjIxNS43MjYuNzI2IDAgMCAwIC4yMTUtLjUzNXYtNy41YS43MjYuNzI2IDAgMCAwLS4yMTUtLjUzNS43MjYuNzI2IDAgMCAwLS41MzUtLjIxNS43MjYuNzI2IDAgMCAwLS41MzQuMjE1LjcyNi43MjYgMCAwIDAtLjIxNi41MzV2Ny41Wk03IDZ2MTIuNjkyYS4zLjMgMCAwIDAgLjA4Ny4yMjEuMy4zIDAgMCAwIC4yMi4wODdIN1Y2WlwiLz5cbiAgPC9nPlxuPC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgPHBhdGggaWQ9XCJtb3JlX2hvcml6XCIgZD1cIk02IDE0QzUuNDUgMTQgNC45NzkxNyAxMy44MDQyIDQuNTg3NSAxMy40MTI1QzQuMTk1ODMgMTMuMDIwOCA0IDEyLjU1IDQgMTJDNCAxMS40NSA0LjE5NTgzIDEwLjk3OTIgNC41ODc1IDEwLjU4NzVDNC45NzkxNyAxMC4xOTU4IDUuNDUgMTAgNiAxMEM2LjU1IDEwIDcuMDIwODMgMTAuMTk1OCA3LjQxMjUgMTAuNTg3NUM3LjgwNDE3IDEwLjk3OTIgOCAxMS40NSA4IDEyQzggMTIuNTUgNy44MDQxNyAxMy4wMjA4IDcuNDEyNSAxMy40MTI1QzcuMDIwODMgMTMuODA0MiA2LjU1IDE0IDYgMTRaTTEyIDE0QzExLjQ1IDE0IDEwLjk3OTIgMTMuODA0MiAxMC41ODc1IDEzLjQxMjVDMTAuMTk1OCAxMy4wMjA4IDEwIDEyLjU1IDEwIDEyQzEwIDExLjQ1IDEwLjE5NTggMTAuOTc5MiAxMC41ODc1IDEwLjU4NzVDMTAuOTc5MiAxMC4xOTU4IDExLjQ1IDEwIDEyIDEwQzEyLjU1IDEwIDEzLjAyMDggMTAuMTk1OCAxMy40MTI1IDEwLjU4NzVDMTMuODA0MiAxMC45NzkyIDE0IDExLjQ1IDE0IDEyQzE0IDEyLjU1IDEzLjgwNDIgMTMuMDIwOCAxMy40MTI1IDEzLjQxMjVDMTMuMDIwOCAxMy44MDQyIDEyLjU1IDE0IDEyIDE0Wk0xOCAxNEMxNy40NSAxNCAxNi45NzkyIDEzLjgwNDIgMTYuNTg3NSAxMy40MTI1QzE2LjE5NTggMTMuMDIwOCAxNiAxMi41NSAxNiAxMkMxNiAxMS40NSAxNi4xOTU4IDEwLjk3OTIgMTYuNTg3NSAxMC41ODc1QzE2Ljk3OTIgMTAuMTk1OCAxNy40NSAxMCAxOCAxMEMxOC41NSAxMCAxOS4wMjA4IDEwLjE5NTggMTkuNDEyNSAxMC41ODc1QzE5LjgwNDIgMTAuOTc5MiAyMCAxMS40NSAyMCAxMkMyMCAxMi41NSAxOS44MDQyIDEzLjAyMDggMTkuNDEyNSAxMy40MTI1QzE5LjAyMDggMTMuODA0MiAxOC41NSAxNCAxOCAxNFpcIiBmaWxsPVwiIzgzOEI5N1wiLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBkPVwiTTIyIDEzLjMzMzNIMTguMTYyNUwyMC4wODMzIDExLjQxMjVDMjEuMzM3NSAxMC4xNTgzIDIwLjQ1IDcuOTk5OTggMTguNjcwOCA3Ljk5OTk4SDE2LjAwNDJWMy4zMzMzMUMxNi4wMDQyIDIuMjI5MTUgMTUuMTA4MyAxLjMzMzMxIDE0LjAwNDIgMS4zMzMzMUgxMC4wMDQyQzguOSAxLjMzMzMxIDguMDA0MTcgMi4yMjkxNSA4LjAwNDE3IDMuMzMzMzFWNy45OTk5OEg1LjMzNzVDMy41NjI1IDcuOTk5OTggMi42NjI1IDEwLjE1NDEgMy45MjUgMTEuNDEyNUw1Ljg0NTgzIDEzLjMzMzNIMkMwLjg5NTgzMyAxMy4zMzMzIDAgMTQuMjI5MSAwIDE1LjMzMzNWMjAuNjY2NkMwIDIxLjc3MDggMC44OTU4MzMgMjIuNjY2NiAyIDIyLjY2NjZIMjJDMjMuMTA0MiAyMi42NjY2IDI0IDIxLjc3MDggMjQgMjAuNjY2NlYxNS4zMzMzQzI0IDE0LjIyOTEgMjMuMTA0MiAxMy4zMzMzIDIyIDEzLjMzMzNaTTUuMzMzMzMgOS45OTk5OEgxMFYzLjMzMzMxSDE0VjkuOTk5OThIMTguNjY2N0wxMiAxNi42NjY2TDUuMzMzMzMgOS45OTk5OFpNMjIgMjAuNjY2NkgyVjE1LjMzMzNINy44Mzc1TDEwLjU4MzMgMTguMDc5MUMxMS4zNjY3IDE4Ljg2MjUgMTIuNjI5MiAxOC44NTgzIDEzLjQxMjUgMTguMDc5MUwxNi4xNTgzIDE1LjMzMzNIMjJWMjAuNjY2NlpNMTguMzMzMyAxOEMxOC4zMzMzIDE3LjQ0NTggMTguNzc5MiAxNyAxOS4zMzMzIDE3QzE5Ljg4NzUgMTcgMjAuMzMzMyAxNy40NDU4IDIwLjMzMzMgMThDMjAuMzMzMyAxOC41NTQxIDE5Ljg4NzUgMTkgMTkuMzMzMyAxOUMxOC43NzkyIDE5IDE4LjMzMzMgMTguNTU0MSAxOC4zMzMzIDE4WlwiIGZpbGw9XCIjMkMzMzM2XCIgLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBkPVwiTTQgMjFDMy43MTY2NyAyMSAzLjQ3OTE3IDIwLjkwNDIgMy4yODc1IDIwLjcxMjVDMy4wOTU4MyAyMC41MjA4IDMgMjAuMjgzMyAzIDIwVjE3LjU3NUMzIDE3LjMwODMgMy4wNSAxNy4wNTQyIDMuMTUgMTYuODEyNUMzLjI1IDE2LjU3MDggMy4zOTE2NyAxNi4zNTgzIDMuNTc1IDE2LjE3NUwxNi4yIDMuNTc1QzE2LjQgMy4zOTE2NyAxNi42MjA4IDMuMjUgMTYuODYyNSAzLjE1QzE3LjEwNDIgMy4wNSAxNy4zNTgzIDMgMTcuNjI1IDNDMTcuODkxNyAzIDE4LjE1IDMuMDUgMTguNCAzLjE1QzE4LjY1IDMuMjUgMTguODY2NyAzLjQgMTkuMDUgMy42TDIwLjQyNSA1QzIwLjYyNSA1LjE4MzMzIDIwLjc3MDggNS40IDIwLjg2MjUgNS42NUMyMC45NTQyIDUuOSAyMSA2LjE1IDIxIDYuNEMyMSA2LjY2NjY3IDIwLjk1NDIgNi45MjA4MyAyMC44NjI1IDcuMTYyNUMyMC43NzA4IDcuNDA0MTcgMjAuNjI1IDcuNjI1IDIwLjQyNSA3LjgyNUw3LjgyNSAyMC40MjVDNy42NDE2NyAyMC42MDgzIDcuNDI5MTcgMjAuNzUgNy4xODc1IDIwLjg1QzYuOTQ1ODMgMjAuOTUgNi42OTE2NyAyMSA2LjQyNSAyMUg0Wk0xNy42IDcuOEwxOSA2LjRMMTcuNiA1TDE2LjIgNi40TDE3LjYgNy44WlwiIGZpbGw9XCIjMUMxQjFGXCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxnIGlkPVwiZWxlY3RyaWNfYm9sdFwiPlxuPG1hc2sgaWQ9XCJtYXNrMF8yNzZfMTAxMjlcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiPlxuPHJlY3QgaWQ9XCJCb3VuZGluZyBib3hcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiBmaWxsPVwiI0Q5RDlEOVwiLz5cbjwvbWFzaz5cbjxnIG1hc2s9XCJ1cmwoI21hc2swXzI3Nl8xMDEyOSlcIj5cbjxwYXRoIGlkPVwiZWxlY3RyaWNfYm9sdF8yXCIgZD1cIk05LjE2NjY3IDEyLjA4MzRMNC4yMjkxNyAxMS40NTg0QzMuODgxOTQgMTEuNDE2NyAzLjY1NjI1IDExLjIyOTIgMy41NTIwOCAxMC44OTU5QzMuNDQ3OTIgMTAuNTYyNSAzLjUyMDgzIDEwLjI3NzggMy43NzA4MyAxMC4wNDE3TDEyLjI5MTcgMS44NzUwMkMxMi4zNjExIDEuODA1NTggMTIuNDQ0NCAxLjc1MzQ5IDEyLjU0MTcgMS43MTg3N0MxMi42Mzg5IDEuNjg0MDUgMTIuNzcwOCAxLjY2NjY5IDEyLjkzNzUgMS42NjY2OUMxMy4yMTUzIDEuNjY2NjkgMTMuNDI3MSAxLjc4NDc0IDEzLjU3MjkgMi4wMjA4NUMxMy43MTg3IDIuMjU2OTYgMTMuNzIyMiAyLjUwMDAyIDEzLjU4MzMgMi43NTAwMkwxMC44MzMzIDcuOTE2NjlMMTUuNzcwOCA4LjU0MTY5QzE2LjExODEgOC41ODMzNSAxNi4zNDM3IDguNzcwODUgMTYuNDQ3OSA5LjEwNDE5QzE2LjU1MjEgOS40Mzc1MiAxNi40NzkyIDkuNzIyMjQgMTYuMjI5MiA5Ljk1ODM1TDcuNzA4MzMgMTguMTI1QzcuNjM4ODkgMTguMTk0NSA3LjU1NTU1IDE4LjI0NjUgNy40NTgzMyAxOC4yODEzQzcuMzYxMTEgMTguMzE2IDcuMjI5MTcgMTguMzMzNCA3LjA2MjUgMTguMzMzNEM2Ljc4NDcyIDE4LjMzMzQgNi41NzI5MiAxOC4yMTUzIDYuNDI3MDggMTcuOTc5MkM2LjI4MTI1IDE3Ljc0MzEgNi4yNzc3OCAxNy41IDYuNDE2NjcgMTcuMjVMOS4xNjY2NyAxMi4wODM0WlwiIGZpbGw9XCIjRjE5MjQxXCIvPlxuPC9nPlxuPC9nPlxuPC9zdmc+XG4iLCI8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxnIGlkPVwiZXZlbnRfZGV0YWlsc1wiPlxuPG1hc2sgaWQ9XCJtYXNrMF80XzE3MjZcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiPlxuPHJlY3QgaWQ9XCJCb3VuZGluZyBib3hcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiBmaWxsPVwiI0Q5RDlEOVwiLz5cbjwvbWFzaz5cbjxnIG1hc2s9XCJ1cmwoI21hc2swXzRfMTcyNilcIj5cbjxwYXRoIGlkPVwidGV4dF9hZFwiIGQ9XCJNNS4zMzMzMyAyNi42NjY3QzQuNiAyNi42NjY3IDMuOTcyMjIgMjYuNDA1NiAzLjQ1IDI1Ljg4MzNDMi45Mjc3OCAyNS4zNjExIDIuNjY2NjcgMjQuNzMzMyAyLjY2NjY3IDI0VjhDMi42NjY2NyA3LjI2NjY3IDIuOTI3NzggNi42Mzg4OSAzLjQ1IDYuMTE2NjdDMy45NzIyMiA1LjU5NDQ0IDQuNiA1LjMzMzMzIDUuMzMzMzMgNS4zMzMzM0gyNi42NjY3QzI3LjQgNS4zMzMzMyAyOC4wMjc4IDUuNTk0NDQgMjguNTUgNi4xMTY2N0MyOS4wNzIyIDYuNjM4ODkgMjkuMzMzMyA3LjI2NjY3IDI5LjMzMzMgOFYyNEMyOS4zMzMzIDI0LjczMzMgMjkuMDcyMiAyNS4zNjExIDI4LjU1IDI1Ljg4MzNDMjguMDI3OCAyNi40MDU2IDI3LjQgMjYuNjY2NyAyNi42NjY3IDI2LjY2NjdINS4zMzMzM1pNNS4zMzMzMyAyNEgyNi42NjY3VjhINS4zMzMzM1YyNFpNOCAyMi42NjY3SDI0QzI0LjM3NzggMjIuNjY2NyAyNC42OTQ0IDIyLjUzODkgMjQuOTUgMjIuMjgzM0MyNS4yMDU2IDIyLjAyNzggMjUuMzMzMyAyMS43MTExIDI1LjMzMzMgMjEuMzMzM0MyNS4zMzMzIDIwLjk1NTYgMjUuMjA1NiAyMC42Mzg5IDI0Ljk1IDIwLjM4MzNDMjQuNjk0NCAyMC4xMjc4IDI0LjM3NzggMjAgMjQgMjBIOEM3LjYyMjIyIDIwIDcuMzA1NTYgMjAuMTI3OCA3LjA1IDIwLjM4MzNDNi43OTQ0NCAyMC42Mzg5IDYuNjY2NjcgMjAuOTU1NiA2LjY2NjY3IDIxLjMzMzNDNi42NjY2NyAyMS43MTExIDYuNzk0NDQgMjIuMDI3OCA3LjA1IDIyLjI4MzNDNy4zMDU1NiAyMi41Mzg5IDcuNjIyMjIgMjIuNjY2NyA4IDIyLjY2NjdaTTggMTcuMzMzM0gyNEMyNC4zNzc4IDE3LjMzMzMgMjQuNjk0NCAxNy4yMDU2IDI0Ljk1IDE2Ljk1QzI1LjIwNTYgMTYuNjk0NCAyNS4zMzMzIDE2LjM3NzggMjUuMzMzMyAxNkMyNS4zMzMzIDE1LjYyMjIgMjUuMjA1NiAxNS4zMDU2IDI0Ljk1IDE1LjA1QzI0LjY5NDQgMTQuNzk0NCAyNC4zNzc4IDE0LjY2NjcgMjQgMTQuNjY2N0g4QzcuNjIyMjIgMTQuNjY2NyA3LjMwNTU2IDE0Ljc5NDQgNy4wNSAxNS4wNUM2Ljc5NDQ0IDE1LjMwNTYgNi42NjY2NyAxNS42MjIyIDYuNjY2NjcgMTZDNi42NjY2NyAxNi4zNzc4IDYuNzk0NDQgMTYuNjk0NCA3LjA1IDE2Ljk1QzcuMzA1NTYgMTcuMjA1NiA3LjYyMjIyIDE3LjMzMzMgOCAxNy4zMzMzWk04IDEySDE4LjY2NjdDMTkuMDQ0NCAxMiAxOS4zNjExIDExLjg3MjIgMTkuNjE2NyAxMS42MTY3QzE5Ljg3MjIgMTEuMzYxMSAyMCAxMS4wNDQ0IDIwIDEwLjY2NjdDMjAgMTAuMjg4OSAxOS44NzIyIDkuOTcyMjIgMTkuNjE2NyA5LjcxNjY3QzE5LjM2MTEgOS40NjExMSAxOS4wNDQ0IDkuMzMzMzMgMTguNjY2NyA5LjMzMzMzSDhDNy42MjIyMiA5LjMzMzMzIDcuMzA1NTYgOS40NjExMSA3LjA1IDkuNzE2NjdDNi43OTQ0NCA5Ljk3MjIyIDYuNjY2NjcgMTAuMjg4OSA2LjY2NjY3IDEwLjY2NjdDNi42NjY2NyAxMS4wNDQ0IDYuNzk0NDQgMTEuMzYxMSA3LjA1IDExLjYxNjdDNy4zMDU1NiAxMS44NzIyIDcuNjIyMjIgMTIgOCAxMlpcIiBmaWxsPVwiIzExQjA2RVwiLz5cbjwvZz5cbjwvZz5cbjwvc3ZnPlxuIiwiPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48ZyBpZD1cImV2ZW50X3JlcGVhdFwiPlxuPG1hc2sgaWQ9XCJtYXNrMF80XzE5NzRcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPlxuPHJlY3QgaWQ9XCJCb3VuZGluZyBib3hcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0Q5RDlEOVwiLz5cbjwvbWFzaz5cbjxnIG1hc2s9XCJ1cmwoI21hc2swXzRfMTk3NClcIj5cbjxwYXRoIGlkPVwiZXZlbnRfcmVwZWF0XzJcIiBkPVwiTTUgMjJDNC40NSAyMiAzLjk3OTE3IDIxLjgwNDIgMy41ODc1IDIxLjQxMjVDMy4xOTU4MyAyMS4wMjA4IDMgMjAuNTUgMyAyMFY2QzMgNS40NSAzLjE5NTgzIDQuOTc5MTcgMy41ODc1IDQuNTg3NUMzLjk3OTE3IDQuMTk1ODMgNC40NSA0IDUgNEg2VjNDNiAyLjcxNjY3IDYuMDk1ODMgMi40NzkxNyA2LjI4NzUgMi4yODc1QzYuNDc5MTcgMi4wOTU4MyA2LjcxNjY3IDIgNyAyQzcuMjgzMzMgMiA3LjUyMDgzIDIuMDk1ODMgNy43MTI1IDIuMjg3NUM3LjkwNDE3IDIuNDc5MTcgOCAyLjcxNjY3IDggM1Y0SDE2VjNDMTYgMi43MTY2NyAxNi4wOTU4IDIuNDc5MTcgMTYuMjg3NSAyLjI4NzVDMTYuNDc5MiAyLjA5NTgzIDE2LjcxNjcgMiAxNyAyQzE3LjI4MzMgMiAxNy41MjA4IDIuMDk1ODMgMTcuNzEyNSAyLjI4NzVDMTcuOTA0MiAyLjQ3OTE3IDE4IDIuNzE2NjcgMTggM1Y0SDE5QzE5LjU1IDQgMjAuMDIwOCA0LjE5NTgzIDIwLjQxMjUgNC41ODc1QzIwLjgwNDIgNC45NzkxNyAyMSA1LjQ1IDIxIDZWMTFDMjEgMTEuMjgzMyAyMC45MDQyIDExLjUyMDggMjAuNzEyNSAxMS43MTI1QzIwLjUyMDggMTEuOTA0MiAyMC4yODMzIDEyIDIwIDEyQzE5LjcxNjcgMTIgMTkuNDc5MiAxMS45MDQyIDE5LjI4NzUgMTEuNzEyNUMxOS4wOTU4IDExLjUyMDggMTkgMTEuMjgzMyAxOSAxMVYxMEg1VjIwSDExQzExLjI4MzMgMjAgMTEuNTIwOCAyMC4wOTU4IDExLjcxMjUgMjAuMjg3NUMxMS45MDQyIDIwLjQ3OTIgMTIgMjAuNzE2NyAxMiAyMUMxMiAyMS4yODMzIDExLjkwNDIgMjEuNTIwOCAxMS43MTI1IDIxLjcxMjVDMTEuNTIwOCAyMS45MDQyIDExLjI4MzMgMjIgMTEgMjJINVpNMTkgMjRDMTcuOTMzMyAyNCAxNi45NzkyIDIzLjcwNDIgMTYuMTM3NSAyMy4xMTI1QzE1LjI5NTggMjIuNTIwOCAxNC42OTE3IDIxLjc1IDE0LjMyNSAyMC44QzE0LjI0MTcgMjAuNjE2NyAxNC4yNjI1IDIwLjQzNzUgMTQuMzg3NSAyMC4yNjI1QzE0LjUxMjUgMjAuMDg3NSAxNC42NzUgMjAgMTQuODc1IDIwQzE1LjEwODMgMjAgMTUuMzIwOCAyMC4wNzA4IDE1LjUxMjUgMjAuMjEyNUMxNS43MDQyIDIwLjM1NDIgMTUuODU4MyAyMC41MzMzIDE1Ljk3NSAyMC43NUMxNi4yNzUgMjEuMjgzMyAxNi42OTE3IDIxLjcwODMgMTcuMjI1IDIyLjAyNUMxNy43NTgzIDIyLjM0MTcgMTguMzUgMjIuNSAxOSAyMi41QzE5Ljk2NjcgMjIuNSAyMC43OTE3IDIyLjE1ODMgMjEuNDc1IDIxLjQ3NUMyMi4xNTgzIDIwLjc5MTcgMjIuNSAxOS45NjY3IDIyLjUgMTlDMjIuNSAxOC4wMzMzIDIyLjE1ODMgMTcuMjA4MyAyMS40NzUgMTYuNTI1QzIwLjc5MTcgMTUuODQxNyAxOS45NjY3IDE1LjUgMTkgMTUuNUMxOC41MTY3IDE1LjUgMTguMDY2NyAxNS41ODc1IDE3LjY1IDE1Ljc2MjVDMTcuMjMzMyAxNS45Mzc1IDE2Ljg2NjcgMTYuMTgzMyAxNi41NSAxNi41SDE3LjI1QzE3LjQ2NjcgMTYuNSAxNy42NDU4IDE2LjU3MDggMTcuNzg3NSAxNi43MTI1QzE3LjkyOTIgMTYuODU0MiAxOCAxNy4wMzMzIDE4IDE3LjI1QzE4IDE3LjQ2NjcgMTcuOTI5MiAxNy42NDU4IDE3Ljc4NzUgMTcuNzg3NUMxNy42NDU4IDE3LjkyOTIgMTcuNDY2NyAxOCAxNy4yNSAxOEgxNUMxNC43MTY3IDE4IDE0LjQ3OTIgMTcuOTA0MiAxNC4yODc1IDE3LjcxMjVDMTQuMDk1OCAxNy41MjA4IDE0IDE3LjI4MzMgMTQgMTdWMTQuNzVDMTQgMTQuNTMzMyAxNC4wNzA4IDE0LjM1NDIgMTQuMjEyNSAxNC4yMTI1QzE0LjM1NDIgMTQuMDcwOCAxNC41MzMzIDE0IDE0Ljc1IDE0QzE0Ljk2NjcgMTQgMTUuMTQ1OCAxNC4wNzA4IDE1LjI4NzUgMTQuMjEyNUMxNS40MjkyIDE0LjM1NDIgMTUuNSAxNC41MzMzIDE1LjUgMTQuNzVWMTUuNDI1QzE1Ljk1IDE0Ljk5MTcgMTYuNDc1IDE0LjY0NTggMTcuMDc1IDE0LjM4NzVDMTcuNjc1IDE0LjEyOTIgMTguMzE2NyAxNCAxOSAxNEMyMC4zODMzIDE0IDIxLjU2MjUgMTQuNDg3NSAyMi41Mzc1IDE1LjQ2MjVDMjMuNTEyNSAxNi40Mzc1IDI0IDE3LjYxNjcgMjQgMTlDMjQgMjAuMzgzMyAyMy41MTI1IDIxLjU2MjUgMjIuNTM3NSAyMi41Mzc1QzIxLjU2MjUgMjMuNTEyNSAyMC4zODMzIDI0IDE5IDI0Wk01IDhIMTlWNkg1VjhaXCIgZmlsbD1cIiM2QzczN0FcIi8+XG48L2c+XG48L2c+XG48L3N2Zz5cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGZpbGw9XCIjRURDMTIxXCIgZD1cIk0yMy42MjUgMTJjMCA2LjQyMi01LjIwNSAxMS42MjUtMTEuNjI1IDExLjYyNVMuMzc1IDE4LjQyMi4zNzUgMTJDLjM3NSA1LjU4MiA1LjU4LjM3NSAxMiAuMzc1UzIzLjYyNSA1LjU4MiAyMy42MjUgMTJaTTEyIDE0LjM0NGEyLjE1NiAyLjE1NiAwIDEgMCAwIDQuMzEyIDIuMTU2IDIuMTU2IDAgMCAwIDAtNC4zMTJabS0yLjA0Ny03Ljc1LjM0OCA2LjM3NGEuNTYzLjU2MyAwIDAgMCAuNTYxLjUzMmgyLjI3NmEuNTYzLjU2MyAwIDAgMCAuNTYyLS41MzJsLjM0Ny02LjM3NUEuNTYzLjU2MyAwIDAgMCAxMy40ODUgNmgtMi45N2MtLjMyMyAwLS41OC4yNy0uNTYyLjU5M1pcIi8+PC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMjIuNSAyLjYyNXY0LjQ1M2MwIDEuMDAzLTEuMjEyIDEuNTA1LTEuOTIuNzk2bC0xLjMtMS4yOTktNS4wMjYgNS4wMjdhLjU2My41NjMgMCAwIDEtLjc5NiAwbC0xLjA2LTEuMDZhLjU2My41NjMgMCAwIDEgMC0uNzk2bDUuMDI3LTUuMDI3LTEuMjk5LTEuMjk5Yy0uNzA5LS43MDgtLjIwNy0xLjkyLjc5Ni0xLjkyaDQuNDUzYy42MjEgMCAxLjEyNS41MDQgMS4xMjUgMS4xMjVaTTkuNzQ2IDEyLjM5OCA0LjcyIDE3LjQyNSAzLjQyIDE2LjEyNmMtLjcwOC0uNzA5LTEuOTItLjIwNy0xLjkyLjc5NnY0LjQ1M2MwIC42MjEuNTA0IDEuMTI1IDEuMTI1IDEuMTI1aDQuNDUzYzEuMDAzIDAgMS41MDUtMS4yMTIuNzk2LTEuOTJsLTEuMjk5LTEuMyA1LjAyNy01LjAyNmEuNTYzLjU2MyAwIDAgMCAwLS43OTZsLTEuMDYtMS4wNmEuNTYzLjU2MyAwIDAgMC0uNzk2IDBaXCI+PC9wYXRoPjwvc3ZnPiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiPlxuICA8cGF0aCBmaWxsPVwiIzAyQkY2RlwiIGQ9XCJtMTIgLjgtLjAwNCAzLjRhLjMuMyAwIDAgMS0uMy4zaC0uNjk0YS4zLjMgMCAwIDEtLjMtLjMwNmwuMDU3LTEuNTM0LS4wNDMtLjA0My01LjgxIDUuODFhLjI1LjI1IDAgMCAxLS4zNTMgMGwtLjQ4LS40OGEuMjUuMjUgMCAwIDEgMC0uMzU0bDUuODEtNS44MS0uMDQzLS4wNDItMS41MzQuMDU2YS4zLjMgMCAwIDEtLjMwNi0uM1YuODA0YS4zLjMgMCAwIDEgLjMtLjNMMTEuNy41YS4zLjMgMCAwIDEgLjMuM1pNOC45MDcgNS4zN2wtLjUuNWEuMjUuMjUgMCAwIDAtLjA3NC4xNzZ2My45OTZhLjEyNS4xMjUgMCAwIDEtLjEyNS4xMjVIMS4xMjVBLjEyNS4xMjUgMCAwIDEgMSAxMC4wNDJWMi45NThhLjEyNS4xMjUgMCAwIDEgLjEyNS0uMTI1aDYuMjkxYS4yNS4yNSAwIDAgMCAuMTc3LS40MjZsLS41LS41YS4yNS4yNSAwIDAgMC0uMTc3LS4wNzRIMWExIDEgMCAwIDAtMSAxdjcuMzM0YTEgMSAwIDAgMCAxIDFoNy4zMzNhMSAxIDAgMCAwIDEtMXYtNC42MmEuMjUuMjUgMCAwIDAtLjQyNi0uMTc3WlwiLz5cbjwvc3ZnPiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2EpXCI+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIxMi4xMjVcIiBjeT1cIjEyLjAwNVwiIHI9XCIxMS42MjVcIiBmaWxsPVwiI2ZmZlwiLz5cbiAgICAgICAgPHBhdGggZmlsbD1cIiM5RkE2QURcIiBkPVwiTTEyLjEyNS4zNzVDNS43MDUuMzc1LjUgNS41OC41IDEyczUuMjA1IDExLjYyNSAxMS42MjUgMTEuNjI1UzIzLjc1IDE4LjQyMSAyMy43NSAxMkMyMy43NSA1LjU4IDE4LjU0Ni4zNzUgMTIuMTI1LjM3NVptMCAyMC4yNUE4LjYyIDguNjIgMCAwIDEgMy41IDEyYTguNjIgOC42MiAwIDAgMSA4LjYyNS04LjYyNUE4LjYyIDguNjIgMCAwIDEgMjAuNzUgMTJhOC42MiA4LjYyIDAgMCAxLTguNjI1IDguNjI1Wm0wLTE0LjYyNWE2IDYgMCAxIDAgMCAxMiA2IDYgMCAwIDAgMC0xMlptMCA5Yy0xLjY1NCAwLTMtMS4zNDYtMy0zczEuMzQ2LTMgMy0zIDMgMS4zNDYgMyAzLTEuMzQ2IDMtMyAzWlwiLz5cbiAgICA8L2c+XG4gICAgPGRlZnM+XG4gICAgICAgIDxjbGlwUGF0aCBpZD1cImFcIj5cbiAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjZmZmXCIgZD1cIk0wIDBoMjR2MjRIMHpcIi8+XG4gICAgICAgIDwvY2xpcFBhdGg+XG4gICAgPC9kZWZzPlxuPC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBpZD1cInBhdGhcIiBkPVwiTTE2LjUgMTEuNjI1VjEyLjkzNzVDMTYuNSAxMy4yNDY5IDE2LjI0NjkgMTMuNSAxNS45Mzc1IDEzLjVIOC4wNjI1QzcuNzUzMTMgMTMuNSA3LjUgMTMuMjQ2OSA3LjUgMTIuOTM3NVYxMS42MjVDNy41IDExLjMxNTYgNy43NTMxMyAxMS4wNjI1IDguMDYyNSAxMS4wNjI1SDE1LjkzNzVDMTYuMjQ2OSAxMS4wNjI1IDE2LjUgMTEuMzE1NiAxNi41IDExLjYyNVpNMTUuOTM3NSAxNUg4LjA2MjVDNy43NTMxMyAxNSA3LjUgMTUuMjUzMSA3LjUgMTUuNTYyNVYxNi44NzVDNy41IDE3LjE4NDQgNy43NTMxMyAxNy40Mzc1IDguMDYyNSAxNy40Mzc1SDE1LjkzNzVDMTYuMjQ2OSAxNy40Mzc1IDE2LjUgMTcuMTg0NCAxNi41IDE2Ljg3NVYxNS41NjI1QzE2LjUgMTUuMjUzMSAxNi4yNDY5IDE1IDE1LjkzNzUgMTVaTTIxIDYuMTgyODFWMjEuNzVDMjEgMjIuOTkyMiAxOS45OTIyIDI0IDE4Ljc1IDI0SDUuMjVDNC4wMDc4MSAyNCAzIDIyLjk5MjIgMyAyMS43NVYyLjI1QzMgMS4wMDc4MSA0LjAwNzgxIDAgNS4yNSAwSDE0LjgxNzJDMTUuNDEyNSAwIDE1Ljk4NDQgMC4yMzkwNjMgMTYuNDA2MiAwLjY2MDkzOEwyMC4zMzkxIDQuNTkzNzVDMjAuNzYwOSA1LjAxMDk0IDIxIDUuNTg3NSAyMSA2LjE4MjgxWk0xNSAyLjQzMjgxVjZIMTguNTY3MkwxNSAyLjQzMjgxWk0xOC43NSAyMS43NVY4LjI1SDEzLjg3NUMxMy4yNTE2IDguMjUgMTIuNzUgNy43NDg0NCAxMi43NSA3LjEyNVYyLjI1SDUuMjVWMjEuNzVIMTguNzVaXCIgZmlsbD1cIiMyQzMzMzZcIi8+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0xMSAxOEMxMC43MTY3IDE4IDEwLjQ3OTIgMTcuOTA0MiAxMC4yODc1IDE3LjcxMjVDMTAuMDk1OCAxNy41MjA4IDEwIDE3LjI4MzMgMTAgMTdDMTAgMTYuNzE2NyAxMC4wOTU4IDE2LjQ3OTIgMTAuMjg3NSAxNi4yODc1QzEwLjQ3OTIgMTYuMDk1OCAxMC43MTY3IDE2IDExIDE2SDEzQzEzLjI4MzMgMTYgMTMuNTIwOCAxNi4wOTU4IDEzLjcxMjUgMTYuMjg3NUMxMy45MDQyIDE2LjQ3OTIgMTQgMTYuNzE2NyAxNCAxN0MxNCAxNy4yODMzIDEzLjkwNDIgMTcuNTIwOCAxMy43MTI1IDE3LjcxMjVDMTMuNTIwOCAxNy45MDQyIDEzLjI4MzMgMTggMTMgMThIMTFaTTcgMTNDNi43MTY2NyAxMyA2LjQ3OTE3IDEyLjkwNDIgNi4yODc1IDEyLjcxMjVDNi4wOTU4MyAxMi41MjA4IDYgMTIuMjgzMyA2IDEyQzYgMTEuNzE2NyA2LjA5NTgzIDExLjQ3OTIgNi4yODc1IDExLjI4NzVDNi40NzkxNyAxMS4wOTU4IDYuNzE2NjcgMTEgNyAxMUgxN0MxNy4yODMzIDExIDE3LjUyMDggMTEuMDk1OCAxNy43MTI1IDExLjI4NzVDMTcuOTA0MiAxMS40NzkyIDE4IDExLjcxNjcgMTggMTJDMTggMTIuMjgzMyAxNy45MDQyIDEyLjUyMDggMTcuNzEyNSAxMi43MTI1QzE3LjUyMDggMTIuOTA0MiAxNy4yODMzIDEzIDE3IDEzSDdaTTQgOEMzLjcxNjY3IDggMy40NzkxNyA3LjkwNDE3IDMuMjg3NSA3LjcxMjVDMy4wOTU4MyA3LjUyMDgzIDMgNy4yODMzMyAzIDdDMyA2LjcxNjY3IDMuMDk1ODMgNi40NzkxNyAzLjI4NzUgNi4yODc1QzMuNDc5MTcgNi4wOTU4MyAzLjcxNjY3IDYgNCA2SDIwQzIwLjI4MzMgNiAyMC41MjA4IDYuMDk1ODMgMjAuNzEyNSA2LjI4NzVDMjAuOTA0MiA2LjQ3OTE3IDIxIDYuNzE2NjcgMjEgN0MyMSA3LjI4MzMzIDIwLjkwNDIgNy41MjA4MyAyMC43MTI1IDcuNzEyNUMyMC41MjA4IDcuOTA0MTcgMjAuMjgzMyA4IDIwIDhINFpcIiBmaWxsPVwiIzFDMUIxRlwiLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0yMCA1aC0zLjE3TDE1IDNIOUw3LjE3IDVINGMtMS4xIDAtMiAuOS0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0ybS04IDEzYy0yLjc2IDAtNS0yLjI0LTUtNUg1bDIuNS0yLjVMMTAgMTNIOGMwIDIuMjEgMS43OSA0IDQgNCAuNTggMCAxLjEzLS4xMyAxLjYyLS4zNWwuNzQuNzRjLS43MS4zNy0xLjUuNjEtMi4zNi42MW00LjUtMi41TDE0IDEzaDJjMC0yLjIxLTEuNzktNC00LTQtLjU4IDAtMS4xMy4xMy0xLjYyLjM1bC0uNzQtLjczQzEwLjM1IDguMjQgMTEuMTQgOCAxMiA4YzIuNzYgMCA1IDIuMjQgNSA1aDJ6XCIvPjwvc3ZnPiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwibTIyLjg0NiAxNC43OTgtMS45OTctMS4xNTNhOS4wMjcgOS4wMjcgMCAwIDAgMC0zLjI5TDIyLjg0NiA5LjJhLjU2Ni41NjYgMCAwIDAgLjI1OC0uNjU2IDExLjY3MyAxMS42NzMgMCAwIDAtMi41NjQtNC40MzQuNTY0LjU2NCAwIDAgMC0uNjk0LS4xMDhsLTEuOTk3IDEuMTUzQTguODQ2IDguODQ2IDAgMCAwIDE1IDMuNTExVjEuMjA5YS41NjIuNTYyIDAgMCAwLS40NC0uNTQ4IDExLjc4NCAxMS43ODQgMCAwIDAtNS4xMiAwIC41NjIuNTYyIDAgMCAwLS40NC41NDh2Mi4zMDdBOS4xMjYgOS4xMjYgMCAwIDAgNi4xNSA1LjE2TDQuMTU3IDQuMDA4YS41NTcuNTU3IDAgMCAwLS42OTQuMTA4QTExLjYwNCAxMS42MDQgMCAwIDAgLjkgOC41NWEuNTYuNTYgMCAwIDAgLjI1OC42NTZsMS45OTcgMS4xNTNhOS4wMyA5LjAzIDAgMCAwIDAgMy4yOWwtMS45OTcgMS4xNTRhLjU2Ni41NjYgMCAwIDAtLjI1OC42NTYgMTEuNjc1IDExLjY3NSAwIDAgMCAyLjU2NCA0LjQzNS41NjQuNTY0IDAgMCAwIC42OTQuMTA4bDEuOTk3LTEuMTU0YTguODQ3IDguODQ3IDAgMCAwIDIuODUgMS42NDZWMjIuOGMwIC4yNjIuMTgzLjQ5Mi40NC41NDggMS43Mi4zODUgMy40ODMuMzY2IDUuMTIgMGEuNTYyLjU2MiAwIDAgMCAuNDQtLjU0OHYtMi4zMDZhOS4xMjUgOS4xMjUgMCAwIDAgMi44NS0xLjY0NmwxLjk5NyAxLjE1NGMuMjMuMTMuNTE1LjA4OS42OTMtLjEwOGExMS42MDUgMTEuNjA1IDAgMCAwIDIuNTY0LTQuNDM1LjU3OS41NzkgMCAwIDAtLjI2Mi0uNjZabS0xMC44NDcuOTUyQTMuNzU1IDMuNzU1IDAgMCAxIDguMjUgMTIgMy43NTUgMy43NTUgMCAwIDEgMTIgOC4yNSAzLjc1NSAzLjc1NSAwIDAgMSAxNS43NSAxMiAzLjc1NSAzLjc1NSAwIDAgMSAxMiAxNS43NVpcIj48L3BhdGg+PC9zdmc+IiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjEwMCVcIiBmaWxsPVwibm9uZVwiPjxtYXNrIGlkPVwiYVwiIHg9XCIwXCIgeT1cIjBcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHN0eWxlPVwibWFzay10eXBlOmFscGhhXCI+PHBhdGggZmlsbD1cIiNEOUQ5RDlcIiBkPVwiTTAgMGgyNHYyNEgwelwiLz48L21hc2s+PGcgbWFzaz1cInVybCgjYSlcIj48cGF0aCBmaWxsPVwiIzFDMUIxRlwiIGQ9XCJNMTEuOTUgMThjLjM1IDAgLjY0Ni0uMTIuODg4LS4zNjMuMjQxLS4yNDEuMzYyLS41MzcuMzYyLS44ODdzLS4xMi0uNjQ2LS4zNjItLjg4N2ExLjIwNyAxLjIwNyAwIDAgMC0uODg4LS4zNjMgMS4yIDEuMiAwIDAgMC0uODg3LjM2MyAxLjIwNyAxLjIwNyAwIDAgMC0uMzYzLjg4N2MwIC4zNS4xMi42NDYuMzYzLjg4Ny4yNDEuMjQyLjUzNy4zNjMuODg3LjM2M1ptLjA1IDRhOS43MzggOS43MzggMCAwIDEtMy45LS43ODggMTAuMDk5IDEwLjA5OSAwIDAgMS0zLjE3NS0yLjEzN2MtLjktLjktMS42MTItMS45NTgtMi4xMzctMy4xNzVBOS43MzggOS43MzggMCAwIDEgMiAxMmE5Ljc0IDkuNzQgMCAwIDEgLjc4OC0zLjkgMTAuMDk5IDEwLjA5OSAwIDAgMSAyLjEzNy0zLjE3NWMuOS0uOSAxLjk1OC0xLjYxMiAzLjE3NS0yLjEzN0E5LjczOCA5LjczOCAwIDAgMSAxMiAyYTkuNzQgOS43NCAwIDAgMSAzLjkuNzg4IDEwLjA5OCAxMC4wOTggMCAwIDEgMy4xNzUgMi4xMzdjLjkuOSAxLjYxMyAxLjk1OCAyLjEzNyAzLjE3NUE5LjczOCA5LjczOCAwIDAgMSAyMiAxMmE5LjczOCA5LjczOCAwIDAgMS0uNzg4IDMuOSAxMC4wOTggMTAuMDk4IDAgMCAxLTIuMTM3IDMuMTc1Yy0uOS45LTEuOTU4IDEuNjEzLTMuMTc1IDIuMTM3QTkuNzM4IDkuNzM4IDAgMCAxIDEyIDIyWm0wLTJjMi4yMzMgMCA0LjEyNS0uNzc1IDUuNjc1LTIuMzI1QzE5LjIyNSAxNi4xMjUgMjAgMTQuMjMzIDIwIDEyYzAtMi4yMzMtLjc3NS00LjEyNS0yLjMyNS01LjY3NUMxNi4xMjUgNC43NzUgMTQuMjMzIDQgMTIgNGMtMi4yMzMgMC00LjEyNS43NzUtNS42NzUgMi4zMjVDNC43NzUgNy44NzUgNCA5Ljc2NyA0IDEyYzAgMi4yMzMuNzc1IDQuMTI1IDIuMzI1IDUuNjc1QzcuODc1IDE5LjIyNSA5Ljc2NyAyMCAxMiAyMFptLjEtMTIuM2MuNDE3IDAgLjc4LjEzMyAxLjA4OC40LjMwOC4yNjcuNDYyLjYuNDYyIDEgMCAuMzY3LS4xMTMuNjkyLS4zMzguOTc1LS4yMjQuMjgzLS40NzkuNTUtLjc2Mi44YTYuNyA2LjcgMCAwIDAtMS4wMTMgMS4xYy0uMjkxLjQtLjQzNy44NS0uNDM3IDEuMzUgMCAuMjMzLjA4OC40My4yNjMuNTg4YS44ODUuODg1IDAgMCAwIC42MTIuMjM3Ljg5Ljg5IDAgMCAwIC42MzgtLjI1Yy4xNzUtLjE2Ny4yODctLjM3NS4zMzctLjYyNWEyLjAyIDIuMDIgMCAwIDEgLjQ1LS45MzhjLjIzMy0uMjc0LjQ4My0uNTM3Ljc1LS43ODcuMzgzLS4zNjcuNzEzLS43NjcuOTg3LTEuMmEyLjY1IDIuNjUgMCAwIDAgLjQxMy0xLjQ1YzAtLjg1LS4zNDYtMS41NDYtMS4wMzgtMi4wODhDMTMuODIxIDYuMjcxIDEzLjAxNyA2IDEyLjEgNmE0LjI2IDQuMjYgMCAwIDAtMS44MTMuNCAyLjc5NiAyLjc5NiAwIDAgMC0xLjMxMiAxLjIyNS45MDIuOTAyIDAgMCAwLS4xMTIuNjM3LjczOS43MzkgMCAwIDAgLjMzNy41MTNjLjIzMy4xMzMuNDc1LjE3NS43MjUuMTI1YS45OTYuOTk2IDAgMCAwIC42MjUtLjQyNWMuMTgzLS4yNS40MTItLjQ0Mi42ODgtLjU3NS4yNzQtLjEzMy41NjItLjIuODYyLS4yWlwiLz48L2c+PC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBkPVwiTTExLjk1IDE4QzEyLjMgMTggMTIuNTk1OCAxNy44NzkyIDEyLjgzNzUgMTcuNjM3NUMxMy4wNzkyIDE3LjM5NTggMTMuMiAxNy4xIDEzLjIgMTYuNzVDMTMuMiAxNi40IDEzLjA3OTIgMTYuMTA0MiAxMi44Mzc1IDE1Ljg2MjVDMTIuNTk1OCAxNS42MjA4IDEyLjMgMTUuNSAxMS45NSAxNS41QzExLjYgMTUuNSAxMS4zMDQyIDE1LjYyMDggMTEuMDYyNSAxNS44NjI1QzEwLjgyMDggMTYuMTA0MiAxMC43IDE2LjQgMTAuNyAxNi43NUMxMC43IDE3LjEgMTAuODIwOCAxNy4zOTU4IDExLjA2MjUgMTcuNjM3NUMxMS4zMDQyIDE3Ljg3OTIgMTEuNiAxOCAxMS45NSAxOFpNMTEuMDUgMTQuMTVIMTIuOUMxMi45IDEzLjYgMTIuOTYyNSAxMy4xNjY3IDEzLjA4NzUgMTIuODVDMTMuMjEyNSAxMi41MzMzIDEzLjU2NjcgMTIuMSAxNC4xNSAxMS41NUMxNC41ODMzIDExLjExNjcgMTQuOTI1IDEwLjcwNDIgMTUuMTc1IDEwLjMxMjVDMTUuNDI1IDkuOTIwODMgMTUuNTUgOS40NSAxNS41NSA4LjlDMTUuNTUgNy45NjY2NyAxNS4yMDgzIDcuMjUgMTQuNTI1IDYuNzVDMTMuODQxNyA2LjI1IDEzLjAzMzMgNiAxMi4xIDZDMTEuMTUgNiAxMC4zNzkyIDYuMjUgOS43ODc1IDYuNzVDOS4xOTU4MyA3LjI1IDguNzgzMzMgNy44NSA4LjU1IDguNTVMMTAuMiA5LjJDMTAuMjgzMyA4LjkgMTAuNDcwOCA4LjU3NSAxMC43NjI1IDguMjI1QzExLjA1NDIgNy44NzUgMTEuNSA3LjcgMTIuMSA3LjdDMTIuNjMzMyA3LjcgMTMuMDMzMyA3Ljg0NTgzIDEzLjMgOC4xMzc1QzEzLjU2NjcgOC40MjkxNyAxMy43IDguNzUgMTMuNyA5LjFDMTMuNyA5LjQzMzMzIDEzLjYgOS43NDU4MyAxMy40IDEwLjAzNzVDMTMuMiAxMC4zMjkyIDEyLjk1IDEwLjYgMTIuNjUgMTAuODVDMTEuOTE2NyAxMS41IDExLjQ2NjcgMTEuOTkxNyAxMS4zIDEyLjMyNUMxMS4xMzMzIDEyLjY1ODMgMTEuMDUgMTMuMjY2NyAxMS4wNSAxNC4xNVpNMTIgMjJDMTAuNjE2NyAyMiA5LjMxNjY3IDIxLjczNzUgOC4xIDIxLjIxMjVDNi44ODMzMyAyMC42ODc1IDUuODI1IDE5Ljk3NSA0LjkyNSAxOS4wNzVDNC4wMjUgMTguMTc1IDMuMzEyNSAxNy4xMTY3IDIuNzg3NSAxNS45QzIuMjYyNSAxNC42ODMzIDIgMTMuMzgzMyAyIDEyQzIgMTAuNjE2NyAyLjI2MjUgOS4zMTY2NyAyLjc4NzUgOC4xQzMuMzEyNSA2Ljg4MzMzIDQuMDI1IDUuODI1IDQuOTI1IDQuOTI1QzUuODI1IDQuMDI1IDYuODgzMzMgMy4zMTI1IDguMSAyLjc4NzVDOS4zMTY2NyAyLjI2MjUgMTAuNjE2NyAyIDEyIDJDMTMuMzgzMyAyIDE0LjY4MzMgMi4yNjI1IDE1LjkgMi43ODc1QzE3LjExNjcgMy4zMTI1IDE4LjE3NSA0LjAyNSAxOS4wNzUgNC45MjVDMTkuOTc1IDUuODI1IDIwLjY4NzUgNi44ODMzMyAyMS4yMTI1IDguMUMyMS43Mzc1IDkuMzE2NjcgMjIgMTAuNjE2NyAyMiAxMkMyMiAxMy4zODMzIDIxLjczNzUgMTQuNjgzMyAyMS4yMTI1IDE1LjlDMjAuNjg3NSAxNy4xMTY3IDE5Ljk3NSAxOC4xNzUgMTkuMDc1IDE5LjA3NUMxOC4xNzUgMTkuOTc1IDE3LjExNjcgMjAuNjg3NSAxNS45IDIxLjIxMjVDMTQuNjgzMyAyMS43Mzc1IDEzLjM4MzMgMjIgMTIgMjJaXCIgZmlsbD1cIiMxQzFCMUZcIi8+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0xMiAxN0MxMi4yODMzIDE3IDEyLjUyMDggMTYuOTA0MiAxMi43MTI1IDE2LjcxMjVDMTIuOTA0MiAxNi41MjA4IDEzIDE2LjI4MzMgMTMgMTZWMTJDMTMgMTEuNzE2NyAxMi45MDQyIDExLjQ3OTIgMTIuNzEyNSAxMS4yODc1QzEyLjUyMDggMTEuMDk1OCAxMi4yODMzIDExIDEyIDExQzExLjcxNjcgMTEgMTEuNDc5MiAxMS4wOTU4IDExLjI4NzUgMTEuMjg3NUMxMS4wOTU4IDExLjQ3OTIgMTEgMTEuNzE2NyAxMSAxMlYxNkMxMSAxNi4yODMzIDExLjA5NTggMTYuNTIwOCAxMS4yODc1IDE2LjcxMjVDMTEuNDc5MiAxNi45MDQyIDExLjcxNjcgMTcgMTIgMTdaTTEyIDlDMTIuMjgzMyA5IDEyLjUyMDggOC45MDQxNyAxMi43MTI1IDguNzEyNUMxMi45MDQyIDguNTIwODMgMTMgOC4yODMzMyAxMyA4QzEzIDcuNzE2NjcgMTIuOTA0MiA3LjQ3OTE3IDEyLjcxMjUgNy4yODc1QzEyLjUyMDggNy4wOTU4MyAxMi4yODMzIDcgMTIgN0MxMS43MTY3IDcgMTEuNDc5MiA3LjA5NTgzIDExLjI4NzUgNy4yODc1QzExLjA5NTggNy40NzkxNyAxMSA3LjcxNjY3IDExIDhDMTEgOC4yODMzMyAxMS4wOTU4IDguNTIwODMgMTEuMjg3NSA4LjcxMjVDMTEuNDc5MiA4LjkwNDE3IDExLjcxNjcgOSAxMiA5Wk0xMiAyMkMxMC42MTY3IDIyIDkuMzE2NjcgMjEuNzM3NSA4LjEgMjEuMjEyNUM2Ljg4MzMzIDIwLjY4NzUgNS44MjUgMTkuOTc1IDQuOTI1IDE5LjA3NUM0LjAyNSAxOC4xNzUgMy4zMTI1IDE3LjExNjcgMi43ODc1IDE1LjlDMi4yNjI1IDE0LjY4MzMgMiAxMy4zODMzIDIgMTJDMiAxMC42MTY3IDIuMjYyNSA5LjMxNjY3IDIuNzg3NSA4LjFDMy4zMTI1IDYuODgzMzMgNC4wMjUgNS44MjUgNC45MjUgNC45MjVDNS44MjUgNC4wMjUgNi44ODMzMyAzLjMxMjUgOC4xIDIuNzg3NUM5LjMxNjY3IDIuMjYyNSAxMC42MTY3IDIgMTIgMkMxMy4zODMzIDIgMTQuNjgzMyAyLjI2MjUgMTUuOSAyLjc4NzVDMTcuMTE2NyAzLjMxMjUgMTguMTc1IDQuMDI1IDE5LjA3NSA0LjkyNUMxOS45NzUgNS44MjUgMjAuNjg3NSA2Ljg4MzMzIDIxLjIxMjUgOC4xQzIxLjczNzUgOS4zMTY2NyAyMiAxMC42MTY3IDIyIDEyQzIyIDEzLjM4MzMgMjEuNzM3NSAxNC42ODMzIDIxLjIxMjUgMTUuOUMyMC42ODc1IDE3LjExNjcgMTkuOTc1IDE4LjE3NSAxOS4wNzUgMTkuMDc1QzE4LjE3NSAxOS45NzUgMTcuMTE2NyAyMC42ODc1IDE1LjkgMjEuMjEyNUMxNC42ODMzIDIxLjczNzUgMTMuMzgzMyAyMiAxMiAyMlpNMTIgMjBDMTQuMjMzMyAyMCAxNi4xMjUgMTkuMjI1IDE3LjY3NSAxNy42NzVDMTkuMjI1IDE2LjEyNSAyMCAxNC4yMzMzIDIwIDEyQzIwIDkuNzY2NjcgMTkuMjI1IDcuODc1IDE3LjY3NSA2LjMyNUMxNi4xMjUgNC43NzUgMTQuMjMzMyA0IDEyIDRDOS43NjY2NyA0IDcuODc1IDQuNzc1IDYuMzI1IDYuMzI1QzQuNzc1IDcuODc1IDQgOS43NjY2NyA0IDEyQzQgMTQuMjMzMyA0Ljc3NSAxNi4xMjUgNi4zMjUgMTcuNjc1QzcuODc1IDE5LjIyNSA5Ljc2NjY3IDIwIDEyIDIwWlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgPG1hc2sgaWQ9XCJhXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgeD1cIjBcIiB5PVwiMFwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgc3R5bGU9XCJtYXNrLXR5cGU6YWxwaGFcIj5cbiAgICA8cGF0aCBmaWxsPVwiI0Q5RDlEOVwiIGQ9XCJNMCAwaDI0djI0SDB6XCIvPlxuICA8L21hc2s+XG4gIDxnIG1hc2s9XCJ1cmwoI2EpXCI+XG4gICAgPHBhdGggZmlsbD1cIiMyQzMzMzZcIiBkPVwiTTEyIDE3YS45Ny45NyAwIDAgMCAuNzEzLS4yODhBLjk2OC45NjggMCAwIDAgMTMgMTZ2LTRhLjk2OC45NjggMCAwIDAtLjI4Ny0uNzEzQS45NjguOTY4IDAgMCAwIDEyIDExYS45NjguOTY4IDAgMCAwLS43MTMuMjg3QS45NjguOTY4IDAgMCAwIDExIDEydjRjMCAuMjgzLjA5Ni41Mi4yODcuNzEyLjE5Mi4xOTIuNDMuMjg4LjcxMy4yODhabTAtOGMuMjgzIDAgLjUyLS4wOTYuNzEzLS4yODdBLjk2Ny45NjcgMCAwIDAgMTMgOGEuOTY3Ljk2NyAwIDAgMC0uMjg3LS43MTNBLjk2OC45NjggMCAwIDAgMTIgN2EuOTY4Ljk2OCAwIDAgMC0uNzEzLjI4N0EuOTY3Ljk2NyAwIDAgMCAxMSA4YzAgLjI4My4wOTYuNTIuMjg3LjcxMy4xOTIuMTkxLjQzLjI4Ny43MTMuMjg3Wm0wIDEzYTkuNzM4IDkuNzM4IDAgMCAxLTMuOS0uNzg4IDEwLjA5OSAxMC4wOTkgMCAwIDEtMy4xNzUtMi4xMzdjLS45LS45LTEuNjEyLTEuOTU4LTIuMTM3LTMuMTc1QTkuNzM4IDkuNzM4IDAgMCAxIDIgMTJhOS43NCA5Ljc0IDAgMCAxIC43ODgtMy45IDEwLjA5OSAxMC4wOTkgMCAwIDEgMi4xMzctMy4xNzVjLjktLjkgMS45NTgtMS42MTIgMy4xNzUtMi4xMzdBOS43MzggOS43MzggMCAwIDEgMTIgMmE5Ljc0IDkuNzQgMCAwIDEgMy45Ljc4OCAxMC4wOTggMTAuMDk4IDAgMCAxIDMuMTc1IDIuMTM3Yy45LjkgMS42MTMgMS45NTggMi4xMzcgMy4xNzVBOS43MzggOS43MzggMCAwIDEgMjIgMTJhOS43MzggOS43MzggMCAwIDEtLjc4OCAzLjkgMTAuMDk4IDEwLjA5OCAwIDAgMS0yLjEzNyAzLjE3NWMtLjkuOS0xLjk1OCAxLjYxMy0zLjE3NSAyLjEzN0E5LjczOCA5LjczOCAwIDAgMSAxMiAyMlpcIi8+XG4gIDwvZz5cbjwvc3ZnPiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0xMiAxLjg3NUMxNy41NjA0IDEuODc1IDIyLjEyNSA2LjM3ODUyIDIyLjEyNSAxMkMyMi4xMjUgMTcuNTkxOCAxNy41OTY0IDIyLjEyNSAxMiAyMi4xMjVDNi40MTA0NCAyMi4xMjUgMS44NzUgMTcuNTk4NyAxLjg3NSAxMkMxLjg3NSA2LjQxMjM2IDYuNDAzMjIgMS44NzUgMTIgMS44NzVaTTEyIDAuMzc1QzUuNTgwMTQgMC4zNzUgMC4zNzUgNS41ODIwMiAwLjM3NSAxMkMwLjM3NSAxOC40MjE3IDUuNTgwMTQgMjMuNjI1IDEyIDIzLjYyNUMxOC40MTk5IDIzLjYyNSAyMy42MjUgMTguNDIxNyAyMy42MjUgMTJDMjMuNjI1IDUuNTgyMDIgMTguNDE5OSAwLjM3NSAxMiAwLjM3NVpNMTAuMzEyNSAxNi41SDEwLjg3NVYxMC44NzVIMTAuMzEyNUMxMC4wMDE5IDEwLjg3NSA5Ljc1IDEwLjYyMzEgOS43NSAxMC4zMTI1VjkuOTM3NUM5Ljc1IDkuNjI2ODYgMTAuMDAxOSA5LjM3NSAxMC4zMTI1IDkuMzc1SDEyLjU2MjVDMTIuODczMSA5LjM3NSAxMy4xMjUgOS42MjY4NiAxMy4xMjUgOS45Mzc1VjE2LjVIMTMuNjg3NUMxMy45OTgxIDE2LjUgMTQuMjUgMTYuNzUxOSAxNC4yNSAxNy4wNjI1VjE3LjQzNzVDMTQuMjUgMTcuNzQ4MSAxMy45OTgxIDE4IDEzLjY4NzUgMThIMTAuMzEyNUMxMC4wMDE5IDE4IDkuNzUgMTcuNzQ4MSA5Ljc1IDE3LjQzNzVWMTcuMDYyNUM5Ljc1IDE2Ljc1MTkgMTAuMDAxOSAxNi41IDEwLjMxMjUgMTYuNVpNMTIgNS4yNUMxMS4xNzE2IDUuMjUgMTAuNSA1LjkyMTU4IDEwLjUgNi43NUMxMC41IDcuNTc4NDIgMTEuMTcxNiA4LjI1IDEyIDguMjVDMTIuODI4NCA4LjI1IDEzLjUgNy41Nzg0MiAxMy41IDYuNzVDMTMuNSA1LjkyMTU4IDEyLjgyODQgNS4yNSAxMiA1LjI1WlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGQ9XCJNMTIgMC4zNzVDNS41ODAxNCAwLjM3NSAwLjM3NSA1LjU4MjAyIDAuMzc1IDEyQzAuMzc1IDE4LjQyMTcgNS41ODAxNCAyMy42MjUgMTIgMjMuNjI1QzE4LjQxOTkgMjMuNjI1IDIzLjYyNSAxOC40MjE3IDIzLjYyNSAxMkMyMy42MjUgNS41ODIwMiAxOC40MTk5IDAuMzc1IDEyIDAuMzc1Wk0xMiA1LjUzMTI1QzEzLjA4NzMgNS41MzEyNSAxMy45Njg4IDYuNDEyNjkgMTMuOTY4OCA3LjVDMTMuOTY4OCA4LjU4NzMxIDEzLjA4NzMgOS40Njg3NSAxMiA5LjQ2ODc1QzEwLjkxMjcgOS40Njg3NSAxMC4wMzEyIDguNTg3MzEgMTAuMDMxMiA3LjVDMTAuMDMxMiA2LjQxMjY5IDEwLjkxMjcgNS41MzEyNSAxMiA1LjUzMTI1Wk0xNC42MjUgMTcuNDM3NUMxNC42MjUgMTcuNzQ4MSAxNC4zNzMxIDE4IDE0LjA2MjUgMThIOS45Mzc1QzkuNjI2ODYgMTggOS4zNzUgMTcuNzQ4MSA5LjM3NSAxNy40Mzc1VjE2LjMxMjVDOS4zNzUgMTYuMDAxOSA5LjYyNjg2IDE1Ljc1IDkuOTM3NSAxNS43NUgxMC41VjEyLjc1SDkuOTM3NUM5LjYyNjg2IDEyLjc1IDkuMzc1IDEyLjQ5ODEgOS4zNzUgMTIuMTg3NVYxMS4wNjI1QzkuMzc1IDEwLjc1MTkgOS42MjY4NiAxMC41IDkuOTM3NSAxMC41SDEyLjkzNzVDMTMuMjQ4MSAxMC41IDEzLjUgMTAuNzUxOSAxMy41IDExLjA2MjVWMTUuNzVIMTQuMDYyNUMxNC4zNzMxIDE1Ljc1IDE0LjYyNSAxNi4wMDE5IDE0LjYyNSAxNi4zMTI1VjE3LjQzNzVaXCIgZmlsbD1cIiMyQzMzMzZcIi8+XG48L3N2Zz5cbiIsIjxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk00Ljk5OTk3IDExQzQuNTkxMDEgMTEgNC4yMzg3NyAxMC44NTIyIDMuOTQzMjcgMTAuNTU2N0MzLjY0Nzc2IDEwLjI2MTIgMy41IDkuOTA4OTcgMy41IDkuNVY0Ljk5OTk4QzMuNSA0LjU5MTAxIDMuNjQ3NzYgNC4yMzg3OCAzLjk0MzI3IDMuOTQzMjhDNC4yMzg3NyAzLjY0Nzc2IDQuNTkxMDEgMy41IDQuOTk5OTcgMy41SDkuNUM5LjkwODk3IDMuNSAxMC4yNjEyIDMuNjQ3NzYgMTAuNTU2NyAzLjk0MzI4QzEwLjg1MjIgNC4yMzg3OCAxMSA0LjU5MTAxIDExIDQuOTk5OThWOS41QzExIDkuOTA4OTcgMTAuODUyMiAxMC4yNjEyIDEwLjU1NjcgMTAuNTU2N0MxMC4yNjEyIDEwLjg1MjIgOS45MDg5NyAxMSA5LjUgMTFINC45OTk5N1pNNC45OTk5NyAyMC41QzQuNTkxMDEgMjAuNSA0LjIzODc3IDIwLjM1MjIgMy45NDMyNyAyMC4wNTY3QzMuNjQ3NzYgMTkuNzYxMiAzLjUgMTkuNDA4OSAzLjUgMTlWMTQuNUMzLjUgMTQuMDkxIDMuNjQ3NzYgMTMuNzM4NyAzLjk0MzI3IDEzLjQ0MzJDNC4yMzg3NyAxMy4xNDc3IDQuNTkxMDEgMTMgNC45OTk5NyAxM0g5LjVDOS45MDg5NyAxMyAxMC4yNjEyIDEzLjE0NzcgMTAuNTU2NyAxMy40NDMyQzEwLjg1MjIgMTMuNzM4NyAxMSAxNC4wOTEgMTEgMTQuNVYxOUMxMSAxOS40MDg5IDEwLjg1MjIgMTkuNzYxMiAxMC41NTY3IDIwLjA1NjdDMTAuMjYxMiAyMC4zNTIyIDkuOTA4OTcgMjAuNSA5LjUgMjAuNUg0Ljk5OTk3Wk0xNC41IDExQzE0LjA5MSAxMSAxMy43Mzg3IDEwLjg1MjIgMTMuNDQzMiAxMC41NTY3QzEzLjE0NzcgMTAuMjYxMiAxMyA5LjkwODk3IDEzIDkuNVY0Ljk5OTk4QzEzIDQuNTkxMDEgMTMuMTQ3NyA0LjIzODc4IDEzLjQ0MzIgMy45NDMyOEMxMy43Mzg3IDMuNjQ3NzYgMTQuMDkxIDMuNSAxNC41IDMuNUgxOUMxOS40MDg5IDMuNSAxOS43NjEyIDMuNjQ3NzYgMjAuMDU2NyAzLjk0MzI4QzIwLjM1MjIgNC4yMzg3OCAyMC41IDQuNTkxMDEgMjAuNSA0Ljk5OTk4VjkuNUMyMC41IDkuOTA4OTcgMjAuMzUyMiAxMC4yNjEyIDIwLjA1NjcgMTAuNTU2N0MxOS43NjEyIDEwLjg1MjIgMTkuNDA4OSAxMSAxOSAxMUgxNC41Wk0xNC41IDIwLjVDMTQuMDkxIDIwLjUgMTMuNzM4NyAyMC4zNTIyIDEzLjQ0MzIgMjAuMDU2N0MxMy4xNDc3IDE5Ljc2MTIgMTMgMTkuNDA4OSAxMyAxOVYxNC41QzEzIDE0LjA5MSAxMy4xNDc3IDEzLjczODcgMTMuNDQzMiAxMy40NDMyQzEzLjczODcgMTMuMTQ3NyAxNC4wOTEgMTMgMTQuNSAxM0gxOUMxOS40MDg5IDEzIDE5Ljc2MTIgMTMuMTQ3NyAyMC4wNTY3IDEzLjQ0MzJDMjAuMzUyMiAxMy43Mzg3IDIwLjUgMTQuMDkxIDIwLjUgMTQuNVYxOUMyMC41IDE5LjQwODkgMjAuMzUyMiAxOS43NjEyIDIwLjA1NjcgMjAuMDU2N0MxOS43NjEyIDIwLjM1MjIgMTkuNDA4OSAyMC41IDE5IDIwLjVIMTQuNVpNNC45OTk5NyA5LjVIOS41VjQuOTk5OThINC45OTk5N1Y5LjVaTTE0LjUgOS41SDE5VjQuOTk5OThIMTQuNVY5LjVaTTE0LjUgMTlIMTlWMTQuNUgxNC41VjE5Wk00Ljk5OTk3IDE5SDkuNVYxNC41SDQuOTk5OTdWMTlaXCIgZmlsbD1cIiM1RDY3NkJcIi8+XG48L3N2Zz5cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPlxuICA8bWFzayBpZD1cImFcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB4PVwiMFwiIHk9XCIwXCIgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiPlxuICAgIDxwYXRoIGZpbGw9XCIjRDlEOUQ5XCIgZD1cIk0wIDBoMjR2MjRIMHpcIi8+XG4gIDwvbWFzaz5cbiAgPGcgbWFzaz1cInVybCgjYSlcIj5cbiAgICA8cGF0aCBmaWxsPVwiIzJDMzMzNlwiIGQ9XCJNMTIgMTQuNjc3YS45My45MyAwIDAgMS0uMzQtLjA2Ni44NC44NCAwIDAgMS0uMjkzLS4xOUw2Ljg3MyA5LjkyN2EuNzE3LjcxNyAwIDAgMS0uMjE3LS41MjdjMC0uMjA2LjA3Mi0uMzgyLjIxNy0uNTI3YS43MTcuNzE3IDAgMCAxIC41MjctLjIxN2MuMjA2IDAgLjM4Mi4wNzIuNTI3LjIxN0wxMiAxMi45NDZsNC4wNzMtNC4wNzNhLjcxNy43MTcgMCAwIDEgLjUyNy0uMjE3Yy4yMDYgMCAuMzgyLjA3Mi41MjcuMjE3LjE0NS4xNDUuMjE3LjMyLjIxNy41MjdhLjcxNy43MTcgMCAwIDEtLjIxNy41MjdsLTQuNDk0IDQuNDk0YS44My44MyAwIDAgMS0uNjMzLjI1NlpcIi8+XG4gIDwvZz5cbjwvc3ZnPiIsIjxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk00LjI1IDYuOTk5OThDNC4wMzc1IDYuOTk5OTggMy44NTkzOCA2LjkyODA3IDMuNzE1NjMgNi43ODQyNUMzLjU3MTg4IDYuNjQwNDUgMy41IDYuNDYyMjUgMy41IDYuMjQ5NjVDMy41IDYuMDM3MDcgMy41NzE4OCA1Ljg1ODk4IDMuNzE1NjMgNS43MTU0QzMuODU5MzggNS41NzE4IDQuMDM3NSA1LjUgNC4yNSA1LjVIMTkuNzVDMTkuOTYyNSA1LjUgMjAuMTQwNiA1LjU3MTkxIDIwLjI4NDMgNS43MTU3M0MyMC40MjgxIDUuODU5NTQgMjAuNSA2LjAzNzc0IDIwLjUgNi4yNTAzM0MyMC41IDYuNDYyOTMgMjAuNDI4MSA2LjY0MTAyIDIwLjI4NDMgNi43ODQ2QzIwLjE0MDYgNi45MjgxOCAxOS45NjI1IDYuOTk5OTggMTkuNzUgNi45OTk5OEg0LjI1Wk00LjI1IDE4LjVDNC4wMzc1IDE4LjUgMy44NTkzOCAxOC40MjggMy43MTU2MyAxOC4yODQyQzMuNTcxODggMTguMTQwNCAzLjUgMTcuOTYyMiAzLjUgMTcuNzQ5NkMzLjUgMTcuNTM3IDMuNTcxODggMTcuMzU4OSAzLjcxNTYzIDE3LjIxNTRDMy44NTkzOCAxNy4wNzE4IDQuMDM3NSAxNyA0LjI1IDE3SDE5Ljc1QzE5Ljk2MjUgMTcgMjAuMTQwNiAxNy4wNzE5IDIwLjI4NDMgMTcuMjE1N0MyMC40MjgxIDE3LjM1OTUgMjAuNSAxNy41Mzc3IDIwLjUgMTcuNzUwM0MyMC41IDE3Ljk2MjkgMjAuNDI4MSAxOC4xNDEgMjAuMjg0MyAxOC4yODQ2QzIwLjE0MDYgMTguNDI4MiAxOS45NjI1IDE4LjUgMTkuNzUgMTguNUg0LjI1Wk00LjI1IDEyLjc1QzQuMDM3NSAxMi43NSAzLjg1OTM4IDEyLjY3ODEgMy43MTU2MyAxMi41MzQzQzMuNTcxODggMTIuMzkwNCAzLjUgMTIuMjEyMiAzLjUgMTEuOTk5N0MzLjUgMTEuNzg3MSAzLjU3MTg4IDExLjYwOSAzLjcxNTYzIDExLjQ2NTRDMy44NTkzOCAxMS4zMjE4IDQuMDM3NSAxMS4yNSA0LjI1IDExLjI1SDE5Ljc1QzE5Ljk2MjUgMTEuMjUgMjAuMTQwNiAxMS4zMjE5IDIwLjI4NDMgMTEuNDY1N0MyMC40MjgxIDExLjYwOTUgMjAuNSAxMS43ODc3IDIwLjUgMTIuMDAwM0MyMC41IDEyLjIxMjkgMjAuNDI4MSAxMi4zOTEgMjAuMjg0MyAxMi41MzQ2QzIwLjE0MDYgMTIuNjc4MiAxOS45NjI1IDEyLjc1IDE5Ljc1IDEyLjc1SDQuMjVaXCIgZmlsbD1cIiM1RDY3NkJcIi8+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0xMiAxOS4zNUMxNC4wMzMzIDE3LjQ4MzMgMTUuNTQxNyAxNS43ODc1IDE2LjUyNSAxNC4yNjI1QzE3LjUwODMgMTIuNzM3NSAxOCAxMS4zODMzIDE4IDEwLjJDMTggOC4zODMzMyAxNy40MjA4IDYuODk1ODMgMTYuMjYyNSA1LjczNzVDMTUuMTA0MiA0LjU3OTE3IDEzLjY4MzMgNCAxMiA0QzEwLjMxNjcgNCA4Ljg5NTgzIDQuNTc5MTcgNy43Mzc1IDUuNzM3NUM2LjU3OTE3IDYuODk1ODMgNiA4LjM4MzMzIDYgMTAuMkM2IDExLjM4MzMgNi40OTE2NyAxMi43Mzc1IDcuNDc1IDE0LjI2MjVDOC40NTgzMyAxNS43ODc1IDkuOTY2NjcgMTcuNDgzMyAxMiAxOS4zNVpNMTIgMjEuMzI1QzExLjc2NjcgMjEuMzI1IDExLjUzMzMgMjEuMjgzMyAxMS4zIDIxLjJDMTEuMDY2NyAyMS4xMTY3IDEwLjg1ODMgMjAuOTkxNyAxMC42NzUgMjAuODI1QzkuNTkxNjcgMTkuODI1IDguNjMzMzMgMTguODUgNy44IDE3LjlDNi45NjY2NyAxNi45NSA2LjI3MDgzIDE2LjAyOTIgNS43MTI1IDE1LjEzNzVDNS4xNTQxNyAxNC4yNDU4IDQuNzI5MTcgMTMuMzg3NSA0LjQzNzUgMTIuNTYyNUM0LjE0NTgzIDExLjczNzUgNCAxMC45NSA0IDEwLjJDNCA3LjcgNC44MDQxNyA1LjcwODMzIDYuNDEyNSA0LjIyNUM4LjAyMDgzIDIuNzQxNjcgOS44ODMzMyAyIDEyIDJDMTQuMTE2NyAyIDE1Ljk3OTIgMi43NDE2NyAxNy41ODc1IDQuMjI1QzE5LjE5NTggNS43MDgzMyAyMCA3LjcgMjAgMTAuMkMyMCAxMC45NSAxOS44NTQyIDExLjczNzUgMTkuNTYyNSAxMi41NjI1QzE5LjI3MDggMTMuMzg3NSAxOC44NDU4IDE0LjI0NTggMTguMjg3NSAxNS4xMzc1QzE3LjcyOTIgMTYuMDI5MiAxNy4wMzMzIDE2Ljk1IDE2LjIgMTcuOUMxNS4zNjY3IDE4Ljg1IDE0LjQwODMgMTkuODI1IDEzLjMyNSAyMC44MjVDMTMuMTQxNyAyMC45OTE3IDEyLjkzMzMgMjEuMTE2NyAxMi43IDIxLjJDMTIuNDY2NyAyMS4yODMzIDEyLjIzMzMgMjEuMzI1IDEyIDIxLjMyNVpNMTIgMTJDMTIuNTUgMTIgMTMuMDIwOCAxMS44MDQyIDEzLjQxMjUgMTEuNDEyNUMxMy44MDQyIDExLjAyMDggMTQgMTAuNTUgMTQgMTBDMTQgOS40NSAxMy44MDQyIDguOTc5MTcgMTMuNDEyNSA4LjU4NzVDMTMuMDIwOCA4LjE5NTgzIDEyLjU1IDggMTIgOEMxMS40NSA4IDEwLjk3OTIgOC4xOTU4MyAxMC41ODc1IDguNTg3NUMxMC4xOTU4IDguOTc5MTcgMTAgOS40NSAxMCAxMEMxMCAxMC41NSAxMC4xOTU4IDExLjAyMDggMTAuNTg3NSAxMS40MTI1QzEwLjk3OTIgMTEuODA0MiAxMS40NSAxMiAxMiAxMlpcIiBmaWxsPVwiIzFDMUIxRlwiLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBpZD1cInBhdGhcIiBkPVwiTTEyIDE5LjMxMjVDMTEuMjczNCAxOS4zMTI1IDEwLjY4NzUgMTguNzI2NiAxMC42ODc1IDE4VjE1QzEwLjY4NzUgMTQuMjczNSAxMS4yNzM0IDEzLjY4NzUgMTIgMTMuNjg3NUMxMi43MjY2IDEzLjY4NzUgMTMuMzEyNSAxNC4yNzM1IDEzLjMxMjUgMTVWMThDMTMuMzEyNSAxOC43MjY2IDEyLjcyNjYgMTkuMzEyNSAxMiAxOS4zMTI1Wk0yMi41IDExLjI1VjIxLjc1QzIyLjUgMjIuOTkyMiAyMS40OTIyIDI0IDIwLjI1IDI0SDMuNzVDMi41MDc4MSAyNCAxLjUgMjIuOTkyMiAxLjUgMjEuNzVWMTEuMjVDMS41IDEwLjAwNzggMi41MDc4MSA5LjAwMDAyIDMuNzUgOS4wMDAwMkg1LjI1VjYuNzUwMDJDNS4yNSAzLjAyMzQ2IDguMjg3NSAtMC4wMDkzNTMzMiAxMi4wMTg3IDIuMTY3NjVlLTA1QzE1Ljc1IDAuMDA5Mzk2NjggMTguNzUgMy4wODQ0IDE4Ljc1IDYuODE1NjVWOS4wMDAwMkgyMC4yNUMyMS40OTIyIDkuMDAwMDIgMjIuNSAxMC4wMDc4IDIyLjUgMTEuMjVaTTcuNSA5LjAwMDAySDE2LjVWNi43NTAwMkMxNi41IDQuMjcwMzMgMTQuNDc5NyAyLjI1MDAyIDEyIDIuMjUwMDJDOS41MjAzMSAyLjI1MDAyIDcuNSA0LjI3MDMzIDcuNSA2Ljc1MDAyVjkuMDAwMDJaTTIwLjI1IDExLjI1SDMuNzVWMjEuNzVIMjAuMjVWMTEuMjVaXCIgZmlsbD1cIiMyQzMzMzZcIi8+XG48L3N2Zz5cbiIsIjxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggaWQ9XCJwYXRoXCIgZD1cIk0yMy4zNDExIDMuNTc1NjJMMjAuNDI0NSAwLjY1OTA2M0MxOS45ODQ4IDAuMjE5ODQ0IDE5LjQwOTIgMCAxOC44MzM2IDBDMTguMjU3NSAwIDE3LjY4MTggMC4yMTk4NDQgMTcuMjQyNiAwLjY1OTA2M0wwLjY1OTE4IDE3LjI0MjVDLTAuMjE5NzI3IDE4LjEyMTQgLTAuMjE5NzI3IDE5LjU0NTkgMC42NTkxOCAyMC40MjQ0TDMuNTc1NzQgMjMuMzQwOUM0LjAxNDk2IDIzLjc4MDIgNC41OTEwNSAyNCA1LjE2NjY4IDI0QzUuNzQyMyAyNCA2LjMxODQgMjMuNzgwMiA2Ljc1NzYyIDIzLjM0MDlMMjMuMzQwNiA2Ljc1NzVDMjQuMjIgNS44NzkwNiAyNC4yMiA0LjQ1NDUzIDIzLjM0MTEgMy41NzU2MlpNNS4xNjcxNSAyMS43NUwyLjI1MDEyIDE4LjgzMzRMMTIuNzQ1NCA4LjMzNjcyTDE1LjY2MjkgMTEuMjU0Mkw1LjE2NzE1IDIxLjc1Wk0xNy4yNTM5IDkuNjYyODFMMTQuMzM2NCA2Ljc0NTMxTDE4LjgzMTIgMi4yNUgxOC44MzM2TDIxLjc1MDEgNS4xNjY1NkwxNy4yNTM5IDkuNjYyODFaTTIwLjI1MDEgMTMuNUwxOS4wMDA0IDE1Ljk5OThMMTYuNTAwMSAxNy4yNUwxOS4wMDA0IDE4LjUwMDJMMjAuMjUwMSAyMUwyMS40OTk4IDE4LjUwMDJMMjQuMDAwMSAxNy4yNUwyMS40OTk4IDE1Ljk5OThMMjAuMjUwMSAxMy41Wk0xMC41MDAxIDQuNUwxMS4yNTAxIDNMMTIuNzUwMSAyLjI1TDExLjI1MDEgMS41TDEwLjUwMDEgMEw5Ljc1MDEyIDEuNUw4LjI1MDEyIDIuMjVMOS43NTAxMiAzTDEwLjUwMDEgNC41Wk0zLjc1MDEyIDcuNUw0Ljk5OTggNS4wMDAxNkw3LjUwMDEyIDMuNzVMNC45OTk4IDIuNDk5ODRMMy43NTAxMiAwTDIuNTAwNDMgMi40OTk4NEwwLjAwMDExNzE2OCAzLjc1TDIuNTAwNDMgNS4wMDAxNkwzLjc1MDEyIDcuNVpcIiBmaWxsPVwiIzAyQkY2RlwiLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBkPVwiTTQgMjBDMy40NSAyMCAyLjk3OTE3IDE5LjgwNDIgMi41ODc1IDE5LjQxMjVDMi4xOTU4MyAxOS4wMjA4IDIgMTguNTUgMiAxOFY2QzIgNS40NSAyLjE5NTgzIDQuOTc5MTcgMi41ODc1IDQuNTg3NUMyLjk3OTE3IDQuMTk1ODMgMy40NSA0IDQgNEgyMEMyMC41NSA0IDIxLjAyMDggNC4xOTU4MyAyMS40MTI1IDQuNTg3NUMyMS44MDQyIDQuOTc5MTcgMjIgNS40NSAyMiA2VjE4QzIyIDE4LjU1IDIxLjgwNDIgMTkuMDIwOCAyMS40MTI1IDE5LjQxMjVDMjEuMDIwOCAxOS44MDQyIDIwLjU1IDIwIDIwIDIwSDRaTTIwIDhMMTIuNTI1IDEyLjY3NUMxMi40NDE3IDEyLjcyNSAxMi4zNTQyIDEyLjc2MjUgMTIuMjYyNSAxMi43ODc1QzEyLjE3MDggMTIuODEyNSAxMi4wODMzIDEyLjgyNSAxMiAxMi44MjVDMTEuOTE2NyAxMi44MjUgMTEuODI5MiAxMi44MTI1IDExLjczNzUgMTIuNzg3NUMxMS42NDU4IDEyLjc2MjUgMTEuNTU4MyAxMi43MjUgMTEuNDc1IDEyLjY3NUw0IDhWMThIMjBWOFpNMTIgMTFMMjAgNkg0TDEyIDExWk00IDguMjVWNi43NzVWNi44VjYuNzg3NVY4LjI1WlwiIGZpbGw9XCIjMUMxQjFGXCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxnIGlkPVwibWF0ZXJpYWxzXCI+XG48bWFzayBpZD1cIm1hc2swXzRfMTgzOFwiIHN0eWxlPVwibWFzay10eXBlOmFscGhhXCIgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+XG48cmVjdCBpZD1cIkJvdW5kaW5nIGJveFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRDlEOUQ5XCIvPlxuPC9tYXNrPlxuPGcgbWFzaz1cInVybCgjbWFzazBfNF8xODM4KVwiPlxuPHBhdGggaWQ9XCJtZWRpYV9saW5rXCIgZD1cIk0xMC44MjUgMTcuNDI1TDguMjc1IDE5LjAyNUM4LjEwODMzIDE5LjEyNSA3LjkzNzUgMTkuMTI5MiA3Ljc2MjUgMTkuMDM3NUM3LjU4NzUgMTguOTQ1OCA3LjUgMTguOCA3LjUgMTguNlYxNS40QzcuNSAxNS4yIDcuNTg3NSAxNS4wNTQyIDcuNzYyNSAxNC45NjI1QzcuOTM3NSAxNC44NzA4IDguMTA4MzMgMTQuODc1IDguMjc1IDE0Ljk3NUwxMC44MjUgMTYuNTc1QzEwLjk5MTcgMTYuNjc1IDExLjA3NSAxNi44MTY3IDExLjA3NSAxN0MxMS4wNzUgMTcuMTgzMyAxMC45OTE3IDE3LjMyNSAxMC44MjUgMTcuNDI1Wk0xMyAxMEMxMi4xNjY3IDEwIDExLjQ1ODMgOS43MDgzMyAxMC44NzUgOS4xMjVDMTAuMjkxNyA4LjU0MTY3IDEwIDcuODMzMzMgMTAgN0MxMCA2LjE2NjY3IDEwLjI5MTcgNS40NTgzMyAxMC44NzUgNC44NzVDMTEuNDU4MyA0LjI5MTY3IDEyLjE2NjcgNCAxMyA0SDEzLjVDMTMuNzE2NyA0IDEzLjg5NTggNC4wNzA4MyAxNC4wMzc1IDQuMjEyNUMxNC4xNzkyIDQuMzU0MTcgMTQuMjUgNC41MzMzMyAxNC4yNSA0Ljc1QzE0LjI1IDQuOTY2NjcgMTQuMTc5MiA1LjE0NTgzIDE0LjAzNzUgNS4yODc1QzEzLjg5NTggNS40MjkxNyAxMy43MTY3IDUuNSAxMy41IDUuNUgxM0MxMi41ODMzIDUuNSAxMi4yMjkyIDUuNjQ1ODMgMTEuOTM3NSA1LjkzNzVDMTEuNjQ1OCA2LjIyOTE3IDExLjUgNi41ODMzMyAxMS41IDdDMTEuNSA3LjQxNjY3IDExLjY0NTggNy43NzA4MyAxMS45Mzc1IDguMDYyNUMxMi4yMjkyIDguMzU0MTcgMTIuNTgzMyA4LjUgMTMgOC41SDEzLjVDMTMuNzE2NyA4LjUgMTMuODk1OCA4LjU3MDgzIDE0LjAzNzUgOC43MTI1QzE0LjE3OTIgOC44NTQxNyAxNC4yNSA5LjAzMzMzIDE0LjI1IDkuMjVDMTQuMjUgOS40NjY2NyAxNC4xNzkyIDkuNjQ1ODMgMTQuMDM3NSA5Ljc4NzVDMTMuODk1OCA5LjkyOTE3IDEzLjcxNjcgMTAgMTMuNSAxMEgxM1pNMTcgMTBIMTYuNUMxNi4yODMzIDEwIDE2LjEwNDIgOS45MjkxNyAxNS45NjI1IDkuNzg3NUMxNS44MjA4IDkuNjQ1ODMgMTUuNzUgOS40NjY2NyAxNS43NSA5LjI1QzE1Ljc1IDkuMDMzMzMgMTUuODIwOCA4Ljg1NDE3IDE1Ljk2MjUgOC43MTI1QzE2LjEwNDIgOC41NzA4MyAxNi4yODMzIDguNSAxNi41IDguNUgxN0MxNy40MTY3IDguNSAxNy43NzA4IDguMzU0MTcgMTguMDYyNSA4LjA2MjVDMTguMzU0MiA3Ljc3MDgzIDE4LjUgNy40MTY2NyAxOC41IDdDMTguNSA2LjU4MzMzIDE4LjM1NDIgNi4yMjkxNyAxOC4wNjI1IDUuOTM3NUMxNy43NzA4IDUuNjQ1ODMgMTcuNDE2NyA1LjUgMTcgNS41SDE2LjVDMTYuMjgzMyA1LjUgMTYuMTA0MiA1LjQyOTE3IDE1Ljk2MjUgNS4yODc1QzE1LjgyMDggNS4xNDU4MyAxNS43NSA0Ljk2NjY3IDE1Ljc1IDQuNzVDMTUuNzUgNC41MzMzMyAxNS44MjA4IDQuMzU0MTcgMTUuOTYyNSA0LjIxMjVDMTYuMTA0MiA0LjA3MDgzIDE2LjI4MzMgNCAxNi41IDRIMTdDMTcuODMzMyA0IDE4LjU0MTcgNC4yOTE2NyAxOS4xMjUgNC44NzVDMTkuNzA4MyA1LjQ1ODMzIDIwIDYuMTY2NjcgMjAgN0MyMCA3LjgzMzMzIDE5LjcwODMgOC41NDE2NyAxOS4xMjUgOS4xMjVDMTguNTQxNyA5LjcwODMzIDE3LjgzMzMgMTAgMTcgMTBaTTE2LjI1IDcuNzVIMTMuNzVDMTMuNTMzMyA3Ljc1IDEzLjM1NDIgNy42NzkxNyAxMy4yMTI1IDcuNTM3NUMxMy4wNzA4IDcuMzk1ODMgMTMgNy4yMTY2NyAxMyA3QzEzIDYuNzgzMzMgMTMuMDcwOCA2LjYwNDE3IDEzLjIxMjUgNi40NjI1QzEzLjM1NDIgNi4zMjA4MyAxMy41MzMzIDYuMjUgMTMuNzUgNi4yNUgxNi4yNUMxNi40NjY3IDYuMjUgMTYuNjQ1OCA2LjMyMDgzIDE2Ljc4NzUgNi40NjI1QzE2LjkyOTIgNi42MDQxNyAxNyA2Ljc4MzMzIDE3IDdDMTcgNy4yMTY2NyAxNi45MjkyIDcuMzk1ODMgMTYuNzg3NSA3LjUzNzVDMTYuNjQ1OCA3LjY3OTE3IDE2LjQ2NjcgNy43NSAxNi4yNSA3Ljc1Wk0xNi4xIDE0VjEySDIxVjNIOVYxMkg3VjNDNyAyLjQ1IDcuMTk1ODMgMS45NzkxNyA3LjU4NzUgMS41ODc1QzcuOTc5MTcgMS4xOTU4MyA4LjQ1IDEgOSAxSDIxQzIxLjU1IDEgMjIuMDIwOCAxLjE5NTgzIDIyLjQxMjUgMS41ODc1QzIyLjgwNDIgMS45NzkxNyAyMyAyLjQ1IDIzIDNWMTJDMjMgMTIuNTUgMjIuODA0MiAxMy4wMjA4IDIyLjQxMjUgMTMuNDEyNUMyMi4wMjA4IDEzLjgwNDIgMjEuNTUgMTQgMjEgMTRIMTYuMVpNMyAyM0MyLjQ1IDIzIDEuOTc5MTcgMjIuODA0MiAxLjU4NzUgMjIuNDEyNUMxLjE5NTgzIDIyLjAyMDggMSAyMS41NSAxIDIxVjEzQzEgMTIuNDUgMS4xOTU4MyAxMS45NzkyIDEuNTg3NSAxMS41ODc1QzEuOTc5MTcgMTEuMTk1OCAyLjQ1IDExIDMgMTFIMTVDMTUuNTUgMTEgMTYuMDIwOCAxMS4xOTU4IDE2LjQxMjUgMTEuNTg3NUMxNi44MDQyIDExLjk3OTIgMTcgMTIuNDUgMTcgMTNWMjFDMTcgMjEuNTUgMTYuODA0MiAyMi4wMjA4IDE2LjQxMjUgMjIuNDEyNUMxNi4wMjA4IDIyLjgwNDIgMTUuNTUgMjMgMTUgMjNIM1pNMyAyMUgxNVYxM0gzVjIxWlwiIGZpbGw9XCIjMDJCRjZGXCIvPlxuPC9nPlxuPC9nPlxuPC9zdmc+XG4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxtYXNrIGlkPVwibWFzazBfNl8zMDY3XCIgc3R5bGU9XCJtYXNrLXR5cGU6YWxwaGFcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbjxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRDlEOUQ5XCIvPlxuPC9tYXNrPlxuPGcgbWFzaz1cInVybCgjbWFzazBfNl8zMDY3KVwiPlxuPHBhdGggZD1cIk0xNy4yNDAzIDE0LjE4MDdMMTYuMTM2NSAxMy4wNTc2QzE2LjI0MTcgMTIuODY1MyAxNi4zMzU2IDEyLjY1MzUgMTYuNDE4MiAxMi40MjIxQzE2LjUwMDkgMTIuMTkwNyAxNi41NjA5IDExLjk0NjEgMTYuNTk4IDExLjY4ODRDMTYuNjM1MiAxMS40OTYxIDE2LjcyNCAxMS4zMzMzIDE2Ljg2NDQgMTEuMkMxNy4wMDQ4IDExLjA2NjYgMTcuMTY2IDExIDE3LjM0OCAxMUMxNy41ODE0IDExIDE3Ljc3MjQgMTEuMDc5NSAxNy45MjExIDExLjIzODRDMTguMDY5OCAxMS4zOTc0IDE4LjEyODggMTEuNTgzMyAxOC4wOTggMTEuNzk2MUMxOC4wNDAzIDEyLjI1MjUgMTcuOTM3MSAxMi42NzY1IDE3Ljc4ODQgMTMuMDY4MkMxNy42Mzk3IDEzLjQ1OTkgMTcuNDU3IDEzLjgzMDcgMTcuMjQwMyAxNC4xODA3Wk0xNC4wMjExIDEwLjkzMDdMOS4xNDQyNCA2LjAzNDU3VjQuOTk5OTdDOS4xNDQyNCA0LjMwMTI4IDkuMzg2MjMgMy43MDk5MyA5Ljg3MDE5IDMuMjI1OTVDMTAuMzU0MiAyLjc0MTk4IDEwLjk0NTUgMi41IDExLjY0NDIgMi41QzEyLjM0MjkgMi41IDEyLjkzNDMgMi43NDE5OCAxMy40MTgyIDMuMjI1OTVDMTMuOTAyMiAzLjcwOTkzIDE0LjE0NDIgNC4zMDEyOCAxNC4xNDQyIDQuOTk5OTdWMTAuMzQ2MUMxNC4xNDQyIDEwLjQ1ODkgMTQuMTMxMyAxMC41NjE1IDE0LjEwNTcgMTAuNjUzOEMxNC4wODAxIDEwLjc0NjEgMTQuMDUxOSAxMC44Mzg0IDE0LjAyMTEgMTAuOTMwN1pNMTkuMzQwNCAyMS4xODg0TDIuMjA1NzcgNC4wNTM3NUMyLjA2NzMyIDMuOTE1MyAxLjk5NjQ4IDMuNzQxMjcgMS45OTMyNyAzLjUzMTY1QzEuOTkwMDcgMy4zMjIwNSAyLjA2MDkgMy4xNDQ4MiAyLjIwNTc3IDIuOTk5OTVDMi4zNTA2MyAyLjg1NTA3IDIuNTI2MjcgMi43ODI2MiAyLjczMjY3IDIuNzgyNjJDMi45MzkwOCAyLjc4MjYyIDMuMTE0NzMgMi44NTUwNyAzLjI1OTU5IDIuOTk5OTVMMjAuMzk0MiAyMC4xMzQ2QzIwLjUzMjcgMjAuMjczIDIwLjYwMzUgMjAuNDQ3MSAyMC42MDY3IDIwLjY1NjdDMjAuNjA5OSAyMC44NjYzIDIwLjUzOTEgMjEuMDQzNSAyMC4zOTQyIDIxLjE4ODRDMjAuMjQ5MyAyMS4zMzMzIDIwLjA3MzcgMjEuNDA1NyAxOS44NjczIDIxLjQwNTdDMTkuNjYwOSAyMS40MDU3IDE5LjQ4NTMgMjEuMzMzMyAxOS4zNDA0IDIxLjE4ODRaTTEwLjg5NDIgMjBWMTcuNDU3NkM5LjM4MjY4IDE3LjI4MzMgOC4wOTgwNyAxNi42NjczIDcuMDQwMzcgMTUuNjA5NkM1Ljk4MjY4IDE0LjU1MTkgNS4zNjYwMyAxMy4yODA3IDUuMTkwMzkgMTEuNzk2MUM1LjE1OTYzIDExLjU4MzMgNS4yMTg2IDExLjM5NzQgNS4zNjczMiAxMS4yMzg0QzUuNTE2MDIgMTEuMDc5NSA1LjcxMjE2IDExIDUuOTU1NzQgMTFDNi4xMzEzOSAxMSA2LjI4ODQ0IDExLjA2NjYgNi40MjY4OSAxMS4yQzYuNTY1MzYgMTEuMzMzMyA2LjY1MzE4IDExLjQ5NjEgNi42OTAzNCAxMS42ODg0QzYuODU1NzMgMTIuOTA2NCA3LjQwNjM3IDEzLjkyOTUgOC4zNDIyNyAxNC43NTc3QzkuMjc4MTcgMTUuNTg1OSAxMC4zNzg4IDE2IDExLjY0NDIgMTZDMTIuMjg3OCAxNiAxMi44OTI2IDE1Ljg4NTIgMTMuNDU4NiAxNS42NTU3QzE0LjAyNDcgMTUuNDI2MiAxNC41MjU2IDE1LjEwODMgMTQuOTYxNSAxNC43MDE5TDE2LjAzMDcgMTUuNzcxMUMxNS41NDc0IDE2LjIyNDkgMTQuOTk3NCAxNi41OTg2IDE0LjM4MDcgMTYuODkyMkMxMy43NjQxIDE3LjE4NTggMTMuMTAxOSAxNy4zNzQzIDEyLjM5NDIgMTcuNDU3NlYyMEMxMi4zOTQyIDIwLjIxMjggMTIuMzIyNCAyMC4zOTEgMTIuMTc4OCAyMC41MzQ2QzEyLjAzNTIgMjAuNjc4MiAxMS44NTcgMjAuNzUgMTEuNjQ0MiAyMC43NUMxMS40MzE0IDIwLjc1IDExLjI1MzIgMjAuNjc4MiAxMS4xMDk2IDIwLjUzNDZDMTAuOTY2IDIwLjM5MSAxMC44OTQyIDIwLjIxMjggMTAuODk0MiAyMFpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuPC9nPlxuPC9zdmc+XG4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxtYXNrIGlkPVwibWFzazBfNl8zMDczXCIgc3R5bGU9XCJtYXNrLXR5cGU6YWxwaGFcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbjxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRDlEOUQ5XCIvPlxuPC9tYXNrPlxuPGcgbWFzaz1cInVybCgjbWFzazBfNl8zMDczKVwiPlxuPHBhdGggZD1cIk0xNy4yNDAzIDE0LjE4MDdMMTYuMTM2NSAxMy4wNTc2QzE2LjI0MTcgMTIuODY1MyAxNi4zMzU2IDEyLjY1MzUgMTYuNDE4MiAxMi40MjIxQzE2LjUwMDkgMTIuMTkwNyAxNi41NjA5IDExLjk0NjEgMTYuNTk4IDExLjY4ODRDMTYuNjM1MiAxMS40OTYxIDE2LjcyNCAxMS4zMzMzIDE2Ljg2NDQgMTEuMkMxNy4wMDQ4IDExLjA2NjYgMTcuMTY2IDExIDE3LjM0OCAxMUMxNy41ODE0IDExIDE3Ljc3MjQgMTEuMDc5NSAxNy45MjExIDExLjIzODRDMTguMDY5OCAxMS4zOTc0IDE4LjEyODggMTEuNTgzMyAxOC4wOTggMTEuNzk2MUMxOC4wNDAzIDEyLjI1MjUgMTcuOTM3MSAxMi42NzY1IDE3Ljc4ODQgMTMuMDY4MkMxNy42Mzk3IDEzLjQ1OTkgMTcuNDU3IDEzLjgzMDcgMTcuMjQwMyAxNC4xODA3Wk0xNC4wMjExIDEwLjkzMDdMMTIuNjQ0MiA5LjU1Mzc4VjQuOTk5OTdDMTIuNjQ0MiA0LjcxNjY0IDEyLjU0ODQgNC40NzkxNCAxMi4zNTY3IDQuMjg3NDdDMTIuMTY1IDQuMDk1ODEgMTEuOTI3NSAzLjk5OTk3IDExLjY0NDIgMy45OTk5N0MxMS4zNjA5IDMuOTk5OTcgMTEuMTIzNCA0LjA5NTgxIDEwLjkzMTcgNC4yODc0N0MxMC43NCA0LjQ3OTE0IDEwLjY0NDIgNC43MTY2NCAxMC42NDQyIDQuOTk5OTdWNy41MzQ1NUw5LjE0NDI0IDYuMDM0NTdWNC45OTk5N0M5LjE0NDI0IDQuMzAxMjggOS4zODYyMyAzLjcwOTkzIDkuODcwMTkgMy4yMjU5NUMxMC4zNTQyIDIuNzQxOTggMTAuOTQ1NSAyLjUgMTEuNjQ0MiAyLjVDMTIuMzQyOSAyLjUgMTIuOTM0MyAyLjc0MTk4IDEzLjQxODIgMy4yMjU5NUMxMy45MDIyIDMuNzA5OTMgMTQuMTQ0MiA0LjMwMTI4IDE0LjE0NDIgNC45OTk5N1YxMC4zNDYxQzE0LjE0NDIgMTAuNDU4OSAxNC4xMzEzIDEwLjU2MTUgMTQuMTA1NyAxMC42NTM4QzE0LjA4MDEgMTAuNzQ2MSAxNC4wNTE5IDEwLjgzODQgMTQuMDIxMSAxMC45MzA3Wk0xOS4zNDA0IDIxLjE4ODRMMi4yMDU3NyA0LjA1Mzc1QzIuMDY3MzIgMy45MTUzIDEuOTk2NDggMy43NDEyNyAxLjk5MzI3IDMuNTMxNjVDMS45OTAwNyAzLjMyMjA1IDIuMDYwOSAzLjE0NDgyIDIuMjA1NzcgMi45OTk5NUMyLjM1MDYzIDIuODU1MDcgMi41MjYyNyAyLjc4MjYyIDIuNzMyNjcgMi43ODI2MkMyLjkzOTA4IDIuNzgyNjIgMy4xMTQ3MyAyLjg1NTA3IDMuMjU5NTkgMi45OTk5NUwyMC4zOTQyIDIwLjEzNDZDMjAuNTMyNyAyMC4yNzMgMjAuNjAzNSAyMC40NDcxIDIwLjYwNjcgMjAuNjU2N0MyMC42MDk5IDIwLjg2NjMgMjAuNTM5MSAyMS4wNDM1IDIwLjM5NDIgMjEuMTg4NEMyMC4yNDkzIDIxLjMzMzMgMjAuMDczNyAyMS40MDU3IDE5Ljg2NzMgMjEuNDA1N0MxOS42NjA5IDIxLjQwNTcgMTkuNDg1MyAyMS4zMzMzIDE5LjM0MDQgMjEuMTg4NFpNMTAuODk0MiAyMFYxNy40NTM4QzkuMzgyNjggMTcuMjc1NiA4LjA5ODA3IDE2LjY1OTIgNy4wNDAzNyAxNS42MDQ3QzUuOTgyNjggMTQuNTUwMyA1LjM2NjAzIDEzLjI4MDcgNS4xOTAzOSAxMS43OTYxQzUuMTU5NjMgMTEuNTgzMyA1LjIxODYgMTEuMzk3NCA1LjM2NzMyIDExLjIzODRDNS41MTYwMiAxMS4wNzk1IDUuNzEyMTYgMTEgNS45NTU3NCAxMUM2LjEzMTM5IDExIDYuMjg4NDQgMTEuMDY2NiA2LjQyNjg5IDExLjJDNi41NjUzNiAxMS4zMzMzIDYuNjUzMTggMTEuNDk2MSA2LjY5MDM0IDExLjY4ODRDNi44NTU3MyAxMi45MDY0IDcuNDA2MzcgMTMuOTI5NSA4LjM0MjI3IDE0Ljc1NzdDOS4yNzgxNyAxNS41ODU5IDEwLjM3ODggMTYgMTEuNjQ0MiAxNkMxMi4yODc4IDE2IDEyLjg5MjYgMTUuODg1MiAxMy40NTg2IDE1LjY1NTdDMTQuMDI0NyAxNS40MjYyIDE0LjUyNTYgMTUuMTA4MyAxNC45NjE1IDE0LjcwMTlMMTYuMDMwNyAxNS43NzExQzE1LjU0NzQgMTYuMjI0OSAxNC45OTc0IDE2LjYwMTIgMTQuMzgwNyAxNi45QzEzLjc2NDEgMTcuMTk4NyAxMy4xMDE5IDE3LjM4MzMgMTIuMzk0MiAxNy40NTM4VjIwQzEyLjM5NDIgMjAuMjEyOCAxMi4zMjI0IDIwLjM5MSAxMi4xNzg4IDIwLjUzNDZDMTIuMDM1MiAyMC42NzgyIDExLjg1NyAyMC43NSAxMS42NDQyIDIwLjc1QzExLjQzMTQgMjAuNzUgMTEuMjUzMiAyMC42NzgyIDExLjEwOTYgMjAuNTM0NkMxMC45NjYgMjAuMzkxIDEwLjg5NDIgMjAuMjEyOCAxMC44OTQyIDIwWlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG48L2c+XG48L3N2Zz5cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCI+PHBhdGggZmlsbD1cIiM5OEEyQjNcIiBkPVwiTTE2LjI1IDlhLjc1Ljc1IDAgMCAxIC43NDMuNjQ4TDE3IDkuNzV2LjVhNi43NSA2Ljc1IDAgMCAxLTYuMjQ5IDYuNzMybC0uMDAxIDIuMjY4YS43NS43NSAwIDAgMS0xLjQ5My4xMDJsLS4wMDctLjEwMnYtMi4yNjhhNi43NSA2Ljc1IDAgMCAxLTYuMjQ2LTYuNDk2TDMgMTAuMjV2LS41YS43NS43NSAwIDAgMSAxLjQ5My0uMTAybC4wMDcuMTAydi41YTUuMjUgNS4yNSAwIDAgMCA1LjAzNCA1LjI0NmwuMjE2LjAwNGguNWE1LjI1IDUuMjUgMCAwIDAgNS4yNDYtNS4wMzRsLjAwNC0uMjE2di0uNWEuNzUuNzUgMCAwIDEgLjc1LS43NVpNMTAgMGE0IDQgMCAwIDEgNCA0djZhNCA0IDAgMCAxLTggMFY0YTQgNCAwIDAgMSA0LTRabTAgMS41QTIuNSAyLjUgMCAwIDAgNy41IDR2NmEyLjUgMi41IDAgMCAwIDUgMFY0QTIuNSAyLjUgMCAwIDAgMTAgMS41WlwiLz48L3N2Zz4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxtYXNrIGlkPVwibWFzazBfNl8zMDY0XCIgc3R5bGU9XCJtYXNrLXR5cGU6YWxwaGFcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbjxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRDlEOUQ5XCIvPlxuPC9tYXNrPlxuPGcgbWFzaz1cInVybCgjbWFzazBfNl8zMDY0KVwiPlxuPHBhdGggZD1cIk0xMS45OTk4IDEzLjVDMTEuMzAxMSAxMy41IDEwLjcwOTggMTMuMjU4IDEwLjIyNTggMTIuNzc0QzkuNzQxODEgMTIuMjkgOS40OTk4MyAxMS42OTg3IDkuNDk5ODMgMTFWNC45OTk5N0M5LjQ5OTgzIDQuMzAxMjcgOS43NDE4MSAzLjcwOTkzIDEwLjIyNTggMy4yMjU5NUMxMC43MDk4IDIuNzQxOTggMTEuMzAxMSAyLjUgMTEuOTk5OCAyLjVDMTIuNjk4NSAyLjUgMTMuMjg5OCAyLjc0MTk4IDEzLjc3MzggMy4yMjU5NUMxNC4yNTc4IDMuNzA5OTMgMTQuNDk5OCA0LjMwMTI3IDE0LjQ5OTggNC45OTk5N1YxMUMxNC40OTk4IDExLjY5ODcgMTQuMjU3OCAxMi4yOSAxMy43NzM4IDEyLjc3NEMxMy4yODk4IDEzLjI1OCAxMi42OTg1IDEzLjUgMTEuOTk5OCAxMy41Wk0xMS45OTk4IDIwLjc1QzExLjc4NyAyMC43NSAxMS42MDg4IDIwLjY3ODIgMTEuNDY1MiAyMC41MzQ2QzExLjMyMTYgMjAuMzkxIDExLjI0OTggMjAuMjEyOCAxMS4yNDk4IDIwVjE3LjQ1NzZDOS43MzgzIDE3LjI4MzMgOC40NTM2OCAxNi42NjczIDcuMzk1OTggMTUuNjA5NkM2LjMzODMgMTQuNTUxOSA1LjcyMTY0IDEzLjI4MDcgNS41NDYgMTEuNzk2MUM1LjUxNTIyIDExLjU4MzMgNS41NzQxOSAxMS4zOTc0IDUuNzIyOSAxMS4yMzg0QzUuODcxNjIgMTEuMDc5NSA2LjA2Nzc3IDExIDYuMzExMzUgMTFDNi40ODY5OSAxMSA2LjY0NDA0IDExLjA2NjYgNi43ODI1IDExLjJDNi45MjA5NSAxMS4zMzMzIDcuMDA4NzcgMTEuNDk2MSA3LjA0NTk1IDExLjY4ODRDNy4yMTEzNCAxMi45MDY0IDcuNzYxOTggMTMuOTI5NSA4LjY5Nzg4IDE0Ljc1NzdDOS42MzM3OCAxNS41ODU5IDEwLjczNDQgMTYgMTEuOTk5OCAxNkMxMy4yNjUyIDE2IDE0LjM2NTggMTUuNTg1OSAxNS4zMDE3IDE0Ljc1NzdDMTYuMjM3NiAxMy45Mjk1IDE2Ljc4ODMgMTIuOTA2NCAxNi45NTM3IDExLjY4ODRDMTYuOTkwOCAxMS40OTYxIDE3LjA3OTYgMTEuMzMzMyAxNy4yMiAxMS4yQzE3LjM2MDQgMTEuMDY2NiAxNy41MjE2IDExIDE3LjcwMzYgMTFDMTcuOTM3IDExIDE4LjEyOCAxMS4wNzk1IDE4LjI3NjcgMTEuMjM4NEMxOC40MjU0IDExLjM5NzQgMTguNDg0NCAxMS41ODMzIDE4LjQ1MzYgMTEuNzk2MUMxOC4yNzggMTMuMjgwNyAxNy42NjEzIDE0LjU1MTkgMTYuNjAzNiAxNS42MDk2QzE1LjU0NTkgMTYuNjY3MyAxNC4yNjEzIDE3LjI4MzMgMTIuNzQ5OCAxNy40NTc2VjIwQzEyLjc0OTggMjAuMjEyOCAxMi42NzggMjAuMzkxIDEyLjUzNDQgMjAuNTM0NkMxMi4zOTA4IDIwLjY3ODIgMTIuMjEyNiAyMC43NSAxMS45OTk4IDIwLjc1WlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG48L2c+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyMCAyMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiA+PHBhdGggZD1cIk03LjIxNSAxOS45ODZhMi4xMTggMi4xMTggMCAwIDEgMS40ODgtMi4wNDR2LTIuMDQ1YTYuNDczIDYuNDczIDAgMCAxLTMuNDEyLTEuODQgNi42MjQgNi42MjQgMCAwIDEtMS40MDYtMi4xMzQgNi44MDkgNi44MDkgMCAwIDEtLjUyNS0yLjYyNHYtLjlhMS43MzYgMS43MzYgMCAwIDEgMS43MjYtMS43NTh2Mi42NThhNC45NTcgNC45NTcgMCAwIDAgMS40NCAzLjUyNCA0Ljg1MiA0Ljg1MiAwIDAgMCA1LjI4NCAxLjExNyA0Ljg1MyA0Ljg1MyAwIDAgMCAxLjU4OS0xLjAzNWwuMDc1LS4wODJhNC45NiA0Ljk2IDAgMCAwIDEuNDQtMy41MjRWNi42NGExLjc0MyAxLjc0MyAwIDAgMSAxLjcyNiAxLjc1OHYuOTA3YzAgLjktLjE3NiAxLjc5MS0uNTE4IDIuNjI0YTYuODE2IDYuODE2IDAgMCAxLTEuNDI3IDIuMTQgNi40NzMgNi40NzMgMCAwIDEtMy40MTIgMS44NHYyLjA0NUEyLjEyMiAyLjEyMiAwIDAgMSAxMi43NzEgMjBsLTUuNTU2LS4wMTRaTTYuMzkgOS4zVjMuODg3QTMuNjAxIDMuNjAxIDAgMCAxIDguNDkzLjMyNGEzLjYxNCAzLjYxNCAwIDAgMSA0Ljg2MyAxLjk4MWMuMTc4LjQ1OS4yNi45NDguMjQgMS40Mzl2NS41NTVhMy42MDQgMy42MDQgMCAwIDEtMS4wMDYgMi41NyAzLjYxNCAzLjYxNCAwIDAgMS02LjIxNC0yLjQyN2wuMDE0LS4xNDNaXCI+PC9wYXRoPjwvc3ZnPiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMWVtXCIgaGVpZ2h0PVwiMWVtXCIgZmlsbD1cIiMyQzMzMzZcIiBjbGFzcz1cImRlbWlvLWljb25cIiBzdHlsZT1cImZvbnQtc2l6ZToxNnB4XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMTEuNSAwaC03QTEuNSAxLjUgMCAwIDAgMyAxLjV2MTNBMS41IDEuNSAwIDAgMCA0LjUgMTZoN2ExLjUgMS41IDAgMCAwIDEuNS0xLjV2LTEzQTEuNSAxLjUgMCAwIDAgMTEuNSAwWk04IDE1YS45OTkuOTk5IDAgMSAxIDAtMiAuOTk5Ljk5OSAwIDEgMSAwIDJabTMuNS0zLjM3NWEuMzc2LjM3NiAwIDAgMS0uMzc1LjM3NWgtNi4yNWEuMzc2LjM3NiAwIDAgMS0uMzc1LS4zNzV2LTkuNzVjMC0uMjA2LjE2OS0uMzc1LjM3NS0uMzc1aDYuMjVjLjIwNiAwIC4zNzUuMTY5LjM3NS4zNzV2OS43NVpcIi8+PC9zdmc+IiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgIGZpbGw9XCIjQkJCXCIgdmlld0JveD1cIjAgMCAzMyAyNFwiPjxwYXRoIGQ9XCJNNiAwaDUuMjVjLjQxMiAwIC43NS4zMzguNzUuNzV2MS41YzAgLjQxMy0uMzM4Ljc1LS43NS43NUg2YTMgMyAwIDAgMC0zIDN2MTJhMyAzIDAgMCAwIDMgM2g1LjI1Yy40MTIgMCAuNzUuMzM3Ljc1Ljc1djEuNWMwIC40MTMtLjMzOC43NS0uNzUuNzVINmMtMy4zMTMgMC02LTIuNjg4LTYtNlY2YzAtMy4zMTMgMi42ODgtNiA2LTZabTE0LjQ0NCAxLjIxOS0xLjIyNSAxLjIyNWMtLjMuMy0uMjk0Ljc4MS4wMTIgMS4wNjlsNy4wNjkgNi44NjJIMTAuNzVhLjc1Mi43NTIgMCAwIDAtLjc1Ljc1djEuNzVjMCAuNDEyLjMzOC43NS43NS43NUgyNi4zbC03LjA2OSA2Ljg1NmEuNzUzLjc1MyAwIDAgMC0uMDEyIDEuMDY5bDEuMjI1IDEuMjI1YS43NS43NSAwIDAgMCAxLjA2MiAwbDEwLjI3NS0xMC4yNWEuNzUuNzUgMCAwIDAgMC0xLjA2M0wyMS41MDYgMS4yMTNhLjc1Ni43NTYgMCAwIDAtMS4wNjIuMDA3WlwiLz48L3N2Zz4iLCI8c3ZnICB2aWV3Qm94PVwiMCAwIDIyIDE2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgPjxwYXRoIGQ9XCJNMTEgMi4zMzVhOS43NyA5Ljc3IDAgMDE4LjgyIDUuNSA5Ljc2IDkuNzYgMCAwMS04LjgyIDUuNSA5Ljc2IDkuNzYgMCAwMS04LjgyLTUuNSA5Ljc3IDkuNzcgMCAwMTguODItNS41em0wLTJjLTUgMC05LjI3IDMuMTEtMTEgNy41IDEuNzMgNC4zOSA2IDcuNSAxMSA3LjVzOS4yNy0zLjExIDExLTcuNWMtMS43My00LjM5LTYtNy41LTExLTcuNXptMCA1YTIuNSAyLjUgMCAwMTAgNSAyLjUgMi41IDAgMDEwLTV6bTAtMmMtMi40OCAwLTQuNSAyLjAyLTQuNSA0LjVzMi4wMiA0LjUgNC41IDQuNSA0LjUtMi4wMiA0LjUtNC41LTIuMDItNC41LTQuNS00LjV6XCIgZmlsbD1cIiM4MzhCOTdcIj48L3BhdGg+PC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgPlxuICA8cGF0aCBkPVwiTTIzLjc3NSAxNy44OThMMS4zNS4zNjdBLjYuNiAwIDAwLjUwNy40NkwuMTMyLjkzYS42LjYgMCAwMC4wOTMuODQ0bDIyLjQyNSAxNy41M2EuNi42IDAgMDAuODQzLS4wOTNsLjM3NS0uNDY4YS42LjYgMCAwMC0uMDkzLS44NDR6TTExLjEzIDUuNzI4bDUuMDU0IDMuOTUyYTQuMTg5IDQuMTg5IDAgMDAtNS4wNTUtMy45NTJ6bTEuNzQgOC4yMTVMNy44MTYgOS45OWE0LjE5IDQuMTkgMCAwMDUuMDU0IDMuOTUyek0xMiA0LjQzNWMzLjcgMCA3LjA5IDIuMDYzIDguOTIyIDUuNGExMC43MSAxMC43MSAwIDAxLTEuNjUgMi4yNThsMS40MTYgMS4xMDZhMTIuNTE4IDEyLjUxOCAwIDAwMS45ODMtMi44MTcgMS4yMTQgMS4yMTQgMCAwMDAtMS4wOTRDMjAuNjM2IDUuMzIgMTYuNjEgMi42MzUgMTIgMi42MzVjLTEuMzc2IDAtMi42OS4yNjMtMy45MjQuNzA2bDEuNzQgMS4zNkE5Ljg0MyA5Ljg0MyAwIDAxMTIgNC40MzV6bTAgMTAuOGMtMy43IDAtNy4wOS0yLjA2Mi04LjkyMi01LjQuNDUtLjgyMSAxLjAwNC0xLjU4IDEuNjUxLTIuMjU3TDMuMzE0IDYuNDcyYTEyLjUxIDEyLjUxIDAgMDAtMS45ODMgMi44MTYgMS4yMTMgMS4yMTMgMCAwMDAgMS4wOTVDMy4zNjQgMTQuMzUgNy4zOSAxNy4wMzUgMTIgMTcuMDM1YzEuMzc2IDAgMi42ODktLjI2NCAzLjkyNC0uNzA1bC0xLjc0LTEuMzZhOS44NiA5Ljg2IDAgMDEtMi4xODQuMjY1elwiIGZpbGw9XCIjODM4Qjk3XCI+PC9wYXRoPlxuPC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDE4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNNy4yIDljMi4zMjEgMCA0LjItMS44NzkgNC4yLTQuMlM5LjUyMS42IDcuMi42QTQuMTk4IDQuMTk4IDAgMCAwIDMgNC44QzMgNy4xMjEgNC44NzkgOSA3LjIgOVptMi44OCAxLjJoLS4zMTFjLS43OC4zNzUtMS42NDYuNi0yLjU2OS42YTUuOTIgNS45MiAwIDAgMS0yLjU2OS0uNkg0LjMyQTQuMzIxIDQuMzIxIDAgMCAwIDAgMTQuNTJ2MS4wOGExLjggMS44IDAgMCAwIDEuOCAxLjhoMTAuOGExLjggMS44IDAgMCAwIDEuOC0xLjh2LTEuMDhhNC4zMjEgNC4zMjEgMCAwIDAtNC4zMi00LjMyWk0xOCA5YTMuNiAzLjYgMCAwIDAgMC03LjJBMy42IDMuNiAwIDAgMCAxOCA5Wm0xLjggMS4yaC0uMTQzYy0uNTIuMTgtMS4wNzIuMy0xLjY1Ny4zcy0xLjEzNi0uMTItMS42NTctLjNIMTYuMmMtLjc2NSAwLTEuNDcuMjIxLTIuMDg5LjU3OEE1LjQ4OCA1LjQ4OCAwIDAgMSAxNS42IDE0LjUydjEuNDRjMCAuMDgyLS4wMTkuMTYxLS4wMjIuMjRIMjIuMmExLjggMS44IDAgMCAwIDEuOC0xLjhjMC0yLjMyMS0xLjg3OS00LjItNC4yLTQuMlpcIiBmaWxsPVwiI0JCQlwiPjwvcGF0aD48L3N2Zz4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwiI0ZGRlwiICB2aWV3Qm94PVwiMCAwIDI0IDE4XCI+XG4gICAgPHBhdGggZD1cIk0zLjYgNy43OTlhMi40IDIuNCAwIDEgMCAwLTQuOCAyLjQgMi40IDAgMCAwIDAgNC44Wm04LjQgMS4yYTMuNiAzLjYgMCAwIDAgMy42LTMuNnYtLjZIOC40di42YTMuNiAzLjYgMCAwIDAgMy42IDMuNlptOS42IDBoLTIuNGMtLjY2IDAtMS4yNTYuMjY2LTEuNjkuNjk3YTUuNDk2IDUuNDk2IDAgMCAxIDIuODE3IDQuMTAzSDIyLjhhMS4yIDEuMiAwIDAgMCAxLjItMS4ydi0xLjJhMi40IDIuNCAwIDAgMC0yLjQtMi40Wm0tMTUuMTEuNjk3YTIuMzkyIDIuMzkyIDAgMCAwLTEuNjktLjY5N0gyLjRhMi40IDIuNCAwIDAgMC0yLjQgMi40djEuMmExLjIgMS4yIDAgMCAwIDEuMiAxLjJoMi40NzNBNS40OTUgNS40OTUgMCAwIDEgNi40OSA5LjY5NlpNMjAuNCA3Ljc5OWEyLjQgMi40IDAgMSAwIDAtNC44IDIuNCAyLjQgMCAwIDAgMCA0LjhabS01LjUyIDIuNGgtLjMxMmMtLjc4MS4zNzMtMS42NDYuNi0yLjU2OC42YTUuOTMzIDUuOTMzIDAgMCAxLTIuNTY4LS42SDkuMTJhNC4zMiA0LjMyIDAgMCAwLTQuMzIgNC4zMnYxLjA4YTEuOCAxLjggMCAwIDAgMS44IDEuOGgxMC44YTEuOCAxLjggMCAwIDAgMS44LTEuOHYtMS4wOGE0LjMyIDQuMzIgMCAwIDAtNC4zMi00LjMyWm0uNzItOS42LTEuOC45LTEuOC0uOS0xLjguOS0xLjgtLjl2M2g3LjJ2LTNaXCIvPlxuPC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBpZD1cInBlcnNvbl8yXCIgZD1cIk0xMiAxMkMxMC45IDEyIDkuOTU4MzMgMTEuNjA4MyA5LjE3NSAxMC44MjVDOC4zOTE2NyAxMC4wNDE3IDggOS4xIDggOEM4IDYuOSA4LjM5MTY3IDUuOTU4MzMgOS4xNzUgNS4xNzVDOS45NTgzMyA0LjM5MTY3IDEwLjkgNCAxMiA0QzEzLjEgNCAxNC4wNDE3IDQuMzkxNjcgMTQuODI1IDUuMTc1QzE1LjYwODMgNS45NTgzMyAxNiA2LjkgMTYgOEMxNiA5LjEgMTUuNjA4MyAxMC4wNDE3IDE0LjgyNSAxMC44MjVDMTQuMDQxNyAxMS42MDgzIDEzLjEgMTIgMTIgMTJaTTE4IDIwSDZDNS40NSAyMCA0Ljk3OTE3IDE5LjgwNDIgNC41ODc1IDE5LjQxMjVDNC4xOTU4MyAxOS4wMjA4IDQgMTguNTUgNCAxOFYxNy4yQzQgMTYuNjMzMyA0LjE0NTgzIDE2LjExMjUgNC40Mzc1IDE1LjYzNzVDNC43MjkxNyAxNS4xNjI1IDUuMTE2NjcgMTQuOCA1LjYgMTQuNTVDNi42MzMzMyAxNC4wMzMzIDcuNjgzMzMgMTMuNjQ1OCA4Ljc1IDEzLjM4NzVDOS44MTY2NyAxMy4xMjkyIDEwLjkgMTMgMTIgMTNDMTMuMSAxMyAxNC4xODMzIDEzLjEyOTIgMTUuMjUgMTMuMzg3NUMxNi4zMTY3IDEzLjY0NTggMTcuMzY2NyAxNC4wMzMzIDE4LjQgMTQuNTVDMTguODgzMyAxNC44IDE5LjI3MDggMTUuMTYyNSAxOS41NjI1IDE1LjYzNzVDMTkuODU0MiAxNi4xMTI1IDIwIDE2LjYzMzMgMjAgMTcuMlYxOEMyMCAxOC41NSAxOS44MDQyIDE5LjAyMDggMTkuNDEyNSAxOS40MTI1QzE5LjAyMDggMTkuODA0MiAxOC41NSAyMCAxOCAyMFpNNiAxOEgxOFYxNy4yQzE4IDE3LjAxNjcgMTcuOTU0MiAxNi44NSAxNy44NjI1IDE2LjdDMTcuNzcwOCAxNi41NSAxNy42NSAxNi40MzMzIDE3LjUgMTYuMzVDMTYuNiAxNS45IDE1LjY5MTcgMTUuNTYyNSAxNC43NzUgMTUuMzM3NUMxMy44NTgzIDE1LjExMjUgMTIuOTMzMyAxNSAxMiAxNUMxMS4wNjY3IDE1IDEwLjE0MTcgMTUuMTEyNSA5LjIyNSAxNS4zMzc1QzguMzA4MzMgMTUuNTYyNSA3LjQgMTUuOSA2LjUgMTYuMzVDNi4zNSAxNi40MzMzIDYuMjI5MTcgMTYuNTUgNi4xMzc1IDE2LjdDNi4wNDU4MyAxNi44NSA2IDE3LjAxNjcgNiAxNy4yVjE4Wk0xMiAxMEMxMi41NSAxMCAxMy4wMjA4IDkuODA0MTcgMTMuNDEyNSA5LjQxMjVDMTMuODA0MiA5LjAyMDgzIDE0IDguNTUgMTQgOEMxNCA3LjQ1IDEzLjgwNDIgNi45NzkxNyAxMy40MTI1IDYuNTg3NUMxMy4wMjA4IDYuMTk1ODMgMTIuNTUgNiAxMiA2QzExLjQ1IDYgMTAuOTc5MiA2LjE5NTgzIDEwLjU4NzUgNi41ODc1QzEwLjE5NTggNi45NzkxNyAxMCA3LjQ1IDEwIDhDMTAgOC41NSAxMC4xOTU4IDkuMDIwODMgMTAuNTg3NSA5LjQxMjVDMTAuOTc5MiA5LjgwNDE3IDExLjQ1IDEwIDEyIDEwWlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjgwMFwiIGhlaWdodD1cIjgwMFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBmaWxsPVwiIzIxMjEyMVwiIGQ9XCJNMTcuNSAxMmE1LjUgNS41IDAgMSAxIDAgMTEgNS41IDUuNSAwIDAgMSAwLTExWm0tNS40NzggMmE2LjQ3IDYuNDcgMCAwIDAtLjcwOCAxLjVoLTcuMDZhLjc1Ljc1IDAgMCAwLS43NS43NXYuOTA3YzAgLjY1Ni4yODYgMS4yNzkuNzgzIDEuNzA2QzUuNTQ1IDE5Ljk0NSA3LjQ0IDIwLjUwMSAxMCAyMC41MDFjLjU5OSAwIDEuMTYxLS4wMyAxLjY4OC0uMDkuMjUuNS41NjMuOTYzLjkzIDEuMzgtLjgwMy4xNC0xLjY3Ni4yMS0yLjYxOC4yMS0yLjg5IDAtNS4xMjgtLjY1Ny02LjY5MS0yYTMuNzUgMy43NSAwIDAgMS0xLjMwNS0yLjg0NHYtLjkwN0EyLjI1IDIuMjUgMCAwIDEgNC4yNTQgMTRoNy43NjhabTMuMDcxLjk2Ni0uMDcuMDU4LS4wNTcuMDdhLjUuNSAwIDAgMCAwIC41NjhsLjA1OC4wNyAxLjc3IDEuNzY5LTEuNzY4IDEuNzY2LS4wNTcuMDdhLjUuNSAwIDAgMCAwIC41NjhsLjA1Ny4wNy4wNy4wNTdhLjUuNSAwIDAgMCAuNTY4IDBsLjA3LS4wNTcgMS43NjYtMS43NjcgMS43NyAxLjc2OS4wNjkuMDU4YS41LjUgMCAwIDAgLjU2OCAwbC4wNy0uMDU4LjA1Ny0uMDdhLjUuNSAwIDAgMCAwLS41NjhsLS4wNTctLjA3LTEuNzctMS43NjggMS43NzItMS43Ny4wNTgtLjA2OWEuNS41IDAgMCAwIDAtLjU2OWwtLjA1OC0uMDY5LS4wNjktLjA1OGEuNS41IDAgMCAwLS41NjkgMGwtLjA2OS4wNTgtMS43NzIgMS43Ny0xLjc3LTEuNzctLjA2OC0uMDU4YS41LjUgMCAwIDAtLjQ5My0uMDQzbC0uMDc2LjA0M1pNMTAgMi4wMDVhNSA1IDAgMSAxIDAgMTAgNSA1IDAgMCAxIDAtMTBabTAgMS41YTMuNSAzLjUgMCAxIDAgMCA3IDMuNSAzLjUgMCAwIDAgMC03WlwiLz48L3N2Zz4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj5cbiAgPHBhdGggZmlsbD1cIiM0MjQ1NEJcIiBkPVwibTE1LjI2MiA2LjcwOC0xMS02LjUwM0MzLjM3LS4zMjMgMiAuMTkgMiAxLjQ5NVYxNC41YzAgMS4xNzIgMS4yNzIgMS44NzggMi4yNjMgMS4yOWwxMS02LjVjLjk4LS41NzguOTg0LTIuMDAyIDAtMi41OFpcIi8+XG48L3N2Zz4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGQ9XCJNMjAuNjI1IDEwLjg3NUgxMy4xMjVWMy4zNzVDMTMuMTI1IDMuMTY3ODEgMTIuOTU3MiAzIDEyLjc1IDNIMTEuMjVDMTEuMDQyOCAzIDEwLjg3NSAzLjE2NzgxIDEwLjg3NSAzLjM3NVYxMC44NzVIMy4zNzVDMy4xNjc4MSAxMC44NzUgMyAxMS4wNDI4IDMgMTEuMjVWMTIuNzVDMyAxMi45NTcyIDMuMTY3ODEgMTMuMTI1IDMuMzc1IDEzLjEyNUgxMC44NzVWMjAuNjI1QzEwLjg3NSAyMC44MzIyIDExLjA0MjggMjEgMTEuMjUgMjFIMTIuNzVDMTIuOTU3MiAyMSAxMy4xMjUgMjAuODMyMiAxMy4xMjUgMjAuNjI1VjEzLjEyNUgyMC42MjVDMjAuODMyMiAxMy4xMjUgMjEgMTIuOTU3MiAyMSAxMi43NVYxMS4yNUMyMSAxMS4wNDI4IDIwLjgzMjIgMTAuODc1IDIwLjYyNSAxMC44NzVaXCIgZmlsbD1cIiMyQzMzMzZcIi8+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgIDxwYXRoIGlkPVwicGF0aFwiIGQ9XCJNMS41IDMuNzVWMjAuMjVDMS41IDIwLjg0NjcgMS43MzcwNSAyMS40MTkgMi4xNTkwMSAyMS44NDFDMi41ODA5NyAyMi4yNjI5IDMuMTUzMjYgMjIuNSAzLjc1IDIyLjVIMjAuMjVDMjAuODQ2NyAyMi41IDIxLjQxOSAyMi4yNjI5IDIxLjg0MSAyMS44NDFDMjIuMjYyOSAyMS40MTkgMjIuNSAyMC44NDY3IDIyLjUgMjAuMjVWMy43NUMyMi41IDMuMTUzMjYgMjIuMjYyOSAyLjU4MDk3IDIxLjg0MSAyLjE1OTAxQzIxLjQxOSAxLjczNzA1IDIwLjg0NjcgMS41IDIwLjI1IDEuNUgzLjc1QzMuMTUzMjYgMS41IDIuNTgwOTcgMS43MzcwNSAyLjE1OTAxIDIuMTU5MDFDMS43MzcwNSAyLjU4MDk3IDEuNSAzLjE1MzI2IDEuNSAzLjc1SDEuNVpNNi43NSAxOEM2LjU1MTA5IDE4IDYuMzYwMzIgMTcuOTIxIDYuMjE5NjcgMTcuNzgwM0M2LjA3OTAyIDE3LjYzOTcgNiAxNy40NDg5IDYgMTcuMjVWMTEuMjVDNiAxMS4wNTExIDYuMDc5MDIgMTAuODYwMyA2LjIxOTY3IDEwLjcxOTdDNi4zNjAzMiAxMC41NzkgNi41NTEwOSAxMC41IDYuNzUgMTAuNUg4LjI1QzguNDQ4OTEgMTAuNSA4LjYzOTY4IDEwLjU3OSA4Ljc4MDMzIDEwLjcxOTdDOC45MjA5OCAxMC44NjAzIDkgMTEuMDUxMSA5IDExLjI1VjE3LjI1QzkgMTcuNDQ4OSA4LjkyMDk4IDE3LjYzOTcgOC43ODAzMyAxNy43ODAzQzguNjM5NjggMTcuOTIxIDguNDQ4OTEgMTggOC4yNSAxOEg2Ljc1Wk0xNy4yNSAxMy41QzE3LjQ0ODkgMTMuNSAxNy42Mzk3IDEzLjU3OSAxNy43ODAzIDEzLjcxOTdDMTcuOTIxIDEzLjg2MDMgMTggMTQuMDUxMSAxOCAxNC4yNVYxNy4yNUMxOCAxNy40NDg5IDE3LjkyMSAxNy42Mzk3IDE3Ljc4MDMgMTcuNzgwM0MxNy42Mzk3IDE3LjkyMSAxNy40NDg5IDE4IDE3LjI1IDE4SDE1Ljc1QzE1LjU1MTEgMTggMTUuMzYwMyAxNy45MjEgMTUuMjE5NyAxNy43ODAzQzE1LjA3OSAxNy42Mzk3IDE1IDE3LjQ0ODkgMTUgMTcuMjVWMTQuMjVDMTUgMTQuMDUxMSAxNS4wNzkgMTMuODYwMyAxNS4yMTk3IDEzLjcxOTdDMTUuMzYwMyAxMy41NzkgMTUuNTUxMSAxMy41IDE1Ljc1IDEzLjVIMTcuMjVaTTEyLjc1IDZDMTIuOTQ4OSA2IDEzLjEzOTcgNi4wNzkwMiAxMy4yODAzIDYuMjE5NjdDMTMuNDIxIDYuMzYwMzIgMTMuNSA2LjU1MTA5IDEzLjUgNi43NVYxNy4yNUMxMy41IDE3LjQ0ODkgMTMuNDIxIDE3LjYzOTcgMTMuMjgwMyAxNy43ODAzQzEzLjEzOTcgMTcuOTIxIDEyLjk0ODkgMTggMTIuNzUgMThIMTEuMjVDMTEuMDUxMSAxOCAxMC44NjAzIDE3LjkyMSAxMC43MTk3IDE3Ljc4MDNDMTAuNTc5IDE3LjYzOTcgMTAuNSAxNy40NDg5IDEwLjUgMTcuMjVWNi43NUMxMC41IDYuNTUxMDkgMTAuNTc5IDYuMzYwMzIgMTAuNzE5NyA2LjIxOTY3QzEwLjg2MDMgNi4wNzkwMiAxMS4wNTExIDYgMTEuMjUgNkgxMi43NVpcIiBmaWxsPVwiIzJDMzMzNlwiLz5cbiAgICA8cGF0aCBpZD1cInBhdGhfMlwiIGQ9XCJNOSAxNy4yNVYxMS4yNUM5IDExLjA1MTEgOC45MjA5OCAxMC44NjAzIDguNzgwMzMgMTAuNzE5N0M4LjYzOTY4IDEwLjU3OSA4LjQ0ODkxIDEwLjUgOC4yNSAxMC41SDYuNzVDNi41NTEwOSAxMC41IDYuMzYwMzIgMTAuNTc5IDYuMjE5NjcgMTAuNzE5N0M2LjA3OTAyIDEwLjg2MDMgNiAxMS4wNTExIDYgMTEuMjVWMTcuMjVDNiAxNy40NDg5IDYuMDc5MDIgMTcuNjM5NyA2LjIxOTY3IDE3Ljc4MDNDNi4zNjAzMiAxNy45MjEgNi41NTEwOSAxOCA2Ljc1IDE4SDguMjVDOC40NDg5MSAxOCA4LjYzOTY4IDE3LjkyMSA4Ljc4MDMzIDE3Ljc4MDNDOC45MjA5OCAxNy42Mzk3IDkgMTcuNDQ4OSA5IDE3LjI1Wk0xNSAxNC4yNVYxNy4yNUMxNSAxNy40NDg5IDE1LjA3OSAxNy42Mzk3IDE1LjIxOTcgMTcuNzgwM0MxNS4zNjAzIDE3LjkyMSAxNS41NTExIDE4IDE1Ljc1IDE4SDE3LjI1QzE3LjQ0ODkgMTggMTcuNjM5NyAxNy45MjEgMTcuNzgwMyAxNy43ODAzQzE3LjkyMSAxNy42Mzk3IDE4IDE3LjQ0ODkgMTggMTcuMjVWMTQuMjVDMTggMTQuMDUxMSAxNy45MjEgMTMuODYwMyAxNy43ODAzIDEzLjcxOTdDMTcuNjM5NyAxMy41NzkgMTcuNDQ4OSAxMy41IDE3LjI1IDEzLjVIMTUuNzVDMTUuNTUxMSAxMy41IDE1LjM2MDMgMTMuNTc5IDE1LjIxOTcgMTMuNzE5N0MxNS4wNzkgMTMuODYwMyAxNSAxNC4wNTExIDE1IDE0LjI1Wk0xMC41IDYuNzVWMTcuMjVDMTAuNSAxNy40NDg5IDEwLjU3OSAxNy42Mzk3IDEwLjcxOTcgMTcuNzgwM0MxMC44NjAzIDE3LjkyMSAxMS4wNTExIDE4IDExLjI1IDE4SDEyLjc1QzEyLjk0ODkgMTggMTMuMTM5NyAxNy45MjEgMTMuMjgwMyAxNy43ODAzQzEzLjQyMSAxNy42Mzk3IDEzLjUgMTcuNDQ4OSAxMy41IDE3LjI1VjYuNzVDMTMuNSA2LjU1MTA5IDEzLjQyMSA2LjM2MDMyIDEzLjI4MDMgNi4yMTk2N0MxMy4xMzk3IDYuMDc5MDIgMTIuOTQ4OSA2IDEyLjc1IDZIMTEuMjVDMTEuMDUxMSA2IDEwLjg2MDMgNi4wNzkwMiAxMC43MTk3IDYuMjE5NjdDMTAuNTc5IDYuMzYwMzIgMTAuNSA2LjU1MTA5IDEwLjUgNi43NVpcIiBmaWxsPVwiIzJDMzMzNlwiLz5cbjwvc3ZnPlxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiPjxwYXRoIGQ9XCJNMTEuNjY3LjY2N0guMzMzQS4zMzMuMzMzIDAgMCAwIDAgMXYuMzMzYzAgLjE4NC4xNS4zMzQuMzMzLjMzNGguMzM0djUuNjY2YzAgLjM2OC4yOTguNjY3LjY2Ni42NjdINS41di45MWwtMS42MTggMS42MThhLjMzMy4zMzMgMCAwIDAgMCAuNDcybC4yMzYuMjM2Yy4xMy4xMy4zNDEuMTMuNDcxIDBMNiA5LjgyNWwxLjQxIDEuNDFjLjEzMS4xMy4zNDIuMTMuNDcyIDBMOC4xMTggMTFhLjMzMy4zMzMgMCAwIDAgMC0uNDcyTDYuNSA4LjkxMVY4aDQuMTY3YS42NjcuNjY3IDAgMCAwIC42NjYtLjY2N1YxLjY2NmguMzM0QS4zMzMuMzMzIDAgMCAwIDEyIDEuMzMzVjFhLjMzMy4zMzMgMCAwIDAtLjMzMy0uMzMzWk0xMC4zMzMgN0gxLjY2N1YxLjY2N2g4LjY2NlY3WlwiLz48L3N2Zz4iLCI8c3ZnIGlkPVwiZGVtaW8tdWktcHJvZ3Jlc3MtaWNvblwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGQ9XCJNMTIgMEMxNC4zNzM0IDIuODMwMjJlLTA4IDE2LjY5MzUgMC43MDM3ODggMTguNjY2OCAyLjAyMjM2QzIwLjY0MDIgMy4zNDA5NCAyMi4xNzgzIDUuMjE1MDkgMjMuMDg2NiA3LjQwNzhDMjMuOTk0OCA5LjYwMDUxIDI0LjIzMjQgMTIuMDEzMyAyMy43Njk0IDE0LjM0MTFDMjMuMzA2NCAxNi42Njg5IDIyLjE2MzUgMTguODA3MSAyMC40ODUzIDIwLjQ4NTNDMTguODA3MSAyMi4xNjM1IDE2LjY2ODkgMjMuMzA2NCAxNC4zNDExIDIzLjc2OTRDMTIuMDEzMyAyNC4yMzI0IDkuNjAwNTEgMjMuOTk0OCA3LjQwNzggMjMuMDg2NkM1LjIxNTA5IDIyLjE3ODMgMy4zNDA5NCAyMC42NDAyIDIuMDIyMzYgMTguNjY2OEMwLjcwMzc4OCAxNi42OTM1IC01LjY2MDQ0ZS0wOCAxNC4zNzM0IDAgMTJIMi42NEMyLjY0IDEzLjg1MTIgMy4xODg5NSAxNS42NjA5IDQuMjE3NDQgMTcuMjAwMUM1LjI0NTkzIDE4LjczOTQgNi43MDc3NyAxOS45MzkxIDguNDE4MDggMjAuNjQ3NUMxMC4xMjg0IDIxLjM1NTkgMTIuMDEwNCAyMS41NDEzIDEzLjgyNiAyMS4xODAxQzE1LjY0MTcgMjAuODE5IDE3LjMwOTUgMTkuOTI3NSAxOC42MTg1IDE4LjYxODVDMTkuOTI3NSAxNy4zMDk1IDIwLjgxOSAxNS42NDE3IDIxLjE4MDEgMTMuODI2QzIxLjU0MTMgMTIuMDEwNCAyMS4zNTU5IDEwLjEyODQgMjAuNjQ3NSA4LjQxODA4QzE5LjkzOTEgNi43MDc3NyAxOC43Mzk0IDUuMjQ1OTMgMTcuMjAwMSA0LjIxNzQ0QzE1LjY2MDkgMy4xODg5NSAxMy44NTEyIDIuNjQgMTIgMi42NFYwWlwiIGZpbGw9XCIjREVFNEU4XCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIG9wYWNpdHk9XCIwLjhcIiBkPVwiTTEyIDAuMzc1QzUuNTc4MTIgMC4zNzUgMC4zNzUgNS41NzgxMiAwLjM3NSAxMkMwLjM3NSAxOC40MjE5IDUuNTc4MTIgMjMuNjI1IDEyIDIzLjYyNUMxOC40MjE5IDIzLjYyNSAyMy42MjUgMTguNDIxOSAyMy42MjUgMTJDMjMuNjI1IDUuNTc4MTIgMTguNDIxOSAwLjM3NSAxMiAwLjM3NVpNMTcuNDIzNCAxMy4xMjVMOS4xNzM0NCAxNy44NTk0QzguNDMyODEgMTguMjcxOSA3LjUgMTcuNzQyMiA3LjUgMTYuODc1VjcuMTI1QzcuNSA2LjI2MjUgOC40MjgxMiA1LjcyODEzIDkuMTczNDQgNi4xNDA2MkwxNy40MjM0IDExLjE1NjJDMTguMTkyMiAxMS41ODc1IDE4LjE5MjIgMTIuNjk4NCAxNy40MjM0IDEzLjEyNVpcIiBmaWxsPVwiI0RFRTRFOFwiLz5cbjxwYXRoIG9wYWNpdHk9XCIwLjhcIiBkPVwiTTE3LjQyMzUgMTMuMTI1NEw5LjE3MzQ0IDE3Ljg1OTdDOC40MzI4MSAxOC4yNzIyIDcuNSAxNy43NDI2IDcuNSAxNi44NzU0VjcuMTI1MzdDNy41IDYuMjYyODcgOC40MjgxMyA1LjcyODQ5IDkuMTczNDQgNi4xNDFMMTcuNDIzNSAxMS4xNTY2QzE4LjE5MjIgMTEuNTg3OSAxOC4xOTIyIDEyLjY5ODggMTcuNDIzNSAxMy4xMjU0WlwiIGZpbGw9XCJ3aGl0ZVwiLz5cbjxsaW5lIHgxPVwiMy4xNjA2MVwiIHkxPVwiMjAuMTMyOFwiIHgyPVwiMjAuMTMxMlwiIHkyPVwiMy4xNjIyMVwiIHN0cm9rZT1cIndoaXRlXCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICA8cGF0aCBmaWxsPVwiIzJDMzMzNlwiIGQ9XCJNMjMuNjI1IDExLjk3OWExMS41ODYgMTEuNTg2IDAgMCAwLTMuMjItOC4wMWwxLjY3NC0xLjY3M2MuNzEtLjcxLjIwNy0xLjkyMS0uNzk1LTEuOTIxSDE1Yy0uNjIxIDAtMS4xMjUuNTA0LTEuMTI1IDEuMTI1djYuMjg0YzAgMS4wMDIgMS4yMTIgMS41MDQgMS45Mi43OTZsMS45NTgtMS45NThhNy44MTggNy44MTggMCAwIDEgMi4xMjIgNS4zMDhjLjAzNyA0LjMzMS0zLjQ2OCA3Ljk4Mi03Ljk0MyA3Ljk0NS00LjI0NS0uMDM2LTcuODA3LTMuNDc3LTcuODA3LTcuODc1IDAtMS45MjguNjg4LTMuNzUgMS45NDgtNS4xODZhLjU2Mi41NjIgMCAwIDAtLjAyNi0uNzY3bC0xLjg2LTEuODZhLjU2NC41NjQgMCAwIDAtLjgxNi4wMjNBMTEuNTgyIDExLjU4MiAwIDAgMCAuMzc1IDEyQy4zNzUgMTguNDIgNS41OCAyMy42MjUgMTIgMjMuNjI1YzYuNDEzIDAgMTEuNjM3LTUuMjMzIDExLjYyNS0xMS42NDZaXCIvPlxuPC9zdmc+IiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBkPVwiTTcuMTAwMDUgMTEuMzVDNy4zMzMzOCAxMC44ODMzIDcuNTc1MDUgMTAuNDMzMyA3LjgyNTA1IDkuOTk5OTlDOC4wNzUwNSA5LjU2NjY2IDguMzUwMDUgOS4xMzMzMiA4LjY1MDA1IDguNjk5OTlMNy4yNTAwNSA4LjQyNDk5TDUuMTUwMDUgMTAuNTI1TDcuMTAwMDUgMTEuMzVaTTE5LjE1IDQuNDc0OTlDMTcuOTgzNCA0LjUwODMyIDE2LjczNzUgNC44NDk5OSAxNS40MTI1IDUuNDk5OTlDMTQuMDg3NSA2LjE0OTk5IDEyLjg4MzQgNy4wMTY2NiAxMS44IDguMDk5OTlDMTEuMSA4Ljc5OTk5IDEwLjQ3NSA5LjU0OTk5IDkuOTI1MDUgMTAuMzVDOS4zNzUwNSAxMS4xNSA4Ljk2NjcyIDExLjkgOC43MDAwNSAxMi42TDExLjU1IDE1LjQyNUMxMi4yNSAxNS4xNTgzIDEzIDE0Ljc1IDEzLjggMTQuMkMxNC42IDEzLjY1IDE1LjM1IDEzLjAyNSAxNi4wNSAxMi4zMjVDMTcuMTMzNCAxMS4yNDE3IDE4IDEwLjA0MTcgMTguNjUgOC43MjQ5OUMxOS4zIDcuNDA4MzIgMTkuNjQxNyA2LjE2NjY2IDE5LjY3NSA0Ljk5OTk5QzE5LjY3NSA0LjkzMzMyIDE5LjY2MjUgNC44NjY2NiAxOS42Mzc1IDQuNzk5OTlDMTkuNjEyNSA0LjczMzMyIDE5LjU3NSA0LjY3NDk5IDE5LjUyNSA0LjYyNDk5QzE5LjQ3NSA0LjU3NDk5IDE5LjQxNjcgNC41Mzc0OSAxOS4zNSA0LjUxMjQ5QzE5LjI4MzQgNC40ODc0OSAxOS4yMTY3IDQuNDc0OTkgMTkuMTUgNC40NzQ5OVpNMTMuNjUgMTAuNDc1QzEzLjI2NjcgMTAuMDkxNyAxMy4wNzUgOS42MjA4MiAxMy4wNzUgOS4wNjI0OUMxMy4wNzUgOC41MDQxNiAxMy4yNjY3IDguMDMzMzIgMTMuNjUgNy42NDk5OUMxNC4wMzM0IDcuMjY2NjYgMTQuNTA4NCA3LjA3NDk5IDE1LjA3NSA3LjA3NDk5QzE1LjY0MTcgNy4wNzQ5OSAxNi4xMTY3IDcuMjY2NjYgMTYuNSA3LjY0OTk5QzE2Ljg4MzQgOC4wMzMzMiAxNy4wNzUgOC41MDQxNiAxNy4wNzUgOS4wNjI0OUMxNy4wNzUgOS42MjA4MiAxNi44ODM0IDEwLjA5MTcgMTYuNSAxMC40NzVDMTYuMTE2NyAxMC44NTgzIDE1LjY0MTcgMTEuMDUgMTUuMDc1IDExLjA1QzE0LjUwODQgMTEuMDUgMTQuMDMzNCAxMC44NTgzIDEzLjY1IDEwLjQ3NVpNMTIuOCAxNy4wMjVMMTMuNjI1IDE5TDE1LjcyNSAxNi45TDE1LjQ1IDE1LjVDMTUuMDE2NyAxNS44IDE0LjU4MzQgMTYuMDcwOCAxNC4xNSAxNi4zMTI1QzEzLjcxNjcgMTYuNTU0MiAxMy4yNjY3IDE2Ljc5MTcgMTIuOCAxNy4wMjVaTTIxLjU3NSAzLjY3NDk5QzIxLjcwODQgNS41MDgzMiAyMS40MDg0IDcuMjk1ODIgMjAuNjc1IDkuMDM3NDlDMTkuOTQxNyAxMC43NzkyIDE4Ljc4MzQgMTIuNDQxNyAxNy4yIDE0LjAyNUwxNy43IDE2LjVDMTcuNzY2NyAxNi44MzMzIDE3Ljc1IDE3LjE1ODMgMTcuNjUgMTcuNDc1QzE3LjU1IDE3Ljc5MTcgMTcuMzgzNCAxOC4wNjY3IDE3LjE1IDE4LjNMMTQgMjEuNDVDMTMuNzUgMjEuNyAxMy40NSAyMS43OTU4IDEzLjEgMjEuNzM3NUMxMi43NSAyMS42NzkyIDEyLjUwODQgMjEuNDgzMyAxMi4zNzUgMjEuMTVMMTAuODUgMTcuNTc1TDYuNTc1MDUgMTMuM0wzLjAwMDA1IDExLjc3NUMyLjY2NjcyIDExLjY0MTcgMi40NjY3MiAxMS40IDIuNDAwMDUgMTEuMDVDMi4zMzMzOCAxMC43IDIuNDI1MDUgMTAuNCAyLjY3NTA1IDEwLjE1TDUuODI1MDUgNi45OTk5OUM2LjA1ODM4IDYuNzY2NjYgNi4zMzc1NSA2LjU5OTk5IDYuNjYyNTUgNi40OTk5OUM2Ljk4NzU1IDYuMzk5OTkgNy4zMTY3MiA2LjM4MzMyIDcuNjUwMDUgNi40NDk5OUwxMC4xMjUgNi45NDk5OUMxMS43MDg0IDUuMzY2NjYgMTMuMzcwOSA0LjIwODMyIDE1LjExMjUgMy40NzQ5OUMxNi44NTQyIDIuNzQxNjYgMTguNjQxNyAyLjQ0MTY2IDIwLjQ3NSAyLjU3NDk5QzIwLjYwODQgMi41OTE2NiAyMC43NDE3IDIuNjI5MTYgMjAuODc1IDIuNjg3NDlDMjEuMDA4NCAyLjc0NTgyIDIxLjEyNSAyLjgyNDk5IDIxLjIyNSAyLjkyNDk5QzIxLjMyNTEgMy4wMjQ5OSAyMS40MDQyIDMuMTQxNjYgMjEuNDYyNSAzLjI3NDk5QzIxLjUyMDkgMy40MDgzMiAyMS41NTg0IDMuNTQxNjYgMjEuNTc1IDMuNjc0OTlaTTMuOTI1MDUgMTUuOTc1QzQuNTA4MzggMTUuMzkxNyA1LjIyMDg4IDE1LjA5NTggNi4wNjI1NSAxNS4wODc1QzYuOTA0MjIgMTUuMDc5MiA3LjYxNjcyIDE1LjM2NjcgOC4yMDAwNSAxNS45NUM4Ljc4MzM4IDE2LjUzMzMgOS4wNzA4OCAxNy4yNDU4IDkuMDYyNTUgMTguMDg3NUM5LjA1NDIyIDE4LjkyOTIgOC43NTgzOCAxOS42NDE3IDguMTc1MDUgMjAuMjI1QzcuNzU4MzggMjAuNjQxNyA3LjA2MjU1IDIxIDYuMDg3NTUgMjEuM0M1LjExMjU1IDIxLjYgMy43NjY3MiAyMS44NjY3IDIuMDUwMDUgMjIuMUMyLjI4MzM4IDIwLjM4MzMgMi41NTAwNSAxOS4wMzc1IDIuODUwMDUgMTguMDYyNUMzLjE1MDA1IDE3LjA4NzUgMy41MDgzOCAxNi4zOTE3IDMuOTI1MDUgMTUuOTc1Wk01LjM1MDA1IDE3LjM3NUM1LjE4MzM4IDE3LjU0MTcgNS4wMTY3MiAxNy44NDU4IDQuODUwMDUgMTguMjg3NUM0LjY4MzM4IDE4LjcyOTIgNC41NjY3MiAxOS4xNzUgNC41MDAwNSAxOS42MjVDNC45NTAwNSAxOS41NTgzIDUuMzk1ODggMTkuNDQ1OCA1LjgzNzU1IDE5LjI4NzVDNi4yNzkyMiAxOS4xMjkyIDYuNTgzMzggMTguOTY2NyA2Ljc1MDA1IDE4LjhDNi45NTAwNSAxOC42IDcuMDU4MzggMTguMzU4MyA3LjA3NTA1IDE4LjA3NUM3LjA5MTcyIDE3Ljc5MTcgNy4wMDAwNSAxNy41NSA2LjgwMDA1IDE3LjM1QzYuNjAwMDUgMTcuMTUgNi4zNTgzOCAxNy4wNTQyIDYuMDc1MDUgMTcuMDYyNUM1Ljc5MTcyIDE3LjA3MDggNS41NTAwNSAxNy4xNzUgNS4zNTAwNSAxNy4zNzVaXCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCI+PHBhdGggZmlsbD1cIiNEMEQ1RERcIiBkPVwiTTE3Ljc0NSAyYTIuMjUgMi4yNSAwIDAgMSAyLjI1IDIuMjV2MTEuNTA1YTIuMjUgMi4yNSAwIDAgMS0yLjI1IDIuMjVIMi4yNUEyLjI1IDIuMjUgMCAwIDEgMCAxNS43NTVWNC4yNUEyLjI1IDIuMjUgMCAwIDEgMi4yNSAyaDE1LjQ5NVptMCAxLjVIMi4yNWEuNzUuNzUgMCAwIDAtLjc1Ljc1djExLjUwNWMwIC40MTQuMzM2Ljc1Ljc1Ljc1bDIuNzQ5LS4wMDFMNSAxMy43NWExLjc1IDEuNzUgMCAwIDEgMS42MDYtMS43NDRMNi43NSAxMmg2LjQ5NWExLjc1IDEuNzUgMCAwIDEgMS43NDQgMS42MDdsLjAwNi4xNDMtLjAwMSAyLjc1NGgyLjc1MWEuNzUuNzUgMCAwIDAgLjc1LS43NVY0LjI1YS43NS43NSAwIDAgMC0uNzUtLjc1Wm0tNC41IDEwSDYuNzVhLjI1LjI1IDAgMCAwLS4yNDMuMTkzbC0uMDA3LjA1Ny0uMDAxIDIuNzU0aDYuOTk1VjEzLjc1YS4yNS4yNSAwIDAgMC0uMTkyLS4yNDNsLS4wNTctLjAwN1pNMTAgNWEzIDMgMCAxIDEgMCA2IDMgMyAwIDAgMSAwLTZabTAgMS41YTEuNSAxLjUgMCAxIDAgMCAzIDEuNSAxLjUgMCAwIDAgMC0zWlwiLz48L3N2Zz4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiICB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgPHBhdGggZmlsbD1cIiMyQzMzMzZcIiBkPVwiTTIxLjc1IDBoLTE1QTIuMjUgMi4yNSAwIDAgMCA0LjUgMi4yNVY0LjVIMi4yNUEyLjI1IDIuMjUgMCAwIDAgMCA2Ljc1djE1QTIuMjUgMi4yNSAwIDAgMCAyLjI1IDI0aDE1YTIuMjUgMi4yNSAwIDAgMCAyLjI1LTIuMjVWMTkuNWgyLjI1QTIuMjUgMi4yNSAwIDAgMCAyNCAxNy4yNXYtMTVBMi4yNSAyLjI1IDAgMCAwIDIxLjc1IDBabS00LjUgMjEuNzVoLTE1VjEyaDE1djkuNzVabTQuNS00LjVIMTkuNVY2Ljc1YTIuMjUgMi4yNSAwIDAgMC0yLjI1LTIuMjVINi43NVYyLjI1aDE1djE1WlwiLz5cbjwvc3ZnPiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCIjQkJCXCIgY2xhc3M9XCJkZW1pby1pY29uXCIgc3R5bGU9XCJmb250LXNpemU6MjBweFwiIHZpZXdCb3g9XCIwIDAgMjAgMThcIj48cGF0aCBkPVwiTTE4LjMzMyAwSDEuNjY3Qy43NDcgMCAwIC43NTYgMCAxLjY4OHYxMS4yNWMwIC45MzEuNzQ3IDEuNjg3IDEuNjY3IDEuNjg3aDYuNjY2bC0uNTU1IDEuNjg4aC0yLjVhLjgzNy44MzcgMCAwIDAtLjgzNC44NDNjMCAuNDY4LjM3Mi44NDQuODM0Ljg0NGg5LjQ0NGEuODM3LjgzNyAwIDAgMCAuODM0LS44NDQuODM3LjgzNyAwIDAgMC0uODM0LS44NDNoLTIuNWwtLjU1NS0xLjY4OGg2LjY2NmMuOTIgMCAxLjY2Ny0uNzU2IDEuNjY3LTEuNjg4VjEuNjg4QzIwIC43NTYgMTkuMjUzIDAgMTguMzMzIDBabS0uNTU1IDEyLjM3NUgyLjIyMlYyLjI1aDE1LjU1NnYxMC4xMjVaXCIvPjwvc3ZnPiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+XG48cGF0aCBkPVwiTTIzLjgzNDggMjEuOTc4NkwxOC4xNDQ0IDE2LjI4ODNDMTguMDM2NiAxNi4xODA1IDE3Ljg5NiAxNi4xMjQyIDE3Ljc0NiAxNi4xMjQySDE3LjEyNzNDMTguNjAzOCAxNC40MTM0IDE5LjQ5OSAxMi4xODY5IDE5LjQ5OSA5Ljc0OTUyQzE5LjQ5OSA0LjM2Mzg1IDE1LjEzNTIgMCA5Ljc0OTUyIDBDNC4zNjM4NSAwIDAgNC4zNjM4NSAwIDkuNzQ5NTJDMCAxNS4xMzUyIDQuMzYzODUgMTkuNDk5IDkuNzQ5NTIgMTkuNDk5QzEyLjE4NjkgMTkuNDk5IDE0LjQxMzQgMTguNjAzOCAxNi4xMjQyIDE3LjEyNzNWMTcuNzQ2QzE2LjEyNDIgMTcuODk2IDE2LjE4NTEgMTguMDM2NiAxNi4yODgzIDE4LjE0NDRMMjEuOTc4NiAyMy44MzQ4QzIyLjE5ODkgMjQuMDU1MSAyMi41NTUxIDI0LjA1NTEgMjIuNzc1NCAyMy44MzQ4TDIzLjgzNDggMjIuNzc1NEMyNC4wNTUxIDIyLjU1NTEgMjQuMDU1MSAyMi4xOTg5IDIzLjgzNDggMjEuOTc4NlpNOS43NDk1MiAxNy4yNDkyQzUuNjA1OTggMTcuMjQ5MiAyLjI0OTg5IDEzLjg5MzEgMi4yNDk4OSA5Ljc0OTUyQzIuMjQ5ODkgNS42MDU5OCA1LjYwNTk4IDIuMjQ5ODkgOS43NDk1MiAyLjI0OTg5QzEzLjg5MzEgMi4yNDk4OSAxNy4yNDkyIDUuNjA1OTggMTcuMjQ5MiA5Ljc0OTUyQzE3LjI0OTIgMTMuODkzMSAxMy44OTMxIDE3LjI0OTIgOS43NDk1MiAxNy4yNDkyWlwiIGZpbGw9XCIjMkMzMzM2XCIgLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBkPVwiTTguODU3MTkgM0gxNS4xNDI4QzE2LjIyNjYgMi45OTk5OSAxNy4xMDA3IDIuOTk5OTggMTcuODA4NiAzLjA1NzgyQzE4LjUzNzUgMy4xMTczNyAxOS4xNzc3IDMuMjQzMTggMTkuNzcgMy41NDQ5N0MyMC43MTA4IDQuMDI0MzMgMjEuNDc1NyA0Ljc4OTI0IDIxLjk1NSA1LjczMDA1QzIyLjI1NjggNi4zMjIzNCAyMi4zODI2IDYuOTYyNTMgMjIuNDQyMiA3LjY5MTM4QzIyLjUgOC4zOTkyNSAyMi41IDkuMjczMzkgMjIuNSAxMC4zNTcyVjEzLjY0MjhDMjIuNSAxNC43MjY2IDIyLjUgMTUuNjAwOCAyMi40NDIyIDE2LjMwODZDMjIuMzgyNiAxNy4wMzc1IDIyLjI1NjggMTcuNjc3NyAyMS45NTUgMTguMjdDMjEuNDc1NyAxOS4yMTA4IDIwLjcxMDggMTkuOTc1NyAxOS43NyAyMC40NTVDMTkuMTc3NyAyMC43NTY4IDE4LjUzNzUgMjAuODgyNiAxNy44MDg2IDIwLjk0MjJDMTcuMTAwOCAyMSAxNi4yMjY2IDIxIDE1LjE0MjggMjFIOC44NTcxN0M3Ljc3MzM5IDIxIDYuODk5MjUgMjEgNi4xOTEzOCAyMC45NDIyQzUuNDYyNTMgMjAuODgyNiA0LjgyMjM0IDIwLjc1NjggNC4yMzAwNSAyMC40NTVDMy4yODkyNCAxOS45NzU3IDIuNTI0MzMgMTkuMjEwOCAyLjA0NDk3IDE4LjI3QzEuNzQzMTggMTcuNjc3NyAxLjYxNzM3IDE3LjAzNzUgMS41NTc4MiAxNi4zMDg2QzEuNDk5OTggMTUuNjAwNyAxLjQ5OTk5IDE0LjcyNjYgMS41IDEzLjY0MjhWMTAuMzU3MkMxLjQ5OTk5IDkuMjczNDEgMS40OTk5OCA4LjM5OTI2IDEuNTU3ODIgNy42OTEzOEMxLjYxNzM3IDYuOTYyNTMgMS43NDMxOCA2LjMyMjM0IDIuMDQ0OTcgNS43MzAwNUMyLjUyNDMzIDQuNzg5MjQgMy4yODkyNCA0LjAyNDMzIDQuMjMwMDUgMy41NDQ5N0M0LjgyMjM0IDMuMjQzMTggNS40NjI1MyAzLjExNzM3IDYuMTkxMzggMy4wNTc4MkM2Ljg5OTI2IDIuOTk5OTggNy43NzM0MSAyLjk5OTk5IDguODU3MTkgM1pNNi4zNTQyNCA1LjA1MTE4QzUuNzQ5MDcgNS4xMDA2MiA1LjQwMTM4IDUuMTkyNzkgNS4xMzgwMyA1LjMyNjk4QzQuNTczNTQgNS42MTQ2IDQuMTE0NiA2LjA3MzU0IDMuODI2OTggNi42MzgwM0MzLjY5Mjc5IDYuOTAxMzggMy42MDA2MiA3LjI0OTA3IDMuNTUxMTggNy44NTQyNEMzLjUwMDc4IDguNDcxMDggMy41IDkuMjYzMzkgMy41IDEwLjRWMTMuNkMzLjUgMTQuNzM2NiAzLjUwMDc4IDE1LjUyODkgMy41NTExOCAxNi4xNDU4QzMuNjAwNjIgMTYuNzUwOSAzLjY5Mjc5IDE3LjA5ODYgMy44MjY5OCAxNy4zNjJDNC4xMTQ2IDE3LjkyNjUgNC41NzM1NCAxOC4zODU0IDUuMTM4MDMgMTguNjczQzUuNDAxMzggMTguODA3MiA1Ljc0OTA3IDE4Ljg5OTQgNi4zNTQyNCAxOC45NDg4QzYuOTcxMDggMTguOTk5MiA3Ljc2MzM5IDE5IDguOSAxOUg5LjVWNUg4LjlDNy43NjMzOSA1IDYuOTcxMDggNS4wMDA3OCA2LjM1NDI0IDUuMDUxMThaTTExLjUgNVYxOUgxNS4xQzE2LjIzNjYgMTkgMTcuMDI4OSAxOC45OTkyIDE3LjY0NTggMTguOTQ4OEMxOC4yNTA5IDE4Ljg5OTQgMTguNTk4NiAxOC44MDcyIDE4Ljg2MiAxOC42NzNDMTkuNDI2NSAxOC4zODU0IDE5Ljg4NTQgMTcuOTI2NSAyMC4xNzMgMTcuMzYyQzIwLjMwNzIgMTcuMDk4NiAyMC4zOTk0IDE2Ljc1MDkgMjAuNDQ4OCAxNi4xNDU4QzIwLjQ5OTIgMTUuNTI4OSAyMC41IDE0LjczNjYgMjAuNSAxMy42VjEwLjRDMjAuNSA5LjI2MzM5IDIwLjQ5OTIgOC40NzEwOCAyMC40NDg4IDcuODU0MjRDMjAuMzk5NCA3LjI0OTA3IDIwLjMwNzIgNi45MDEzOCAyMC4xNzMgNi42MzgwM0MxOS44ODU0IDYuMDczNTQgMTkuNDI2NSA1LjYxNDYgMTguODYyIDUuMzI2OThDMTguNTk4NiA1LjE5Mjc5IDE4LjI1MDkgNS4xMDA2MiAxNy42NDU4IDUuMDUxMThDMTcuMDI4OSA1LjAwMDc4IDE2LjIzNjYgNSAxNS4xIDVIMTEuNVpNNSA4LjVDNSA3Ljk0NzcyIDUuNDQ3NzIgNy41IDYgNy41SDdDNy41NTIyOSA3LjUgOCA3Ljk0NzcyIDggOC41QzggOS4wNTIyOSA3LjU1MjI5IDkuNSA3IDkuNUg2QzUuNDQ3NzIgOS41IDUgOS4wNTIyOSA1IDguNVpNNSAxMkM1IDExLjQ0NzcgNS40NDc3MiAxMSA2IDExSDdDNy41NTIyOSAxMSA4IDExLjQ0NzcgOCAxMkM4IDEyLjU1MjMgNy41NTIyOSAxMyA3IDEzSDZDNS40NDc3MiAxMyA1IDEyLjU1MjMgNSAxMlpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggaWQ9XCJwYXRoXCIgZD1cIk0xMCAwLjMxMjVDNC42NDg0NCAwLjMxMjUgMC4zMTI1IDQuNjQ4NDQgMC4zMTI1IDEwQzAuMzEyNSAxNS4zNTE2IDQuNjQ4NDQgMTkuNjg3NSAxMCAxOS42ODc1QzE1LjM1MTYgMTkuNjg3NSAxOS42ODc1IDE1LjM1MTYgMTkuNjg3NSAxMEMxOS42ODc1IDQuNjQ4NDQgMTUuMzUxNiAwLjMxMjUgMTAgMC4zMTI1Wk0xMCAxNy44MTI1QzUuNjkxNDEgMTcuODEyNSAyLjE4NzUgMTQuMzA4NiAyLjE4NzUgMTBDMi4xODc1IDUuNjkxNDEgNS42OTE0MSAyLjE4NzUgMTAgMi4xODc1QzE0LjMwODYgMi4xODc1IDE3LjgxMjUgNS42OTE0MSAxNy44MTI1IDEwQzE3LjgxMjUgMTQuMzA4NiAxNC4zMDg2IDE3LjgxMjUgMTAgMTcuODEyNVpNNi44NzUgOS4zNzVDNy41NjY0MSA5LjM3NSA4LjEyNSA4LjgxNjQxIDguMTI1IDguMTI1QzguMTI1IDcuNDMzNTkgNy41NjY0MSA2Ljg3NSA2Ljg3NSA2Ljg3NUM2LjE4MzU5IDYuODc1IDUuNjI1IDcuNDMzNTkgNS42MjUgOC4xMjVDNS42MjUgOC44MTY0MSA2LjE4MzU5IDkuMzc1IDYuODc1IDkuMzc1Wk0xMy4xMjUgOS4zNzVDMTMuODE2NCA5LjM3NSAxNC4zNzUgOC44MTY0MSAxNC4zNzUgOC4xMjVDMTQuMzc1IDcuNDMzNTkgMTMuODE2NCA2Ljg3NSAxMy4xMjUgNi44NzVDMTIuNDMzNiA2Ljg3NSAxMS44NzUgNy40MzM1OSAxMS44NzUgOC4xMjVDMTEuODc1IDguODE2NDEgMTIuNDMzNiA5LjM3NSAxMy4xMjUgOS4zNzVaTTEzLjI4MTIgMTIuMjEwOUMxMi40Njg4IDEzLjE4NzUgMTEuMjY5NSAxMy43NSAxMCAxMy43NUM4LjczMDQ3IDEzLjc1IDcuNTMxMjUgMTMuMTkxNCA2LjcxODc1IDEyLjIxMDlDNi4zODY3MiAxMS44MTI1IDUuNzkyOTcgMTEuNzYxNyA1LjM5ODQ0IDEyLjA4OThDNSAxMi40MjE5IDQuOTQ5MjIgMTMuMDExNyA1LjI3NzM0IDEzLjQxMDJDNi40NDkyMiAxNC44MTY0IDguMTcxODggMTUuNjIxMSAxMCAxNS42MjExQzExLjgyODEgMTUuNjIxMSAxMy41NTA4IDE0LjgxNjQgMTQuNzIyNyAxMy40MTAyQzE1LjA1NDcgMTMuMDExNyAxNSAxMi40MjE5IDE0LjYwMTYgMTIuMDg5OEMxNC4yMDcgMTEuNzYxNyAxMy42MTMzIDExLjgxMjUgMTMuMjgxMiAxMi4yMTA5WlwiIGZpbGw9XCIjOUZBNkFEXCIvPjwvc3ZnPlxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiAgdmlld0JveD1cIjAgMCAxNyAxNlwiPlxuICAgIDxwYXRoIGZpbGw9XCIjNUQ2NzZCXCIgZD1cIk0yLjAwNCAwQTEuODc3IDEuODc3IDAgMCAwIC45LjMxNGwtLjAyLjAySC44NThjLS44MzUuNjUtMS4xNSAxLjg1OC0uNTQyIDIuNzd2LjAyMmwuODEyIDEuMTI1LjM3NS41NDEuNTQyLS4zNzUgMi4yMDgtMS41NDEuNTQyLS4zNzUtLjM3NS0uNTQyTDMuNjkuODk3IDMuNjcuODc2Vi44NTVBMi4yNjYgMi4yNjYgMCAwIDAgMi4zNzkuMDQyYTIuMDA4IDIuMDA4IDAgMCAwLS4zNzUtLjA0MVptMy43MyAzLjM5Ni0xLjEyNi43M0wyLjk0MiA1LjI3IDEuNzk2IDZsMi4yMyA3Ljc5Yy4wNDcuNDU4LjMzMy44MTcuNjY2IDEuMDYzLjM2My4yNjkuODA0LjQ2IDEuMzMzLjYyNSAxLjA1Ny4zMyAyLjQ1LjUyMSAzLjk3OS41MjFzMi45MjItLjE5IDMuOTc5LS41MmMuNTI4LS4xNjYuOTctLjM1NyAxLjMzMy0uNjI2LjM2My0uMjY4LjY4OC0uNjY5LjY4OC0xLjE4NyAwLS41MTktLjMyNS0uOTItLjY4OC0xLjE4OGEyLjg1NSAyLjg1NSAwIDAgMC0uMjkyLS4xODdsLTkuMjktOC44OTZabTQuMjcgOS4yN2MxLjQxNiAwIDIuNjkuMTg2IDMuNTYyLjQ2LjQzNy4xMzYuNzgyLjMwNi45NTkuNDM3YS44NTIuODUyIDAgMCAxIC4xMjQuMTA0Ljg2MS44NjEgMCAwIDEtLjEyNC4xMDRjLS4xNzcuMTMtLjUyMi4zMDEtLjk1OS40MzctLjg3My4yNzMtMi4xNDYuNDU5LTMuNTYyLjQ1OXMtMi42OS0uMTg2LTMuNTYyLS40NTljLS40MzctLjEzNi0uNzgyLS4zMDctLjk1OS0uNDM3YS44Ni44NiAwIDAgMS0uMTI1LS4xMDQuODUyLjg1MiAwIDAgMSAuMTI1LS4xMDRjLjE3Ny0uMTMuNTIyLS4zMDIuOTU5LS40MzguODczLS4yNzMgMi4xNDYtLjQ1OCAzLjU2Mi0uNDU4WlwiLz5cbjwvc3ZnPiIsIjxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPGcgaWQ9XCJzdGFja2VkX2VtYWlsXCI+XG48bWFzayBpZD1cIm1hc2swXzRfMTg1MFwiIHN0eWxlPVwibWFzay10eXBlOmFscGhhXCIgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+XG48cmVjdCBpZD1cIkJvdW5kaW5nIGJveFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRDlEOUQ5XCIvPlxuPC9tYXNrPlxuPGcgbWFzaz1cInVybCgjbWFzazBfNF8xODUwKVwiPlxuPHBhdGggaWQ9XCJzdGFja2VkX2VtYWlsXzJcIiBkPVwiTTcgMTdDNi40NSAxNyA1Ljk3OTE3IDE2LjgwNDIgNS41ODc1IDE2LjQxMjVDNS4xOTU4MyAxNi4wMjA4IDUgMTUuNTUgNSAxNVY1QzUgNC40NSA1LjE5NTgzIDMuOTc5MTcgNS41ODc1IDMuNTg3NUM1Ljk3OTE3IDMuMTk1ODMgNi40NSAzIDcgM0gyMUMyMS41NSAzIDIyLjAyMDggMy4xOTU4MyAyMi40MTI1IDMuNTg3NUMyMi44MDQyIDMuOTc5MTcgMjMgNC40NSAyMyA1VjE1QzIzIDE1LjU1IDIyLjgwNDIgMTYuMDIwOCAyMi40MTI1IDE2LjQxMjVDMjIuMDIwOCAxNi44MDQyIDIxLjU1IDE3IDIxIDE3SDdaTTEzLjQyNSAxMS45TDcgNy40MjVWMTVIMjFWNy40MjVMMTQuNTc1IDExLjlDMTQuMzkxNyAxMi4wMzMzIDE0LjIgMTIuMSAxNCAxMi4xQzEzLjggMTIuMSAxMy42MDgzIDEyLjAzMzMgMTMuNDI1IDExLjlaTTE0IDkuODVMMjEgNUg3TDE0IDkuODVaTTMgMjFDMi40NSAyMSAxLjk3OTE3IDIwLjgwNDIgMS41ODc1IDIwLjQxMjVDMS4xOTU4MyAyMC4wMjA4IDEgMTkuNTUgMSAxOVY3LjVDMSA3LjIxNjY3IDEuMDk1ODMgNi45NzkxNyAxLjI4NzUgNi43ODc1QzEuNDc5MTcgNi41OTU4MyAxLjcxNjY3IDYuNSAyIDYuNUMyLjI4MzMzIDYuNSAyLjUyMDgzIDYuNTk1ODMgMi43MTI1IDYuNzg3NUMyLjkwNDE3IDYuOTc5MTcgMyA3LjIxNjY3IDMgNy41VjE5SDE4LjVDMTguNzgzMyAxOSAxOS4wMjA4IDE5LjA5NTggMTkuMjEyNSAxOS4yODc1QzE5LjQwNDIgMTkuNDc5MiAxOS41IDE5LjcxNjcgMTkuNSAyMEMxOS41IDIwLjI4MzMgMTkuNDA0MiAyMC41MjA4IDE5LjIxMjUgMjAuNzEyNUMxOS4wMjA4IDIwLjkwNDIgMTguNzgzMyAyMSAxOC41IDIxSDNaXCIgZmlsbD1cIiMwMkJGNkZcIi8+XG48L2c+XG48L2c+XG48L3N2Zz5cbiIsIjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGZpbGw9XCIjOThBMkIzXCIgZD1cIk0xOC4yNDUgMTAuOTk3Yy43MDkgMCAxLjAyMi44OTIuNDY5IDEuMzM1bC00LjcxOCAzLjc3OHYxLjY0NGEyLjI1IDIuMjUgMCAwIDEtMi4yNSAyLjI1SDguMjVBMi4yNSAyLjI1IDAgMCAxIDYgMTcuNzU0VjE2LjExbC00LjcyLTMuNzc4Yy0uNTUzLS40NDMtLjI0LTEuMzM1LjQ3LTEuMzM1aDE2LjQ5NVptLTIuMTM3IDEuNUgzLjg4N2wzLjMzMiAyLjY2N2EuNzUuNzUgMCAwIDEgLjI4MS41ODV2Mi4wMDVjMCAuNDE0LjMzNi43NS43NS43NWgzLjQ5NmEuNzUuNzUgMCAwIDAgLjc1LS43NVYxNS43NWEuNzUuNzUgMCAwIDEgLjI4MS0uNTg1bDMuMzMxLTIuNjY3Wk02Ljc1IDdoNi40OTVhMS43NSAxLjc1IDAgMCAxIDEuNzQ0IDEuNjA2bC4wMDYuMTQ0VjEwaC0xLjVWOC43NWEuMjUuMjUgMCAwIDAtLjE5Mi0uMjQ0bC0uMDU4LS4wMDZINi43NWEuMjUuMjUgMCAwIDAtLjI0My4xOTJMNi41IDguNzVWMTBINVY4Ljc1YTEuNzUgMS43NSAwIDAgMSAxLjYwNy0xLjc0NUw2Ljc1IDdoNi40OTVINi43NVpNMTAgMGEzIDMgMCAxIDEgMCA2IDMgMyAwIDAgMSAwLTZabTAgMS41YTEuNSAxLjUgMCAxIDAgMCAzIDEuNSAxLjUgMCAwIDAgMC0zWlwiLz48L3N2Zz4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxwYXRoIGQ9XCJNMjMuNDM3NSAwLjM3NUgyMi4xMzg1QzIxLjgyMjcgMC4zNzUgMjEuNTY4NyAwLjYzNTA2MiAyMS41NzYyIDAuOTUwOTA2TDIxLjY4NjIgNS41NzE2MUMxOS42MDM3IDIuNDM5NTIgMTYuMDQzMiAwLjM3NSAxMiAwLjM3NUM2LjMxOTM2IDAuMzc1IDEuNTkwNjEgNC40NDk1NiAwLjU3NjM3NSA5LjgzNTVDMC41MTEzMTIgMTAuMTgwOSAwLjc3ODMxMyAxMC41IDEuMTI5ODMgMTAuNUgyLjQ2OTMzQzIuNzM1MyAxMC41IDIuOTYzNDggMTAuMzEzMyAzLjAxOTUgMTAuMDUzM0MzLjkxMTMgNS45MTIyNSA3LjU4OTg2IDIuODEyNSAxMiAyLjgxMjVDMTUuNzI4NyAyLjgxMjUgMTguOTM0OCA1LjAyODg0IDIwLjM3NTQgOC4yMTcyOEwxNC40NTA5IDguMDc2MjNDMTQuMTM1MSA4LjA2ODczIDEzLjg3NSA4LjMyMjY2IDEzLjg3NSA4LjYzODU5VjkuOTM3NUMxMy44NzUgMTAuMjQ4MSAxNC4xMjY5IDEwLjUgMTQuNDM3NSAxMC41SDIzLjQzNzVDMjMuNzQ4MSAxMC41IDI0IDEwLjI0ODEgMjQgOS45Mzc1VjAuOTM3NUMyNCAwLjYyNjg1OSAyMy43NDgxIDAuMzc1IDIzLjQzNzUgMC4zNzVaTTIyLjg3MDIgMTMuNUgyMS41MzA3QzIxLjI2NDcgMTMuNSAyMS4wMzY1IDEzLjY4NjcgMjAuOTgwNSAxMy45NDY3QzIwLjA4ODcgMTguMDg3NyAxNi40MTAxIDIxLjE4NzUgMTIgMjEuMTg3NUM4LjI3MTI4IDIxLjE4NzUgNS4wNjUyMiAxOC45NzEyIDMuNjI0NTYgMTUuNzgyN0w5LjU0OTA5IDE1LjkyMzhDOS44NjQ4OSAxNS45MzEzIDEwLjEyNSAxNS42NzczIDEwLjEyNSAxNS4zNjE0VjE0LjA2MjVDMTAuMTI1IDEzLjc1MTkgOS44NzMxNCAxMy41IDkuNTYyNSAxMy41SDAuNTYyNUMwLjI1MTg1OSAxMy41IDAgMTMuNzUxOSAwIDE0LjA2MjVWMjMuMDYyNUMwIDIzLjM3MzEgMC4yNTE4NTkgMjMuNjI1IDAuNTYyNSAyMy42MjVIMS44NjE0NUMyLjE3NzM0IDIzLjYyNSAyLjQzMTMxIDIzLjM2NDkgMi40MjM4MSAyMy4wNDkxTDIuMzEzOCAxOC40Mjg0QzQuMzk2MzEgMjEuNTYwNSA3Ljk1Njc1IDIzLjYyNSAxMiAyMy42MjVDMTcuNjgwNiAyMy42MjUgMjIuNDA5NCAxOS41NTA0IDIzLjQyMzYgMTQuMTY0NUMyMy40ODg3IDEzLjgxOTEgMjMuMjIxNyAxMy41IDIyLjg3MDIgMTMuNVpcIiBmaWxsPVwiIzJDMzMzNlwiLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBkPVwiTTEyLjMxMjUgMC4zNzVDNS44OTA2MiAwLjM3NSAwLjY4NzUgNS41NzgxMiAwLjY4NzUgMTJDMC42ODc1IDE4LjQyMTkgNS44OTA2MiAyMy42MjUgMTIuMzEyNSAyMy42MjVDMTguNzM0NCAyMy42MjUgMjMuOTM3NSAxOC40MjE5IDIzLjkzNzUgMTJDMjMuOTM3NSA1LjU3ODEyIDE4LjczNDQgMC4zNzUgMTIuMzEyNSAwLjM3NVpNMTguMDEyNSAxNS4wNTE2QzE4LjIzMjggMTUuMjcxOSAxOC4yMzI4IDE1LjYyODEgMTguMDEyNSAxNS44NDg0TDE2LjE1NjIgMTcuN0MxNS45MzU5IDE3LjkyMDMgMTUuNTc5NyAxNy45MjAzIDE1LjM1OTQgMTcuN0wxMi4zMTI1IDE0LjYyNUw5LjI2MDk0IDE3LjdDOS4wNDA2MiAxNy45MjAzIDguNjg0MzcgMTcuOTIwMyA4LjQ2NDA2IDE3LjdMNi42MTI1IDE1Ljg0MzhDNi4zOTIxOSAxNS42MjM0IDYuMzkyMTkgMTUuMjY3MiA2LjYxMjUgMTUuMDQ2OUw5LjY4NzUgMTJMNi42MTI1IDguOTQ4NDRDNi4zOTIxOSA4LjcyODEyIDYuMzkyMTkgOC4zNzE4NyA2LjYxMjUgOC4xNTE1Nkw4LjQ2ODc1IDYuMjk1MzFDOC42ODkwNiA2LjA3NSA5LjA0NTMxIDYuMDc1IDkuMjY1NjIgNi4yOTUzMUwxMi4zMTI1IDkuMzc1TDE1LjM2NDEgNi4zQzE1LjU4NDQgNi4wNzk2OSAxNS45NDA2IDYuMDc5NjkgMTYuMTYwOSA2LjNMMTguMDE3MiA4LjE1NjI1QzE4LjIzNzUgOC4zNzY1NiAxOC4yMzc1IDguNzMyODEgMTguMDE3MiA4Ljk1MzEyTDE0LjkzNzUgMTJMMTguMDEyNSAxNS4wNTE2WlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9zdmc+XG4iLCI8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxnIGlkPVwidG9kYXlcIj5cbjxtYXNrIGlkPVwibWFzazBfNF8xOTY2XCIgc3R5bGU9XCJtYXNrLXR5cGU6YWxwaGFcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbjxyZWN0IGlkPVwiQm91bmRpbmcgYm94XCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEOUQ5RDlcIi8+XG48L21hc2s+XG48ZyBtYXNrPVwidXJsKCNtYXNrMF80XzE5NjYpXCI+XG48cGF0aCBpZD1cInRvZGF5XzJcIiBkPVwiTTkgMTYuNUM4LjMgMTYuNSA3LjcwODMzIDE2LjI1ODMgNy4yMjUgMTUuNzc1QzYuNzQxNjcgMTUuMjkxNyA2LjUgMTQuNyA2LjUgMTRDNi41IDEzLjMgNi43NDE2NyAxMi43MDgzIDcuMjI1IDEyLjIyNUM3LjcwODMzIDExLjc0MTcgOC4zIDExLjUgOSAxMS41QzkuNyAxMS41IDEwLjI5MTcgMTEuNzQxNyAxMC43NzUgMTIuMjI1QzExLjI1ODMgMTIuNzA4MyAxMS41IDEzLjMgMTEuNSAxNEMxMS41IDE0LjcgMTEuMjU4MyAxNS4yOTE3IDEwLjc3NSAxNS43NzVDMTAuMjkxNyAxNi4yNTgzIDkuNyAxNi41IDkgMTYuNVpNNSAyMkM0LjQ1IDIyIDMuOTc5MTcgMjEuODA0MiAzLjU4NzUgMjEuNDEyNUMzLjE5NTgzIDIxLjAyMDggMyAyMC41NSAzIDIwVjZDMyA1LjQ1IDMuMTk1ODMgNC45NzkxNyAzLjU4NzUgNC41ODc1QzMuOTc5MTcgNC4xOTU4MyA0LjQ1IDQgNSA0SDZWM0M2IDIuNzE2NjcgNi4wOTU4MyAyLjQ3OTE3IDYuMjg3NSAyLjI4NzVDNi40NzkxNyAyLjA5NTgzIDYuNzE2NjcgMiA3IDJDNy4yODMzMyAyIDcuNTIwODMgMi4wOTU4MyA3LjcxMjUgMi4yODc1QzcuOTA0MTcgMi40NzkxNyA4IDIuNzE2NjcgOCAzVjRIMTZWM0MxNiAyLjcxNjY3IDE2LjA5NTggMi40NzkxNyAxNi4yODc1IDIuMjg3NUMxNi40NzkyIDIuMDk1ODMgMTYuNzE2NyAyIDE3IDJDMTcuMjgzMyAyIDE3LjUyMDggMi4wOTU4MyAxNy43MTI1IDIuMjg3NUMxNy45MDQyIDIuNDc5MTcgMTggMi43MTY2NyAxOCAzVjRIMTlDMTkuNTUgNCAyMC4wMjA4IDQuMTk1ODMgMjAuNDEyNSA0LjU4NzVDMjAuODA0MiA0Ljk3OTE3IDIxIDUuNDUgMjEgNlYyMEMyMSAyMC41NSAyMC44MDQyIDIxLjAyMDggMjAuNDEyNSAyMS40MTI1QzIwLjAyMDggMjEuODA0MiAxOS41NSAyMiAxOSAyMkg1Wk01IDIwSDE5VjEwSDVWMjBaTTUgOEgxOVY2SDVWOFpcIiBmaWxsPVwiIzAyQkY2RlwiLz5cbjwvZz5cbjwvZz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG48cGF0aCBkPVwiTTIxLjc1IDMuNzVIMTcuODg3NUwxNi4yOTM4IDEuMDkyMTlDMTYuMDkzNyAwLjc1ODc3OCAxNS44MTA2IDAuNDgyOTE0IDE1LjQ3MjEgMC4yOTE0OTlDMTUuMTMzNiAwLjEwMDA4NSAxNC43NTEzIC0wLjAwMDM0NjIzMiAxNC4zNjI1IDguOTY4MTNlLTA3SDkuNjM3NUM5LjI0ODY2IC0wLjAwMDM0NjIzMiA4Ljg2NjM2IDAuMTAwMDg1IDguNTI3ODkgMC4yOTE0OTlDOC4xODk0MyAwLjQ4MjkxNCA3LjkwNjM0IDAuNzU4Nzc4IDcuNzA2MjUgMS4wOTIxOUw2LjExMjUgMy43NUgyLjI1QzIuMDUxMDkgMy43NSAxLjg2MDMyIDMuODI5MDIgMS43MTk2NyAzLjk2OTY3QzEuNTc5MDIgNC4xMTAzMiAxLjUgNC4zMDEwOSAxLjUgNC41TDEuNSA1LjI1QzEuNSA1LjQ0ODkyIDEuNTc5MDIgNS42Mzk2OCAxLjcxOTY3IDUuNzgwMzNDMS44NjAzMiA1LjkyMDk5IDIuMDUxMDkgNiAyLjI1IDZIM0wzLjk5Mzc1IDIxLjg5MDZDNC4wMjk1MiAyMi40NjE5IDQuMjgxNjQgMjIuOTk4IDQuNjk4NzggMjMuMzg5OUM1LjExNTkxIDIzLjc4MTggNS42NjY3MiAyMy45OTk5IDYuMjM5MDYgMjRIMTcuNzYwOUMxOC4zMzMzIDIzLjk5OTkgMTguODg0MSAyMy43ODE4IDE5LjMwMTIgMjMuMzg5OUMxOS43MTg0IDIyLjk5OCAxOS45NzA1IDIyLjQ2MTkgMjAuMDA2MiAyMS44OTA2TDIxIDZIMjEuNzVDMjEuOTQ4OSA2IDIyLjEzOTcgNS45MjA5OSAyMi4yODAzIDUuNzgwMzNDMjIuNDIxIDUuNjM5NjggMjIuNSA1LjQ0ODkyIDIyLjUgNS4yNVY0LjVDMjIuNSA0LjMwMTA5IDIyLjQyMSA0LjExMDMyIDIyLjI4MDMgMy45Njk2N0MyMi4xMzk3IDMuODI5MDIgMjEuOTQ4OSAzLjc1IDIxLjc1IDMuNzVaTTkuNjM3NSAyLjI1SDE0LjM2MjVMMTUuMjYyNSAzLjc1SDguNzM3NUw5LjYzNzUgMi4yNVpNMTcuNzYwOSAyMS43NUg2LjIzOTUzTDUuMjU1MTYgNkgxOC43NDU4TDE3Ljc2MDkgMjEuNzVaXCIgZmlsbD1cIiMyQzMzMzZcIi8+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0xOC42IDE2TDEzLjQgMTAuODVMMTAuODI1IDEzLjQyNUMxMC40NDE3IDEzLjgwODMgOS45NjY2NSAxNCA5LjM5OTk5IDE0QzguODMzMzIgMTQgOC4zNTgzMiAxMy44MDgzIDcuOTc0OTkgMTMuNDI1TDIuNjk5OTkgOC4wOTk5OUMyLjUxNjY1IDcuOTE2NjUgMi40MjA4MiA3LjY4NzQ5IDIuNDEyNDkgNy40MTI0OUMyLjQwNDE1IDcuMTM3NDkgMi40OTk5OSA2Ljg5OTk5IDIuNjk5OTkgNi42OTk5OUMyLjg4MzMyIDYuNTE2NjUgMy4xMTY2NSA2LjQyNDk5IDMuMzk5OTkgNi40MjQ5OUMzLjY4MzMyIDYuNDI0OTkgMy45MTY2NSA2LjUxNjY1IDQuMDk5OTkgNi42OTk5OUw5LjM5OTk5IDEyTDExLjk3NSA5LjQyNDk5QzEyLjM1ODMgOS4wNDE2NSAxMi44MzMzIDguODQ5OTkgMTMuNCA4Ljg0OTk5QzEzLjk2NjcgOC44NDk5OSAxNC40NDE3IDkuMDQxNjUgMTQuODI1IDkuNDI0OTlMMjAgMTQuNlYxM0MyMCAxMi43MTY3IDIwLjA5NTggMTIuNDc5MiAyMC4yODc1IDEyLjI4NzVDMjAuNDc5MiAxMi4wOTU4IDIwLjcxNjcgMTIgMjEgMTJDMjEuMjgzMyAxMiAyMS41MjA4IDEyLjA5NTggMjEuNzEyNSAxMi4yODc1QzIxLjkwNDIgMTIuNDc5MiAyMiAxMi43MTY3IDIyIDEzVjE3QzIyIDE3LjI4MzMgMjEuOTA0MiAxNy41MjA4IDIxLjcxMjUgMTcuNzEyNUMyMS41MjA4IDE3LjkwNDIgMjEuMjgzMyAxOCAyMSAxOEgxN0MxNi43MTY3IDE4IDE2LjQ3OTIgMTcuOTA0MiAxNi4yODc1IDE3LjcxMjVDMTYuMDk1OCAxNy41MjA4IDE2IDE3LjI4MzMgMTYgMTdDMTYgMTYuNzE2NyAxNi4wOTU4IDE2LjQ3OTIgMTYuMjg3NSAxNi4yODc1QzE2LjQ3OTIgMTYuMDk1OCAxNi43MTY3IDE2IDE3IDE2SDE4LjZaXCIgZmlsbD1cIiMxQzFCMUZcIi8+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0yLjY5OTk5IDE3LjYyNUMyLjQ5OTk5IDE3LjQyNSAyLjQwNDE1IDE3LjE4NzUgMi40MTI0OSAxNi45MTI1QzIuNDIwODIgMTYuNjM3NSAyLjUxNjY1IDE2LjQwODMgMi42OTk5OSAxNi4yMjVMNy45NzQ5OSAxMC44NzVDOC4zNTgzMiAxMC40OTE3IDguODMzMzIgMTAuMyA5LjM5OTk5IDEwLjNDOS45NjY2NSAxMC4zIDEwLjQ0MTcgMTAuNDkxNyAxMC44MjUgMTAuODc1TDEzLjQgMTMuNDc1TDE4LjYgOC4zMjUwMUgxN0MxNi43MTY3IDguMzI1MDEgMTYuNDc5MiA4LjIyOTE4IDE2LjI4NzUgOC4wMzc1MUMxNi4wOTU4IDcuODQ1ODUgMTYgNy42MDgzNSAxNiA3LjMyNTAxQzE2IDcuMDQxNjggMTYuMDk1OCA2LjgwNDE4IDE2LjI4NzUgNi42MTI1MUMxNi40NzkyIDYuNDIwODUgMTYuNzE2NyA2LjMyNTAxIDE3IDYuMzI1MDFIMjFDMjEuMjgzMyA2LjMyNTAxIDIxLjUyMDggNi40MjA4NSAyMS43MTI1IDYuNjEyNTFDMjEuOTA0MiA2LjgwNDE4IDIyIDcuMDQxNjggMjIgNy4zMjUwMVYxMS4zMjVDMjIgMTEuNjA4MyAyMS45MDQyIDExLjg0NTggMjEuNzEyNSAxMi4wMzc1QzIxLjUyMDggMTIuMjI5MiAyMS4yODMzIDEyLjMyNSAyMSAxMi4zMjVDMjAuNzE2NyAxMi4zMjUgMjAuNDc5MiAxMi4yMjkyIDIwLjI4NzUgMTIuMDM3NUMyMC4wOTU4IDExLjg0NTggMjAgMTEuNjA4MyAyMCAxMS4zMjVWOS43MjUwMUwxNC44MjUgMTQuOUMxNC40NDE3IDE1LjI4MzMgMTMuOTY2NyAxNS40NzUgMTMuNCAxNS40NzVDMTIuODMzMyAxNS40NzUgMTIuMzU4MyAxNS4yODMzIDExLjk3NSAxNC45TDkuMzk5OTkgMTIuMzI1TDQuMDk5OTkgMTcuNjI1QzMuOTE2NjUgMTcuODA4MyAzLjY4MzMyIDE3LjkgMy4zOTk5OSAxNy45QzMuMTE2NjUgMTcuOSAyLjg4MzMyIDE3LjgwODMgMi42OTk5OSAxNy42MjVaXCIgZmlsbD1cIiMxQzFCMUZcIi8+XG48L3N2Zz5cbiIsIjxzdmcgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPHBhdGggZD1cIk0wLjc1IDAuMzc1MDExSDIuMDQ4OTVDMi4zNjQ4NCAwLjM3NTAxMSAyLjYxODgxIDAuNjM1MDc0IDIuNjExMzEgMC45NTA5MThMMi41MDEzIDUuNTcxMjlDNC41OTAyMyAyLjQyOTczIDguMTY2MTkgMC4zNjIzNTUgMTIuMjI0NyAwLjM3NTA1OEMxOC42MTc4IDAuMzk1MDc0IDIzLjgyMjUgNS42MjU0MyAyMy44MTI1IDEyLjAxODZDMjMuODAyNSAxOC40MzA0IDE4LjYwMTYgMjMuNjI1IDEyLjE4NzUgMjMuNjI1QzkuMTkwOTcgMjMuNjI1IDYuNDU5MjggMjIuNDkxMiA0LjM5NzkxIDIwLjYyOTNDNC4xNTgyMyAyMC40MTI5IDQuMTQ2OTQgMjAuMDQwNSA0LjM3NTMxIDE5LjgxMjJMNS4zMDA1MyAxOC44ODY5QzUuNTExMzggMTguNjc2MSA1Ljg1MTQ1IDE4LjY2MjYgNi4wNzQwMiAxOC44NjExQzcuNjk3NDggMjAuMzA4NCA5LjgzODgzIDIxLjE4NzUgMTIuMTg3NSAyMS4xODc1QzE3LjI2NTEgMjEuMTg3NSAyMS4zNzUgMTcuMDc4NCAyMS4zNzUgMTJDMjEuMzc1IDYuOTIyNDIgMTcuMjY1OCAyLjgxMjUxIDEyLjE4NzUgMi44MTI1MUM4LjQ1ODgzIDIuODEyNTEgNS4yNTI3NyA1LjAyODg2IDMuODEyMTEgOC4yMTcyOUw5LjczNjYgOC4wNzYyNUMxMC4wNTI0IDguMDY4NzUgMTAuMzEyNSA4LjMyMjY3IDEwLjMxMjUgOC42Mzg2MVY5LjkzNzUxQzEwLjMxMjUgMTAuMjQ4MiAxMC4wNjA2IDEwLjUgOS43NSAxMC41SDAuNzVDMC40MzkzNTkgMTAuNSAwLjE4NzUgMTAuMjQ4MiAwLjE4NzUgOS45Mzc1MVYwLjkzNzUxMUMwLjE4NzUgMC42MjY4NzEgMC40MzkzNTkgMC4zNzUwMTEgMC43NSAwLjM3NTAxMVpcIiBmaWxsPVwiIzJDMzMzNlwiLz5cbjwvc3ZnPlxuIiwiPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIj5cbjxtYXNrIGlkPVwibWFzazBfNl8zMDM0XCIgc3R5bGU9XCJtYXNrLXR5cGU6YWxwaGFcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbjxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRDlEOUQ5XCIvPlxuPC9tYXNrPlxuPGcgbWFzaz1cInVybCgjbWFzazBfNl8zMDM0KVwiPlxuPHBhdGggZD1cIk00LjU0NzkxIDE5LjVDNC4wNDI3OCAxOS41IDMuNjE1MjEgMTkuMzI1IDMuMjY1MjEgMTguOTc1QzIuOTE1MjMgMTguNjI1IDIuNzQwMjMgMTguMTk3NCAyLjc0MDIzIDE3LjY5MjJWNi4zMDc3QzIuNzQwMjMgNS44MDI1NyAyLjkxNTIzIDUuMzc1IDMuMjY1MjEgNS4wMjVDMy42MTUyMSA0LjY3NSA0LjA0Mjc4IDQuNSA0LjU0NzkxIDQuNUgxNS45MzI1QzE2LjQzNzYgNC41IDE2Ljg2NTIgNC42NzUgMTcuMjE1MiA1LjAyNUMxNy41NjUyIDUuMzc1IDE3Ljc0MDIgNS44MDI1NyAxNy43NDAyIDYuMzA3N1YxMC44ODQ2TDIwLjQ3NjcgOC4xNDgxQzIwLjYzMDUgNy45OTQyNyAyMC43OTk0IDcuOTU3NDEgMjAuOTgzNCA4LjAzNzUzQzIxLjE2NzQgOC4xMTc2NiAyMS4yNTkzIDguMjY0NzcgMjEuMjU5MyA4LjQ3ODg3VjE1LjUyMTFDMjEuMjU5MyAxNS43MzUyIDIxLjE2NzQgMTUuODgyMyAyMC45ODM0IDE1Ljk2MjRDMjAuNzk5NCAxNi4wNDI1IDIwLjYzMDUgMTYuMDA1NyAyMC40NzY3IDE1Ljg1MTlMMTcuNzQwMiAxMy4xMTUzVjE3LjY5MjJDMTcuNzQwMiAxOC4xOTc0IDE3LjU2NTIgMTguNjI1IDE3LjIxNTIgMTguOTc1QzE2Ljg2NTIgMTkuMzI1IDE2LjQzNzYgMTkuNSAxNS45MzI1IDE5LjVINC41NDc5MVpNNC41NDc5MSAxOEgxNS45MzI1QzE2LjAyMjIgMTggMTYuMDk2IDE3Ljk3MTEgMTYuMTUzNiAxNy45MTM0QzE2LjIxMTMgMTcuODU1NyAxNi4yNDAyIDE3Ljc4MiAxNi4yNDAyIDE3LjY5MjJWNi4zMDc3QzE2LjI0MDIgNi4yMTc5NSAxNi4yMTEzIDYuMTQ0MjMgMTYuMTUzNiA2LjA4NjUyQzE2LjA5NiA2LjAyODgyIDE2LjAyMjIgNS45OTk5NyAxNS45MzI1IDUuOTk5OTdINC41NDc5MUM0LjQ1ODE2IDUuOTk5OTcgNC4zODQ0MyA2LjAyODgyIDQuMzI2NzMgNi4wODY1MkM0LjI2OTAzIDYuMTQ0MjMgNC4yNDAxOCA2LjIxNzk1IDQuMjQwMTggNi4zMDc3VjE3LjY5MjJDNC4yNDAxOCAxNy43ODIgNC4yNjkwMyAxNy44NTU3IDQuMzI2NzMgMTcuOTEzNEM0LjM4NDQzIDE3Ljk3MTEgNC40NTgxNiAxOCA0LjU0NzkxIDE4WlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9nPlxuPC9zdmc+XG4iLCI8c3ZnIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiPlxuPG1hc2sgaWQ9XCJtYXNrMF82XzMwNDBcIiBzdHlsZT1cIm1hc2stdHlwZTphbHBoYVwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiPlxuPHJlY3Qgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgZmlsbD1cIiNEOUQ5RDlcIi8+XG48L21hc2s+XG48ZyBtYXNrPVwidXJsKCNtYXNrMF82XzMwNDApXCI+XG48cGF0aCBkPVwiTTQuNTQ3OTEgMTkuNUM0LjA0Mjc4IDE5LjUgMy42MTUyMSAxOS4zMjUgMy4yNjUyMSAxOC45NzVDMi45MTUyMyAxOC42MjUgMi43NDAyMyAxOC4xOTc0IDIuNzQwMjMgMTcuNjkyMlY2LjMwNzdDMi43NDAyMyA1LjgwMjU3IDIuOTE1MjMgNS4zNzUgMy4yNjUyMSA1LjAyNUMzLjYxNTIxIDQuNjc1IDQuMDQyNzggNC41IDQuNTQ3OTEgNC41SDE1LjkzMjVDMTYuNDM3NiA0LjUgMTYuODY1MiA0LjY3NSAxNy4yMTUyIDUuMDI1QzE3LjU2NTIgNS4zNzUgMTcuNzQwMiA1LjgwMjU3IDE3Ljc0MDIgNi4zMDc3VjEwLjg4NDZMMjAuNDc2NyA4LjE0ODFDMjAuNjIwMiA4LjAwNDUyIDIwLjc4NjYgNy45NzAyMiAyMC45NzU3IDguMDQ1MjJDMjEuMTY0OCA4LjEyMDIyIDIxLjI1OTMgOC4yNjQ3NyAyMS4yNTkzIDguNDc4ODdWMTUuNTIxMUMyMS4yNTkzIDE1LjczNTIgMjEuMTY0OCAxNS44Nzk3IDIwLjk3NTcgMTUuOTU0N0MyMC43ODY2IDE2LjAyOTcgMjAuNjIwMiAxNS45OTU0IDIwLjQ3NjcgMTUuODUxOUwxNy43NDAyIDEzLjExNTNWMTcuNjkyMkMxNy43NDAyIDE4LjE5NzQgMTcuNTY1MiAxOC42MjUgMTcuMjE1MiAxOC45NzVDMTYuODY1MiAxOS4zMjUgMTYuNDM3NiAxOS41IDE1LjkzMjUgMTkuNUg0LjU0NzkxWlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9nPlxuPC9zdmc+XG4iLCI8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxtYXNrIGlkPVwibWFzazBfNl8zMDU1XCIgc3R5bGU9XCJtYXNrLXR5cGU6YWxwaGFcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbjxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRDlEOUQ5XCIvPlxuPC9tYXNrPlxuPGcgbWFzaz1cInVybCgjbWFzazBfNl8zMDU1KVwiPlxuPHBhdGggZD1cIk0xOC45NDYyIDIxLjYxMTVMMTYuNDU3NyAxOS4xMjMxQzE2LjI1IDE5LjI0MzYgMTYuMDQzOSAxOS4zNTgzIDE1LjgzOTQgMTkuNDY3M0MxNS42MzUgMTkuNTc2MiAxNS40MjA2IDE5LjY3NzUgMTUuMTk2MiAxOS43NzExQzE0Ljk0NjIgMTkuODcyNCAxNC43MTMyIDE5Ljg0MTkgMTQuNDk3MiAxOS42Nzk4QzE0LjI4MTIgMTkuNTE3NiAxNC4xNzMyIDE5LjI5MjkgMTQuMTczMiAxOS4wMDU4QzE0LjE3MzIgMTguODY3MyAxNC4yMTQ1IDE4Ljc0NjUgMTQuMjk3MiAxOC42NDMzQzE0LjM3OTkgMTguNTQwMSAxNC40ODIxIDE4LjQ2MTUgMTQuNjAzOSAxOC40MDc3QzE0LjczNzIgMTguMzU3NyAxNC44NjggMTguMzAxOSAxNC45OTYyIDE4LjI0MDRDMTUuMTI0NCAxOC4xNzg5IDE1LjI1MDEgMTguMTExNSAxNS4zNzMxIDE4LjAzODVMMTEuNzg4NSAxNC40NTM4VjE2LjYwMzhDMTEuNzg4NSAxNy4wMDg5IDExLjYwMzYgMTcuMjg5MyAxMS4yMzM3IDE3LjQ0NTFDMTAuODYzOCAxNy42MDA5IDEwLjUzNjYgMTcuNTM2NSAxMC4yNTIgMTcuMjUxOUw3LjUwMDA4IDE0LjVINC42OTI0QzQuNDM0NzIgMTQuNSA0LjIxOTY2IDE0LjQxMzggNC4wNDcyMyAxNC4yNDEzQzMuODc0NzkgMTQuMDY4OSAzLjc4ODU4IDEzLjg1MzggMy43ODg1OCAxMy41OTYxVjEwLjQwMzlDMy43ODg1OCAxMC4xNDYyIDMuODc0NzkgOS45MzExNCA0LjA0NzIzIDkuNzU4NzFDNC4yMTk2NiA5LjU4NjI2IDQuNDM0NzIgOS41MDAwMyA0LjY5MjQgOS41MDAwM0g2LjgzNDdMMi41MjMxNSA1LjE4ODQ4QzIuMzg0NyA1LjA1MDAzIDIuMzEzODcgNC44NzYgMi4zMTA2NSA0LjY2NjM4QzIuMzA3NDUgNC40NTY3OCAyLjM3ODI4IDQuMjc5NTQgMi41MjMxNSA0LjEzNDY2QzIuNjY4MDIgMy45ODk3OSAyLjg0MzY2IDMuOTE3MzYgMy4wNTAwOCAzLjkxNzM2QzMuMjU2NDggMy45MTczNiAzLjQzMjExIDMuOTg5NzkgMy41NzY5OCA0LjEzNDY2TDIwIDIwLjU1NzdDMjAuMTM4NSAyMC42OTYyIDIwLjIwOTMgMjAuODcwMiAyMC4yMTI1IDIxLjA3OThDMjAuMjE1NyAyMS4yODk0IDIwLjE0NDkgMjEuNDY2NyAyMCAyMS42MTE1QzE5Ljg1NTEgMjEuNzU2NCAxOS42Nzk1IDIxLjgyODggMTkuNDczMSAyMS44Mjg4QzE5LjI2NjcgMjEuODI4OCAxOS4wOTExIDIxLjc1NjQgMTguOTQ2MiAyMS42MTE1Wk0xNS4xOTYyIDQuMTc4ODhDMTYuNzg3MiA0LjgzNjU4IDE4LjA2NTcgNS44NjU3NSAxOS4wMzE4IDcuMjY2MzhDMTkuOTk3OCA4LjY2NzAyIDIwLjQ4MDggMTAuMjM2NiAyMC40ODA4IDExLjk3NUMyMC40ODA4IDEyLjg1MTkgMjAuMzUwMyAxMy42OTM5IDIwLjA4OTQgMTQuNTAxQzE5LjgyODUgMTUuMzA4IDE5LjQ2MDMgMTYuMDUxOSAxOC45ODQ2IDE2LjczMjdMMTcuOTA5NiAxNS42NTc3QzE4LjI1NzEgMTUuMTE1NCAxOC41MjI1IDE0LjUzMzcgMTguNzA1OCAxMy45MTI1QzE4Ljg4OTIgMTMuMjkxNCAxOC45ODA4IDEyLjY0NTUgMTguOTgwOCAxMS45NzVDMTguOTgwOCAxMC41MzQgMTguNTgxNSA5LjIzNDk2IDE3Ljc4MjggOC4wNzc5MUMxNi45ODQgNi45MjA4NiAxNS45MjQ0IDYuMDc1NjcgMTQuNjAzOSA1LjU0MjMzQzE0LjQ2NTQgNS40ODg0OCAxNC4zNTkgNS40MDU3OSAxNC4yODQ3IDUuMjk0MjZDMTQuMjEwMyA1LjE4MjcyIDE0LjE3MzIgNS4wNTc3MiAxNC4xNzMyIDQuOTE5MjZDMTQuMTczMiA0LjY0MjM0IDE0LjI4MTIgNC40MjQ0IDE0LjQ5NzIgNC4yNjU0M0MxNC43MTMyIDQuMTA2NDcgMTQuOTQ2MiA0LjA3NzYyIDE1LjE5NjIgNC4xNzg4OFpNMTUuOTIzMSAxMy42NzEyTDE0LjE3MzIgMTEuOTIxMlY4LjI5NjE4QzE0Ljg0NzUgOC42NjI4NSAxNS4zNjg2IDkuMTc5MTkgMTUuNzM2NiA5Ljg0NTIxQzE2LjEwNDUgMTAuNTExMiAxNi4yODg1IDExLjIyOTUgMTYuMjg4NSAxMkMxNi4yODg1IDEyLjI5NDkgMTYuMjU4IDEyLjU4MjQgMTYuMTk3MiAxMi44NjI1QzE2LjEzNjMgMTMuMTQyNiAxNi4wNDQ5IDEzLjQxMjIgMTUuOTIzMSAxMy42NzEyWk0xMS43ODg1IDkuNTM2NThMOS42MzA4MyA3LjM2OTI4TDEwLjI1MiA2Ljc0ODE2QzEwLjUzNjYgNi40NjM1NCAxMC44NjM4IDYuMzk5MTIgMTEuMjMzNyA2LjU1NDg4QzExLjYwMzYgNi43MTA2NyAxMS43ODg1IDYuOTkxMTIgMTEuNzg4NSA3LjM5NjIzVjkuNTM2NThaTTEwLjI4ODUgMTUuMTVWMTIuOTUzOUw4LjMzNDY4IDExSDUuMjg4NTNWMTNIOC4xMzg1M0wxMC4yODg1IDE1LjE1WlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9nPlxuPC9zdmc+XG4iLCI8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbjxtYXNrIGlkPVwibWFzazBfNl8zMDQ2XCIgc3R5bGU9XCJtYXNrLXR5cGU6YWxwaGFcIiBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIj5cbjxyZWN0IHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCIjRDlEOUQ5XCIvPlxuPC9tYXNrPlxuPGcgbWFzaz1cInVybCgjbWFzazBfNl8zMDQ2KVwiPlxuPHBhdGggZD1cIk0xNS4wNjE0IDE5Ljc3MTFDMTQuODExNCAxOS44NzI0IDE0LjU3ODQgMTkuODQxOSAxNC4zNjI0IDE5LjY3OThDMTQuMTQ2NCAxOS41MTc2IDE0LjAzODQgMTkuMjkyOSAxNC4wMzg0IDE5LjAwNTdDMTQuMDM4NCAxOC44NjczIDE0LjA3OTcgMTguNzQ2NCAxNC4xNjI0IDE4LjY0MzJDMTQuMjQ1MSAxOC41NCAxNC4zNDczIDE4LjQ2MTUgMTQuNDY5MSAxOC40MDc3QzE1Ljc4OTYgMTcuODc0MyAxNi44NDkzIDE3LjAyOTEgMTcuNjQ4IDE1Ljg3MjFDMTguNDQ2NyAxNC43MTUgMTguODQ2MSAxMy40MTYgMTguODQ2MSAxMS45NzVDMTguODQ2MSAxMC41MzQgMTguNDQ2NyA5LjIzNDk0IDE3LjY0OCA4LjA3Nzg5QzE2Ljg0OTMgNi45MjA4NCAxNS43ODk2IDYuMDc1NjQgMTQuNDY5MSA1LjU0MjMxQzE0LjMzMDcgNS40ODg0NiAxNC4yMjQzIDUuNDA1NzcgMTQuMTQ5OSA1LjI5NDI0QzE0LjA3NTYgNS4xODI3IDE0LjAzODQgNS4wNTc3IDE0LjAzODQgNC45MTkyNEMxNC4wMzg0IDQuNjQyMzIgMTQuMTQ2NCA0LjQyNDM4IDE0LjM2MjQgNC4yNjU0MUMxNC41Nzg0IDQuMTA2NDQgMTQuODExNCA0LjA3NzU5IDE1LjA2MTQgNC4xNzg4NkMxNi42NDYgNC44MzY1NiAxNy45MjI5IDUuODY1NzMgMTguODkyMiA3LjI2NjM2QzE5Ljg2MTQgOC42NjY5OSAyMC4zNDYgMTAuMjM2NSAyMC4zNDYgMTEuOTc1QzIwLjM0NiAxMy43MTM0IDE5Ljg2MTQgMTUuMjgzIDE4Ljg5MjIgMTYuNjgzNkMxNy45MjI5IDE4LjA4NDIgMTYuNjQ2IDE5LjExMzQgMTUuMDYxNCAxOS43NzExWk00LjU1NzYzIDE0LjVDNC4yOTk5NSAxNC41IDQuMDg0ODkgMTQuNDEzNyAzLjkxMjQ2IDE0LjI0MTNDMy43NDAwMyAxNC4wNjg5IDMuNjUzODEgMTMuODUzOCAzLjY1MzgxIDEzLjU5NjFWMTAuNDAzOUMzLjY1MzgxIDEwLjE0NjIgMy43NDAwMyA5LjkzMTEyIDMuOTEyNDYgOS43NTg2OUM0LjA4NDg5IDkuNTg2MjQgNC4yOTk5NSA5LjUwMDAxIDQuNTU3NjMgOS41MDAwMUg3LjM2NTMxTDEwLjExNzIgNi43NDgxNEMxMC40MDE4IDYuNDYzNTIgMTAuNzI5MSA2LjM5OTA5IDExLjA5ODkgNi41NTQ4NkMxMS40Njg4IDYuNzEwNjQgMTEuNjUzNyA2Ljk5MTA5IDExLjY1MzcgNy4zOTYyMVYxNi42MDM4QzExLjY1MzcgMTcuMDA4OSAxMS40Njg4IDE3LjI4OTMgMTEuMDk4OSAxNy40NDUxQzEwLjcyOTEgMTcuNjAwOSAxMC40MDE4IDE3LjUzNjUgMTAuMTE3MiAxNy4yNTE4TDcuMzY1MzEgMTQuNUg0LjU1NzYzWk0xNC4wMzg0IDE1LjY1MzhWOC4yOTYxNkMxNC42ODU4IDguNjQ2MTYgMTUuMjAwMiA5LjE1NDE3IDE1LjU4MTYgOS44MjAxOUMxNS45NjMgMTAuNDg2MiAxNi4xNTM3IDExLjIxMjggMTYuMTUzNyAxMkMxNi4xNTM3IDEyLjc4NzIgMTUuOTYzIDEzLjUwNTQgMTUuNTgxNiAxNC4xNTQ4QzE1LjIwMDIgMTQuODA0MSAxNC42ODU4IDE1LjMwMzggMTQuMDM4NCAxNS42NTM4WlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9nPlxuPC9zdmc+XG4iLCI8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgPG1hc2sgaWQ9XCJhXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgeD1cIjBcIiB5PVwiMFwiIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCIgc3R5bGU9XCJtYXNrLXR5cGU6YWxwaGFcIj5cbiAgICA8cGF0aCBmaWxsPVwiI0Q5RDlEOVwiIGQ9XCJNMCAwaDI0djI0SDB6XCIvPlxuICA8L21hc2s+XG4gIDxnIG1hc2s9XCJ1cmwoI2EpXCI+XG4gICAgPHBhdGggZmlsbD1cIiMyQzMzMzZcIiBkPVwiTTIuNzI1IDIxYS45NzMuOTczIDAgMCAxLS44NS0uNSAxLjA5OCAxLjA5OCAwIDAgMS0uMTM4LS40ODguODk4Ljg5OCAwIDAgMSAuMTM4LS41MTJsOS4yNS0xNmEuOTguOTggMCAwIDEgLjM4Ny0uMzc1QzExLjY3MSAzLjA0MiAxMS44MzMgMyAxMiAzYy4xNjYgMCAuMzI5LjA0Mi40ODcuMTI1YS45ODMuOTgzIDAgMCAxIC4zODguMzc1bDkuMjUgMTZjLjEuMTY3LjE0Ni4zMzcuMTM3LjUxMmExLjA5OCAxLjA5OCAwIDAgMS0uMTM3LjQ4OC45NzMuOTczIDAgMCAxLS44NS41SDIuNzI1Wk0xMiAxOGMuMjgzIDAgLjUyLS4wOTYuNzEyLS4yODhBLjk2OC45NjggMCAwIDAgMTMgMTdhLjk2OC45NjggMCAwIDAtLjI4OC0uNzEyQS45NjguOTY4IDAgMCAwIDEyIDE2YS45NjguOTY4IDAgMCAwLS43MTMuMjg4QS45NjguOTY4IDAgMCAwIDExIDE3YzAgLjI4My4wOTYuNTIuMjg3LjcxMi4xOTIuMTkyLjQzLjI4OC43MTMuMjg4Wm0wLTNhLjk3Ljk3IDAgMCAwIC43MTItLjI4N0EuOTY4Ljk2OCAwIDAgMCAxMyAxNHYtM2EuOTY4Ljk2OCAwIDAgMC0uMjg4LS43MTNBLjk2OC45NjggMCAwIDAgMTIgMTBhLjk2OC45NjggMCAwIDAtLjcxMy4yODdBLjk2OC45NjggMCAwIDAgMTEgMTF2M2MwIC4yODMuMDk2LjUyLjI4Ny43MTMuMTkyLjE5MS40My4yODcuNzEzLjI4N1pcIi8+XG4gIDwvZz5cbjwvc3ZnPiIsIjxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuPG1hc2sgaWQ9XCJtYXNrMF81NTVfMzM2N1wiIHN0eWxlPVwibWFzay10eXBlOmFscGhhXCIgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCI+XG48cmVjdCB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwiI0Q5RDlEOVwiLz5cbjwvbWFzaz5cbjxnIG1hc2s9XCJ1cmwoI21hc2swXzU1NV8zMzY3KVwiPlxuPHBhdGggZD1cIk0zLjQyNTU1IDIwLjVDMy4yNTYwNSAyMC41IDMuMTAzODIgMjAuNDU4NiAyLjk2ODg3IDIwLjM3NTdDMi44MzM5MiAyMC4yOTI5IDIuNzI4OTcgMjAuMTgzNiAyLjY1NCAyMC4wNDgxQzIuNTc2MDIgMTkuOTEzNSAyLjUzMzEyIDE5Ljc2NzYgMi41MjUzMiAxOS42MTA2QzIuNTE3NTIgMTkuNDUzNSAyLjU1OTkgMTkuMjk4IDIuNjUyNDUgMTkuMTQ0TDExLjIxMzIgNC4zNTYxNkMxMS4zMDU3IDQuMjAyMTIgMTEuNDIxNiA0LjA4ODI1IDExLjU2MDcgNC4wMTQ1M0MxMS42OTk4IDMuOTQwOCAxMS44NDYyIDMuOTAzOTMgMTIuMDAwMSAzLjkwMzkzQzEyLjE1MzkgMy45MDM5MyAxMi4zMDA0IDMuOTQwOCAxMi40Mzk1IDQuMDE0NTNDMTIuNTc4NiA0LjA4ODI1IDEyLjY5NDQgNC4yMDIxMiAxMi43ODcgNC4zNTYxNkwyMS4zNDc3IDE5LjE0NEMyMS40NDAzIDE5LjI5OCAyMS40ODI3IDE5LjQ1MzUgMjEuNDc0OSAxOS42MTA2QzIxLjQ2NzEgMTkuNzY3NiAyMS40MjQyIDE5LjkxMzUgMjEuMzQ2MiAyMC4wNDgxQzIxLjI3MTIgMjAuMTgzNiAyMS4xNjYzIDIwLjI5MjkgMjEuMDMxMyAyMC4zNzU3QzIwLjg5NjQgMjAuNDU4NiAyMC43NDQxIDIwLjUgMjAuNTc0NiAyMC41SDMuNDI1NTVaTTQuNDUwMSAxOUgxOS41NTAxTDEyLjAwMDEgNi4wMDAwM0w0LjQ1MDEgMTlaTTEyLjAwMDEgMTcuODA3N0MxMi4yMjg5IDE3LjgwNzcgMTIuNDIwOCAxNy43MzAzIDEyLjU3NTYgMTcuNTc1NUMxMi43MzA0IDE3LjQyMDcgMTIuODA3OCAxNy4yMjg5IDEyLjgwNzggMTdDMTIuODA3OCAxNi43NzEyIDEyLjczMDQgMTYuNTc5NCAxMi41NzU2IDE2LjQyNDZDMTIuNDIwOCAxNi4yNjk4IDEyLjIyODkgMTYuMTkyNCAxMi4wMDAxIDE2LjE5MjRDMTEuNzcxMiAxNi4xOTI0IDExLjU3OTQgMTYuMjY5OCAxMS40MjQ2IDE2LjQyNDZDMTEuMjY5OCAxNi41Nzk0IDExLjE5MjQgMTYuNzcxMiAxMS4xOTI0IDE3QzExLjE5MjQgMTcuMjI4OSAxMS4yNjk4IDE3LjQyMDcgMTEuNDI0NiAxNy41NzU1QzExLjU3OTQgMTcuNzMwMyAxMS43NzEyIDE3LjgwNzcgMTIuMDAwMSAxNy44MDc3Wk0xMi4wMDA0IDE1LjE5MjRDMTIuMjEzIDE1LjE5MjQgMTIuMzkxMSAxNS4xMjA1IDEyLjUzNDcgMTQuOTc2N0MxMi42NzgzIDE0LjgzMyAxMi43NTAxIDE0LjY1NDkgMTIuNzUwMSAxNC40NDI0VjEwLjk0MjNDMTIuNzUwMSAxMC43Mjk4IDEyLjY3ODIgMTAuNTUxNyAxMi41MzQ0IDEwLjQwOEMxMi4zOTA2IDEwLjI2NDIgMTIuMjEyNCAxMC4xOTI0IDExLjk5OTggMTAuMTkyNEMxMS43ODcyIDEwLjE5MjQgMTEuNjA5MSAxMC4yNjQyIDExLjQ2NTUgMTAuNDA4QzExLjMyMTkgMTAuNTUxNyAxMS4yNTAxIDEwLjcyOTggMTEuMjUwMSAxMC45NDIzVjE0LjQ0MjRDMTEuMjUwMSAxNC42NTQ5IDExLjMyMiAxNC44MzMgMTEuNDY1OCAxNC45NzY3QzExLjYwOTYgMTUuMTIwNSAxMS43ODc4IDE1LjE5MjQgMTIuMDAwNCAxNS4xOTI0WlwiIGZpbGw9XCIjMkMzMzM2XCIvPlxuPC9nPlxuPC9zdmc+XG4iLG51bGwsbnVsbCxudWxsLG51bGwsIi8vIHBhY2thZ2VzL3JlYWN0L3VzZS1wcmV2aW91cy9zcmMvdXNlUHJldmlvdXMudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmZ1bmN0aW9uIHVzZVByZXZpb3VzKHZhbHVlKSB7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZih7IHZhbHVlLCBwcmV2aW91czogdmFsdWUgfSk7XG4gIHJldHVybiBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICBpZiAocmVmLmN1cnJlbnQudmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICByZWYuY3VycmVudC5wcmV2aW91cyA9IHJlZi5jdXJyZW50LnZhbHVlO1xuICAgICAgcmVmLmN1cnJlbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZi5jdXJyZW50LnByZXZpb3VzO1xuICB9LCBbdmFsdWVdKTtcbn1cbmV4cG9ydCB7XG4gIHVzZVByZXZpb3VzXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiLy8gcGFja2FnZXMvcmVhY3QvdXNlLXNpemUvc3JjL3VzZVNpemUudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUxheW91dEVmZmVjdCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLWxheW91dC1lZmZlY3RcIjtcbmZ1bmN0aW9uIHVzZVNpemUoZWxlbWVudCkge1xuICBjb25zdCBbc2l6ZSwgc2V0U2l6ZV0gPSBSZWFjdC51c2VTdGF0ZSh2b2lkIDApO1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBzZXRTaXplKHsgd2lkdGg6IGVsZW1lbnQub2Zmc2V0V2lkdGgsIGhlaWdodDogZWxlbWVudC5vZmZzZXRIZWlnaHQgfSk7XG4gICAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZW50cmllcykpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFlbnRyaWVzLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07XG4gICAgICAgIGxldCB3aWR0aDtcbiAgICAgICAgbGV0IGhlaWdodDtcbiAgICAgICAgaWYgKFwiYm9yZGVyQm94U2l6ZVwiIGluIGVudHJ5KSB7XG4gICAgICAgICAgY29uc3QgYm9yZGVyU2l6ZUVudHJ5ID0gZW50cnlbXCJib3JkZXJCb3hTaXplXCJdO1xuICAgICAgICAgIGNvbnN0IGJvcmRlclNpemUgPSBBcnJheS5pc0FycmF5KGJvcmRlclNpemVFbnRyeSkgPyBib3JkZXJTaXplRW50cnlbMF0gOiBib3JkZXJTaXplRW50cnk7XG4gICAgICAgICAgd2lkdGggPSBib3JkZXJTaXplW1wiaW5saW5lU2l6ZVwiXTtcbiAgICAgICAgICBoZWlnaHQgPSBib3JkZXJTaXplW1wiYmxvY2tTaXplXCJdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHdpZHRoID0gZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgICBzZXRTaXplKHsgd2lkdGgsIGhlaWdodCB9KTtcbiAgICAgIH0pO1xuICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7IGJveDogXCJib3JkZXItYm94XCIgfSk7XG4gICAgICByZXR1cm4gKCkgPT4gcmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRTaXplKHZvaWQgMCk7XG4gICAgfVxuICB9LCBbZWxlbWVudF0pO1xuICByZXR1cm4gc2l6ZTtcbn1cbmV4cG9ydCB7XG4gIHVzZVNpemVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvY2hlY2tib3gvc3JjL2NoZWNrYm94LnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dFNjb3BlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb250ZXh0XCI7XG5pbXBvcnQgeyBjb21wb3NlRXZlbnRIYW5kbGVycyB9IGZyb20gXCJAcmFkaXgtdWkvcHJpbWl0aXZlXCI7XG5pbXBvcnQgeyB1c2VDb250cm9sbGFibGVTdGF0ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLWNvbnRyb2xsYWJsZS1zdGF0ZVwiO1xuaW1wb3J0IHsgdXNlUHJldmlvdXMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1wcmV2aW91c1wiO1xuaW1wb3J0IHsgdXNlU2l6ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLXNpemVcIjtcbmltcG9ydCB7IFByZXNlbmNlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmVzZW5jZVwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmltaXRpdmVcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIENIRUNLQk9YX05BTUUgPSBcIkNoZWNrYm94XCI7XG52YXIgW2NyZWF0ZUNoZWNrYm94Q29udGV4dCwgY3JlYXRlQ2hlY2tib3hTY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUoQ0hFQ0tCT1hfTkFNRSk7XG52YXIgW0NoZWNrYm94UHJvdmlkZXIsIHVzZUNoZWNrYm94Q29udGV4dF0gPSBjcmVhdGVDaGVja2JveENvbnRleHQoQ0hFQ0tCT1hfTkFNRSk7XG52YXIgQ2hlY2tib3ggPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIF9fc2NvcGVDaGVja2JveCxcbiAgICAgIG5hbWUsXG4gICAgICBjaGVja2VkOiBjaGVja2VkUHJvcCxcbiAgICAgIGRlZmF1bHRDaGVja2VkLFxuICAgICAgcmVxdWlyZWQsXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIHZhbHVlID0gXCJvblwiLFxuICAgICAgb25DaGVja2VkQ2hhbmdlLFxuICAgICAgZm9ybSxcbiAgICAgIC4uLmNoZWNrYm94UHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2J1dHRvbiwgc2V0QnV0dG9uXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRCdXR0b24obm9kZSkpO1xuICAgIGNvbnN0IGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBpc0Zvcm1Db250cm9sID0gYnV0dG9uID8gZm9ybSB8fCAhIWJ1dHRvbi5jbG9zZXN0KFwiZm9ybVwiKSA6IHRydWU7XG4gICAgY29uc3QgW2NoZWNrZWQgPSBmYWxzZSwgc2V0Q2hlY2tlZF0gPSB1c2VDb250cm9sbGFibGVTdGF0ZSh7XG4gICAgICBwcm9wOiBjaGVja2VkUHJvcCxcbiAgICAgIGRlZmF1bHRQcm9wOiBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIG9uQ2hhbmdlOiBvbkNoZWNrZWRDaGFuZ2VcbiAgICB9KTtcbiAgICBjb25zdCBpbml0aWFsQ2hlY2tlZFN0YXRlUmVmID0gUmVhY3QudXNlUmVmKGNoZWNrZWQpO1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBmb3JtMiA9IGJ1dHRvbj8uZm9ybTtcbiAgICAgIGlmIChmb3JtMikge1xuICAgICAgICBjb25zdCByZXNldCA9ICgpID0+IHNldENoZWNrZWQoaW5pdGlhbENoZWNrZWRTdGF0ZVJlZi5jdXJyZW50KTtcbiAgICAgICAgZm9ybTIuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2V0XCIsIHJlc2V0KTtcbiAgICAgICAgcmV0dXJuICgpID0+IGZvcm0yLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNldFwiLCByZXNldCk7XG4gICAgICB9XG4gICAgfSwgW2J1dHRvbiwgc2V0Q2hlY2tlZF0pO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhDaGVja2JveFByb3ZpZGVyLCB7IHNjb3BlOiBfX3Njb3BlQ2hlY2tib3gsIHN0YXRlOiBjaGVja2VkLCBkaXNhYmxlZCwgY2hpbGRyZW46IFtcbiAgICAgIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgIFByaW1pdGl2ZS5idXR0b24sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICAgIHJvbGU6IFwiY2hlY2tib3hcIixcbiAgICAgICAgICBcImFyaWEtY2hlY2tlZFwiOiBpc0luZGV0ZXJtaW5hdGUoY2hlY2tlZCkgPyBcIm1peGVkXCIgOiBjaGVja2VkLFxuICAgICAgICAgIFwiYXJpYS1yZXF1aXJlZFwiOiByZXF1aXJlZCxcbiAgICAgICAgICBcImRhdGEtc3RhdGVcIjogZ2V0U3RhdGUoY2hlY2tlZCksXG4gICAgICAgICAgXCJkYXRhLWRpc2FibGVkXCI6IGRpc2FibGVkID8gXCJcIiA6IHZvaWQgMCxcbiAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAuLi5jaGVja2JveFByb3BzLFxuICAgICAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgICAgIG9uS2V5RG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25LZXlEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFwiRW50ZXJcIikgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBvbkNsaWNrOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkNsaWNrLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIHNldENoZWNrZWQoKHByZXZDaGVja2VkKSA9PiBpc0luZGV0ZXJtaW5hdGUocHJldkNoZWNrZWQpID8gdHJ1ZSA6ICFwcmV2Q2hlY2tlZCk7XG4gICAgICAgICAgICBpZiAoaXNGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICBoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZi5jdXJyZW50ID0gZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTtcbiAgICAgICAgICAgICAgaWYgKCFoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZi5jdXJyZW50KSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgaXNGb3JtQ29udHJvbCAmJiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICBCdWJibGVJbnB1dCxcbiAgICAgICAge1xuICAgICAgICAgIGNvbnRyb2w6IGJ1dHRvbixcbiAgICAgICAgICBidWJibGVzOiAhaGFzQ29uc3VtZXJTdG9wcGVkUHJvcGFnYXRpb25SZWYuY3VycmVudCxcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIGNoZWNrZWQsXG4gICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgZm9ybSxcbiAgICAgICAgICBzdHlsZTogeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgtMTAwJSlcIiB9LFxuICAgICAgICAgIGRlZmF1bHRDaGVja2VkOiBpc0luZGV0ZXJtaW5hdGUoZGVmYXVsdENoZWNrZWQpID8gZmFsc2UgOiBkZWZhdWx0Q2hlY2tlZFxuICAgICAgICB9XG4gICAgICApXG4gICAgXSB9KTtcbiAgfVxuKTtcbkNoZWNrYm94LmRpc3BsYXlOYW1lID0gQ0hFQ0tCT1hfTkFNRTtcbnZhciBJTkRJQ0FUT1JfTkFNRSA9IFwiQ2hlY2tib3hJbmRpY2F0b3JcIjtcbnZhciBDaGVja2JveEluZGljYXRvciA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlQ2hlY2tib3gsIGZvcmNlTW91bnQsIC4uLmluZGljYXRvclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlQ2hlY2tib3hDb250ZXh0KElORElDQVRPUl9OQU1FLCBfX3Njb3BlQ2hlY2tib3gpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFByZXNlbmNlLCB7IHByZXNlbnQ6IGZvcmNlTW91bnQgfHwgaXNJbmRldGVybWluYXRlKGNvbnRleHQuc3RhdGUpIHx8IGNvbnRleHQuc3RhdGUgPT09IHRydWUsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgUHJpbWl0aXZlLnNwYW4sXG4gICAgICB7XG4gICAgICAgIFwiZGF0YS1zdGF0ZVwiOiBnZXRTdGF0ZShjb250ZXh0LnN0YXRlKSxcbiAgICAgICAgXCJkYXRhLWRpc2FibGVkXCI6IGNvbnRleHQuZGlzYWJsZWQgPyBcIlwiIDogdm9pZCAwLFxuICAgICAgICAuLi5pbmRpY2F0b3JQcm9wcyxcbiAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgIHN0eWxlOiB7IHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLCAuLi5wcm9wcy5zdHlsZSB9XG4gICAgICB9XG4gICAgKSB9KTtcbiAgfVxuKTtcbkNoZWNrYm94SW5kaWNhdG9yLmRpc3BsYXlOYW1lID0gSU5ESUNBVE9SX05BTUU7XG52YXIgQnViYmxlSW5wdXQgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250cm9sLCBjaGVja2VkLCBidWJibGVzID0gdHJ1ZSwgZGVmYXVsdENoZWNrZWQsIC4uLmlucHV0UHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IHByZXZDaGVja2VkID0gdXNlUHJldmlvdXMoY2hlY2tlZCk7XG4gIGNvbnN0IGNvbnRyb2xTaXplID0gdXNlU2l6ZShjb250cm9sKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IHJlZi5jdXJyZW50O1xuICAgIGNvbnN0IGlucHV0UHJvdG8gPSB3aW5kb3cuSFRNTElucHV0RWxlbWVudC5wcm90b3R5cGU7XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaW5wdXRQcm90bywgXCJjaGVja2VkXCIpO1xuICAgIGNvbnN0IHNldENoZWNrZWQgPSBkZXNjcmlwdG9yLnNldDtcbiAgICBpZiAocHJldkNoZWNrZWQgIT09IGNoZWNrZWQgJiYgc2V0Q2hlY2tlZCkge1xuICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoXCJjbGlja1wiLCB7IGJ1YmJsZXMgfSk7XG4gICAgICBpbnB1dC5pbmRldGVybWluYXRlID0gaXNJbmRldGVybWluYXRlKGNoZWNrZWQpO1xuICAgICAgc2V0Q2hlY2tlZC5jYWxsKGlucHV0LCBpc0luZGV0ZXJtaW5hdGUoY2hlY2tlZCkgPyBmYWxzZSA6IGNoZWNrZWQpO1xuICAgICAgaW5wdXQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgfVxuICB9LCBbcHJldkNoZWNrZWQsIGNoZWNrZWQsIGJ1YmJsZXNdKTtcbiAgY29uc3QgZGVmYXVsdENoZWNrZWRSZWYgPSBSZWFjdC51c2VSZWYoaXNJbmRldGVybWluYXRlKGNoZWNrZWQpID8gZmFsc2UgOiBjaGVja2VkKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgXCJpbnB1dFwiLFxuICAgIHtcbiAgICAgIHR5cGU6IFwiY2hlY2tib3hcIixcbiAgICAgIFwiYXJpYS1oaWRkZW5cIjogdHJ1ZSxcbiAgICAgIGRlZmF1bHRDaGVja2VkOiBkZWZhdWx0Q2hlY2tlZCA/PyBkZWZhdWx0Q2hlY2tlZFJlZi5jdXJyZW50LFxuICAgICAgLi4uaW5wdXRQcm9wcyxcbiAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgIHJlZixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIC4uLnByb3BzLnN0eWxlLFxuICAgICAgICAuLi5jb250cm9sU2l6ZSxcbiAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgcG9pbnRlckV2ZW50czogXCJub25lXCIsXG4gICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgIG1hcmdpbjogMFxuICAgICAgfVxuICAgIH1cbiAgKTtcbn07XG5mdW5jdGlvbiBpc0luZGV0ZXJtaW5hdGUoY2hlY2tlZCkge1xuICByZXR1cm4gY2hlY2tlZCA9PT0gXCJpbmRldGVybWluYXRlXCI7XG59XG5mdW5jdGlvbiBnZXRTdGF0ZShjaGVja2VkKSB7XG4gIHJldHVybiBpc0luZGV0ZXJtaW5hdGUoY2hlY2tlZCkgPyBcImluZGV0ZXJtaW5hdGVcIiA6IGNoZWNrZWQgPyBcImNoZWNrZWRcIiA6IFwidW5jaGVja2VkXCI7XG59XG52YXIgUm9vdCA9IENoZWNrYm94O1xudmFyIEluZGljYXRvciA9IENoZWNrYm94SW5kaWNhdG9yO1xuZXhwb3J0IHtcbiAgQ2hlY2tib3gsXG4gIENoZWNrYm94SW5kaWNhdG9yLFxuICBJbmRpY2F0b3IsXG4gIFJvb3QsXG4gIGNyZWF0ZUNoZWNrYm94U2NvcGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvbGFiZWwvc3JjL2xhYmVsLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgTkFNRSA9IFwiTGFiZWxcIjtcbnZhciBMYWJlbCA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgUHJpbWl0aXZlLmxhYmVsLFxuICAgIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICBvbk1vdXNlRG93bjogKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgaWYgKHRhcmdldC5jbG9zZXN0KFwiYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYVwiKSkgcmV0dXJuO1xuICAgICAgICBwcm9wcy5vbk1vdXNlRG93bj8uKGV2ZW50KTtcbiAgICAgICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkICYmIGV2ZW50LmRldGFpbCA+IDEpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfVxuICApO1xufSk7XG5MYWJlbC5kaXNwbGF5TmFtZSA9IE5BTUU7XG52YXIgUm9vdCA9IExhYmVsO1xuZXhwb3J0IHtcbiAgTGFiZWwsXG4gIFJvb3Rcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCwiLy8gcGFja2FnZXMvY29yZS9udW1iZXIvc3JjL251bWJlci50c1xuZnVuY3Rpb24gY2xhbXAodmFsdWUsIFttaW4sIG1heF0pIHtcbiAgcmV0dXJuIE1hdGgubWluKG1heCwgTWF0aC5tYXgobWluLCB2YWx1ZSkpO1xufVxuZXhwb3J0IHtcbiAgY2xhbXBcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCIvLyBwYWNrYWdlcy9yZWFjdC9kaXJlY3Rpb24vc3JjL0RpcmVjdGlvbi50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgRGlyZWN0aW9uQ29udGV4dCA9IFJlYWN0LmNyZWF0ZUNvbnRleHQodm9pZCAwKTtcbnZhciBEaXJlY3Rpb25Qcm92aWRlciA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGRpciwgY2hpbGRyZW4gfSA9IHByb3BzO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChEaXJlY3Rpb25Db250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiBkaXIsIGNoaWxkcmVuIH0pO1xufTtcbmZ1bmN0aW9uIHVzZURpcmVjdGlvbihsb2NhbERpcikge1xuICBjb25zdCBnbG9iYWxEaXIgPSBSZWFjdC51c2VDb250ZXh0KERpcmVjdGlvbkNvbnRleHQpO1xuICByZXR1cm4gbG9jYWxEaXIgfHwgZ2xvYmFsRGlyIHx8IFwibHRyXCI7XG59XG52YXIgUHJvdmlkZXIgPSBEaXJlY3Rpb25Qcm92aWRlcjtcbmV4cG9ydCB7XG4gIERpcmVjdGlvblByb3ZpZGVyLFxuICBQcm92aWRlcixcbiAgdXNlRGlyZWN0aW9uXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiXCJ1c2UgY2xpZW50XCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L2NvbGxlY3Rpb24vc3JjL2NvbGxlY3Rpb24udHN4XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0U2NvcGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUNvbXBvc2VkUmVmcyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzXCI7XG5pbXBvcnQgeyBTbG90IH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1zbG90XCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmZ1bmN0aW9uIGNyZWF0ZUNvbGxlY3Rpb24obmFtZSkge1xuICBjb25zdCBQUk9WSURFUl9OQU1FID0gbmFtZSArIFwiQ29sbGVjdGlvblByb3ZpZGVyXCI7XG4gIGNvbnN0IFtjcmVhdGVDb2xsZWN0aW9uQ29udGV4dCwgY3JlYXRlQ29sbGVjdGlvblNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShQUk9WSURFUl9OQU1FKTtcbiAgY29uc3QgW0NvbGxlY3Rpb25Qcm92aWRlckltcGwsIHVzZUNvbGxlY3Rpb25Db250ZXh0XSA9IGNyZWF0ZUNvbGxlY3Rpb25Db250ZXh0KFxuICAgIFBST1ZJREVSX05BTUUsXG4gICAgeyBjb2xsZWN0aW9uUmVmOiB7IGN1cnJlbnQ6IG51bGwgfSwgaXRlbU1hcDogLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKSB9XG4gICk7XG4gIGNvbnN0IENvbGxlY3Rpb25Qcm92aWRlciA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgc2NvcGUsIGNoaWxkcmVuIH0gPSBwcm9wcztcbiAgICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgaXRlbU1hcCA9IFJlYWN0LnVzZVJlZigvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpKS5jdXJyZW50O1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KENvbGxlY3Rpb25Qcm92aWRlckltcGwsIHsgc2NvcGUsIGl0ZW1NYXAsIGNvbGxlY3Rpb25SZWY6IHJlZiwgY2hpbGRyZW4gfSk7XG4gIH07XG4gIENvbGxlY3Rpb25Qcm92aWRlci5kaXNwbGF5TmFtZSA9IFBST1ZJREVSX05BTUU7XG4gIGNvbnN0IENPTExFQ1RJT05fU0xPVF9OQU1FID0gbmFtZSArIFwiQ29sbGVjdGlvblNsb3RcIjtcbiAgY29uc3QgQ29sbGVjdGlvblNsb3QgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAgIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgICBjb25zdCB7IHNjb3BlLCBjaGlsZHJlbiB9ID0gcHJvcHM7XG4gICAgICBjb25zdCBjb250ZXh0ID0gdXNlQ29sbGVjdGlvbkNvbnRleHQoQ09MTEVDVElPTl9TTE9UX05BTUUsIHNjb3BlKTtcbiAgICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIGNvbnRleHQuY29sbGVjdGlvblJlZik7XG4gICAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTbG90LCB7IHJlZjogY29tcG9zZWRSZWZzLCBjaGlsZHJlbiB9KTtcbiAgICB9XG4gICk7XG4gIENvbGxlY3Rpb25TbG90LmRpc3BsYXlOYW1lID0gQ09MTEVDVElPTl9TTE9UX05BTUU7XG4gIGNvbnN0IElURU1fU0xPVF9OQU1FID0gbmFtZSArIFwiQ29sbGVjdGlvbkl0ZW1TbG90XCI7XG4gIGNvbnN0IElURU1fREFUQV9BVFRSID0gXCJkYXRhLXJhZGl4LWNvbGxlY3Rpb24taXRlbVwiO1xuICBjb25zdCBDb2xsZWN0aW9uSXRlbVNsb3QgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAgIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgICBjb25zdCB7IHNjb3BlLCBjaGlsZHJlbiwgLi4uaXRlbURhdGEgfSA9IHByb3BzO1xuICAgICAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICAgICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgcmVmKTtcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB1c2VDb2xsZWN0aW9uQ29udGV4dChJVEVNX1NMT1RfTkFNRSwgc2NvcGUpO1xuICAgICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29udGV4dC5pdGVtTWFwLnNldChyZWYsIHsgcmVmLCAuLi5pdGVtRGF0YSB9KTtcbiAgICAgICAgcmV0dXJuICgpID0+IHZvaWQgY29udGV4dC5pdGVtTWFwLmRlbGV0ZShyZWYpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChTbG90LCB7IC4uLnsgW0lURU1fREFUQV9BVFRSXTogXCJcIiB9LCByZWY6IGNvbXBvc2VkUmVmcywgY2hpbGRyZW4gfSk7XG4gICAgfVxuICApO1xuICBDb2xsZWN0aW9uSXRlbVNsb3QuZGlzcGxheU5hbWUgPSBJVEVNX1NMT1RfTkFNRTtcbiAgZnVuY3Rpb24gdXNlQ29sbGVjdGlvbihzY29wZSkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VDb2xsZWN0aW9uQ29udGV4dChuYW1lICsgXCJDb2xsZWN0aW9uQ29uc3VtZXJcIiwgc2NvcGUpO1xuICAgIGNvbnN0IGdldEl0ZW1zID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgY29uc3QgY29sbGVjdGlvbk5vZGUgPSBjb250ZXh0LmNvbGxlY3Rpb25SZWYuY3VycmVudDtcbiAgICAgIGlmICghY29sbGVjdGlvbk5vZGUpIHJldHVybiBbXTtcbiAgICAgIGNvbnN0IG9yZGVyZWROb2RlcyA9IEFycmF5LmZyb20oY29sbGVjdGlvbk5vZGUucXVlcnlTZWxlY3RvckFsbChgWyR7SVRFTV9EQVRBX0FUVFJ9XWApKTtcbiAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuZnJvbShjb250ZXh0Lml0ZW1NYXAudmFsdWVzKCkpO1xuICAgICAgY29uc3Qgb3JkZXJlZEl0ZW1zID0gaXRlbXMuc29ydChcbiAgICAgICAgKGEsIGIpID0+IG9yZGVyZWROb2Rlcy5pbmRleE9mKGEucmVmLmN1cnJlbnQpIC0gb3JkZXJlZE5vZGVzLmluZGV4T2YoYi5yZWYuY3VycmVudClcbiAgICAgICk7XG4gICAgICByZXR1cm4gb3JkZXJlZEl0ZW1zO1xuICAgIH0sIFtjb250ZXh0LmNvbGxlY3Rpb25SZWYsIGNvbnRleHQuaXRlbU1hcF0pO1xuICAgIHJldHVybiBnZXRJdGVtcztcbiAgfVxuICByZXR1cm4gW1xuICAgIHsgUHJvdmlkZXI6IENvbGxlY3Rpb25Qcm92aWRlciwgU2xvdDogQ29sbGVjdGlvblNsb3QsIEl0ZW1TbG90OiBDb2xsZWN0aW9uSXRlbVNsb3QgfSxcbiAgICB1c2VDb2xsZWN0aW9uLFxuICAgIGNyZWF0ZUNvbGxlY3Rpb25TY29wZVxuICBdO1xufVxuZXhwb3J0IHtcbiAgY3JlYXRlQ29sbGVjdGlvblxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiIsIlwidXNlIGNsaWVudFwiO1xuXG4vLyBwYWNrYWdlcy9yZWFjdC9zbGlkZXIvc3JjL3NsaWRlci50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY2xhbXAgfSBmcm9tIFwiQHJhZGl4LXVpL251bWJlclwiO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfSBmcm9tIFwiQHJhZGl4LXVpL3ByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnNcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxhYmxlU3RhdGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGVcIjtcbmltcG9ydCB7IHVzZURpcmVjdGlvbiB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtZGlyZWN0aW9uXCI7XG5pbXBvcnQgeyB1c2VQcmV2aW91cyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLXByZXZpb3VzXCI7XG5pbXBvcnQgeyB1c2VTaXplIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2Utc2l6ZVwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmltaXRpdmVcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbGxlY3Rpb24gfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbGxlY3Rpb25cIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIFBBR0VfS0VZUyA9IFtcIlBhZ2VVcFwiLCBcIlBhZ2VEb3duXCJdO1xudmFyIEFSUk9XX0tFWVMgPSBbXCJBcnJvd1VwXCIsIFwiQXJyb3dEb3duXCIsIFwiQXJyb3dMZWZ0XCIsIFwiQXJyb3dSaWdodFwiXTtcbnZhciBCQUNLX0tFWVMgPSB7XG4gIFwiZnJvbS1sZWZ0XCI6IFtcIkhvbWVcIiwgXCJQYWdlRG93blwiLCBcIkFycm93RG93blwiLCBcIkFycm93TGVmdFwiXSxcbiAgXCJmcm9tLXJpZ2h0XCI6IFtcIkhvbWVcIiwgXCJQYWdlRG93blwiLCBcIkFycm93RG93blwiLCBcIkFycm93UmlnaHRcIl0sXG4gIFwiZnJvbS1ib3R0b21cIjogW1wiSG9tZVwiLCBcIlBhZ2VEb3duXCIsIFwiQXJyb3dEb3duXCIsIFwiQXJyb3dMZWZ0XCJdLFxuICBcImZyb20tdG9wXCI6IFtcIkhvbWVcIiwgXCJQYWdlRG93blwiLCBcIkFycm93VXBcIiwgXCJBcnJvd0xlZnRcIl1cbn07XG52YXIgU0xJREVSX05BTUUgPSBcIlNsaWRlclwiO1xudmFyIFtDb2xsZWN0aW9uLCB1c2VDb2xsZWN0aW9uLCBjcmVhdGVDb2xsZWN0aW9uU2NvcGVdID0gY3JlYXRlQ29sbGVjdGlvbihTTElERVJfTkFNRSk7XG52YXIgW2NyZWF0ZVNsaWRlckNvbnRleHQsIGNyZWF0ZVNsaWRlclNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShTTElERVJfTkFNRSwgW1xuICBjcmVhdGVDb2xsZWN0aW9uU2NvcGVcbl0pO1xudmFyIFtTbGlkZXJQcm92aWRlciwgdXNlU2xpZGVyQ29udGV4dF0gPSBjcmVhdGVTbGlkZXJDb250ZXh0KFNMSURFUl9OQU1FKTtcbnZhciBTbGlkZXIgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIG5hbWUsXG4gICAgICBtaW4gPSAwLFxuICAgICAgbWF4ID0gMTAwLFxuICAgICAgc3RlcCA9IDEsXG4gICAgICBvcmllbnRhdGlvbiA9IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgZGlzYWJsZWQgPSBmYWxzZSxcbiAgICAgIG1pblN0ZXBzQmV0d2VlblRodW1icyA9IDAsXG4gICAgICBkZWZhdWx0VmFsdWUgPSBbbWluXSxcbiAgICAgIHZhbHVlLFxuICAgICAgb25WYWx1ZUNoYW5nZSA9ICgpID0+IHtcbiAgICAgIH0sXG4gICAgICBvblZhbHVlQ29tbWl0ID0gKCkgPT4ge1xuICAgICAgfSxcbiAgICAgIGludmVydGVkID0gZmFsc2UsXG4gICAgICBmb3JtLFxuICAgICAgLi4uc2xpZGVyUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgdGh1bWJSZWZzID0gUmVhY3QudXNlUmVmKC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCkpO1xuICAgIGNvbnN0IHZhbHVlSW5kZXhUb0NoYW5nZVJlZiA9IFJlYWN0LnVzZVJlZigwKTtcbiAgICBjb25zdCBpc0hvcml6b250YWwgPSBvcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCI7XG4gICAgY29uc3QgU2xpZGVyT3JpZW50YXRpb24gPSBpc0hvcml6b250YWwgPyBTbGlkZXJIb3Jpem9udGFsIDogU2xpZGVyVmVydGljYWw7XG4gICAgY29uc3QgW3ZhbHVlcyA9IFtdLCBzZXRWYWx1ZXNdID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgICAgcHJvcDogdmFsdWUsXG4gICAgICBkZWZhdWx0UHJvcDogZGVmYXVsdFZhbHVlLFxuICAgICAgb25DaGFuZ2U6ICh2YWx1ZTIpID0+IHtcbiAgICAgICAgY29uc3QgdGh1bWJzID0gWy4uLnRodW1iUmVmcy5jdXJyZW50XTtcbiAgICAgICAgdGh1bWJzW3ZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50XT8uZm9jdXMoKTtcbiAgICAgICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHZhbHVlc0JlZm9yZVNsaWRlU3RhcnRSZWYgPSBSZWFjdC51c2VSZWYodmFsdWVzKTtcbiAgICBmdW5jdGlvbiBoYW5kbGVTbGlkZVN0YXJ0KHZhbHVlMikge1xuICAgICAgY29uc3QgY2xvc2VzdEluZGV4ID0gZ2V0Q2xvc2VzdFZhbHVlSW5kZXgodmFsdWVzLCB2YWx1ZTIpO1xuICAgICAgdXBkYXRlVmFsdWVzKHZhbHVlMiwgY2xvc2VzdEluZGV4KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaGFuZGxlU2xpZGVNb3ZlKHZhbHVlMikge1xuICAgICAgdXBkYXRlVmFsdWVzKHZhbHVlMiwgdmFsdWVJbmRleFRvQ2hhbmdlUmVmLmN1cnJlbnQpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBoYW5kbGVTbGlkZUVuZCgpIHtcbiAgICAgIGNvbnN0IHByZXZWYWx1ZSA9IHZhbHVlc0JlZm9yZVNsaWRlU3RhcnRSZWYuY3VycmVudFt2YWx1ZUluZGV4VG9DaGFuZ2VSZWYuY3VycmVudF07XG4gICAgICBjb25zdCBuZXh0VmFsdWUgPSB2YWx1ZXNbdmFsdWVJbmRleFRvQ2hhbmdlUmVmLmN1cnJlbnRdO1xuICAgICAgY29uc3QgaGFzQ2hhbmdlZCA9IG5leHRWYWx1ZSAhPT0gcHJldlZhbHVlO1xuICAgICAgaWYgKGhhc0NoYW5nZWQpIG9uVmFsdWVDb21taXQodmFsdWVzKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gdXBkYXRlVmFsdWVzKHZhbHVlMiwgYXRJbmRleCwgeyBjb21taXQgfSA9IHsgY29tbWl0OiBmYWxzZSB9KSB7XG4gICAgICBjb25zdCBkZWNpbWFsQ291bnQgPSBnZXREZWNpbWFsQ291bnQoc3RlcCk7XG4gICAgICBjb25zdCBzbmFwVG9TdGVwID0gcm91bmRWYWx1ZShNYXRoLnJvdW5kKCh2YWx1ZTIgLSBtaW4pIC8gc3RlcCkgKiBzdGVwICsgbWluLCBkZWNpbWFsQ291bnQpO1xuICAgICAgY29uc3QgbmV4dFZhbHVlID0gY2xhbXAoc25hcFRvU3RlcCwgW21pbiwgbWF4XSk7XG4gICAgICBzZXRWYWx1ZXMoKHByZXZWYWx1ZXMgPSBbXSkgPT4ge1xuICAgICAgICBjb25zdCBuZXh0VmFsdWVzID0gZ2V0TmV4dFNvcnRlZFZhbHVlcyhwcmV2VmFsdWVzLCBuZXh0VmFsdWUsIGF0SW5kZXgpO1xuICAgICAgICBpZiAoaGFzTWluU3RlcHNCZXR3ZWVuVmFsdWVzKG5leHRWYWx1ZXMsIG1pblN0ZXBzQmV0d2VlblRodW1icyAqIHN0ZXApKSB7XG4gICAgICAgICAgdmFsdWVJbmRleFRvQ2hhbmdlUmVmLmN1cnJlbnQgPSBuZXh0VmFsdWVzLmluZGV4T2YobmV4dFZhbHVlKTtcbiAgICAgICAgICBjb25zdCBoYXNDaGFuZ2VkID0gU3RyaW5nKG5leHRWYWx1ZXMpICE9PSBTdHJpbmcocHJldlZhbHVlcyk7XG4gICAgICAgICAgaWYgKGhhc0NoYW5nZWQgJiYgY29tbWl0KSBvblZhbHVlQ29tbWl0KG5leHRWYWx1ZXMpO1xuICAgICAgICAgIHJldHVybiBoYXNDaGFuZ2VkID8gbmV4dFZhbHVlcyA6IHByZXZWYWx1ZXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHByZXZWYWx1ZXM7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFNsaWRlclByb3ZpZGVyLFxuICAgICAge1xuICAgICAgICBzY29wZTogcHJvcHMuX19zY29wZVNsaWRlcixcbiAgICAgICAgbmFtZSxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIG1pbixcbiAgICAgICAgbWF4LFxuICAgICAgICB2YWx1ZUluZGV4VG9DaGFuZ2VSZWYsXG4gICAgICAgIHRodW1iczogdGh1bWJSZWZzLmN1cnJlbnQsXG4gICAgICAgIHZhbHVlcyxcbiAgICAgICAgb3JpZW50YXRpb24sXG4gICAgICAgIGZvcm0sXG4gICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENvbGxlY3Rpb24uUHJvdmlkZXIsIHsgc2NvcGU6IHByb3BzLl9fc2NvcGVTbGlkZXIsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENvbGxlY3Rpb24uU2xvdCwgeyBzY29wZTogcHJvcHMuX19zY29wZVNsaWRlciwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgU2xpZGVyT3JpZW50YXRpb24sXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJhcmlhLWRpc2FibGVkXCI6IGRpc2FibGVkLFxuICAgICAgICAgICAgXCJkYXRhLWRpc2FibGVkXCI6IGRpc2FibGVkID8gXCJcIiA6IHZvaWQgMCxcbiAgICAgICAgICAgIC4uLnNsaWRlclByb3BzLFxuICAgICAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgICAgICBvblBvaW50ZXJEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhzbGlkZXJQcm9wcy5vblBvaW50ZXJEb3duLCAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghZGlzYWJsZWQpIHZhbHVlc0JlZm9yZVNsaWRlU3RhcnRSZWYuY3VycmVudCA9IHZhbHVlcztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWluLFxuICAgICAgICAgICAgbWF4LFxuICAgICAgICAgICAgaW52ZXJ0ZWQsXG4gICAgICAgICAgICBvblNsaWRlU3RhcnQ6IGRpc2FibGVkID8gdm9pZCAwIDogaGFuZGxlU2xpZGVTdGFydCxcbiAgICAgICAgICAgIG9uU2xpZGVNb3ZlOiBkaXNhYmxlZCA/IHZvaWQgMCA6IGhhbmRsZVNsaWRlTW92ZSxcbiAgICAgICAgICAgIG9uU2xpZGVFbmQ6IGRpc2FibGVkID8gdm9pZCAwIDogaGFuZGxlU2xpZGVFbmQsXG4gICAgICAgICAgICBvbkhvbWVLZXlEb3duOiAoKSA9PiAhZGlzYWJsZWQgJiYgdXBkYXRlVmFsdWVzKG1pbiwgMCwgeyBjb21taXQ6IHRydWUgfSksXG4gICAgICAgICAgICBvbkVuZEtleURvd246ICgpID0+ICFkaXNhYmxlZCAmJiB1cGRhdGVWYWx1ZXMobWF4LCB2YWx1ZXMubGVuZ3RoIC0gMSwgeyBjb21taXQ6IHRydWUgfSksXG4gICAgICAgICAgICBvblN0ZXBLZXlEb3duOiAoeyBldmVudCwgZGlyZWN0aW9uOiBzdGVwRGlyZWN0aW9uIH0pID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzUGFnZUtleSA9IFBBR0VfS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU2tpcEtleSA9IGlzUGFnZUtleSB8fCBldmVudC5zaGlmdEtleSAmJiBBUlJPV19LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbXVsdGlwbGllciA9IGlzU2tpcEtleSA/IDEwIDogMTtcbiAgICAgICAgICAgICAgICBjb25zdCBhdEluZGV4ID0gdmFsdWVJbmRleFRvQ2hhbmdlUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUyID0gdmFsdWVzW2F0SW5kZXhdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0ZXBJbkRpcmVjdGlvbiA9IHN0ZXAgKiBtdWx0aXBsaWVyICogc3RlcERpcmVjdGlvbjtcbiAgICAgICAgICAgICAgICB1cGRhdGVWYWx1ZXModmFsdWUyICsgc3RlcEluRGlyZWN0aW9uLCBhdEluZGV4LCB7IGNvbW1pdDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgKSB9KSB9KVxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5TbGlkZXIuZGlzcGxheU5hbWUgPSBTTElERVJfTkFNRTtcbnZhciBbU2xpZGVyT3JpZW50YXRpb25Qcm92aWRlciwgdXNlU2xpZGVyT3JpZW50YXRpb25Db250ZXh0XSA9IGNyZWF0ZVNsaWRlckNvbnRleHQoU0xJREVSX05BTUUsIHtcbiAgc3RhcnRFZGdlOiBcImxlZnRcIixcbiAgZW5kRWRnZTogXCJyaWdodFwiLFxuICBzaXplOiBcIndpZHRoXCIsXG4gIGRpcmVjdGlvbjogMVxufSk7XG52YXIgU2xpZGVySG9yaXpvbnRhbCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbWluLFxuICAgICAgbWF4LFxuICAgICAgZGlyLFxuICAgICAgaW52ZXJ0ZWQsXG4gICAgICBvblNsaWRlU3RhcnQsXG4gICAgICBvblNsaWRlTW92ZSxcbiAgICAgIG9uU2xpZGVFbmQsXG4gICAgICBvblN0ZXBLZXlEb3duLFxuICAgICAgLi4uc2xpZGVyUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW3NsaWRlciwgc2V0U2xpZGVyXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRTbGlkZXIobm9kZSkpO1xuICAgIGNvbnN0IHJlY3RSZWYgPSBSZWFjdC51c2VSZWYodm9pZCAwKTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB1c2VEaXJlY3Rpb24oZGlyKTtcbiAgICBjb25zdCBpc0RpcmVjdGlvbkxUUiA9IGRpcmVjdGlvbiA9PT0gXCJsdHJcIjtcbiAgICBjb25zdCBpc1NsaWRpbmdGcm9tTGVmdCA9IGlzRGlyZWN0aW9uTFRSICYmICFpbnZlcnRlZCB8fCAhaXNEaXJlY3Rpb25MVFIgJiYgaW52ZXJ0ZWQ7XG4gICAgZnVuY3Rpb24gZ2V0VmFsdWVGcm9tUG9pbnRlcihwb2ludGVyUG9zaXRpb24pIHtcbiAgICAgIGNvbnN0IHJlY3QgPSByZWN0UmVmLmN1cnJlbnQgfHwgc2xpZGVyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaW5wdXQgPSBbMCwgcmVjdC53aWR0aF07XG4gICAgICBjb25zdCBvdXRwdXQgPSBpc1NsaWRpbmdGcm9tTGVmdCA/IFttaW4sIG1heF0gOiBbbWF4LCBtaW5dO1xuICAgICAgY29uc3QgdmFsdWUgPSBsaW5lYXJTY2FsZShpbnB1dCwgb3V0cHV0KTtcbiAgICAgIHJlY3RSZWYuY3VycmVudCA9IHJlY3Q7XG4gICAgICByZXR1cm4gdmFsdWUocG9pbnRlclBvc2l0aW9uIC0gcmVjdC5sZWZ0KTtcbiAgICB9XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBTbGlkZXJPcmllbnRhdGlvblByb3ZpZGVyLFxuICAgICAge1xuICAgICAgICBzY29wZTogcHJvcHMuX19zY29wZVNsaWRlcixcbiAgICAgICAgc3RhcnRFZGdlOiBpc1NsaWRpbmdGcm9tTGVmdCA/IFwibGVmdFwiIDogXCJyaWdodFwiLFxuICAgICAgICBlbmRFZGdlOiBpc1NsaWRpbmdGcm9tTGVmdCA/IFwicmlnaHRcIiA6IFwibGVmdFwiLFxuICAgICAgICBkaXJlY3Rpb246IGlzU2xpZGluZ0Zyb21MZWZ0ID8gMSA6IC0xLFxuICAgICAgICBzaXplOiBcIndpZHRoXCIsXG4gICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICAgIFNsaWRlckltcGwsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGlyOiBkaXJlY3Rpb24sXG4gICAgICAgICAgICBcImRhdGEtb3JpZW50YXRpb25cIjogXCJob3Jpem9udGFsXCIsXG4gICAgICAgICAgICAuLi5zbGlkZXJQcm9wcyxcbiAgICAgICAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgLi4uc2xpZGVyUHJvcHMuc3R5bGUsXG4gICAgICAgICAgICAgIFtcIi0tcmFkaXgtc2xpZGVyLXRodW1iLXRyYW5zZm9ybVwiXTogXCJ0cmFuc2xhdGVYKC01MCUpXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblNsaWRlU3RhcnQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldFZhbHVlRnJvbVBvaW50ZXIoZXZlbnQuY2xpZW50WCk7XG4gICAgICAgICAgICAgIG9uU2xpZGVTdGFydD8uKHZhbHVlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblNsaWRlTW92ZTogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0VmFsdWVGcm9tUG9pbnRlcihldmVudC5jbGllbnRYKTtcbiAgICAgICAgICAgICAgb25TbGlkZU1vdmU/Lih2YWx1ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25TbGlkZUVuZDogKCkgPT4ge1xuICAgICAgICAgICAgICByZWN0UmVmLmN1cnJlbnQgPSB2b2lkIDA7XG4gICAgICAgICAgICAgIG9uU2xpZGVFbmQ/LigpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uU3RlcEtleURvd246IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzbGlkZURpcmVjdGlvbiA9IGlzU2xpZGluZ0Zyb21MZWZ0ID8gXCJmcm9tLWxlZnRcIiA6IFwiZnJvbS1yaWdodFwiO1xuICAgICAgICAgICAgICBjb25zdCBpc0JhY2tLZXkgPSBCQUNLX0tFWVNbc2xpZGVEaXJlY3Rpb25dLmluY2x1ZGVzKGV2ZW50LmtleSk7XG4gICAgICAgICAgICAgIG9uU3RlcEtleURvd24/Lih7IGV2ZW50LCBkaXJlY3Rpb246IGlzQmFja0tleSA/IC0xIDogMSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xudmFyIFNsaWRlclZlcnRpY2FsID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgICBpbnZlcnRlZCxcbiAgICAgIG9uU2xpZGVTdGFydCxcbiAgICAgIG9uU2xpZGVNb3ZlLFxuICAgICAgb25TbGlkZUVuZCxcbiAgICAgIG9uU3RlcEtleURvd24sXG4gICAgICAuLi5zbGlkZXJQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBzbGlkZXJSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgcmVmID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgc2xpZGVyUmVmKTtcbiAgICBjb25zdCByZWN0UmVmID0gUmVhY3QudXNlUmVmKHZvaWQgMCk7XG4gICAgY29uc3QgaXNTbGlkaW5nRnJvbUJvdHRvbSA9ICFpbnZlcnRlZDtcbiAgICBmdW5jdGlvbiBnZXRWYWx1ZUZyb21Qb2ludGVyKHBvaW50ZXJQb3NpdGlvbikge1xuICAgICAgY29uc3QgcmVjdCA9IHJlY3RSZWYuY3VycmVudCB8fCBzbGlkZXJSZWYuY3VycmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGlucHV0ID0gWzAsIHJlY3QuaGVpZ2h0XTtcbiAgICAgIGNvbnN0IG91dHB1dCA9IGlzU2xpZGluZ0Zyb21Cb3R0b20gPyBbbWF4LCBtaW5dIDogW21pbiwgbWF4XTtcbiAgICAgIGNvbnN0IHZhbHVlID0gbGluZWFyU2NhbGUoaW5wdXQsIG91dHB1dCk7XG4gICAgICByZWN0UmVmLmN1cnJlbnQgPSByZWN0O1xuICAgICAgcmV0dXJuIHZhbHVlKHBvaW50ZXJQb3NpdGlvbiAtIHJlY3QudG9wKTtcbiAgICB9XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBTbGlkZXJPcmllbnRhdGlvblByb3ZpZGVyLFxuICAgICAge1xuICAgICAgICBzY29wZTogcHJvcHMuX19zY29wZVNsaWRlcixcbiAgICAgICAgc3RhcnRFZGdlOiBpc1NsaWRpbmdGcm9tQm90dG9tID8gXCJib3R0b21cIiA6IFwidG9wXCIsXG4gICAgICAgIGVuZEVkZ2U6IGlzU2xpZGluZ0Zyb21Cb3R0b20gPyBcInRvcFwiIDogXCJib3R0b21cIixcbiAgICAgICAgc2l6ZTogXCJoZWlnaHRcIixcbiAgICAgICAgZGlyZWN0aW9uOiBpc1NsaWRpbmdGcm9tQm90dG9tID8gMSA6IC0xLFxuICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgICBTbGlkZXJJbXBsLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiZGF0YS1vcmllbnRhdGlvblwiOiBcInZlcnRpY2FsXCIsXG4gICAgICAgICAgICAuLi5zbGlkZXJQcm9wcyxcbiAgICAgICAgICAgIHJlZixcbiAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgIC4uLnNsaWRlclByb3BzLnN0eWxlLFxuICAgICAgICAgICAgICBbXCItLXJhZGl4LXNsaWRlci10aHVtYi10cmFuc2Zvcm1cIl06IFwidHJhbnNsYXRlWSg1MCUpXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblNsaWRlU3RhcnQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdldFZhbHVlRnJvbVBvaW50ZXIoZXZlbnQuY2xpZW50WSk7XG4gICAgICAgICAgICAgIG9uU2xpZGVTdGFydD8uKHZhbHVlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblNsaWRlTW92ZTogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2V0VmFsdWVGcm9tUG9pbnRlcihldmVudC5jbGllbnRZKTtcbiAgICAgICAgICAgICAgb25TbGlkZU1vdmU/Lih2YWx1ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25TbGlkZUVuZDogKCkgPT4ge1xuICAgICAgICAgICAgICByZWN0UmVmLmN1cnJlbnQgPSB2b2lkIDA7XG4gICAgICAgICAgICAgIG9uU2xpZGVFbmQ/LigpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uU3RlcEtleURvd246IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBzbGlkZURpcmVjdGlvbiA9IGlzU2xpZGluZ0Zyb21Cb3R0b20gPyBcImZyb20tYm90dG9tXCIgOiBcImZyb20tdG9wXCI7XG4gICAgICAgICAgICAgIGNvbnN0IGlzQmFja0tleSA9IEJBQ0tfS0VZU1tzbGlkZURpcmVjdGlvbl0uaW5jbHVkZXMoZXZlbnQua2V5KTtcbiAgICAgICAgICAgICAgb25TdGVwS2V5RG93bj8uKHsgZXZlbnQsIGRpcmVjdGlvbjogaXNCYWNrS2V5ID8gLTEgOiAxIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG52YXIgU2xpZGVySW1wbCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgX19zY29wZVNsaWRlcixcbiAgICAgIG9uU2xpZGVTdGFydCxcbiAgICAgIG9uU2xpZGVNb3ZlLFxuICAgICAgb25TbGlkZUVuZCxcbiAgICAgIG9uSG9tZUtleURvd24sXG4gICAgICBvbkVuZEtleURvd24sXG4gICAgICBvblN0ZXBLZXlEb3duLFxuICAgICAgLi4uc2xpZGVyUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNsaWRlckNvbnRleHQoU0xJREVSX05BTUUsIF9fc2NvcGVTbGlkZXIpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgUHJpbWl0aXZlLnNwYW4sXG4gICAgICB7XG4gICAgICAgIC4uLnNsaWRlclByb3BzLFxuICAgICAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICAgICAgb25LZXlEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFwiSG9tZVwiKSB7XG4gICAgICAgICAgICBvbkhvbWVLZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09IFwiRW5kXCIpIHtcbiAgICAgICAgICAgIG9uRW5kS2V5RG93bihldmVudCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoUEFHRV9LRVlTLmNvbmNhdChBUlJPV19LRVlTKS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICBvblN0ZXBLZXlEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgb25Qb2ludGVyRG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Qb2ludGVyRG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICAgIHRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgaWYgKGNvbnRleHQudGh1bWJzLmhhcyh0YXJnZXQpKSB7XG4gICAgICAgICAgICB0YXJnZXQuZm9jdXMoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb25TbGlkZVN0YXJ0KGV2ZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBvblBvaW50ZXJNb3ZlOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vblBvaW50ZXJNb3ZlLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgICAgaWYgKHRhcmdldC5oYXNQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpKSBvblNsaWRlTW92ZShldmVudCk7XG4gICAgICAgIH0pLFxuICAgICAgICBvblBvaW50ZXJVcDogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Qb2ludGVyVXAsIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgICBpZiAodGFyZ2V0Lmhhc1BvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCkpIHtcbiAgICAgICAgICAgIHRhcmdldC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKTtcbiAgICAgICAgICAgIG9uU2xpZGVFbmQoZXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xudmFyIFRSQUNLX05BTUUgPSBcIlNsaWRlclRyYWNrXCI7XG52YXIgU2xpZGVyVHJhY2sgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNsaWRlciwgLi4udHJhY2tQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNsaWRlckNvbnRleHQoVFJBQ0tfTkFNRSwgX19zY29wZVNsaWRlcik7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBQcmltaXRpdmUuc3BhbixcbiAgICAgIHtcbiAgICAgICAgXCJkYXRhLWRpc2FibGVkXCI6IGNvbnRleHQuZGlzYWJsZWQgPyBcIlwiIDogdm9pZCAwLFxuICAgICAgICBcImRhdGEtb3JpZW50YXRpb25cIjogY29udGV4dC5vcmllbnRhdGlvbixcbiAgICAgICAgLi4udHJhY2tQcm9wcyxcbiAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWZcbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuU2xpZGVyVHJhY2suZGlzcGxheU5hbWUgPSBUUkFDS19OQU1FO1xudmFyIFJBTkdFX05BTUUgPSBcIlNsaWRlclJhbmdlXCI7XG52YXIgU2xpZGVyUmFuZ2UgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNsaWRlciwgLi4ucmFuZ2VQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNsaWRlckNvbnRleHQoUkFOR0VfTkFNRSwgX19zY29wZVNsaWRlcik7XG4gICAgY29uc3Qgb3JpZW50YXRpb24gPSB1c2VTbGlkZXJPcmllbnRhdGlvbkNvbnRleHQoUkFOR0VfTkFNRSwgX19zY29wZVNsaWRlcik7XG4gICAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIHJlZik7XG4gICAgY29uc3QgdmFsdWVzQ291bnQgPSBjb250ZXh0LnZhbHVlcy5sZW5ndGg7XG4gICAgY29uc3QgcGVyY2VudGFnZXMgPSBjb250ZXh0LnZhbHVlcy5tYXAoXG4gICAgICAodmFsdWUpID0+IGNvbnZlcnRWYWx1ZVRvUGVyY2VudGFnZSh2YWx1ZSwgY29udGV4dC5taW4sIGNvbnRleHQubWF4KVxuICAgICk7XG4gICAgY29uc3Qgb2Zmc2V0U3RhcnQgPSB2YWx1ZXNDb3VudCA+IDEgPyBNYXRoLm1pbiguLi5wZXJjZW50YWdlcykgOiAwO1xuICAgIGNvbnN0IG9mZnNldEVuZCA9IDEwMCAtIE1hdGgubWF4KC4uLnBlcmNlbnRhZ2VzKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFByaW1pdGl2ZS5zcGFuLFxuICAgICAge1xuICAgICAgICBcImRhdGEtb3JpZW50YXRpb25cIjogY29udGV4dC5vcmllbnRhdGlvbixcbiAgICAgICAgXCJkYXRhLWRpc2FibGVkXCI6IGNvbnRleHQuZGlzYWJsZWQgPyBcIlwiIDogdm9pZCAwLFxuICAgICAgICAuLi5yYW5nZVByb3BzLFxuICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAuLi5wcm9wcy5zdHlsZSxcbiAgICAgICAgICBbb3JpZW50YXRpb24uc3RhcnRFZGdlXTogb2Zmc2V0U3RhcnQgKyBcIiVcIixcbiAgICAgICAgICBbb3JpZW50YXRpb24uZW5kRWRnZV06IG9mZnNldEVuZCArIFwiJVwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuU2xpZGVyUmFuZ2UuZGlzcGxheU5hbWUgPSBSQU5HRV9OQU1FO1xudmFyIFRIVU1CX05BTUUgPSBcIlNsaWRlclRodW1iXCI7XG52YXIgU2xpZGVyVGh1bWIgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IGdldEl0ZW1zID0gdXNlQ29sbGVjdGlvbihwcm9wcy5fX3Njb3BlU2xpZGVyKTtcbiAgICBjb25zdCBbdGh1bWIsIHNldFRodW1iXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRUaHVtYihub2RlKSk7XG4gICAgY29uc3QgaW5kZXggPSBSZWFjdC51c2VNZW1vKFxuICAgICAgKCkgPT4gdGh1bWIgPyBnZXRJdGVtcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5yZWYuY3VycmVudCA9PT0gdGh1bWIpIDogLTEsXG4gICAgICBbZ2V0SXRlbXMsIHRodW1iXVxuICAgICk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU2xpZGVyVGh1bWJJbXBsLCB7IC4uLnByb3BzLCByZWY6IGNvbXBvc2VkUmVmcywgaW5kZXggfSk7XG4gIH1cbik7XG52YXIgU2xpZGVyVGh1bWJJbXBsID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTbGlkZXIsIGluZGV4LCBuYW1lLCAuLi50aHVtYlByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlU2xpZGVyQ29udGV4dChUSFVNQl9OQU1FLCBfX3Njb3BlU2xpZGVyKTtcbiAgICBjb25zdCBvcmllbnRhdGlvbiA9IHVzZVNsaWRlck9yaWVudGF0aW9uQ29udGV4dChUSFVNQl9OQU1FLCBfX3Njb3BlU2xpZGVyKTtcbiAgICBjb25zdCBbdGh1bWIsIHNldFRodW1iXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRUaHVtYihub2RlKSk7XG4gICAgY29uc3QgaXNGb3JtQ29udHJvbCA9IHRodW1iID8gY29udGV4dC5mb3JtIHx8ICEhdGh1bWIuY2xvc2VzdChcImZvcm1cIikgOiB0cnVlO1xuICAgIGNvbnN0IHNpemUgPSB1c2VTaXplKHRodW1iKTtcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRleHQudmFsdWVzW2luZGV4XTtcbiAgICBjb25zdCBwZXJjZW50ID0gdmFsdWUgPT09IHZvaWQgMCA/IDAgOiBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsdWUsIGNvbnRleHQubWluLCBjb250ZXh0Lm1heCk7XG4gICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbChpbmRleCwgY29udGV4dC52YWx1ZXMubGVuZ3RoKTtcbiAgICBjb25zdCBvcmllbnRhdGlvblNpemUgPSBzaXplPy5bb3JpZW50YXRpb24uc2l6ZV07XG4gICAgY29uc3QgdGh1bWJJbkJvdW5kc09mZnNldCA9IG9yaWVudGF0aW9uU2l6ZSA/IGdldFRodW1iSW5Cb3VuZHNPZmZzZXQob3JpZW50YXRpb25TaXplLCBwZXJjZW50LCBvcmllbnRhdGlvbi5kaXJlY3Rpb24pIDogMDtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRodW1iKSB7XG4gICAgICAgIGNvbnRleHQudGh1bWJzLmFkZCh0aHVtYik7XG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgY29udGV4dC50aHVtYnMuZGVsZXRlKHRodW1iKTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9LCBbdGh1bWIsIGNvbnRleHQudGh1bWJzXSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFxuICAgICAgXCJzcGFuXCIsXG4gICAgICB7XG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBcInZhcigtLXJhZGl4LXNsaWRlci10aHVtYi10cmFuc2Zvcm0pXCIsXG4gICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICBbb3JpZW50YXRpb24uc3RhcnRFZGdlXTogYGNhbGMoJHtwZXJjZW50fSUgKyAke3RodW1iSW5Cb3VuZHNPZmZzZXR9cHgpYFxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgIC8qIEBfX1BVUkVfXyAqLyBqc3goQ29sbGVjdGlvbi5JdGVtU2xvdCwgeyBzY29wZTogcHJvcHMuX19zY29wZVNsaWRlciwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgICBQcmltaXRpdmUuc3BhbixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcm9sZTogXCJzbGlkZXJcIixcbiAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IHByb3BzW1wiYXJpYS1sYWJlbFwiXSB8fCBsYWJlbCxcbiAgICAgICAgICAgICAgXCJhcmlhLXZhbHVlbWluXCI6IGNvbnRleHQubWluLFxuICAgICAgICAgICAgICBcImFyaWEtdmFsdWVub3dcIjogdmFsdWUsXG4gICAgICAgICAgICAgIFwiYXJpYS12YWx1ZW1heFwiOiBjb250ZXh0Lm1heCxcbiAgICAgICAgICAgICAgXCJhcmlhLW9yaWVudGF0aW9uXCI6IGNvbnRleHQub3JpZW50YXRpb24sXG4gICAgICAgICAgICAgIFwiZGF0YS1vcmllbnRhdGlvblwiOiBjb250ZXh0Lm9yaWVudGF0aW9uLFxuICAgICAgICAgICAgICBcImRhdGEtZGlzYWJsZWRcIjogY29udGV4dC5kaXNhYmxlZCA/IFwiXCIgOiB2b2lkIDAsXG4gICAgICAgICAgICAgIHRhYkluZGV4OiBjb250ZXh0LmRpc2FibGVkID8gdm9pZCAwIDogMCxcbiAgICAgICAgICAgICAgLi4udGh1bWJQcm9wcyxcbiAgICAgICAgICAgICAgcmVmOiBjb21wb3NlZFJlZnMsXG4gICAgICAgICAgICAgIHN0eWxlOiB2YWx1ZSA9PT0gdm9pZCAwID8geyBkaXNwbGF5OiBcIm5vbmVcIiB9IDogcHJvcHMuc3R5bGUsXG4gICAgICAgICAgICAgIG9uRm9jdXM6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uRm9jdXMsICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LnZhbHVlSW5kZXhUb0NoYW5nZVJlZi5jdXJyZW50ID0gaW5kZXg7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKSB9KSxcbiAgICAgICAgICBpc0Zvcm1Db250cm9sICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgICBCdWJibGVJbnB1dCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogbmFtZSA/PyAoY29udGV4dC5uYW1lID8gY29udGV4dC5uYW1lICsgKGNvbnRleHQudmFsdWVzLmxlbmd0aCA+IDEgPyBcIltdXCIgOiBcIlwiKSA6IHZvaWQgMCksXG4gICAgICAgICAgICAgIGZvcm06IGNvbnRleHQuZm9ybSxcbiAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBpbmRleFxuICAgICAgICAgIClcbiAgICAgICAgXVxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5TbGlkZXJUaHVtYi5kaXNwbGF5TmFtZSA9IFRIVU1CX05BTUU7XG52YXIgQnViYmxlSW5wdXQgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyB2YWx1ZSwgLi4uaW5wdXRQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgcHJldlZhbHVlID0gdXNlUHJldmlvdXModmFsdWUpO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0ID0gcmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgaW5wdXRQcm90byA9IHdpbmRvdy5IVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZTtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbnB1dFByb3RvLCBcInZhbHVlXCIpO1xuICAgIGNvbnN0IHNldFZhbHVlID0gZGVzY3JpcHRvci5zZXQ7XG4gICAgaWYgKHByZXZWYWx1ZSAhPT0gdmFsdWUgJiYgc2V0VmFsdWUpIHtcbiAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KFwiaW5wdXRcIiwgeyBidWJibGVzOiB0cnVlIH0pO1xuICAgICAgc2V0VmFsdWUuY2FsbChpbnB1dCwgdmFsdWUpO1xuICAgICAgaW5wdXQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgfVxuICB9LCBbcHJldlZhbHVlLCB2YWx1ZV0pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcImlucHV0XCIsIHsgc3R5bGU6IHsgZGlzcGxheTogXCJub25lXCIgfSwgLi4uaW5wdXRQcm9wcywgcmVmLCBkZWZhdWx0VmFsdWU6IHZhbHVlIH0pO1xufTtcbmZ1bmN0aW9uIGdldE5leHRTb3J0ZWRWYWx1ZXMocHJldlZhbHVlcyA9IFtdLCBuZXh0VmFsdWUsIGF0SW5kZXgpIHtcbiAgY29uc3QgbmV4dFZhbHVlcyA9IFsuLi5wcmV2VmFsdWVzXTtcbiAgbmV4dFZhbHVlc1thdEluZGV4XSA9IG5leHRWYWx1ZTtcbiAgcmV0dXJuIG5leHRWYWx1ZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xufVxuZnVuY3Rpb24gY29udmVydFZhbHVlVG9QZXJjZW50YWdlKHZhbHVlLCBtaW4sIG1heCkge1xuICBjb25zdCBtYXhTdGVwcyA9IG1heCAtIG1pbjtcbiAgY29uc3QgcGVyY2VudFBlclN0ZXAgPSAxMDAgLyBtYXhTdGVwcztcbiAgY29uc3QgcGVyY2VudGFnZSA9IHBlcmNlbnRQZXJTdGVwICogKHZhbHVlIC0gbWluKTtcbiAgcmV0dXJuIGNsYW1wKHBlcmNlbnRhZ2UsIFswLCAxMDBdKTtcbn1cbmZ1bmN0aW9uIGdldExhYmVsKGluZGV4LCB0b3RhbFZhbHVlcykge1xuICBpZiAodG90YWxWYWx1ZXMgPiAyKSB7XG4gICAgcmV0dXJuIGBWYWx1ZSAke2luZGV4ICsgMX0gb2YgJHt0b3RhbFZhbHVlc31gO1xuICB9IGVsc2UgaWYgKHRvdGFsVmFsdWVzID09PSAyKSB7XG4gICAgcmV0dXJuIFtcIk1pbmltdW1cIiwgXCJNYXhpbXVtXCJdW2luZGV4XTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG59XG5mdW5jdGlvbiBnZXRDbG9zZXN0VmFsdWVJbmRleCh2YWx1ZXMsIG5leHRWYWx1ZSkge1xuICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMSkgcmV0dXJuIDA7XG4gIGNvbnN0IGRpc3RhbmNlcyA9IHZhbHVlcy5tYXAoKHZhbHVlKSA9PiBNYXRoLmFicyh2YWx1ZSAtIG5leHRWYWx1ZSkpO1xuICBjb25zdCBjbG9zZXN0RGlzdGFuY2UgPSBNYXRoLm1pbiguLi5kaXN0YW5jZXMpO1xuICByZXR1cm4gZGlzdGFuY2VzLmluZGV4T2YoY2xvc2VzdERpc3RhbmNlKTtcbn1cbmZ1bmN0aW9uIGdldFRodW1iSW5Cb3VuZHNPZmZzZXQod2lkdGgsIGxlZnQsIGRpcmVjdGlvbikge1xuICBjb25zdCBoYWxmV2lkdGggPSB3aWR0aCAvIDI7XG4gIGNvbnN0IGhhbGZQZXJjZW50ID0gNTA7XG4gIGNvbnN0IG9mZnNldCA9IGxpbmVhclNjYWxlKFswLCBoYWxmUGVyY2VudF0sIFswLCBoYWxmV2lkdGhdKTtcbiAgcmV0dXJuIChoYWxmV2lkdGggLSBvZmZzZXQobGVmdCkgKiBkaXJlY3Rpb24pICogZGlyZWN0aW9uO1xufVxuZnVuY3Rpb24gZ2V0U3RlcHNCZXR3ZWVuVmFsdWVzKHZhbHVlcykge1xuICByZXR1cm4gdmFsdWVzLnNsaWNlKDAsIC0xKS5tYXAoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWVzW2luZGV4ICsgMV0gLSB2YWx1ZSk7XG59XG5mdW5jdGlvbiBoYXNNaW5TdGVwc0JldHdlZW5WYWx1ZXModmFsdWVzLCBtaW5TdGVwc0JldHdlZW5WYWx1ZXMpIHtcbiAgaWYgKG1pblN0ZXBzQmV0d2VlblZhbHVlcyA+IDApIHtcbiAgICBjb25zdCBzdGVwc0JldHdlZW5WYWx1ZXMgPSBnZXRTdGVwc0JldHdlZW5WYWx1ZXModmFsdWVzKTtcbiAgICBjb25zdCBhY3R1YWxNaW5TdGVwc0JldHdlZW5WYWx1ZXMgPSBNYXRoLm1pbiguLi5zdGVwc0JldHdlZW5WYWx1ZXMpO1xuICAgIHJldHVybiBhY3R1YWxNaW5TdGVwc0JldHdlZW5WYWx1ZXMgPj0gbWluU3RlcHNCZXR3ZWVuVmFsdWVzO1xuICB9XG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gbGluZWFyU2NhbGUoaW5wdXQsIG91dHB1dCkge1xuICByZXR1cm4gKHZhbHVlKSA9PiB7XG4gICAgaWYgKGlucHV0WzBdID09PSBpbnB1dFsxXSB8fCBvdXRwdXRbMF0gPT09IG91dHB1dFsxXSkgcmV0dXJuIG91dHB1dFswXTtcbiAgICBjb25zdCByYXRpbyA9IChvdXRwdXRbMV0gLSBvdXRwdXRbMF0pIC8gKGlucHV0WzFdIC0gaW5wdXRbMF0pO1xuICAgIHJldHVybiBvdXRwdXRbMF0gKyByYXRpbyAqICh2YWx1ZSAtIGlucHV0WzBdKTtcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldERlY2ltYWxDb3VudCh2YWx1ZSkge1xuICByZXR1cm4gKFN0cmluZyh2YWx1ZSkuc3BsaXQoXCIuXCIpWzFdIHx8IFwiXCIpLmxlbmd0aDtcbn1cbmZ1bmN0aW9uIHJvdW5kVmFsdWUodmFsdWUsIGRlY2ltYWxDb3VudCkge1xuICBjb25zdCByb3VuZGVyID0gTWF0aC5wb3coMTAsIGRlY2ltYWxDb3VudCk7XG4gIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogcm91bmRlcikgLyByb3VuZGVyO1xufVxudmFyIFJvb3QgPSBTbGlkZXI7XG52YXIgVHJhY2sgPSBTbGlkZXJUcmFjaztcbnZhciBSYW5nZSA9IFNsaWRlclJhbmdlO1xudmFyIFRodW1iID0gU2xpZGVyVGh1bWI7XG5leHBvcnQge1xuICBSYW5nZSxcbiAgUm9vdCxcbiAgU2xpZGVyLFxuICBTbGlkZXJSYW5nZSxcbiAgU2xpZGVyVGh1bWIsXG4gIFNsaWRlclRyYWNrLFxuICBUaHVtYixcbiAgVHJhY2ssXG4gIGNyZWF0ZVNsaWRlclNjb3BlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIixudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLCIvKipcbiAqIEN1c3RvbSBwb3NpdGlvbmluZyByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy92aXJ0dWFsLWVsZW1lbnRzXG4gKi9cblxuY29uc3Qgc2lkZXMgPSBbJ3RvcCcsICdyaWdodCcsICdib3R0b20nLCAnbGVmdCddO1xuY29uc3QgYWxpZ25tZW50cyA9IFsnc3RhcnQnLCAnZW5kJ107XG5jb25zdCBwbGFjZW1lbnRzID0gLyojX19QVVJFX18qL3NpZGVzLnJlZHVjZSgoYWNjLCBzaWRlKSA9PiBhY2MuY29uY2F0KHNpZGUsIHNpZGUgKyBcIi1cIiArIGFsaWdubWVudHNbMF0sIHNpZGUgKyBcIi1cIiArIGFsaWdubWVudHNbMV0pLCBbXSk7XG5jb25zdCBtaW4gPSBNYXRoLm1pbjtcbmNvbnN0IG1heCA9IE1hdGgubWF4O1xuY29uc3Qgcm91bmQgPSBNYXRoLnJvdW5kO1xuY29uc3QgZmxvb3IgPSBNYXRoLmZsb29yO1xuY29uc3QgY3JlYXRlQ29vcmRzID0gdiA9PiAoe1xuICB4OiB2LFxuICB5OiB2XG59KTtcbmNvbnN0IG9wcG9zaXRlU2lkZU1hcCA9IHtcbiAgbGVmdDogJ3JpZ2h0JyxcbiAgcmlnaHQ6ICdsZWZ0JyxcbiAgYm90dG9tOiAndG9wJyxcbiAgdG9wOiAnYm90dG9tJ1xufTtcbmNvbnN0IG9wcG9zaXRlQWxpZ25tZW50TWFwID0ge1xuICBzdGFydDogJ2VuZCcsXG4gIGVuZDogJ3N0YXJ0J1xufTtcbmZ1bmN0aW9uIGNsYW1wKHN0YXJ0LCB2YWx1ZSwgZW5kKSB7XG4gIHJldHVybiBtYXgoc3RhcnQsIG1pbih2YWx1ZSwgZW5kKSk7XG59XG5mdW5jdGlvbiBldmFsdWF0ZSh2YWx1ZSwgcGFyYW0pIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyA/IHZhbHVlKHBhcmFtKSA6IHZhbHVlO1xufVxuZnVuY3Rpb24gZ2V0U2lkZShwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xufVxuZnVuY3Rpb24gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCkge1xuICByZXR1cm4gcGxhY2VtZW50LnNwbGl0KCctJylbMV07XG59XG5mdW5jdGlvbiBnZXRPcHBvc2l0ZUF4aXMoYXhpcykge1xuICByZXR1cm4gYXhpcyA9PT0gJ3gnID8gJ3knIDogJ3gnO1xufVxuZnVuY3Rpb24gZ2V0QXhpc0xlbmd0aChheGlzKSB7XG4gIHJldHVybiBheGlzID09PSAneScgPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG59XG5mdW5jdGlvbiBnZXRTaWRlQXhpcyhwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIFsndG9wJywgJ2JvdHRvbSddLmluY2x1ZGVzKGdldFNpZGUocGxhY2VtZW50KSkgPyAneScgOiAneCc7XG59XG5mdW5jdGlvbiBnZXRBbGlnbm1lbnRBeGlzKHBsYWNlbWVudCkge1xuICByZXR1cm4gZ2V0T3Bwb3NpdGVBeGlzKGdldFNpZGVBeGlzKHBsYWNlbWVudCkpO1xufVxuZnVuY3Rpb24gZ2V0QWxpZ25tZW50U2lkZXMocGxhY2VtZW50LCByZWN0cywgcnRsKSB7XG4gIGlmIChydGwgPT09IHZvaWQgMCkge1xuICAgIHJ0bCA9IGZhbHNlO1xuICB9XG4gIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICBjb25zdCBhbGlnbm1lbnRBeGlzID0gZ2V0QWxpZ25tZW50QXhpcyhwbGFjZW1lbnQpO1xuICBjb25zdCBsZW5ndGggPSBnZXRBeGlzTGVuZ3RoKGFsaWdubWVudEF4aXMpO1xuICBsZXQgbWFpbkFsaWdubWVudFNpZGUgPSBhbGlnbm1lbnRBeGlzID09PSAneCcgPyBhbGlnbm1lbnQgPT09IChydGwgPyAnZW5kJyA6ICdzdGFydCcpID8gJ3JpZ2h0JyA6ICdsZWZ0JyA6IGFsaWdubWVudCA9PT0gJ3N0YXJ0JyA/ICdib3R0b20nIDogJ3RvcCc7XG4gIGlmIChyZWN0cy5yZWZlcmVuY2VbbGVuZ3RoXSA+IHJlY3RzLmZsb2F0aW5nW2xlbmd0aF0pIHtcbiAgICBtYWluQWxpZ25tZW50U2lkZSA9IGdldE9wcG9zaXRlUGxhY2VtZW50KG1haW5BbGlnbm1lbnRTaWRlKTtcbiAgfVxuICByZXR1cm4gW21haW5BbGlnbm1lbnRTaWRlLCBnZXRPcHBvc2l0ZVBsYWNlbWVudChtYWluQWxpZ25tZW50U2lkZSldO1xufVxuZnVuY3Rpb24gZ2V0RXhwYW5kZWRQbGFjZW1lbnRzKHBsYWNlbWVudCkge1xuICBjb25zdCBvcHBvc2l0ZVBsYWNlbWVudCA9IGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gIHJldHVybiBbZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQocGxhY2VtZW50KSwgb3Bwb3NpdGVQbGFjZW1lbnQsIGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KG9wcG9zaXRlUGxhY2VtZW50KV07XG59XG5mdW5jdGlvbiBnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudChwbGFjZW1lbnQpIHtcbiAgcmV0dXJuIHBsYWNlbWVudC5yZXBsYWNlKC9zdGFydHxlbmQvZywgYWxpZ25tZW50ID0+IG9wcG9zaXRlQWxpZ25tZW50TWFwW2FsaWdubWVudF0pO1xufVxuZnVuY3Rpb24gZ2V0U2lkZUxpc3Qoc2lkZSwgaXNTdGFydCwgcnRsKSB7XG4gIGNvbnN0IGxyID0gWydsZWZ0JywgJ3JpZ2h0J107XG4gIGNvbnN0IHJsID0gWydyaWdodCcsICdsZWZ0J107XG4gIGNvbnN0IHRiID0gWyd0b3AnLCAnYm90dG9tJ107XG4gIGNvbnN0IGJ0ID0gWydib3R0b20nLCAndG9wJ107XG4gIHN3aXRjaCAoc2lkZSkge1xuICAgIGNhc2UgJ3RvcCc6XG4gICAgY2FzZSAnYm90dG9tJzpcbiAgICAgIGlmIChydGwpIHJldHVybiBpc1N0YXJ0ID8gcmwgOiBscjtcbiAgICAgIHJldHVybiBpc1N0YXJ0ID8gbHIgOiBybDtcbiAgICBjYXNlICdsZWZ0JzpcbiAgICBjYXNlICdyaWdodCc6XG4gICAgICByZXR1cm4gaXNTdGFydCA/IHRiIDogYnQ7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBbXTtcbiAgfVxufVxuZnVuY3Rpb24gZ2V0T3Bwb3NpdGVBeGlzUGxhY2VtZW50cyhwbGFjZW1lbnQsIGZsaXBBbGlnbm1lbnQsIGRpcmVjdGlvbiwgcnRsKSB7XG4gIGNvbnN0IGFsaWdubWVudCA9IGdldEFsaWdubWVudChwbGFjZW1lbnQpO1xuICBsZXQgbGlzdCA9IGdldFNpZGVMaXN0KGdldFNpZGUocGxhY2VtZW50KSwgZGlyZWN0aW9uID09PSAnc3RhcnQnLCBydGwpO1xuICBpZiAoYWxpZ25tZW50KSB7XG4gICAgbGlzdCA9IGxpc3QubWFwKHNpZGUgPT4gc2lkZSArIFwiLVwiICsgYWxpZ25tZW50KTtcbiAgICBpZiAoZmxpcEFsaWdubWVudCkge1xuICAgICAgbGlzdCA9IGxpc3QuY29uY2F0KGxpc3QubWFwKGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBsaXN0O1xufVxuZnVuY3Rpb24gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIHJldHVybiBwbGFjZW1lbnQucmVwbGFjZSgvbGVmdHxyaWdodHxib3R0b218dG9wL2csIHNpZGUgPT4gb3Bwb3NpdGVTaWRlTWFwW3NpZGVdKTtcbn1cbmZ1bmN0aW9uIGV4cGFuZFBhZGRpbmdPYmplY3QocGFkZGluZykge1xuICByZXR1cm4ge1xuICAgIHRvcDogMCxcbiAgICByaWdodDogMCxcbiAgICBib3R0b206IDAsXG4gICAgbGVmdDogMCxcbiAgICAuLi5wYWRkaW5nXG4gIH07XG59XG5mdW5jdGlvbiBnZXRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpIHtcbiAgcmV0dXJuIHR5cGVvZiBwYWRkaW5nICE9PSAnbnVtYmVyJyA/IGV4cGFuZFBhZGRpbmdPYmplY3QocGFkZGluZykgOiB7XG4gICAgdG9wOiBwYWRkaW5nLFxuICAgIHJpZ2h0OiBwYWRkaW5nLFxuICAgIGJvdHRvbTogcGFkZGluZyxcbiAgICBsZWZ0OiBwYWRkaW5nXG4gIH07XG59XG5mdW5jdGlvbiByZWN0VG9DbGllbnRSZWN0KHJlY3QpIHtcbiAgY29uc3Qge1xuICAgIHgsXG4gICAgeSxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHRcbiAgfSA9IHJlY3Q7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHRvcDogeSxcbiAgICBsZWZ0OiB4LFxuICAgIHJpZ2h0OiB4ICsgd2lkdGgsXG4gICAgYm90dG9tOiB5ICsgaGVpZ2h0LFxuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG5leHBvcnQgeyBhbGlnbm1lbnRzLCBjbGFtcCwgY3JlYXRlQ29vcmRzLCBldmFsdWF0ZSwgZXhwYW5kUGFkZGluZ09iamVjdCwgZmxvb3IsIGdldEFsaWdubWVudCwgZ2V0QWxpZ25tZW50QXhpcywgZ2V0QWxpZ25tZW50U2lkZXMsIGdldEF4aXNMZW5ndGgsIGdldEV4cGFuZGVkUGxhY2VtZW50cywgZ2V0T3Bwb3NpdGVBbGlnbm1lbnRQbGFjZW1lbnQsIGdldE9wcG9zaXRlQXhpcywgZ2V0T3Bwb3NpdGVBeGlzUGxhY2VtZW50cywgZ2V0T3Bwb3NpdGVQbGFjZW1lbnQsIGdldFBhZGRpbmdPYmplY3QsIGdldFNpZGUsIGdldFNpZGVBeGlzLCBtYXgsIG1pbiwgcGxhY2VtZW50cywgcmVjdFRvQ2xpZW50UmVjdCwgcm91bmQsIHNpZGVzIH07XG4iLCJpbXBvcnQgeyBnZXRTaWRlQXhpcywgZ2V0QWxpZ25tZW50QXhpcywgZ2V0QXhpc0xlbmd0aCwgZ2V0U2lkZSwgZ2V0QWxpZ25tZW50LCBldmFsdWF0ZSwgZ2V0UGFkZGluZ09iamVjdCwgcmVjdFRvQ2xpZW50UmVjdCwgbWluLCBjbGFtcCwgcGxhY2VtZW50cywgZ2V0QWxpZ25tZW50U2lkZXMsIGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50LCBnZXRPcHBvc2l0ZVBsYWNlbWVudCwgZ2V0RXhwYW5kZWRQbGFjZW1lbnRzLCBnZXRPcHBvc2l0ZUF4aXNQbGFjZW1lbnRzLCBzaWRlcywgbWF4LCBnZXRPcHBvc2l0ZUF4aXMgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xuZXhwb3J0IHsgcmVjdFRvQ2xpZW50UmVjdCB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscyc7XG5cbmZ1bmN0aW9uIGNvbXB1dGVDb29yZHNGcm9tUGxhY2VtZW50KF9yZWYsIHBsYWNlbWVudCwgcnRsKSB7XG4gIGxldCB7XG4gICAgcmVmZXJlbmNlLFxuICAgIGZsb2F0aW5nXG4gIH0gPSBfcmVmO1xuICBjb25zdCBzaWRlQXhpcyA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCk7XG4gIGNvbnN0IGFsaWdubWVudEF4aXMgPSBnZXRBbGlnbm1lbnRBeGlzKHBsYWNlbWVudCk7XG4gIGNvbnN0IGFsaWduTGVuZ3RoID0gZ2V0QXhpc0xlbmd0aChhbGlnbm1lbnRBeGlzKTtcbiAgY29uc3Qgc2lkZSA9IGdldFNpZGUocGxhY2VtZW50KTtcbiAgY29uc3QgaXNWZXJ0aWNhbCA9IHNpZGVBeGlzID09PSAneSc7XG4gIGNvbnN0IGNvbW1vblggPSByZWZlcmVuY2UueCArIHJlZmVyZW5jZS53aWR0aCAvIDIgLSBmbG9hdGluZy53aWR0aCAvIDI7XG4gIGNvbnN0IGNvbW1vblkgPSByZWZlcmVuY2UueSArIHJlZmVyZW5jZS5oZWlnaHQgLyAyIC0gZmxvYXRpbmcuaGVpZ2h0IC8gMjtcbiAgY29uc3QgY29tbW9uQWxpZ24gPSByZWZlcmVuY2VbYWxpZ25MZW5ndGhdIC8gMiAtIGZsb2F0aW5nW2FsaWduTGVuZ3RoXSAvIDI7XG4gIGxldCBjb29yZHM7XG4gIHN3aXRjaCAoc2lkZSkge1xuICAgIGNhc2UgJ3RvcCc6XG4gICAgICBjb29yZHMgPSB7XG4gICAgICAgIHg6IGNvbW1vblgsXG4gICAgICAgIHk6IHJlZmVyZW5jZS55IC0gZmxvYXRpbmcuaGVpZ2h0XG4gICAgICB9O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnYm90dG9tJzpcbiAgICAgIGNvb3JkcyA9IHtcbiAgICAgICAgeDogY29tbW9uWCxcbiAgICAgICAgeTogcmVmZXJlbmNlLnkgKyByZWZlcmVuY2UuaGVpZ2h0XG4gICAgICB9O1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgY29vcmRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCArIHJlZmVyZW5jZS53aWR0aCxcbiAgICAgICAgeTogY29tbW9uWVxuICAgICAgfTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgY29vcmRzID0ge1xuICAgICAgICB4OiByZWZlcmVuY2UueCAtIGZsb2F0aW5nLndpZHRoLFxuICAgICAgICB5OiBjb21tb25ZXG4gICAgICB9O1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGNvb3JkcyA9IHtcbiAgICAgICAgeDogcmVmZXJlbmNlLngsXG4gICAgICAgIHk6IHJlZmVyZW5jZS55XG4gICAgICB9O1xuICB9XG4gIHN3aXRjaCAoZ2V0QWxpZ25tZW50KHBsYWNlbWVudCkpIHtcbiAgICBjYXNlICdzdGFydCc6XG4gICAgICBjb29yZHNbYWxpZ25tZW50QXhpc10gLT0gY29tbW9uQWxpZ24gKiAocnRsICYmIGlzVmVydGljYWwgPyAtMSA6IDEpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZW5kJzpcbiAgICAgIGNvb3Jkc1thbGlnbm1lbnRBeGlzXSArPSBjb21tb25BbGlnbiAqIChydGwgJiYgaXNWZXJ0aWNhbCA/IC0xIDogMSk7XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gY29vcmRzO1xufVxuXG4vKipcbiAqIENvbXB1dGVzIHRoZSBgeGAgYW5kIGB5YCBjb29yZGluYXRlcyB0aGF0IHdpbGwgcGxhY2UgdGhlIGZsb2F0aW5nIGVsZW1lbnRcbiAqIG5leHQgdG8gYSBnaXZlbiByZWZlcmVuY2UgZWxlbWVudC5cbiAqXG4gKiBUaGlzIGV4cG9ydCBkb2VzIG5vdCBoYXZlIGFueSBgcGxhdGZvcm1gIGludGVyZmFjZSBsb2dpYy4gWW91IHdpbGwgbmVlZCB0b1xuICogd3JpdGUgb25lIGZvciB0aGUgcGxhdGZvcm0geW91IGFyZSB1c2luZyBGbG9hdGluZyBVSSB3aXRoLlxuICovXG5jb25zdCBjb21wdXRlUG9zaXRpb24gPSBhc3luYyAocmVmZXJlbmNlLCBmbG9hdGluZywgY29uZmlnKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBwbGFjZW1lbnQgPSAnYm90dG9tJyxcbiAgICBzdHJhdGVneSA9ICdhYnNvbHV0ZScsXG4gICAgbWlkZGxld2FyZSA9IFtdLFxuICAgIHBsYXRmb3JtXG4gIH0gPSBjb25maWc7XG4gIGNvbnN0IHZhbGlkTWlkZGxld2FyZSA9IG1pZGRsZXdhcmUuZmlsdGVyKEJvb2xlYW4pO1xuICBjb25zdCBydGwgPSBhd2FpdCAocGxhdGZvcm0uaXNSVEwgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmlzUlRMKGZsb2F0aW5nKSk7XG4gIGxldCByZWN0cyA9IGF3YWl0IHBsYXRmb3JtLmdldEVsZW1lbnRSZWN0cyh7XG4gICAgcmVmZXJlbmNlLFxuICAgIGZsb2F0aW5nLFxuICAgIHN0cmF0ZWd5XG4gIH0pO1xuICBsZXQge1xuICAgIHgsXG4gICAgeVxuICB9ID0gY29tcHV0ZUNvb3Jkc0Zyb21QbGFjZW1lbnQocmVjdHMsIHBsYWNlbWVudCwgcnRsKTtcbiAgbGV0IHN0YXRlZnVsUGxhY2VtZW50ID0gcGxhY2VtZW50O1xuICBsZXQgbWlkZGxld2FyZURhdGEgPSB7fTtcbiAgbGV0IHJlc2V0Q291bnQgPSAwO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbGlkTWlkZGxld2FyZS5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHtcbiAgICAgIG5hbWUsXG4gICAgICBmblxuICAgIH0gPSB2YWxpZE1pZGRsZXdhcmVbaV07XG4gICAgY29uc3Qge1xuICAgICAgeDogbmV4dFgsXG4gICAgICB5OiBuZXh0WSxcbiAgICAgIGRhdGEsXG4gICAgICByZXNldFxuICAgIH0gPSBhd2FpdCBmbih7XG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIGluaXRpYWxQbGFjZW1lbnQ6IHBsYWNlbWVudCxcbiAgICAgIHBsYWNlbWVudDogc3RhdGVmdWxQbGFjZW1lbnQsXG4gICAgICBzdHJhdGVneSxcbiAgICAgIG1pZGRsZXdhcmVEYXRhLFxuICAgICAgcmVjdHMsXG4gICAgICBwbGF0Zm9ybSxcbiAgICAgIGVsZW1lbnRzOiB7XG4gICAgICAgIHJlZmVyZW5jZSxcbiAgICAgICAgZmxvYXRpbmdcbiAgICAgIH1cbiAgICB9KTtcbiAgICB4ID0gbmV4dFggIT0gbnVsbCA/IG5leHRYIDogeDtcbiAgICB5ID0gbmV4dFkgIT0gbnVsbCA/IG5leHRZIDogeTtcbiAgICBtaWRkbGV3YXJlRGF0YSA9IHtcbiAgICAgIC4uLm1pZGRsZXdhcmVEYXRhLFxuICAgICAgW25hbWVdOiB7XG4gICAgICAgIC4uLm1pZGRsZXdhcmVEYXRhW25hbWVdLFxuICAgICAgICAuLi5kYXRhXG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAocmVzZXQgJiYgcmVzZXRDb3VudCA8PSA1MCkge1xuICAgICAgcmVzZXRDb3VudCsrO1xuICAgICAgaWYgKHR5cGVvZiByZXNldCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgaWYgKHJlc2V0LnBsYWNlbWVudCkge1xuICAgICAgICAgIHN0YXRlZnVsUGxhY2VtZW50ID0gcmVzZXQucGxhY2VtZW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNldC5yZWN0cykge1xuICAgICAgICAgIHJlY3RzID0gcmVzZXQucmVjdHMgPT09IHRydWUgPyBhd2FpdCBwbGF0Zm9ybS5nZXRFbGVtZW50UmVjdHMoe1xuICAgICAgICAgICAgcmVmZXJlbmNlLFxuICAgICAgICAgICAgZmxvYXRpbmcsXG4gICAgICAgICAgICBzdHJhdGVneVxuICAgICAgICAgIH0pIDogcmVzZXQucmVjdHM7XG4gICAgICAgIH1cbiAgICAgICAgKHtcbiAgICAgICAgICB4LFxuICAgICAgICAgIHlcbiAgICAgICAgfSA9IGNvbXB1dGVDb29yZHNGcm9tUGxhY2VtZW50KHJlY3RzLCBzdGF0ZWZ1bFBsYWNlbWVudCwgcnRsKSk7XG4gICAgICB9XG4gICAgICBpID0gLTE7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgeCxcbiAgICB5LFxuICAgIHBsYWNlbWVudDogc3RhdGVmdWxQbGFjZW1lbnQsXG4gICAgc3RyYXRlZ3ksXG4gICAgbWlkZGxld2FyZURhdGFcbiAgfTtcbn07XG5cbi8qKlxuICogUmVzb2x2ZXMgd2l0aCBhbiBvYmplY3Qgb2Ygb3ZlcmZsb3cgc2lkZSBvZmZzZXRzIHRoYXQgZGV0ZXJtaW5lIGhvdyBtdWNoIHRoZVxuICogZWxlbWVudCBpcyBvdmVyZmxvd2luZyBhIGdpdmVuIGNsaXBwaW5nIGJvdW5kYXJ5IG9uIGVhY2ggc2lkZS5cbiAqIC0gcG9zaXRpdmUgPSBvdmVyZmxvd2luZyB0aGUgYm91bmRhcnkgYnkgdGhhdCBudW1iZXIgb2YgcGl4ZWxzXG4gKiAtIG5lZ2F0aXZlID0gaG93IG1hbnkgcGl4ZWxzIGxlZnQgYmVmb3JlIGl0IHdpbGwgb3ZlcmZsb3dcbiAqIC0gMCA9IGxpZXMgZmx1c2ggd2l0aCB0aGUgYm91bmRhcnlcbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9kZXRlY3RPdmVyZmxvd1xuICovXG5hc3luYyBmdW5jdGlvbiBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwgb3B0aW9ucykge1xuICB2YXIgX2F3YWl0JHBsYXRmb3JtJGlzRWxlO1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGNvbnN0IHtcbiAgICB4LFxuICAgIHksXG4gICAgcGxhdGZvcm0sXG4gICAgcmVjdHMsXG4gICAgZWxlbWVudHMsXG4gICAgc3RyYXRlZ3lcbiAgfSA9IHN0YXRlO1xuICBjb25zdCB7XG4gICAgYm91bmRhcnkgPSAnY2xpcHBpbmdBbmNlc3RvcnMnLFxuICAgIHJvb3RCb3VuZGFyeSA9ICd2aWV3cG9ydCcsXG4gICAgZWxlbWVudENvbnRleHQgPSAnZmxvYXRpbmcnLFxuICAgIGFsdEJvdW5kYXJ5ID0gZmFsc2UsXG4gICAgcGFkZGluZyA9IDBcbiAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgY29uc3QgcGFkZGluZ09iamVjdCA9IGdldFBhZGRpbmdPYmplY3QocGFkZGluZyk7XG4gIGNvbnN0IGFsdENvbnRleHQgPSBlbGVtZW50Q29udGV4dCA9PT0gJ2Zsb2F0aW5nJyA/ICdyZWZlcmVuY2UnIDogJ2Zsb2F0aW5nJztcbiAgY29uc3QgZWxlbWVudCA9IGVsZW1lbnRzW2FsdEJvdW5kYXJ5ID8gYWx0Q29udGV4dCA6IGVsZW1lbnRDb250ZXh0XTtcbiAgY29uc3QgY2xpcHBpbmdDbGllbnRSZWN0ID0gcmVjdFRvQ2xpZW50UmVjdChhd2FpdCBwbGF0Zm9ybS5nZXRDbGlwcGluZ1JlY3Qoe1xuICAgIGVsZW1lbnQ6ICgoX2F3YWl0JHBsYXRmb3JtJGlzRWxlID0gYXdhaXQgKHBsYXRmb3JtLmlzRWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNFbGVtZW50KGVsZW1lbnQpKSkgIT0gbnVsbCA/IF9hd2FpdCRwbGF0Zm9ybSRpc0VsZSA6IHRydWUpID8gZWxlbWVudCA6IGVsZW1lbnQuY29udGV4dEVsZW1lbnQgfHwgKGF3YWl0IChwbGF0Zm9ybS5nZXREb2N1bWVudEVsZW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldERvY3VtZW50RWxlbWVudChlbGVtZW50cy5mbG9hdGluZykpKSxcbiAgICBib3VuZGFyeSxcbiAgICByb290Qm91bmRhcnksXG4gICAgc3RyYXRlZ3lcbiAgfSkpO1xuICBjb25zdCByZWN0ID0gZWxlbWVudENvbnRleHQgPT09ICdmbG9hdGluZycgPyB7XG4gICAgeCxcbiAgICB5LFxuICAgIHdpZHRoOiByZWN0cy5mbG9hdGluZy53aWR0aCxcbiAgICBoZWlnaHQ6IHJlY3RzLmZsb2F0aW5nLmhlaWdodFxuICB9IDogcmVjdHMucmVmZXJlbmNlO1xuICBjb25zdCBvZmZzZXRQYXJlbnQgPSBhd2FpdCAocGxhdGZvcm0uZ2V0T2Zmc2V0UGFyZW50ID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5nZXRPZmZzZXRQYXJlbnQoZWxlbWVudHMuZmxvYXRpbmcpKTtcbiAgY29uc3Qgb2Zmc2V0U2NhbGUgPSAoYXdhaXQgKHBsYXRmb3JtLmlzRWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNFbGVtZW50KG9mZnNldFBhcmVudCkpKSA/IChhd2FpdCAocGxhdGZvcm0uZ2V0U2NhbGUgPT0gbnVsbCA/IHZvaWQgMCA6IHBsYXRmb3JtLmdldFNjYWxlKG9mZnNldFBhcmVudCkpKSB8fCB7XG4gICAgeDogMSxcbiAgICB5OiAxXG4gIH0gOiB7XG4gICAgeDogMSxcbiAgICB5OiAxXG4gIH07XG4gIGNvbnN0IGVsZW1lbnRDbGllbnRSZWN0ID0gcmVjdFRvQ2xpZW50UmVjdChwbGF0Zm9ybS5jb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdCA/IGF3YWl0IHBsYXRmb3JtLmNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0KHtcbiAgICBlbGVtZW50cyxcbiAgICByZWN0LFxuICAgIG9mZnNldFBhcmVudCxcbiAgICBzdHJhdGVneVxuICB9KSA6IHJlY3QpO1xuICByZXR1cm4ge1xuICAgIHRvcDogKGNsaXBwaW5nQ2xpZW50UmVjdC50b3AgLSBlbGVtZW50Q2xpZW50UmVjdC50b3AgKyBwYWRkaW5nT2JqZWN0LnRvcCkgLyBvZmZzZXRTY2FsZS55LFxuICAgIGJvdHRvbTogKGVsZW1lbnRDbGllbnRSZWN0LmJvdHRvbSAtIGNsaXBwaW5nQ2xpZW50UmVjdC5ib3R0b20gKyBwYWRkaW5nT2JqZWN0LmJvdHRvbSkgLyBvZmZzZXRTY2FsZS55LFxuICAgIGxlZnQ6IChjbGlwcGluZ0NsaWVudFJlY3QubGVmdCAtIGVsZW1lbnRDbGllbnRSZWN0LmxlZnQgKyBwYWRkaW5nT2JqZWN0LmxlZnQpIC8gb2Zmc2V0U2NhbGUueCxcbiAgICByaWdodDogKGVsZW1lbnRDbGllbnRSZWN0LnJpZ2h0IC0gY2xpcHBpbmdDbGllbnRSZWN0LnJpZ2h0ICsgcGFkZGluZ09iamVjdC5yaWdodCkgLyBvZmZzZXRTY2FsZS54XG4gIH07XG59XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhbiBpbm5lciBlbGVtZW50IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IHNvIHRoYXQgaXRcbiAqIGFwcGVhcnMgY2VudGVyZWQgdG8gdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2Fycm93XG4gKi9cbmNvbnN0IGFycm93ID0gb3B0aW9ucyA9PiAoe1xuICBuYW1lOiAnYXJyb3cnLFxuICBvcHRpb25zLFxuICBhc3luYyBmbihzdGF0ZSkge1xuICAgIGNvbnN0IHtcbiAgICAgIHgsXG4gICAgICB5LFxuICAgICAgcGxhY2VtZW50LFxuICAgICAgcmVjdHMsXG4gICAgICBwbGF0Zm9ybSxcbiAgICAgIGVsZW1lbnRzLFxuICAgICAgbWlkZGxld2FyZURhdGFcbiAgICB9ID0gc3RhdGU7XG4gICAgLy8gU2luY2UgYGVsZW1lbnRgIGlzIHJlcXVpcmVkLCB3ZSBkb24ndCBQYXJ0aWFsPD4gdGhlIHR5cGUuXG4gICAgY29uc3Qge1xuICAgICAgZWxlbWVudCxcbiAgICAgIHBhZGRpbmcgPSAwXG4gICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKSB8fCB7fTtcbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IHBhZGRpbmdPYmplY3QgPSBnZXRQYWRkaW5nT2JqZWN0KHBhZGRpbmcpO1xuICAgIGNvbnN0IGNvb3JkcyA9IHtcbiAgICAgIHgsXG4gICAgICB5XG4gICAgfTtcbiAgICBjb25zdCBheGlzID0gZ2V0QWxpZ25tZW50QXhpcyhwbGFjZW1lbnQpO1xuICAgIGNvbnN0IGxlbmd0aCA9IGdldEF4aXNMZW5ndGgoYXhpcyk7XG4gICAgY29uc3QgYXJyb3dEaW1lbnNpb25zID0gYXdhaXQgcGxhdGZvcm0uZ2V0RGltZW5zaW9ucyhlbGVtZW50KTtcbiAgICBjb25zdCBpc1lBeGlzID0gYXhpcyA9PT0gJ3knO1xuICAgIGNvbnN0IG1pblByb3AgPSBpc1lBeGlzID8gJ3RvcCcgOiAnbGVmdCc7XG4gICAgY29uc3QgbWF4UHJvcCA9IGlzWUF4aXMgPyAnYm90dG9tJyA6ICdyaWdodCc7XG4gICAgY29uc3QgY2xpZW50UHJvcCA9IGlzWUF4aXMgPyAnY2xpZW50SGVpZ2h0JyA6ICdjbGllbnRXaWR0aCc7XG4gICAgY29uc3QgZW5kRGlmZiA9IHJlY3RzLnJlZmVyZW5jZVtsZW5ndGhdICsgcmVjdHMucmVmZXJlbmNlW2F4aXNdIC0gY29vcmRzW2F4aXNdIC0gcmVjdHMuZmxvYXRpbmdbbGVuZ3RoXTtcbiAgICBjb25zdCBzdGFydERpZmYgPSBjb29yZHNbYXhpc10gLSByZWN0cy5yZWZlcmVuY2VbYXhpc107XG4gICAgY29uc3QgYXJyb3dPZmZzZXRQYXJlbnQgPSBhd2FpdCAocGxhdGZvcm0uZ2V0T2Zmc2V0UGFyZW50ID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5nZXRPZmZzZXRQYXJlbnQoZWxlbWVudCkpO1xuICAgIGxldCBjbGllbnRTaXplID0gYXJyb3dPZmZzZXRQYXJlbnQgPyBhcnJvd09mZnNldFBhcmVudFtjbGllbnRQcm9wXSA6IDA7XG5cbiAgICAvLyBET00gcGxhdGZvcm0gY2FuIHJldHVybiBgd2luZG93YCBhcyB0aGUgYG9mZnNldFBhcmVudGAuXG4gICAgaWYgKCFjbGllbnRTaXplIHx8ICEoYXdhaXQgKHBsYXRmb3JtLmlzRWxlbWVudCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNFbGVtZW50KGFycm93T2Zmc2V0UGFyZW50KSkpKSB7XG4gICAgICBjbGllbnRTaXplID0gZWxlbWVudHMuZmxvYXRpbmdbY2xpZW50UHJvcF0gfHwgcmVjdHMuZmxvYXRpbmdbbGVuZ3RoXTtcbiAgICB9XG4gICAgY29uc3QgY2VudGVyVG9SZWZlcmVuY2UgPSBlbmREaWZmIC8gMiAtIHN0YXJ0RGlmZiAvIDI7XG5cbiAgICAvLyBJZiB0aGUgcGFkZGluZyBpcyBsYXJnZSBlbm91Z2ggdGhhdCBpdCBjYXVzZXMgdGhlIGFycm93IHRvIG5vIGxvbmdlciBiZVxuICAgIC8vIGNlbnRlcmVkLCBtb2RpZnkgdGhlIHBhZGRpbmcgc28gdGhhdCBpdCBpcyBjZW50ZXJlZC5cbiAgICBjb25zdCBsYXJnZXN0UG9zc2libGVQYWRkaW5nID0gY2xpZW50U2l6ZSAvIDIgLSBhcnJvd0RpbWVuc2lvbnNbbGVuZ3RoXSAvIDIgLSAxO1xuICAgIGNvbnN0IG1pblBhZGRpbmcgPSBtaW4ocGFkZGluZ09iamVjdFttaW5Qcm9wXSwgbGFyZ2VzdFBvc3NpYmxlUGFkZGluZyk7XG4gICAgY29uc3QgbWF4UGFkZGluZyA9IG1pbihwYWRkaW5nT2JqZWN0W21heFByb3BdLCBsYXJnZXN0UG9zc2libGVQYWRkaW5nKTtcblxuICAgIC8vIE1ha2Ugc3VyZSB0aGUgYXJyb3cgZG9lc24ndCBvdmVyZmxvdyB0aGUgZmxvYXRpbmcgZWxlbWVudCBpZiB0aGUgY2VudGVyXG4gICAgLy8gcG9pbnQgaXMgb3V0c2lkZSB0aGUgZmxvYXRpbmcgZWxlbWVudCdzIGJvdW5kcy5cbiAgICBjb25zdCBtaW4kMSA9IG1pblBhZGRpbmc7XG4gICAgY29uc3QgbWF4ID0gY2xpZW50U2l6ZSAtIGFycm93RGltZW5zaW9uc1tsZW5ndGhdIC0gbWF4UGFkZGluZztcbiAgICBjb25zdCBjZW50ZXIgPSBjbGllbnRTaXplIC8gMiAtIGFycm93RGltZW5zaW9uc1tsZW5ndGhdIC8gMiArIGNlbnRlclRvUmVmZXJlbmNlO1xuICAgIGNvbnN0IG9mZnNldCA9IGNsYW1wKG1pbiQxLCBjZW50ZXIsIG1heCk7XG5cbiAgICAvLyBJZiB0aGUgcmVmZXJlbmNlIGlzIHNtYWxsIGVub3VnaCB0aGF0IHRoZSBhcnJvdydzIHBhZGRpbmcgY2F1c2VzIGl0IHRvXG4gICAgLy8gdG8gcG9pbnQgdG8gbm90aGluZyBmb3IgYW4gYWxpZ25lZCBwbGFjZW1lbnQsIGFkanVzdCB0aGUgb2Zmc2V0IG9mIHRoZVxuICAgIC8vIGZsb2F0aW5nIGVsZW1lbnQgaXRzZWxmLiBUbyBlbnN1cmUgYHNoaWZ0KClgIGNvbnRpbnVlcyB0byB0YWtlIGFjdGlvbixcbiAgICAvLyBhIHNpbmdsZSByZXNldCBpcyBwZXJmb3JtZWQgd2hlbiB0aGlzIGlzIHRydWUuXG4gICAgY29uc3Qgc2hvdWxkQWRkT2Zmc2V0ID0gIW1pZGRsZXdhcmVEYXRhLmFycm93ICYmIGdldEFsaWdubWVudChwbGFjZW1lbnQpICE9IG51bGwgJiYgY2VudGVyICE9PSBvZmZzZXQgJiYgcmVjdHMucmVmZXJlbmNlW2xlbmd0aF0gLyAyIC0gKGNlbnRlciA8IG1pbiQxID8gbWluUGFkZGluZyA6IG1heFBhZGRpbmcpIC0gYXJyb3dEaW1lbnNpb25zW2xlbmd0aF0gLyAyIDwgMDtcbiAgICBjb25zdCBhbGlnbm1lbnRPZmZzZXQgPSBzaG91bGRBZGRPZmZzZXQgPyBjZW50ZXIgPCBtaW4kMSA/IGNlbnRlciAtIG1pbiQxIDogY2VudGVyIC0gbWF4IDogMDtcbiAgICByZXR1cm4ge1xuICAgICAgW2F4aXNdOiBjb29yZHNbYXhpc10gKyBhbGlnbm1lbnRPZmZzZXQsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIFtheGlzXTogb2Zmc2V0LFxuICAgICAgICBjZW50ZXJPZmZzZXQ6IGNlbnRlciAtIG9mZnNldCAtIGFsaWdubWVudE9mZnNldCxcbiAgICAgICAgLi4uKHNob3VsZEFkZE9mZnNldCAmJiB7XG4gICAgICAgICAgYWxpZ25tZW50T2Zmc2V0XG4gICAgICAgIH0pXG4gICAgICB9LFxuICAgICAgcmVzZXQ6IHNob3VsZEFkZE9mZnNldFxuICAgIH07XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBnZXRQbGFjZW1lbnRMaXN0KGFsaWdubWVudCwgYXV0b0FsaWdubWVudCwgYWxsb3dlZFBsYWNlbWVudHMpIHtcbiAgY29uc3QgYWxsb3dlZFBsYWNlbWVudHNTb3J0ZWRCeUFsaWdubWVudCA9IGFsaWdubWVudCA/IFsuLi5hbGxvd2VkUGxhY2VtZW50cy5maWx0ZXIocGxhY2VtZW50ID0+IGdldEFsaWdubWVudChwbGFjZW1lbnQpID09PSBhbGlnbm1lbnQpLCAuLi5hbGxvd2VkUGxhY2VtZW50cy5maWx0ZXIocGxhY2VtZW50ID0+IGdldEFsaWdubWVudChwbGFjZW1lbnQpICE9PSBhbGlnbm1lbnQpXSA6IGFsbG93ZWRQbGFjZW1lbnRzLmZpbHRlcihwbGFjZW1lbnQgPT4gZ2V0U2lkZShwbGFjZW1lbnQpID09PSBwbGFjZW1lbnQpO1xuICByZXR1cm4gYWxsb3dlZFBsYWNlbWVudHNTb3J0ZWRCeUFsaWdubWVudC5maWx0ZXIocGxhY2VtZW50ID0+IHtcbiAgICBpZiAoYWxpZ25tZW50KSB7XG4gICAgICByZXR1cm4gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCkgPT09IGFsaWdubWVudCB8fCAoYXV0b0FsaWdubWVudCA/IGdldE9wcG9zaXRlQWxpZ25tZW50UGxhY2VtZW50KHBsYWNlbWVudCkgIT09IHBsYWNlbWVudCA6IGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH0pO1xufVxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgY2hvb3NpbmcgdGhlIHBsYWNlbWVudFxuICogdGhhdCBoYXMgdGhlIG1vc3Qgc3BhY2UgYXZhaWxhYmxlIGF1dG9tYXRpY2FsbHksIHdpdGhvdXQgbmVlZGluZyB0byBzcGVjaWZ5IGFcbiAqIHByZWZlcnJlZCBwbGFjZW1lbnQuIEFsdGVybmF0aXZlIHRvIGBmbGlwYC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hdXRvUGxhY2VtZW50XG4gKi9cbmNvbnN0IGF1dG9QbGFjZW1lbnQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2F1dG9QbGFjZW1lbnQnLFxuICAgIG9wdGlvbnMsXG4gICAgYXN5bmMgZm4oc3RhdGUpIHtcbiAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkYXV0b1AsIF9taWRkbGV3YXJlRGF0YSRhdXRvUDIsIF9wbGFjZW1lbnRzVGhhdEZpdE9uRTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcmVjdHMsXG4gICAgICAgIG1pZGRsZXdhcmVEYXRhLFxuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBlbGVtZW50c1xuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBjcm9zc0F4aXMgPSBmYWxzZSxcbiAgICAgICAgYWxpZ25tZW50LFxuICAgICAgICBhbGxvd2VkUGxhY2VtZW50cyA9IHBsYWNlbWVudHMsXG4gICAgICAgIGF1dG9BbGlnbm1lbnQgPSB0cnVlLFxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBjb25zdCBwbGFjZW1lbnRzJDEgPSBhbGlnbm1lbnQgIT09IHVuZGVmaW5lZCB8fCBhbGxvd2VkUGxhY2VtZW50cyA9PT0gcGxhY2VtZW50cyA/IGdldFBsYWNlbWVudExpc3QoYWxpZ25tZW50IHx8IG51bGwsIGF1dG9BbGlnbm1lbnQsIGFsbG93ZWRQbGFjZW1lbnRzKSA6IGFsbG93ZWRQbGFjZW1lbnRzO1xuICAgICAgY29uc3Qgb3ZlcmZsb3cgPSBhd2FpdCBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwgZGV0ZWN0T3ZlcmZsb3dPcHRpb25zKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9ICgoX21pZGRsZXdhcmVEYXRhJGF1dG9QID0gbWlkZGxld2FyZURhdGEuYXV0b1BsYWNlbWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRhdXRvUC5pbmRleCkgfHwgMDtcbiAgICAgIGNvbnN0IGN1cnJlbnRQbGFjZW1lbnQgPSBwbGFjZW1lbnRzJDFbY3VycmVudEluZGV4XTtcbiAgICAgIGlmIChjdXJyZW50UGxhY2VtZW50ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgICAgY29uc3QgYWxpZ25tZW50U2lkZXMgPSBnZXRBbGlnbm1lbnRTaWRlcyhjdXJyZW50UGxhY2VtZW50LCByZWN0cywgYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpKTtcblxuICAgICAgLy8gTWFrZSBgY29tcHV0ZUNvb3Jkc2Agc3RhcnQgZnJvbSB0aGUgcmlnaHQgcGxhY2UuXG4gICAgICBpZiAocGxhY2VtZW50ICE9PSBjdXJyZW50UGxhY2VtZW50KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgIHBsYWNlbWVudDogcGxhY2VtZW50cyQxWzBdXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3QgY3VycmVudE92ZXJmbG93cyA9IFtvdmVyZmxvd1tnZXRTaWRlKGN1cnJlbnRQbGFjZW1lbnQpXSwgb3ZlcmZsb3dbYWxpZ25tZW50U2lkZXNbMF1dLCBvdmVyZmxvd1thbGlnbm1lbnRTaWRlc1sxXV1dO1xuICAgICAgY29uc3QgYWxsT3ZlcmZsb3dzID0gWy4uLigoKF9taWRkbGV3YXJlRGF0YSRhdXRvUDIgPSBtaWRkbGV3YXJlRGF0YS5hdXRvUGxhY2VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJGF1dG9QMi5vdmVyZmxvd3MpIHx8IFtdKSwge1xuICAgICAgICBwbGFjZW1lbnQ6IGN1cnJlbnRQbGFjZW1lbnQsXG4gICAgICAgIG92ZXJmbG93czogY3VycmVudE92ZXJmbG93c1xuICAgICAgfV07XG4gICAgICBjb25zdCBuZXh0UGxhY2VtZW50ID0gcGxhY2VtZW50cyQxW2N1cnJlbnRJbmRleCArIDFdO1xuXG4gICAgICAvLyBUaGVyZSBhcmUgbW9yZSBwbGFjZW1lbnRzIHRvIGNoZWNrLlxuICAgICAgaWYgKG5leHRQbGFjZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBpbmRleDogY3VycmVudEluZGV4ICsgMSxcbiAgICAgICAgICAgIG92ZXJmbG93czogYWxsT3ZlcmZsb3dzXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNldDoge1xuICAgICAgICAgICAgcGxhY2VtZW50OiBuZXh0UGxhY2VtZW50XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgY29uc3QgcGxhY2VtZW50c1NvcnRlZEJ5TW9zdFNwYWNlID0gYWxsT3ZlcmZsb3dzLm1hcChkID0+IHtcbiAgICAgICAgY29uc3QgYWxpZ25tZW50ID0gZ2V0QWxpZ25tZW50KGQucGxhY2VtZW50KTtcbiAgICAgICAgcmV0dXJuIFtkLnBsYWNlbWVudCwgYWxpZ25tZW50ICYmIGNyb3NzQXhpcyA/XG4gICAgICAgIC8vIENoZWNrIGFsb25nIHRoZSBtYWluQXhpcyBhbmQgbWFpbiBjcm9zc0F4aXMgc2lkZS5cbiAgICAgICAgZC5vdmVyZmxvd3Muc2xpY2UoMCwgMikucmVkdWNlKChhY2MsIHYpID0+IGFjYyArIHYsIDApIDpcbiAgICAgICAgLy8gQ2hlY2sgb25seSB0aGUgbWFpbkF4aXMuXG4gICAgICAgIGQub3ZlcmZsb3dzWzBdLCBkLm92ZXJmbG93c107XG4gICAgICB9KS5zb3J0KChhLCBiKSA9PiBhWzFdIC0gYlsxXSk7XG4gICAgICBjb25zdCBwbGFjZW1lbnRzVGhhdEZpdE9uRWFjaFNpZGUgPSBwbGFjZW1lbnRzU29ydGVkQnlNb3N0U3BhY2UuZmlsdGVyKGQgPT4gZFsyXS5zbGljZSgwLFxuICAgICAgLy8gQWxpZ25lZCBwbGFjZW1lbnRzIHNob3VsZCBub3QgY2hlY2sgdGhlaXIgb3Bwb3NpdGUgY3Jvc3NBeGlzXG4gICAgICAvLyBzaWRlLlxuICAgICAgZ2V0QWxpZ25tZW50KGRbMF0pID8gMiA6IDMpLmV2ZXJ5KHYgPT4gdiA8PSAwKSk7XG4gICAgICBjb25zdCByZXNldFBsYWNlbWVudCA9ICgoX3BsYWNlbWVudHNUaGF0Rml0T25FID0gcGxhY2VtZW50c1RoYXRGaXRPbkVhY2hTaWRlWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX3BsYWNlbWVudHNUaGF0Rml0T25FWzBdKSB8fCBwbGFjZW1lbnRzU29ydGVkQnlNb3N0U3BhY2VbMF1bMF07XG4gICAgICBpZiAocmVzZXRQbGFjZW1lbnQgIT09IHBsYWNlbWVudCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGluZGV4OiBjdXJyZW50SW5kZXggKyAxLFxuICAgICAgICAgICAgb3ZlcmZsb3dzOiBhbGxPdmVyZmxvd3NcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlc2V0OiB7XG4gICAgICAgICAgICBwbGFjZW1lbnQ6IHJlc2V0UGxhY2VtZW50XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgfTtcbn07XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGZsaXBwaW5nIHRoZSBgcGxhY2VtZW50YFxuICogaW4gb3JkZXIgdG8ga2VlcCBpdCBpbiB2aWV3IHdoZW4gdGhlIHByZWZlcnJlZCBwbGFjZW1lbnQocykgd2lsbCBvdmVyZmxvdyB0aGVcbiAqIGNsaXBwaW5nIGJvdW5kYXJ5LiBBbHRlcm5hdGl2ZSB0byBgYXV0b1BsYWNlbWVudGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvZmxpcFxuICovXG5jb25zdCBmbGlwID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdmbGlwJyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICB2YXIgX21pZGRsZXdhcmVEYXRhJGFycm93LCBfbWlkZGxld2FyZURhdGEkZmxpcDtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICBtaWRkbGV3YXJlRGF0YSxcbiAgICAgICAgcmVjdHMsXG4gICAgICAgIGluaXRpYWxQbGFjZW1lbnQsXG4gICAgICAgIHBsYXRmb3JtLFxuICAgICAgICBlbGVtZW50c1xuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBtYWluQXhpczogY2hlY2tNYWluQXhpcyA9IHRydWUsXG4gICAgICAgIGNyb3NzQXhpczogY2hlY2tDcm9zc0F4aXMgPSB0cnVlLFxuICAgICAgICBmYWxsYmFja1BsYWNlbWVudHM6IHNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyxcbiAgICAgICAgZmFsbGJhY2tTdHJhdGVneSA9ICdiZXN0Rml0JyxcbiAgICAgICAgZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbiA9ICdub25lJyxcbiAgICAgICAgZmxpcEFsaWdubWVudCA9IHRydWUsXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcblxuICAgICAgLy8gSWYgYSByZXNldCBieSB0aGUgYXJyb3cgd2FzIGNhdXNlZCBkdWUgdG8gYW4gYWxpZ25tZW50IG9mZnNldCBiZWluZ1xuICAgICAgLy8gYWRkZWQsIHdlIHNob3VsZCBza2lwIGFueSBsb2dpYyBub3cgc2luY2UgYGZsaXAoKWAgaGFzIGFscmVhZHkgZG9uZSBpdHNcbiAgICAgIC8vIHdvcmsuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzI1NDkjaXNzdWVjb21tZW50LTE3MTk2MDE2NDNcbiAgICAgIGlmICgoX21pZGRsZXdhcmVEYXRhJGFycm93ID0gbWlkZGxld2FyZURhdGEuYXJyb3cpICE9IG51bGwgJiYgX21pZGRsZXdhcmVEYXRhJGFycm93LmFsaWdubWVudE9mZnNldCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICBjb25zdCBzaWRlID0gZ2V0U2lkZShwbGFjZW1lbnQpO1xuICAgICAgY29uc3QgaW5pdGlhbFNpZGVBeGlzID0gZ2V0U2lkZUF4aXMoaW5pdGlhbFBsYWNlbWVudCk7XG4gICAgICBjb25zdCBpc0Jhc2VQbGFjZW1lbnQgPSBnZXRTaWRlKGluaXRpYWxQbGFjZW1lbnQpID09PSBpbml0aWFsUGxhY2VtZW50O1xuICAgICAgY29uc3QgcnRsID0gYXdhaXQgKHBsYXRmb3JtLmlzUlRMID09IG51bGwgPyB2b2lkIDAgOiBwbGF0Zm9ybS5pc1JUTChlbGVtZW50cy5mbG9hdGluZykpO1xuICAgICAgY29uc3QgZmFsbGJhY2tQbGFjZW1lbnRzID0gc3BlY2lmaWVkRmFsbGJhY2tQbGFjZW1lbnRzIHx8IChpc0Jhc2VQbGFjZW1lbnQgfHwgIWZsaXBBbGlnbm1lbnQgPyBbZ2V0T3Bwb3NpdGVQbGFjZW1lbnQoaW5pdGlhbFBsYWNlbWVudCldIDogZ2V0RXhwYW5kZWRQbGFjZW1lbnRzKGluaXRpYWxQbGFjZW1lbnQpKTtcbiAgICAgIGNvbnN0IGhhc0ZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb24gPSBmYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uICE9PSAnbm9uZSc7XG4gICAgICBpZiAoIXNwZWNpZmllZEZhbGxiYWNrUGxhY2VtZW50cyAmJiBoYXNGYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uKSB7XG4gICAgICAgIGZhbGxiYWNrUGxhY2VtZW50cy5wdXNoKC4uLmdldE9wcG9zaXRlQXhpc1BsYWNlbWVudHMoaW5pdGlhbFBsYWNlbWVudCwgZmxpcEFsaWdubWVudCwgZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbiwgcnRsKSk7XG4gICAgICB9XG4gICAgICBjb25zdCBwbGFjZW1lbnRzID0gW2luaXRpYWxQbGFjZW1lbnQsIC4uLmZhbGxiYWNrUGxhY2VtZW50c107XG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xuICAgICAgY29uc3Qgb3ZlcmZsb3dzID0gW107XG4gICAgICBsZXQgb3ZlcmZsb3dzRGF0YSA9ICgoX21pZGRsZXdhcmVEYXRhJGZsaXAgPSBtaWRkbGV3YXJlRGF0YS5mbGlwKSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJGZsaXAub3ZlcmZsb3dzKSB8fCBbXTtcbiAgICAgIGlmIChjaGVja01haW5BeGlzKSB7XG4gICAgICAgIG92ZXJmbG93cy5wdXNoKG92ZXJmbG93W3NpZGVdKTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGVja0Nyb3NzQXhpcykge1xuICAgICAgICBjb25zdCBzaWRlcyA9IGdldEFsaWdubWVudFNpZGVzKHBsYWNlbWVudCwgcmVjdHMsIHJ0bCk7XG4gICAgICAgIG92ZXJmbG93cy5wdXNoKG92ZXJmbG93W3NpZGVzWzBdXSwgb3ZlcmZsb3dbc2lkZXNbMV1dKTtcbiAgICAgIH1cbiAgICAgIG92ZXJmbG93c0RhdGEgPSBbLi4ub3ZlcmZsb3dzRGF0YSwge1xuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIG92ZXJmbG93c1xuICAgICAgfV07XG5cbiAgICAgIC8vIE9uZSBvciBtb3JlIHNpZGVzIGlzIG92ZXJmbG93aW5nLlxuICAgICAgaWYgKCFvdmVyZmxvd3MuZXZlcnkoc2lkZSA9PiBzaWRlIDw9IDApKSB7XG4gICAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkZmxpcDIsIF9vdmVyZmxvd3NEYXRhJGZpbHRlcjtcbiAgICAgICAgY29uc3QgbmV4dEluZGV4ID0gKCgoX21pZGRsZXdhcmVEYXRhJGZsaXAyID0gbWlkZGxld2FyZURhdGEuZmxpcCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRmbGlwMi5pbmRleCkgfHwgMCkgKyAxO1xuICAgICAgICBjb25zdCBuZXh0UGxhY2VtZW50ID0gcGxhY2VtZW50c1tuZXh0SW5kZXhdO1xuICAgICAgICBpZiAobmV4dFBsYWNlbWVudCkge1xuICAgICAgICAgIC8vIFRyeSBuZXh0IHBsYWNlbWVudCBhbmQgcmUtcnVuIHRoZSBsaWZlY3ljbGUuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgaW5kZXg6IG5leHRJbmRleCxcbiAgICAgICAgICAgICAgb3ZlcmZsb3dzOiBvdmVyZmxvd3NEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgICAgcGxhY2VtZW50OiBuZXh0UGxhY2VtZW50XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpcnN0LCBmaW5kIHRoZSBjYW5kaWRhdGVzIHRoYXQgZml0IG9uIHRoZSBtYWluQXhpcyBzaWRlIG9mIG92ZXJmbG93LFxuICAgICAgICAvLyB0aGVuIGZpbmQgdGhlIHBsYWNlbWVudCB0aGF0IGZpdHMgdGhlIGJlc3Qgb24gdGhlIG1haW4gY3Jvc3NBeGlzIHNpZGUuXG4gICAgICAgIGxldCByZXNldFBsYWNlbWVudCA9IChfb3ZlcmZsb3dzRGF0YSRmaWx0ZXIgPSBvdmVyZmxvd3NEYXRhLmZpbHRlcihkID0+IGQub3ZlcmZsb3dzWzBdIDw9IDApLnNvcnQoKGEsIGIpID0+IGEub3ZlcmZsb3dzWzFdIC0gYi5vdmVyZmxvd3NbMV0pWzBdKSA9PSBudWxsID8gdm9pZCAwIDogX292ZXJmbG93c0RhdGEkZmlsdGVyLnBsYWNlbWVudDtcblxuICAgICAgICAvLyBPdGhlcndpc2UgZmFsbGJhY2suXG4gICAgICAgIGlmICghcmVzZXRQbGFjZW1lbnQpIHtcbiAgICAgICAgICBzd2l0Y2ggKGZhbGxiYWNrU3RyYXRlZ3kpIHtcbiAgICAgICAgICAgIGNhc2UgJ2Jlc3RGaXQnOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFyIF9vdmVyZmxvd3NEYXRhJGZpbHRlcjI7XG4gICAgICAgICAgICAgICAgY29uc3QgcGxhY2VtZW50ID0gKF9vdmVyZmxvd3NEYXRhJGZpbHRlcjIgPSBvdmVyZmxvd3NEYXRhLmZpbHRlcihkID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChoYXNGYWxsYmFja0F4aXNTaWRlRGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRTaWRlQXhpcyA9IGdldFNpZGVBeGlzKGQucGxhY2VtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRTaWRlQXhpcyA9PT0gaW5pdGlhbFNpZGVBeGlzIHx8XG4gICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhIGJpYXMgdG8gdGhlIGB5YCBzaWRlIGF4aXMgZHVlIHRvIGhvcml6b250YWxcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVhZGluZyBkaXJlY3Rpb25zIGZhdm9yaW5nIGdyZWF0ZXIgd2lkdGguXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTaWRlQXhpcyA9PT0gJ3knO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSkubWFwKGQgPT4gW2QucGxhY2VtZW50LCBkLm92ZXJmbG93cy5maWx0ZXIob3ZlcmZsb3cgPT4gb3ZlcmZsb3cgPiAwKS5yZWR1Y2UoKGFjYywgb3ZlcmZsb3cpID0+IGFjYyArIG92ZXJmbG93LCAwKV0pLnNvcnQoKGEsIGIpID0+IGFbMV0gLSBiWzFdKVswXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9vdmVyZmxvd3NEYXRhJGZpbHRlcjJbMF07XG4gICAgICAgICAgICAgICAgaWYgKHBsYWNlbWVudCkge1xuICAgICAgICAgICAgICAgICAgcmVzZXRQbGFjZW1lbnQgPSBwbGFjZW1lbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdpbml0aWFsUGxhY2VtZW50JzpcbiAgICAgICAgICAgICAgcmVzZXRQbGFjZW1lbnQgPSBpbml0aWFsUGxhY2VtZW50O1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBsYWNlbWVudCAhPT0gcmVzZXRQbGFjZW1lbnQpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgICAgcGxhY2VtZW50OiByZXNldFBsYWNlbWVudFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH07XG59O1xuXG5mdW5jdGlvbiBnZXRTaWRlT2Zmc2V0cyhvdmVyZmxvdywgcmVjdCkge1xuICByZXR1cm4ge1xuICAgIHRvcDogb3ZlcmZsb3cudG9wIC0gcmVjdC5oZWlnaHQsXG4gICAgcmlnaHQ6IG92ZXJmbG93LnJpZ2h0IC0gcmVjdC53aWR0aCxcbiAgICBib3R0b206IG92ZXJmbG93LmJvdHRvbSAtIHJlY3QuaGVpZ2h0LFxuICAgIGxlZnQ6IG92ZXJmbG93LmxlZnQgLSByZWN0LndpZHRoXG4gIH07XG59XG5mdW5jdGlvbiBpc0FueVNpZGVGdWxseUNsaXBwZWQob3ZlcmZsb3cpIHtcbiAgcmV0dXJuIHNpZGVzLnNvbWUoc2lkZSA9PiBvdmVyZmxvd1tzaWRlXSA+PSAwKTtcbn1cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBoaWRlIHRoZSBmbG9hdGluZyBlbGVtZW50IGluIGFwcGxpY2FibGUgc2l0dWF0aW9ucywgc3VjaCBhc1xuICogd2hlbiBpdCBpcyBub3QgaW4gdGhlIHNhbWUgY2xpcHBpbmcgY29udGV4dCBhcyB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvaGlkZVxuICovXG5jb25zdCBoaWRlID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdoaWRlJyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHJlY3RzXG4gICAgICB9ID0gc3RhdGU7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHN0cmF0ZWd5ID0gJ3JlZmVyZW5jZUhpZGRlbicsXG4gICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgICAgIHN3aXRjaCAoc3RyYXRlZ3kpIHtcbiAgICAgICAgY2FzZSAncmVmZXJlbmNlSGlkZGVuJzpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICAgICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9ucyxcbiAgICAgICAgICAgICAgZWxlbWVudENvbnRleHQ6ICdyZWZlcmVuY2UnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldHMgPSBnZXRTaWRlT2Zmc2V0cyhvdmVyZmxvdywgcmVjdHMucmVmZXJlbmNlKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VIaWRkZW5PZmZzZXRzOiBvZmZzZXRzLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZUhpZGRlbjogaXNBbnlTaWRlRnVsbHlDbGlwcGVkKG9mZnNldHMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICBjYXNlICdlc2NhcGVkJzpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCB7XG4gICAgICAgICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9ucyxcbiAgICAgICAgICAgICAgYWx0Qm91bmRhcnk6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0cyA9IGdldFNpZGVPZmZzZXRzKG92ZXJmbG93LCByZWN0cy5mbG9hdGluZyk7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgZXNjYXBlZE9mZnNldHM6IG9mZnNldHMsXG4gICAgICAgICAgICAgICAgZXNjYXBlZDogaXNBbnlTaWRlRnVsbHlDbGlwcGVkKG9mZnNldHMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xufTtcblxuZnVuY3Rpb24gZ2V0Qm91bmRpbmdSZWN0KHJlY3RzKSB7XG4gIGNvbnN0IG1pblggPSBtaW4oLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC5sZWZ0KSk7XG4gIGNvbnN0IG1pblkgPSBtaW4oLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC50b3ApKTtcbiAgY29uc3QgbWF4WCA9IG1heCguLi5yZWN0cy5tYXAocmVjdCA9PiByZWN0LnJpZ2h0KSk7XG4gIGNvbnN0IG1heFkgPSBtYXgoLi4ucmVjdHMubWFwKHJlY3QgPT4gcmVjdC5ib3R0b20pKTtcbiAgcmV0dXJuIHtcbiAgICB4OiBtaW5YLFxuICAgIHk6IG1pblksXG4gICAgd2lkdGg6IG1heFggLSBtaW5YLFxuICAgIGhlaWdodDogbWF4WSAtIG1pbllcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFJlY3RzQnlMaW5lKHJlY3RzKSB7XG4gIGNvbnN0IHNvcnRlZFJlY3RzID0gcmVjdHMuc2xpY2UoKS5zb3J0KChhLCBiKSA9PiBhLnkgLSBiLnkpO1xuICBjb25zdCBncm91cHMgPSBbXTtcbiAgbGV0IHByZXZSZWN0ID0gbnVsbDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzb3J0ZWRSZWN0cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHJlY3QgPSBzb3J0ZWRSZWN0c1tpXTtcbiAgICBpZiAoIXByZXZSZWN0IHx8IHJlY3QueSAtIHByZXZSZWN0LnkgPiBwcmV2UmVjdC5oZWlnaHQgLyAyKSB7XG4gICAgICBncm91cHMucHVzaChbcmVjdF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBncm91cHNbZ3JvdXBzLmxlbmd0aCAtIDFdLnB1c2gocmVjdCk7XG4gICAgfVxuICAgIHByZXZSZWN0ID0gcmVjdDtcbiAgfVxuICByZXR1cm4gZ3JvdXBzLm1hcChyZWN0ID0+IHJlY3RUb0NsaWVudFJlY3QoZ2V0Qm91bmRpbmdSZWN0KHJlY3QpKSk7XG59XG4vKipcbiAqIFByb3ZpZGVzIGltcHJvdmVkIHBvc2l0aW9uaW5nIGZvciBpbmxpbmUgcmVmZXJlbmNlIGVsZW1lbnRzIHRoYXQgY2FuIHNwYW5cbiAqIG92ZXIgbXVsdGlwbGUgbGluZXMsIHN1Y2ggYXMgaHlwZXJsaW5rcyBvciByYW5nZSBzZWxlY3Rpb25zLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2lubGluZVxuICovXG5jb25zdCBpbmxpbmUgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ2lubGluZScsXG4gICAgb3B0aW9ucyxcbiAgICBhc3luYyBmbihzdGF0ZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIGVsZW1lbnRzLFxuICAgICAgICByZWN0cyxcbiAgICAgICAgcGxhdGZvcm0sXG4gICAgICAgIHN0cmF0ZWd5XG4gICAgICB9ID0gc3RhdGU7XG4gICAgICAvLyBBIE1vdXNlRXZlbnQncyBjbGllbnR7WCxZfSBjb29yZHMgY2FuIGJlIHVwIHRvIDIgcGl4ZWxzIG9mZiBhXG4gICAgICAvLyBDbGllbnRSZWN0J3MgYm91bmRzLCBkZXNwaXRlIHRoZSBldmVudCBsaXN0ZW5lciBiZWluZyB0cmlnZ2VyZWQuIEFcbiAgICAgIC8vIHBhZGRpbmcgb2YgMiBzZWVtcyB0byBoYW5kbGUgdGhpcyBpc3N1ZS5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGFkZGluZyA9IDIsXG4gICAgICAgIHgsXG4gICAgICAgIHlcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBjb25zdCBuYXRpdmVDbGllbnRSZWN0cyA9IEFycmF5LmZyb20oKGF3YWl0IChwbGF0Zm9ybS5nZXRDbGllbnRSZWN0cyA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uZ2V0Q2xpZW50UmVjdHMoZWxlbWVudHMucmVmZXJlbmNlKSkpIHx8IFtdKTtcbiAgICAgIGNvbnN0IGNsaWVudFJlY3RzID0gZ2V0UmVjdHNCeUxpbmUobmF0aXZlQ2xpZW50UmVjdHMpO1xuICAgICAgY29uc3QgZmFsbGJhY2sgPSByZWN0VG9DbGllbnRSZWN0KGdldEJvdW5kaW5nUmVjdChuYXRpdmVDbGllbnRSZWN0cykpO1xuICAgICAgY29uc3QgcGFkZGluZ09iamVjdCA9IGdldFBhZGRpbmdPYmplY3QocGFkZGluZyk7XG4gICAgICBmdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKSB7XG4gICAgICAgIC8vIFRoZXJlIGFyZSB0d28gcmVjdHMgYW5kIHRoZXkgYXJlIGRpc2pvaW5lZC5cbiAgICAgICAgaWYgKGNsaWVudFJlY3RzLmxlbmd0aCA9PT0gMiAmJiBjbGllbnRSZWN0c1swXS5sZWZ0ID4gY2xpZW50UmVjdHNbMV0ucmlnaHQgJiYgeCAhPSBudWxsICYmIHkgIT0gbnVsbCkge1xuICAgICAgICAgIC8vIEZpbmQgdGhlIGZpcnN0IHJlY3QgaW4gd2hpY2ggdGhlIHBvaW50IGlzIGZ1bGx5IGluc2lkZS5cbiAgICAgICAgICByZXR1cm4gY2xpZW50UmVjdHMuZmluZChyZWN0ID0+IHggPiByZWN0LmxlZnQgLSBwYWRkaW5nT2JqZWN0LmxlZnQgJiYgeCA8IHJlY3QucmlnaHQgKyBwYWRkaW5nT2JqZWN0LnJpZ2h0ICYmIHkgPiByZWN0LnRvcCAtIHBhZGRpbmdPYmplY3QudG9wICYmIHkgPCByZWN0LmJvdHRvbSArIHBhZGRpbmdPYmplY3QuYm90dG9tKSB8fCBmYWxsYmFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZXJlIGFyZSAyIG9yIG1vcmUgY29ubmVjdGVkIHJlY3RzLlxuICAgICAgICBpZiAoY2xpZW50UmVjdHMubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICBpZiAoZ2V0U2lkZUF4aXMocGxhY2VtZW50KSA9PT0gJ3knKSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdFJlY3QgPSBjbGllbnRSZWN0c1swXTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RSZWN0ID0gY2xpZW50UmVjdHNbY2xpZW50UmVjdHMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBjb25zdCBpc1RvcCA9IGdldFNpZGUocGxhY2VtZW50KSA9PT0gJ3RvcCc7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSBmaXJzdFJlY3QudG9wO1xuICAgICAgICAgICAgY29uc3QgYm90dG9tID0gbGFzdFJlY3QuYm90dG9tO1xuICAgICAgICAgICAgY29uc3QgbGVmdCA9IGlzVG9wID8gZmlyc3RSZWN0LmxlZnQgOiBsYXN0UmVjdC5sZWZ0O1xuICAgICAgICAgICAgY29uc3QgcmlnaHQgPSBpc1RvcCA/IGZpcnN0UmVjdC5yaWdodCA6IGxhc3RSZWN0LnJpZ2h0O1xuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSByaWdodCAtIGxlZnQ7XG4gICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBib3R0b20gLSB0b3A7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICB0b3AsXG4gICAgICAgICAgICAgIGJvdHRvbSxcbiAgICAgICAgICAgICAgbGVmdCxcbiAgICAgICAgICAgICAgcmlnaHQsXG4gICAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICAgIHg6IGxlZnQsXG4gICAgICAgICAgICAgIHk6IHRvcFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgaXNMZWZ0U2lkZSA9IGdldFNpZGUocGxhY2VtZW50KSA9PT0gJ2xlZnQnO1xuICAgICAgICAgIGNvbnN0IG1heFJpZ2h0ID0gbWF4KC4uLmNsaWVudFJlY3RzLm1hcChyZWN0ID0+IHJlY3QucmlnaHQpKTtcbiAgICAgICAgICBjb25zdCBtaW5MZWZ0ID0gbWluKC4uLmNsaWVudFJlY3RzLm1hcChyZWN0ID0+IHJlY3QubGVmdCkpO1xuICAgICAgICAgIGNvbnN0IG1lYXN1cmVSZWN0cyA9IGNsaWVudFJlY3RzLmZpbHRlcihyZWN0ID0+IGlzTGVmdFNpZGUgPyByZWN0LmxlZnQgPT09IG1pbkxlZnQgOiByZWN0LnJpZ2h0ID09PSBtYXhSaWdodCk7XG4gICAgICAgICAgY29uc3QgdG9wID0gbWVhc3VyZVJlY3RzWzBdLnRvcDtcbiAgICAgICAgICBjb25zdCBib3R0b20gPSBtZWFzdXJlUmVjdHNbbWVhc3VyZVJlY3RzLmxlbmd0aCAtIDFdLmJvdHRvbTtcbiAgICAgICAgICBjb25zdCBsZWZ0ID0gbWluTGVmdDtcbiAgICAgICAgICBjb25zdCByaWdodCA9IG1heFJpZ2h0O1xuICAgICAgICAgIGNvbnN0IHdpZHRoID0gcmlnaHQgLSBsZWZ0O1xuICAgICAgICAgIGNvbnN0IGhlaWdodCA9IGJvdHRvbSAtIHRvcDtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9wLFxuICAgICAgICAgICAgYm90dG9tLFxuICAgICAgICAgICAgbGVmdCxcbiAgICAgICAgICAgIHJpZ2h0LFxuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB4OiBsZWZ0LFxuICAgICAgICAgICAgeTogdG9wXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsbGJhY2s7XG4gICAgICB9XG4gICAgICBjb25zdCByZXNldFJlY3RzID0gYXdhaXQgcGxhdGZvcm0uZ2V0RWxlbWVudFJlY3RzKHtcbiAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgZ2V0Qm91bmRpbmdDbGllbnRSZWN0XG4gICAgICAgIH0sXG4gICAgICAgIGZsb2F0aW5nOiBlbGVtZW50cy5mbG9hdGluZyxcbiAgICAgICAgc3RyYXRlZ3lcbiAgICAgIH0pO1xuICAgICAgaWYgKHJlY3RzLnJlZmVyZW5jZS54ICE9PSByZXNldFJlY3RzLnJlZmVyZW5jZS54IHx8IHJlY3RzLnJlZmVyZW5jZS55ICE9PSByZXNldFJlY3RzLnJlZmVyZW5jZS55IHx8IHJlY3RzLnJlZmVyZW5jZS53aWR0aCAhPT0gcmVzZXRSZWN0cy5yZWZlcmVuY2Uud2lkdGggfHwgcmVjdHMucmVmZXJlbmNlLmhlaWdodCAhPT0gcmVzZXRSZWN0cy5yZWZlcmVuY2UuaGVpZ2h0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVzZXQ6IHtcbiAgICAgICAgICAgIHJlY3RzOiByZXNldFJlY3RzXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgfTtcbn07XG5cbi8vIEZvciB0eXBlIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LCB0aGUgYE9mZnNldE9wdGlvbnNgIHR5cGUgd2FzIGFsc29cbi8vIERlcml2YWJsZS5cblxuYXN5bmMgZnVuY3Rpb24gY29udmVydFZhbHVlVG9Db29yZHMoc3RhdGUsIG9wdGlvbnMpIHtcbiAgY29uc3Qge1xuICAgIHBsYWNlbWVudCxcbiAgICBwbGF0Zm9ybSxcbiAgICBlbGVtZW50c1xuICB9ID0gc3RhdGU7XG4gIGNvbnN0IHJ0bCA9IGF3YWl0IChwbGF0Zm9ybS5pc1JUTCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNSVEwoZWxlbWVudHMuZmxvYXRpbmcpKTtcbiAgY29uc3Qgc2lkZSA9IGdldFNpZGUocGxhY2VtZW50KTtcbiAgY29uc3QgYWxpZ25tZW50ID0gZ2V0QWxpZ25tZW50KHBsYWNlbWVudCk7XG4gIGNvbnN0IGlzVmVydGljYWwgPSBnZXRTaWRlQXhpcyhwbGFjZW1lbnQpID09PSAneSc7XG4gIGNvbnN0IG1haW5BeGlzTXVsdGkgPSBbJ2xlZnQnLCAndG9wJ10uaW5jbHVkZXMoc2lkZSkgPyAtMSA6IDE7XG4gIGNvbnN0IGNyb3NzQXhpc011bHRpID0gcnRsICYmIGlzVmVydGljYWwgPyAtMSA6IDE7XG4gIGNvbnN0IHJhd1ZhbHVlID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItY29uc3RcbiAgbGV0IHtcbiAgICBtYWluQXhpcyxcbiAgICBjcm9zc0F4aXMsXG4gICAgYWxpZ25tZW50QXhpc1xuICB9ID0gdHlwZW9mIHJhd1ZhbHVlID09PSAnbnVtYmVyJyA/IHtcbiAgICBtYWluQXhpczogcmF3VmFsdWUsXG4gICAgY3Jvc3NBeGlzOiAwLFxuICAgIGFsaWdubWVudEF4aXM6IG51bGxcbiAgfSA6IHtcbiAgICBtYWluQXhpczogcmF3VmFsdWUubWFpbkF4aXMgfHwgMCxcbiAgICBjcm9zc0F4aXM6IHJhd1ZhbHVlLmNyb3NzQXhpcyB8fCAwLFxuICAgIGFsaWdubWVudEF4aXM6IHJhd1ZhbHVlLmFsaWdubWVudEF4aXNcbiAgfTtcbiAgaWYgKGFsaWdubWVudCAmJiB0eXBlb2YgYWxpZ25tZW50QXhpcyA9PT0gJ251bWJlcicpIHtcbiAgICBjcm9zc0F4aXMgPSBhbGlnbm1lbnQgPT09ICdlbmQnID8gYWxpZ25tZW50QXhpcyAqIC0xIDogYWxpZ25tZW50QXhpcztcbiAgfVxuICByZXR1cm4gaXNWZXJ0aWNhbCA/IHtcbiAgICB4OiBjcm9zc0F4aXMgKiBjcm9zc0F4aXNNdWx0aSxcbiAgICB5OiBtYWluQXhpcyAqIG1haW5BeGlzTXVsdGlcbiAgfSA6IHtcbiAgICB4OiBtYWluQXhpcyAqIG1haW5BeGlzTXVsdGksXG4gICAgeTogY3Jvc3NBeGlzICogY3Jvc3NBeGlzTXVsdGlcbiAgfTtcbn1cblxuLyoqXG4gKiBNb2RpZmllcyB0aGUgcGxhY2VtZW50IGJ5IHRyYW5zbGF0aW5nIHRoZSBmbG9hdGluZyBlbGVtZW50IGFsb25nIHRoZVxuICogc3BlY2lmaWVkIGF4ZXMuXG4gKiBBIG51bWJlciAoc2hvcnRoYW5kIGZvciBgbWFpbkF4aXNgIG9yIGRpc3RhbmNlKSwgb3IgYW4gYXhlcyBjb25maWd1cmF0aW9uXG4gKiBvYmplY3QgbWF5IGJlIHBhc3NlZC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9vZmZzZXRcbiAqL1xuY29uc3Qgb2Zmc2V0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSAwO1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ29mZnNldCcsXG4gICAgb3B0aW9ucyxcbiAgICBhc3luYyBmbihzdGF0ZSkge1xuICAgICAgdmFyIF9taWRkbGV3YXJlRGF0YSRvZmZzZSwgX21pZGRsZXdhcmVEYXRhJGFycm93O1xuICAgICAgY29uc3Qge1xuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIG1pZGRsZXdhcmVEYXRhXG4gICAgICB9ID0gc3RhdGU7XG4gICAgICBjb25zdCBkaWZmQ29vcmRzID0gYXdhaXQgY29udmVydFZhbHVlVG9Db29yZHMoc3RhdGUsIG9wdGlvbnMpO1xuXG4gICAgICAvLyBJZiB0aGUgcGxhY2VtZW50IGlzIHRoZSBzYW1lIGFuZCB0aGUgYXJyb3cgY2F1c2VkIGFuIGFsaWdubWVudCBvZmZzZXRcbiAgICAgIC8vIHRoZW4gd2UgZG9uJ3QgbmVlZCB0byBjaGFuZ2UgdGhlIHBvc2l0aW9uaW5nIGNvb3JkaW5hdGVzLlxuICAgICAgaWYgKHBsYWNlbWVudCA9PT0gKChfbWlkZGxld2FyZURhdGEkb2Zmc2UgPSBtaWRkbGV3YXJlRGF0YS5vZmZzZXQpID09IG51bGwgPyB2b2lkIDAgOiBfbWlkZGxld2FyZURhdGEkb2Zmc2UucGxhY2VtZW50KSAmJiAoX21pZGRsZXdhcmVEYXRhJGFycm93ID0gbWlkZGxld2FyZURhdGEuYXJyb3cpICE9IG51bGwgJiYgX21pZGRsZXdhcmVEYXRhJGFycm93LmFsaWdubWVudE9mZnNldCkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiB4ICsgZGlmZkNvb3Jkcy54LFxuICAgICAgICB5OiB5ICsgZGlmZkNvb3Jkcy55LFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgLi4uZGlmZkNvb3JkcyxcbiAgICAgICAgICBwbGFjZW1lbnRcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH07XG59O1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBzaGlmdGluZyBpdCBpbiBvcmRlciB0b1xuICoga2VlcCBpdCBpbiB2aWV3IHdoZW4gaXQgd2lsbCBvdmVyZmxvdyB0aGUgY2xpcHBpbmcgYm91bmRhcnkuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvc2hpZnRcbiAqL1xuY29uc3Qgc2hpZnQgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3NoaWZ0JyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICAgIHBsYWNlbWVudFxuICAgICAgfSA9IHN0YXRlO1xuICAgICAgY29uc3Qge1xuICAgICAgICBtYWluQXhpczogY2hlY2tNYWluQXhpcyA9IHRydWUsXG4gICAgICAgIGNyb3NzQXhpczogY2hlY2tDcm9zc0F4aXMgPSBmYWxzZSxcbiAgICAgICAgbGltaXRlciA9IHtcbiAgICAgICAgICBmbjogX3JlZiA9PiB7XG4gICAgICAgICAgICBsZXQge1xuICAgICAgICAgICAgICB4LFxuICAgICAgICAgICAgICB5XG4gICAgICAgICAgICB9ID0gX3JlZjtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgIHlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnNcbiAgICAgIH0gPSBldmFsdWF0ZShvcHRpb25zLCBzdGF0ZSk7XG4gICAgICBjb25zdCBjb29yZHMgPSB7XG4gICAgICAgIHgsXG4gICAgICAgIHlcbiAgICAgIH07XG4gICAgICBjb25zdCBvdmVyZmxvdyA9IGF3YWl0IGRldGVjdE92ZXJmbG93KHN0YXRlLCBkZXRlY3RPdmVyZmxvd09wdGlvbnMpO1xuICAgICAgY29uc3QgY3Jvc3NBeGlzID0gZ2V0U2lkZUF4aXMoZ2V0U2lkZShwbGFjZW1lbnQpKTtcbiAgICAgIGNvbnN0IG1haW5BeGlzID0gZ2V0T3Bwb3NpdGVBeGlzKGNyb3NzQXhpcyk7XG4gICAgICBsZXQgbWFpbkF4aXNDb29yZCA9IGNvb3Jkc1ttYWluQXhpc107XG4gICAgICBsZXQgY3Jvc3NBeGlzQ29vcmQgPSBjb29yZHNbY3Jvc3NBeGlzXTtcbiAgICAgIGlmIChjaGVja01haW5BeGlzKSB7XG4gICAgICAgIGNvbnN0IG1pblNpZGUgPSBtYWluQXhpcyA9PT0gJ3knID8gJ3RvcCcgOiAnbGVmdCc7XG4gICAgICAgIGNvbnN0IG1heFNpZGUgPSBtYWluQXhpcyA9PT0gJ3knID8gJ2JvdHRvbScgOiAncmlnaHQnO1xuICAgICAgICBjb25zdCBtaW4gPSBtYWluQXhpc0Nvb3JkICsgb3ZlcmZsb3dbbWluU2lkZV07XG4gICAgICAgIGNvbnN0IG1heCA9IG1haW5BeGlzQ29vcmQgLSBvdmVyZmxvd1ttYXhTaWRlXTtcbiAgICAgICAgbWFpbkF4aXNDb29yZCA9IGNsYW1wKG1pbiwgbWFpbkF4aXNDb29yZCwgbWF4KTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGVja0Nyb3NzQXhpcykge1xuICAgICAgICBjb25zdCBtaW5TaWRlID0gY3Jvc3NBeGlzID09PSAneScgPyAndG9wJyA6ICdsZWZ0JztcbiAgICAgICAgY29uc3QgbWF4U2lkZSA9IGNyb3NzQXhpcyA9PT0gJ3knID8gJ2JvdHRvbScgOiAncmlnaHQnO1xuICAgICAgICBjb25zdCBtaW4gPSBjcm9zc0F4aXNDb29yZCArIG92ZXJmbG93W21pblNpZGVdO1xuICAgICAgICBjb25zdCBtYXggPSBjcm9zc0F4aXNDb29yZCAtIG92ZXJmbG93W21heFNpZGVdO1xuICAgICAgICBjcm9zc0F4aXNDb29yZCA9IGNsYW1wKG1pbiwgY3Jvc3NBeGlzQ29vcmQsIG1heCk7XG4gICAgICB9XG4gICAgICBjb25zdCBsaW1pdGVkQ29vcmRzID0gbGltaXRlci5mbih7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBbbWFpbkF4aXNdOiBtYWluQXhpc0Nvb3JkLFxuICAgICAgICBbY3Jvc3NBeGlzXTogY3Jvc3NBeGlzQ29vcmRcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ubGltaXRlZENvb3JkcyxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIHg6IGxpbWl0ZWRDb29yZHMueCAtIHgsXG4gICAgICAgICAgeTogbGltaXRlZENvb3Jkcy55IC0geSxcbiAgICAgICAgICBlbmFibGVkOiB7XG4gICAgICAgICAgICBbbWFpbkF4aXNdOiBjaGVja01haW5BeGlzLFxuICAgICAgICAgICAgW2Nyb3NzQXhpc106IGNoZWNrQ3Jvc3NBeGlzXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn07XG4vKipcbiAqIEJ1aWx0LWluIGBsaW1pdGVyYCB0aGF0IHdpbGwgc3RvcCBgc2hpZnQoKWAgYXQgYSBjZXJ0YWluIHBvaW50LlxuICovXG5jb25zdCBsaW1pdFNoaWZ0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG9wdGlvbnMsXG4gICAgZm4oc3RhdGUpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgeCxcbiAgICAgICAgeSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICByZWN0cyxcbiAgICAgICAgbWlkZGxld2FyZURhdGFcbiAgICAgIH0gPSBzdGF0ZTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgb2Zmc2V0ID0gMCxcbiAgICAgICAgbWFpbkF4aXM6IGNoZWNrTWFpbkF4aXMgPSB0cnVlLFxuICAgICAgICBjcm9zc0F4aXM6IGNoZWNrQ3Jvc3NBeGlzID0gdHJ1ZVxuICAgICAgfSA9IGV2YWx1YXRlKG9wdGlvbnMsIHN0YXRlKTtcbiAgICAgIGNvbnN0IGNvb3JkcyA9IHtcbiAgICAgICAgeCxcbiAgICAgICAgeVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGNyb3NzQXhpcyA9IGdldFNpZGVBeGlzKHBsYWNlbWVudCk7XG4gICAgICBjb25zdCBtYWluQXhpcyA9IGdldE9wcG9zaXRlQXhpcyhjcm9zc0F4aXMpO1xuICAgICAgbGV0IG1haW5BeGlzQ29vcmQgPSBjb29yZHNbbWFpbkF4aXNdO1xuICAgICAgbGV0IGNyb3NzQXhpc0Nvb3JkID0gY29vcmRzW2Nyb3NzQXhpc107XG4gICAgICBjb25zdCByYXdPZmZzZXQgPSBldmFsdWF0ZShvZmZzZXQsIHN0YXRlKTtcbiAgICAgIGNvbnN0IGNvbXB1dGVkT2Zmc2V0ID0gdHlwZW9mIHJhd09mZnNldCA9PT0gJ251bWJlcicgPyB7XG4gICAgICAgIG1haW5BeGlzOiByYXdPZmZzZXQsXG4gICAgICAgIGNyb3NzQXhpczogMFxuICAgICAgfSA6IHtcbiAgICAgICAgbWFpbkF4aXM6IDAsXG4gICAgICAgIGNyb3NzQXhpczogMCxcbiAgICAgICAgLi4ucmF3T2Zmc2V0XG4gICAgICB9O1xuICAgICAgaWYgKGNoZWNrTWFpbkF4aXMpIHtcbiAgICAgICAgY29uc3QgbGVuID0gbWFpbkF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbiAgICAgICAgY29uc3QgbGltaXRNaW4gPSByZWN0cy5yZWZlcmVuY2VbbWFpbkF4aXNdIC0gcmVjdHMuZmxvYXRpbmdbbGVuXSArIGNvbXB1dGVkT2Zmc2V0Lm1haW5BeGlzO1xuICAgICAgICBjb25zdCBsaW1pdE1heCA9IHJlY3RzLnJlZmVyZW5jZVttYWluQXhpc10gKyByZWN0cy5yZWZlcmVuY2VbbGVuXSAtIGNvbXB1dGVkT2Zmc2V0Lm1haW5BeGlzO1xuICAgICAgICBpZiAobWFpbkF4aXNDb29yZCA8IGxpbWl0TWluKSB7XG4gICAgICAgICAgbWFpbkF4aXNDb29yZCA9IGxpbWl0TWluO1xuICAgICAgICB9IGVsc2UgaWYgKG1haW5BeGlzQ29vcmQgPiBsaW1pdE1heCkge1xuICAgICAgICAgIG1haW5BeGlzQ29vcmQgPSBsaW1pdE1heDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGNoZWNrQ3Jvc3NBeGlzKSB7XG4gICAgICAgIHZhciBfbWlkZGxld2FyZURhdGEkb2Zmc2UsIF9taWRkbGV3YXJlRGF0YSRvZmZzZTI7XG4gICAgICAgIGNvbnN0IGxlbiA9IG1haW5BeGlzID09PSAneScgPyAnd2lkdGgnIDogJ2hlaWdodCc7XG4gICAgICAgIGNvbnN0IGlzT3JpZ2luU2lkZSA9IFsndG9wJywgJ2xlZnQnXS5pbmNsdWRlcyhnZXRTaWRlKHBsYWNlbWVudCkpO1xuICAgICAgICBjb25zdCBsaW1pdE1pbiA9IHJlY3RzLnJlZmVyZW5jZVtjcm9zc0F4aXNdIC0gcmVjdHMuZmxvYXRpbmdbbGVuXSArIChpc09yaWdpblNpZGUgPyAoKF9taWRkbGV3YXJlRGF0YSRvZmZzZSA9IG1pZGRsZXdhcmVEYXRhLm9mZnNldCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9taWRkbGV3YXJlRGF0YSRvZmZzZVtjcm9zc0F4aXNdKSB8fCAwIDogMCkgKyAoaXNPcmlnaW5TaWRlID8gMCA6IGNvbXB1dGVkT2Zmc2V0LmNyb3NzQXhpcyk7XG4gICAgICAgIGNvbnN0IGxpbWl0TWF4ID0gcmVjdHMucmVmZXJlbmNlW2Nyb3NzQXhpc10gKyByZWN0cy5yZWZlcmVuY2VbbGVuXSArIChpc09yaWdpblNpZGUgPyAwIDogKChfbWlkZGxld2FyZURhdGEkb2Zmc2UyID0gbWlkZGxld2FyZURhdGEub2Zmc2V0KSA9PSBudWxsID8gdm9pZCAwIDogX21pZGRsZXdhcmVEYXRhJG9mZnNlMltjcm9zc0F4aXNdKSB8fCAwKSAtIChpc09yaWdpblNpZGUgPyBjb21wdXRlZE9mZnNldC5jcm9zc0F4aXMgOiAwKTtcbiAgICAgICAgaWYgKGNyb3NzQXhpc0Nvb3JkIDwgbGltaXRNaW4pIHtcbiAgICAgICAgICBjcm9zc0F4aXNDb29yZCA9IGxpbWl0TWluO1xuICAgICAgICB9IGVsc2UgaWYgKGNyb3NzQXhpc0Nvb3JkID4gbGltaXRNYXgpIHtcbiAgICAgICAgICBjcm9zc0F4aXNDb29yZCA9IGxpbWl0TWF4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbbWFpbkF4aXNdOiBtYWluQXhpc0Nvb3JkLFxuICAgICAgICBbY3Jvc3NBeGlzXTogY3Jvc3NBeGlzQ29vcmRcbiAgICAgIH07XG4gICAgfVxuICB9O1xufTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRoYXQgYWxsb3dzIHlvdSB0byBjaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQg4oCUXG4gKiBmb3IgaW5zdGFuY2UsIHByZXZlbnQgaXQgZnJvbSBvdmVyZmxvd2luZyB0aGUgY2xpcHBpbmcgYm91bmRhcnkgb3IgbWF0Y2ggdGhlXG4gKiB3aWR0aCBvZiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvc2l6ZVxuICovXG5jb25zdCBzaXplID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdzaXplJyxcbiAgICBvcHRpb25zLFxuICAgIGFzeW5jIGZuKHN0YXRlKSB7XG4gICAgICB2YXIgX3N0YXRlJG1pZGRsZXdhcmVEYXRhLCBfc3RhdGUkbWlkZGxld2FyZURhdGEyO1xuICAgICAgY29uc3Qge1xuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICAgIHJlY3RzLFxuICAgICAgICBwbGF0Zm9ybSxcbiAgICAgICAgZWxlbWVudHNcbiAgICAgIH0gPSBzdGF0ZTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYXBwbHkgPSAoKSA9PiB7fSxcbiAgICAgICAgLi4uZGV0ZWN0T3ZlcmZsb3dPcHRpb25zXG4gICAgICB9ID0gZXZhbHVhdGUob3B0aW9ucywgc3RhdGUpO1xuICAgICAgY29uc3Qgb3ZlcmZsb3cgPSBhd2FpdCBkZXRlY3RPdmVyZmxvdyhzdGF0ZSwgZGV0ZWN0T3ZlcmZsb3dPcHRpb25zKTtcbiAgICAgIGNvbnN0IHNpZGUgPSBnZXRTaWRlKHBsYWNlbWVudCk7XG4gICAgICBjb25zdCBhbGlnbm1lbnQgPSBnZXRBbGlnbm1lbnQocGxhY2VtZW50KTtcbiAgICAgIGNvbnN0IGlzWUF4aXMgPSBnZXRTaWRlQXhpcyhwbGFjZW1lbnQpID09PSAneSc7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHRcbiAgICAgIH0gPSByZWN0cy5mbG9hdGluZztcbiAgICAgIGxldCBoZWlnaHRTaWRlO1xuICAgICAgbGV0IHdpZHRoU2lkZTtcbiAgICAgIGlmIChzaWRlID09PSAndG9wJyB8fCBzaWRlID09PSAnYm90dG9tJykge1xuICAgICAgICBoZWlnaHRTaWRlID0gc2lkZTtcbiAgICAgICAgd2lkdGhTaWRlID0gYWxpZ25tZW50ID09PSAoKGF3YWl0IChwbGF0Zm9ybS5pc1JUTCA9PSBudWxsID8gdm9pZCAwIDogcGxhdGZvcm0uaXNSVEwoZWxlbWVudHMuZmxvYXRpbmcpKSkgPyAnc3RhcnQnIDogJ2VuZCcpID8gJ2xlZnQnIDogJ3JpZ2h0JztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpZHRoU2lkZSA9IHNpZGU7XG4gICAgICAgIGhlaWdodFNpZGUgPSBhbGlnbm1lbnQgPT09ICdlbmQnID8gJ3RvcCcgOiAnYm90dG9tJztcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1heGltdW1DbGlwcGluZ0hlaWdodCA9IGhlaWdodCAtIG92ZXJmbG93LnRvcCAtIG92ZXJmbG93LmJvdHRvbTtcbiAgICAgIGNvbnN0IG1heGltdW1DbGlwcGluZ1dpZHRoID0gd2lkdGggLSBvdmVyZmxvdy5sZWZ0IC0gb3ZlcmZsb3cucmlnaHQ7XG4gICAgICBjb25zdCBvdmVyZmxvd0F2YWlsYWJsZUhlaWdodCA9IG1pbihoZWlnaHQgLSBvdmVyZmxvd1toZWlnaHRTaWRlXSwgbWF4aW11bUNsaXBwaW5nSGVpZ2h0KTtcbiAgICAgIGNvbnN0IG92ZXJmbG93QXZhaWxhYmxlV2lkdGggPSBtaW4od2lkdGggLSBvdmVyZmxvd1t3aWR0aFNpZGVdLCBtYXhpbXVtQ2xpcHBpbmdXaWR0aCk7XG4gICAgICBjb25zdCBub1NoaWZ0ID0gIXN0YXRlLm1pZGRsZXdhcmVEYXRhLnNoaWZ0O1xuICAgICAgbGV0IGF2YWlsYWJsZUhlaWdodCA9IG92ZXJmbG93QXZhaWxhYmxlSGVpZ2h0O1xuICAgICAgbGV0IGF2YWlsYWJsZVdpZHRoID0gb3ZlcmZsb3dBdmFpbGFibGVXaWR0aDtcbiAgICAgIGlmICgoX3N0YXRlJG1pZGRsZXdhcmVEYXRhID0gc3RhdGUubWlkZGxld2FyZURhdGEuc2hpZnQpICE9IG51bGwgJiYgX3N0YXRlJG1pZGRsZXdhcmVEYXRhLmVuYWJsZWQueCkge1xuICAgICAgICBhdmFpbGFibGVXaWR0aCA9IG1heGltdW1DbGlwcGluZ1dpZHRoO1xuICAgICAgfVxuICAgICAgaWYgKChfc3RhdGUkbWlkZGxld2FyZURhdGEyID0gc3RhdGUubWlkZGxld2FyZURhdGEuc2hpZnQpICE9IG51bGwgJiYgX3N0YXRlJG1pZGRsZXdhcmVEYXRhMi5lbmFibGVkLnkpIHtcbiAgICAgICAgYXZhaWxhYmxlSGVpZ2h0ID0gbWF4aW11bUNsaXBwaW5nSGVpZ2h0O1xuICAgICAgfVxuICAgICAgaWYgKG5vU2hpZnQgJiYgIWFsaWdubWVudCkge1xuICAgICAgICBjb25zdCB4TWluID0gbWF4KG92ZXJmbG93LmxlZnQsIDApO1xuICAgICAgICBjb25zdCB4TWF4ID0gbWF4KG92ZXJmbG93LnJpZ2h0LCAwKTtcbiAgICAgICAgY29uc3QgeU1pbiA9IG1heChvdmVyZmxvdy50b3AsIDApO1xuICAgICAgICBjb25zdCB5TWF4ID0gbWF4KG92ZXJmbG93LmJvdHRvbSwgMCk7XG4gICAgICAgIGlmIChpc1lBeGlzKSB7XG4gICAgICAgICAgYXZhaWxhYmxlV2lkdGggPSB3aWR0aCAtIDIgKiAoeE1pbiAhPT0gMCB8fCB4TWF4ICE9PSAwID8geE1pbiArIHhNYXggOiBtYXgob3ZlcmZsb3cubGVmdCwgb3ZlcmZsb3cucmlnaHQpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhdmFpbGFibGVIZWlnaHQgPSBoZWlnaHQgLSAyICogKHlNaW4gIT09IDAgfHwgeU1heCAhPT0gMCA/IHlNaW4gKyB5TWF4IDogbWF4KG92ZXJmbG93LnRvcCwgb3ZlcmZsb3cuYm90dG9tKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF3YWl0IGFwcGx5KHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIGF2YWlsYWJsZVdpZHRoLFxuICAgICAgICBhdmFpbGFibGVIZWlnaHRcbiAgICAgIH0pO1xuICAgICAgY29uc3QgbmV4dERpbWVuc2lvbnMgPSBhd2FpdCBwbGF0Zm9ybS5nZXREaW1lbnNpb25zKGVsZW1lbnRzLmZsb2F0aW5nKTtcbiAgICAgIGlmICh3aWR0aCAhPT0gbmV4dERpbWVuc2lvbnMud2lkdGggfHwgaGVpZ2h0ICE9PSBuZXh0RGltZW5zaW9ucy5oZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXNldDoge1xuICAgICAgICAgICAgcmVjdHM6IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9O1xufTtcblxuZXhwb3J0IHsgYXJyb3csIGF1dG9QbGFjZW1lbnQsIGNvbXB1dGVQb3NpdGlvbiwgZGV0ZWN0T3ZlcmZsb3csIGZsaXAsIGhpZGUsIGlubGluZSwgbGltaXRTaGlmdCwgb2Zmc2V0LCBzaGlmdCwgc2l6ZSB9O1xuIiwiZnVuY3Rpb24gaGFzV2luZG93KCkge1xuICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCc7XG59XG5mdW5jdGlvbiBnZXROb2RlTmFtZShub2RlKSB7XG4gIGlmIChpc05vZGUobm9kZSkpIHtcbiAgICByZXR1cm4gKG5vZGUubm9kZU5hbWUgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gIH1cbiAgLy8gTW9ja2VkIG5vZGVzIGluIHRlc3RpbmcgZW52aXJvbm1lbnRzIG1heSBub3QgYmUgaW5zdGFuY2VzIG9mIE5vZGUuIEJ5XG4gIC8vIHJldHVybmluZyBgI2RvY3VtZW50YCBhbiBpbmZpbml0ZSBsb29wIHdvbid0IG9jY3VyLlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmxvYXRpbmctdWkvZmxvYXRpbmctdWkvaXNzdWVzLzIzMTdcbiAgcmV0dXJuICcjZG9jdW1lbnQnO1xufVxuZnVuY3Rpb24gZ2V0V2luZG93KG5vZGUpIHtcbiAgdmFyIF9ub2RlJG93bmVyRG9jdW1lbnQ7XG4gIHJldHVybiAobm9kZSA9PSBudWxsIHx8IChfbm9kZSRvd25lckRvY3VtZW50ID0gbm9kZS5vd25lckRvY3VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldykgfHwgd2luZG93O1xufVxuZnVuY3Rpb24gZ2V0RG9jdW1lbnRFbGVtZW50KG5vZGUpIHtcbiAgdmFyIF9yZWY7XG4gIHJldHVybiAoX3JlZiA9IChpc05vZGUobm9kZSkgPyBub2RlLm93bmVyRG9jdW1lbnQgOiBub2RlLmRvY3VtZW50KSB8fCB3aW5kb3cuZG9jdW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfcmVmLmRvY3VtZW50RWxlbWVudDtcbn1cbmZ1bmN0aW9uIGlzTm9kZSh2YWx1ZSkge1xuICBpZiAoIWhhc1dpbmRvdygpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIE5vZGUgfHwgdmFsdWUgaW5zdGFuY2VvZiBnZXRXaW5kb3codmFsdWUpLk5vZGU7XG59XG5mdW5jdGlvbiBpc0VsZW1lbnQodmFsdWUpIHtcbiAgaWYgKCFoYXNXaW5kb3coKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50IHx8IHZhbHVlIGluc3RhbmNlb2YgZ2V0V2luZG93KHZhbHVlKS5FbGVtZW50O1xufVxuZnVuY3Rpb24gaXNIVE1MRWxlbWVudCh2YWx1ZSkge1xuICBpZiAoIWhhc1dpbmRvdygpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50IHx8IHZhbHVlIGluc3RhbmNlb2YgZ2V0V2luZG93KHZhbHVlKS5IVE1MRWxlbWVudDtcbn1cbmZ1bmN0aW9uIGlzU2hhZG93Um9vdCh2YWx1ZSkge1xuICBpZiAoIWhhc1dpbmRvdygpIHx8IHR5cGVvZiBTaGFkb3dSb290ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBTaGFkb3dSb290IHx8IHZhbHVlIGluc3RhbmNlb2YgZ2V0V2luZG93KHZhbHVlKS5TaGFkb3dSb290O1xufVxuZnVuY3Rpb24gaXNPdmVyZmxvd0VsZW1lbnQoZWxlbWVudCkge1xuICBjb25zdCB7XG4gICAgb3ZlcmZsb3csXG4gICAgb3ZlcmZsb3dYLFxuICAgIG92ZXJmbG93WSxcbiAgICBkaXNwbGF5XG4gIH0gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICByZXR1cm4gL2F1dG98c2Nyb2xsfG92ZXJsYXl8aGlkZGVufGNsaXAvLnRlc3Qob3ZlcmZsb3cgKyBvdmVyZmxvd1kgKyBvdmVyZmxvd1gpICYmICFbJ2lubGluZScsICdjb250ZW50cyddLmluY2x1ZGVzKGRpc3BsYXkpO1xufVxuZnVuY3Rpb24gaXNUYWJsZUVsZW1lbnQoZWxlbWVudCkge1xuICByZXR1cm4gWyd0YWJsZScsICd0ZCcsICd0aCddLmluY2x1ZGVzKGdldE5vZGVOYW1lKGVsZW1lbnQpKTtcbn1cbmZ1bmN0aW9uIGlzVG9wTGF5ZXIoZWxlbWVudCkge1xuICByZXR1cm4gWyc6cG9wb3Zlci1vcGVuJywgJzptb2RhbCddLnNvbWUoc2VsZWN0b3IgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZWxlbWVudC5tYXRjaGVzKHNlbGVjdG9yKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9KTtcbn1cbmZ1bmN0aW9uIGlzQ29udGFpbmluZ0Jsb2NrKGVsZW1lbnRPckNzcykge1xuICBjb25zdCB3ZWJraXQgPSBpc1dlYktpdCgpO1xuICBjb25zdCBjc3MgPSBpc0VsZW1lbnQoZWxlbWVudE9yQ3NzKSA/IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudE9yQ3NzKSA6IGVsZW1lbnRPckNzcztcblxuICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvQ29udGFpbmluZ19ibG9jayNpZGVudGlmeWluZ190aGVfY29udGFpbmluZ19ibG9ja1xuICAvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXRyYW5zZm9ybXMtMi8jaW5kaXZpZHVhbC10cmFuc2Zvcm1zXG4gIHJldHVybiBbJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUnLCAnc2NhbGUnLCAncm90YXRlJywgJ3BlcnNwZWN0aXZlJ10uc29tZSh2YWx1ZSA9PiBjc3NbdmFsdWVdID8gY3NzW3ZhbHVlXSAhPT0gJ25vbmUnIDogZmFsc2UpIHx8IChjc3MuY29udGFpbmVyVHlwZSA/IGNzcy5jb250YWluZXJUeXBlICE9PSAnbm9ybWFsJyA6IGZhbHNlKSB8fCAhd2Via2l0ICYmIChjc3MuYmFja2Ryb3BGaWx0ZXIgPyBjc3MuYmFja2Ryb3BGaWx0ZXIgIT09ICdub25lJyA6IGZhbHNlKSB8fCAhd2Via2l0ICYmIChjc3MuZmlsdGVyID8gY3NzLmZpbHRlciAhPT0gJ25vbmUnIDogZmFsc2UpIHx8IFsndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZScsICdzY2FsZScsICdyb3RhdGUnLCAncGVyc3BlY3RpdmUnLCAnZmlsdGVyJ10uc29tZSh2YWx1ZSA9PiAoY3NzLndpbGxDaGFuZ2UgfHwgJycpLmluY2x1ZGVzKHZhbHVlKSkgfHwgWydwYWludCcsICdsYXlvdXQnLCAnc3RyaWN0JywgJ2NvbnRlbnQnXS5zb21lKHZhbHVlID0+IChjc3MuY29udGFpbiB8fCAnJykuaW5jbHVkZXModmFsdWUpKTtcbn1cbmZ1bmN0aW9uIGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB7XG4gIGxldCBjdXJyZW50Tm9kZSA9IGdldFBhcmVudE5vZGUoZWxlbWVudCk7XG4gIHdoaWxlIChpc0hUTUxFbGVtZW50KGN1cnJlbnROb2RlKSAmJiAhaXNMYXN0VHJhdmVyc2FibGVOb2RlKGN1cnJlbnROb2RlKSkge1xuICAgIGlmIChpc0NvbnRhaW5pbmdCbG9jayhjdXJyZW50Tm9kZSkpIHtcbiAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICB9IGVsc2UgaWYgKGlzVG9wTGF5ZXIoY3VycmVudE5vZGUpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY3VycmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGN1cnJlbnROb2RlKTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzV2ViS2l0KCkge1xuICBpZiAodHlwZW9mIENTUyA9PT0gJ3VuZGVmaW5lZCcgfHwgIUNTUy5zdXBwb3J0cykgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gQ1NTLnN1cHBvcnRzKCctd2Via2l0LWJhY2tkcm9wLWZpbHRlcicsICdub25lJyk7XG59XG5mdW5jdGlvbiBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUobm9kZSkge1xuICByZXR1cm4gWydodG1sJywgJ2JvZHknLCAnI2RvY3VtZW50J10uaW5jbHVkZXMoZ2V0Tm9kZU5hbWUobm9kZSkpO1xufVxuZnVuY3Rpb24gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KSB7XG4gIHJldHVybiBnZXRXaW5kb3coZWxlbWVudCkuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbn1cbmZ1bmN0aW9uIGdldE5vZGVTY3JvbGwoZWxlbWVudCkge1xuICBpZiAoaXNFbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNjcm9sbExlZnQ6IGVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICAgIHNjcm9sbFRvcDogZWxlbWVudC5zY3JvbGxUb3BcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgc2Nyb2xsTGVmdDogZWxlbWVudC5zY3JvbGxYLFxuICAgIHNjcm9sbFRvcDogZWxlbWVudC5zY3JvbGxZXG4gIH07XG59XG5mdW5jdGlvbiBnZXRQYXJlbnROb2RlKG5vZGUpIHtcbiAgaWYgKGdldE5vZGVOYW1lKG5vZGUpID09PSAnaHRtbCcpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuICBjb25zdCByZXN1bHQgPVxuICAvLyBTdGVwIGludG8gdGhlIHNoYWRvdyBET00gb2YgdGhlIHBhcmVudCBvZiBhIHNsb3R0ZWQgbm9kZS5cbiAgbm9kZS5hc3NpZ25lZFNsb3QgfHxcbiAgLy8gRE9NIEVsZW1lbnQgZGV0ZWN0ZWQuXG4gIG5vZGUucGFyZW50Tm9kZSB8fFxuICAvLyBTaGFkb3dSb290IGRldGVjdGVkLlxuICBpc1NoYWRvd1Jvb3Qobm9kZSkgJiYgbm9kZS5ob3N0IHx8XG4gIC8vIEZhbGxiYWNrLlxuICBnZXREb2N1bWVudEVsZW1lbnQobm9kZSk7XG4gIHJldHVybiBpc1NoYWRvd1Jvb3QocmVzdWx0KSA/IHJlc3VsdC5ob3N0IDogcmVzdWx0O1xufVxuZnVuY3Rpb24gZ2V0TmVhcmVzdE92ZXJmbG93QW5jZXN0b3Iobm9kZSkge1xuICBjb25zdCBwYXJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShub2RlKTtcbiAgaWYgKGlzTGFzdFRyYXZlcnNhYmxlTm9kZShwYXJlbnROb2RlKSkge1xuICAgIHJldHVybiBub2RlLm93bmVyRG9jdW1lbnQgPyBub2RlLm93bmVyRG9jdW1lbnQuYm9keSA6IG5vZGUuYm9keTtcbiAgfVxuICBpZiAoaXNIVE1MRWxlbWVudChwYXJlbnROb2RlKSAmJiBpc092ZXJmbG93RWxlbWVudChwYXJlbnROb2RlKSkge1xuICAgIHJldHVybiBwYXJlbnROb2RlO1xuICB9XG4gIHJldHVybiBnZXROZWFyZXN0T3ZlcmZsb3dBbmNlc3RvcihwYXJlbnROb2RlKTtcbn1cbmZ1bmN0aW9uIGdldE92ZXJmbG93QW5jZXN0b3JzKG5vZGUsIGxpc3QsIHRyYXZlcnNlSWZyYW1lcykge1xuICB2YXIgX25vZGUkb3duZXJEb2N1bWVudDI7XG4gIGlmIChsaXN0ID09PSB2b2lkIDApIHtcbiAgICBsaXN0ID0gW107XG4gIH1cbiAgaWYgKHRyYXZlcnNlSWZyYW1lcyA9PT0gdm9pZCAwKSB7XG4gICAgdHJhdmVyc2VJZnJhbWVzID0gdHJ1ZTtcbiAgfVxuICBjb25zdCBzY3JvbGxhYmxlQW5jZXN0b3IgPSBnZXROZWFyZXN0T3ZlcmZsb3dBbmNlc3Rvcihub2RlKTtcbiAgY29uc3QgaXNCb2R5ID0gc2Nyb2xsYWJsZUFuY2VzdG9yID09PSAoKF9ub2RlJG93bmVyRG9jdW1lbnQyID0gbm9kZS5vd25lckRvY3VtZW50KSA9PSBudWxsID8gdm9pZCAwIDogX25vZGUkb3duZXJEb2N1bWVudDIuYm9keSk7XG4gIGNvbnN0IHdpbiA9IGdldFdpbmRvdyhzY3JvbGxhYmxlQW5jZXN0b3IpO1xuICBpZiAoaXNCb2R5KSB7XG4gICAgY29uc3QgZnJhbWVFbGVtZW50ID0gZ2V0RnJhbWVFbGVtZW50KHdpbik7XG4gICAgcmV0dXJuIGxpc3QuY29uY2F0KHdpbiwgd2luLnZpc3VhbFZpZXdwb3J0IHx8IFtdLCBpc092ZXJmbG93RWxlbWVudChzY3JvbGxhYmxlQW5jZXN0b3IpID8gc2Nyb2xsYWJsZUFuY2VzdG9yIDogW10sIGZyYW1lRWxlbWVudCAmJiB0cmF2ZXJzZUlmcmFtZXMgPyBnZXRPdmVyZmxvd0FuY2VzdG9ycyhmcmFtZUVsZW1lbnQpIDogW10pO1xuICB9XG4gIHJldHVybiBsaXN0LmNvbmNhdChzY3JvbGxhYmxlQW5jZXN0b3IsIGdldE92ZXJmbG93QW5jZXN0b3JzKHNjcm9sbGFibGVBbmNlc3RvciwgW10sIHRyYXZlcnNlSWZyYW1lcykpO1xufVxuZnVuY3Rpb24gZ2V0RnJhbWVFbGVtZW50KHdpbikge1xuICByZXR1cm4gd2luLnBhcmVudCAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yod2luLnBhcmVudCkgPyB3aW4uZnJhbWVFbGVtZW50IDogbnVsbDtcbn1cblxuZXhwb3J0IHsgZ2V0Q29tcHV0ZWRTdHlsZSwgZ2V0Q29udGFpbmluZ0Jsb2NrLCBnZXREb2N1bWVudEVsZW1lbnQsIGdldEZyYW1lRWxlbWVudCwgZ2V0TmVhcmVzdE92ZXJmbG93QW5jZXN0b3IsIGdldE5vZGVOYW1lLCBnZXROb2RlU2Nyb2xsLCBnZXRPdmVyZmxvd0FuY2VzdG9ycywgZ2V0UGFyZW50Tm9kZSwgZ2V0V2luZG93LCBpc0NvbnRhaW5pbmdCbG9jaywgaXNFbGVtZW50LCBpc0hUTUxFbGVtZW50LCBpc0xhc3RUcmF2ZXJzYWJsZU5vZGUsIGlzTm9kZSwgaXNPdmVyZmxvd0VsZW1lbnQsIGlzU2hhZG93Um9vdCwgaXNUYWJsZUVsZW1lbnQsIGlzVG9wTGF5ZXIsIGlzV2ViS2l0IH07XG4iLCJpbXBvcnQgeyByZWN0VG9DbGllbnRSZWN0LCBkZXRlY3RPdmVyZmxvdyBhcyBkZXRlY3RPdmVyZmxvdyQxLCBvZmZzZXQgYXMgb2Zmc2V0JDEsIGF1dG9QbGFjZW1lbnQgYXMgYXV0b1BsYWNlbWVudCQxLCBzaGlmdCBhcyBzaGlmdCQxLCBmbGlwIGFzIGZsaXAkMSwgc2l6ZSBhcyBzaXplJDEsIGhpZGUgYXMgaGlkZSQxLCBhcnJvdyBhcyBhcnJvdyQxLCBpbmxpbmUgYXMgaW5saW5lJDEsIGxpbWl0U2hpZnQgYXMgbGltaXRTaGlmdCQxLCBjb21wdXRlUG9zaXRpb24gYXMgY29tcHV0ZVBvc2l0aW9uJDEgfSBmcm9tICdAZmxvYXRpbmctdWkvY29yZSc7XG5pbXBvcnQgeyByb3VuZCwgY3JlYXRlQ29vcmRzLCBtYXgsIG1pbiwgZmxvb3IgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0Q29tcHV0ZWRTdHlsZSwgaXNIVE1MRWxlbWVudCwgaXNFbGVtZW50LCBnZXRXaW5kb3csIGlzV2ViS2l0LCBnZXRGcmFtZUVsZW1lbnQsIGdldE5vZGVTY3JvbGwsIGdldERvY3VtZW50RWxlbWVudCwgaXNUb3BMYXllciwgZ2V0Tm9kZU5hbWUsIGlzT3ZlcmZsb3dFbGVtZW50LCBnZXRPdmVyZmxvd0FuY2VzdG9ycywgZ2V0UGFyZW50Tm9kZSwgaXNMYXN0VHJhdmVyc2FibGVOb2RlLCBpc0NvbnRhaW5pbmdCbG9jaywgaXNUYWJsZUVsZW1lbnQsIGdldENvbnRhaW5pbmdCbG9jayB9IGZyb20gJ0BmbG9hdGluZy11aS91dGlscy9kb20nO1xuZXhwb3J0IHsgZ2V0T3ZlcmZsb3dBbmNlc3RvcnMgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMvZG9tJztcblxuZnVuY3Rpb24gZ2V0Q3NzRGltZW5zaW9ucyhlbGVtZW50KSB7XG4gIGNvbnN0IGNzcyA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIC8vIEluIHRlc3RpbmcgZW52aXJvbm1lbnRzLCB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgcHJvcGVydGllcyBhcmUgZW1wdHlcbiAgLy8gc3RyaW5ncyBmb3IgU1ZHIGVsZW1lbnRzLCByZXR1cm5pbmcgTmFOLiBGYWxsYmFjayB0byBgMGAgaW4gdGhpcyBjYXNlLlxuICBsZXQgd2lkdGggPSBwYXJzZUZsb2F0KGNzcy53aWR0aCkgfHwgMDtcbiAgbGV0IGhlaWdodCA9IHBhcnNlRmxvYXQoY3NzLmhlaWdodCkgfHwgMDtcbiAgY29uc3QgaGFzT2Zmc2V0ID0gaXNIVE1MRWxlbWVudChlbGVtZW50KTtcbiAgY29uc3Qgb2Zmc2V0V2lkdGggPSBoYXNPZmZzZXQgPyBlbGVtZW50Lm9mZnNldFdpZHRoIDogd2lkdGg7XG4gIGNvbnN0IG9mZnNldEhlaWdodCA9IGhhc09mZnNldCA/IGVsZW1lbnQub2Zmc2V0SGVpZ2h0IDogaGVpZ2h0O1xuICBjb25zdCBzaG91bGRGYWxsYmFjayA9IHJvdW5kKHdpZHRoKSAhPT0gb2Zmc2V0V2lkdGggfHwgcm91bmQoaGVpZ2h0KSAhPT0gb2Zmc2V0SGVpZ2h0O1xuICBpZiAoc2hvdWxkRmFsbGJhY2spIHtcbiAgICB3aWR0aCA9IG9mZnNldFdpZHRoO1xuICAgIGhlaWdodCA9IG9mZnNldEhlaWdodDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICAkOiBzaG91bGRGYWxsYmFja1xuICB9O1xufVxuXG5mdW5jdGlvbiB1bndyYXBFbGVtZW50KGVsZW1lbnQpIHtcbiAgcmV0dXJuICFpc0VsZW1lbnQoZWxlbWVudCkgPyBlbGVtZW50LmNvbnRleHRFbGVtZW50IDogZWxlbWVudDtcbn1cblxuZnVuY3Rpb24gZ2V0U2NhbGUoZWxlbWVudCkge1xuICBjb25zdCBkb21FbGVtZW50ID0gdW53cmFwRWxlbWVudChlbGVtZW50KTtcbiAgaWYgKCFpc0hUTUxFbGVtZW50KGRvbUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZUNvb3JkcygxKTtcbiAgfVxuICBjb25zdCByZWN0ID0gZG9tRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3Qge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICAkXG4gIH0gPSBnZXRDc3NEaW1lbnNpb25zKGRvbUVsZW1lbnQpO1xuICBsZXQgeCA9ICgkID8gcm91bmQocmVjdC53aWR0aCkgOiByZWN0LndpZHRoKSAvIHdpZHRoO1xuICBsZXQgeSA9ICgkID8gcm91bmQocmVjdC5oZWlnaHQpIDogcmVjdC5oZWlnaHQpIC8gaGVpZ2h0O1xuXG4gIC8vIDAsIE5hTiwgb3IgSW5maW5pdHkgc2hvdWxkIGFsd2F5cyBmYWxsYmFjayB0byAxLlxuXG4gIGlmICgheCB8fCAhTnVtYmVyLmlzRmluaXRlKHgpKSB7XG4gICAgeCA9IDE7XG4gIH1cbiAgaWYgKCF5IHx8ICFOdW1iZXIuaXNGaW5pdGUoeSkpIHtcbiAgICB5ID0gMTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG5jb25zdCBub09mZnNldHMgPSAvKiNfX1BVUkVfXyovY3JlYXRlQ29vcmRzKDApO1xuZnVuY3Rpb24gZ2V0VmlzdWFsT2Zmc2V0cyhlbGVtZW50KSB7XG4gIGNvbnN0IHdpbiA9IGdldFdpbmRvdyhlbGVtZW50KTtcbiAgaWYgKCFpc1dlYktpdCgpIHx8ICF3aW4udmlzdWFsVmlld3BvcnQpIHtcbiAgICByZXR1cm4gbm9PZmZzZXRzO1xuICB9XG4gIHJldHVybiB7XG4gICAgeDogd2luLnZpc3VhbFZpZXdwb3J0Lm9mZnNldExlZnQsXG4gICAgeTogd2luLnZpc3VhbFZpZXdwb3J0Lm9mZnNldFRvcFxuICB9O1xufVxuZnVuY3Rpb24gc2hvdWxkQWRkVmlzdWFsT2Zmc2V0cyhlbGVtZW50LCBpc0ZpeGVkLCBmbG9hdGluZ09mZnNldFBhcmVudCkge1xuICBpZiAoaXNGaXhlZCA9PT0gdm9pZCAwKSB7XG4gICAgaXNGaXhlZCA9IGZhbHNlO1xuICB9XG4gIGlmICghZmxvYXRpbmdPZmZzZXRQYXJlbnQgfHwgaXNGaXhlZCAmJiBmbG9hdGluZ09mZnNldFBhcmVudCAhPT0gZ2V0V2luZG93KGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBpc0ZpeGVkO1xufVxuXG5mdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgaW5jbHVkZVNjYWxlLCBpc0ZpeGVkU3RyYXRlZ3ksIG9mZnNldFBhcmVudCkge1xuICBpZiAoaW5jbHVkZVNjYWxlID09PSB2b2lkIDApIHtcbiAgICBpbmNsdWRlU2NhbGUgPSBmYWxzZTtcbiAgfVxuICBpZiAoaXNGaXhlZFN0cmF0ZWd5ID09PSB2b2lkIDApIHtcbiAgICBpc0ZpeGVkU3RyYXRlZ3kgPSBmYWxzZTtcbiAgfVxuICBjb25zdCBjbGllbnRSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgZG9tRWxlbWVudCA9IHVud3JhcEVsZW1lbnQoZWxlbWVudCk7XG4gIGxldCBzY2FsZSA9IGNyZWF0ZUNvb3JkcygxKTtcbiAgaWYgKGluY2x1ZGVTY2FsZSkge1xuICAgIGlmIChvZmZzZXRQYXJlbnQpIHtcbiAgICAgIGlmIChpc0VsZW1lbnQob2Zmc2V0UGFyZW50KSkge1xuICAgICAgICBzY2FsZSA9IGdldFNjYWxlKG9mZnNldFBhcmVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNjYWxlID0gZ2V0U2NhbGUoZWxlbWVudCk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHZpc3VhbE9mZnNldHMgPSBzaG91bGRBZGRWaXN1YWxPZmZzZXRzKGRvbUVsZW1lbnQsIGlzRml4ZWRTdHJhdGVneSwgb2Zmc2V0UGFyZW50KSA/IGdldFZpc3VhbE9mZnNldHMoZG9tRWxlbWVudCkgOiBjcmVhdGVDb29yZHMoMCk7XG4gIGxldCB4ID0gKGNsaWVudFJlY3QubGVmdCArIHZpc3VhbE9mZnNldHMueCkgLyBzY2FsZS54O1xuICBsZXQgeSA9IChjbGllbnRSZWN0LnRvcCArIHZpc3VhbE9mZnNldHMueSkgLyBzY2FsZS55O1xuICBsZXQgd2lkdGggPSBjbGllbnRSZWN0LndpZHRoIC8gc2NhbGUueDtcbiAgbGV0IGhlaWdodCA9IGNsaWVudFJlY3QuaGVpZ2h0IC8gc2NhbGUueTtcbiAgaWYgKGRvbUVsZW1lbnQpIHtcbiAgICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZG9tRWxlbWVudCk7XG4gICAgY29uc3Qgb2Zmc2V0V2luID0gb2Zmc2V0UGFyZW50ICYmIGlzRWxlbWVudChvZmZzZXRQYXJlbnQpID8gZ2V0V2luZG93KG9mZnNldFBhcmVudCkgOiBvZmZzZXRQYXJlbnQ7XG4gICAgbGV0IGN1cnJlbnRXaW4gPSB3aW47XG4gICAgbGV0IGN1cnJlbnRJRnJhbWUgPSBnZXRGcmFtZUVsZW1lbnQoY3VycmVudFdpbik7XG4gICAgd2hpbGUgKGN1cnJlbnRJRnJhbWUgJiYgb2Zmc2V0UGFyZW50ICYmIG9mZnNldFdpbiAhPT0gY3VycmVudFdpbikge1xuICAgICAgY29uc3QgaWZyYW1lU2NhbGUgPSBnZXRTY2FsZShjdXJyZW50SUZyYW1lKTtcbiAgICAgIGNvbnN0IGlmcmFtZVJlY3QgPSBjdXJyZW50SUZyYW1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgY3NzID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJyZW50SUZyYW1lKTtcbiAgICAgIGNvbnN0IGxlZnQgPSBpZnJhbWVSZWN0LmxlZnQgKyAoY3VycmVudElGcmFtZS5jbGllbnRMZWZ0ICsgcGFyc2VGbG9hdChjc3MucGFkZGluZ0xlZnQpKSAqIGlmcmFtZVNjYWxlLng7XG4gICAgICBjb25zdCB0b3AgPSBpZnJhbWVSZWN0LnRvcCArIChjdXJyZW50SUZyYW1lLmNsaWVudFRvcCArIHBhcnNlRmxvYXQoY3NzLnBhZGRpbmdUb3ApKSAqIGlmcmFtZVNjYWxlLnk7XG4gICAgICB4ICo9IGlmcmFtZVNjYWxlLng7XG4gICAgICB5ICo9IGlmcmFtZVNjYWxlLnk7XG4gICAgICB3aWR0aCAqPSBpZnJhbWVTY2FsZS54O1xuICAgICAgaGVpZ2h0ICo9IGlmcmFtZVNjYWxlLnk7XG4gICAgICB4ICs9IGxlZnQ7XG4gICAgICB5ICs9IHRvcDtcbiAgICAgIGN1cnJlbnRXaW4gPSBnZXRXaW5kb3coY3VycmVudElGcmFtZSk7XG4gICAgICBjdXJyZW50SUZyYW1lID0gZ2V0RnJhbWVFbGVtZW50KGN1cnJlbnRXaW4pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVjdFRvQ2xpZW50UmVjdCh7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHgsXG4gICAgeVxuICB9KTtcbn1cblxuLy8gSWYgPGh0bWw+IGhhcyBhIENTUyB3aWR0aCBncmVhdGVyIHRoYW4gdGhlIHZpZXdwb3J0LCB0aGVuIHRoaXMgd2lsbCBiZVxuLy8gaW5jb3JyZWN0IGZvciBSVEwuXG5mdW5jdGlvbiBnZXRXaW5kb3dTY3JvbGxCYXJYKGVsZW1lbnQsIHJlY3QpIHtcbiAgY29uc3QgbGVmdFNjcm9sbCA9IGdldE5vZGVTY3JvbGwoZWxlbWVudCkuc2Nyb2xsTGVmdDtcbiAgaWYgKCFyZWN0KSB7XG4gICAgcmV0dXJuIGdldEJvdW5kaW5nQ2xpZW50UmVjdChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkpLmxlZnQgKyBsZWZ0U2Nyb2xsO1xuICB9XG4gIHJldHVybiByZWN0LmxlZnQgKyBsZWZ0U2Nyb2xsO1xufVxuXG5mdW5jdGlvbiBnZXRIVE1MT2Zmc2V0KGRvY3VtZW50RWxlbWVudCwgc2Nyb2xsLCBpZ25vcmVTY3JvbGxiYXJYKSB7XG4gIGlmIChpZ25vcmVTY3JvbGxiYXJYID09PSB2b2lkIDApIHtcbiAgICBpZ25vcmVTY3JvbGxiYXJYID0gZmFsc2U7XG4gIH1cbiAgY29uc3QgaHRtbFJlY3QgPSBkb2N1bWVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IHggPSBodG1sUmVjdC5sZWZ0ICsgc2Nyb2xsLnNjcm9sbExlZnQgLSAoaWdub3JlU2Nyb2xsYmFyWCA/IDAgOlxuICAvLyBSVEwgPGJvZHk+IHNjcm9sbGJhci5cbiAgZ2V0V2luZG93U2Nyb2xsQmFyWChkb2N1bWVudEVsZW1lbnQsIGh0bWxSZWN0KSk7XG4gIGNvbnN0IHkgPSBodG1sUmVjdC50b3AgKyBzY3JvbGwuc2Nyb2xsVG9wO1xuICByZXR1cm4ge1xuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdChfcmVmKSB7XG4gIGxldCB7XG4gICAgZWxlbWVudHMsXG4gICAgcmVjdCxcbiAgICBvZmZzZXRQYXJlbnQsXG4gICAgc3RyYXRlZ3lcbiAgfSA9IF9yZWY7XG4gIGNvbnN0IGlzRml4ZWQgPSBzdHJhdGVneSA9PT0gJ2ZpeGVkJztcbiAgY29uc3QgZG9jdW1lbnRFbGVtZW50ID0gZ2V0RG9jdW1lbnRFbGVtZW50KG9mZnNldFBhcmVudCk7XG4gIGNvbnN0IHRvcExheWVyID0gZWxlbWVudHMgPyBpc1RvcExheWVyKGVsZW1lbnRzLmZsb2F0aW5nKSA6IGZhbHNlO1xuICBpZiAob2Zmc2V0UGFyZW50ID09PSBkb2N1bWVudEVsZW1lbnQgfHwgdG9wTGF5ZXIgJiYgaXNGaXhlZCkge1xuICAgIHJldHVybiByZWN0O1xuICB9XG4gIGxldCBzY3JvbGwgPSB7XG4gICAgc2Nyb2xsTGVmdDogMCxcbiAgICBzY3JvbGxUb3A6IDBcbiAgfTtcbiAgbGV0IHNjYWxlID0gY3JlYXRlQ29vcmRzKDEpO1xuICBjb25zdCBvZmZzZXRzID0gY3JlYXRlQ29vcmRzKDApO1xuICBjb25zdCBpc09mZnNldFBhcmVudEFuRWxlbWVudCA9IGlzSFRNTEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgaWYgKGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50IHx8ICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiAhaXNGaXhlZCkge1xuICAgIGlmIChnZXROb2RlTmFtZShvZmZzZXRQYXJlbnQpICE9PSAnYm9keScgfHwgaXNPdmVyZmxvd0VsZW1lbnQoZG9jdW1lbnRFbGVtZW50KSkge1xuICAgICAgc2Nyb2xsID0gZ2V0Tm9kZVNjcm9sbChvZmZzZXRQYXJlbnQpO1xuICAgIH1cbiAgICBpZiAoaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpKSB7XG4gICAgICBjb25zdCBvZmZzZXRSZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KG9mZnNldFBhcmVudCk7XG4gICAgICBzY2FsZSA9IGdldFNjYWxlKG9mZnNldFBhcmVudCk7XG4gICAgICBvZmZzZXRzLnggPSBvZmZzZXRSZWN0LnggKyBvZmZzZXRQYXJlbnQuY2xpZW50TGVmdDtcbiAgICAgIG9mZnNldHMueSA9IG9mZnNldFJlY3QueSArIG9mZnNldFBhcmVudC5jbGllbnRUb3A7XG4gICAgfVxuICB9XG4gIGNvbnN0IGh0bWxPZmZzZXQgPSBkb2N1bWVudEVsZW1lbnQgJiYgIWlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ICYmICFpc0ZpeGVkID8gZ2V0SFRNTE9mZnNldChkb2N1bWVudEVsZW1lbnQsIHNjcm9sbCwgdHJ1ZSkgOiBjcmVhdGVDb29yZHMoMCk7XG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHJlY3Qud2lkdGggKiBzY2FsZS54LFxuICAgIGhlaWdodDogcmVjdC5oZWlnaHQgKiBzY2FsZS55LFxuICAgIHg6IHJlY3QueCAqIHNjYWxlLnggLSBzY3JvbGwuc2Nyb2xsTGVmdCAqIHNjYWxlLnggKyBvZmZzZXRzLnggKyBodG1sT2Zmc2V0LngsXG4gICAgeTogcmVjdC55ICogc2NhbGUueSAtIHNjcm9sbC5zY3JvbGxUb3AgKiBzY2FsZS55ICsgb2Zmc2V0cy55ICsgaHRtbE9mZnNldC55XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldENsaWVudFJlY3RzKGVsZW1lbnQpIHtcbiAgcmV0dXJuIEFycmF5LmZyb20oZWxlbWVudC5nZXRDbGllbnRSZWN0cygpKTtcbn1cblxuLy8gR2V0cyB0aGUgZW50aXJlIHNpemUgb2YgdGhlIHNjcm9sbGFibGUgZG9jdW1lbnQgYXJlYSwgZXZlbiBleHRlbmRpbmcgb3V0c2lkZVxuLy8gb2YgdGhlIGA8aHRtbD5gIGFuZCBgPGJvZHk+YCByZWN0IGJvdW5kcyBpZiBob3Jpem9udGFsbHkgc2Nyb2xsYWJsZS5cbmZ1bmN0aW9uIGdldERvY3VtZW50UmVjdChlbGVtZW50KSB7XG4gIGNvbnN0IGh0bWwgPSBnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCk7XG4gIGNvbnN0IHNjcm9sbCA9IGdldE5vZGVTY3JvbGwoZWxlbWVudCk7XG4gIGNvbnN0IGJvZHkgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuYm9keTtcbiAgY29uc3Qgd2lkdGggPSBtYXgoaHRtbC5zY3JvbGxXaWR0aCwgaHRtbC5jbGllbnRXaWR0aCwgYm9keS5zY3JvbGxXaWR0aCwgYm9keS5jbGllbnRXaWR0aCk7XG4gIGNvbnN0IGhlaWdodCA9IG1heChodG1sLnNjcm9sbEhlaWdodCwgaHRtbC5jbGllbnRIZWlnaHQsIGJvZHkuc2Nyb2xsSGVpZ2h0LCBib2R5LmNsaWVudEhlaWdodCk7XG4gIGxldCB4ID0gLXNjcm9sbC5zY3JvbGxMZWZ0ICsgZ2V0V2luZG93U2Nyb2xsQmFyWChlbGVtZW50KTtcbiAgY29uc3QgeSA9IC1zY3JvbGwuc2Nyb2xsVG9wO1xuICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShib2R5KS5kaXJlY3Rpb24gPT09ICdydGwnKSB7XG4gICAgeCArPSBtYXgoaHRtbC5jbGllbnRXaWR0aCwgYm9keS5jbGllbnRXaWR0aCkgLSB3aWR0aDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICB4LFxuICAgIHlcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0Vmlld3BvcnRSZWN0KGVsZW1lbnQsIHN0cmF0ZWd5KSB7XG4gIGNvbnN0IHdpbiA9IGdldFdpbmRvdyhlbGVtZW50KTtcbiAgY29uc3QgaHRtbCA9IGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KTtcbiAgY29uc3QgdmlzdWFsVmlld3BvcnQgPSB3aW4udmlzdWFsVmlld3BvcnQ7XG4gIGxldCB3aWR0aCA9IGh0bWwuY2xpZW50V2lkdGg7XG4gIGxldCBoZWlnaHQgPSBodG1sLmNsaWVudEhlaWdodDtcbiAgbGV0IHggPSAwO1xuICBsZXQgeSA9IDA7XG4gIGlmICh2aXN1YWxWaWV3cG9ydCkge1xuICAgIHdpZHRoID0gdmlzdWFsVmlld3BvcnQud2lkdGg7XG4gICAgaGVpZ2h0ID0gdmlzdWFsVmlld3BvcnQuaGVpZ2h0O1xuICAgIGNvbnN0IHZpc3VhbFZpZXdwb3J0QmFzZWQgPSBpc1dlYktpdCgpO1xuICAgIGlmICghdmlzdWFsVmlld3BvcnRCYXNlZCB8fCB2aXN1YWxWaWV3cG9ydEJhc2VkICYmIHN0cmF0ZWd5ID09PSAnZml4ZWQnKSB7XG4gICAgICB4ID0gdmlzdWFsVmlld3BvcnQub2Zmc2V0TGVmdDtcbiAgICAgIHkgPSB2aXN1YWxWaWV3cG9ydC5vZmZzZXRUb3A7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHgsXG4gICAgeVxuICB9O1xufVxuXG4vLyBSZXR1cm5zIHRoZSBpbm5lciBjbGllbnQgcmVjdCwgc3VidHJhY3Rpbmcgc2Nyb2xsYmFycyBpZiBwcmVzZW50LlxuZnVuY3Rpb24gZ2V0SW5uZXJCb3VuZGluZ0NsaWVudFJlY3QoZWxlbWVudCwgc3RyYXRlZ3kpIHtcbiAgY29uc3QgY2xpZW50UmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50LCB0cnVlLCBzdHJhdGVneSA9PT0gJ2ZpeGVkJyk7XG4gIGNvbnN0IHRvcCA9IGNsaWVudFJlY3QudG9wICsgZWxlbWVudC5jbGllbnRUb3A7XG4gIGNvbnN0IGxlZnQgPSBjbGllbnRSZWN0LmxlZnQgKyBlbGVtZW50LmNsaWVudExlZnQ7XG4gIGNvbnN0IHNjYWxlID0gaXNIVE1MRWxlbWVudChlbGVtZW50KSA/IGdldFNjYWxlKGVsZW1lbnQpIDogY3JlYXRlQ29vcmRzKDEpO1xuICBjb25zdCB3aWR0aCA9IGVsZW1lbnQuY2xpZW50V2lkdGggKiBzY2FsZS54O1xuICBjb25zdCBoZWlnaHQgPSBlbGVtZW50LmNsaWVudEhlaWdodCAqIHNjYWxlLnk7XG4gIGNvbnN0IHggPSBsZWZ0ICogc2NhbGUueDtcbiAgY29uc3QgeSA9IHRvcCAqIHNjYWxlLnk7XG4gIHJldHVybiB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIHgsXG4gICAgeVxuICB9O1xufVxuZnVuY3Rpb24gZ2V0Q2xpZW50UmVjdEZyb21DbGlwcGluZ0FuY2VzdG9yKGVsZW1lbnQsIGNsaXBwaW5nQW5jZXN0b3IsIHN0cmF0ZWd5KSB7XG4gIGxldCByZWN0O1xuICBpZiAoY2xpcHBpbmdBbmNlc3RvciA9PT0gJ3ZpZXdwb3J0Jykge1xuICAgIHJlY3QgPSBnZXRWaWV3cG9ydFJlY3QoZWxlbWVudCwgc3RyYXRlZ3kpO1xuICB9IGVsc2UgaWYgKGNsaXBwaW5nQW5jZXN0b3IgPT09ICdkb2N1bWVudCcpIHtcbiAgICByZWN0ID0gZ2V0RG9jdW1lbnRSZWN0KGdldERvY3VtZW50RWxlbWVudChlbGVtZW50KSk7XG4gIH0gZWxzZSBpZiAoaXNFbGVtZW50KGNsaXBwaW5nQW5jZXN0b3IpKSB7XG4gICAgcmVjdCA9IGdldElubmVyQm91bmRpbmdDbGllbnRSZWN0KGNsaXBwaW5nQW5jZXN0b3IsIHN0cmF0ZWd5KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCB2aXN1YWxPZmZzZXRzID0gZ2V0VmlzdWFsT2Zmc2V0cyhlbGVtZW50KTtcbiAgICByZWN0ID0ge1xuICAgICAgeDogY2xpcHBpbmdBbmNlc3Rvci54IC0gdmlzdWFsT2Zmc2V0cy54LFxuICAgICAgeTogY2xpcHBpbmdBbmNlc3Rvci55IC0gdmlzdWFsT2Zmc2V0cy55LFxuICAgICAgd2lkdGg6IGNsaXBwaW5nQW5jZXN0b3Iud2lkdGgsXG4gICAgICBoZWlnaHQ6IGNsaXBwaW5nQW5jZXN0b3IuaGVpZ2h0XG4gICAgfTtcbiAgfVxuICByZXR1cm4gcmVjdFRvQ2xpZW50UmVjdChyZWN0KTtcbn1cbmZ1bmN0aW9uIGhhc0ZpeGVkUG9zaXRpb25BbmNlc3RvcihlbGVtZW50LCBzdG9wTm9kZSkge1xuICBjb25zdCBwYXJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShlbGVtZW50KTtcbiAgaWYgKHBhcmVudE5vZGUgPT09IHN0b3BOb2RlIHx8ICFpc0VsZW1lbnQocGFyZW50Tm9kZSkgfHwgaXNMYXN0VHJhdmVyc2FibGVOb2RlKHBhcmVudE5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKHBhcmVudE5vZGUpLnBvc2l0aW9uID09PSAnZml4ZWQnIHx8IGhhc0ZpeGVkUG9zaXRpb25BbmNlc3RvcihwYXJlbnROb2RlLCBzdG9wTm9kZSk7XG59XG5cbi8vIEEgXCJjbGlwcGluZyBhbmNlc3RvclwiIGlzIGFuIGBvdmVyZmxvd2AgZWxlbWVudCB3aXRoIHRoZSBjaGFyYWN0ZXJpc3RpYyBvZlxuLy8gY2xpcHBpbmcgKG9yIGhpZGluZykgY2hpbGQgZWxlbWVudHMuIFRoaXMgcmV0dXJucyBhbGwgY2xpcHBpbmcgYW5jZXN0b3JzXG4vLyBvZiB0aGUgZ2l2ZW4gZWxlbWVudCB1cCB0aGUgdHJlZS5cbmZ1bmN0aW9uIGdldENsaXBwaW5nRWxlbWVudEFuY2VzdG9ycyhlbGVtZW50LCBjYWNoZSkge1xuICBjb25zdCBjYWNoZWRSZXN1bHQgPSBjYWNoZS5nZXQoZWxlbWVudCk7XG4gIGlmIChjYWNoZWRSZXN1bHQpIHtcbiAgICByZXR1cm4gY2FjaGVkUmVzdWx0O1xuICB9XG4gIGxldCByZXN1bHQgPSBnZXRPdmVyZmxvd0FuY2VzdG9ycyhlbGVtZW50LCBbXSwgZmFsc2UpLmZpbHRlcihlbCA9PiBpc0VsZW1lbnQoZWwpICYmIGdldE5vZGVOYW1lKGVsKSAhPT0gJ2JvZHknKTtcbiAgbGV0IGN1cnJlbnRDb250YWluaW5nQmxvY2tDb21wdXRlZFN0eWxlID0gbnVsbDtcbiAgY29uc3QgZWxlbWVudElzRml4ZWQgPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uID09PSAnZml4ZWQnO1xuICBsZXQgY3VycmVudE5vZGUgPSBlbGVtZW50SXNGaXhlZCA/IGdldFBhcmVudE5vZGUoZWxlbWVudCkgOiBlbGVtZW50O1xuXG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9Db250YWluaW5nX2Jsb2NrI2lkZW50aWZ5aW5nX3RoZV9jb250YWluaW5nX2Jsb2NrXG4gIHdoaWxlIChpc0VsZW1lbnQoY3VycmVudE5vZGUpICYmICFpc0xhc3RUcmF2ZXJzYWJsZU5vZGUoY3VycmVudE5vZGUpKSB7XG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUoY3VycmVudE5vZGUpO1xuICAgIGNvbnN0IGN1cnJlbnROb2RlSXNDb250YWluaW5nID0gaXNDb250YWluaW5nQmxvY2soY3VycmVudE5vZGUpO1xuICAgIGlmICghY3VycmVudE5vZGVJc0NvbnRhaW5pbmcgJiYgY29tcHV0ZWRTdHlsZS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJykge1xuICAgICAgY3VycmVudENvbnRhaW5pbmdCbG9ja0NvbXB1dGVkU3R5bGUgPSBudWxsO1xuICAgIH1cbiAgICBjb25zdCBzaG91bGREcm9wQ3VycmVudE5vZGUgPSBlbGVtZW50SXNGaXhlZCA/ICFjdXJyZW50Tm9kZUlzQ29udGFpbmluZyAmJiAhY3VycmVudENvbnRhaW5pbmdCbG9ja0NvbXB1dGVkU3R5bGUgOiAhY3VycmVudE5vZGVJc0NvbnRhaW5pbmcgJiYgY29tcHV0ZWRTdHlsZS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycgJiYgISFjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSAmJiBbJ2Fic29sdXRlJywgJ2ZpeGVkJ10uaW5jbHVkZXMoY3VycmVudENvbnRhaW5pbmdCbG9ja0NvbXB1dGVkU3R5bGUucG9zaXRpb24pIHx8IGlzT3ZlcmZsb3dFbGVtZW50KGN1cnJlbnROb2RlKSAmJiAhY3VycmVudE5vZGVJc0NvbnRhaW5pbmcgJiYgaGFzRml4ZWRQb3NpdGlvbkFuY2VzdG9yKGVsZW1lbnQsIGN1cnJlbnROb2RlKTtcbiAgICBpZiAoc2hvdWxkRHJvcEN1cnJlbnROb2RlKSB7XG4gICAgICAvLyBEcm9wIG5vbi1jb250YWluaW5nIGJsb2Nrcy5cbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5maWx0ZXIoYW5jZXN0b3IgPT4gYW5jZXN0b3IgIT09IGN1cnJlbnROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVjb3JkIGxhc3QgY29udGFpbmluZyBibG9jayBmb3IgbmV4dCBpdGVyYXRpb24uXG4gICAgICBjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSA9IGNvbXB1dGVkU3R5bGU7XG4gICAgfVxuICAgIGN1cnJlbnROb2RlID0gZ2V0UGFyZW50Tm9kZShjdXJyZW50Tm9kZSk7XG4gIH1cbiAgY2FjaGUuc2V0KGVsZW1lbnQsIHJlc3VsdCk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIEdldHMgdGhlIG1heGltdW0gYXJlYSB0aGF0IHRoZSBlbGVtZW50IGlzIHZpc2libGUgaW4gZHVlIHRvIGFueSBudW1iZXIgb2Zcbi8vIGNsaXBwaW5nIGFuY2VzdG9ycy5cbmZ1bmN0aW9uIGdldENsaXBwaW5nUmVjdChfcmVmKSB7XG4gIGxldCB7XG4gICAgZWxlbWVudCxcbiAgICBib3VuZGFyeSxcbiAgICByb290Qm91bmRhcnksXG4gICAgc3RyYXRlZ3lcbiAgfSA9IF9yZWY7XG4gIGNvbnN0IGVsZW1lbnRDbGlwcGluZ0FuY2VzdG9ycyA9IGJvdW5kYXJ5ID09PSAnY2xpcHBpbmdBbmNlc3RvcnMnID8gaXNUb3BMYXllcihlbGVtZW50KSA/IFtdIDogZ2V0Q2xpcHBpbmdFbGVtZW50QW5jZXN0b3JzKGVsZW1lbnQsIHRoaXMuX2MpIDogW10uY29uY2F0KGJvdW5kYXJ5KTtcbiAgY29uc3QgY2xpcHBpbmdBbmNlc3RvcnMgPSBbLi4uZWxlbWVudENsaXBwaW5nQW5jZXN0b3JzLCByb290Qm91bmRhcnldO1xuICBjb25zdCBmaXJzdENsaXBwaW5nQW5jZXN0b3IgPSBjbGlwcGluZ0FuY2VzdG9yc1swXTtcbiAgY29uc3QgY2xpcHBpbmdSZWN0ID0gY2xpcHBpbmdBbmNlc3RvcnMucmVkdWNlKChhY2NSZWN0LCBjbGlwcGluZ0FuY2VzdG9yKSA9PiB7XG4gICAgY29uc3QgcmVjdCA9IGdldENsaWVudFJlY3RGcm9tQ2xpcHBpbmdBbmNlc3RvcihlbGVtZW50LCBjbGlwcGluZ0FuY2VzdG9yLCBzdHJhdGVneSk7XG4gICAgYWNjUmVjdC50b3AgPSBtYXgocmVjdC50b3AsIGFjY1JlY3QudG9wKTtcbiAgICBhY2NSZWN0LnJpZ2h0ID0gbWluKHJlY3QucmlnaHQsIGFjY1JlY3QucmlnaHQpO1xuICAgIGFjY1JlY3QuYm90dG9tID0gbWluKHJlY3QuYm90dG9tLCBhY2NSZWN0LmJvdHRvbSk7XG4gICAgYWNjUmVjdC5sZWZ0ID0gbWF4KHJlY3QubGVmdCwgYWNjUmVjdC5sZWZ0KTtcbiAgICByZXR1cm4gYWNjUmVjdDtcbiAgfSwgZ2V0Q2xpZW50UmVjdEZyb21DbGlwcGluZ0FuY2VzdG9yKGVsZW1lbnQsIGZpcnN0Q2xpcHBpbmdBbmNlc3Rvciwgc3RyYXRlZ3kpKTtcbiAgcmV0dXJuIHtcbiAgICB3aWR0aDogY2xpcHBpbmdSZWN0LnJpZ2h0IC0gY2xpcHBpbmdSZWN0LmxlZnQsXG4gICAgaGVpZ2h0OiBjbGlwcGluZ1JlY3QuYm90dG9tIC0gY2xpcHBpbmdSZWN0LnRvcCxcbiAgICB4OiBjbGlwcGluZ1JlY3QubGVmdCxcbiAgICB5OiBjbGlwcGluZ1JlY3QudG9wXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldERpbWVuc2lvbnMoZWxlbWVudCkge1xuICBjb25zdCB7XG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0XG4gIH0gPSBnZXRDc3NEaW1lbnNpb25zKGVsZW1lbnQpO1xuICByZXR1cm4ge1xuICAgIHdpZHRoLFxuICAgIGhlaWdodFxuICB9O1xufVxuXG5mdW5jdGlvbiBnZXRSZWN0UmVsYXRpdmVUb09mZnNldFBhcmVudChlbGVtZW50LCBvZmZzZXRQYXJlbnQsIHN0cmF0ZWd5KSB7XG4gIGNvbnN0IGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50ID0gaXNIVE1MRWxlbWVudChvZmZzZXRQYXJlbnQpO1xuICBjb25zdCBkb2N1bWVudEVsZW1lbnQgPSBnZXREb2N1bWVudEVsZW1lbnQob2Zmc2V0UGFyZW50KTtcbiAgY29uc3QgaXNGaXhlZCA9IHN0cmF0ZWd5ID09PSAnZml4ZWQnO1xuICBjb25zdCByZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQsIHRydWUsIGlzRml4ZWQsIG9mZnNldFBhcmVudCk7XG4gIGxldCBzY3JvbGwgPSB7XG4gICAgc2Nyb2xsTGVmdDogMCxcbiAgICBzY3JvbGxUb3A6IDBcbiAgfTtcbiAgY29uc3Qgb2Zmc2V0cyA9IGNyZWF0ZUNvb3JkcygwKTtcbiAgaWYgKGlzT2Zmc2V0UGFyZW50QW5FbGVtZW50IHx8ICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiAhaXNGaXhlZCkge1xuICAgIGlmIChnZXROb2RlTmFtZShvZmZzZXRQYXJlbnQpICE9PSAnYm9keScgfHwgaXNPdmVyZmxvd0VsZW1lbnQoZG9jdW1lbnRFbGVtZW50KSkge1xuICAgICAgc2Nyb2xsID0gZ2V0Tm9kZVNjcm9sbChvZmZzZXRQYXJlbnQpO1xuICAgIH1cbiAgICBpZiAoaXNPZmZzZXRQYXJlbnRBbkVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IG9mZnNldFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3Qob2Zmc2V0UGFyZW50LCB0cnVlLCBpc0ZpeGVkLCBvZmZzZXRQYXJlbnQpO1xuICAgICAgb2Zmc2V0cy54ID0gb2Zmc2V0UmVjdC54ICsgb2Zmc2V0UGFyZW50LmNsaWVudExlZnQ7XG4gICAgICBvZmZzZXRzLnkgPSBvZmZzZXRSZWN0LnkgKyBvZmZzZXRQYXJlbnQuY2xpZW50VG9wO1xuICAgIH0gZWxzZSBpZiAoZG9jdW1lbnRFbGVtZW50KSB7XG4gICAgICAvLyBJZiB0aGUgPGJvZHk+IHNjcm9sbGJhciBhcHBlYXJzIG9uIHRoZSBsZWZ0IChlLmcuIFJUTCBzeXN0ZW1zKS4gVXNlXG4gICAgICAvLyBGaXJlZm94IHdpdGggbGF5b3V0LnNjcm9sbGJhci5zaWRlID0gMyBpbiBhYm91dDpjb25maWcgdG8gdGVzdCB0aGlzLlxuICAgICAgb2Zmc2V0cy54ID0gZ2V0V2luZG93U2Nyb2xsQmFyWChkb2N1bWVudEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICBjb25zdCBodG1sT2Zmc2V0ID0gZG9jdW1lbnRFbGVtZW50ICYmICFpc09mZnNldFBhcmVudEFuRWxlbWVudCAmJiAhaXNGaXhlZCA/IGdldEhUTUxPZmZzZXQoZG9jdW1lbnRFbGVtZW50LCBzY3JvbGwpIDogY3JlYXRlQ29vcmRzKDApO1xuICBjb25zdCB4ID0gcmVjdC5sZWZ0ICsgc2Nyb2xsLnNjcm9sbExlZnQgLSBvZmZzZXRzLnggLSBodG1sT2Zmc2V0Lng7XG4gIGNvbnN0IHkgPSByZWN0LnRvcCArIHNjcm9sbC5zY3JvbGxUb3AgLSBvZmZzZXRzLnkgLSBodG1sT2Zmc2V0Lnk7XG4gIHJldHVybiB7XG4gICAgeCxcbiAgICB5LFxuICAgIHdpZHRoOiByZWN0LndpZHRoLFxuICAgIGhlaWdodDogcmVjdC5oZWlnaHRcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNTdGF0aWNQb3NpdGlvbmVkKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnO1xufVxuXG5mdW5jdGlvbiBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQsIHBvbHlmaWxsKSB7XG4gIGlmICghaXNIVE1MRWxlbWVudChlbGVtZW50KSB8fCBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKHBvbHlmaWxsKSB7XG4gICAgcmV0dXJuIHBvbHlmaWxsKGVsZW1lbnQpO1xuICB9XG4gIGxldCByYXdPZmZzZXRQYXJlbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudDtcblxuICAvLyBGaXJlZm94IHJldHVybnMgdGhlIDxodG1sPiBlbGVtZW50IGFzIHRoZSBvZmZzZXRQYXJlbnQgaWYgaXQncyBub24tc3RhdGljLFxuICAvLyB3aGlsZSBDaHJvbWUgYW5kIFNhZmFyaSByZXR1cm4gdGhlIDxib2R5PiBlbGVtZW50LiBUaGUgPGJvZHk+IGVsZW1lbnQgbXVzdFxuICAvLyBiZSB1c2VkIHRvIHBlcmZvcm0gdGhlIGNvcnJlY3QgY2FsY3VsYXRpb25zIGV2ZW4gaWYgdGhlIDxodG1sPiBlbGVtZW50IGlzXG4gIC8vIG5vbi1zdGF0aWMuXG4gIGlmIChnZXREb2N1bWVudEVsZW1lbnQoZWxlbWVudCkgPT09IHJhd09mZnNldFBhcmVudCkge1xuICAgIHJhd09mZnNldFBhcmVudCA9IHJhd09mZnNldFBhcmVudC5vd25lckRvY3VtZW50LmJvZHk7XG4gIH1cbiAgcmV0dXJuIHJhd09mZnNldFBhcmVudDtcbn1cblxuLy8gR2V0cyB0aGUgY2xvc2VzdCBhbmNlc3RvciBwb3NpdGlvbmVkIGVsZW1lbnQuIEhhbmRsZXMgc29tZSBlZGdlIGNhc2VzLFxuLy8gc3VjaCBhcyB0YWJsZSBhbmNlc3RvcnMgYW5kIGNyb3NzIGJyb3dzZXIgYnVncy5cbmZ1bmN0aW9uIGdldE9mZnNldFBhcmVudChlbGVtZW50LCBwb2x5ZmlsbCkge1xuICBjb25zdCB3aW4gPSBnZXRXaW5kb3coZWxlbWVudCk7XG4gIGlmIChpc1RvcExheWVyKGVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuICBpZiAoIWlzSFRNTEVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBsZXQgc3ZnT2Zmc2V0UGFyZW50ID0gZ2V0UGFyZW50Tm9kZShlbGVtZW50KTtcbiAgICB3aGlsZSAoc3ZnT2Zmc2V0UGFyZW50ICYmICFpc0xhc3RUcmF2ZXJzYWJsZU5vZGUoc3ZnT2Zmc2V0UGFyZW50KSkge1xuICAgICAgaWYgKGlzRWxlbWVudChzdmdPZmZzZXRQYXJlbnQpICYmICFpc1N0YXRpY1Bvc2l0aW9uZWQoc3ZnT2Zmc2V0UGFyZW50KSkge1xuICAgICAgICByZXR1cm4gc3ZnT2Zmc2V0UGFyZW50O1xuICAgICAgfVxuICAgICAgc3ZnT2Zmc2V0UGFyZW50ID0gZ2V0UGFyZW50Tm9kZShzdmdPZmZzZXRQYXJlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gd2luO1xuICB9XG4gIGxldCBvZmZzZXRQYXJlbnQgPSBnZXRUcnVlT2Zmc2V0UGFyZW50KGVsZW1lbnQsIHBvbHlmaWxsKTtcbiAgd2hpbGUgKG9mZnNldFBhcmVudCAmJiBpc1RhYmxlRWxlbWVudChvZmZzZXRQYXJlbnQpICYmIGlzU3RhdGljUG9zaXRpb25lZChvZmZzZXRQYXJlbnQpKSB7XG4gICAgb2Zmc2V0UGFyZW50ID0gZ2V0VHJ1ZU9mZnNldFBhcmVudChvZmZzZXRQYXJlbnQsIHBvbHlmaWxsKTtcbiAgfVxuICBpZiAob2Zmc2V0UGFyZW50ICYmIGlzTGFzdFRyYXZlcnNhYmxlTm9kZShvZmZzZXRQYXJlbnQpICYmIGlzU3RhdGljUG9zaXRpb25lZChvZmZzZXRQYXJlbnQpICYmICFpc0NvbnRhaW5pbmdCbG9jayhvZmZzZXRQYXJlbnQpKSB7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuICByZXR1cm4gb2Zmc2V0UGFyZW50IHx8IGdldENvbnRhaW5pbmdCbG9jayhlbGVtZW50KSB8fCB3aW47XG59XG5cbmNvbnN0IGdldEVsZW1lbnRSZWN0cyA9IGFzeW5jIGZ1bmN0aW9uIChkYXRhKSB7XG4gIGNvbnN0IGdldE9mZnNldFBhcmVudEZuID0gdGhpcy5nZXRPZmZzZXRQYXJlbnQgfHwgZ2V0T2Zmc2V0UGFyZW50O1xuICBjb25zdCBnZXREaW1lbnNpb25zRm4gPSB0aGlzLmdldERpbWVuc2lvbnM7XG4gIGNvbnN0IGZsb2F0aW5nRGltZW5zaW9ucyA9IGF3YWl0IGdldERpbWVuc2lvbnNGbihkYXRhLmZsb2F0aW5nKTtcbiAgcmV0dXJuIHtcbiAgICByZWZlcmVuY2U6IGdldFJlY3RSZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGRhdGEucmVmZXJlbmNlLCBhd2FpdCBnZXRPZmZzZXRQYXJlbnRGbihkYXRhLmZsb2F0aW5nKSwgZGF0YS5zdHJhdGVneSksXG4gICAgZmxvYXRpbmc6IHtcbiAgICAgIHg6IDAsXG4gICAgICB5OiAwLFxuICAgICAgd2lkdGg6IGZsb2F0aW5nRGltZW5zaW9ucy53aWR0aCxcbiAgICAgIGhlaWdodDogZmxvYXRpbmdEaW1lbnNpb25zLmhlaWdodFxuICAgIH1cbiAgfTtcbn07XG5cbmZ1bmN0aW9uIGlzUlRMKGVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZGlyZWN0aW9uID09PSAncnRsJztcbn1cblxuY29uc3QgcGxhdGZvcm0gPSB7XG4gIGNvbnZlcnRPZmZzZXRQYXJlbnRSZWxhdGl2ZVJlY3RUb1ZpZXdwb3J0UmVsYXRpdmVSZWN0LFxuICBnZXREb2N1bWVudEVsZW1lbnQsXG4gIGdldENsaXBwaW5nUmVjdCxcbiAgZ2V0T2Zmc2V0UGFyZW50LFxuICBnZXRFbGVtZW50UmVjdHMsXG4gIGdldENsaWVudFJlY3RzLFxuICBnZXREaW1lbnNpb25zLFxuICBnZXRTY2FsZSxcbiAgaXNFbGVtZW50LFxuICBpc1JUTFxufTtcblxuZnVuY3Rpb24gcmVjdHNBcmVFcXVhbChhLCBiKSB7XG4gIHJldHVybiBhLnggPT09IGIueCAmJiBhLnkgPT09IGIueSAmJiBhLndpZHRoID09PSBiLndpZHRoICYmIGEuaGVpZ2h0ID09PSBiLmhlaWdodDtcbn1cblxuLy8gaHR0cHM6Ly9zYW10aG9yLmF1LzIwMjEvb2JzZXJ2aW5nLWRvbS9cbmZ1bmN0aW9uIG9ic2VydmVNb3ZlKGVsZW1lbnQsIG9uTW92ZSkge1xuICBsZXQgaW8gPSBudWxsO1xuICBsZXQgdGltZW91dElkO1xuICBjb25zdCByb290ID0gZ2V0RG9jdW1lbnRFbGVtZW50KGVsZW1lbnQpO1xuICBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgIHZhciBfaW87XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgKF9pbyA9IGlvKSA9PSBudWxsIHx8IF9pby5kaXNjb25uZWN0KCk7XG4gICAgaW8gPSBudWxsO1xuICB9XG4gIGZ1bmN0aW9uIHJlZnJlc2goc2tpcCwgdGhyZXNob2xkKSB7XG4gICAgaWYgKHNraXAgPT09IHZvaWQgMCkge1xuICAgICAgc2tpcCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhyZXNob2xkID09PSB2b2lkIDApIHtcbiAgICAgIHRocmVzaG9sZCA9IDE7XG4gICAgfVxuICAgIGNsZWFudXAoKTtcbiAgICBjb25zdCBlbGVtZW50UmVjdEZvclJvb3RNYXJnaW4gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHtcbiAgICAgIGxlZnQsXG4gICAgICB0b3AsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodFxuICAgIH0gPSBlbGVtZW50UmVjdEZvclJvb3RNYXJnaW47XG4gICAgaWYgKCFza2lwKSB7XG4gICAgICBvbk1vdmUoKTtcbiAgICB9XG4gICAgaWYgKCF3aWR0aCB8fCAhaGVpZ2h0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGluc2V0VG9wID0gZmxvb3IodG9wKTtcbiAgICBjb25zdCBpbnNldFJpZ2h0ID0gZmxvb3Iocm9vdC5jbGllbnRXaWR0aCAtIChsZWZ0ICsgd2lkdGgpKTtcbiAgICBjb25zdCBpbnNldEJvdHRvbSA9IGZsb29yKHJvb3QuY2xpZW50SGVpZ2h0IC0gKHRvcCArIGhlaWdodCkpO1xuICAgIGNvbnN0IGluc2V0TGVmdCA9IGZsb29yKGxlZnQpO1xuICAgIGNvbnN0IHJvb3RNYXJnaW4gPSAtaW5zZXRUb3AgKyBcInB4IFwiICsgLWluc2V0UmlnaHQgKyBcInB4IFwiICsgLWluc2V0Qm90dG9tICsgXCJweCBcIiArIC1pbnNldExlZnQgKyBcInB4XCI7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJvb3RNYXJnaW4sXG4gICAgICB0aHJlc2hvbGQ6IG1heCgwLCBtaW4oMSwgdGhyZXNob2xkKSkgfHwgMVxuICAgIH07XG4gICAgbGV0IGlzRmlyc3RVcGRhdGUgPSB0cnVlO1xuICAgIGZ1bmN0aW9uIGhhbmRsZU9ic2VydmUoZW50cmllcykge1xuICAgICAgY29uc3QgcmF0aW8gPSBlbnRyaWVzWzBdLmludGVyc2VjdGlvblJhdGlvO1xuICAgICAgaWYgKHJhdGlvICE9PSB0aHJlc2hvbGQpIHtcbiAgICAgICAgaWYgKCFpc0ZpcnN0VXBkYXRlKSB7XG4gICAgICAgICAgcmV0dXJuIHJlZnJlc2goKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJhdGlvKSB7XG4gICAgICAgICAgLy8gSWYgdGhlIHJlZmVyZW5jZSBpcyBjbGlwcGVkLCB0aGUgcmF0aW8gaXMgMC4gVGhyb3R0bGUgdGhlIHJlZnJlc2hcbiAgICAgICAgICAvLyB0byBwcmV2ZW50IGFuIGluZmluaXRlIGxvb3Agb2YgdXBkYXRlcy5cbiAgICAgICAgICB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHJlZnJlc2goZmFsc2UsIDFlLTcpO1xuICAgICAgICAgIH0sIDEwMDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlZnJlc2goZmFsc2UsIHJhdGlvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHJhdGlvID09PSAxICYmICFyZWN0c0FyZUVxdWFsKGVsZW1lbnRSZWN0Rm9yUm9vdE1hcmdpbiwgZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkpIHtcbiAgICAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IGV2ZW4gdGhvdWdoIHRoZSByYXRpbyBpcyByZXBvcnRlZCBhcyAxLCB0aGVcbiAgICAgICAgLy8gZWxlbWVudCBpcyBub3QgYWN0dWFsbHkgZnVsbHkgd2l0aGluIHRoZSBJbnRlcnNlY3Rpb25PYnNlcnZlcidzIHJvb3RcbiAgICAgICAgLy8gYXJlYSBhbnltb3JlLiBUaGlzIGNhbiBoYXBwZW4gdW5kZXIgcGVyZm9ybWFuY2UgY29uc3RyYWludHMuIFRoaXMgbWF5XG4gICAgICAgIC8vIGJlIGEgYnVnIGluIHRoZSBicm93c2VyJ3MgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgaW1wbGVtZW50YXRpb24uIFRvXG4gICAgICAgIC8vIHdvcmsgYXJvdW5kIHRoaXMsIHdlIGNvbXBhcmUgdGhlIGVsZW1lbnQncyBib3VuZGluZyByZWN0IG5vdyB3aXRoXG4gICAgICAgIC8vIHdoYXQgaXQgd2FzIGF0IHRoZSB0aW1lIHdlIGNyZWF0ZWQgdGhlIEludGVyc2VjdGlvbk9ic2VydmVyLiBJZiB0aGV5XG4gICAgICAgIC8vIGFyZSBub3QgZXF1YWwgdGhlbiB0aGUgZWxlbWVudCBtb3ZlZCwgc28gd2UgcmVmcmVzaC5cbiAgICAgICAgcmVmcmVzaCgpO1xuICAgICAgfVxuICAgICAgaXNGaXJzdFVwZGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIC8vIE9sZGVyIGJyb3dzZXJzIGRvbid0IHN1cHBvcnQgYSBgZG9jdW1lbnRgIGFzIHRoZSByb290IGFuZCB3aWxsIHRocm93IGFuXG4gICAgLy8gZXJyb3IuXG4gICAgdHJ5IHtcbiAgICAgIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGhhbmRsZU9ic2VydmUsIHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgLy8gSGFuZGxlIDxpZnJhbWU+c1xuICAgICAgICByb290OiByb290Lm93bmVyRG9jdW1lbnRcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGhhbmRsZU9ic2VydmUsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpby5vYnNlcnZlKGVsZW1lbnQpO1xuICB9XG4gIHJlZnJlc2godHJ1ZSk7XG4gIHJldHVybiBjbGVhbnVwO1xufVxuXG4vKipcbiAqIEF1dG9tYXRpY2FsbHkgdXBkYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgd2hlbiBuZWNlc3NhcnkuXG4gKiBTaG91bGQgb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgZmxvYXRpbmcgZWxlbWVudCBpcyBtb3VudGVkIG9uIHRoZSBET00gb3JcbiAqIHZpc2libGUgb24gdGhlIHNjcmVlbi5cbiAqIEByZXR1cm5zIGNsZWFudXAgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgaW52b2tlZCB3aGVuIHRoZSBmbG9hdGluZyBlbGVtZW50IGlzXG4gKiByZW1vdmVkIGZyb20gdGhlIERPTSBvciBoaWRkZW4gZnJvbSB0aGUgc2NyZWVuLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2F1dG9VcGRhdGVcbiAqL1xuZnVuY3Rpb24gYXV0b1VwZGF0ZShyZWZlcmVuY2UsIGZsb2F0aW5nLCB1cGRhdGUsIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgIG9wdGlvbnMgPSB7fTtcbiAgfVxuICBjb25zdCB7XG4gICAgYW5jZXN0b3JTY3JvbGwgPSB0cnVlLFxuICAgIGFuY2VzdG9yUmVzaXplID0gdHJ1ZSxcbiAgICBlbGVtZW50UmVzaXplID0gdHlwZW9mIFJlc2l6ZU9ic2VydmVyID09PSAnZnVuY3Rpb24nLFxuICAgIGxheW91dFNoaWZ0ID0gdHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyID09PSAnZnVuY3Rpb24nLFxuICAgIGFuaW1hdGlvbkZyYW1lID0gZmFsc2VcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHJlZmVyZW5jZUVsID0gdW53cmFwRWxlbWVudChyZWZlcmVuY2UpO1xuICBjb25zdCBhbmNlc3RvcnMgPSBhbmNlc3RvclNjcm9sbCB8fCBhbmNlc3RvclJlc2l6ZSA/IFsuLi4ocmVmZXJlbmNlRWwgPyBnZXRPdmVyZmxvd0FuY2VzdG9ycyhyZWZlcmVuY2VFbCkgOiBbXSksIC4uLmdldE92ZXJmbG93QW5jZXN0b3JzKGZsb2F0aW5nKV0gOiBbXTtcbiAgYW5jZXN0b3JzLmZvckVhY2goYW5jZXN0b3IgPT4ge1xuICAgIGFuY2VzdG9yU2Nyb2xsICYmIGFuY2VzdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZVxuICAgIH0pO1xuICAgIGFuY2VzdG9yUmVzaXplICYmIGFuY2VzdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSk7XG4gIH0pO1xuICBjb25zdCBjbGVhbnVwSW8gPSByZWZlcmVuY2VFbCAmJiBsYXlvdXRTaGlmdCA/IG9ic2VydmVNb3ZlKHJlZmVyZW5jZUVsLCB1cGRhdGUpIDogbnVsbDtcbiAgbGV0IHJlb2JzZXJ2ZUZyYW1lID0gLTE7XG4gIGxldCByZXNpemVPYnNlcnZlciA9IG51bGw7XG4gIGlmIChlbGVtZW50UmVzaXplKSB7XG4gICAgcmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoX3JlZiA9PiB7XG4gICAgICBsZXQgW2ZpcnN0RW50cnldID0gX3JlZjtcbiAgICAgIGlmIChmaXJzdEVudHJ5ICYmIGZpcnN0RW50cnkudGFyZ2V0ID09PSByZWZlcmVuY2VFbCAmJiByZXNpemVPYnNlcnZlcikge1xuICAgICAgICAvLyBQcmV2ZW50IHVwZGF0ZSBsb29wcyB3aGVuIHVzaW5nIHRoZSBgc2l6ZWAgbWlkZGxld2FyZS5cbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2Zsb2F0aW5nLXVpL2Zsb2F0aW5nLXVpL2lzc3Vlcy8xNzQwXG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShmbG9hdGluZyk7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJlb2JzZXJ2ZUZyYW1lKTtcbiAgICAgICAgcmVvYnNlcnZlRnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIHZhciBfcmVzaXplT2JzZXJ2ZXI7XG4gICAgICAgICAgKF9yZXNpemVPYnNlcnZlciA9IHJlc2l6ZU9ic2VydmVyKSA9PSBudWxsIHx8IF9yZXNpemVPYnNlcnZlci5vYnNlcnZlKGZsb2F0aW5nKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB1cGRhdGUoKTtcbiAgICB9KTtcbiAgICBpZiAocmVmZXJlbmNlRWwgJiYgIWFuaW1hdGlvbkZyYW1lKSB7XG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHJlZmVyZW5jZUVsKTtcbiAgICB9XG4gICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShmbG9hdGluZyk7XG4gIH1cbiAgbGV0IGZyYW1lSWQ7XG4gIGxldCBwcmV2UmVmUmVjdCA9IGFuaW1hdGlvbkZyYW1lID8gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KHJlZmVyZW5jZSkgOiBudWxsO1xuICBpZiAoYW5pbWF0aW9uRnJhbWUpIHtcbiAgICBmcmFtZUxvb3AoKTtcbiAgfVxuICBmdW5jdGlvbiBmcmFtZUxvb3AoKSB7XG4gICAgY29uc3QgbmV4dFJlZlJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QocmVmZXJlbmNlKTtcbiAgICBpZiAocHJldlJlZlJlY3QgJiYgIXJlY3RzQXJlRXF1YWwocHJldlJlZlJlY3QsIG5leHRSZWZSZWN0KSkge1xuICAgICAgdXBkYXRlKCk7XG4gICAgfVxuICAgIHByZXZSZWZSZWN0ID0gbmV4dFJlZlJlY3Q7XG4gICAgZnJhbWVJZCA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShmcmFtZUxvb3ApO1xuICB9XG4gIHVwZGF0ZSgpO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIHZhciBfcmVzaXplT2JzZXJ2ZXIyO1xuICAgIGFuY2VzdG9ycy5mb3JFYWNoKGFuY2VzdG9yID0+IHtcbiAgICAgIGFuY2VzdG9yU2Nyb2xsICYmIGFuY2VzdG9yLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSk7XG4gICAgICBhbmNlc3RvclJlc2l6ZSAmJiBhbmNlc3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB1cGRhdGUpO1xuICAgIH0pO1xuICAgIGNsZWFudXBJbyA9PSBudWxsIHx8IGNsZWFudXBJbygpO1xuICAgIChfcmVzaXplT2JzZXJ2ZXIyID0gcmVzaXplT2JzZXJ2ZXIpID09IG51bGwgfHwgX3Jlc2l6ZU9ic2VydmVyMi5kaXNjb25uZWN0KCk7XG4gICAgcmVzaXplT2JzZXJ2ZXIgPSBudWxsO1xuICAgIGlmIChhbmltYXRpb25GcmFtZSkge1xuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUoZnJhbWVJZCk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHdpdGggYW4gb2JqZWN0IG9mIG92ZXJmbG93IHNpZGUgb2Zmc2V0cyB0aGF0IGRldGVybWluZSBob3cgbXVjaCB0aGVcbiAqIGVsZW1lbnQgaXMgb3ZlcmZsb3dpbmcgYSBnaXZlbiBjbGlwcGluZyBib3VuZGFyeSBvbiBlYWNoIHNpZGUuXG4gKiAtIHBvc2l0aXZlID0gb3ZlcmZsb3dpbmcgdGhlIGJvdW5kYXJ5IGJ5IHRoYXQgbnVtYmVyIG9mIHBpeGVsc1xuICogLSBuZWdhdGl2ZSA9IGhvdyBtYW55IHBpeGVscyBsZWZ0IGJlZm9yZSBpdCB3aWxsIG92ZXJmbG93XG4gKiAtIDAgPSBsaWVzIGZsdXNoIHdpdGggdGhlIGJvdW5kYXJ5XG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvZGV0ZWN0T3ZlcmZsb3dcbiAqL1xuY29uc3QgZGV0ZWN0T3ZlcmZsb3cgPSBkZXRlY3RPdmVyZmxvdyQxO1xuXG4vKipcbiAqIE1vZGlmaWVzIHRoZSBwbGFjZW1lbnQgYnkgdHJhbnNsYXRpbmcgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYWxvbmcgdGhlXG4gKiBzcGVjaWZpZWQgYXhlcy5cbiAqIEEgbnVtYmVyIChzaG9ydGhhbmQgZm9yIGBtYWluQXhpc2Agb3IgZGlzdGFuY2UpLCBvciBhbiBheGVzIGNvbmZpZ3VyYXRpb25cbiAqIG9iamVjdCBtYXkgYmUgcGFzc2VkLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL29mZnNldFxuICovXG5jb25zdCBvZmZzZXQgPSBvZmZzZXQkMTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgY2hvb3NpbmcgdGhlIHBsYWNlbWVudFxuICogdGhhdCBoYXMgdGhlIG1vc3Qgc3BhY2UgYXZhaWxhYmxlIGF1dG9tYXRpY2FsbHksIHdpdGhvdXQgbmVlZGluZyB0byBzcGVjaWZ5IGFcbiAqIHByZWZlcnJlZCBwbGFjZW1lbnQuIEFsdGVybmF0aXZlIHRvIGBmbGlwYC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hdXRvUGxhY2VtZW50XG4gKi9cbmNvbnN0IGF1dG9QbGFjZW1lbnQgPSBhdXRvUGxhY2VtZW50JDE7XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IHNoaWZ0aW5nIGl0IGluIG9yZGVyIHRvXG4gKiBrZWVwIGl0IGluIHZpZXcgd2hlbiBpdCB3aWxsIG92ZXJmbG93IHRoZSBjbGlwcGluZyBib3VuZGFyeS5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9zaGlmdFxuICovXG5jb25zdCBzaGlmdCA9IHNoaWZ0JDE7XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGZsaXBwaW5nIHRoZSBgcGxhY2VtZW50YFxuICogaW4gb3JkZXIgdG8ga2VlcCBpdCBpbiB2aWV3IHdoZW4gdGhlIHByZWZlcnJlZCBwbGFjZW1lbnQocykgd2lsbCBvdmVyZmxvdyB0aGVcbiAqIGNsaXBwaW5nIGJvdW5kYXJ5LiBBbHRlcm5hdGl2ZSB0byBgYXV0b1BsYWNlbWVudGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvZmxpcFxuICovXG5jb25zdCBmbGlwID0gZmxpcCQxO1xuXG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdGhhdCBhbGxvd3MgeW91IHRvIGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCDigJRcbiAqIGZvciBpbnN0YW5jZSwgcHJldmVudCBpdCBmcm9tIG92ZXJmbG93aW5nIHRoZSBjbGlwcGluZyBib3VuZGFyeSBvciBtYXRjaCB0aGVcbiAqIHdpZHRoIG9mIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9zaXplXG4gKi9cbmNvbnN0IHNpemUgPSBzaXplJDE7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBoaWRlIHRoZSBmbG9hdGluZyBlbGVtZW50IGluIGFwcGxpY2FibGUgc2l0dWF0aW9ucywgc3VjaCBhc1xuICogd2hlbiBpdCBpcyBub3QgaW4gdGhlIHNhbWUgY2xpcHBpbmcgY29udGV4dCBhcyB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvaGlkZVxuICovXG5jb25zdCBoaWRlID0gaGlkZSQxO1xuXG4vKipcbiAqIFByb3ZpZGVzIGRhdGEgdG8gcG9zaXRpb24gYW4gaW5uZXIgZWxlbWVudCBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBzbyB0aGF0IGl0XG4gKiBhcHBlYXJzIGNlbnRlcmVkIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hcnJvd1xuICovXG5jb25zdCBhcnJvdyA9IGFycm93JDE7XG5cbi8qKlxuICogUHJvdmlkZXMgaW1wcm92ZWQgcG9zaXRpb25pbmcgZm9yIGlubGluZSByZWZlcmVuY2UgZWxlbWVudHMgdGhhdCBjYW4gc3BhblxuICogb3ZlciBtdWx0aXBsZSBsaW5lcywgc3VjaCBhcyBoeXBlcmxpbmtzIG9yIHJhbmdlIHNlbGVjdGlvbnMuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvaW5saW5lXG4gKi9cbmNvbnN0IGlubGluZSA9IGlubGluZSQxO1xuXG4vKipcbiAqIEJ1aWx0LWluIGBsaW1pdGVyYCB0aGF0IHdpbGwgc3RvcCBgc2hpZnQoKWAgYXQgYSBjZXJ0YWluIHBvaW50LlxuICovXG5jb25zdCBsaW1pdFNoaWZ0ID0gbGltaXRTaGlmdCQxO1xuXG4vKipcbiAqIENvbXB1dGVzIHRoZSBgeGAgYW5kIGB5YCBjb29yZGluYXRlcyB0aGF0IHdpbGwgcGxhY2UgdGhlIGZsb2F0aW5nIGVsZW1lbnRcbiAqIG5leHQgdG8gYSBnaXZlbiByZWZlcmVuY2UgZWxlbWVudC5cbiAqL1xuY29uc3QgY29tcHV0ZVBvc2l0aW9uID0gKHJlZmVyZW5jZSwgZmxvYXRpbmcsIG9wdGlvbnMpID0+IHtcbiAgLy8gVGhpcyBjYWNoZXMgdGhlIGV4cGVuc2l2ZSBgZ2V0Q2xpcHBpbmdFbGVtZW50QW5jZXN0b3JzYCBmdW5jdGlvbiBzbyB0aGF0XG4gIC8vIG11bHRpcGxlIGxpZmVjeWNsZSByZXNldHMgcmUtdXNlIHRoZSBzYW1lIHJlc3VsdC4gSXQgb25seSBsaXZlcyBmb3IgYVxuICAvLyBzaW5nbGUgY2FsbC4gSWYgb3RoZXIgZnVuY3Rpb25zIGJlY29tZSBleHBlbnNpdmUsIHdlIGNhbiBhZGQgdGhlbSBhcyB3ZWxsLlxuICBjb25zdCBjYWNoZSA9IG5ldyBNYXAoKTtcbiAgY29uc3QgbWVyZ2VkT3B0aW9ucyA9IHtcbiAgICBwbGF0Zm9ybSxcbiAgICAuLi5vcHRpb25zXG4gIH07XG4gIGNvbnN0IHBsYXRmb3JtV2l0aENhY2hlID0ge1xuICAgIC4uLm1lcmdlZE9wdGlvbnMucGxhdGZvcm0sXG4gICAgX2M6IGNhY2hlXG4gIH07XG4gIHJldHVybiBjb21wdXRlUG9zaXRpb24kMShyZWZlcmVuY2UsIGZsb2F0aW5nLCB7XG4gICAgLi4ubWVyZ2VkT3B0aW9ucyxcbiAgICBwbGF0Zm9ybTogcGxhdGZvcm1XaXRoQ2FjaGVcbiAgfSk7XG59O1xuXG5leHBvcnQgeyBhcnJvdywgYXV0b1BsYWNlbWVudCwgYXV0b1VwZGF0ZSwgY29tcHV0ZVBvc2l0aW9uLCBkZXRlY3RPdmVyZmxvdywgZmxpcCwgaGlkZSwgaW5saW5lLCBsaW1pdFNoaWZ0LCBvZmZzZXQsIHBsYXRmb3JtLCBzaGlmdCwgc2l6ZSB9O1xuIiwiaW1wb3J0IHsgY29tcHV0ZVBvc2l0aW9uLCBhcnJvdyBhcyBhcnJvdyQyLCBvZmZzZXQgYXMgb2Zmc2V0JDEsIHNoaWZ0IGFzIHNoaWZ0JDEsIGxpbWl0U2hpZnQgYXMgbGltaXRTaGlmdCQxLCBmbGlwIGFzIGZsaXAkMSwgc2l6ZSBhcyBzaXplJDEsIGF1dG9QbGFjZW1lbnQgYXMgYXV0b1BsYWNlbWVudCQxLCBoaWRlIGFzIGhpZGUkMSwgaW5saW5lIGFzIGlubGluZSQxIH0gZnJvbSAnQGZsb2F0aW5nLXVpL2RvbSc7XG5leHBvcnQgeyBhdXRvVXBkYXRlLCBjb21wdXRlUG9zaXRpb24sIGRldGVjdE92ZXJmbG93LCBnZXRPdmVyZmxvd0FuY2VzdG9ycywgcGxhdGZvcm0gfSBmcm9tICdAZmxvYXRpbmctdWkvZG9tJztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUxheW91dEVmZmVjdCwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcblxudmFyIGluZGV4ID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyA/IHVzZUxheW91dEVmZmVjdCA6IHVzZUVmZmVjdDtcblxuLy8gRm9yayBvZiBgZmFzdC1kZWVwLWVxdWFsYCB0aGF0IG9ubHkgZG9lcyB0aGUgY29tcGFyaXNvbnMgd2UgbmVlZCBhbmQgY29tcGFyZXNcbi8vIGZ1bmN0aW9uc1xuZnVuY3Rpb24gZGVlcEVxdWFsKGEsIGIpIHtcbiAgaWYgKGEgPT09IGIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAodHlwZW9mIGEgIT09IHR5cGVvZiBiKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICh0eXBlb2YgYSA9PT0gJ2Z1bmN0aW9uJyAmJiBhLnRvU3RyaW5nKCkgPT09IGIudG9TdHJpbmcoKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIGxldCBsZW5ndGg7XG4gIGxldCBpO1xuICBsZXQga2V5cztcbiAgaWYgKGEgJiYgYiAmJiB0eXBlb2YgYSA9PT0gJ29iamVjdCcpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShhKSkge1xuICAgICAgbGVuZ3RoID0gYS5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoICE9PSBiLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuICAgICAgZm9yIChpID0gbGVuZ3RoOyBpLS0gIT09IDA7KSB7XG4gICAgICAgIGlmICghZGVlcEVxdWFsKGFbaV0sIGJbaV0pKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAga2V5cyA9IE9iamVjdC5rZXlzKGEpO1xuICAgIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xuICAgIGlmIChsZW5ndGggIT09IE9iamVjdC5rZXlzKGIpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGkgPSBsZW5ndGg7IGktLSAhPT0gMDspIHtcbiAgICAgIGlmICghe30uaGFzT3duUHJvcGVydHkuY2FsbChiLCBrZXlzW2ldKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAoaSA9IGxlbmd0aDsgaS0tICE9PSAwOykge1xuICAgICAgY29uc3Qga2V5ID0ga2V5c1tpXTtcbiAgICAgIGlmIChrZXkgPT09ICdfb3duZXInICYmIGEuJCR0eXBlb2YpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoIWRlZXBFcXVhbChhW2tleV0sIGJba2V5XSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gYSAhPT0gYSAmJiBiICE9PSBiO1xufVxuXG5mdW5jdGlvbiBnZXREUFIoZWxlbWVudCkge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuICBjb25zdCB3aW4gPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgd2luZG93O1xuICByZXR1cm4gd2luLmRldmljZVBpeGVsUmF0aW8gfHwgMTtcbn1cblxuZnVuY3Rpb24gcm91bmRCeURQUihlbGVtZW50LCB2YWx1ZSkge1xuICBjb25zdCBkcHIgPSBnZXREUFIoZWxlbWVudCk7XG4gIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogZHByKSAvIGRwcjtcbn1cblxuZnVuY3Rpb24gdXNlTGF0ZXN0UmVmKHZhbHVlKSB7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZih2YWx1ZSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICByZWYuY3VycmVudCA9IHZhbHVlO1xuICB9KTtcbiAgcmV0dXJuIHJlZjtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIHBvc2l0aW9uIGEgZmxvYXRpbmcgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy91c2VGbG9hdGluZ1xuICovXG5mdW5jdGlvbiB1c2VGbG9hdGluZyhvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09PSB2b2lkIDApIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgY29uc3Qge1xuICAgIHBsYWNlbWVudCA9ICdib3R0b20nLFxuICAgIHN0cmF0ZWd5ID0gJ2Fic29sdXRlJyxcbiAgICBtaWRkbGV3YXJlID0gW10sXG4gICAgcGxhdGZvcm0sXG4gICAgZWxlbWVudHM6IHtcbiAgICAgIHJlZmVyZW5jZTogZXh0ZXJuYWxSZWZlcmVuY2UsXG4gICAgICBmbG9hdGluZzogZXh0ZXJuYWxGbG9hdGluZ1xuICAgIH0gPSB7fSxcbiAgICB0cmFuc2Zvcm0gPSB0cnVlLFxuICAgIHdoaWxlRWxlbWVudHNNb3VudGVkLFxuICAgIG9wZW5cbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IFJlYWN0LnVzZVN0YXRlKHtcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gICAgc3RyYXRlZ3ksXG4gICAgcGxhY2VtZW50LFxuICAgIG1pZGRsZXdhcmVEYXRhOiB7fSxcbiAgICBpc1Bvc2l0aW9uZWQ6IGZhbHNlXG4gIH0pO1xuICBjb25zdCBbbGF0ZXN0TWlkZGxld2FyZSwgc2V0TGF0ZXN0TWlkZGxld2FyZV0gPSBSZWFjdC51c2VTdGF0ZShtaWRkbGV3YXJlKTtcbiAgaWYgKCFkZWVwRXF1YWwobGF0ZXN0TWlkZGxld2FyZSwgbWlkZGxld2FyZSkpIHtcbiAgICBzZXRMYXRlc3RNaWRkbGV3YXJlKG1pZGRsZXdhcmUpO1xuICB9XG4gIGNvbnN0IFtfcmVmZXJlbmNlLCBfc2V0UmVmZXJlbmNlXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbX2Zsb2F0aW5nLCBfc2V0RmxvYXRpbmddID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IHNldFJlZmVyZW5jZSA9IFJlYWN0LnVzZUNhbGxiYWNrKG5vZGUgPT4ge1xuICAgIGlmIChub2RlICE9PSByZWZlcmVuY2VSZWYuY3VycmVudCkge1xuICAgICAgcmVmZXJlbmNlUmVmLmN1cnJlbnQgPSBub2RlO1xuICAgICAgX3NldFJlZmVyZW5jZShub2RlKTtcbiAgICB9XG4gIH0sIFtdKTtcbiAgY29uc3Qgc2V0RmxvYXRpbmcgPSBSZWFjdC51c2VDYWxsYmFjayhub2RlID0+IHtcbiAgICBpZiAobm9kZSAhPT0gZmxvYXRpbmdSZWYuY3VycmVudCkge1xuICAgICAgZmxvYXRpbmdSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICBfc2V0RmxvYXRpbmcobm9kZSk7XG4gICAgfVxuICB9LCBbXSk7XG4gIGNvbnN0IHJlZmVyZW5jZUVsID0gZXh0ZXJuYWxSZWZlcmVuY2UgfHwgX3JlZmVyZW5jZTtcbiAgY29uc3QgZmxvYXRpbmdFbCA9IGV4dGVybmFsRmxvYXRpbmcgfHwgX2Zsb2F0aW5nO1xuICBjb25zdCByZWZlcmVuY2VSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IGZsb2F0aW5nUmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBkYXRhUmVmID0gUmVhY3QudXNlUmVmKGRhdGEpO1xuICBjb25zdCBoYXNXaGlsZUVsZW1lbnRzTW91bnRlZCA9IHdoaWxlRWxlbWVudHNNb3VudGVkICE9IG51bGw7XG4gIGNvbnN0IHdoaWxlRWxlbWVudHNNb3VudGVkUmVmID0gdXNlTGF0ZXN0UmVmKHdoaWxlRWxlbWVudHNNb3VudGVkKTtcbiAgY29uc3QgcGxhdGZvcm1SZWYgPSB1c2VMYXRlc3RSZWYocGxhdGZvcm0pO1xuICBjb25zdCBvcGVuUmVmID0gdXNlTGF0ZXN0UmVmKG9wZW4pO1xuICBjb25zdCB1cGRhdGUgPSBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKCFyZWZlcmVuY2VSZWYuY3VycmVudCB8fCAhZmxvYXRpbmdSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBwbGFjZW1lbnQsXG4gICAgICBzdHJhdGVneSxcbiAgICAgIG1pZGRsZXdhcmU6IGxhdGVzdE1pZGRsZXdhcmVcbiAgICB9O1xuICAgIGlmIChwbGF0Zm9ybVJlZi5jdXJyZW50KSB7XG4gICAgICBjb25maWcucGxhdGZvcm0gPSBwbGF0Zm9ybVJlZi5jdXJyZW50O1xuICAgIH1cbiAgICBjb21wdXRlUG9zaXRpb24ocmVmZXJlbmNlUmVmLmN1cnJlbnQsIGZsb2F0aW5nUmVmLmN1cnJlbnQsIGNvbmZpZykudGhlbihkYXRhID0+IHtcbiAgICAgIGNvbnN0IGZ1bGxEYXRhID0ge1xuICAgICAgICAuLi5kYXRhLFxuICAgICAgICAvLyBUaGUgZmxvYXRpbmcgZWxlbWVudCdzIHBvc2l0aW9uIG1heSBiZSByZWNvbXB1dGVkIHdoaWxlIGl0J3MgY2xvc2VkXG4gICAgICAgIC8vIGJ1dCBzdGlsbCBtb3VudGVkIChzdWNoIGFzIHdoZW4gdHJhbnNpdGlvbmluZyBvdXQpLiBUbyBlbnN1cmVcbiAgICAgICAgLy8gYGlzUG9zaXRpb25lZGAgd2lsbCBiZSBgZmFsc2VgIGluaXRpYWxseSBvbiB0aGUgbmV4dCBvcGVuLCBhdm9pZFxuICAgICAgICAvLyBzZXR0aW5nIGl0IHRvIGB0cnVlYCB3aGVuIGBvcGVuID09PSBmYWxzZWAgKG11c3QgYmUgc3BlY2lmaWVkKS5cbiAgICAgICAgaXNQb3NpdGlvbmVkOiBvcGVuUmVmLmN1cnJlbnQgIT09IGZhbHNlXG4gICAgICB9O1xuICAgICAgaWYgKGlzTW91bnRlZFJlZi5jdXJyZW50ICYmICFkZWVwRXF1YWwoZGF0YVJlZi5jdXJyZW50LCBmdWxsRGF0YSkpIHtcbiAgICAgICAgZGF0YVJlZi5jdXJyZW50ID0gZnVsbERhdGE7XG4gICAgICAgIFJlYWN0RE9NLmZsdXNoU3luYygoKSA9PiB7XG4gICAgICAgICAgc2V0RGF0YShmdWxsRGF0YSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbbGF0ZXN0TWlkZGxld2FyZSwgcGxhY2VtZW50LCBzdHJhdGVneSwgcGxhdGZvcm1SZWYsIG9wZW5SZWZdKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlmIChvcGVuID09PSBmYWxzZSAmJiBkYXRhUmVmLmN1cnJlbnQuaXNQb3NpdGlvbmVkKSB7XG4gICAgICBkYXRhUmVmLmN1cnJlbnQuaXNQb3NpdGlvbmVkID0gZmFsc2U7XG4gICAgICBzZXREYXRhKGRhdGEgPT4gKHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgaXNQb3NpdGlvbmVkOiBmYWxzZVxuICAgICAgfSkpO1xuICAgIH1cbiAgfSwgW29wZW5dKTtcbiAgY29uc3QgaXNNb3VudGVkUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgaW5kZXgoKCkgPT4ge1xuICAgIGlzTW91bnRlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaXNNb3VudGVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICB9O1xuICB9LCBbXSk7XG4gIGluZGV4KCgpID0+IHtcbiAgICBpZiAocmVmZXJlbmNlRWwpIHJlZmVyZW5jZVJlZi5jdXJyZW50ID0gcmVmZXJlbmNlRWw7XG4gICAgaWYgKGZsb2F0aW5nRWwpIGZsb2F0aW5nUmVmLmN1cnJlbnQgPSBmbG9hdGluZ0VsO1xuICAgIGlmIChyZWZlcmVuY2VFbCAmJiBmbG9hdGluZ0VsKSB7XG4gICAgICBpZiAod2hpbGVFbGVtZW50c01vdW50ZWRSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm4gd2hpbGVFbGVtZW50c01vdW50ZWRSZWYuY3VycmVudChyZWZlcmVuY2VFbCwgZmxvYXRpbmdFbCwgdXBkYXRlKTtcbiAgICAgIH1cbiAgICAgIHVwZGF0ZSgpO1xuICAgIH1cbiAgfSwgW3JlZmVyZW5jZUVsLCBmbG9hdGluZ0VsLCB1cGRhdGUsIHdoaWxlRWxlbWVudHNNb3VudGVkUmVmLCBoYXNXaGlsZUVsZW1lbnRzTW91bnRlZF0pO1xuICBjb25zdCByZWZzID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHJlZmVyZW5jZTogcmVmZXJlbmNlUmVmLFxuICAgIGZsb2F0aW5nOiBmbG9hdGluZ1JlZixcbiAgICBzZXRSZWZlcmVuY2UsXG4gICAgc2V0RmxvYXRpbmdcbiAgfSksIFtzZXRSZWZlcmVuY2UsIHNldEZsb2F0aW5nXSk7XG4gIGNvbnN0IGVsZW1lbnRzID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIHJlZmVyZW5jZTogcmVmZXJlbmNlRWwsXG4gICAgZmxvYXRpbmc6IGZsb2F0aW5nRWxcbiAgfSksIFtyZWZlcmVuY2VFbCwgZmxvYXRpbmdFbF0pO1xuICBjb25zdCBmbG9hdGluZ1N0eWxlcyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGluaXRpYWxTdHlsZXMgPSB7XG4gICAgICBwb3NpdGlvbjogc3RyYXRlZ3ksXG4gICAgICBsZWZ0OiAwLFxuICAgICAgdG9wOiAwXG4gICAgfTtcbiAgICBpZiAoIWVsZW1lbnRzLmZsb2F0aW5nKSB7XG4gICAgICByZXR1cm4gaW5pdGlhbFN0eWxlcztcbiAgICB9XG4gICAgY29uc3QgeCA9IHJvdW5kQnlEUFIoZWxlbWVudHMuZmxvYXRpbmcsIGRhdGEueCk7XG4gICAgY29uc3QgeSA9IHJvdW5kQnlEUFIoZWxlbWVudHMuZmxvYXRpbmcsIGRhdGEueSk7XG4gICAgaWYgKHRyYW5zZm9ybSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5pdGlhbFN0eWxlcyxcbiAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZShcIiArIHggKyBcInB4LCBcIiArIHkgKyBcInB4KVwiLFxuICAgICAgICAuLi4oZ2V0RFBSKGVsZW1lbnRzLmZsb2F0aW5nKSA+PSAxLjUgJiYge1xuICAgICAgICAgIHdpbGxDaGFuZ2U6ICd0cmFuc2Zvcm0nXG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IHN0cmF0ZWd5LFxuICAgICAgbGVmdDogeCxcbiAgICAgIHRvcDogeVxuICAgIH07XG4gIH0sIFtzdHJhdGVneSwgdHJhbnNmb3JtLCBlbGVtZW50cy5mbG9hdGluZywgZGF0YS54LCBkYXRhLnldKTtcbiAgcmV0dXJuIFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5kYXRhLFxuICAgIHVwZGF0ZSxcbiAgICByZWZzLFxuICAgIGVsZW1lbnRzLFxuICAgIGZsb2F0aW5nU3R5bGVzXG4gIH0pLCBbZGF0YSwgdXBkYXRlLCByZWZzLCBlbGVtZW50cywgZmxvYXRpbmdTdHlsZXNdKTtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIHBvc2l0aW9uIGFuIGlubmVyIGVsZW1lbnQgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgc28gdGhhdCBpdFxuICogYXBwZWFycyBjZW50ZXJlZCB0byB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBUaGlzIHdyYXBzIHRoZSBjb3JlIGBhcnJvd2AgbWlkZGxld2FyZSB0byBhbGxvdyBSZWFjdCByZWZzIGFzIHRoZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2Fycm93XG4gKi9cbmNvbnN0IGFycm93JDEgPSBvcHRpb25zID0+IHtcbiAgZnVuY3Rpb24gaXNSZWYodmFsdWUpIHtcbiAgICByZXR1cm4ge30uaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgJ2N1cnJlbnQnKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdhcnJvdycsXG4gICAgb3B0aW9ucyxcbiAgICBmbihzdGF0ZSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBlbGVtZW50LFxuICAgICAgICBwYWRkaW5nXG4gICAgICB9ID0gdHlwZW9mIG9wdGlvbnMgPT09ICdmdW5jdGlvbicgPyBvcHRpb25zKHN0YXRlKSA6IG9wdGlvbnM7XG4gICAgICBpZiAoZWxlbWVudCAmJiBpc1JlZihlbGVtZW50KSkge1xuICAgICAgICBpZiAoZWxlbWVudC5jdXJyZW50ICE9IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gYXJyb3ckMih7XG4gICAgICAgICAgICBlbGVtZW50OiBlbGVtZW50LmN1cnJlbnQsXG4gICAgICAgICAgICBwYWRkaW5nXG4gICAgICAgICAgfSkuZm4oc3RhdGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIHJldHVybiBhcnJvdyQyKHtcbiAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgIHBhZGRpbmdcbiAgICAgICAgfSkuZm4oc3RhdGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgfTtcbn07XG5cbi8qKlxuICogTW9kaWZpZXMgdGhlIHBsYWNlbWVudCBieSB0cmFuc2xhdGluZyB0aGUgZmxvYXRpbmcgZWxlbWVudCBhbG9uZyB0aGVcbiAqIHNwZWNpZmllZCBheGVzLlxuICogQSBudW1iZXIgKHNob3J0aGFuZCBmb3IgYG1haW5BeGlzYCBvciBkaXN0YW5jZSksIG9yIGFuIGF4ZXMgY29uZmlndXJhdGlvblxuICogb2JqZWN0IG1heSBiZSBwYXNzZWQuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3Mvb2Zmc2V0XG4gKi9cbmNvbnN0IG9mZnNldCA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5vZmZzZXQkMShvcHRpb25zKSxcbiAgb3B0aW9uczogW29wdGlvbnMsIGRlcHNdXG59KTtcblxuLyoqXG4gKiBPcHRpbWl6ZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIGZsb2F0aW5nIGVsZW1lbnQgYnkgc2hpZnRpbmcgaXQgaW4gb3JkZXIgdG9cbiAqIGtlZXAgaXQgaW4gdmlldyB3aGVuIGl0IHdpbGwgb3ZlcmZsb3cgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NoaWZ0XG4gKi9cbmNvbnN0IHNoaWZ0ID0gKG9wdGlvbnMsIGRlcHMpID0+ICh7XG4gIC4uLnNoaWZ0JDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogQnVpbHQtaW4gYGxpbWl0ZXJgIHRoYXQgd2lsbCBzdG9wIGBzaGlmdCgpYCBhdCBhIGNlcnRhaW4gcG9pbnQuXG4gKi9cbmNvbnN0IGxpbWl0U2hpZnQgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4ubGltaXRTaGlmdCQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG4vKipcbiAqIE9wdGltaXplcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBieSBmbGlwcGluZyB0aGUgYHBsYWNlbWVudGBcbiAqIGluIG9yZGVyIHRvIGtlZXAgaXQgaW4gdmlldyB3aGVuIHRoZSBwcmVmZXJyZWQgcGxhY2VtZW50KHMpIHdpbGwgb3ZlcmZsb3cgdGhlXG4gKiBjbGlwcGluZyBib3VuZGFyeS4gQWx0ZXJuYXRpdmUgdG8gYGF1dG9QbGFjZW1lbnRgLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2ZsaXBcbiAqL1xuY29uc3QgZmxpcCA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5mbGlwJDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0aGF0IGFsbG93cyB5b3UgdG8gY2hhbmdlIHRoZSBzaXplIG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IOKAlFxuICogZm9yIGluc3RhbmNlLCBwcmV2ZW50IGl0IGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNsaXBwaW5nIGJvdW5kYXJ5IG9yIG1hdGNoIHRoZVxuICogd2lkdGggb2YgdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL3NpemVcbiAqL1xuY29uc3Qgc2l6ZSA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5zaXplJDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogT3B0aW1pemVzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IGJ5IGNob29zaW5nIHRoZSBwbGFjZW1lbnRcbiAqIHRoYXQgaGFzIHRoZSBtb3N0IHNwYWNlIGF2YWlsYWJsZSBhdXRvbWF0aWNhbGx5LCB3aXRob3V0IG5lZWRpbmcgdG8gc3BlY2lmeSBhXG4gKiBwcmVmZXJyZWQgcGxhY2VtZW50LiBBbHRlcm5hdGl2ZSB0byBgZmxpcGAuXG4gKiBAc2VlIGh0dHBzOi8vZmxvYXRpbmctdWkuY29tL2RvY3MvYXV0b1BsYWNlbWVudFxuICovXG5jb25zdCBhdXRvUGxhY2VtZW50ID0gKG9wdGlvbnMsIGRlcHMpID0+ICh7XG4gIC4uLmF1dG9QbGFjZW1lbnQkMShvcHRpb25zKSxcbiAgb3B0aW9uczogW29wdGlvbnMsIGRlcHNdXG59KTtcblxuLyoqXG4gKiBQcm92aWRlcyBkYXRhIHRvIGhpZGUgdGhlIGZsb2F0aW5nIGVsZW1lbnQgaW4gYXBwbGljYWJsZSBzaXR1YXRpb25zLCBzdWNoIGFzXG4gKiB3aGVuIGl0IGlzIG5vdCBpbiB0aGUgc2FtZSBjbGlwcGluZyBjb250ZXh0IGFzIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9oaWRlXG4gKi9cbmNvbnN0IGhpZGUgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4uaGlkZSQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG4vKipcbiAqIFByb3ZpZGVzIGltcHJvdmVkIHBvc2l0aW9uaW5nIGZvciBpbmxpbmUgcmVmZXJlbmNlIGVsZW1lbnRzIHRoYXQgY2FuIHNwYW5cbiAqIG92ZXIgbXVsdGlwbGUgbGluZXMsIHN1Y2ggYXMgaHlwZXJsaW5rcyBvciByYW5nZSBzZWxlY3Rpb25zLlxuICogQHNlZSBodHRwczovL2Zsb2F0aW5nLXVpLmNvbS9kb2NzL2lubGluZVxuICovXG5jb25zdCBpbmxpbmUgPSAob3B0aW9ucywgZGVwcykgPT4gKHtcbiAgLi4uaW5saW5lJDEob3B0aW9ucyksXG4gIG9wdGlvbnM6IFtvcHRpb25zLCBkZXBzXVxufSk7XG5cbi8qKlxuICogUHJvdmlkZXMgZGF0YSB0byBwb3NpdGlvbiBhbiBpbm5lciBlbGVtZW50IG9mIHRoZSBmbG9hdGluZyBlbGVtZW50IHNvIHRoYXQgaXRcbiAqIGFwcGVhcnMgY2VudGVyZWQgdG8gdGhlIHJlZmVyZW5jZSBlbGVtZW50LlxuICogVGhpcyB3cmFwcyB0aGUgY29yZSBgYXJyb3dgIG1pZGRsZXdhcmUgdG8gYWxsb3cgUmVhY3QgcmVmcyBhcyB0aGUgZWxlbWVudC5cbiAqIEBzZWUgaHR0cHM6Ly9mbG9hdGluZy11aS5jb20vZG9jcy9hcnJvd1xuICovXG5jb25zdCBhcnJvdyA9IChvcHRpb25zLCBkZXBzKSA9PiAoe1xuICAuLi5hcnJvdyQxKG9wdGlvbnMpLFxuICBvcHRpb25zOiBbb3B0aW9ucywgZGVwc11cbn0pO1xuXG5leHBvcnQgeyBhcnJvdywgYXV0b1BsYWNlbWVudCwgZmxpcCwgaGlkZSwgaW5saW5lLCBsaW1pdFNoaWZ0LCBvZmZzZXQsIHNoaWZ0LCBzaXplLCB1c2VGbG9hdGluZyB9O1xuIiwiLy8gcGFja2FnZXMvcmVhY3QvYXJyb3cvc3JjL2Fycm93LnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgTkFNRSA9IFwiQXJyb3dcIjtcbnZhciBBcnJvdyA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgeyBjaGlsZHJlbiwgd2lkdGggPSAxMCwgaGVpZ2h0ID0gNSwgLi4uYXJyb3dQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgIFByaW1pdGl2ZS5zdmcsXG4gICAge1xuICAgICAgLi4uYXJyb3dQcm9wcyxcbiAgICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICB2aWV3Qm94OiBcIjAgMCAzMCAxMFwiLFxuICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbzogXCJub25lXCIsXG4gICAgICBjaGlsZHJlbjogcHJvcHMuYXNDaGlsZCA/IGNoaWxkcmVuIDogLyogQF9fUFVSRV9fICovIGpzeChcInBvbHlnb25cIiwgeyBwb2ludHM6IFwiMCwwIDMwLDAgMTUsMTBcIiB9KVxuICAgIH1cbiAgKTtcbn0pO1xuQXJyb3cuZGlzcGxheU5hbWUgPSBOQU1FO1xudmFyIFJvb3QgPSBBcnJvdztcbmV4cG9ydCB7XG4gIEFycm93LFxuICBSb290XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiXCJ1c2UgY2xpZW50XCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L3BvcHBlci9zcmMvcG9wcGVyLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICB1c2VGbG9hdGluZyxcbiAgYXV0b1VwZGF0ZSxcbiAgb2Zmc2V0LFxuICBzaGlmdCxcbiAgbGltaXRTaGlmdCxcbiAgaGlkZSxcbiAgYXJyb3cgYXMgZmxvYXRpbmdVSWFycm93LFxuICBmbGlwLFxuICBzaXplXG59IGZyb20gXCJAZmxvYXRpbmctdWkvcmVhY3QtZG9tXCI7XG5pbXBvcnQgKiBhcyBBcnJvd1ByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWFycm93XCI7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dFNjb3BlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb250ZXh0XCI7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tSZWYgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1jYWxsYmFjay1yZWZcIjtcbmltcG9ydCB7IHVzZUxheW91dEVmZmVjdCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLWxheW91dC1lZmZlY3RcIjtcbmltcG9ydCB7IHVzZVNpemUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1zaXplXCI7XG5pbXBvcnQgeyBqc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbnZhciBTSURFX09QVElPTlMgPSBbXCJ0b3BcIiwgXCJyaWdodFwiLCBcImJvdHRvbVwiLCBcImxlZnRcIl07XG52YXIgQUxJR05fT1BUSU9OUyA9IFtcInN0YXJ0XCIsIFwiY2VudGVyXCIsIFwiZW5kXCJdO1xudmFyIFBPUFBFUl9OQU1FID0gXCJQb3BwZXJcIjtcbnZhciBbY3JlYXRlUG9wcGVyQ29udGV4dCwgY3JlYXRlUG9wcGVyU2NvcGVdID0gY3JlYXRlQ29udGV4dFNjb3BlKFBPUFBFUl9OQU1FKTtcbnZhciBbUG9wcGVyUHJvdmlkZXIsIHVzZVBvcHBlckNvbnRleHRdID0gY3JlYXRlUG9wcGVyQ29udGV4dChQT1BQRVJfTkFNRSk7XG52YXIgUG9wcGVyID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgX19zY29wZVBvcHBlciwgY2hpbGRyZW4gfSA9IHByb3BzO1xuICBjb25zdCBbYW5jaG9yLCBzZXRBbmNob3JdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFBvcHBlclByb3ZpZGVyLCB7IHNjb3BlOiBfX3Njb3BlUG9wcGVyLCBhbmNob3IsIG9uQW5jaG9yQ2hhbmdlOiBzZXRBbmNob3IsIGNoaWxkcmVuIH0pO1xufTtcblBvcHBlci5kaXNwbGF5TmFtZSA9IFBPUFBFUl9OQU1FO1xudmFyIEFOQ0hPUl9OQU1FID0gXCJQb3BwZXJBbmNob3JcIjtcbnZhciBQb3BwZXJBbmNob3IgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVBvcHBlciwgdmlydHVhbFJlZiwgLi4uYW5jaG9yUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VQb3BwZXJDb250ZXh0KEFOQ0hPUl9OQU1FLCBfX3Njb3BlUG9wcGVyKTtcbiAgICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgcmVmKTtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29udGV4dC5vbkFuY2hvckNoYW5nZSh2aXJ0dWFsUmVmPy5jdXJyZW50IHx8IHJlZi5jdXJyZW50KTtcbiAgICB9KTtcbiAgICByZXR1cm4gdmlydHVhbFJlZiA/IG51bGwgOiAvKiBAX19QVVJFX18gKi8ganN4KFByaW1pdGl2ZS5kaXYsIHsgLi4uYW5jaG9yUHJvcHMsIHJlZjogY29tcG9zZWRSZWZzIH0pO1xuICB9XG4pO1xuUG9wcGVyQW5jaG9yLmRpc3BsYXlOYW1lID0gQU5DSE9SX05BTUU7XG52YXIgQ09OVEVOVF9OQU1FID0gXCJQb3BwZXJDb250ZW50XCI7XG52YXIgW1BvcHBlckNvbnRlbnRQcm92aWRlciwgdXNlQ29udGVudENvbnRleHRdID0gY3JlYXRlUG9wcGVyQ29udGV4dChDT05URU5UX05BTUUpO1xudmFyIFBvcHBlckNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIF9fc2NvcGVQb3BwZXIsXG4gICAgICBzaWRlID0gXCJib3R0b21cIixcbiAgICAgIHNpZGVPZmZzZXQgPSAwLFxuICAgICAgYWxpZ24gPSBcImNlbnRlclwiLFxuICAgICAgYWxpZ25PZmZzZXQgPSAwLFxuICAgICAgYXJyb3dQYWRkaW5nID0gMCxcbiAgICAgIGF2b2lkQ29sbGlzaW9ucyA9IHRydWUsXG4gICAgICBjb2xsaXNpb25Cb3VuZGFyeSA9IFtdLFxuICAgICAgY29sbGlzaW9uUGFkZGluZzogY29sbGlzaW9uUGFkZGluZ1Byb3AgPSAwLFxuICAgICAgc3RpY2t5ID0gXCJwYXJ0aWFsXCIsXG4gICAgICBoaWRlV2hlbkRldGFjaGVkID0gZmFsc2UsXG4gICAgICB1cGRhdGVQb3NpdGlvblN0cmF0ZWd5ID0gXCJvcHRpbWl6ZWRcIixcbiAgICAgIG9uUGxhY2VkLFxuICAgICAgLi4uY29udGVudFByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VQb3BwZXJDb250ZXh0KENPTlRFTlRfTkFNRSwgX19zY29wZVBvcHBlcik7XG4gICAgY29uc3QgW2NvbnRlbnQsIHNldENvbnRlbnRdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgKG5vZGUpID0+IHNldENvbnRlbnQobm9kZSkpO1xuICAgIGNvbnN0IFthcnJvdywgc2V0QXJyb3ddID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgYXJyb3dTaXplID0gdXNlU2l6ZShhcnJvdyk7XG4gICAgY29uc3QgYXJyb3dXaWR0aCA9IGFycm93U2l6ZT8ud2lkdGggPz8gMDtcbiAgICBjb25zdCBhcnJvd0hlaWdodCA9IGFycm93U2l6ZT8uaGVpZ2h0ID8/IDA7XG4gICAgY29uc3QgZGVzaXJlZFBsYWNlbWVudCA9IHNpZGUgKyAoYWxpZ24gIT09IFwiY2VudGVyXCIgPyBcIi1cIiArIGFsaWduIDogXCJcIik7XG4gICAgY29uc3QgY29sbGlzaW9uUGFkZGluZyA9IHR5cGVvZiBjb2xsaXNpb25QYWRkaW5nUHJvcCA9PT0gXCJudW1iZXJcIiA/IGNvbGxpc2lvblBhZGRpbmdQcm9wIDogeyB0b3A6IDAsIHJpZ2h0OiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIC4uLmNvbGxpc2lvblBhZGRpbmdQcm9wIH07XG4gICAgY29uc3QgYm91bmRhcnkgPSBBcnJheS5pc0FycmF5KGNvbGxpc2lvbkJvdW5kYXJ5KSA/IGNvbGxpc2lvbkJvdW5kYXJ5IDogW2NvbGxpc2lvbkJvdW5kYXJ5XTtcbiAgICBjb25zdCBoYXNFeHBsaWNpdEJvdW5kYXJpZXMgPSBib3VuZGFyeS5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGRldGVjdE92ZXJmbG93T3B0aW9ucyA9IHtcbiAgICAgIHBhZGRpbmc6IGNvbGxpc2lvblBhZGRpbmcsXG4gICAgICBib3VuZGFyeTogYm91bmRhcnkuZmlsdGVyKGlzTm90TnVsbCksXG4gICAgICAvLyB3aXRoIGBzdHJhdGVneTogJ2ZpeGVkJ2AsIHRoaXMgaXMgdGhlIG9ubHkgd2F5IHRvIGdldCBpdCB0byByZXNwZWN0IGJvdW5kYXJpZXNcbiAgICAgIGFsdEJvdW5kYXJ5OiBoYXNFeHBsaWNpdEJvdW5kYXJpZXNcbiAgICB9O1xuICAgIGNvbnN0IHsgcmVmcywgZmxvYXRpbmdTdHlsZXMsIHBsYWNlbWVudCwgaXNQb3NpdGlvbmVkLCBtaWRkbGV3YXJlRGF0YSB9ID0gdXNlRmxvYXRpbmcoe1xuICAgICAgLy8gZGVmYXVsdCB0byBgZml4ZWRgIHN0cmF0ZWd5IHNvIHVzZXJzIGRvbid0IGhhdmUgdG8gcGljayBhbmQgd2UgYWxzbyBhdm9pZCBmb2N1cyBzY3JvbGwgaXNzdWVzXG4gICAgICBzdHJhdGVneTogXCJmaXhlZFwiLFxuICAgICAgcGxhY2VtZW50OiBkZXNpcmVkUGxhY2VtZW50LFxuICAgICAgd2hpbGVFbGVtZW50c01vdW50ZWQ6ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIGNvbnN0IGNsZWFudXAgPSBhdXRvVXBkYXRlKC4uLmFyZ3MsIHtcbiAgICAgICAgICBhbmltYXRpb25GcmFtZTogdXBkYXRlUG9zaXRpb25TdHJhdGVneSA9PT0gXCJhbHdheXNcIlxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNsZWFudXA7XG4gICAgICB9LFxuICAgICAgZWxlbWVudHM6IHtcbiAgICAgICAgcmVmZXJlbmNlOiBjb250ZXh0LmFuY2hvclxuICAgICAgfSxcbiAgICAgIG1pZGRsZXdhcmU6IFtcbiAgICAgICAgb2Zmc2V0KHsgbWFpbkF4aXM6IHNpZGVPZmZzZXQgKyBhcnJvd0hlaWdodCwgYWxpZ25tZW50QXhpczogYWxpZ25PZmZzZXQgfSksXG4gICAgICAgIGF2b2lkQ29sbGlzaW9ucyAmJiBzaGlmdCh7XG4gICAgICAgICAgbWFpbkF4aXM6IHRydWUsXG4gICAgICAgICAgY3Jvc3NBeGlzOiBmYWxzZSxcbiAgICAgICAgICBsaW1pdGVyOiBzdGlja3kgPT09IFwicGFydGlhbFwiID8gbGltaXRTaGlmdCgpIDogdm9pZCAwLFxuICAgICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9uc1xuICAgICAgICB9KSxcbiAgICAgICAgYXZvaWRDb2xsaXNpb25zICYmIGZsaXAoeyAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnMgfSksXG4gICAgICAgIHNpemUoe1xuICAgICAgICAgIC4uLmRldGVjdE92ZXJmbG93T3B0aW9ucyxcbiAgICAgICAgICBhcHBseTogKHsgZWxlbWVudHMsIHJlY3RzLCBhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0IH0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgd2lkdGg6IGFuY2hvcldpZHRoLCBoZWlnaHQ6IGFuY2hvckhlaWdodCB9ID0gcmVjdHMucmVmZXJlbmNlO1xuICAgICAgICAgICAgY29uc3QgY29udGVudFN0eWxlID0gZWxlbWVudHMuZmxvYXRpbmcuc3R5bGU7XG4gICAgICAgICAgICBjb250ZW50U3R5bGUuc2V0UHJvcGVydHkoXCItLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGhcIiwgYCR7YXZhaWxhYmxlV2lkdGh9cHhgKTtcbiAgICAgICAgICAgIGNvbnRlbnRTdHlsZS5zZXRQcm9wZXJ0eShcIi0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS1oZWlnaHRcIiwgYCR7YXZhaWxhYmxlSGVpZ2h0fXB4YCk7XG4gICAgICAgICAgICBjb250ZW50U3R5bGUuc2V0UHJvcGVydHkoXCItLXJhZGl4LXBvcHBlci1hbmNob3Itd2lkdGhcIiwgYCR7YW5jaG9yV2lkdGh9cHhgKTtcbiAgICAgICAgICAgIGNvbnRlbnRTdHlsZS5zZXRQcm9wZXJ0eShcIi0tcmFkaXgtcG9wcGVyLWFuY2hvci1oZWlnaHRcIiwgYCR7YW5jaG9ySGVpZ2h0fXB4YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgYXJyb3cgJiYgZmxvYXRpbmdVSWFycm93KHsgZWxlbWVudDogYXJyb3csIHBhZGRpbmc6IGFycm93UGFkZGluZyB9KSxcbiAgICAgICAgdHJhbnNmb3JtT3JpZ2luKHsgYXJyb3dXaWR0aCwgYXJyb3dIZWlnaHQgfSksXG4gICAgICAgIGhpZGVXaGVuRGV0YWNoZWQgJiYgaGlkZSh7IHN0cmF0ZWd5OiBcInJlZmVyZW5jZUhpZGRlblwiLCAuLi5kZXRlY3RPdmVyZmxvd09wdGlvbnMgfSlcbiAgICAgIF1cbiAgICB9KTtcbiAgICBjb25zdCBbcGxhY2VkU2lkZSwgcGxhY2VkQWxpZ25dID0gZ2V0U2lkZUFuZEFsaWduRnJvbVBsYWNlbWVudChwbGFjZW1lbnQpO1xuICAgIGNvbnN0IGhhbmRsZVBsYWNlZCA9IHVzZUNhbGxiYWNrUmVmKG9uUGxhY2VkKTtcbiAgICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGlzUG9zaXRpb25lZCkge1xuICAgICAgICBoYW5kbGVQbGFjZWQ/LigpO1xuICAgICAgfVxuICAgIH0sIFtpc1Bvc2l0aW9uZWQsIGhhbmRsZVBsYWNlZF0pO1xuICAgIGNvbnN0IGFycm93WCA9IG1pZGRsZXdhcmVEYXRhLmFycm93Py54O1xuICAgIGNvbnN0IGFycm93WSA9IG1pZGRsZXdhcmVEYXRhLmFycm93Py55O1xuICAgIGNvbnN0IGNhbm5vdENlbnRlckFycm93ID0gbWlkZGxld2FyZURhdGEuYXJyb3c/LmNlbnRlck9mZnNldCAhPT0gMDtcbiAgICBjb25zdCBbY29udGVudFpJbmRleCwgc2V0Q29udGVudFpJbmRleF0gPSBSZWFjdC51c2VTdGF0ZSgpO1xuICAgIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudCkgc2V0Q29udGVudFpJbmRleCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjb250ZW50KS56SW5kZXgpO1xuICAgIH0sIFtjb250ZW50XSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBcImRpdlwiLFxuICAgICAge1xuICAgICAgICByZWY6IHJlZnMuc2V0RmxvYXRpbmcsXG4gICAgICAgIFwiZGF0YS1yYWRpeC1wb3BwZXItY29udGVudC13cmFwcGVyXCI6IFwiXCIsXG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgLi4uZmxvYXRpbmdTdHlsZXMsXG4gICAgICAgICAgdHJhbnNmb3JtOiBpc1Bvc2l0aW9uZWQgPyBmbG9hdGluZ1N0eWxlcy50cmFuc2Zvcm0gOiBcInRyYW5zbGF0ZSgwLCAtMjAwJSlcIixcbiAgICAgICAgICAvLyBrZWVwIG9mZiB0aGUgcGFnZSB3aGVuIG1lYXN1cmluZ1xuICAgICAgICAgIG1pbldpZHRoOiBcIm1heC1jb250ZW50XCIsXG4gICAgICAgICAgekluZGV4OiBjb250ZW50WkluZGV4LFxuICAgICAgICAgIFtcIi0tcmFkaXgtcG9wcGVyLXRyYW5zZm9ybS1vcmlnaW5cIl06IFtcbiAgICAgICAgICAgIG1pZGRsZXdhcmVEYXRhLnRyYW5zZm9ybU9yaWdpbj8ueCxcbiAgICAgICAgICAgIG1pZGRsZXdhcmVEYXRhLnRyYW5zZm9ybU9yaWdpbj8ueVxuICAgICAgICAgIF0uam9pbihcIiBcIiksXG4gICAgICAgICAgLy8gaGlkZSB0aGUgY29udGVudCBpZiB1c2luZyB0aGUgaGlkZSBtaWRkbGV3YXJlIGFuZCBzaG91bGQgYmUgaGlkZGVuXG4gICAgICAgICAgLy8gc2V0IHZpc2liaWxpdHkgdG8gaGlkZGVuIGFuZCBkaXNhYmxlIHBvaW50ZXIgZXZlbnRzIHNvIHRoZSBVSSBiZWhhdmVzXG4gICAgICAgICAgLy8gYXMgaWYgdGhlIFBvcHBlckNvbnRlbnQgaXNuJ3QgdGhlcmUgYXQgYWxsXG4gICAgICAgICAgLi4ubWlkZGxld2FyZURhdGEuaGlkZT8ucmVmZXJlbmNlSGlkZGVuICYmIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgZGlyOiBwcm9wcy5kaXIsXG4gICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICAgIFBvcHBlckNvbnRlbnRQcm92aWRlcixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzY29wZTogX19zY29wZVBvcHBlcixcbiAgICAgICAgICAgIHBsYWNlZFNpZGUsXG4gICAgICAgICAgICBvbkFycm93Q2hhbmdlOiBzZXRBcnJvdyxcbiAgICAgICAgICAgIGFycm93WCxcbiAgICAgICAgICAgIGFycm93WSxcbiAgICAgICAgICAgIHNob3VsZEhpZGVBcnJvdzogY2Fubm90Q2VudGVyQXJyb3csXG4gICAgICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgICAgICAgUHJpbWl0aXZlLmRpdixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiZGF0YS1zaWRlXCI6IHBsYWNlZFNpZGUsXG4gICAgICAgICAgICAgICAgXCJkYXRhLWFsaWduXCI6IHBsYWNlZEFsaWduLFxuICAgICAgICAgICAgICAgIC4uLmNvbnRlbnRQcm9wcyxcbiAgICAgICAgICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgLi4uY29udGVudFByb3BzLnN0eWxlLFxuICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIFBvcHBlckNvbnRlbnQgaGFzbid0IGJlZW4gcGxhY2VkIHlldCAobm90IGFsbCBtZWFzdXJlbWVudHMgZG9uZSlcbiAgICAgICAgICAgICAgICAgIC8vIHdlIHByZXZlbnQgYW5pbWF0aW9ucyBzbyB0aGF0IHVzZXJzJ3MgYW5pbWF0aW9uIGRvbid0IGtpY2sgaW4gdG9vIGVhcmx5IHJlZmVycmluZyB3cm9uZyBzaWRlc1xuICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAhaXNQb3NpdGlvbmVkID8gXCJub25lXCIgOiB2b2lkIDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuUG9wcGVyQ29udGVudC5kaXNwbGF5TmFtZSA9IENPTlRFTlRfTkFNRTtcbnZhciBBUlJPV19OQU1FID0gXCJQb3BwZXJBcnJvd1wiO1xudmFyIE9QUE9TSVRFX1NJREUgPSB7XG4gIHRvcDogXCJib3R0b21cIixcbiAgcmlnaHQ6IFwibGVmdFwiLFxuICBib3R0b206IFwidG9wXCIsXG4gIGxlZnQ6IFwicmlnaHRcIlxufTtcbnZhciBQb3BwZXJBcnJvdyA9IFJlYWN0LmZvcndhcmRSZWYoZnVuY3Rpb24gUG9wcGVyQXJyb3cyKHByb3BzLCBmb3J3YXJkZWRSZWYpIHtcbiAgY29uc3QgeyBfX3Njb3BlUG9wcGVyLCAuLi5hcnJvd1Byb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VDb250ZW50Q29udGV4dChBUlJPV19OQU1FLCBfX3Njb3BlUG9wcGVyKTtcbiAgY29uc3QgYmFzZVNpZGUgPSBPUFBPU0lURV9TSURFW2NvbnRlbnRDb250ZXh0LnBsYWNlZFNpZGVdO1xuICByZXR1cm4gKFxuICAgIC8vIHdlIGhhdmUgdG8gdXNlIGFuIGV4dHJhIHdyYXBwZXIgYmVjYXVzZSBgUmVzaXplT2JzZXJ2ZXJgICh1c2VkIGJ5IGB1c2VTaXplYClcbiAgICAvLyBkb2Vzbid0IHJlcG9ydCBzaXplIGFzIHdlJ2QgZXhwZWN0IG9uIFNWRyBlbGVtZW50cy5cbiAgICAvLyBpdCByZXBvcnRzIHRoZWlyIGJvdW5kaW5nIGJveCB3aGljaCBpcyBlZmZlY3RpdmVseSB0aGUgbGFyZ2VzdCBwYXRoIGluc2lkZSB0aGUgU1ZHLlxuICAgIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBcInNwYW5cIixcbiAgICAgIHtcbiAgICAgICAgcmVmOiBjb250ZW50Q29udGV4dC5vbkFycm93Q2hhbmdlLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgbGVmdDogY29udGVudENvbnRleHQuYXJyb3dYLFxuICAgICAgICAgIHRvcDogY29udGVudENvbnRleHQuYXJyb3dZLFxuICAgICAgICAgIFtiYXNlU2lkZV06IDAsXG4gICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiB7XG4gICAgICAgICAgICB0b3A6IFwiXCIsXG4gICAgICAgICAgICByaWdodDogXCIwIDBcIixcbiAgICAgICAgICAgIGJvdHRvbTogXCJjZW50ZXIgMFwiLFxuICAgICAgICAgICAgbGVmdDogXCIxMDAlIDBcIlxuICAgICAgICAgIH1bY29udGVudENvbnRleHQucGxhY2VkU2lkZV0sXG4gICAgICAgICAgdHJhbnNmb3JtOiB7XG4gICAgICAgICAgICB0b3A6IFwidHJhbnNsYXRlWSgxMDAlKVwiLFxuICAgICAgICAgICAgcmlnaHQ6IFwidHJhbnNsYXRlWSg1MCUpIHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlWCgtNTAlKVwiLFxuICAgICAgICAgICAgYm90dG9tOiBgcm90YXRlKDE4MGRlZylgLFxuICAgICAgICAgICAgbGVmdDogXCJ0cmFuc2xhdGVZKDUwJSkgcm90YXRlKC05MGRlZykgdHJhbnNsYXRlWCg1MCUpXCJcbiAgICAgICAgICB9W2NvbnRlbnRDb250ZXh0LnBsYWNlZFNpZGVdLFxuICAgICAgICAgIHZpc2liaWxpdHk6IGNvbnRlbnRDb250ZXh0LnNob3VsZEhpZGVBcnJvdyA/IFwiaGlkZGVuXCIgOiB2b2lkIDBcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgQXJyb3dQcmltaXRpdmUuUm9vdCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi5hcnJvd1Byb3BzLFxuICAgICAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAuLi5hcnJvd1Byb3BzLnN0eWxlLFxuICAgICAgICAgICAgICAvLyBlbnN1cmVzIHRoZSBlbGVtZW50IGNhbiBiZSBtZWFzdXJlZCBjb3JyZWN0bHkgKG1vc3RseSBmb3IgaWYgU1ZHKVxuICAgICAgICAgICAgICBkaXNwbGF5OiBcImJsb2NrXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICApXG4gICk7XG59KTtcblBvcHBlckFycm93LmRpc3BsYXlOYW1lID0gQVJST1dfTkFNRTtcbmZ1bmN0aW9uIGlzTm90TnVsbCh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGw7XG59XG52YXIgdHJhbnNmb3JtT3JpZ2luID0gKG9wdGlvbnMpID0+ICh7XG4gIG5hbWU6IFwidHJhbnNmb3JtT3JpZ2luXCIsXG4gIG9wdGlvbnMsXG4gIGZuKGRhdGEpIHtcbiAgICBjb25zdCB7IHBsYWNlbWVudCwgcmVjdHMsIG1pZGRsZXdhcmVEYXRhIH0gPSBkYXRhO1xuICAgIGNvbnN0IGNhbm5vdENlbnRlckFycm93ID0gbWlkZGxld2FyZURhdGEuYXJyb3c/LmNlbnRlck9mZnNldCAhPT0gMDtcbiAgICBjb25zdCBpc0Fycm93SGlkZGVuID0gY2Fubm90Q2VudGVyQXJyb3c7XG4gICAgY29uc3QgYXJyb3dXaWR0aCA9IGlzQXJyb3dIaWRkZW4gPyAwIDogb3B0aW9ucy5hcnJvd1dpZHRoO1xuICAgIGNvbnN0IGFycm93SGVpZ2h0ID0gaXNBcnJvd0hpZGRlbiA/IDAgOiBvcHRpb25zLmFycm93SGVpZ2h0O1xuICAgIGNvbnN0IFtwbGFjZWRTaWRlLCBwbGFjZWRBbGlnbl0gPSBnZXRTaWRlQW5kQWxpZ25Gcm9tUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gICAgY29uc3Qgbm9BcnJvd0FsaWduID0geyBzdGFydDogXCIwJVwiLCBjZW50ZXI6IFwiNTAlXCIsIGVuZDogXCIxMDAlXCIgfVtwbGFjZWRBbGlnbl07XG4gICAgY29uc3QgYXJyb3dYQ2VudGVyID0gKG1pZGRsZXdhcmVEYXRhLmFycm93Py54ID8/IDApICsgYXJyb3dXaWR0aCAvIDI7XG4gICAgY29uc3QgYXJyb3dZQ2VudGVyID0gKG1pZGRsZXdhcmVEYXRhLmFycm93Py55ID8/IDApICsgYXJyb3dIZWlnaHQgLyAyO1xuICAgIGxldCB4ID0gXCJcIjtcbiAgICBsZXQgeSA9IFwiXCI7XG4gICAgaWYgKHBsYWNlZFNpZGUgPT09IFwiYm90dG9tXCIpIHtcbiAgICAgIHggPSBpc0Fycm93SGlkZGVuID8gbm9BcnJvd0FsaWduIDogYCR7YXJyb3dYQ2VudGVyfXB4YDtcbiAgICAgIHkgPSBgJHstYXJyb3dIZWlnaHR9cHhgO1xuICAgIH0gZWxzZSBpZiAocGxhY2VkU2lkZSA9PT0gXCJ0b3BcIikge1xuICAgICAgeCA9IGlzQXJyb3dIaWRkZW4gPyBub0Fycm93QWxpZ24gOiBgJHthcnJvd1hDZW50ZXJ9cHhgO1xuICAgICAgeSA9IGAke3JlY3RzLmZsb2F0aW5nLmhlaWdodCArIGFycm93SGVpZ2h0fXB4YDtcbiAgICB9IGVsc2UgaWYgKHBsYWNlZFNpZGUgPT09IFwicmlnaHRcIikge1xuICAgICAgeCA9IGAkey1hcnJvd0hlaWdodH1weGA7XG4gICAgICB5ID0gaXNBcnJvd0hpZGRlbiA/IG5vQXJyb3dBbGlnbiA6IGAke2Fycm93WUNlbnRlcn1weGA7XG4gICAgfSBlbHNlIGlmIChwbGFjZWRTaWRlID09PSBcImxlZnRcIikge1xuICAgICAgeCA9IGAke3JlY3RzLmZsb2F0aW5nLndpZHRoICsgYXJyb3dIZWlnaHR9cHhgO1xuICAgICAgeSA9IGlzQXJyb3dIaWRkZW4gPyBub0Fycm93QWxpZ24gOiBgJHthcnJvd1lDZW50ZXJ9cHhgO1xuICAgIH1cbiAgICByZXR1cm4geyBkYXRhOiB7IHgsIHkgfSB9O1xuICB9XG59KTtcbmZ1bmN0aW9uIGdldFNpZGVBbmRBbGlnbkZyb21QbGFjZW1lbnQocGxhY2VtZW50KSB7XG4gIGNvbnN0IFtzaWRlLCBhbGlnbiA9IFwiY2VudGVyXCJdID0gcGxhY2VtZW50LnNwbGl0KFwiLVwiKTtcbiAgcmV0dXJuIFtzaWRlLCBhbGlnbl07XG59XG52YXIgUm9vdDIgPSBQb3BwZXI7XG52YXIgQW5jaG9yID0gUG9wcGVyQW5jaG9yO1xudmFyIENvbnRlbnQgPSBQb3BwZXJDb250ZW50O1xudmFyIEFycm93ID0gUG9wcGVyQXJyb3c7XG5leHBvcnQge1xuICBBTElHTl9PUFRJT05TLFxuICBBbmNob3IsXG4gIEFycm93LFxuICBDb250ZW50LFxuICBQb3BwZXIsXG4gIFBvcHBlckFuY2hvcixcbiAgUG9wcGVyQXJyb3csXG4gIFBvcHBlckNvbnRlbnQsXG4gIFJvb3QyIGFzIFJvb3QsXG4gIFNJREVfT1BUSU9OUyxcbiAgY3JlYXRlUG9wcGVyU2NvcGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3Qvcm92aW5nLWZvY3VzL3NyYy9yb3ZpbmctZm9jdXMtZ3JvdXAudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSBcIkByYWRpeC11aS9wcmltaXRpdmVcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbGxlY3Rpb24gfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbGxlY3Rpb25cIjtcbmltcG9ydCB7IHVzZUNvbXBvc2VkUmVmcyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0U2NvcGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUlkIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1pZFwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmltaXRpdmVcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrUmVmIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtY2FsbGJhY2stcmVmXCI7XG5pbXBvcnQgeyB1c2VDb250cm9sbGFibGVTdGF0ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLWNvbnRyb2xsYWJsZS1zdGF0ZVwiO1xuaW1wb3J0IHsgdXNlRGlyZWN0aW9uIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kaXJlY3Rpb25cIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIEVOVFJZX0ZPQ1VTID0gXCJyb3ZpbmdGb2N1c0dyb3VwLm9uRW50cnlGb2N1c1wiO1xudmFyIEVWRU5UX09QVElPTlMgPSB7IGJ1YmJsZXM6IGZhbHNlLCBjYW5jZWxhYmxlOiB0cnVlIH07XG52YXIgR1JPVVBfTkFNRSA9IFwiUm92aW5nRm9jdXNHcm91cFwiO1xudmFyIFtDb2xsZWN0aW9uLCB1c2VDb2xsZWN0aW9uLCBjcmVhdGVDb2xsZWN0aW9uU2NvcGVdID0gY3JlYXRlQ29sbGVjdGlvbihHUk9VUF9OQU1FKTtcbnZhciBbY3JlYXRlUm92aW5nRm9jdXNHcm91cENvbnRleHQsIGNyZWF0ZVJvdmluZ0ZvY3VzR3JvdXBTY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUoXG4gIEdST1VQX05BTUUsXG4gIFtjcmVhdGVDb2xsZWN0aW9uU2NvcGVdXG4pO1xudmFyIFtSb3ZpbmdGb2N1c1Byb3ZpZGVyLCB1c2VSb3ZpbmdGb2N1c0NvbnRleHRdID0gY3JlYXRlUm92aW5nRm9jdXNHcm91cENvbnRleHQoR1JPVVBfTkFNRSk7XG52YXIgUm92aW5nRm9jdXNHcm91cCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goQ29sbGVjdGlvbi5Qcm92aWRlciwgeyBzY29wZTogcHJvcHMuX19zY29wZVJvdmluZ0ZvY3VzR3JvdXAsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENvbGxlY3Rpb24uU2xvdCwgeyBzY29wZTogcHJvcHMuX19zY29wZVJvdmluZ0ZvY3VzR3JvdXAsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFJvdmluZ0ZvY3VzR3JvdXBJbXBsLCB7IC4uLnByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KSB9KSB9KTtcbiAgfVxuKTtcblJvdmluZ0ZvY3VzR3JvdXAuZGlzcGxheU5hbWUgPSBHUk9VUF9OQU1FO1xudmFyIFJvdmluZ0ZvY3VzR3JvdXBJbXBsID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7XG4gICAgX19zY29wZVJvdmluZ0ZvY3VzR3JvdXAsXG4gICAgb3JpZW50YXRpb24sXG4gICAgbG9vcCA9IGZhbHNlLFxuICAgIGRpcixcbiAgICBjdXJyZW50VGFiU3RvcElkOiBjdXJyZW50VGFiU3RvcElkUHJvcCxcbiAgICBkZWZhdWx0Q3VycmVudFRhYlN0b3BJZCxcbiAgICBvbkN1cnJlbnRUYWJTdG9wSWRDaGFuZ2UsXG4gICAgb25FbnRyeUZvY3VzLFxuICAgIHByZXZlbnRTY3JvbGxPbkVudHJ5Rm9jdXMgPSBmYWxzZSxcbiAgICAuLi5ncm91cFByb3BzXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgcmVmID0gUmVhY3QudXNlUmVmKG51bGwpO1xuICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCByZWYpO1xuICBjb25zdCBkaXJlY3Rpb24gPSB1c2VEaXJlY3Rpb24oZGlyKTtcbiAgY29uc3QgW2N1cnJlbnRUYWJTdG9wSWQgPSBudWxsLCBzZXRDdXJyZW50VGFiU3RvcElkXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICBwcm9wOiBjdXJyZW50VGFiU3RvcElkUHJvcCxcbiAgICBkZWZhdWx0UHJvcDogZGVmYXVsdEN1cnJlbnRUYWJTdG9wSWQsXG4gICAgb25DaGFuZ2U6IG9uQ3VycmVudFRhYlN0b3BJZENoYW5nZVxuICB9KTtcbiAgY29uc3QgW2lzVGFiYmluZ0JhY2tPdXQsIHNldElzVGFiYmluZ0JhY2tPdXRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBoYW5kbGVFbnRyeUZvY3VzID0gdXNlQ2FsbGJhY2tSZWYob25FbnRyeUZvY3VzKTtcbiAgY29uc3QgZ2V0SXRlbXMgPSB1c2VDb2xsZWN0aW9uKF9fc2NvcGVSb3ZpbmdGb2N1c0dyb3VwKTtcbiAgY29uc3QgaXNDbGlja0ZvY3VzUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgW2ZvY3VzYWJsZUl0ZW1zQ291bnQsIHNldEZvY3VzYWJsZUl0ZW1zQ291bnRdID0gUmVhY3QudXNlU3RhdGUoMCk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IHJlZi5jdXJyZW50O1xuICAgIGlmIChub2RlKSB7XG4gICAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoRU5UUllfRk9DVVMsIGhhbmRsZUVudHJ5Rm9jdXMpO1xuICAgICAgcmV0dXJuICgpID0+IG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihFTlRSWV9GT0NVUywgaGFuZGxlRW50cnlGb2N1cyk7XG4gICAgfVxuICB9LCBbaGFuZGxlRW50cnlGb2N1c10pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICBSb3ZpbmdGb2N1c1Byb3ZpZGVyLFxuICAgIHtcbiAgICAgIHNjb3BlOiBfX3Njb3BlUm92aW5nRm9jdXNHcm91cCxcbiAgICAgIG9yaWVudGF0aW9uLFxuICAgICAgZGlyOiBkaXJlY3Rpb24sXG4gICAgICBsb29wLFxuICAgICAgY3VycmVudFRhYlN0b3BJZCxcbiAgICAgIG9uSXRlbUZvY3VzOiBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAgICAgKHRhYlN0b3BJZCkgPT4gc2V0Q3VycmVudFRhYlN0b3BJZCh0YWJTdG9wSWQpLFxuICAgICAgICBbc2V0Q3VycmVudFRhYlN0b3BJZF1cbiAgICAgICksXG4gICAgICBvbkl0ZW1TaGlmdFRhYjogUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4gc2V0SXNUYWJiaW5nQmFja091dCh0cnVlKSwgW10pLFxuICAgICAgb25Gb2N1c2FibGVJdGVtQWRkOiBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAgICAgKCkgPT4gc2V0Rm9jdXNhYmxlSXRlbXNDb3VudCgocHJldkNvdW50KSA9PiBwcmV2Q291bnQgKyAxKSxcbiAgICAgICAgW11cbiAgICAgICksXG4gICAgICBvbkZvY3VzYWJsZUl0ZW1SZW1vdmU6IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICAgICAoKSA9PiBzZXRGb2N1c2FibGVJdGVtc0NvdW50KChwcmV2Q291bnQpID0+IHByZXZDb3VudCAtIDEpLFxuICAgICAgICBbXVxuICAgICAgKSxcbiAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICBQcmltaXRpdmUuZGl2LFxuICAgICAgICB7XG4gICAgICAgICAgdGFiSW5kZXg6IGlzVGFiYmluZ0JhY2tPdXQgfHwgZm9jdXNhYmxlSXRlbXNDb3VudCA9PT0gMCA/IC0xIDogMCxcbiAgICAgICAgICBcImRhdGEtb3JpZW50YXRpb25cIjogb3JpZW50YXRpb24sXG4gICAgICAgICAgLi4uZ3JvdXBQcm9wcyxcbiAgICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgICBzdHlsZTogeyBvdXRsaW5lOiBcIm5vbmVcIiwgLi4ucHJvcHMuc3R5bGUgfSxcbiAgICAgICAgICBvbk1vdXNlRG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Nb3VzZURvd24sICgpID0+IHtcbiAgICAgICAgICAgIGlzQ2xpY2tGb2N1c1JlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBvbkZvY3VzOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkZvY3VzLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzS2V5Ym9hcmRGb2N1cyA9ICFpc0NsaWNrRm9jdXNSZWYuY3VycmVudDtcbiAgICAgICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IGV2ZW50LmN1cnJlbnRUYXJnZXQgJiYgaXNLZXlib2FyZEZvY3VzICYmICFpc1RhYmJpbmdCYWNrT3V0KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVudHJ5Rm9jdXNFdmVudCA9IG5ldyBDdXN0b21FdmVudChFTlRSWV9GT0NVUywgRVZFTlRfT1BUSU9OUyk7XG4gICAgICAgICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudChlbnRyeUZvY3VzRXZlbnQpO1xuICAgICAgICAgICAgICBpZiAoIWVudHJ5Rm9jdXNFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBnZXRJdGVtcygpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5mb2N1c2FibGUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUl0ZW0gPSBpdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmFjdGl2ZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudEl0ZW0gPSBpdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBjdXJyZW50VGFiU3RvcElkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjYW5kaWRhdGVJdGVtcyA9IFthY3RpdmVJdGVtLCBjdXJyZW50SXRlbSwgLi4uaXRlbXNdLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgIEJvb2xlYW5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZU5vZGVzID0gY2FuZGlkYXRlSXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICBmb2N1c0ZpcnN0KGNhbmRpZGF0ZU5vZGVzLCBwcmV2ZW50U2Nyb2xsT25FbnRyeUZvY3VzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXNDbGlja0ZvY3VzUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBvbkJsdXI6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQmx1ciwgKCkgPT4gc2V0SXNUYWJiaW5nQmFja091dChmYWxzZSkpXG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gICk7XG59KTtcbnZhciBJVEVNX05BTUUgPSBcIlJvdmluZ0ZvY3VzR3JvdXBJdGVtXCI7XG52YXIgUm92aW5nRm9jdXNHcm91cEl0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIF9fc2NvcGVSb3ZpbmdGb2N1c0dyb3VwLFxuICAgICAgZm9jdXNhYmxlID0gdHJ1ZSxcbiAgICAgIGFjdGl2ZSA9IGZhbHNlLFxuICAgICAgdGFiU3RvcElkLFxuICAgICAgLi4uaXRlbVByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGF1dG9JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgaWQgPSB0YWJTdG9wSWQgfHwgYXV0b0lkO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VSb3ZpbmdGb2N1c0NvbnRleHQoSVRFTV9OQU1FLCBfX3Njb3BlUm92aW5nRm9jdXNHcm91cCk7XG4gICAgY29uc3QgaXNDdXJyZW50VGFiU3RvcCA9IGNvbnRleHQuY3VycmVudFRhYlN0b3BJZCA9PT0gaWQ7XG4gICAgY29uc3QgZ2V0SXRlbXMgPSB1c2VDb2xsZWN0aW9uKF9fc2NvcGVSb3ZpbmdGb2N1c0dyb3VwKTtcbiAgICBjb25zdCB7IG9uRm9jdXNhYmxlSXRlbUFkZCwgb25Gb2N1c2FibGVJdGVtUmVtb3ZlIH0gPSBjb250ZXh0O1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoZm9jdXNhYmxlKSB7XG4gICAgICAgIG9uRm9jdXNhYmxlSXRlbUFkZCgpO1xuICAgICAgICByZXR1cm4gKCkgPT4gb25Gb2N1c2FibGVJdGVtUmVtb3ZlKCk7XG4gICAgICB9XG4gICAgfSwgW2ZvY3VzYWJsZSwgb25Gb2N1c2FibGVJdGVtQWRkLCBvbkZvY3VzYWJsZUl0ZW1SZW1vdmVdKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIENvbGxlY3Rpb24uSXRlbVNsb3QsXG4gICAgICB7XG4gICAgICAgIHNjb3BlOiBfX3Njb3BlUm92aW5nRm9jdXNHcm91cCxcbiAgICAgICAgaWQsXG4gICAgICAgIGZvY3VzYWJsZSxcbiAgICAgICAgYWN0aXZlLFxuICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgICBQcmltaXRpdmUuc3BhbixcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0YWJJbmRleDogaXNDdXJyZW50VGFiU3RvcCA/IDAgOiAtMSxcbiAgICAgICAgICAgIFwiZGF0YS1vcmllbnRhdGlvblwiOiBjb250ZXh0Lm9yaWVudGF0aW9uLFxuICAgICAgICAgICAgLi4uaXRlbVByb3BzLFxuICAgICAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgICAgICBvbk1vdXNlRG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Nb3VzZURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIWZvY3VzYWJsZSkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgZWxzZSBjb250ZXh0Lm9uSXRlbUZvY3VzKGlkKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgb25Gb2N1czogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Gb2N1cywgKCkgPT4gY29udGV4dC5vbkl0ZW1Gb2N1cyhpZCkpLFxuICAgICAgICAgICAgb25LZXlEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBcIlRhYlwiICYmIGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5vbkl0ZW1TaGlmdFRhYigpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ICE9PSBldmVudC5jdXJyZW50VGFyZ2V0KSByZXR1cm47XG4gICAgICAgICAgICAgIGNvbnN0IGZvY3VzSW50ZW50ID0gZ2V0Rm9jdXNJbnRlbnQoZXZlbnQsIGNvbnRleHQub3JpZW50YXRpb24sIGNvbnRleHQuZGlyKTtcbiAgICAgICAgICAgICAgaWYgKGZvY3VzSW50ZW50ICE9PSB2b2lkIDApIHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50LmFsdEtleSB8fCBldmVudC5zaGlmdEtleSkgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBnZXRJdGVtcygpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5mb2N1c2FibGUpO1xuICAgICAgICAgICAgICAgIGxldCBjYW5kaWRhdGVOb2RlcyA9IGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5yZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgaWYgKGZvY3VzSW50ZW50ID09PSBcImxhc3RcIikgY2FuZGlkYXRlTm9kZXMucmV2ZXJzZSgpO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZvY3VzSW50ZW50ID09PSBcInByZXZcIiB8fCBmb2N1c0ludGVudCA9PT0gXCJuZXh0XCIpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChmb2N1c0ludGVudCA9PT0gXCJwcmV2XCIpIGNhbmRpZGF0ZU5vZGVzLnJldmVyc2UoKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IGNhbmRpZGF0ZU5vZGVzLmluZGV4T2YoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgICAgICAgICAgICAgICBjYW5kaWRhdGVOb2RlcyA9IGNvbnRleHQubG9vcCA/IHdyYXBBcnJheShjYW5kaWRhdGVOb2RlcywgY3VycmVudEluZGV4ICsgMSkgOiBjYW5kaWRhdGVOb2Rlcy5zbGljZShjdXJyZW50SW5kZXggKyAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBmb2N1c0ZpcnN0KGNhbmRpZGF0ZU5vZGVzKSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcblJvdmluZ0ZvY3VzR3JvdXBJdGVtLmRpc3BsYXlOYW1lID0gSVRFTV9OQU1FO1xudmFyIE1BUF9LRVlfVE9fRk9DVVNfSU5URU5UID0ge1xuICBBcnJvd0xlZnQ6IFwicHJldlwiLFxuICBBcnJvd1VwOiBcInByZXZcIixcbiAgQXJyb3dSaWdodDogXCJuZXh0XCIsXG4gIEFycm93RG93bjogXCJuZXh0XCIsXG4gIFBhZ2VVcDogXCJmaXJzdFwiLFxuICBIb21lOiBcImZpcnN0XCIsXG4gIFBhZ2VEb3duOiBcImxhc3RcIixcbiAgRW5kOiBcImxhc3RcIlxufTtcbmZ1bmN0aW9uIGdldERpcmVjdGlvbkF3YXJlS2V5KGtleSwgZGlyKSB7XG4gIGlmIChkaXIgIT09IFwicnRsXCIpIHJldHVybiBrZXk7XG4gIHJldHVybiBrZXkgPT09IFwiQXJyb3dMZWZ0XCIgPyBcIkFycm93UmlnaHRcIiA6IGtleSA9PT0gXCJBcnJvd1JpZ2h0XCIgPyBcIkFycm93TGVmdFwiIDoga2V5O1xufVxuZnVuY3Rpb24gZ2V0Rm9jdXNJbnRlbnQoZXZlbnQsIG9yaWVudGF0aW9uLCBkaXIpIHtcbiAgY29uc3Qga2V5ID0gZ2V0RGlyZWN0aW9uQXdhcmVLZXkoZXZlbnQua2V5LCBkaXIpO1xuICBpZiAob3JpZW50YXRpb24gPT09IFwidmVydGljYWxcIiAmJiBbXCJBcnJvd0xlZnRcIiwgXCJBcnJvd1JpZ2h0XCJdLmluY2x1ZGVzKGtleSkpIHJldHVybiB2b2lkIDA7XG4gIGlmIChvcmllbnRhdGlvbiA9PT0gXCJob3Jpem9udGFsXCIgJiYgW1wiQXJyb3dVcFwiLCBcIkFycm93RG93blwiXS5pbmNsdWRlcyhrZXkpKSByZXR1cm4gdm9pZCAwO1xuICByZXR1cm4gTUFQX0tFWV9UT19GT0NVU19JTlRFTlRba2V5XTtcbn1cbmZ1bmN0aW9uIGZvY3VzRmlyc3QoY2FuZGlkYXRlcywgcHJldmVudFNjcm9sbCA9IGZhbHNlKSB7XG4gIGNvbnN0IFBSRVZJT1VTTFlfRk9DVVNFRF9FTEVNRU5UID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgZm9yIChjb25zdCBjYW5kaWRhdGUgb2YgY2FuZGlkYXRlcykge1xuICAgIGlmIChjYW5kaWRhdGUgPT09IFBSRVZJT1VTTFlfRk9DVVNFRF9FTEVNRU5UKSByZXR1cm47XG4gICAgY2FuZGlkYXRlLmZvY3VzKHsgcHJldmVudFNjcm9sbCB9KTtcbiAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gUFJFVklPVVNMWV9GT0NVU0VEX0VMRU1FTlQpIHJldHVybjtcbiAgfVxufVxuZnVuY3Rpb24gd3JhcEFycmF5KGFycmF5LCBzdGFydEluZGV4KSB7XG4gIHJldHVybiBhcnJheS5tYXAoKF8sIGluZGV4KSA9PiBhcnJheVsoc3RhcnRJbmRleCArIGluZGV4KSAlIGFycmF5Lmxlbmd0aF0pO1xufVxudmFyIFJvb3QgPSBSb3ZpbmdGb2N1c0dyb3VwO1xudmFyIEl0ZW0gPSBSb3ZpbmdGb2N1c0dyb3VwSXRlbTtcbmV4cG9ydCB7XG4gIEl0ZW0sXG4gIFJvb3QsXG4gIFJvdmluZ0ZvY3VzR3JvdXAsXG4gIFJvdmluZ0ZvY3VzR3JvdXBJdGVtLFxuICBjcmVhdGVSb3ZpbmdGb2N1c0dyb3VwU2NvcGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvbWVudS9zcmMvbWVudS50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfSBmcm9tIFwiQHJhZGl4LXVpL3ByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgY3JlYXRlQ29sbGVjdGlvbiB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29sbGVjdGlvblwiO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzLCBjb21wb3NlUmVmcyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29tcG9zZS1yZWZzXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0U2NvcGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbnRleHRcIjtcbmltcG9ydCB7IHVzZURpcmVjdGlvbiB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtZGlyZWN0aW9uXCI7XG5pbXBvcnQgeyBEaXNtaXNzYWJsZUxheWVyIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kaXNtaXNzYWJsZS1sYXllclwiO1xuaW1wb3J0IHsgdXNlRm9jdXNHdWFyZHMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWZvY3VzLWd1YXJkc1wiO1xuaW1wb3J0IHsgRm9jdXNTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtZm9jdXMtc2NvcGVcIjtcbmltcG9ydCB7IHVzZUlkIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1pZFwiO1xuaW1wb3J0ICogYXMgUG9wcGVyUHJpbWl0aXZlIGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcG9wcGVyXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3BwZXJTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcG9wcGVyXCI7XG5pbXBvcnQgeyBQb3J0YWwgYXMgUG9ydGFsUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wb3J0YWxcIjtcbmltcG9ydCB7IFByZXNlbmNlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmVzZW5jZVwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlLCBkaXNwYXRjaERpc2NyZXRlQ3VzdG9tRXZlbnQgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0ICogYXMgUm92aW5nRm9jdXNHcm91cCBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXJvdmluZy1mb2N1c1wiO1xuaW1wb3J0IHsgY3JlYXRlUm92aW5nRm9jdXNHcm91cFNjb3BlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1yb3ZpbmctZm9jdXNcIjtcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIjtcbmltcG9ydCB7IHVzZUNhbGxiYWNrUmVmIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtY2FsbGJhY2stcmVmXCI7XG5pbXBvcnQgeyBoaWRlT3RoZXJzIH0gZnJvbSBcImFyaWEtaGlkZGVuXCI7XG5pbXBvcnQgeyBSZW1vdmVTY3JvbGwgfSBmcm9tIFwicmVhY3QtcmVtb3ZlLXNjcm9sbFwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgU0VMRUNUSU9OX0tFWVMgPSBbXCJFbnRlclwiLCBcIiBcIl07XG52YXIgRklSU1RfS0VZUyA9IFtcIkFycm93RG93blwiLCBcIlBhZ2VVcFwiLCBcIkhvbWVcIl07XG52YXIgTEFTVF9LRVlTID0gW1wiQXJyb3dVcFwiLCBcIlBhZ2VEb3duXCIsIFwiRW5kXCJdO1xudmFyIEZJUlNUX0xBU1RfS0VZUyA9IFsuLi5GSVJTVF9LRVlTLCAuLi5MQVNUX0tFWVNdO1xudmFyIFNVQl9PUEVOX0tFWVMgPSB7XG4gIGx0cjogWy4uLlNFTEVDVElPTl9LRVlTLCBcIkFycm93UmlnaHRcIl0sXG4gIHJ0bDogWy4uLlNFTEVDVElPTl9LRVlTLCBcIkFycm93TGVmdFwiXVxufTtcbnZhciBTVUJfQ0xPU0VfS0VZUyA9IHtcbiAgbHRyOiBbXCJBcnJvd0xlZnRcIl0sXG4gIHJ0bDogW1wiQXJyb3dSaWdodFwiXVxufTtcbnZhciBNRU5VX05BTUUgPSBcIk1lbnVcIjtcbnZhciBbQ29sbGVjdGlvbiwgdXNlQ29sbGVjdGlvbiwgY3JlYXRlQ29sbGVjdGlvblNjb3BlXSA9IGNyZWF0ZUNvbGxlY3Rpb24oTUVOVV9OQU1FKTtcbnZhciBbY3JlYXRlTWVudUNvbnRleHQsIGNyZWF0ZU1lbnVTY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUoTUVOVV9OQU1FLCBbXG4gIGNyZWF0ZUNvbGxlY3Rpb25TY29wZSxcbiAgY3JlYXRlUG9wcGVyU2NvcGUsXG4gIGNyZWF0ZVJvdmluZ0ZvY3VzR3JvdXBTY29wZVxuXSk7XG52YXIgdXNlUG9wcGVyU2NvcGUgPSBjcmVhdGVQb3BwZXJTY29wZSgpO1xudmFyIHVzZVJvdmluZ0ZvY3VzR3JvdXBTY29wZSA9IGNyZWF0ZVJvdmluZ0ZvY3VzR3JvdXBTY29wZSgpO1xudmFyIFtNZW51UHJvdmlkZXIsIHVzZU1lbnVDb250ZXh0XSA9IGNyZWF0ZU1lbnVDb250ZXh0KE1FTlVfTkFNRSk7XG52YXIgW01lbnVSb290UHJvdmlkZXIsIHVzZU1lbnVSb290Q29udGV4dF0gPSBjcmVhdGVNZW51Q29udGV4dChNRU5VX05BTUUpO1xudmFyIE1lbnUgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlTWVudSwgb3BlbiA9IGZhbHNlLCBjaGlsZHJlbiwgZGlyLCBvbk9wZW5DaGFuZ2UsIG1vZGFsID0gdHJ1ZSB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvcHBlclNjb3BlID0gdXNlUG9wcGVyU2NvcGUoX19zY29wZU1lbnUpO1xuICBjb25zdCBbY29udGVudCwgc2V0Q29udGVudF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgaXNVc2luZ0tleWJvYXJkUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUNhbGxiYWNrUmVmKG9uT3BlbkNoYW5nZSk7XG4gIGNvbnN0IGRpcmVjdGlvbiA9IHVzZURpcmVjdGlvbihkaXIpO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSAoKSA9PiB7XG4gICAgICBpc1VzaW5nS2V5Ym9hcmRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcmRvd25cIiwgaGFuZGxlUG9pbnRlciwgeyBjYXB0dXJlOiB0cnVlLCBvbmNlOiB0cnVlIH0pO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJtb3ZlXCIsIGhhbmRsZVBvaW50ZXIsIHsgY2FwdHVyZTogdHJ1ZSwgb25jZTogdHJ1ZSB9KTtcbiAgICB9O1xuICAgIGNvbnN0IGhhbmRsZVBvaW50ZXIgPSAoKSA9PiBpc1VzaW5nS2V5Ym9hcmRSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZUtleURvd24sIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlS2V5RG93biwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJkb3duXCIsIGhhbmRsZVBvaW50ZXIsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVybW92ZVwiLCBoYW5kbGVQb2ludGVyLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgfTtcbiAgfSwgW10pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQb3BwZXJQcmltaXRpdmUuUm9vdCwgeyAuLi5wb3BwZXJTY29wZSwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgTWVudVByb3ZpZGVyLFxuICAgIHtcbiAgICAgIHNjb3BlOiBfX3Njb3BlTWVudSxcbiAgICAgIG9wZW4sXG4gICAgICBvbk9wZW5DaGFuZ2U6IGhhbmRsZU9wZW5DaGFuZ2UsXG4gICAgICBjb250ZW50LFxuICAgICAgb25Db250ZW50Q2hhbmdlOiBzZXRDb250ZW50LFxuICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgIE1lbnVSb290UHJvdmlkZXIsXG4gICAgICAgIHtcbiAgICAgICAgICBzY29wZTogX19zY29wZU1lbnUsXG4gICAgICAgICAgb25DbG9zZTogUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4gaGFuZGxlT3BlbkNoYW5nZShmYWxzZSksIFtoYW5kbGVPcGVuQ2hhbmdlXSksXG4gICAgICAgICAgaXNVc2luZ0tleWJvYXJkUmVmLFxuICAgICAgICAgIGRpcjogZGlyZWN0aW9uLFxuICAgICAgICAgIG1vZGFsLFxuICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gICkgfSk7XG59O1xuTWVudS5kaXNwbGF5TmFtZSA9IE1FTlVfTkFNRTtcbnZhciBBTkNIT1JfTkFNRSA9IFwiTWVudUFuY2hvclwiO1xudmFyIE1lbnVBbmNob3IgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZU1lbnUsIC4uLmFuY2hvclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVNZW51KTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQb3BwZXJQcmltaXRpdmUuQW5jaG9yLCB7IC4uLnBvcHBlclNjb3BlLCAuLi5hbmNob3JQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG4gIH1cbik7XG5NZW51QW5jaG9yLmRpc3BsYXlOYW1lID0gQU5DSE9SX05BTUU7XG52YXIgUE9SVEFMX05BTUUgPSBcIk1lbnVQb3J0YWxcIjtcbnZhciBbUG9ydGFsUHJvdmlkZXIsIHVzZVBvcnRhbENvbnRleHRdID0gY3JlYXRlTWVudUNvbnRleHQoUE9SVEFMX05BTUUsIHtcbiAgZm9yY2VNb3VudDogdm9pZCAwXG59KTtcbnZhciBNZW51UG9ydGFsID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgX19zY29wZU1lbnUsIGZvcmNlTW91bnQsIGNoaWxkcmVuLCBjb250YWluZXIgfSA9IHByb3BzO1xuICBjb25zdCBjb250ZXh0ID0gdXNlTWVudUNvbnRleHQoUE9SVEFMX05BTUUsIF9fc2NvcGVNZW51KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUG9ydGFsUHJvdmlkZXIsIHsgc2NvcGU6IF9fc2NvcGVNZW51LCBmb3JjZU1vdW50LCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChQcmVzZW5jZSwgeyBwcmVzZW50OiBmb3JjZU1vdW50IHx8IGNvbnRleHQub3BlbiwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUG9ydGFsUHJpbWl0aXZlLCB7IGFzQ2hpbGQ6IHRydWUsIGNvbnRhaW5lciwgY2hpbGRyZW4gfSkgfSkgfSk7XG59O1xuTWVudVBvcnRhbC5kaXNwbGF5TmFtZSA9IFBPUlRBTF9OQU1FO1xudmFyIENPTlRFTlRfTkFNRSA9IFwiTWVudUNvbnRlbnRcIjtcbnZhciBbTWVudUNvbnRlbnRQcm92aWRlciwgdXNlTWVudUNvbnRlbnRDb250ZXh0XSA9IGNyZWF0ZU1lbnVDb250ZXh0KENPTlRFTlRfTkFNRSk7XG52YXIgTWVudUNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHBvcnRhbENvbnRleHQgPSB1c2VQb3J0YWxDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZU1lbnUpO1xuICAgIGNvbnN0IHsgZm9yY2VNb3VudCA9IHBvcnRhbENvbnRleHQuZm9yY2VNb3VudCwgLi4uY29udGVudFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlTWVudUNvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlTWVudSk7XG4gICAgY29uc3Qgcm9vdENvbnRleHQgPSB1c2VNZW51Um9vdENvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlTWVudSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goQ29sbGVjdGlvbi5Qcm92aWRlciwgeyBzY29wZTogcHJvcHMuX19zY29wZU1lbnUsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFByZXNlbmNlLCB7IHByZXNlbnQ6IGZvcmNlTW91bnQgfHwgY29udGV4dC5vcGVuLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDb2xsZWN0aW9uLlNsb3QsIHsgc2NvcGU6IHByb3BzLl9fc2NvcGVNZW51LCBjaGlsZHJlbjogcm9vdENvbnRleHQubW9kYWwgPyAvKiBAX19QVVJFX18gKi8ganN4KE1lbnVSb290Q29udGVudE1vZGFsLCB7IC4uLmNvbnRlbnRQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSkgOiAvKiBAX19QVVJFX18gKi8ganN4KE1lbnVSb290Q29udGVudE5vbk1vZGFsLCB7IC4uLmNvbnRlbnRQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSkgfSkgfSkgfSk7XG4gIH1cbik7XG52YXIgTWVudVJvb3RDb250ZW50TW9kYWwgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VNZW51Q29udGV4dChDT05URU5UX05BTUUsIHByb3BzLl9fc2NvcGVNZW51KTtcbiAgICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgcmVmKTtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY29udGVudCA9IHJlZi5jdXJyZW50O1xuICAgICAgaWYgKGNvbnRlbnQpIHJldHVybiBoaWRlT3RoZXJzKGNvbnRlbnQpO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIE1lbnVDb250ZW50SW1wbCxcbiAgICAgIHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgICB0cmFwRm9jdXM6IGNvbnRleHQub3BlbixcbiAgICAgICAgZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOiBjb250ZXh0Lm9wZW4sXG4gICAgICAgIGRpc2FibGVPdXRzaWRlU2Nyb2xsOiB0cnVlLFxuICAgICAgICBvbkZvY3VzT3V0c2lkZTogY29tcG9zZUV2ZW50SGFuZGxlcnMoXG4gICAgICAgICAgcHJvcHMub25Gb2N1c091dHNpZGUsXG4gICAgICAgICAgKGV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgIHsgY2hlY2tGb3JEZWZhdWx0UHJldmVudGVkOiBmYWxzZSB9XG4gICAgICAgICksXG4gICAgICAgIG9uRGlzbWlzczogKCkgPT4gY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbnZhciBNZW51Um9vdENvbnRlbnROb25Nb2RhbCA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZU1lbnVDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZU1lbnUpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICBNZW51Q29udGVudEltcGwsXG4gICAge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICAgIHRyYXBGb2N1czogZmFsc2UsXG4gICAgICBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6IGZhbHNlLFxuICAgICAgZGlzYWJsZU91dHNpZGVTY3JvbGw6IGZhbHNlLFxuICAgICAgb25EaXNtaXNzOiAoKSA9PiBjb250ZXh0Lm9uT3BlbkNoYW5nZShmYWxzZSlcbiAgICB9XG4gICk7XG59KTtcbnZhciBNZW51Q29udGVudEltcGwgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIF9fc2NvcGVNZW51LFxuICAgICAgbG9vcCA9IGZhbHNlLFxuICAgICAgdHJhcEZvY3VzLFxuICAgICAgb25PcGVuQXV0b0ZvY3VzLFxuICAgICAgb25DbG9zZUF1dG9Gb2N1cyxcbiAgICAgIGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50cyxcbiAgICAgIG9uRW50cnlGb2N1cyxcbiAgICAgIG9uRXNjYXBlS2V5RG93bixcbiAgICAgIG9uUG9pbnRlckRvd25PdXRzaWRlLFxuICAgICAgb25Gb2N1c091dHNpZGUsXG4gICAgICBvbkludGVyYWN0T3V0c2lkZSxcbiAgICAgIG9uRGlzbWlzcyxcbiAgICAgIGRpc2FibGVPdXRzaWRlU2Nyb2xsLFxuICAgICAgLi4uY29udGVudFByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VNZW51Q29udGV4dChDT05URU5UX05BTUUsIF9fc2NvcGVNZW51KTtcbiAgICBjb25zdCByb290Q29udGV4dCA9IHVzZU1lbnVSb290Q29udGV4dChDT05URU5UX05BTUUsIF9fc2NvcGVNZW51KTtcbiAgICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVNZW51KTtcbiAgICBjb25zdCByb3ZpbmdGb2N1c0dyb3VwU2NvcGUgPSB1c2VSb3ZpbmdGb2N1c0dyb3VwU2NvcGUoX19zY29wZU1lbnUpO1xuICAgIGNvbnN0IGdldEl0ZW1zID0gdXNlQ29sbGVjdGlvbihfX3Njb3BlTWVudSk7XG4gICAgY29uc3QgW2N1cnJlbnRJdGVtSWQsIHNldEN1cnJlbnRJdGVtSWRdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgY29udGVudFJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBjb250ZW50UmVmLCBjb250ZXh0Lm9uQ29udGVudENoYW5nZSk7XG4gICAgY29uc3QgdGltZXJSZWYgPSBSZWFjdC51c2VSZWYoMCk7XG4gICAgY29uc3Qgc2VhcmNoUmVmID0gUmVhY3QudXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IHBvaW50ZXJHcmFjZVRpbWVyUmVmID0gUmVhY3QudXNlUmVmKDApO1xuICAgIGNvbnN0IHBvaW50ZXJHcmFjZUludGVudFJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgICBjb25zdCBwb2ludGVyRGlyUmVmID0gUmVhY3QudXNlUmVmKFwicmlnaHRcIik7XG4gICAgY29uc3QgbGFzdFBvaW50ZXJYUmVmID0gUmVhY3QudXNlUmVmKDApO1xuICAgIGNvbnN0IFNjcm9sbExvY2tXcmFwcGVyID0gZGlzYWJsZU91dHNpZGVTY3JvbGwgPyBSZW1vdmVTY3JvbGwgOiBSZWFjdC5GcmFnbWVudDtcbiAgICBjb25zdCBzY3JvbGxMb2NrV3JhcHBlclByb3BzID0gZGlzYWJsZU91dHNpZGVTY3JvbGwgPyB7IGFzOiBTbG90LCBhbGxvd1BpbmNoWm9vbTogdHJ1ZSB9IDogdm9pZCAwO1xuICAgIGNvbnN0IGhhbmRsZVR5cGVhaGVhZFNlYXJjaCA9IChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaCA9IHNlYXJjaFJlZi5jdXJyZW50ICsga2V5O1xuICAgICAgY29uc3QgaXRlbXMgPSBnZXRJdGVtcygpLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uZGlzYWJsZWQpO1xuICAgICAgY29uc3QgY3VycmVudEl0ZW0gPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgY29uc3QgY3VycmVudE1hdGNoID0gaXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5yZWYuY3VycmVudCA9PT0gY3VycmVudEl0ZW0pPy50ZXh0VmFsdWU7XG4gICAgICBjb25zdCB2YWx1ZXMgPSBpdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udGV4dFZhbHVlKTtcbiAgICAgIGNvbnN0IG5leHRNYXRjaCA9IGdldE5leHRNYXRjaCh2YWx1ZXMsIHNlYXJjaCwgY3VycmVudE1hdGNoKTtcbiAgICAgIGNvbnN0IG5ld0l0ZW0gPSBpdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnRleHRWYWx1ZSA9PT0gbmV4dE1hdGNoKT8ucmVmLmN1cnJlbnQ7XG4gICAgICAoZnVuY3Rpb24gdXBkYXRlU2VhcmNoKHZhbHVlKSB7XG4gICAgICAgIHNlYXJjaFJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gXCJcIikgdGltZXJSZWYuY3VycmVudCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHVwZGF0ZVNlYXJjaChcIlwiKSwgMWUzKTtcbiAgICAgIH0pKHNlYXJjaCk7XG4gICAgICBpZiAobmV3SXRlbSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IG5ld0l0ZW0uZm9jdXMoKSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXJSZWYuY3VycmVudCk7XG4gICAgfSwgW10pO1xuICAgIHVzZUZvY3VzR3VhcmRzKCk7XG4gICAgY29uc3QgaXNQb2ludGVyTW92aW5nVG9TdWJtZW51ID0gUmVhY3QudXNlQ2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBpc01vdmluZ1Rvd2FyZHMgPSBwb2ludGVyRGlyUmVmLmN1cnJlbnQgPT09IHBvaW50ZXJHcmFjZUludGVudFJlZi5jdXJyZW50Py5zaWRlO1xuICAgICAgcmV0dXJuIGlzTW92aW5nVG93YXJkcyAmJiBpc1BvaW50ZXJJbkdyYWNlQXJlYShldmVudCwgcG9pbnRlckdyYWNlSW50ZW50UmVmLmN1cnJlbnQ/LmFyZWEpO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIE1lbnVDb250ZW50UHJvdmlkZXIsXG4gICAgICB7XG4gICAgICAgIHNjb3BlOiBfX3Njb3BlTWVudSxcbiAgICAgICAgc2VhcmNoUmVmLFxuICAgICAgICBvbkl0ZW1FbnRlcjogUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNQb2ludGVyTW92aW5nVG9TdWJtZW51KGV2ZW50KSkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIFtpc1BvaW50ZXJNb3ZpbmdUb1N1Ym1lbnVdXG4gICAgICAgICksXG4gICAgICAgIG9uSXRlbUxlYXZlOiBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAgICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChpc1BvaW50ZXJNb3ZpbmdUb1N1Ym1lbnUoZXZlbnQpKSByZXR1cm47XG4gICAgICAgICAgICBjb250ZW50UmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgICBzZXRDdXJyZW50SXRlbUlkKG51bGwpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgW2lzUG9pbnRlck1vdmluZ1RvU3VibWVudV1cbiAgICAgICAgKSxcbiAgICAgICAgb25UcmlnZ2VyTGVhdmU6IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzUG9pbnRlck1vdmluZ1RvU3VibWVudShldmVudCkpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBbaXNQb2ludGVyTW92aW5nVG9TdWJtZW51XVxuICAgICAgICApLFxuICAgICAgICBwb2ludGVyR3JhY2VUaW1lclJlZixcbiAgICAgICAgb25Qb2ludGVyR3JhY2VJbnRlbnRDaGFuZ2U6IFJlYWN0LnVzZUNhbGxiYWNrKChpbnRlbnQpID0+IHtcbiAgICAgICAgICBwb2ludGVyR3JhY2VJbnRlbnRSZWYuY3VycmVudCA9IGludGVudDtcbiAgICAgICAgfSwgW10pLFxuICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChTY3JvbGxMb2NrV3JhcHBlciwgeyAuLi5zY3JvbGxMb2NrV3JhcHBlclByb3BzLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgICBGb2N1c1Njb3BlLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFzQ2hpbGQ6IHRydWUsXG4gICAgICAgICAgICB0cmFwcGVkOiB0cmFwRm9jdXMsXG4gICAgICAgICAgICBvbk1vdW50QXV0b0ZvY3VzOiBjb21wb3NlRXZlbnRIYW5kbGVycyhvbk9wZW5BdXRvRm9jdXMsIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBjb250ZW50UmVmLmN1cnJlbnQ/LmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgb25Vbm1vdW50QXV0b0ZvY3VzOiBvbkNsb3NlQXV0b0ZvY3VzLFxuICAgICAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgICAgIERpc21pc3NhYmxlTGF5ZXIsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBhc0NoaWxkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50cyxcbiAgICAgICAgICAgICAgICBvbkVzY2FwZUtleURvd24sXG4gICAgICAgICAgICAgICAgb25Qb2ludGVyRG93bk91dHNpZGUsXG4gICAgICAgICAgICAgICAgb25Gb2N1c091dHNpZGUsXG4gICAgICAgICAgICAgICAgb25JbnRlcmFjdE91dHNpZGUsXG4gICAgICAgICAgICAgICAgb25EaXNtaXNzLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICAgICAgICAgICAgUm92aW5nRm9jdXNHcm91cC5Sb290LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhc0NoaWxkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAuLi5yb3ZpbmdGb2N1c0dyb3VwU2NvcGUsXG4gICAgICAgICAgICAgICAgICAgIGRpcjogcm9vdENvbnRleHQuZGlyLFxuICAgICAgICAgICAgICAgICAgICBvcmllbnRhdGlvbjogXCJ2ZXJ0aWNhbFwiLFxuICAgICAgICAgICAgICAgICAgICBsb29wLFxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50VGFiU3RvcElkOiBjdXJyZW50SXRlbUlkLFxuICAgICAgICAgICAgICAgICAgICBvbkN1cnJlbnRUYWJTdG9wSWRDaGFuZ2U6IHNldEN1cnJlbnRJdGVtSWQsXG4gICAgICAgICAgICAgICAgICAgIG9uRW50cnlGb2N1czogY29tcG9zZUV2ZW50SGFuZGxlcnMob25FbnRyeUZvY3VzLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJvb3RDb250ZXh0LmlzVXNpbmdLZXlib2FyZFJlZi5jdXJyZW50KSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgcHJldmVudFNjcm9sbE9uRW50cnlGb2N1czogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgICAgICAgICAgICAgUG9wcGVyUHJpbWl0aXZlLkNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZTogXCJtZW51XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFyaWEtb3JpZW50YXRpb25cIjogXCJ2ZXJ0aWNhbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhLXN0YXRlXCI6IGdldE9wZW5TdGF0ZShjb250ZXh0Lm9wZW4pLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhLXJhZGl4LW1lbnUtY29udGVudFwiOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyOiByb290Q29udGV4dC5kaXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5wb3BwZXJTY29wZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbnRlbnRQcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHsgb3V0bGluZTogXCJub25lXCIsIC4uLmNvbnRlbnRQcm9wcy5zdHlsZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhjb250ZW50UHJvcHMub25LZXlEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0tleURvd25JbnNpZGUgPSB0YXJnZXQuY2xvc2VzdChcIltkYXRhLXJhZGl4LW1lbnUtY29udGVudF1cIikgPT09IGV2ZW50LmN1cnJlbnRUYXJnZXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzTW9kaWZpZXJLZXkgPSBldmVudC5jdHJsS2V5IHx8IGV2ZW50LmFsdEtleSB8fCBldmVudC5tZXRhS2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0NoYXJhY3RlcktleSA9IGV2ZW50LmtleS5sZW5ndGggPT09IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc0tleURvd25JbnNpZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBcIlRhYlwiKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaXNNb2RpZmllcktleSAmJiBpc0NoYXJhY3RlcktleSkgaGFuZGxlVHlwZWFoZWFkU2VhcmNoKGV2ZW50LmtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LnRhcmdldCAhPT0gY29udGVudCkgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIUZJUlNUX0xBU1RfS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpKSByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZ2V0SXRlbXMoKS5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmRpc2FibGVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2FuZGlkYXRlTm9kZXMgPSBpdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ucmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTEFTVF9LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSkpIGNhbmRpZGF0ZU5vZGVzLnJldmVyc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNGaXJzdChjYW5kaWRhdGVOb2Rlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cjogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25CbHVyLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFldmVudC5jdXJyZW50VGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFJlZi5jdXJyZW50ID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBvblBvaW50ZXJNb3ZlOiBjb21wb3NlRXZlbnRIYW5kbGVycyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHMub25Qb2ludGVyTW92ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbk1vdXNlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb2ludGVyWEhhc0NoYW5nZWQgPSBsYXN0UG9pbnRlclhSZWYuY3VycmVudCAhPT0gZXZlbnQuY2xpZW50WDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQuY3VycmVudFRhcmdldC5jb250YWlucyh0YXJnZXQpICYmIHBvaW50ZXJYSGFzQ2hhbmdlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3RGlyID0gZXZlbnQuY2xpZW50WCA+IGxhc3RQb2ludGVyWFJlZi5jdXJyZW50ID8gXCJyaWdodFwiIDogXCJsZWZ0XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyRGlyUmVmLmN1cnJlbnQgPSBuZXdEaXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0UG9pbnRlclhSZWYuY3VycmVudCA9IGV2ZW50LmNsaWVudFg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgKSB9KVxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5NZW51Q29udGVudC5kaXNwbGF5TmFtZSA9IENPTlRFTlRfTkFNRTtcbnZhciBHUk9VUF9OQU1FID0gXCJNZW51R3JvdXBcIjtcbnZhciBNZW51R3JvdXAgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZU1lbnUsIC4uLmdyb3VwUHJvcHMgfSA9IHByb3BzO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFByaW1pdGl2ZS5kaXYsIHsgcm9sZTogXCJncm91cFwiLCAuLi5ncm91cFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbiAgfVxuKTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9IEdST1VQX05BTUU7XG52YXIgTEFCRUxfTkFNRSA9IFwiTWVudUxhYmVsXCI7XG52YXIgTWVudUxhYmVsID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVNZW51LCAuLi5sYWJlbFByb3BzIH0gPSBwcm9wcztcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQcmltaXRpdmUuZGl2LCB7IC4uLmxhYmVsUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xuICB9XG4pO1xuTWVudUxhYmVsLmRpc3BsYXlOYW1lID0gTEFCRUxfTkFNRTtcbnZhciBJVEVNX05BTUUgPSBcIk1lbnVJdGVtXCI7XG52YXIgSVRFTV9TRUxFQ1QgPSBcIm1lbnUuaXRlbVNlbGVjdFwiO1xudmFyIE1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IGRpc2FibGVkID0gZmFsc2UsIG9uU2VsZWN0LCAuLi5pdGVtUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgICBjb25zdCByb290Q29udGV4dCA9IHVzZU1lbnVSb290Q29udGV4dChJVEVNX05BTUUsIHByb3BzLl9fc2NvcGVNZW51KTtcbiAgICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZU1lbnVDb250ZW50Q29udGV4dChJVEVNX05BTUUsIHByb3BzLl9fc2NvcGVNZW51KTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCByZWYpO1xuICAgIGNvbnN0IGlzUG9pbnRlckRvd25SZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGhhbmRsZVNlbGVjdCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG1lbnVJdGVtID0gcmVmLmN1cnJlbnQ7XG4gICAgICBpZiAoIWRpc2FibGVkICYmIG1lbnVJdGVtKSB7XG4gICAgICAgIGNvbnN0IGl0ZW1TZWxlY3RFdmVudCA9IG5ldyBDdXN0b21FdmVudChJVEVNX1NFTEVDVCwgeyBidWJibGVzOiB0cnVlLCBjYW5jZWxhYmxlOiB0cnVlIH0pO1xuICAgICAgICBtZW51SXRlbS5hZGRFdmVudExpc3RlbmVyKElURU1fU0VMRUNULCAoZXZlbnQpID0+IG9uU2VsZWN0Py4oZXZlbnQpLCB7IG9uY2U6IHRydWUgfSk7XG4gICAgICAgIGRpc3BhdGNoRGlzY3JldGVDdXN0b21FdmVudChtZW51SXRlbSwgaXRlbVNlbGVjdEV2ZW50KTtcbiAgICAgICAgaWYgKGl0ZW1TZWxlY3RFdmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgaXNQb2ludGVyRG93blJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcm9vdENvbnRleHQub25DbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIE1lbnVJdGVtSW1wbCxcbiAgICAgIHtcbiAgICAgICAgLi4uaXRlbVByb3BzLFxuICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIG9uQ2xpY2s6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQ2xpY2ssIGhhbmRsZVNlbGVjdCksXG4gICAgICAgIG9uUG9pbnRlckRvd246IChldmVudCkgPT4ge1xuICAgICAgICAgIHByb3BzLm9uUG9pbnRlckRvd24/LihldmVudCk7XG4gICAgICAgICAgaXNQb2ludGVyRG93blJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Qb2ludGVyVXA6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uUG9pbnRlclVwLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoIWlzUG9pbnRlckRvd25SZWYuY3VycmVudCkgZXZlbnQuY3VycmVudFRhcmdldD8uY2xpY2soKTtcbiAgICAgICAgfSksXG4gICAgICAgIG9uS2V5RG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25LZXlEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBpc1R5cGluZ0FoZWFkID0gY29udGVudENvbnRleHQuc2VhcmNoUmVmLmN1cnJlbnQgIT09IFwiXCI7XG4gICAgICAgICAgaWYgKGRpc2FibGVkIHx8IGlzVHlwaW5nQWhlYWQgJiYgZXZlbnQua2V5ID09PSBcIiBcIikgcmV0dXJuO1xuICAgICAgICAgIGlmIChTRUxFQ1RJT05fS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICBldmVudC5jdXJyZW50VGFyZ2V0LmNsaWNrKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuTWVudUl0ZW0uZGlzcGxheU5hbWUgPSBJVEVNX05BTUU7XG52YXIgTWVudUl0ZW1JbXBsID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVNZW51LCBkaXNhYmxlZCA9IGZhbHNlLCB0ZXh0VmFsdWUsIC4uLml0ZW1Qcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VNZW51Q29udGVudENvbnRleHQoSVRFTV9OQU1FLCBfX3Njb3BlTWVudSk7XG4gICAgY29uc3Qgcm92aW5nRm9jdXNHcm91cFNjb3BlID0gdXNlUm92aW5nRm9jdXNHcm91cFNjb3BlKF9fc2NvcGVNZW51KTtcbiAgICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgcmVmKTtcbiAgICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFt0ZXh0Q29udGVudCwgc2V0VGV4dENvbnRlbnRdID0gUmVhY3QudXNlU3RhdGUoXCJcIik7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IG1lbnVJdGVtID0gcmVmLmN1cnJlbnQ7XG4gICAgICBpZiAobWVudUl0ZW0pIHtcbiAgICAgICAgc2V0VGV4dENvbnRlbnQoKG1lbnVJdGVtLnRleHRDb250ZW50ID8/IFwiXCIpLnRyaW0oKSk7XG4gICAgICB9XG4gICAgfSwgW2l0ZW1Qcm9wcy5jaGlsZHJlbl0pO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgQ29sbGVjdGlvbi5JdGVtU2xvdCxcbiAgICAgIHtcbiAgICAgICAgc2NvcGU6IF9fc2NvcGVNZW51LFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgdGV4dFZhbHVlOiB0ZXh0VmFsdWUgPz8gdGV4dENvbnRlbnQsXG4gICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFJvdmluZ0ZvY3VzR3JvdXAuSXRlbSwgeyBhc0NoaWxkOiB0cnVlLCAuLi5yb3ZpbmdGb2N1c0dyb3VwU2NvcGUsIGZvY3VzYWJsZTogIWRpc2FibGVkLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgICBQcmltaXRpdmUuZGl2LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJvbGU6IFwibWVudWl0ZW1cIixcbiAgICAgICAgICAgIFwiZGF0YS1oaWdobGlnaHRlZFwiOiBpc0ZvY3VzZWQgPyBcIlwiIDogdm9pZCAwLFxuICAgICAgICAgICAgXCJhcmlhLWRpc2FibGVkXCI6IGRpc2FibGVkIHx8IHZvaWQgMCxcbiAgICAgICAgICAgIFwiZGF0YS1kaXNhYmxlZFwiOiBkaXNhYmxlZCA/IFwiXCIgOiB2b2lkIDAsXG4gICAgICAgICAgICAuLi5pdGVtUHJvcHMsXG4gICAgICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgICAgIG9uUG9pbnRlck1vdmU6IGNvbXBvc2VFdmVudEhhbmRsZXJzKFxuICAgICAgICAgICAgICBwcm9wcy5vblBvaW50ZXJNb3ZlLFxuICAgICAgICAgICAgICB3aGVuTW91c2UoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50Q29udGV4dC5vbkl0ZW1MZWF2ZShldmVudCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnRDb250ZXh0Lm9uSXRlbUVudGVyKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgIGlmICghZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG9uUG9pbnRlckxlYXZlOiBjb21wb3NlRXZlbnRIYW5kbGVycyhcbiAgICAgICAgICAgICAgcHJvcHMub25Qb2ludGVyTGVhdmUsXG4gICAgICAgICAgICAgIHdoZW5Nb3VzZSgoZXZlbnQpID0+IGNvbnRlbnRDb250ZXh0Lm9uSXRlbUxlYXZlKGV2ZW50KSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBvbkZvY3VzOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkZvY3VzLCAoKSA9PiBzZXRJc0ZvY3VzZWQodHJ1ZSkpLFxuICAgICAgICAgICAgb25CbHVyOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkJsdXIsICgpID0+IHNldElzRm9jdXNlZChmYWxzZSkpXG4gICAgICAgICAgfVxuICAgICAgICApIH0pXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbnZhciBDSEVDS0JPWF9JVEVNX05BTUUgPSBcIk1lbnVDaGVja2JveEl0ZW1cIjtcbnZhciBNZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IGNoZWNrZWQgPSBmYWxzZSwgb25DaGVja2VkQ2hhbmdlLCAuLi5jaGVja2JveEl0ZW1Qcm9wcyB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goSXRlbUluZGljYXRvclByb3ZpZGVyLCB7IHNjb3BlOiBwcm9wcy5fX3Njb3BlTWVudSwgY2hlY2tlZCwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBNZW51SXRlbSxcbiAgICAgIHtcbiAgICAgICAgcm9sZTogXCJtZW51aXRlbWNoZWNrYm94XCIsXG4gICAgICAgIFwiYXJpYS1jaGVja2VkXCI6IGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkKSA/IFwibWl4ZWRcIiA6IGNoZWNrZWQsXG4gICAgICAgIC4uLmNoZWNrYm94SXRlbVByb3BzLFxuICAgICAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICAgICAgXCJkYXRhLXN0YXRlXCI6IGdldENoZWNrZWRTdGF0ZShjaGVja2VkKSxcbiAgICAgICAgb25TZWxlY3Q6IGNvbXBvc2VFdmVudEhhbmRsZXJzKFxuICAgICAgICAgIGNoZWNrYm94SXRlbVByb3BzLm9uU2VsZWN0LFxuICAgICAgICAgICgpID0+IG9uQ2hlY2tlZENoYW5nZT8uKGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkKSA/IHRydWUgOiAhY2hlY2tlZCksXG4gICAgICAgICAgeyBjaGVja0ZvckRlZmF1bHRQcmV2ZW50ZWQ6IGZhbHNlIH1cbiAgICAgICAgKVxuICAgICAgfVxuICAgICkgfSk7XG4gIH1cbik7XG5NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID0gQ0hFQ0tCT1hfSVRFTV9OQU1FO1xudmFyIFJBRElPX0dST1VQX05BTUUgPSBcIk1lbnVSYWRpb0dyb3VwXCI7XG52YXIgW1JhZGlvR3JvdXBQcm92aWRlciwgdXNlUmFkaW9Hcm91cENvbnRleHRdID0gY3JlYXRlTWVudUNvbnRleHQoXG4gIFJBRElPX0dST1VQX05BTUUsXG4gIHsgdmFsdWU6IHZvaWQgMCwgb25WYWx1ZUNoYW5nZTogKCkgPT4ge1xuICB9IH1cbik7XG52YXIgTWVudVJhZGlvR3JvdXAgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIG9uVmFsdWVDaGFuZ2UsIC4uLmdyb3VwUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGhhbmRsZVZhbHVlQ2hhbmdlID0gdXNlQ2FsbGJhY2tSZWYob25WYWx1ZUNoYW5nZSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUmFkaW9Hcm91cFByb3ZpZGVyLCB7IHNjb3BlOiBwcm9wcy5fX3Njb3BlTWVudSwgdmFsdWUsIG9uVmFsdWVDaGFuZ2U6IGhhbmRsZVZhbHVlQ2hhbmdlLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChNZW51R3JvdXAsIHsgLi4uZ3JvdXBQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSkgfSk7XG4gIH1cbik7XG5NZW51UmFkaW9Hcm91cC5kaXNwbGF5TmFtZSA9IFJBRElPX0dST1VQX05BTUU7XG52YXIgUkFESU9fSVRFTV9OQU1FID0gXCJNZW51UmFkaW9JdGVtXCI7XG52YXIgTWVudVJhZGlvSXRlbSA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZSwgLi4ucmFkaW9JdGVtUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VSYWRpb0dyb3VwQ29udGV4dChSQURJT19JVEVNX05BTUUsIHByb3BzLl9fc2NvcGVNZW51KTtcbiAgICBjb25zdCBjaGVja2VkID0gdmFsdWUgPT09IGNvbnRleHQudmFsdWU7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goSXRlbUluZGljYXRvclByb3ZpZGVyLCB7IHNjb3BlOiBwcm9wcy5fX3Njb3BlTWVudSwgY2hlY2tlZCwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBNZW51SXRlbSxcbiAgICAgIHtcbiAgICAgICAgcm9sZTogXCJtZW51aXRlbXJhZGlvXCIsXG4gICAgICAgIFwiYXJpYS1jaGVja2VkXCI6IGNoZWNrZWQsXG4gICAgICAgIC4uLnJhZGlvSXRlbVByb3BzLFxuICAgICAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICAgICAgXCJkYXRhLXN0YXRlXCI6IGdldENoZWNrZWRTdGF0ZShjaGVja2VkKSxcbiAgICAgICAgb25TZWxlY3Q6IGNvbXBvc2VFdmVudEhhbmRsZXJzKFxuICAgICAgICAgIHJhZGlvSXRlbVByb3BzLm9uU2VsZWN0LFxuICAgICAgICAgICgpID0+IGNvbnRleHQub25WYWx1ZUNoYW5nZT8uKHZhbHVlKSxcbiAgICAgICAgICB7IGNoZWNrRm9yRGVmYXVsdFByZXZlbnRlZDogZmFsc2UgfVxuICAgICAgICApXG4gICAgICB9XG4gICAgKSB9KTtcbiAgfVxuKTtcbk1lbnVSYWRpb0l0ZW0uZGlzcGxheU5hbWUgPSBSQURJT19JVEVNX05BTUU7XG52YXIgSVRFTV9JTkRJQ0FUT1JfTkFNRSA9IFwiTWVudUl0ZW1JbmRpY2F0b3JcIjtcbnZhciBbSXRlbUluZGljYXRvclByb3ZpZGVyLCB1c2VJdGVtSW5kaWNhdG9yQ29udGV4dF0gPSBjcmVhdGVNZW51Q29udGV4dChcbiAgSVRFTV9JTkRJQ0FUT1JfTkFNRSxcbiAgeyBjaGVja2VkOiBmYWxzZSB9XG4pO1xudmFyIE1lbnVJdGVtSW5kaWNhdG9yID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVNZW51LCBmb3JjZU1vdW50LCAuLi5pdGVtSW5kaWNhdG9yUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGluZGljYXRvckNvbnRleHQgPSB1c2VJdGVtSW5kaWNhdG9yQ29udGV4dChJVEVNX0lORElDQVRPUl9OQU1FLCBfX3Njb3BlTWVudSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBQcmVzZW5jZSxcbiAgICAgIHtcbiAgICAgICAgcHJlc2VudDogZm9yY2VNb3VudCB8fCBpc0luZGV0ZXJtaW5hdGUoaW5kaWNhdG9yQ29udGV4dC5jaGVja2VkKSB8fCBpbmRpY2F0b3JDb250ZXh0LmNoZWNrZWQgPT09IHRydWUsXG4gICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICAgIFByaW1pdGl2ZS5zcGFuLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLml0ZW1JbmRpY2F0b3JQcm9wcyxcbiAgICAgICAgICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICAgICAgICAgXCJkYXRhLXN0YXRlXCI6IGdldENoZWNrZWRTdGF0ZShpbmRpY2F0b3JDb250ZXh0LmNoZWNrZWQpXG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbk1lbnVJdGVtSW5kaWNhdG9yLmRpc3BsYXlOYW1lID0gSVRFTV9JTkRJQ0FUT1JfTkFNRTtcbnZhciBTRVBBUkFUT1JfTkFNRSA9IFwiTWVudVNlcGFyYXRvclwiO1xudmFyIE1lbnVTZXBhcmF0b3IgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZU1lbnUsIC4uLnNlcGFyYXRvclByb3BzIH0gPSBwcm9wcztcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFByaW1pdGl2ZS5kaXYsXG4gICAgICB7XG4gICAgICAgIHJvbGU6IFwic2VwYXJhdG9yXCIsXG4gICAgICAgIFwiYXJpYS1vcmllbnRhdGlvblwiOiBcImhvcml6b250YWxcIixcbiAgICAgICAgLi4uc2VwYXJhdG9yUHJvcHMsXG4gICAgICAgIHJlZjogZm9yd2FyZGVkUmVmXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbk1lbnVTZXBhcmF0b3IuZGlzcGxheU5hbWUgPSBTRVBBUkFUT1JfTkFNRTtcbnZhciBBUlJPV19OQU1FID0gXCJNZW51QXJyb3dcIjtcbnZhciBNZW51QXJyb3cgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZU1lbnUsIC4uLmFycm93UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHBvcHBlclNjb3BlID0gdXNlUG9wcGVyU2NvcGUoX19zY29wZU1lbnUpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFBvcHBlclByaW1pdGl2ZS5BcnJvdywgeyAuLi5wb3BwZXJTY29wZSwgLi4uYXJyb3dQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG4gIH1cbik7XG5NZW51QXJyb3cuZGlzcGxheU5hbWUgPSBBUlJPV19OQU1FO1xudmFyIFNVQl9OQU1FID0gXCJNZW51U3ViXCI7XG52YXIgW01lbnVTdWJQcm92aWRlciwgdXNlTWVudVN1YkNvbnRleHRdID0gY3JlYXRlTWVudUNvbnRleHQoU1VCX05BTUUpO1xudmFyIE1lbnVTdWIgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlTWVudSwgY2hpbGRyZW4sIG9wZW4gPSBmYWxzZSwgb25PcGVuQ2hhbmdlIH0gPSBwcm9wcztcbiAgY29uc3QgcGFyZW50TWVudUNvbnRleHQgPSB1c2VNZW51Q29udGV4dChTVUJfTkFNRSwgX19zY29wZU1lbnUpO1xuICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVNZW51KTtcbiAgY29uc3QgW3RyaWdnZXIsIHNldFRyaWdnZXJdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IFtjb250ZW50LCBzZXRDb250ZW50XSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlID0gdXNlQ2FsbGJhY2tSZWYob25PcGVuQ2hhbmdlKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFyZW50TWVudUNvbnRleHQub3BlbiA9PT0gZmFsc2UpIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgIHJldHVybiAoKSA9PiBoYW5kbGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgfSwgW3BhcmVudE1lbnVDb250ZXh0Lm9wZW4sIGhhbmRsZU9wZW5DaGFuZ2VdKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUG9wcGVyUHJpbWl0aXZlLlJvb3QsIHsgLi4ucG9wcGVyU2NvcGUsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgIE1lbnVQcm92aWRlcixcbiAgICB7XG4gICAgICBzY29wZTogX19zY29wZU1lbnUsXG4gICAgICBvcGVuLFxuICAgICAgb25PcGVuQ2hhbmdlOiBoYW5kbGVPcGVuQ2hhbmdlLFxuICAgICAgY29udGVudCxcbiAgICAgIG9uQ29udGVudENoYW5nZTogc2V0Q29udGVudCxcbiAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICBNZW51U3ViUHJvdmlkZXIsXG4gICAgICAgIHtcbiAgICAgICAgICBzY29wZTogX19zY29wZU1lbnUsXG4gICAgICAgICAgY29udGVudElkOiB1c2VJZCgpLFxuICAgICAgICAgIHRyaWdnZXJJZDogdXNlSWQoKSxcbiAgICAgICAgICB0cmlnZ2VyLFxuICAgICAgICAgIG9uVHJpZ2dlckNoYW5nZTogc2V0VHJpZ2dlcixcbiAgICAgICAgICBjaGlsZHJlblxuICAgICAgICB9XG4gICAgICApXG4gICAgfVxuICApIH0pO1xufTtcbk1lbnVTdWIuZGlzcGxheU5hbWUgPSBTVUJfTkFNRTtcbnZhciBTVUJfVFJJR0dFUl9OQU1FID0gXCJNZW51U3ViVHJpZ2dlclwiO1xudmFyIE1lbnVTdWJUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlTWVudUNvbnRleHQoU1VCX1RSSUdHRVJfTkFNRSwgcHJvcHMuX19zY29wZU1lbnUpO1xuICAgIGNvbnN0IHJvb3RDb250ZXh0ID0gdXNlTWVudVJvb3RDb250ZXh0KFNVQl9UUklHR0VSX05BTUUsIHByb3BzLl9fc2NvcGVNZW51KTtcbiAgICBjb25zdCBzdWJDb250ZXh0ID0gdXNlTWVudVN1YkNvbnRleHQoU1VCX1RSSUdHRVJfTkFNRSwgcHJvcHMuX19zY29wZU1lbnUpO1xuICAgIGNvbnN0IGNvbnRlbnRDb250ZXh0ID0gdXNlTWVudUNvbnRlbnRDb250ZXh0KFNVQl9UUklHR0VSX05BTUUsIHByb3BzLl9fc2NvcGVNZW51KTtcbiAgICBjb25zdCBvcGVuVGltZXJSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgeyBwb2ludGVyR3JhY2VUaW1lclJlZiwgb25Qb2ludGVyR3JhY2VJbnRlbnRDaGFuZ2UgfSA9IGNvbnRlbnRDb250ZXh0O1xuICAgIGNvbnN0IHNjb3BlID0geyBfX3Njb3BlTWVudTogcHJvcHMuX19zY29wZU1lbnUgfTtcbiAgICBjb25zdCBjbGVhck9wZW5UaW1lciA9IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIGlmIChvcGVuVGltZXJSZWYuY3VycmVudCkgd2luZG93LmNsZWFyVGltZW91dChvcGVuVGltZXJSZWYuY3VycmVudCk7XG4gICAgICBvcGVuVGltZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfSwgW10pO1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiBjbGVhck9wZW5UaW1lciwgW2NsZWFyT3BlblRpbWVyXSk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHBvaW50ZXJHcmFjZVRpbWVyID0gcG9pbnRlckdyYWNlVGltZXJSZWYuY3VycmVudDtcbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQocG9pbnRlckdyYWNlVGltZXIpO1xuICAgICAgICBvblBvaW50ZXJHcmFjZUludGVudENoYW5nZShudWxsKTtcbiAgICAgIH07XG4gICAgfSwgW3BvaW50ZXJHcmFjZVRpbWVyUmVmLCBvblBvaW50ZXJHcmFjZUludGVudENoYW5nZV0pO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KE1lbnVBbmNob3IsIHsgYXNDaGlsZDogdHJ1ZSwgLi4uc2NvcGUsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgTWVudUl0ZW1JbXBsLFxuICAgICAge1xuICAgICAgICBpZDogc3ViQ29udGV4dC50cmlnZ2VySWQsXG4gICAgICAgIFwiYXJpYS1oYXNwb3B1cFwiOiBcIm1lbnVcIixcbiAgICAgICAgXCJhcmlhLWV4cGFuZGVkXCI6IGNvbnRleHQub3BlbixcbiAgICAgICAgXCJhcmlhLWNvbnRyb2xzXCI6IHN1YkNvbnRleHQuY29udGVudElkLFxuICAgICAgICBcImRhdGEtc3RhdGVcIjogZ2V0T3BlblN0YXRlKGNvbnRleHQub3BlbiksXG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICByZWY6IGNvbXBvc2VSZWZzKGZvcndhcmRlZFJlZiwgc3ViQ29udGV4dC5vblRyaWdnZXJDaGFuZ2UpLFxuICAgICAgICBvbkNsaWNrOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICBwcm9wcy5vbkNsaWNrPy4oZXZlbnQpO1xuICAgICAgICAgIGlmIChwcm9wcy5kaXNhYmxlZCB8fCBldmVudC5kZWZhdWx0UHJldmVudGVkKSByZXR1cm47XG4gICAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5mb2N1cygpO1xuICAgICAgICAgIGlmICghY29udGV4dC5vcGVuKSBjb250ZXh0Lm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Qb2ludGVyTW92ZTogY29tcG9zZUV2ZW50SGFuZGxlcnMoXG4gICAgICAgICAgcHJvcHMub25Qb2ludGVyTW92ZSxcbiAgICAgICAgICB3aGVuTW91c2UoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb250ZW50Q29udGV4dC5vbkl0ZW1FbnRlcihldmVudCk7XG4gICAgICAgICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKCFwcm9wcy5kaXNhYmxlZCAmJiAhY29udGV4dC5vcGVuICYmICFvcGVuVGltZXJSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgICBjb250ZW50Q29udGV4dC5vblBvaW50ZXJHcmFjZUludGVudENoYW5nZShudWxsKTtcbiAgICAgICAgICAgICAgb3BlblRpbWVyUmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICAgICAgY2xlYXJPcGVuVGltZXIoKTtcbiAgICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgICBvblBvaW50ZXJMZWF2ZTogY29tcG9zZUV2ZW50SGFuZGxlcnMoXG4gICAgICAgICAgcHJvcHMub25Qb2ludGVyTGVhdmUsXG4gICAgICAgICAgd2hlbk1vdXNlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgY2xlYXJPcGVuVGltZXIoKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRSZWN0ID0gY29udGV4dC5jb250ZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGlmIChjb250ZW50UmVjdCkge1xuICAgICAgICAgICAgICBjb25zdCBzaWRlID0gY29udGV4dC5jb250ZW50Py5kYXRhc2V0LnNpZGU7XG4gICAgICAgICAgICAgIGNvbnN0IHJpZ2h0U2lkZSA9IHNpZGUgPT09IFwicmlnaHRcIjtcbiAgICAgICAgICAgICAgY29uc3QgYmxlZWQgPSByaWdodFNpZGUgPyAtNSA6IDU7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnROZWFyRWRnZSA9IGNvbnRlbnRSZWN0W3JpZ2h0U2lkZSA/IFwibGVmdFwiIDogXCJyaWdodFwiXTtcbiAgICAgICAgICAgICAgY29uc3QgY29udGVudEZhckVkZ2UgPSBjb250ZW50UmVjdFtyaWdodFNpZGUgPyBcInJpZ2h0XCIgOiBcImxlZnRcIl07XG4gICAgICAgICAgICAgIGNvbnRlbnRDb250ZXh0Lm9uUG9pbnRlckdyYWNlSW50ZW50Q2hhbmdlKHtcbiAgICAgICAgICAgICAgICBhcmVhOiBbXG4gICAgICAgICAgICAgICAgICAvLyBBcHBseSBhIGJsZWVkIG9uIGNsaWVudFggdG8gZW5zdXJlIHRoYXQgb3VyIGV4aXQgcG9pbnQgaXNcbiAgICAgICAgICAgICAgICAgIC8vIGNvbnNpc3RlbnRseSB3aXRoaW4gcG9seWdvbiBib3VuZHNcbiAgICAgICAgICAgICAgICAgIHsgeDogZXZlbnQuY2xpZW50WCArIGJsZWVkLCB5OiBldmVudC5jbGllbnRZIH0sXG4gICAgICAgICAgICAgICAgICB7IHg6IGNvbnRlbnROZWFyRWRnZSwgeTogY29udGVudFJlY3QudG9wIH0sXG4gICAgICAgICAgICAgICAgICB7IHg6IGNvbnRlbnRGYXJFZGdlLCB5OiBjb250ZW50UmVjdC50b3AgfSxcbiAgICAgICAgICAgICAgICAgIHsgeDogY29udGVudEZhckVkZ2UsIHk6IGNvbnRlbnRSZWN0LmJvdHRvbSB9LFxuICAgICAgICAgICAgICAgICAgeyB4OiBjb250ZW50TmVhckVkZ2UsIHk6IGNvbnRlbnRSZWN0LmJvdHRvbSB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBzaWRlXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHBvaW50ZXJHcmFjZVRpbWVyUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgICBwb2ludGVyR3JhY2VUaW1lclJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoXG4gICAgICAgICAgICAgICAgKCkgPT4gY29udGVudENvbnRleHQub25Qb2ludGVyR3JhY2VJbnRlbnRDaGFuZ2UobnVsbCksXG4gICAgICAgICAgICAgICAgMzAwXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb250ZW50Q29udGV4dC5vblRyaWdnZXJMZWF2ZShldmVudCk7XG4gICAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSByZXR1cm47XG4gICAgICAgICAgICAgIGNvbnRlbnRDb250ZXh0Lm9uUG9pbnRlckdyYWNlSW50ZW50Q2hhbmdlKG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICAgIG9uS2V5RG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25LZXlEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBpc1R5cGluZ0FoZWFkID0gY29udGVudENvbnRleHQuc2VhcmNoUmVmLmN1cnJlbnQgIT09IFwiXCI7XG4gICAgICAgICAgaWYgKHByb3BzLmRpc2FibGVkIHx8IGlzVHlwaW5nQWhlYWQgJiYgZXZlbnQua2V5ID09PSBcIiBcIikgcmV0dXJuO1xuICAgICAgICAgIGlmIChTVUJfT1BFTl9LRVlTW3Jvb3RDb250ZXh0LmRpcl0uaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgY29udGV4dC5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICBjb250ZXh0LmNvbnRlbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICApIH0pO1xuICB9XG4pO1xuTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPSBTVUJfVFJJR0dFUl9OQU1FO1xudmFyIFNVQl9DT05URU5UX05BTUUgPSBcIk1lbnVTdWJDb250ZW50XCI7XG52YXIgTWVudVN1YkNvbnRlbnQgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHBvcnRhbENvbnRleHQgPSB1c2VQb3J0YWxDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZU1lbnUpO1xuICAgIGNvbnN0IHsgZm9yY2VNb3VudCA9IHBvcnRhbENvbnRleHQuZm9yY2VNb3VudCwgLi4uc3ViQ29udGVudFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlTWVudUNvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlTWVudSk7XG4gICAgY29uc3Qgcm9vdENvbnRleHQgPSB1c2VNZW51Um9vdENvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlTWVudSk7XG4gICAgY29uc3Qgc3ViQ29udGV4dCA9IHVzZU1lbnVTdWJDb250ZXh0KFNVQl9DT05URU5UX05BTUUsIHByb3BzLl9fc2NvcGVNZW51KTtcbiAgICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgcmVmKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChDb2xsZWN0aW9uLlByb3ZpZGVyLCB7IHNjb3BlOiBwcm9wcy5fX3Njb3BlTWVudSwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUHJlc2VuY2UsIHsgcHJlc2VudDogZm9yY2VNb3VudCB8fCBjb250ZXh0Lm9wZW4sIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KENvbGxlY3Rpb24uU2xvdCwgeyBzY29wZTogcHJvcHMuX19zY29wZU1lbnUsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgTWVudUNvbnRlbnRJbXBsLFxuICAgICAge1xuICAgICAgICBpZDogc3ViQ29udGV4dC5jb250ZW50SWQsXG4gICAgICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHN1YkNvbnRleHQudHJpZ2dlcklkLFxuICAgICAgICAuLi5zdWJDb250ZW50UHJvcHMsXG4gICAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgICBhbGlnbjogXCJzdGFydFwiLFxuICAgICAgICBzaWRlOiByb290Q29udGV4dC5kaXIgPT09IFwicnRsXCIgPyBcImxlZnRcIiA6IFwicmlnaHRcIixcbiAgICAgICAgZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOiBmYWxzZSxcbiAgICAgICAgZGlzYWJsZU91dHNpZGVTY3JvbGw6IGZhbHNlLFxuICAgICAgICB0cmFwRm9jdXM6IGZhbHNlLFxuICAgICAgICBvbk9wZW5BdXRvRm9jdXM6IChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChyb290Q29udGV4dC5pc1VzaW5nS2V5Ym9hcmRSZWYuY3VycmVudCkgcmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DbG9zZUF1dG9Gb2N1czogKGV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICBvbkZvY3VzT3V0c2lkZTogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Gb2N1c091dHNpZGUsIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC50YXJnZXQgIT09IHN1YkNvbnRleHQudHJpZ2dlcikgY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9KSxcbiAgICAgICAgb25Fc2NhcGVLZXlEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkVzY2FwZUtleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgIHJvb3RDb250ZXh0Lm9uQ2xvc2UoKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9KSxcbiAgICAgICAgb25LZXlEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzS2V5RG93bkluc2lkZSA9IGV2ZW50LmN1cnJlbnRUYXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgICBjb25zdCBpc0Nsb3NlS2V5ID0gU1VCX0NMT1NFX0tFWVNbcm9vdENvbnRleHQuZGlyXS5pbmNsdWRlcyhldmVudC5rZXkpO1xuICAgICAgICAgIGlmIChpc0tleURvd25JbnNpZGUgJiYgaXNDbG9zZUtleSkge1xuICAgICAgICAgICAgY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc3ViQ29udGV4dC50cmlnZ2VyPy5mb2N1cygpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgKSB9KSB9KSB9KTtcbiAgfVxuKTtcbk1lbnVTdWJDb250ZW50LmRpc3BsYXlOYW1lID0gU1VCX0NPTlRFTlRfTkFNRTtcbmZ1bmN0aW9uIGdldE9wZW5TdGF0ZShvcGVuKSB7XG4gIHJldHVybiBvcGVuID8gXCJvcGVuXCIgOiBcImNsb3NlZFwiO1xufVxuZnVuY3Rpb24gaXNJbmRldGVybWluYXRlKGNoZWNrZWQpIHtcbiAgcmV0dXJuIGNoZWNrZWQgPT09IFwiaW5kZXRlcm1pbmF0ZVwiO1xufVxuZnVuY3Rpb24gZ2V0Q2hlY2tlZFN0YXRlKGNoZWNrZWQpIHtcbiAgcmV0dXJuIGlzSW5kZXRlcm1pbmF0ZShjaGVja2VkKSA/IFwiaW5kZXRlcm1pbmF0ZVwiIDogY2hlY2tlZCA/IFwiY2hlY2tlZFwiIDogXCJ1bmNoZWNrZWRcIjtcbn1cbmZ1bmN0aW9uIGZvY3VzRmlyc3QoY2FuZGlkYXRlcykge1xuICBjb25zdCBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICBpZiAoY2FuZGlkYXRlID09PSBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCkgcmV0dXJuO1xuICAgIGNhbmRpZGF0ZS5mb2N1cygpO1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCkgcmV0dXJuO1xuICB9XG59XG5mdW5jdGlvbiB3cmFwQXJyYXkoYXJyYXksIHN0YXJ0SW5kZXgpIHtcbiAgcmV0dXJuIGFycmF5Lm1hcCgoXywgaW5kZXgpID0+IGFycmF5WyhzdGFydEluZGV4ICsgaW5kZXgpICUgYXJyYXkubGVuZ3RoXSk7XG59XG5mdW5jdGlvbiBnZXROZXh0TWF0Y2godmFsdWVzLCBzZWFyY2gsIGN1cnJlbnRNYXRjaCkge1xuICBjb25zdCBpc1JlcGVhdGVkID0gc2VhcmNoLmxlbmd0aCA+IDEgJiYgQXJyYXkuZnJvbShzZWFyY2gpLmV2ZXJ5KChjaGFyKSA9PiBjaGFyID09PSBzZWFyY2hbMF0pO1xuICBjb25zdCBub3JtYWxpemVkU2VhcmNoID0gaXNSZXBlYXRlZCA/IHNlYXJjaFswXSA6IHNlYXJjaDtcbiAgY29uc3QgY3VycmVudE1hdGNoSW5kZXggPSBjdXJyZW50TWF0Y2ggPyB2YWx1ZXMuaW5kZXhPZihjdXJyZW50TWF0Y2gpIDogLTE7XG4gIGxldCB3cmFwcGVkVmFsdWVzID0gd3JhcEFycmF5KHZhbHVlcywgTWF0aC5tYXgoY3VycmVudE1hdGNoSW5kZXgsIDApKTtcbiAgY29uc3QgZXhjbHVkZUN1cnJlbnRNYXRjaCA9IG5vcm1hbGl6ZWRTZWFyY2gubGVuZ3RoID09PSAxO1xuICBpZiAoZXhjbHVkZUN1cnJlbnRNYXRjaCkgd3JhcHBlZFZhbHVlcyA9IHdyYXBwZWRWYWx1ZXMuZmlsdGVyKCh2KSA9PiB2ICE9PSBjdXJyZW50TWF0Y2gpO1xuICBjb25zdCBuZXh0TWF0Y2ggPSB3cmFwcGVkVmFsdWVzLmZpbmQoXG4gICAgKHZhbHVlKSA9PiB2YWx1ZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgobm9ybWFsaXplZFNlYXJjaC50b0xvd2VyQ2FzZSgpKVxuICApO1xuICByZXR1cm4gbmV4dE1hdGNoICE9PSBjdXJyZW50TWF0Y2ggPyBuZXh0TWF0Y2ggOiB2b2lkIDA7XG59XG5mdW5jdGlvbiBpc1BvaW50SW5Qb2x5Z29uKHBvaW50LCBwb2x5Z29uKSB7XG4gIGNvbnN0IHsgeCwgeSB9ID0gcG9pbnQ7XG4gIGxldCBpbnNpZGUgPSBmYWxzZTtcbiAgZm9yIChsZXQgaSA9IDAsIGogPSBwb2x5Z29uLmxlbmd0aCAtIDE7IGkgPCBwb2x5Z29uLmxlbmd0aDsgaiA9IGkrKykge1xuICAgIGNvbnN0IHhpID0gcG9seWdvbltpXS54O1xuICAgIGNvbnN0IHlpID0gcG9seWdvbltpXS55O1xuICAgIGNvbnN0IHhqID0gcG9seWdvbltqXS54O1xuICAgIGNvbnN0IHlqID0gcG9seWdvbltqXS55O1xuICAgIGNvbnN0IGludGVyc2VjdCA9IHlpID4geSAhPT0geWogPiB5ICYmIHggPCAoeGogLSB4aSkgKiAoeSAtIHlpKSAvICh5aiAtIHlpKSArIHhpO1xuICAgIGlmIChpbnRlcnNlY3QpIGluc2lkZSA9ICFpbnNpZGU7XG4gIH1cbiAgcmV0dXJuIGluc2lkZTtcbn1cbmZ1bmN0aW9uIGlzUG9pbnRlckluR3JhY2VBcmVhKGV2ZW50LCBhcmVhKSB7XG4gIGlmICghYXJlYSkgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBjdXJzb3JQb3MgPSB7IHg6IGV2ZW50LmNsaWVudFgsIHk6IGV2ZW50LmNsaWVudFkgfTtcbiAgcmV0dXJuIGlzUG9pbnRJblBvbHlnb24oY3Vyc29yUG9zLCBhcmVhKTtcbn1cbmZ1bmN0aW9uIHdoZW5Nb3VzZShoYW5kbGVyKSB7XG4gIHJldHVybiAoZXZlbnQpID0+IGV2ZW50LnBvaW50ZXJUeXBlID09PSBcIm1vdXNlXCIgPyBoYW5kbGVyKGV2ZW50KSA6IHZvaWQgMDtcbn1cbnZhciBSb290MyA9IE1lbnU7XG52YXIgQW5jaG9yMiA9IE1lbnVBbmNob3I7XG52YXIgUG9ydGFsID0gTWVudVBvcnRhbDtcbnZhciBDb250ZW50MiA9IE1lbnVDb250ZW50O1xudmFyIEdyb3VwID0gTWVudUdyb3VwO1xudmFyIExhYmVsID0gTWVudUxhYmVsO1xudmFyIEl0ZW0yID0gTWVudUl0ZW07XG52YXIgQ2hlY2tib3hJdGVtID0gTWVudUNoZWNrYm94SXRlbTtcbnZhciBSYWRpb0dyb3VwID0gTWVudVJhZGlvR3JvdXA7XG52YXIgUmFkaW9JdGVtID0gTWVudVJhZGlvSXRlbTtcbnZhciBJdGVtSW5kaWNhdG9yID0gTWVudUl0ZW1JbmRpY2F0b3I7XG52YXIgU2VwYXJhdG9yID0gTWVudVNlcGFyYXRvcjtcbnZhciBBcnJvdzIgPSBNZW51QXJyb3c7XG52YXIgU3ViID0gTWVudVN1YjtcbnZhciBTdWJUcmlnZ2VyID0gTWVudVN1YlRyaWdnZXI7XG52YXIgU3ViQ29udGVudCA9IE1lbnVTdWJDb250ZW50O1xuZXhwb3J0IHtcbiAgQW5jaG9yMiBhcyBBbmNob3IsXG4gIEFycm93MiBhcyBBcnJvdyxcbiAgQ2hlY2tib3hJdGVtLFxuICBDb250ZW50MiBhcyBDb250ZW50LFxuICBHcm91cCxcbiAgSXRlbTIgYXMgSXRlbSxcbiAgSXRlbUluZGljYXRvcixcbiAgTGFiZWwsXG4gIE1lbnUsXG4gIE1lbnVBbmNob3IsXG4gIE1lbnVBcnJvdyxcbiAgTWVudUNoZWNrYm94SXRlbSxcbiAgTWVudUNvbnRlbnQsXG4gIE1lbnVHcm91cCxcbiAgTWVudUl0ZW0sXG4gIE1lbnVJdGVtSW5kaWNhdG9yLFxuICBNZW51TGFiZWwsXG4gIE1lbnVQb3J0YWwsXG4gIE1lbnVSYWRpb0dyb3VwLFxuICBNZW51UmFkaW9JdGVtLFxuICBNZW51U2VwYXJhdG9yLFxuICBNZW51U3ViLFxuICBNZW51U3ViQ29udGVudCxcbiAgTWVudVN1YlRyaWdnZXIsXG4gIFBvcnRhbCxcbiAgUmFkaW9Hcm91cCxcbiAgUmFkaW9JdGVtLFxuICBSb290MyBhcyBSb290LFxuICBTZXBhcmF0b3IsXG4gIFN1YixcbiAgU3ViQ29udGVudCxcbiAgU3ViVHJpZ2dlcixcbiAgY3JlYXRlTWVudVNjb3BlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiXCJ1c2UgY2xpZW50XCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L2Ryb3Bkb3duLW1lbnUvc3JjL2Ryb3Bkb3duLW1lbnUudHN4XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNvbXBvc2VFdmVudEhhbmRsZXJzIH0gZnJvbSBcIkByYWRpeC11aS9wcmltaXRpdmVcIjtcbmltcG9ydCB7IGNvbXBvc2VSZWZzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnNcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxhYmxlU3RhdGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGVcIjtcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlXCI7XG5pbXBvcnQgKiBhcyBNZW51UHJpbWl0aXZlIGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtbWVudVwiO1xuaW1wb3J0IHsgY3JlYXRlTWVudVNjb3BlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1tZW51XCI7XG5pbXBvcnQgeyB1c2VJZCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtaWRcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIERST1BET1dOX01FTlVfTkFNRSA9IFwiRHJvcGRvd25NZW51XCI7XG52YXIgW2NyZWF0ZURyb3Bkb3duTWVudUNvbnRleHQsIGNyZWF0ZURyb3Bkb3duTWVudVNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShcbiAgRFJPUERPV05fTUVOVV9OQU1FLFxuICBbY3JlYXRlTWVudVNjb3BlXVxuKTtcbnZhciB1c2VNZW51U2NvcGUgPSBjcmVhdGVNZW51U2NvcGUoKTtcbnZhciBbRHJvcGRvd25NZW51UHJvdmlkZXIsIHVzZURyb3Bkb3duTWVudUNvbnRleHRdID0gY3JlYXRlRHJvcGRvd25NZW51Q29udGV4dChEUk9QRE9XTl9NRU5VX05BTUUpO1xudmFyIERyb3Bkb3duTWVudSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgX19zY29wZURyb3Bkb3duTWVudSxcbiAgICBjaGlsZHJlbixcbiAgICBkaXIsXG4gICAgb3Blbjogb3BlblByb3AsXG4gICAgZGVmYXVsdE9wZW4sXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIG1vZGFsID0gdHJ1ZVxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IG1lbnVTY29wZSA9IHVzZU1lbnVTY29wZShfX3Njb3BlRHJvcGRvd25NZW51KTtcbiAgY29uc3QgdHJpZ2dlclJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgW29wZW4gPSBmYWxzZSwgc2V0T3Blbl0gPSB1c2VDb250cm9sbGFibGVTdGF0ZSh7XG4gICAgcHJvcDogb3BlblByb3AsXG4gICAgZGVmYXVsdFByb3A6IGRlZmF1bHRPcGVuLFxuICAgIG9uQ2hhbmdlOiBvbk9wZW5DaGFuZ2VcbiAgfSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgIERyb3Bkb3duTWVudVByb3ZpZGVyLFxuICAgIHtcbiAgICAgIHNjb3BlOiBfX3Njb3BlRHJvcGRvd25NZW51LFxuICAgICAgdHJpZ2dlcklkOiB1c2VJZCgpLFxuICAgICAgdHJpZ2dlclJlZixcbiAgICAgIGNvbnRlbnRJZDogdXNlSWQoKSxcbiAgICAgIG9wZW4sXG4gICAgICBvbk9wZW5DaGFuZ2U6IHNldE9wZW4sXG4gICAgICBvbk9wZW5Ub2dnbGU6IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHNldE9wZW4oKHByZXZPcGVuKSA9PiAhcHJldk9wZW4pLCBbc2V0T3Blbl0pLFxuICAgICAgbW9kYWwsXG4gICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChNZW51UHJpbWl0aXZlLlJvb3QsIHsgLi4ubWVudVNjb3BlLCBvcGVuLCBvbk9wZW5DaGFuZ2U6IHNldE9wZW4sIGRpciwgbW9kYWwsIGNoaWxkcmVuIH0pXG4gICAgfVxuICApO1xufTtcbkRyb3Bkb3duTWVudS5kaXNwbGF5TmFtZSA9IERST1BET1dOX01FTlVfTkFNRTtcbnZhciBUUklHR0VSX05BTUUgPSBcIkRyb3Bkb3duTWVudVRyaWdnZXJcIjtcbnZhciBEcm9wZG93bk1lbnVUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVEcm9wZG93bk1lbnUsIGRpc2FibGVkID0gZmFsc2UsIC4uLnRyaWdnZXJQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURyb3Bkb3duTWVudUNvbnRleHQoVFJJR0dFUl9OQU1FLCBfX3Njb3BlRHJvcGRvd25NZW51KTtcbiAgICBjb25zdCBtZW51U2NvcGUgPSB1c2VNZW51U2NvcGUoX19zY29wZURyb3Bkb3duTWVudSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTWVudVByaW1pdGl2ZS5BbmNob3IsIHsgYXNDaGlsZDogdHJ1ZSwgLi4ubWVudVNjb3BlLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFByaW1pdGl2ZS5idXR0b24sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIGlkOiBjb250ZXh0LnRyaWdnZXJJZCxcbiAgICAgICAgXCJhcmlhLWhhc3BvcHVwXCI6IFwibWVudVwiLFxuICAgICAgICBcImFyaWEtZXhwYW5kZWRcIjogY29udGV4dC5vcGVuLFxuICAgICAgICBcImFyaWEtY29udHJvbHNcIjogY29udGV4dC5vcGVuID8gY29udGV4dC5jb250ZW50SWQgOiB2b2lkIDAsXG4gICAgICAgIFwiZGF0YS1zdGF0ZVwiOiBjb250ZXh0Lm9wZW4gPyBcIm9wZW5cIiA6IFwiY2xvc2VkXCIsXG4gICAgICAgIFwiZGF0YS1kaXNhYmxlZFwiOiBkaXNhYmxlZCA/IFwiXCIgOiB2b2lkIDAsXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICAuLi50cmlnZ2VyUHJvcHMsXG4gICAgICAgIHJlZjogY29tcG9zZVJlZnMoZm9yd2FyZGVkUmVmLCBjb250ZXh0LnRyaWdnZXJSZWYpLFxuICAgICAgICBvblBvaW50ZXJEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vblBvaW50ZXJEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoIWRpc2FibGVkICYmIGV2ZW50LmJ1dHRvbiA9PT0gMCAmJiBldmVudC5jdHJsS2V5ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgY29udGV4dC5vbk9wZW5Ub2dnbGUoKTtcbiAgICAgICAgICAgIGlmICghY29udGV4dC5vcGVuKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIG9uS2V5RG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25LZXlEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZGlzYWJsZWQpIHJldHVybjtcbiAgICAgICAgICBpZiAoW1wiRW50ZXJcIiwgXCIgXCJdLmluY2x1ZGVzKGV2ZW50LmtleSkpIGNvbnRleHQub25PcGVuVG9nZ2xlKCk7XG4gICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gXCJBcnJvd0Rvd25cIikgY29udGV4dC5vbk9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgaWYgKFtcIkVudGVyXCIsIFwiIFwiLCBcIkFycm93RG93blwiXS5pbmNsdWRlcyhldmVudC5rZXkpKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9KVxuICAgICAgfVxuICAgICkgfSk7XG4gIH1cbik7XG5Ecm9wZG93bk1lbnVUcmlnZ2VyLmRpc3BsYXlOYW1lID0gVFJJR0dFUl9OQU1FO1xudmFyIFBPUlRBTF9OQU1FID0gXCJEcm9wZG93bk1lbnVQb3J0YWxcIjtcbnZhciBEcm9wZG93bk1lbnVQb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlRHJvcGRvd25NZW51LCAuLi5wb3J0YWxQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IG1lbnVTY29wZSA9IHVzZU1lbnVTY29wZShfX3Njb3BlRHJvcGRvd25NZW51KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTWVudVByaW1pdGl2ZS5Qb3J0YWwsIHsgLi4ubWVudVNjb3BlLCAuLi5wb3J0YWxQcm9wcyB9KTtcbn07XG5Ecm9wZG93bk1lbnVQb3J0YWwuZGlzcGxheU5hbWUgPSBQT1JUQUxfTkFNRTtcbnZhciBDT05URU5UX05BTUUgPSBcIkRyb3Bkb3duTWVudUNvbnRlbnRcIjtcbnZhciBEcm9wZG93bk1lbnVDb250ZW50ID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVEcm9wZG93bk1lbnUsIC4uLmNvbnRlbnRQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZURyb3Bkb3duTWVudUNvbnRleHQoQ09OVEVOVF9OQU1FLCBfX3Njb3BlRHJvcGRvd25NZW51KTtcbiAgICBjb25zdCBtZW51U2NvcGUgPSB1c2VNZW51U2NvcGUoX19zY29wZURyb3Bkb3duTWVudSk7XG4gICAgY29uc3QgaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgTWVudVByaW1pdGl2ZS5Db250ZW50LFxuICAgICAge1xuICAgICAgICBpZDogY29udGV4dC5jb250ZW50SWQsXG4gICAgICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IGNvbnRleHQudHJpZ2dlcklkLFxuICAgICAgICAuLi5tZW51U2NvcGUsXG4gICAgICAgIC4uLmNvbnRlbnRQcm9wcyxcbiAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgIG9uQ2xvc2VBdXRvRm9jdXM6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQ2xvc2VBdXRvRm9jdXMsIChldmVudCkgPT4ge1xuICAgICAgICAgIGlmICghaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYuY3VycmVudCkgY29udGV4dC50cmlnZ2VyUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICAgICAgaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0pLFxuICAgICAgICBvbkludGVyYWN0T3V0c2lkZTogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25JbnRlcmFjdE91dHNpZGUsIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsRXZlbnQgPSBldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudDtcbiAgICAgICAgICBjb25zdCBjdHJsTGVmdENsaWNrID0gb3JpZ2luYWxFdmVudC5idXR0b24gPT09IDAgJiYgb3JpZ2luYWxFdmVudC5jdHJsS2V5ID09PSB0cnVlO1xuICAgICAgICAgIGNvbnN0IGlzUmlnaHRDbGljayA9IG9yaWdpbmFsRXZlbnQuYnV0dG9uID09PSAyIHx8IGN0cmxMZWZ0Q2xpY2s7XG4gICAgICAgICAgaWYgKCFjb250ZXh0Lm1vZGFsIHx8IGlzUmlnaHRDbGljaykgaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIH0pLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIC4uLnByb3BzLnN0eWxlLFxuICAgICAgICAgIC8vIHJlLW5hbWVzcGFjZSBleHBvc2VkIGNvbnRlbnQgY3VzdG9tIHByb3BlcnRpZXNcbiAgICAgICAgICAuLi57XG4gICAgICAgICAgICBcIi0tcmFkaXgtZHJvcGRvd24tbWVudS1jb250ZW50LXRyYW5zZm9ybS1vcmlnaW5cIjogXCJ2YXIoLS1yYWRpeC1wb3BwZXItdHJhbnNmb3JtLW9yaWdpbilcIixcbiAgICAgICAgICAgIFwiLS1yYWRpeC1kcm9wZG93bi1tZW51LWNvbnRlbnQtYXZhaWxhYmxlLXdpZHRoXCI6IFwidmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS13aWR0aClcIixcbiAgICAgICAgICAgIFwiLS1yYWRpeC1kcm9wZG93bi1tZW51LWNvbnRlbnQtYXZhaWxhYmxlLWhlaWdodFwiOiBcInZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtaGVpZ2h0KVwiLFxuICAgICAgICAgICAgXCItLXJhZGl4LWRyb3Bkb3duLW1lbnUtdHJpZ2dlci13aWR0aFwiOiBcInZhcigtLXJhZGl4LXBvcHBlci1hbmNob3Itd2lkdGgpXCIsXG4gICAgICAgICAgICBcIi0tcmFkaXgtZHJvcGRvd24tbWVudS10cmlnZ2VyLWhlaWdodFwiOiBcInZhcigtLXJhZGl4LXBvcHBlci1hbmNob3ItaGVpZ2h0KVwiXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbkRyb3Bkb3duTWVudUNvbnRlbnQuZGlzcGxheU5hbWUgPSBDT05URU5UX05BTUU7XG52YXIgR1JPVVBfTkFNRSA9IFwiRHJvcGRvd25NZW51R3JvdXBcIjtcbnZhciBEcm9wZG93bk1lbnVHcm91cCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlRHJvcGRvd25NZW51LCAuLi5ncm91cFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBtZW51U2NvcGUgPSB1c2VNZW51U2NvcGUoX19zY29wZURyb3Bkb3duTWVudSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTWVudVByaW1pdGl2ZS5Hcm91cCwgeyAuLi5tZW51U2NvcGUsIC4uLmdyb3VwUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xuICB9XG4pO1xuRHJvcGRvd25NZW51R3JvdXAuZGlzcGxheU5hbWUgPSBHUk9VUF9OQU1FO1xudmFyIExBQkVMX05BTUUgPSBcIkRyb3Bkb3duTWVudUxhYmVsXCI7XG52YXIgRHJvcGRvd25NZW51TGFiZWwgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZURyb3Bkb3duTWVudSwgLi4ubGFiZWxQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgbWVudVNjb3BlID0gdXNlTWVudVNjb3BlKF9fc2NvcGVEcm9wZG93bk1lbnUpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KE1lbnVQcmltaXRpdmUuTGFiZWwsIHsgLi4ubWVudVNjb3BlLCAuLi5sYWJlbFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbiAgfVxuKTtcbkRyb3Bkb3duTWVudUxhYmVsLmRpc3BsYXlOYW1lID0gTEFCRUxfTkFNRTtcbnZhciBJVEVNX05BTUUgPSBcIkRyb3Bkb3duTWVudUl0ZW1cIjtcbnZhciBEcm9wZG93bk1lbnVJdGVtID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVEcm9wZG93bk1lbnUsIC4uLml0ZW1Qcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgbWVudVNjb3BlID0gdXNlTWVudVNjb3BlKF9fc2NvcGVEcm9wZG93bk1lbnUpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KE1lbnVQcmltaXRpdmUuSXRlbSwgeyAuLi5tZW51U2NvcGUsIC4uLml0ZW1Qcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG4gIH1cbik7XG5Ecm9wZG93bk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gSVRFTV9OQU1FO1xudmFyIENIRUNLQk9YX0lURU1fTkFNRSA9IFwiRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtXCI7XG52YXIgRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7IF9fc2NvcGVEcm9wZG93bk1lbnUsIC4uLmNoZWNrYm94SXRlbVByb3BzIH0gPSBwcm9wcztcbiAgY29uc3QgbWVudVNjb3BlID0gdXNlTWVudVNjb3BlKF9fc2NvcGVEcm9wZG93bk1lbnUpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChNZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbSwgeyAuLi5tZW51U2NvcGUsIC4uLmNoZWNrYm94SXRlbVByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbn0pO1xuRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtLmRpc3BsYXlOYW1lID0gQ0hFQ0tCT1hfSVRFTV9OQU1FO1xudmFyIFJBRElPX0dST1VQX05BTUUgPSBcIkRyb3Bkb3duTWVudVJhZGlvR3JvdXBcIjtcbnZhciBEcm9wZG93bk1lbnVSYWRpb0dyb3VwID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7IF9fc2NvcGVEcm9wZG93bk1lbnUsIC4uLnJhZGlvR3JvdXBQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IG1lbnVTY29wZSA9IHVzZU1lbnVTY29wZShfX3Njb3BlRHJvcGRvd25NZW51KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTWVudVByaW1pdGl2ZS5SYWRpb0dyb3VwLCB7IC4uLm1lbnVTY29wZSwgLi4ucmFkaW9Hcm91cFByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbn0pO1xuRHJvcGRvd25NZW51UmFkaW9Hcm91cC5kaXNwbGF5TmFtZSA9IFJBRElPX0dST1VQX05BTUU7XG52YXIgUkFESU9fSVRFTV9OQU1FID0gXCJEcm9wZG93bk1lbnVSYWRpb0l0ZW1cIjtcbnZhciBEcm9wZG93bk1lbnVSYWRpb0l0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgX19zY29wZURyb3Bkb3duTWVudSwgLi4ucmFkaW9JdGVtUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCBtZW51U2NvcGUgPSB1c2VNZW51U2NvcGUoX19zY29wZURyb3Bkb3duTWVudSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KE1lbnVQcmltaXRpdmUuUmFkaW9JdGVtLCB7IC4uLm1lbnVTY29wZSwgLi4ucmFkaW9JdGVtUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xufSk7XG5Ecm9wZG93bk1lbnVSYWRpb0l0ZW0uZGlzcGxheU5hbWUgPSBSQURJT19JVEVNX05BTUU7XG52YXIgSU5ESUNBVE9SX05BTUUgPSBcIkRyb3Bkb3duTWVudUl0ZW1JbmRpY2F0b3JcIjtcbnZhciBEcm9wZG93bk1lbnVJdGVtSW5kaWNhdG9yID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7IF9fc2NvcGVEcm9wZG93bk1lbnUsIC4uLml0ZW1JbmRpY2F0b3JQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IG1lbnVTY29wZSA9IHVzZU1lbnVTY29wZShfX3Njb3BlRHJvcGRvd25NZW51KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yLCB7IC4uLm1lbnVTY29wZSwgLi4uaXRlbUluZGljYXRvclByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbn0pO1xuRHJvcGRvd25NZW51SXRlbUluZGljYXRvci5kaXNwbGF5TmFtZSA9IElORElDQVRPUl9OQU1FO1xudmFyIFNFUEFSQVRPUl9OQU1FID0gXCJEcm9wZG93bk1lbnVTZXBhcmF0b3JcIjtcbnZhciBEcm9wZG93bk1lbnVTZXBhcmF0b3IgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHsgX19zY29wZURyb3Bkb3duTWVudSwgLi4uc2VwYXJhdG9yUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCBtZW51U2NvcGUgPSB1c2VNZW51U2NvcGUoX19zY29wZURyb3Bkb3duTWVudSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KE1lbnVQcmltaXRpdmUuU2VwYXJhdG9yLCB7IC4uLm1lbnVTY29wZSwgLi4uc2VwYXJhdG9yUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xufSk7XG5Ecm9wZG93bk1lbnVTZXBhcmF0b3IuZGlzcGxheU5hbWUgPSBTRVBBUkFUT1JfTkFNRTtcbnZhciBBUlJPV19OQU1FID0gXCJEcm9wZG93bk1lbnVBcnJvd1wiO1xudmFyIERyb3Bkb3duTWVudUFycm93ID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVEcm9wZG93bk1lbnUsIC4uLmFycm93UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IG1lbnVTY29wZSA9IHVzZU1lbnVTY29wZShfX3Njb3BlRHJvcGRvd25NZW51KTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChNZW51UHJpbWl0aXZlLkFycm93LCB7IC4uLm1lbnVTY29wZSwgLi4uYXJyb3dQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG4gIH1cbik7XG5Ecm9wZG93bk1lbnVBcnJvdy5kaXNwbGF5TmFtZSA9IEFSUk9XX05BTUU7XG52YXIgRHJvcGRvd25NZW51U3ViID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgX19zY29wZURyb3Bkb3duTWVudSwgY2hpbGRyZW4sIG9wZW46IG9wZW5Qcm9wLCBvbk9wZW5DaGFuZ2UsIGRlZmF1bHRPcGVuIH0gPSBwcm9wcztcbiAgY29uc3QgbWVudVNjb3BlID0gdXNlTWVudVNjb3BlKF9fc2NvcGVEcm9wZG93bk1lbnUpO1xuICBjb25zdCBbb3BlbiA9IGZhbHNlLCBzZXRPcGVuXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICBwcm9wOiBvcGVuUHJvcCxcbiAgICBkZWZhdWx0UHJvcDogZGVmYXVsdE9wZW4sXG4gICAgb25DaGFuZ2U6IG9uT3BlbkNoYW5nZVxuICB9KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goTWVudVByaW1pdGl2ZS5TdWIsIHsgLi4ubWVudVNjb3BlLCBvcGVuLCBvbk9wZW5DaGFuZ2U6IHNldE9wZW4sIGNoaWxkcmVuIH0pO1xufTtcbnZhciBTVUJfVFJJR0dFUl9OQU1FID0gXCJEcm9wZG93bk1lbnVTdWJUcmlnZ2VyXCI7XG52YXIgRHJvcGRvd25NZW51U3ViVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlRHJvcGRvd25NZW51LCAuLi5zdWJUcmlnZ2VyUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCBtZW51U2NvcGUgPSB1c2VNZW51U2NvcGUoX19zY29wZURyb3Bkb3duTWVudSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KE1lbnVQcmltaXRpdmUuU3ViVHJpZ2dlciwgeyAuLi5tZW51U2NvcGUsIC4uLnN1YlRyaWdnZXJQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG59KTtcbkRyb3Bkb3duTWVudVN1YlRyaWdnZXIuZGlzcGxheU5hbWUgPSBTVUJfVFJJR0dFUl9OQU1FO1xudmFyIFNVQl9DT05URU5UX05BTUUgPSBcIkRyb3Bkb3duTWVudVN1YkNvbnRlbnRcIjtcbnZhciBEcm9wZG93bk1lbnVTdWJDb250ZW50ID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7IF9fc2NvcGVEcm9wZG93bk1lbnUsIC4uLnN1YkNvbnRlbnRQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IG1lbnVTY29wZSA9IHVzZU1lbnVTY29wZShfX3Njb3BlRHJvcGRvd25NZW51KTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgTWVudVByaW1pdGl2ZS5TdWJDb250ZW50LFxuICAgIHtcbiAgICAgIC4uLm1lbnVTY29wZSxcbiAgICAgIC4uLnN1YkNvbnRlbnRQcm9wcyxcbiAgICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgLi4ucHJvcHMuc3R5bGUsXG4gICAgICAgIC8vIHJlLW5hbWVzcGFjZSBleHBvc2VkIGNvbnRlbnQgY3VzdG9tIHByb3BlcnRpZXNcbiAgICAgICAgLi4ue1xuICAgICAgICAgIFwiLS1yYWRpeC1kcm9wZG93bi1tZW51LWNvbnRlbnQtdHJhbnNmb3JtLW9yaWdpblwiOiBcInZhcigtLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luKVwiLFxuICAgICAgICAgIFwiLS1yYWRpeC1kcm9wZG93bi1tZW51LWNvbnRlbnQtYXZhaWxhYmxlLXdpZHRoXCI6IFwidmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS13aWR0aClcIixcbiAgICAgICAgICBcIi0tcmFkaXgtZHJvcGRvd24tbWVudS1jb250ZW50LWF2YWlsYWJsZS1oZWlnaHRcIjogXCJ2YXIoLS1yYWRpeC1wb3BwZXItYXZhaWxhYmxlLWhlaWdodClcIixcbiAgICAgICAgICBcIi0tcmFkaXgtZHJvcGRvd24tbWVudS10cmlnZ2VyLXdpZHRoXCI6IFwidmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aClcIixcbiAgICAgICAgICBcIi0tcmFkaXgtZHJvcGRvd24tbWVudS10cmlnZ2VyLWhlaWdodFwiOiBcInZhcigtLXJhZGl4LXBvcHBlci1hbmNob3ItaGVpZ2h0KVwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICk7XG59KTtcbkRyb3Bkb3duTWVudVN1YkNvbnRlbnQuZGlzcGxheU5hbWUgPSBTVUJfQ09OVEVOVF9OQU1FO1xudmFyIFJvb3QyID0gRHJvcGRvd25NZW51O1xudmFyIFRyaWdnZXIgPSBEcm9wZG93bk1lbnVUcmlnZ2VyO1xudmFyIFBvcnRhbDIgPSBEcm9wZG93bk1lbnVQb3J0YWw7XG52YXIgQ29udGVudDIgPSBEcm9wZG93bk1lbnVDb250ZW50O1xudmFyIEdyb3VwMiA9IERyb3Bkb3duTWVudUdyb3VwO1xudmFyIExhYmVsMiA9IERyb3Bkb3duTWVudUxhYmVsO1xudmFyIEl0ZW0yID0gRHJvcGRvd25NZW51SXRlbTtcbnZhciBDaGVja2JveEl0ZW0yID0gRHJvcGRvd25NZW51Q2hlY2tib3hJdGVtO1xudmFyIFJhZGlvR3JvdXAyID0gRHJvcGRvd25NZW51UmFkaW9Hcm91cDtcbnZhciBSYWRpb0l0ZW0yID0gRHJvcGRvd25NZW51UmFkaW9JdGVtO1xudmFyIEl0ZW1JbmRpY2F0b3IyID0gRHJvcGRvd25NZW51SXRlbUluZGljYXRvcjtcbnZhciBTZXBhcmF0b3IyID0gRHJvcGRvd25NZW51U2VwYXJhdG9yO1xudmFyIEFycm93MiA9IERyb3Bkb3duTWVudUFycm93O1xudmFyIFN1YjIgPSBEcm9wZG93bk1lbnVTdWI7XG52YXIgU3ViVHJpZ2dlcjIgPSBEcm9wZG93bk1lbnVTdWJUcmlnZ2VyO1xudmFyIFN1YkNvbnRlbnQyID0gRHJvcGRvd25NZW51U3ViQ29udGVudDtcbmV4cG9ydCB7XG4gIEFycm93MiBhcyBBcnJvdyxcbiAgQ2hlY2tib3hJdGVtMiBhcyBDaGVja2JveEl0ZW0sXG4gIENvbnRlbnQyIGFzIENvbnRlbnQsXG4gIERyb3Bkb3duTWVudSxcbiAgRHJvcGRvd25NZW51QXJyb3csXG4gIERyb3Bkb3duTWVudUNoZWNrYm94SXRlbSxcbiAgRHJvcGRvd25NZW51Q29udGVudCxcbiAgRHJvcGRvd25NZW51R3JvdXAsXG4gIERyb3Bkb3duTWVudUl0ZW0sXG4gIERyb3Bkb3duTWVudUl0ZW1JbmRpY2F0b3IsXG4gIERyb3Bkb3duTWVudUxhYmVsLFxuICBEcm9wZG93bk1lbnVQb3J0YWwsXG4gIERyb3Bkb3duTWVudVJhZGlvR3JvdXAsXG4gIERyb3Bkb3duTWVudVJhZGlvSXRlbSxcbiAgRHJvcGRvd25NZW51U2VwYXJhdG9yLFxuICBEcm9wZG93bk1lbnVTdWIsXG4gIERyb3Bkb3duTWVudVN1YkNvbnRlbnQsXG4gIERyb3Bkb3duTWVudVN1YlRyaWdnZXIsXG4gIERyb3Bkb3duTWVudVRyaWdnZXIsXG4gIEdyb3VwMiBhcyBHcm91cCxcbiAgSXRlbTIgYXMgSXRlbSxcbiAgSXRlbUluZGljYXRvcjIgYXMgSXRlbUluZGljYXRvcixcbiAgTGFiZWwyIGFzIExhYmVsLFxuICBQb3J0YWwyIGFzIFBvcnRhbCxcbiAgUmFkaW9Hcm91cDIgYXMgUmFkaW9Hcm91cCxcbiAgUmFkaW9JdGVtMiBhcyBSYWRpb0l0ZW0sXG4gIFJvb3QyIGFzIFJvb3QsXG4gIFNlcGFyYXRvcjIgYXMgU2VwYXJhdG9yLFxuICBTdWIyIGFzIFN1YixcbiAgU3ViQ29udGVudDIgYXMgU3ViQ29udGVudCxcbiAgU3ViVHJpZ2dlcjIgYXMgU3ViVHJpZ2dlcixcbiAgVHJpZ2dlcixcbiAgY3JlYXRlRHJvcGRvd25NZW51U2NvcGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsIlwidXNlIGNsaWVudFwiO1xuXG4vLyBwYWNrYWdlcy9yZWFjdC9wb3BvdmVyL3NyYy9wb3BvdmVyLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjb21wb3NlRXZlbnRIYW5kbGVycyB9IGZyb20gXCJAcmFkaXgtdWkvcHJpbWl0aXZlXCI7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dFNjb3BlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb250ZXh0XCI7XG5pbXBvcnQgeyBEaXNtaXNzYWJsZUxheWVyIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kaXNtaXNzYWJsZS1sYXllclwiO1xuaW1wb3J0IHsgdXNlRm9jdXNHdWFyZHMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWZvY3VzLWd1YXJkc1wiO1xuaW1wb3J0IHsgRm9jdXNTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtZm9jdXMtc2NvcGVcIjtcbmltcG9ydCB7IHVzZUlkIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1pZFwiO1xuaW1wb3J0ICogYXMgUG9wcGVyUHJpbWl0aXZlIGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcG9wcGVyXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3BwZXJTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcG9wcGVyXCI7XG5pbXBvcnQgeyBQb3J0YWwgYXMgUG9ydGFsUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wb3J0YWxcIjtcbmltcG9ydCB7IFByZXNlbmNlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmVzZW5jZVwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmltaXRpdmVcIjtcbmltcG9ydCB7IFNsb3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXNsb3RcIjtcbmltcG9ydCB7IHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtY29udHJvbGxhYmxlLXN0YXRlXCI7XG5pbXBvcnQgeyBoaWRlT3RoZXJzIH0gZnJvbSBcImFyaWEtaGlkZGVuXCI7XG5pbXBvcnQgeyBSZW1vdmVTY3JvbGwgfSBmcm9tIFwicmVhY3QtcmVtb3ZlLXNjcm9sbFwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgUE9QT1ZFUl9OQU1FID0gXCJQb3BvdmVyXCI7XG52YXIgW2NyZWF0ZVBvcG92ZXJDb250ZXh0LCBjcmVhdGVQb3BvdmVyU2NvcGVdID0gY3JlYXRlQ29udGV4dFNjb3BlKFBPUE9WRVJfTkFNRSwgW1xuICBjcmVhdGVQb3BwZXJTY29wZVxuXSk7XG52YXIgdXNlUG9wcGVyU2NvcGUgPSBjcmVhdGVQb3BwZXJTY29wZSgpO1xudmFyIFtQb3BvdmVyUHJvdmlkZXIsIHVzZVBvcG92ZXJDb250ZXh0XSA9IGNyZWF0ZVBvcG92ZXJDb250ZXh0KFBPUE9WRVJfTkFNRSk7XG52YXIgUG9wb3ZlciA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgX19zY29wZVBvcG92ZXIsXG4gICAgY2hpbGRyZW4sXG4gICAgb3Blbjogb3BlblByb3AsXG4gICAgZGVmYXVsdE9wZW4sXG4gICAgb25PcGVuQ2hhbmdlLFxuICAgIG1vZGFsID0gZmFsc2VcbiAgfSA9IHByb3BzO1xuICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVQb3BvdmVyKTtcbiAgY29uc3QgdHJpZ2dlclJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgW2hhc0N1c3RvbUFuY2hvciwgc2V0SGFzQ3VzdG9tQW5jaG9yXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW29wZW4gPSBmYWxzZSwgc2V0T3Blbl0gPSB1c2VDb250cm9sbGFibGVTdGF0ZSh7XG4gICAgcHJvcDogb3BlblByb3AsXG4gICAgZGVmYXVsdFByb3A6IGRlZmF1bHRPcGVuLFxuICAgIG9uQ2hhbmdlOiBvbk9wZW5DaGFuZ2VcbiAgfSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFBvcHBlclByaW1pdGl2ZS5Sb290LCB7IC4uLnBvcHBlclNjb3BlLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICBQb3BvdmVyUHJvdmlkZXIsXG4gICAge1xuICAgICAgc2NvcGU6IF9fc2NvcGVQb3BvdmVyLFxuICAgICAgY29udGVudElkOiB1c2VJZCgpLFxuICAgICAgdHJpZ2dlclJlZixcbiAgICAgIG9wZW4sXG4gICAgICBvbk9wZW5DaGFuZ2U6IHNldE9wZW4sXG4gICAgICBvbk9wZW5Ub2dnbGU6IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHNldE9wZW4oKHByZXZPcGVuKSA9PiAhcHJldk9wZW4pLCBbc2V0T3Blbl0pLFxuICAgICAgaGFzQ3VzdG9tQW5jaG9yLFxuICAgICAgb25DdXN0b21BbmNob3JBZGQ6IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHNldEhhc0N1c3RvbUFuY2hvcih0cnVlKSwgW10pLFxuICAgICAgb25DdXN0b21BbmNob3JSZW1vdmU6IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHNldEhhc0N1c3RvbUFuY2hvcihmYWxzZSksIFtdKSxcbiAgICAgIG1vZGFsLFxuICAgICAgY2hpbGRyZW5cbiAgICB9XG4gICkgfSk7XG59O1xuUG9wb3Zlci5kaXNwbGF5TmFtZSA9IFBPUE9WRVJfTkFNRTtcbnZhciBBTkNIT1JfTkFNRSA9IFwiUG9wb3ZlckFuY2hvclwiO1xudmFyIFBvcG92ZXJBbmNob3IgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVBvcG92ZXIsIC4uLmFuY2hvclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlUG9wb3ZlckNvbnRleHQoQU5DSE9SX05BTUUsIF9fc2NvcGVQb3BvdmVyKTtcbiAgICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVQb3BvdmVyKTtcbiAgICBjb25zdCB7IG9uQ3VzdG9tQW5jaG9yQWRkLCBvbkN1c3RvbUFuY2hvclJlbW92ZSB9ID0gY29udGV4dDtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgb25DdXN0b21BbmNob3JBZGQoKTtcbiAgICAgIHJldHVybiAoKSA9PiBvbkN1c3RvbUFuY2hvclJlbW92ZSgpO1xuICAgIH0sIFtvbkN1c3RvbUFuY2hvckFkZCwgb25DdXN0b21BbmNob3JSZW1vdmVdKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQb3BwZXJQcmltaXRpdmUuQW5jaG9yLCB7IC4uLnBvcHBlclNjb3BlLCAuLi5hbmNob3JQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG4gIH1cbik7XG5Qb3BvdmVyQW5jaG9yLmRpc3BsYXlOYW1lID0gQU5DSE9SX05BTUU7XG52YXIgVFJJR0dFUl9OQU1FID0gXCJQb3BvdmVyVHJpZ2dlclwiO1xudmFyIFBvcG92ZXJUcmlnZ2VyID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVQb3BvdmVyLCAuLi50cmlnZ2VyUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VQb3BvdmVyQ29udGV4dChUUklHR0VSX05BTUUsIF9fc2NvcGVQb3BvdmVyKTtcbiAgICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVQb3BvdmVyKTtcbiAgICBjb25zdCBjb21wb3NlZFRyaWdnZXJSZWYgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBjb250ZXh0LnRyaWdnZXJSZWYpO1xuICAgIGNvbnN0IHRyaWdnZXIgPSAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgUHJpbWl0aXZlLmJ1dHRvbixcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgXCJhcmlhLWhhc3BvcHVwXCI6IFwiZGlhbG9nXCIsXG4gICAgICAgIFwiYXJpYS1leHBhbmRlZFwiOiBjb250ZXh0Lm9wZW4sXG4gICAgICAgIFwiYXJpYS1jb250cm9sc1wiOiBjb250ZXh0LmNvbnRlbnRJZCxcbiAgICAgICAgXCJkYXRhLXN0YXRlXCI6IGdldFN0YXRlKGNvbnRleHQub3BlbiksXG4gICAgICAgIC4uLnRyaWdnZXJQcm9wcyxcbiAgICAgICAgcmVmOiBjb21wb3NlZFRyaWdnZXJSZWYsXG4gICAgICAgIG9uQ2xpY2s6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQ2xpY2ssIGNvbnRleHQub25PcGVuVG9nZ2xlKVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIGNvbnRleHQuaGFzQ3VzdG9tQW5jaG9yID8gdHJpZ2dlciA6IC8qIEBfX1BVUkVfXyAqLyBqc3goUG9wcGVyUHJpbWl0aXZlLkFuY2hvciwgeyBhc0NoaWxkOiB0cnVlLCAuLi5wb3BwZXJTY29wZSwgY2hpbGRyZW46IHRyaWdnZXIgfSk7XG4gIH1cbik7XG5Qb3BvdmVyVHJpZ2dlci5kaXNwbGF5TmFtZSA9IFRSSUdHRVJfTkFNRTtcbnZhciBQT1JUQUxfTkFNRSA9IFwiUG9wb3ZlclBvcnRhbFwiO1xudmFyIFtQb3J0YWxQcm92aWRlciwgdXNlUG9ydGFsQ29udGV4dF0gPSBjcmVhdGVQb3BvdmVyQ29udGV4dChQT1JUQUxfTkFNRSwge1xuICBmb3JjZU1vdW50OiB2b2lkIDBcbn0pO1xudmFyIFBvcG92ZXJQb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlUG9wb3ZlciwgZm9yY2VNb3VudCwgY2hpbGRyZW4sIGNvbnRhaW5lciB9ID0gcHJvcHM7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VQb3BvdmVyQ29udGV4dChQT1JUQUxfTkFNRSwgX19zY29wZVBvcG92ZXIpO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQb3J0YWxQcm92aWRlciwgeyBzY29wZTogX19zY29wZVBvcG92ZXIsIGZvcmNlTW91bnQsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFByZXNlbmNlLCB7IHByZXNlbnQ6IGZvcmNlTW91bnQgfHwgY29udGV4dC5vcGVuLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChQb3J0YWxQcmltaXRpdmUsIHsgYXNDaGlsZDogdHJ1ZSwgY29udGFpbmVyLCBjaGlsZHJlbiB9KSB9KSB9KTtcbn07XG5Qb3BvdmVyUG9ydGFsLmRpc3BsYXlOYW1lID0gUE9SVEFMX05BTUU7XG52YXIgQ09OVEVOVF9OQU1FID0gXCJQb3BvdmVyQ29udGVudFwiO1xudmFyIFBvcG92ZXJDb250ZW50ID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCBwb3J0YWxDb250ZXh0ID0gdXNlUG9ydGFsQ29udGV4dChDT05URU5UX05BTUUsIHByb3BzLl9fc2NvcGVQb3BvdmVyKTtcbiAgICBjb25zdCB7IGZvcmNlTW91bnQgPSBwb3J0YWxDb250ZXh0LmZvcmNlTW91bnQsIC4uLmNvbnRlbnRQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVBvcG92ZXJDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZVBvcG92ZXIpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFByZXNlbmNlLCB7IHByZXNlbnQ6IGZvcmNlTW91bnQgfHwgY29udGV4dC5vcGVuLCBjaGlsZHJlbjogY29udGV4dC5tb2RhbCA/IC8qIEBfX1BVUkVfXyAqLyBqc3goUG9wb3ZlckNvbnRlbnRNb2RhbCwgeyAuLi5jb250ZW50UHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pIDogLyogQF9fUFVSRV9fICovIGpzeChQb3BvdmVyQ29udGVudE5vbk1vZGFsLCB7IC4uLmNvbnRlbnRQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSkgfSk7XG4gIH1cbik7XG5Qb3BvdmVyQ29udGVudC5kaXNwbGF5TmFtZSA9IENPTlRFTlRfTkFNRTtcbnZhciBQb3BvdmVyQ29udGVudE1vZGFsID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlUG9wb3ZlckNvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlUG9wb3Zlcik7XG4gICAgY29uc3QgY29udGVudFJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBjb250ZW50UmVmKTtcbiAgICBjb25zdCBpc1JpZ2h0Q2xpY2tPdXRzaWRlUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgY29udGVudCA9IGNvbnRlbnRSZWYuY3VycmVudDtcbiAgICAgIGlmIChjb250ZW50KSByZXR1cm4gaGlkZU90aGVycyhjb250ZW50KTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUmVtb3ZlU2Nyb2xsLCB7IGFzOiBTbG90LCBhbGxvd1BpbmNoWm9vbTogdHJ1ZSwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBQb3BvdmVyQ29udGVudEltcGwsXG4gICAgICB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgdHJhcEZvY3VzOiBjb250ZXh0Lm9wZW4sXG4gICAgICAgIGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50czogdHJ1ZSxcbiAgICAgICAgb25DbG9zZUF1dG9Gb2N1czogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25DbG9zZUF1dG9Gb2N1cywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBpZiAoIWlzUmlnaHRDbGlja091dHNpZGVSZWYuY3VycmVudCkgY29udGV4dC50cmlnZ2VyUmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBvblBvaW50ZXJEb3duT3V0c2lkZTogY29tcG9zZUV2ZW50SGFuZGxlcnMoXG4gICAgICAgICAgcHJvcHMub25Qb2ludGVyRG93bk91dHNpZGUsXG4gICAgICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW5hbEV2ZW50ID0gZXZlbnQuZGV0YWlsLm9yaWdpbmFsRXZlbnQ7XG4gICAgICAgICAgICBjb25zdCBjdHJsTGVmdENsaWNrID0gb3JpZ2luYWxFdmVudC5idXR0b24gPT09IDAgJiYgb3JpZ2luYWxFdmVudC5jdHJsS2V5ID09PSB0cnVlO1xuICAgICAgICAgICAgY29uc3QgaXNSaWdodENsaWNrID0gb3JpZ2luYWxFdmVudC5idXR0b24gPT09IDIgfHwgY3RybExlZnRDbGljaztcbiAgICAgICAgICAgIGlzUmlnaHRDbGlja091dHNpZGVSZWYuY3VycmVudCA9IGlzUmlnaHRDbGljaztcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgY2hlY2tGb3JEZWZhdWx0UHJldmVudGVkOiBmYWxzZSB9XG4gICAgICAgICksXG4gICAgICAgIG9uRm9jdXNPdXRzaWRlOiBjb21wb3NlRXZlbnRIYW5kbGVycyhcbiAgICAgICAgICBwcm9wcy5vbkZvY3VzT3V0c2lkZSxcbiAgICAgICAgICAoZXZlbnQpID0+IGV2ZW50LnByZXZlbnREZWZhdWx0KCksXG4gICAgICAgICAgeyBjaGVja0ZvckRlZmF1bHRQcmV2ZW50ZWQ6IGZhbHNlIH1cbiAgICAgICAgKVxuICAgICAgfVxuICAgICkgfSk7XG4gIH1cbik7XG52YXIgUG9wb3ZlckNvbnRlbnROb25Nb2RhbCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVBvcG92ZXJDb250ZXh0KENPTlRFTlRfTkFNRSwgcHJvcHMuX19zY29wZVBvcG92ZXIpO1xuICAgIGNvbnN0IGhhc0ludGVyYWN0ZWRPdXRzaWRlUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBoYXNQb2ludGVyRG93bk91dHNpZGVSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgUG9wb3ZlckNvbnRlbnRJbXBsLFxuICAgICAge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgIHRyYXBGb2N1czogZmFsc2UsXG4gICAgICAgIGRpc2FibGVPdXRzaWRlUG9pbnRlckV2ZW50czogZmFsc2UsXG4gICAgICAgIG9uQ2xvc2VBdXRvRm9jdXM6IChldmVudCkgPT4ge1xuICAgICAgICAgIHByb3BzLm9uQ2xvc2VBdXRvRm9jdXM/LihldmVudCk7XG4gICAgICAgICAgaWYgKCFldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XG4gICAgICAgICAgICBpZiAoIWhhc0ludGVyYWN0ZWRPdXRzaWRlUmVmLmN1cnJlbnQpIGNvbnRleHQudHJpZ2dlclJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgIGhhc1BvaW50ZXJEb3duT3V0c2lkZVJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIG9uSW50ZXJhY3RPdXRzaWRlOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICBwcm9wcy5vbkludGVyYWN0T3V0c2lkZT8uKGV2ZW50KTtcbiAgICAgICAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIGhhc0ludGVyYWN0ZWRPdXRzaWRlUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKGV2ZW50LmRldGFpbC5vcmlnaW5hbEV2ZW50LnR5cGUgPT09IFwicG9pbnRlcmRvd25cIikge1xuICAgICAgICAgICAgICBoYXNQb2ludGVyRG93bk91dHNpZGVSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgICBjb25zdCB0YXJnZXRJc1RyaWdnZXIgPSBjb250ZXh0LnRyaWdnZXJSZWYuY3VycmVudD8uY29udGFpbnModGFyZ2V0KTtcbiAgICAgICAgICBpZiAodGFyZ2V0SXNUcmlnZ2VyKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGlmIChldmVudC5kZXRhaWwub3JpZ2luYWxFdmVudC50eXBlID09PSBcImZvY3VzaW5cIiAmJiBoYXNQb2ludGVyRG93bk91dHNpZGVSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xudmFyIFBvcG92ZXJDb250ZW50SW1wbCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgX19zY29wZVBvcG92ZXIsXG4gICAgICB0cmFwRm9jdXMsXG4gICAgICBvbk9wZW5BdXRvRm9jdXMsXG4gICAgICBvbkNsb3NlQXV0b0ZvY3VzLFxuICAgICAgZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzLFxuICAgICAgb25Fc2NhcGVLZXlEb3duLFxuICAgICAgb25Qb2ludGVyRG93bk91dHNpZGUsXG4gICAgICBvbkZvY3VzT3V0c2lkZSxcbiAgICAgIG9uSW50ZXJhY3RPdXRzaWRlLFxuICAgICAgLi4uY29udGVudFByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VQb3BvdmVyQ29udGV4dChDT05URU5UX05BTUUsIF9fc2NvcGVQb3BvdmVyKTtcbiAgICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVQb3BvdmVyKTtcbiAgICB1c2VGb2N1c0d1YXJkcygpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgRm9jdXNTY29wZSxcbiAgICAgIHtcbiAgICAgICAgYXNDaGlsZDogdHJ1ZSxcbiAgICAgICAgbG9vcDogdHJ1ZSxcbiAgICAgICAgdHJhcHBlZDogdHJhcEZvY3VzLFxuICAgICAgICBvbk1vdW50QXV0b0ZvY3VzOiBvbk9wZW5BdXRvRm9jdXMsXG4gICAgICAgIG9uVW5tb3VudEF1dG9Gb2N1czogb25DbG9zZUF1dG9Gb2N1cyxcbiAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgRGlzbWlzc2FibGVMYXllcixcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhc0NoaWxkOiB0cnVlLFxuICAgICAgICAgICAgZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzLFxuICAgICAgICAgICAgb25JbnRlcmFjdE91dHNpZGUsXG4gICAgICAgICAgICBvbkVzY2FwZUtleURvd24sXG4gICAgICAgICAgICBvblBvaW50ZXJEb3duT3V0c2lkZSxcbiAgICAgICAgICAgIG9uRm9jdXNPdXRzaWRlLFxuICAgICAgICAgICAgb25EaXNtaXNzOiAoKSA9PiBjb250ZXh0Lm9uT3BlbkNoYW5nZShmYWxzZSksXG4gICAgICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgICAgICAgUG9wcGVyUHJpbWl0aXZlLkNvbnRlbnQsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImRhdGEtc3RhdGVcIjogZ2V0U3RhdGUoY29udGV4dC5vcGVuKSxcbiAgICAgICAgICAgICAgICByb2xlOiBcImRpYWxvZ1wiLFxuICAgICAgICAgICAgICAgIGlkOiBjb250ZXh0LmNvbnRlbnRJZCxcbiAgICAgICAgICAgICAgICAuLi5wb3BwZXJTY29wZSxcbiAgICAgICAgICAgICAgICAuLi5jb250ZW50UHJvcHMsXG4gICAgICAgICAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgIC4uLmNvbnRlbnRQcm9wcy5zdHlsZSxcbiAgICAgICAgICAgICAgICAgIC8vIHJlLW5hbWVzcGFjZSBleHBvc2VkIGNvbnRlbnQgY3VzdG9tIHByb3BlcnRpZXNcbiAgICAgICAgICAgICAgICAgIC4uLntcbiAgICAgICAgICAgICAgICAgICAgXCItLXJhZGl4LXBvcG92ZXItY29udGVudC10cmFuc2Zvcm0tb3JpZ2luXCI6IFwidmFyKC0tcmFkaXgtcG9wcGVyLXRyYW5zZm9ybS1vcmlnaW4pXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiLS1yYWRpeC1wb3BvdmVyLWNvbnRlbnQtYXZhaWxhYmxlLXdpZHRoXCI6IFwidmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS13aWR0aClcIixcbiAgICAgICAgICAgICAgICAgICAgXCItLXJhZGl4LXBvcG92ZXItY29udGVudC1hdmFpbGFibGUtaGVpZ2h0XCI6IFwidmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS1oZWlnaHQpXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiLS1yYWRpeC1wb3BvdmVyLXRyaWdnZXItd2lkdGhcIjogXCJ2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLXdpZHRoKVwiLFxuICAgICAgICAgICAgICAgICAgICBcIi0tcmFkaXgtcG9wb3Zlci10cmlnZ2VyLWhlaWdodFwiOiBcInZhcigtLXJhZGl4LXBvcHBlci1hbmNob3ItaGVpZ2h0KVwiXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcbnZhciBDTE9TRV9OQU1FID0gXCJQb3BvdmVyQ2xvc2VcIjtcbnZhciBQb3BvdmVyQ2xvc2UgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVBvcG92ZXIsIC4uLmNsb3NlUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VQb3BvdmVyQ29udGV4dChDTE9TRV9OQU1FLCBfX3Njb3BlUG9wb3Zlcik7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBQcmltaXRpdmUuYnV0dG9uLFxuICAgICAge1xuICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICAuLi5jbG9zZVByb3BzLFxuICAgICAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICAgICAgb25DbGljazogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25DbGljaywgKCkgPT4gY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpKVxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5Qb3BvdmVyQ2xvc2UuZGlzcGxheU5hbWUgPSBDTE9TRV9OQU1FO1xudmFyIEFSUk9XX05BTUUgPSBcIlBvcG92ZXJBcnJvd1wiO1xudmFyIFBvcG92ZXJBcnJvdyA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlUG9wb3ZlciwgLi4uYXJyb3dQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgcG9wcGVyU2NvcGUgPSB1c2VQb3BwZXJTY29wZShfX3Njb3BlUG9wb3Zlcik7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUG9wcGVyUHJpbWl0aXZlLkFycm93LCB7IC4uLnBvcHBlclNjb3BlLCAuLi5hcnJvd1Byb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbiAgfVxuKTtcblBvcG92ZXJBcnJvdy5kaXNwbGF5TmFtZSA9IEFSUk9XX05BTUU7XG5mdW5jdGlvbiBnZXRTdGF0ZShvcGVuKSB7XG4gIHJldHVybiBvcGVuID8gXCJvcGVuXCIgOiBcImNsb3NlZFwiO1xufVxudmFyIFJvb3QyID0gUG9wb3ZlcjtcbnZhciBBbmNob3IyID0gUG9wb3ZlckFuY2hvcjtcbnZhciBUcmlnZ2VyID0gUG9wb3ZlclRyaWdnZXI7XG52YXIgUG9ydGFsID0gUG9wb3ZlclBvcnRhbDtcbnZhciBDb250ZW50MiA9IFBvcG92ZXJDb250ZW50O1xudmFyIENsb3NlID0gUG9wb3ZlckNsb3NlO1xudmFyIEFycm93MiA9IFBvcG92ZXJBcnJvdztcbmV4cG9ydCB7XG4gIEFuY2hvcjIgYXMgQW5jaG9yLFxuICBBcnJvdzIgYXMgQXJyb3csXG4gIENsb3NlLFxuICBDb250ZW50MiBhcyBDb250ZW50LFxuICBQb3BvdmVyLFxuICBQb3BvdmVyQW5jaG9yLFxuICBQb3BvdmVyQXJyb3csXG4gIFBvcG92ZXJDbG9zZSxcbiAgUG9wb3ZlckNvbnRlbnQsXG4gIFBvcG92ZXJQb3J0YWwsXG4gIFBvcG92ZXJUcmlnZ2VyLFxuICBQb3J0YWwsXG4gIFJvb3QyIGFzIFJvb3QsXG4gIFRyaWdnZXIsXG4gIGNyZWF0ZVBvcG92ZXJTY29wZVxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXBcbiIsbnVsbCwiXCJ1c2UgY2xpZW50XCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L3Byb2dyZXNzL3NyYy9wcm9ncmVzcy50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dFNjb3BlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb250ZXh0XCI7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgUFJPR1JFU1NfTkFNRSA9IFwiUHJvZ3Jlc3NcIjtcbnZhciBERUZBVUxUX01BWCA9IDEwMDtcbnZhciBbY3JlYXRlUHJvZ3Jlc3NDb250ZXh0LCBjcmVhdGVQcm9ncmVzc1Njb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShQUk9HUkVTU19OQU1FKTtcbnZhciBbUHJvZ3Jlc3NQcm92aWRlciwgdXNlUHJvZ3Jlc3NDb250ZXh0XSA9IGNyZWF0ZVByb2dyZXNzQ29udGV4dChQUk9HUkVTU19OQU1FKTtcbnZhciBQcm9ncmVzcyA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgX19zY29wZVByb2dyZXNzLFxuICAgICAgdmFsdWU6IHZhbHVlUHJvcCA9IG51bGwsXG4gICAgICBtYXg6IG1heFByb3AsXG4gICAgICBnZXRWYWx1ZUxhYmVsID0gZGVmYXVsdEdldFZhbHVlTGFiZWwsXG4gICAgICAuLi5wcm9ncmVzc1Byb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGlmICgobWF4UHJvcCB8fCBtYXhQcm9wID09PSAwKSAmJiAhaXNWYWxpZE1heE51bWJlcihtYXhQcm9wKSkge1xuICAgICAgY29uc29sZS5lcnJvcihnZXRJbnZhbGlkTWF4RXJyb3IoYCR7bWF4UHJvcH1gLCBcIlByb2dyZXNzXCIpKTtcbiAgICB9XG4gICAgY29uc3QgbWF4ID0gaXNWYWxpZE1heE51bWJlcihtYXhQcm9wKSA/IG1heFByb3AgOiBERUZBVUxUX01BWDtcbiAgICBpZiAodmFsdWVQcm9wICE9PSBudWxsICYmICFpc1ZhbGlkVmFsdWVOdW1iZXIodmFsdWVQcm9wLCBtYXgpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGdldEludmFsaWRWYWx1ZUVycm9yKGAke3ZhbHVlUHJvcH1gLCBcIlByb2dyZXNzXCIpKTtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBpc1ZhbGlkVmFsdWVOdW1iZXIodmFsdWVQcm9wLCBtYXgpID8gdmFsdWVQcm9wIDogbnVsbDtcbiAgICBjb25zdCB2YWx1ZUxhYmVsID0gaXNOdW1iZXIodmFsdWUpID8gZ2V0VmFsdWVMYWJlbCh2YWx1ZSwgbWF4KSA6IHZvaWQgMDtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQcm9ncmVzc1Byb3ZpZGVyLCB7IHNjb3BlOiBfX3Njb3BlUHJvZ3Jlc3MsIHZhbHVlLCBtYXgsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgUHJpbWl0aXZlLmRpdixcbiAgICAgIHtcbiAgICAgICAgXCJhcmlhLXZhbHVlbWF4XCI6IG1heCxcbiAgICAgICAgXCJhcmlhLXZhbHVlbWluXCI6IDAsXG4gICAgICAgIFwiYXJpYS12YWx1ZW5vd1wiOiBpc051bWJlcih2YWx1ZSkgPyB2YWx1ZSA6IHZvaWQgMCxcbiAgICAgICAgXCJhcmlhLXZhbHVldGV4dFwiOiB2YWx1ZUxhYmVsLFxuICAgICAgICByb2xlOiBcInByb2dyZXNzYmFyXCIsXG4gICAgICAgIFwiZGF0YS1zdGF0ZVwiOiBnZXRQcm9ncmVzc1N0YXRlKHZhbHVlLCBtYXgpLFxuICAgICAgICBcImRhdGEtdmFsdWVcIjogdmFsdWUgPz8gdm9pZCAwLFxuICAgICAgICBcImRhdGEtbWF4XCI6IG1heCxcbiAgICAgICAgLi4ucHJvZ3Jlc3NQcm9wcyxcbiAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWZcbiAgICAgIH1cbiAgICApIH0pO1xuICB9XG4pO1xuUHJvZ3Jlc3MuZGlzcGxheU5hbWUgPSBQUk9HUkVTU19OQU1FO1xudmFyIElORElDQVRPUl9OQU1FID0gXCJQcm9ncmVzc0luZGljYXRvclwiO1xudmFyIFByb2dyZXNzSW5kaWNhdG9yID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVQcm9ncmVzcywgLi4uaW5kaWNhdG9yUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VQcm9ncmVzc0NvbnRleHQoSU5ESUNBVE9SX05BTUUsIF9fc2NvcGVQcm9ncmVzcyk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBQcmltaXRpdmUuZGl2LFxuICAgICAge1xuICAgICAgICBcImRhdGEtc3RhdGVcIjogZ2V0UHJvZ3Jlc3NTdGF0ZShjb250ZXh0LnZhbHVlLCBjb250ZXh0Lm1heCksXG4gICAgICAgIFwiZGF0YS12YWx1ZVwiOiBjb250ZXh0LnZhbHVlID8/IHZvaWQgMCxcbiAgICAgICAgXCJkYXRhLW1heFwiOiBjb250ZXh0Lm1heCxcbiAgICAgICAgLi4uaW5kaWNhdG9yUHJvcHMsXG4gICAgICAgIHJlZjogZm9yd2FyZGVkUmVmXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcblByb2dyZXNzSW5kaWNhdG9yLmRpc3BsYXlOYW1lID0gSU5ESUNBVE9SX05BTUU7XG5mdW5jdGlvbiBkZWZhdWx0R2V0VmFsdWVMYWJlbCh2YWx1ZSwgbWF4KSB7XG4gIHJldHVybiBgJHtNYXRoLnJvdW5kKHZhbHVlIC8gbWF4ICogMTAwKX0lYDtcbn1cbmZ1bmN0aW9uIGdldFByb2dyZXNzU3RhdGUodmFsdWUsIG1heFZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gXCJpbmRldGVybWluYXRlXCIgOiB2YWx1ZSA9PT0gbWF4VmFsdWUgPyBcImNvbXBsZXRlXCIgOiBcImxvYWRpbmdcIjtcbn1cbmZ1bmN0aW9uIGlzTnVtYmVyKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCI7XG59XG5mdW5jdGlvbiBpc1ZhbGlkTWF4TnVtYmVyKG1heCkge1xuICByZXR1cm4gaXNOdW1iZXIobWF4KSAmJiAhaXNOYU4obWF4KSAmJiBtYXggPiAwO1xufVxuZnVuY3Rpb24gaXNWYWxpZFZhbHVlTnVtYmVyKHZhbHVlLCBtYXgpIHtcbiAgcmV0dXJuIGlzTnVtYmVyKHZhbHVlKSAmJiAhaXNOYU4odmFsdWUpICYmIHZhbHVlIDw9IG1heCAmJiB2YWx1ZSA+PSAwO1xufVxuZnVuY3Rpb24gZ2V0SW52YWxpZE1heEVycm9yKHByb3BWYWx1ZSwgY29tcG9uZW50TmFtZSkge1xuICByZXR1cm4gYEludmFsaWQgcHJvcCBcXGBtYXhcXGAgb2YgdmFsdWUgXFxgJHtwcm9wVmFsdWV9XFxgIHN1cHBsaWVkIHRvIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAuIE9ubHkgbnVtYmVycyBncmVhdGVyIHRoYW4gMCBhcmUgdmFsaWQgbWF4IHZhbHVlcy4gRGVmYXVsdGluZyB0byBcXGAke0RFRkFVTFRfTUFYfVxcYC5gO1xufVxuZnVuY3Rpb24gZ2V0SW52YWxpZFZhbHVlRXJyb3IocHJvcFZhbHVlLCBjb21wb25lbnROYW1lKSB7XG4gIHJldHVybiBgSW52YWxpZCBwcm9wIFxcYHZhbHVlXFxgIG9mIHZhbHVlIFxcYCR7cHJvcFZhbHVlfVxcYCBzdXBwbGllZCB0byBcXGAke2NvbXBvbmVudE5hbWV9XFxgLiBUaGUgXFxgdmFsdWVcXGAgcHJvcCBtdXN0IGJlOlxuICAtIGEgcG9zaXRpdmUgbnVtYmVyXG4gIC0gbGVzcyB0aGFuIHRoZSB2YWx1ZSBwYXNzZWQgdG8gXFxgbWF4XFxgIChvciAke0RFRkFVTFRfTUFYfSBpZiBubyBcXGBtYXhcXGAgcHJvcCBpcyBzZXQpXG4gIC0gXFxgbnVsbFxcYCBvciBcXGB1bmRlZmluZWRcXGAgaWYgdGhlIHByb2dyZXNzIGlzIGluZGV0ZXJtaW5hdGUuXG5cbkRlZmF1bHRpbmcgdG8gXFxgbnVsbFxcYC5gO1xufVxudmFyIFJvb3QgPSBQcm9ncmVzcztcbnZhciBJbmRpY2F0b3IgPSBQcm9ncmVzc0luZGljYXRvcjtcbmV4cG9ydCB7XG4gIEluZGljYXRvcixcbiAgUHJvZ3Jlc3MsXG4gIFByb2dyZXNzSW5kaWNhdG9yLFxuICBSb290LFxuICBjcmVhdGVQcm9ncmVzc1Njb3BlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIixudWxsLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvcmFkaW8tZ3JvdXAvc3JjL3JhZGlvLWdyb3VwLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QyIGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgYXMgY29tcG9zZUV2ZW50SGFuZGxlcnMyIH0gZnJvbSBcIkByYWRpeC11aS9wcmltaXRpdmVcIjtcbmltcG9ydCB7IHVzZUNvbXBvc2VkUmVmcyBhcyB1c2VDb21wb3NlZFJlZnMyIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnNcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSBhcyBjcmVhdGVDb250ZXh0U2NvcGUyIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb250ZXh0XCI7XG5pbXBvcnQgeyBQcmltaXRpdmUgYXMgUHJpbWl0aXZlMiB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcHJpbWl0aXZlXCI7XG5pbXBvcnQgKiBhcyBSb3ZpbmdGb2N1c0dyb3VwIGZyb20gXCJAcmFkaXgtdWkvcmVhY3Qtcm92aW5nLWZvY3VzXCI7XG5pbXBvcnQgeyBjcmVhdGVSb3ZpbmdGb2N1c0dyb3VwU2NvcGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXJvdmluZy1mb2N1c1wiO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxhYmxlU3RhdGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGVcIjtcbmltcG9ydCB7IHVzZURpcmVjdGlvbiB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtZGlyZWN0aW9uXCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L3JhZGlvLWdyb3VwL3NyYy9yYWRpby50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfSBmcm9tIFwiQHJhZGl4LXVpL3ByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnNcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlU2l6ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLXNpemVcIjtcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtcHJldmlvdXNcIjtcbmltcG9ydCB7IFByZXNlbmNlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmVzZW5jZVwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmltaXRpdmVcIjtcbmltcG9ydCB7IGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIFJBRElPX05BTUUgPSBcIlJhZGlvXCI7XG52YXIgW2NyZWF0ZVJhZGlvQ29udGV4dCwgY3JlYXRlUmFkaW9TY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUoUkFESU9fTkFNRSk7XG52YXIgW1JhZGlvUHJvdmlkZXIsIHVzZVJhZGlvQ29udGV4dF0gPSBjcmVhdGVSYWRpb0NvbnRleHQoUkFESU9fTkFNRSk7XG52YXIgUmFkaW8gPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIF9fc2NvcGVSYWRpbyxcbiAgICAgIG5hbWUsXG4gICAgICBjaGVja2VkID0gZmFsc2UsXG4gICAgICByZXF1aXJlZCxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgdmFsdWUgPSBcIm9uXCIsXG4gICAgICBvbkNoZWNrLFxuICAgICAgZm9ybSxcbiAgICAgIC4uLnJhZGlvUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2J1dHRvbiwgc2V0QnV0dG9uXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRCdXR0b24obm9kZSkpO1xuICAgIGNvbnN0IGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgICBjb25zdCBpc0Zvcm1Db250cm9sID0gYnV0dG9uID8gZm9ybSB8fCAhIWJ1dHRvbi5jbG9zZXN0KFwiZm9ybVwiKSA6IHRydWU7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKFJhZGlvUHJvdmlkZXIsIHsgc2NvcGU6IF9fc2NvcGVSYWRpbywgY2hlY2tlZCwgZGlzYWJsZWQsIGNoaWxkcmVuOiBbXG4gICAgICAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICBQcmltaXRpdmUuYnV0dG9uLFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgICByb2xlOiBcInJhZGlvXCIsXG4gICAgICAgICAgXCJhcmlhLWNoZWNrZWRcIjogY2hlY2tlZCxcbiAgICAgICAgICBcImRhdGEtc3RhdGVcIjogZ2V0U3RhdGUoY2hlY2tlZCksXG4gICAgICAgICAgXCJkYXRhLWRpc2FibGVkXCI6IGRpc2FibGVkID8gXCJcIiA6IHZvaWQgMCxcbiAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAuLi5yYWRpb1Byb3BzLFxuICAgICAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgICAgIG9uQ2xpY2s6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQ2xpY2ssIChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFjaGVja2VkKSBvbkNoZWNrPy4oKTtcbiAgICAgICAgICAgIGlmIChpc0Zvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgIGhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmLmN1cnJlbnQgPSBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpO1xuICAgICAgICAgICAgICBpZiAoIWhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmLmN1cnJlbnQpIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICBpc0Zvcm1Db250cm9sICYmIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgIEJ1YmJsZUlucHV0LFxuICAgICAgICB7XG4gICAgICAgICAgY29udHJvbDogYnV0dG9uLFxuICAgICAgICAgIGJ1YmJsZXM6ICFoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZi5jdXJyZW50LFxuICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgY2hlY2tlZCxcbiAgICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICBmb3JtLFxuICAgICAgICAgIHN0eWxlOiB7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKC0xMDAlKVwiIH1cbiAgICAgICAgfVxuICAgICAgKVxuICAgIF0gfSk7XG4gIH1cbik7XG5SYWRpby5kaXNwbGF5TmFtZSA9IFJBRElPX05BTUU7XG52YXIgSU5ESUNBVE9SX05BTUUgPSBcIlJhZGlvSW5kaWNhdG9yXCI7XG52YXIgUmFkaW9JbmRpY2F0b3IgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVJhZGlvLCBmb3JjZU1vdW50LCAuLi5pbmRpY2F0b3JQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVJhZGlvQ29udGV4dChJTkRJQ0FUT1JfTkFNRSwgX19zY29wZVJhZGlvKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQcmVzZW5jZSwgeyBwcmVzZW50OiBmb3JjZU1vdW50IHx8IGNvbnRleHQuY2hlY2tlZCwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBQcmltaXRpdmUuc3BhbixcbiAgICAgIHtcbiAgICAgICAgXCJkYXRhLXN0YXRlXCI6IGdldFN0YXRlKGNvbnRleHQuY2hlY2tlZCksXG4gICAgICAgIFwiZGF0YS1kaXNhYmxlZFwiOiBjb250ZXh0LmRpc2FibGVkID8gXCJcIiA6IHZvaWQgMCxcbiAgICAgICAgLi4uaW5kaWNhdG9yUHJvcHMsXG4gICAgICAgIHJlZjogZm9yd2FyZGVkUmVmXG4gICAgICB9XG4gICAgKSB9KTtcbiAgfVxuKTtcblJhZGlvSW5kaWNhdG9yLmRpc3BsYXlOYW1lID0gSU5ESUNBVE9SX05BTUU7XG52YXIgQnViYmxlSW5wdXQgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250cm9sLCBjaGVja2VkLCBidWJibGVzID0gdHJ1ZSwgLi4uaW5wdXRQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgcHJldkNoZWNrZWQgPSB1c2VQcmV2aW91cyhjaGVja2VkKTtcbiAgY29uc3QgY29udHJvbFNpemUgPSB1c2VTaXplKGNvbnRyb2wpO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0ID0gcmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgaW5wdXRQcm90byA9IHdpbmRvdy5IVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZTtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbnB1dFByb3RvLCBcImNoZWNrZWRcIik7XG4gICAgY29uc3Qgc2V0Q2hlY2tlZCA9IGRlc2NyaXB0b3Iuc2V0O1xuICAgIGlmIChwcmV2Q2hlY2tlZCAhPT0gY2hlY2tlZCAmJiBzZXRDaGVja2VkKSB7XG4gICAgICBjb25zdCBldmVudCA9IG5ldyBFdmVudChcImNsaWNrXCIsIHsgYnViYmxlcyB9KTtcbiAgICAgIHNldENoZWNrZWQuY2FsbChpbnB1dCwgY2hlY2tlZCk7XG4gICAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB9XG4gIH0sIFtwcmV2Q2hlY2tlZCwgY2hlY2tlZCwgYnViYmxlc10pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICBcImlucHV0XCIsXG4gICAge1xuICAgICAgdHlwZTogXCJyYWRpb1wiLFxuICAgICAgXCJhcmlhLWhpZGRlblwiOiB0cnVlLFxuICAgICAgZGVmYXVsdENoZWNrZWQ6IGNoZWNrZWQsXG4gICAgICAuLi5pbnB1dFByb3BzLFxuICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgcmVmLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgLi4ucHJvcHMuc3R5bGUsXG4gICAgICAgIC4uLmNvbnRyb2xTaXplLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIixcbiAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgbWFyZ2luOiAwXG4gICAgICB9XG4gICAgfVxuICApO1xufTtcbmZ1bmN0aW9uIGdldFN0YXRlKGNoZWNrZWQpIHtcbiAgcmV0dXJuIGNoZWNrZWQgPyBcImNoZWNrZWRcIiA6IFwidW5jaGVja2VkXCI7XG59XG5cbi8vIHBhY2thZ2VzL3JlYWN0L3JhZGlvLWdyb3VwL3NyYy9yYWRpby1ncm91cC50c3hcbmltcG9ydCB7IGpzeCBhcyBqc3gyIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgQVJST1dfS0VZUyA9IFtcIkFycm93VXBcIiwgXCJBcnJvd0Rvd25cIiwgXCJBcnJvd0xlZnRcIiwgXCJBcnJvd1JpZ2h0XCJdO1xudmFyIFJBRElPX0dST1VQX05BTUUgPSBcIlJhZGlvR3JvdXBcIjtcbnZhciBbY3JlYXRlUmFkaW9Hcm91cENvbnRleHQsIGNyZWF0ZVJhZGlvR3JvdXBTY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUyKFJBRElPX0dST1VQX05BTUUsIFtcbiAgY3JlYXRlUm92aW5nRm9jdXNHcm91cFNjb3BlLFxuICBjcmVhdGVSYWRpb1Njb3BlXG5dKTtcbnZhciB1c2VSb3ZpbmdGb2N1c0dyb3VwU2NvcGUgPSBjcmVhdGVSb3ZpbmdGb2N1c0dyb3VwU2NvcGUoKTtcbnZhciB1c2VSYWRpb1Njb3BlID0gY3JlYXRlUmFkaW9TY29wZSgpO1xudmFyIFtSYWRpb0dyb3VwUHJvdmlkZXIsIHVzZVJhZGlvR3JvdXBDb250ZXh0XSA9IGNyZWF0ZVJhZGlvR3JvdXBDb250ZXh0KFJBRElPX0dST1VQX05BTUUpO1xudmFyIFJhZGlvR3JvdXAgPSBSZWFjdDIuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBfX3Njb3BlUmFkaW9Hcm91cCxcbiAgICAgIG5hbWUsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICB2YWx1ZTogdmFsdWVQcm9wLFxuICAgICAgcmVxdWlyZWQgPSBmYWxzZSxcbiAgICAgIGRpc2FibGVkID0gZmFsc2UsXG4gICAgICBvcmllbnRhdGlvbixcbiAgICAgIGRpcixcbiAgICAgIGxvb3AgPSB0cnVlLFxuICAgICAgb25WYWx1ZUNoYW5nZSxcbiAgICAgIC4uLmdyb3VwUHJvcHNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3Qgcm92aW5nRm9jdXNHcm91cFNjb3BlID0gdXNlUm92aW5nRm9jdXNHcm91cFNjb3BlKF9fc2NvcGVSYWRpb0dyb3VwKTtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSB1c2VEaXJlY3Rpb24oZGlyKTtcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICAgIHByb3A6IHZhbHVlUHJvcCxcbiAgICAgIGRlZmF1bHRQcm9wOiBkZWZhdWx0VmFsdWUsXG4gICAgICBvbkNoYW5nZTogb25WYWx1ZUNoYW5nZVxuICAgIH0pO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4MihcbiAgICAgIFJhZGlvR3JvdXBQcm92aWRlcixcbiAgICAgIHtcbiAgICAgICAgc2NvcGU6IF9fc2NvcGVSYWRpb0dyb3VwLFxuICAgICAgICBuYW1lLFxuICAgICAgICByZXF1aXJlZCxcbiAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBvblZhbHVlQ2hhbmdlOiBzZXRWYWx1ZSxcbiAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3gyKFxuICAgICAgICAgIFJvdmluZ0ZvY3VzR3JvdXAuUm9vdCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhc0NoaWxkOiB0cnVlLFxuICAgICAgICAgICAgLi4ucm92aW5nRm9jdXNHcm91cFNjb3BlLFxuICAgICAgICAgICAgb3JpZW50YXRpb24sXG4gICAgICAgICAgICBkaXI6IGRpcmVjdGlvbixcbiAgICAgICAgICAgIGxvb3AsXG4gICAgICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeDIoXG4gICAgICAgICAgICAgIFByaW1pdGl2ZTIuZGl2LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcm9sZTogXCJyYWRpb2dyb3VwXCIsXG4gICAgICAgICAgICAgICAgXCJhcmlhLXJlcXVpcmVkXCI6IHJlcXVpcmVkLFxuICAgICAgICAgICAgICAgIFwiYXJpYS1vcmllbnRhdGlvblwiOiBvcmllbnRhdGlvbixcbiAgICAgICAgICAgICAgICBcImRhdGEtZGlzYWJsZWRcIjogZGlzYWJsZWQgPyBcIlwiIDogdm9pZCAwLFxuICAgICAgICAgICAgICAgIGRpcjogZGlyZWN0aW9uLFxuICAgICAgICAgICAgICAgIC4uLmdyb3VwUHJvcHMsXG4gICAgICAgICAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWZcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5SYWRpb0dyb3VwLmRpc3BsYXlOYW1lID0gUkFESU9fR1JPVVBfTkFNRTtcbnZhciBJVEVNX05BTUUgPSBcIlJhZGlvR3JvdXBJdGVtXCI7XG52YXIgUmFkaW9Hcm91cEl0ZW0gPSBSZWFjdDIuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVSYWRpb0dyb3VwLCBkaXNhYmxlZCwgLi4uaXRlbVByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlUmFkaW9Hcm91cENvbnRleHQoSVRFTV9OQU1FLCBfX3Njb3BlUmFkaW9Hcm91cCk7XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IGNvbnRleHQuZGlzYWJsZWQgfHwgZGlzYWJsZWQ7XG4gICAgY29uc3Qgcm92aW5nRm9jdXNHcm91cFNjb3BlID0gdXNlUm92aW5nRm9jdXNHcm91cFNjb3BlKF9fc2NvcGVSYWRpb0dyb3VwKTtcbiAgICBjb25zdCByYWRpb1Njb3BlID0gdXNlUmFkaW9TY29wZShfX3Njb3BlUmFkaW9Hcm91cCk7XG4gICAgY29uc3QgcmVmID0gUmVhY3QyLnVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMyKGZvcndhcmRlZFJlZiwgcmVmKTtcbiAgICBjb25zdCBjaGVja2VkID0gY29udGV4dC52YWx1ZSA9PT0gaXRlbVByb3BzLnZhbHVlO1xuICAgIGNvbnN0IGlzQXJyb3dLZXlQcmVzc2VkUmVmID0gUmVhY3QyLnVzZVJlZihmYWxzZSk7XG4gICAgUmVhY3QyLnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChBUlJPV19LRVlTLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgICBpc0Fycm93S2V5UHJlc3NlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGhhbmRsZUtleVVwID0gKCkgPT4gaXNBcnJvd0tleVByZXNzZWRSZWYuY3VycmVudCA9IGZhbHNlO1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlS2V5RG93bik7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwia2V5dXBcIiwgaGFuZGxlS2V5VXApO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlS2V5RG93bik7XG4gICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXl1cFwiLCBoYW5kbGVLZXlVcCk7XG4gICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeDIoXG4gICAgICBSb3ZpbmdGb2N1c0dyb3VwLkl0ZW0sXG4gICAgICB7XG4gICAgICAgIGFzQ2hpbGQ6IHRydWUsXG4gICAgICAgIC4uLnJvdmluZ0ZvY3VzR3JvdXBTY29wZSxcbiAgICAgICAgZm9jdXNhYmxlOiAhaXNEaXNhYmxlZCxcbiAgICAgICAgYWN0aXZlOiBjaGVja2VkLFxuICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeDIoXG4gICAgICAgICAgUmFkaW8sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgICAgICByZXF1aXJlZDogY29udGV4dC5yZXF1aXJlZCxcbiAgICAgICAgICAgIGNoZWNrZWQsXG4gICAgICAgICAgICAuLi5yYWRpb1Njb3BlLFxuICAgICAgICAgICAgLi4uaXRlbVByb3BzLFxuICAgICAgICAgICAgbmFtZTogY29udGV4dC5uYW1lLFxuICAgICAgICAgICAgcmVmOiBjb21wb3NlZFJlZnMsXG4gICAgICAgICAgICBvbkNoZWNrOiAoKSA9PiBjb250ZXh0Lm9uVmFsdWVDaGFuZ2UoaXRlbVByb3BzLnZhbHVlKSxcbiAgICAgICAgICAgIG9uS2V5RG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMyKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVudGVyXCIpIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG9uRm9jdXM6IGNvbXBvc2VFdmVudEhhbmRsZXJzMihpdGVtUHJvcHMub25Gb2N1cywgKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoaXNBcnJvd0tleVByZXNzZWRSZWYuY3VycmVudCkgcmVmLmN1cnJlbnQ/LmNsaWNrKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5SYWRpb0dyb3VwSXRlbS5kaXNwbGF5TmFtZSA9IElURU1fTkFNRTtcbnZhciBJTkRJQ0FUT1JfTkFNRTIgPSBcIlJhZGlvR3JvdXBJbmRpY2F0b3JcIjtcbnZhciBSYWRpb0dyb3VwSW5kaWNhdG9yID0gUmVhY3QyLmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlUmFkaW9Hcm91cCwgLi4uaW5kaWNhdG9yUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHJhZGlvU2NvcGUgPSB1c2VSYWRpb1Njb3BlKF9fc2NvcGVSYWRpb0dyb3VwKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeDIoUmFkaW9JbmRpY2F0b3IsIHsgLi4ucmFkaW9TY29wZSwgLi4uaW5kaWNhdG9yUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xuICB9XG4pO1xuUmFkaW9Hcm91cEluZGljYXRvci5kaXNwbGF5TmFtZSA9IElORElDQVRPUl9OQU1FMjtcbnZhciBSb290MiA9IFJhZGlvR3JvdXA7XG52YXIgSXRlbTIgPSBSYWRpb0dyb3VwSXRlbTtcbnZhciBJbmRpY2F0b3IgPSBSYWRpb0dyb3VwSW5kaWNhdG9yO1xuZXhwb3J0IHtcbiAgSW5kaWNhdG9yLFxuICBJdGVtMiBhcyBJdGVtLFxuICBSYWRpb0dyb3VwLFxuICBSYWRpb0dyb3VwSW5kaWNhdG9yLFxuICBSYWRpb0dyb3VwSXRlbSxcbiAgUm9vdDIgYXMgUm9vdCxcbiAgY3JlYXRlUmFkaW9Hcm91cFNjb3BlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIixudWxsLCIvLyBwYWNrYWdlcy9yZWFjdC92aXN1YWxseS1oaWRkZW4vc3JjL3Zpc3VhbGx5LWhpZGRlbi50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmltaXRpdmVcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIE5BTUUgPSBcIlZpc3VhbGx5SGlkZGVuXCI7XG52YXIgVmlzdWFsbHlIaWRkZW4gPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgUHJpbWl0aXZlLnNwYW4sXG4gICAgICB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21haW4vc2Nzcy9taXhpbnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzXG4gICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgICAgd2lkdGg6IDEsXG4gICAgICAgICAgaGVpZ2h0OiAxLFxuICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgbWFyZ2luOiAtMSxcbiAgICAgICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgICAgICBjbGlwOiBcInJlY3QoMCwgMCwgMCwgMClcIixcbiAgICAgICAgICB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiLFxuICAgICAgICAgIHdvcmRXcmFwOiBcIm5vcm1hbFwiLFxuICAgICAgICAgIC4uLnByb3BzLnN0eWxlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuVmlzdWFsbHlIaWRkZW4uZGlzcGxheU5hbWUgPSBOQU1FO1xudmFyIFJvb3QgPSBWaXN1YWxseUhpZGRlbjtcbmV4cG9ydCB7XG4gIFJvb3QsXG4gIFZpc3VhbGx5SGlkZGVuXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIiwiXCJ1c2UgY2xpZW50XCI7XG5cbi8vIHBhY2thZ2VzL3JlYWN0L3NlbGVjdC9zcmMvc2VsZWN0LnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgKiBhcyBSZWFjdERPTSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBjbGFtcCB9IGZyb20gXCJAcmFkaXgtdWkvbnVtYmVyXCI7XG5pbXBvcnQgeyBjb21wb3NlRXZlbnRIYW5kbGVycyB9IGZyb20gXCJAcmFkaXgtdWkvcHJpbWl0aXZlXCI7XG5pbXBvcnQgeyBjcmVhdGVDb2xsZWN0aW9uIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb2xsZWN0aW9uXCI7XG5pbXBvcnQgeyB1c2VDb21wb3NlZFJlZnMgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWNvbXBvc2UtcmVmc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dFNjb3BlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb250ZXh0XCI7XG5pbXBvcnQgeyB1c2VEaXJlY3Rpb24gfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWRpcmVjdGlvblwiO1xuaW1wb3J0IHsgRGlzbWlzc2FibGVMYXllciB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtZGlzbWlzc2FibGUtbGF5ZXJcIjtcbmltcG9ydCB7IHVzZUZvY3VzR3VhcmRzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1mb2N1cy1ndWFyZHNcIjtcbmltcG9ydCB7IEZvY3VzU2NvcGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LWZvY3VzLXNjb3BlXCI7XG5pbXBvcnQgeyB1c2VJZCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtaWRcIjtcbmltcG9ydCAqIGFzIFBvcHBlclByaW1pdGl2ZSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXBvcHBlclwiO1xuaW1wb3J0IHsgY3JlYXRlUG9wcGVyU2NvcGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXBvcHBlclwiO1xuaW1wb3J0IHsgUG9ydGFsIGFzIFBvcnRhbFByaW1pdGl2ZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcG9ydGFsXCI7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgU2xvdCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3Qtc2xvdFwiO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2tSZWYgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1jYWxsYmFjay1yZWZcIjtcbmltcG9ydCB7IHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtY29udHJvbGxhYmxlLXN0YXRlXCI7XG5pbXBvcnQgeyB1c2VMYXlvdXRFZmZlY3QgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1sYXlvdXQtZWZmZWN0XCI7XG5pbXBvcnQgeyB1c2VQcmV2aW91cyB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdXNlLXByZXZpb3VzXCI7XG5pbXBvcnQgeyBWaXN1YWxseUhpZGRlbiB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdmlzdWFsbHktaGlkZGVuXCI7XG5pbXBvcnQgeyBoaWRlT3RoZXJzIH0gZnJvbSBcImFyaWEtaGlkZGVuXCI7XG5pbXBvcnQgeyBSZW1vdmVTY3JvbGwgfSBmcm9tIFwicmVhY3QtcmVtb3ZlLXNjcm9sbFwiO1xuaW1wb3J0IHsgRnJhZ21lbnQsIGpzeCwganN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIE9QRU5fS0VZUyA9IFtcIiBcIiwgXCJFbnRlclwiLCBcIkFycm93VXBcIiwgXCJBcnJvd0Rvd25cIl07XG52YXIgU0VMRUNUSU9OX0tFWVMgPSBbXCIgXCIsIFwiRW50ZXJcIl07XG52YXIgU0VMRUNUX05BTUUgPSBcIlNlbGVjdFwiO1xudmFyIFtDb2xsZWN0aW9uLCB1c2VDb2xsZWN0aW9uLCBjcmVhdGVDb2xsZWN0aW9uU2NvcGVdID0gY3JlYXRlQ29sbGVjdGlvbihTRUxFQ1RfTkFNRSk7XG52YXIgW2NyZWF0ZVNlbGVjdENvbnRleHQsIGNyZWF0ZVNlbGVjdFNjb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShTRUxFQ1RfTkFNRSwgW1xuICBjcmVhdGVDb2xsZWN0aW9uU2NvcGUsXG4gIGNyZWF0ZVBvcHBlclNjb3BlXG5dKTtcbnZhciB1c2VQb3BwZXJTY29wZSA9IGNyZWF0ZVBvcHBlclNjb3BlKCk7XG52YXIgW1NlbGVjdFByb3ZpZGVyLCB1c2VTZWxlY3RDb250ZXh0XSA9IGNyZWF0ZVNlbGVjdENvbnRleHQoU0VMRUNUX05BTUUpO1xudmFyIFtTZWxlY3ROYXRpdmVPcHRpb25zUHJvdmlkZXIsIHVzZVNlbGVjdE5hdGl2ZU9wdGlvbnNDb250ZXh0XSA9IGNyZWF0ZVNlbGVjdENvbnRleHQoU0VMRUNUX05BTUUpO1xudmFyIFNlbGVjdCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgX19zY29wZVNlbGVjdCxcbiAgICBjaGlsZHJlbixcbiAgICBvcGVuOiBvcGVuUHJvcCxcbiAgICBkZWZhdWx0T3BlbixcbiAgICBvbk9wZW5DaGFuZ2UsXG4gICAgdmFsdWU6IHZhbHVlUHJvcCxcbiAgICBkZWZhdWx0VmFsdWUsXG4gICAgb25WYWx1ZUNoYW5nZSxcbiAgICBkaXIsXG4gICAgbmFtZSxcbiAgICBhdXRvQ29tcGxldGUsXG4gICAgZGlzYWJsZWQsXG4gICAgcmVxdWlyZWQsXG4gICAgZm9ybVxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvcHBlclNjb3BlID0gdXNlUG9wcGVyU2NvcGUoX19zY29wZVNlbGVjdCk7XG4gIGNvbnN0IFt0cmlnZ2VyLCBzZXRUcmlnZ2VyXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbdmFsdWVOb2RlLCBzZXRWYWx1ZU5vZGVdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IFt2YWx1ZU5vZGVIYXNDaGlsZHJlbiwgc2V0VmFsdWVOb2RlSGFzQ2hpbGRyZW5dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBkaXJlY3Rpb24gPSB1c2VEaXJlY3Rpb24oZGlyKTtcbiAgY29uc3QgW29wZW4gPSBmYWxzZSwgc2V0T3Blbl0gPSB1c2VDb250cm9sbGFibGVTdGF0ZSh7XG4gICAgcHJvcDogb3BlblByb3AsXG4gICAgZGVmYXVsdFByb3A6IGRlZmF1bHRPcGVuLFxuICAgIG9uQ2hhbmdlOiBvbk9wZW5DaGFuZ2VcbiAgfSk7XG4gIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgIHByb3A6IHZhbHVlUHJvcCxcbiAgICBkZWZhdWx0UHJvcDogZGVmYXVsdFZhbHVlLFxuICAgIG9uQ2hhbmdlOiBvblZhbHVlQ2hhbmdlXG4gIH0pO1xuICBjb25zdCB0cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IGlzRm9ybUNvbnRyb2wgPSB0cmlnZ2VyID8gZm9ybSB8fCAhIXRyaWdnZXIuY2xvc2VzdChcImZvcm1cIikgOiB0cnVlO1xuICBjb25zdCBbbmF0aXZlT3B0aW9uc1NldCwgc2V0TmF0aXZlT3B0aW9uc1NldF0gPSBSZWFjdC51c2VTdGF0ZSgvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpKTtcbiAgY29uc3QgbmF0aXZlU2VsZWN0S2V5ID0gQXJyYXkuZnJvbShuYXRpdmVPcHRpb25zU2V0KS5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnByb3BzLnZhbHVlKS5qb2luKFwiO1wiKTtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUG9wcGVyUHJpbWl0aXZlLlJvb3QsIHsgLi4ucG9wcGVyU2NvcGUsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhcbiAgICBTZWxlY3RQcm92aWRlcixcbiAgICB7XG4gICAgICByZXF1aXJlZCxcbiAgICAgIHNjb3BlOiBfX3Njb3BlU2VsZWN0LFxuICAgICAgdHJpZ2dlcixcbiAgICAgIG9uVHJpZ2dlckNoYW5nZTogc2V0VHJpZ2dlcixcbiAgICAgIHZhbHVlTm9kZSxcbiAgICAgIG9uVmFsdWVOb2RlQ2hhbmdlOiBzZXRWYWx1ZU5vZGUsXG4gICAgICB2YWx1ZU5vZGVIYXNDaGlsZHJlbixcbiAgICAgIG9uVmFsdWVOb2RlSGFzQ2hpbGRyZW5DaGFuZ2U6IHNldFZhbHVlTm9kZUhhc0NoaWxkcmVuLFxuICAgICAgY29udGVudElkOiB1c2VJZCgpLFxuICAgICAgdmFsdWUsXG4gICAgICBvblZhbHVlQ2hhbmdlOiBzZXRWYWx1ZSxcbiAgICAgIG9wZW4sXG4gICAgICBvbk9wZW5DaGFuZ2U6IHNldE9wZW4sXG4gICAgICBkaXI6IGRpcmVjdGlvbixcbiAgICAgIHRyaWdnZXJQb2ludGVyRG93blBvc1JlZixcbiAgICAgIGRpc2FibGVkLFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgLyogQF9fUFVSRV9fICovIGpzeChDb2xsZWN0aW9uLlByb3ZpZGVyLCB7IHNjb3BlOiBfX3Njb3BlU2VsZWN0LCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgICBTZWxlY3ROYXRpdmVPcHRpb25zUHJvdmlkZXIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc2NvcGU6IHByb3BzLl9fc2NvcGVTZWxlY3QsXG4gICAgICAgICAgICBvbk5hdGl2ZU9wdGlvbkFkZDogUmVhY3QudXNlQ2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICBzZXROYXRpdmVPcHRpb25zU2V0KChwcmV2KSA9PiBuZXcgU2V0KHByZXYpLmFkZChvcHRpb24pKTtcbiAgICAgICAgICAgIH0sIFtdKSxcbiAgICAgICAgICAgIG9uTmF0aXZlT3B0aW9uUmVtb3ZlOiBSZWFjdC51c2VDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIHNldE5hdGl2ZU9wdGlvbnNTZXQoKHByZXYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zU2V0ID0gbmV3IFNldChwcmV2KTtcbiAgICAgICAgICAgICAgICBvcHRpb25zU2V0LmRlbGV0ZShvcHRpb24pO1xuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zU2V0O1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIFtdKSxcbiAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICAgfVxuICAgICAgICApIH0pLFxuICAgICAgICBpc0Zvcm1Db250cm9sID8gLyogQF9fUFVSRV9fICovIGpzeHMoXG4gICAgICAgICAgQnViYmxlU2VsZWN0LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiYXJpYS1oaWRkZW5cIjogdHJ1ZSxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIGF1dG9Db21wbGV0ZSxcbiAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgb25DaGFuZ2U6IChldmVudCkgPT4gc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKSxcbiAgICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgICAgZm9ybSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgIHZhbHVlID09PSB2b2lkIDAgPyAvKiBAX19QVVJFX18gKi8ganN4KFwib3B0aW9uXCIsIHsgdmFsdWU6IFwiXCIgfSkgOiBudWxsLFxuICAgICAgICAgICAgICBBcnJheS5mcm9tKG5hdGl2ZU9wdGlvbnNTZXQpXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBuYXRpdmVTZWxlY3RLZXlcbiAgICAgICAgKSA6IG51bGxcbiAgICAgIF1cbiAgICB9XG4gICkgfSk7XG59O1xuU2VsZWN0LmRpc3BsYXlOYW1lID0gU0VMRUNUX05BTUU7XG52YXIgVFJJR0dFUl9OQU1FID0gXCJTZWxlY3RUcmlnZ2VyXCI7XG52YXIgU2VsZWN0VHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCBkaXNhYmxlZCA9IGZhbHNlLCAuLi50cmlnZ2VyUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHBvcHBlclNjb3BlID0gdXNlUG9wcGVyU2NvcGUoX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNlbGVjdENvbnRleHQoVFJJR0dFUl9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gY29udGV4dC5kaXNhYmxlZCB8fCBkaXNhYmxlZDtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBjb250ZXh0Lm9uVHJpZ2dlckNoYW5nZSk7XG4gICAgY29uc3QgZ2V0SXRlbXMgPSB1c2VDb2xsZWN0aW9uKF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IHBvaW50ZXJUeXBlUmVmID0gUmVhY3QudXNlUmVmKFwidG91Y2hcIik7XG4gICAgY29uc3QgW3NlYXJjaFJlZiwgaGFuZGxlVHlwZWFoZWFkU2VhcmNoLCByZXNldFR5cGVhaGVhZF0gPSB1c2VUeXBlYWhlYWRTZWFyY2goKHNlYXJjaCkgPT4ge1xuICAgICAgY29uc3QgZW5hYmxlZEl0ZW1zID0gZ2V0SXRlbXMoKS5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmRpc2FibGVkKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gZW5hYmxlZEl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IGNvbnRleHQudmFsdWUpO1xuICAgICAgY29uc3QgbmV4dEl0ZW0gPSBmaW5kTmV4dEl0ZW0oZW5hYmxlZEl0ZW1zLCBzZWFyY2gsIGN1cnJlbnRJdGVtKTtcbiAgICAgIGlmIChuZXh0SXRlbSAhPT0gdm9pZCAwKSB7XG4gICAgICAgIGNvbnRleHQub25WYWx1ZUNoYW5nZShuZXh0SXRlbS52YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbiA9IChwb2ludGVyRXZlbnQpID0+IHtcbiAgICAgIGlmICghaXNEaXNhYmxlZCkge1xuICAgICAgICBjb250ZXh0Lm9uT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgcmVzZXRUeXBlYWhlYWQoKTtcbiAgICAgIH1cbiAgICAgIGlmIChwb2ludGVyRXZlbnQpIHtcbiAgICAgICAgY29udGV4dC50cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWYuY3VycmVudCA9IHtcbiAgICAgICAgICB4OiBNYXRoLnJvdW5kKHBvaW50ZXJFdmVudC5wYWdlWCksXG4gICAgICAgICAgeTogTWF0aC5yb3VuZChwb2ludGVyRXZlbnQucGFnZVkpXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQb3BwZXJQcmltaXRpdmUuQW5jaG9yLCB7IGFzQ2hpbGQ6IHRydWUsIC4uLnBvcHBlclNjb3BlLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFByaW1pdGl2ZS5idXR0b24sXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgIHJvbGU6IFwiY29tYm9ib3hcIixcbiAgICAgICAgXCJhcmlhLWNvbnRyb2xzXCI6IGNvbnRleHQuY29udGVudElkLFxuICAgICAgICBcImFyaWEtZXhwYW5kZWRcIjogY29udGV4dC5vcGVuLFxuICAgICAgICBcImFyaWEtcmVxdWlyZWRcIjogY29udGV4dC5yZXF1aXJlZCxcbiAgICAgICAgXCJhcmlhLWF1dG9jb21wbGV0ZVwiOiBcIm5vbmVcIixcbiAgICAgICAgZGlyOiBjb250ZXh0LmRpcixcbiAgICAgICAgXCJkYXRhLXN0YXRlXCI6IGNvbnRleHQub3BlbiA/IFwib3BlblwiIDogXCJjbG9zZWRcIixcbiAgICAgICAgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIFwiZGF0YS1kaXNhYmxlZFwiOiBpc0Rpc2FibGVkID8gXCJcIiA6IHZvaWQgMCxcbiAgICAgICAgXCJkYXRhLXBsYWNlaG9sZGVyXCI6IHNob3VsZFNob3dQbGFjZWhvbGRlcihjb250ZXh0LnZhbHVlKSA/IFwiXCIgOiB2b2lkIDAsXG4gICAgICAgIC4uLnRyaWdnZXJQcm9wcyxcbiAgICAgICAgcmVmOiBjb21wb3NlZFJlZnMsXG4gICAgICAgIG9uQ2xpY2s6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHRyaWdnZXJQcm9wcy5vbkNsaWNrLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICBldmVudC5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgICAgaWYgKHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQgIT09IFwibW91c2VcIikge1xuICAgICAgICAgICAgaGFuZGxlT3BlbihldmVudCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgb25Qb2ludGVyRG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnModHJpZ2dlclByb3BzLm9uUG9pbnRlckRvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgIHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQgPSBldmVudC5wb2ludGVyVHlwZTtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgICAgaWYgKHRhcmdldC5oYXNQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpKSB7XG4gICAgICAgICAgICB0YXJnZXQucmVsZWFzZVBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChldmVudC5idXR0b24gPT09IDAgJiYgZXZlbnQuY3RybEtleSA9PT0gZmFsc2UgJiYgZXZlbnQucG9pbnRlclR5cGUgPT09IFwibW91c2VcIikge1xuICAgICAgICAgICAgaGFuZGxlT3BlbihldmVudCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIG9uS2V5RG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnModHJpZ2dlclByb3BzLm9uS2V5RG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgaXNUeXBpbmdBaGVhZCA9IHNlYXJjaFJlZi5jdXJyZW50ICE9PSBcIlwiO1xuICAgICAgICAgIGNvbnN0IGlzTW9kaWZpZXJLZXkgPSBldmVudC5jdHJsS2V5IHx8IGV2ZW50LmFsdEtleSB8fCBldmVudC5tZXRhS2V5O1xuICAgICAgICAgIGlmICghaXNNb2RpZmllcktleSAmJiBldmVudC5rZXkubGVuZ3RoID09PSAxKSBoYW5kbGVUeXBlYWhlYWRTZWFyY2goZXZlbnQua2V5KTtcbiAgICAgICAgICBpZiAoaXNUeXBpbmdBaGVhZCAmJiBldmVudC5rZXkgPT09IFwiIFwiKSByZXR1cm47XG4gICAgICAgICAgaWYgKE9QRU5fS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICBoYW5kbGVPcGVuKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICApIH0pO1xuICB9XG4pO1xuU2VsZWN0VHJpZ2dlci5kaXNwbGF5TmFtZSA9IFRSSUdHRVJfTkFNRTtcbnZhciBWQUxVRV9OQU1FID0gXCJTZWxlY3RWYWx1ZVwiO1xudmFyIFNlbGVjdFZhbHVlID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIGNsYXNzTmFtZSwgc3R5bGUsIGNoaWxkcmVuLCBwbGFjZWhvbGRlciA9IFwiXCIsIC4uLnZhbHVlUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTZWxlY3RDb250ZXh0KFZBTFVFX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IHsgb25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZSB9ID0gY29udGV4dDtcbiAgICBjb25zdCBoYXNDaGlsZHJlbiA9IGNoaWxkcmVuICE9PSB2b2lkIDA7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgY29udGV4dC5vblZhbHVlTm9kZUNoYW5nZSk7XG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgIG9uVmFsdWVOb2RlSGFzQ2hpbGRyZW5DaGFuZ2UoaGFzQ2hpbGRyZW4pO1xuICAgIH0sIFtvblZhbHVlTm9kZUhhc0NoaWxkcmVuQ2hhbmdlLCBoYXNDaGlsZHJlbl0pO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgUHJpbWl0aXZlLnNwYW4sXG4gICAgICB7XG4gICAgICAgIC4uLnZhbHVlUHJvcHMsXG4gICAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgICBzdHlsZTogeyBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIiB9LFxuICAgICAgICBjaGlsZHJlbjogc2hvdWxkU2hvd1BsYWNlaG9sZGVyKGNvbnRleHQudmFsdWUpID8gLyogQF9fUFVSRV9fICovIGpzeChGcmFnbWVudCwgeyBjaGlsZHJlbjogcGxhY2Vob2xkZXIgfSkgOiBjaGlsZHJlblxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5TZWxlY3RWYWx1ZS5kaXNwbGF5TmFtZSA9IFZBTFVFX05BTUU7XG52YXIgSUNPTl9OQU1FID0gXCJTZWxlY3RJY29uXCI7XG52YXIgU2VsZWN0SWNvbiA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCBjaGlsZHJlbiwgLi4uaWNvblByb3BzIH0gPSBwcm9wcztcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQcmltaXRpdmUuc3BhbiwgeyBcImFyaWEtaGlkZGVuXCI6IHRydWUsIC4uLmljb25Qcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYsIGNoaWxkcmVuOiBjaGlsZHJlbiB8fCBcIlxcdTI1QkNcIiB9KTtcbiAgfVxuKTtcblNlbGVjdEljb24uZGlzcGxheU5hbWUgPSBJQ09OX05BTUU7XG52YXIgUE9SVEFMX05BTUUgPSBcIlNlbGVjdFBvcnRhbFwiO1xudmFyIFNlbGVjdFBvcnRhbCA9IChwcm9wcykgPT4ge1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQb3J0YWxQcmltaXRpdmUsIHsgYXNDaGlsZDogdHJ1ZSwgLi4ucHJvcHMgfSk7XG59O1xuU2VsZWN0UG9ydGFsLmRpc3BsYXlOYW1lID0gUE9SVEFMX05BTUU7XG52YXIgQ09OVEVOVF9OQU1FID0gXCJTZWxlY3RDb250ZW50XCI7XG52YXIgU2VsZWN0Q29udGVudCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVNlbGVjdENvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbZnJhZ21lbnQsIHNldEZyYWdtZW50XSA9IFJlYWN0LnVzZVN0YXRlKCk7XG4gICAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgIHNldEZyYWdtZW50KG5ldyBEb2N1bWVudEZyYWdtZW50KCkpO1xuICAgIH0sIFtdKTtcbiAgICBpZiAoIWNvbnRleHQub3Blbikge1xuICAgICAgY29uc3QgZnJhZyA9IGZyYWdtZW50O1xuICAgICAgcmV0dXJuIGZyYWcgPyBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgIC8qIEBfX1BVUkVfXyAqLyBqc3goU2VsZWN0Q29udGVudFByb3ZpZGVyLCB7IHNjb3BlOiBwcm9wcy5fX3Njb3BlU2VsZWN0LCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChDb2xsZWN0aW9uLlNsb3QsIHsgc2NvcGU6IHByb3BzLl9fc2NvcGVTZWxlY3QsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFwiZGl2XCIsIHsgY2hpbGRyZW46IHByb3BzLmNoaWxkcmVuIH0pIH0pIH0pLFxuICAgICAgICBmcmFnXG4gICAgICApIDogbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goU2VsZWN0Q29udGVudEltcGwsIHsgLi4ucHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pO1xuICB9XG4pO1xuU2VsZWN0Q29udGVudC5kaXNwbGF5TmFtZSA9IENPTlRFTlRfTkFNRTtcbnZhciBDT05URU5UX01BUkdJTiA9IDEwO1xudmFyIFtTZWxlY3RDb250ZW50UHJvdmlkZXIsIHVzZVNlbGVjdENvbnRlbnRDb250ZXh0XSA9IGNyZWF0ZVNlbGVjdENvbnRleHQoQ09OVEVOVF9OQU1FKTtcbnZhciBDT05URU5UX0lNUExfTkFNRSA9IFwiU2VsZWN0Q29udGVudEltcGxcIjtcbnZhciBTZWxlY3RDb250ZW50SW1wbCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgX19zY29wZVNlbGVjdCxcbiAgICAgIHBvc2l0aW9uID0gXCJpdGVtLWFsaWduZWRcIixcbiAgICAgIG9uQ2xvc2VBdXRvRm9jdXMsXG4gICAgICBvbkVzY2FwZUtleURvd24sXG4gICAgICBvblBvaW50ZXJEb3duT3V0c2lkZSxcbiAgICAgIC8vXG4gICAgICAvLyBQb3BwZXJDb250ZW50IHByb3BzXG4gICAgICBzaWRlLFxuICAgICAgc2lkZU9mZnNldCxcbiAgICAgIGFsaWduLFxuICAgICAgYWxpZ25PZmZzZXQsXG4gICAgICBhcnJvd1BhZGRpbmcsXG4gICAgICBjb2xsaXNpb25Cb3VuZGFyeSxcbiAgICAgIGNvbGxpc2lvblBhZGRpbmcsXG4gICAgICBzdGlja3ksXG4gICAgICBoaWRlV2hlbkRldGFjaGVkLFxuICAgICAgYXZvaWRDb2xsaXNpb25zLFxuICAgICAgLy9cbiAgICAgIC4uLmNvbnRlbnRQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlU2VsZWN0Q29udGV4dChDT05URU5UX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IFtjb250ZW50LCBzZXRDb250ZW50XSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IFt2aWV3cG9ydCwgc2V0Vmlld3BvcnRdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgKG5vZGUpID0+IHNldENvbnRlbnQobm9kZSkpO1xuICAgIGNvbnN0IFtzZWxlY3RlZEl0ZW0sIHNldFNlbGVjdGVkSXRlbV0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJdGVtVGV4dCwgc2V0U2VsZWN0ZWRJdGVtVGV4dF0gPSBSZWFjdC51c2VTdGF0ZShcbiAgICAgIG51bGxcbiAgICApO1xuICAgIGNvbnN0IGdldEl0ZW1zID0gdXNlQ29sbGVjdGlvbihfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBbaXNQb3NpdGlvbmVkLCBzZXRJc1Bvc2l0aW9uZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGZpcnN0VmFsaWRJdGVtRm91bmRSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoY29udGVudCkgcmV0dXJuIGhpZGVPdGhlcnMoY29udGVudCk7XG4gICAgfSwgW2NvbnRlbnRdKTtcbiAgICB1c2VGb2N1c0d1YXJkcygpO1xuICAgIGNvbnN0IGZvY3VzRmlyc3QgPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAgIChjYW5kaWRhdGVzKSA9PiB7XG4gICAgICAgIGNvbnN0IFtmaXJzdEl0ZW0sIC4uLnJlc3RJdGVtc10gPSBnZXRJdGVtcygpLm1hcCgoaXRlbSkgPT4gaXRlbS5yZWYuY3VycmVudCk7XG4gICAgICAgIGNvbnN0IFtsYXN0SXRlbV0gPSByZXN0SXRlbXMuc2xpY2UoLTEpO1xuICAgICAgICBjb25zdCBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIGNhbmRpZGF0ZXMpIHtcbiAgICAgICAgICBpZiAoY2FuZGlkYXRlID09PSBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCkgcmV0dXJuO1xuICAgICAgICAgIGNhbmRpZGF0ZT8uc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogXCJuZWFyZXN0XCIgfSk7XG4gICAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PT0gZmlyc3RJdGVtICYmIHZpZXdwb3J0KSB2aWV3cG9ydC5zY3JvbGxUb3AgPSAwO1xuICAgICAgICAgIGlmIChjYW5kaWRhdGUgPT09IGxhc3RJdGVtICYmIHZpZXdwb3J0KSB2aWV3cG9ydC5zY3JvbGxUb3AgPSB2aWV3cG9ydC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgICAgY2FuZGlkYXRlPy5mb2N1cygpO1xuICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ICE9PSBQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCkgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2dldEl0ZW1zLCB2aWV3cG9ydF1cbiAgICApO1xuICAgIGNvbnN0IGZvY3VzU2VsZWN0ZWRJdGVtID0gUmVhY3QudXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PiBmb2N1c0ZpcnN0KFtzZWxlY3RlZEl0ZW0sIGNvbnRlbnRdKSxcbiAgICAgIFtmb2N1c0ZpcnN0LCBzZWxlY3RlZEl0ZW0sIGNvbnRlbnRdXG4gICAgKTtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGlzUG9zaXRpb25lZCkge1xuICAgICAgICBmb2N1c1NlbGVjdGVkSXRlbSgpO1xuICAgICAgfVxuICAgIH0sIFtpc1Bvc2l0aW9uZWQsIGZvY3VzU2VsZWN0ZWRJdGVtXSk7XG4gICAgY29uc3QgeyBvbk9wZW5DaGFuZ2UsIHRyaWdnZXJQb2ludGVyRG93blBvc1JlZiB9ID0gY29udGV4dDtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgbGV0IHBvaW50ZXJNb3ZlRGVsdGEgPSB7IHg6IDAsIHk6IDAgfTtcbiAgICAgICAgY29uc3QgaGFuZGxlUG9pbnRlck1vdmUgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICBwb2ludGVyTW92ZURlbHRhID0ge1xuICAgICAgICAgICAgeDogTWF0aC5hYnMoTWF0aC5yb3VuZChldmVudC5wYWdlWCkgLSAodHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmLmN1cnJlbnQ/LnggPz8gMCkpLFxuICAgICAgICAgICAgeTogTWF0aC5hYnMoTWF0aC5yb3VuZChldmVudC5wYWdlWSkgLSAodHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmLmN1cnJlbnQ/LnkgPz8gMCkpXG4gICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgaGFuZGxlUG9pbnRlclVwID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHBvaW50ZXJNb3ZlRGVsdGEueCA8PSAxMCAmJiBwb2ludGVyTW92ZURlbHRhLnkgPD0gMTApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghY29udGVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICAgIG9uT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVybW92ZVwiLCBoYW5kbGVQb2ludGVyTW92ZSk7XG4gICAgICAgICAgdHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9O1xuICAgICAgICBpZiAodHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmLmN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwicG9pbnRlcm1vdmVcIiwgaGFuZGxlUG9pbnRlck1vdmUpO1xuICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIiwgaGFuZGxlUG9pbnRlclVwLCB7IGNhcHR1cmU6IHRydWUsIG9uY2U6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcm1vdmVcIiwgaGFuZGxlUG9pbnRlck1vdmUpO1xuICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIiwgaGFuZGxlUG9pbnRlclVwLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSwgW2NvbnRlbnQsIG9uT3BlbkNoYW5nZSwgdHJpZ2dlclBvaW50ZXJEb3duUG9zUmVmXSk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGNsb3NlID0gKCkgPT4gb25PcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCBjbG9zZSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjbG9zZSk7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImJsdXJcIiwgY2xvc2UpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInJlc2l6ZVwiLCBjbG9zZSk7XG4gICAgICB9O1xuICAgIH0sIFtvbk9wZW5DaGFuZ2VdKTtcbiAgICBjb25zdCBbc2VhcmNoUmVmLCBoYW5kbGVUeXBlYWhlYWRTZWFyY2hdID0gdXNlVHlwZWFoZWFkU2VhcmNoKChzZWFyY2gpID0+IHtcbiAgICAgIGNvbnN0IGVuYWJsZWRJdGVtcyA9IGdldEl0ZW1zKCkuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCk7XG4gICAgICBjb25zdCBjdXJyZW50SXRlbSA9IGVuYWJsZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLnJlZi5jdXJyZW50ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtcbiAgICAgIGNvbnN0IG5leHRJdGVtID0gZmluZE5leHRJdGVtKGVuYWJsZWRJdGVtcywgc2VhcmNoLCBjdXJyZW50SXRlbSk7XG4gICAgICBpZiAobmV4dEl0ZW0pIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiBuZXh0SXRlbS5yZWYuY3VycmVudC5mb2N1cygpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBpdGVtUmVmQ2FsbGJhY2sgPSBSZWFjdC51c2VDYWxsYmFjayhcbiAgICAgIChub2RlLCB2YWx1ZSwgZGlzYWJsZWQpID0+IHtcbiAgICAgICAgY29uc3QgaXNGaXJzdFZhbGlkSXRlbSA9ICFmaXJzdFZhbGlkSXRlbUZvdW5kUmVmLmN1cnJlbnQgJiYgIWRpc2FibGVkO1xuICAgICAgICBjb25zdCBpc1NlbGVjdGVkSXRlbSA9IGNvbnRleHQudmFsdWUgIT09IHZvaWQgMCAmJiBjb250ZXh0LnZhbHVlID09PSB2YWx1ZTtcbiAgICAgICAgaWYgKGlzU2VsZWN0ZWRJdGVtIHx8IGlzRmlyc3RWYWxpZEl0ZW0pIHtcbiAgICAgICAgICBzZXRTZWxlY3RlZEl0ZW0obm9kZSk7XG4gICAgICAgICAgaWYgKGlzRmlyc3RWYWxpZEl0ZW0pIGZpcnN0VmFsaWRJdGVtRm91bmRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbY29udGV4dC52YWx1ZV1cbiAgICApO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1MZWF2ZSA9IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IGNvbnRlbnQ/LmZvY3VzKCksIFtjb250ZW50XSk7XG4gICAgY29uc3QgaXRlbVRleHRSZWZDYWxsYmFjayA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICAgKG5vZGUsIHZhbHVlLCBkaXNhYmxlZCkgPT4ge1xuICAgICAgICBjb25zdCBpc0ZpcnN0VmFsaWRJdGVtID0gIWZpcnN0VmFsaWRJdGVtRm91bmRSZWYuY3VycmVudCAmJiAhZGlzYWJsZWQ7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0ZWRJdGVtID0gY29udGV4dC52YWx1ZSAhPT0gdm9pZCAwICYmIGNvbnRleHQudmFsdWUgPT09IHZhbHVlO1xuICAgICAgICBpZiAoaXNTZWxlY3RlZEl0ZW0gfHwgaXNGaXJzdFZhbGlkSXRlbSkge1xuICAgICAgICAgIHNldFNlbGVjdGVkSXRlbVRleHQobm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbY29udGV4dC52YWx1ZV1cbiAgICApO1xuICAgIGNvbnN0IFNlbGVjdFBvc2l0aW9uID0gcG9zaXRpb24gPT09IFwicG9wcGVyXCIgPyBTZWxlY3RQb3BwZXJQb3NpdGlvbiA6IFNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb247XG4gICAgY29uc3QgcG9wcGVyQ29udGVudFByb3BzID0gU2VsZWN0UG9zaXRpb24gPT09IFNlbGVjdFBvcHBlclBvc2l0aW9uID8ge1xuICAgICAgc2lkZSxcbiAgICAgIHNpZGVPZmZzZXQsXG4gICAgICBhbGlnbixcbiAgICAgIGFsaWduT2Zmc2V0LFxuICAgICAgYXJyb3dQYWRkaW5nLFxuICAgICAgY29sbGlzaW9uQm91bmRhcnksXG4gICAgICBjb2xsaXNpb25QYWRkaW5nLFxuICAgICAgc3RpY2t5LFxuICAgICAgaGlkZVdoZW5EZXRhY2hlZCxcbiAgICAgIGF2b2lkQ29sbGlzaW9uc1xuICAgIH0gOiB7fTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFNlbGVjdENvbnRlbnRQcm92aWRlcixcbiAgICAgIHtcbiAgICAgICAgc2NvcGU6IF9fc2NvcGVTZWxlY3QsXG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIHZpZXdwb3J0LFxuICAgICAgICBvblZpZXdwb3J0Q2hhbmdlOiBzZXRWaWV3cG9ydCxcbiAgICAgICAgaXRlbVJlZkNhbGxiYWNrLFxuICAgICAgICBzZWxlY3RlZEl0ZW0sXG4gICAgICAgIG9uSXRlbUxlYXZlOiBoYW5kbGVJdGVtTGVhdmUsXG4gICAgICAgIGl0ZW1UZXh0UmVmQ2FsbGJhY2ssXG4gICAgICAgIGZvY3VzU2VsZWN0ZWRJdGVtLFxuICAgICAgICBzZWxlY3RlZEl0ZW1UZXh0LFxuICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgaXNQb3NpdGlvbmVkLFxuICAgICAgICBzZWFyY2hSZWYsXG4gICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFJlbW92ZVNjcm9sbCwgeyBhczogU2xvdCwgYWxsb3dQaW5jaFpvb206IHRydWUsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICAgIEZvY3VzU2NvcGUsXG4gICAgICAgICAge1xuICAgICAgICAgICAgYXNDaGlsZDogdHJ1ZSxcbiAgICAgICAgICAgIHRyYXBwZWQ6IGNvbnRleHQub3BlbixcbiAgICAgICAgICAgIG9uTW91bnRBdXRvRm9jdXM6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uVW5tb3VudEF1dG9Gb2N1czogY29tcG9zZUV2ZW50SGFuZGxlcnMob25DbG9zZUF1dG9Gb2N1cywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnRleHQudHJpZ2dlcj8uZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgICAgICAgRGlzbWlzc2FibGVMYXllcixcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFzQ2hpbGQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZGlzYWJsZU91dHNpZGVQb2ludGVyRXZlbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9uRXNjYXBlS2V5RG93bixcbiAgICAgICAgICAgICAgICBvblBvaW50ZXJEb3duT3V0c2lkZSxcbiAgICAgICAgICAgICAgICBvbkZvY3VzT3V0c2lkZTogKGV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICAgICAgICAgIG9uRGlzbWlzczogKCkgPT4gY29udGV4dC5vbk9wZW5DaGFuZ2UoZmFsc2UpLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICAgICAgICAgICAgU2VsZWN0UG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJvbGU6IFwibGlzdGJveFwiLFxuICAgICAgICAgICAgICAgICAgICBpZDogY29udGV4dC5jb250ZW50SWQsXG4gICAgICAgICAgICAgICAgICAgIFwiZGF0YS1zdGF0ZVwiOiBjb250ZXh0Lm9wZW4gPyBcIm9wZW5cIiA6IFwiY2xvc2VkXCIsXG4gICAgICAgICAgICAgICAgICAgIGRpcjogY29udGV4dC5kaXIsXG4gICAgICAgICAgICAgICAgICAgIG9uQ29udGV4dE1lbnU6IChldmVudCkgPT4gZXZlbnQucHJldmVudERlZmF1bHQoKSxcbiAgICAgICAgICAgICAgICAgICAgLi4uY29udGVudFByb3BzLFxuICAgICAgICAgICAgICAgICAgICAuLi5wb3BwZXJDb250ZW50UHJvcHMsXG4gICAgICAgICAgICAgICAgICAgIG9uUGxhY2VkOiAoKSA9PiBzZXRJc1Bvc2l0aW9uZWQodHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIGZsZXggbGF5b3V0IHNvIHdlIGNhbiBwbGFjZSB0aGUgc2Nyb2xsIGJ1dHRvbnMgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IHRoZSBvdXRsaW5lIGJ5IGRlZmF1bHQgYXMgdGhlIGNvbnRlbnQgTUFZIGdldCBmb2N1c2VkXG4gICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgLi4uY29udGVudFByb3BzLnN0eWxlXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG9uS2V5RG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMoY29udGVudFByb3BzLm9uS2V5RG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNNb2RpZmllcktleSA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm1ldGFLZXk7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gXCJUYWJcIikgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzTW9kaWZpZXJLZXkgJiYgZXZlbnQua2V5Lmxlbmd0aCA9PT0gMSkgaGFuZGxlVHlwZWFoZWFkU2VhcmNoKGV2ZW50LmtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKFtcIkFycm93VXBcIiwgXCJBcnJvd0Rvd25cIiwgXCJIb21lXCIsIFwiRW5kXCJdLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZ2V0SXRlbXMoKS5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmRpc2FibGVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjYW5kaWRhdGVOb2RlcyA9IGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS5yZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoW1wiQXJyb3dVcFwiLCBcIkVuZFwiXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmRpZGF0ZU5vZGVzID0gY2FuZGlkYXRlTm9kZXMuc2xpY2UoKS5yZXZlcnNlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoW1wiQXJyb3dVcFwiLCBcIkFycm93RG93blwiXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBjYW5kaWRhdGVOb2Rlcy5pbmRleE9mKGN1cnJlbnRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuZGlkYXRlTm9kZXMgPSBjYW5kaWRhdGVOb2Rlcy5zbGljZShjdXJyZW50SW5kZXggKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZm9jdXNGaXJzdChjYW5kaWRhdGVOb2RlcykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICApIH0pXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcblNlbGVjdENvbnRlbnRJbXBsLmRpc3BsYXlOYW1lID0gQ09OVEVOVF9JTVBMX05BTUU7XG52YXIgSVRFTV9BTElHTkVEX1BPU0lUSU9OX05BTUUgPSBcIlNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb25cIjtcbnZhciBTZWxlY3RJdGVtQWxpZ25lZFBvc2l0aW9uID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIG9uUGxhY2VkLCAuLi5wb3BwZXJQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VTZWxlY3RDb250ZXh0KENPTlRFTlRfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gIGNvbnN0IGNvbnRlbnRDb250ZXh0ID0gdXNlU2VsZWN0Q29udGVudENvbnRleHQoQ09OVEVOVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgY29uc3QgW2NvbnRlbnRXcmFwcGVyLCBzZXRDb250ZW50V3JhcHBlcl0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgY29uc3QgW2NvbnRlbnQsIHNldENvbnRlbnRdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhmb3J3YXJkZWRSZWYsIChub2RlKSA9PiBzZXRDb250ZW50KG5vZGUpKTtcbiAgY29uc3QgZ2V0SXRlbXMgPSB1c2VDb2xsZWN0aW9uKF9fc2NvcGVTZWxlY3QpO1xuICBjb25zdCBzaG91bGRFeHBhbmRPblNjcm9sbFJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHNob3VsZFJlcG9zaXRpb25SZWYgPSBSZWFjdC51c2VSZWYodHJ1ZSk7XG4gIGNvbnN0IHsgdmlld3BvcnQsIHNlbGVjdGVkSXRlbSwgc2VsZWN0ZWRJdGVtVGV4dCwgZm9jdXNTZWxlY3RlZEl0ZW0gfSA9IGNvbnRlbnRDb250ZXh0O1xuICBjb25zdCBwb3NpdGlvbiA9IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoY29udGV4dC50cmlnZ2VyICYmIGNvbnRleHQudmFsdWVOb2RlICYmIGNvbnRlbnRXcmFwcGVyICYmIGNvbnRlbnQgJiYgdmlld3BvcnQgJiYgc2VsZWN0ZWRJdGVtICYmIHNlbGVjdGVkSXRlbVRleHQpIHtcbiAgICAgIGNvbnN0IHRyaWdnZXJSZWN0ID0gY29udGV4dC50cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgY29udGVudFJlY3QgPSBjb250ZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgdmFsdWVOb2RlUmVjdCA9IGNvbnRleHQudmFsdWVOb2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaXRlbVRleHRSZWN0ID0gc2VsZWN0ZWRJdGVtVGV4dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGlmIChjb250ZXh0LmRpciAhPT0gXCJydGxcIikge1xuICAgICAgICBjb25zdCBpdGVtVGV4dE9mZnNldCA9IGl0ZW1UZXh0UmVjdC5sZWZ0IC0gY29udGVudFJlY3QubGVmdDtcbiAgICAgICAgY29uc3QgbGVmdCA9IHZhbHVlTm9kZVJlY3QubGVmdCAtIGl0ZW1UZXh0T2Zmc2V0O1xuICAgICAgICBjb25zdCBsZWZ0RGVsdGEgPSB0cmlnZ2VyUmVjdC5sZWZ0IC0gbGVmdDtcbiAgICAgICAgY29uc3QgbWluQ29udGVudFdpZHRoID0gdHJpZ2dlclJlY3Qud2lkdGggKyBsZWZ0RGVsdGE7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRXaWR0aCA9IE1hdGgubWF4KG1pbkNvbnRlbnRXaWR0aCwgY29udGVudFJlY3Qud2lkdGgpO1xuICAgICAgICBjb25zdCByaWdodEVkZ2UgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIENPTlRFTlRfTUFSR0lOO1xuICAgICAgICBjb25zdCBjbGFtcGVkTGVmdCA9IGNsYW1wKGxlZnQsIFtcbiAgICAgICAgICBDT05URU5UX01BUkdJTixcbiAgICAgICAgICAvLyBQcmV2ZW50cyB0aGUgY29udGVudCBmcm9tIGdvaW5nIG9mZiB0aGUgc3RhcnRpbmcgZWRnZSBvZiB0aGVcbiAgICAgICAgICAvLyB2aWV3cG9ydC4gSXQgbWF5IHN0aWxsIGdvIG9mZiB0aGUgZW5kaW5nIGVkZ2UsIGJ1dCB0aGlzIGNhbiBiZVxuICAgICAgICAgIC8vIGNvbnRyb2xsZWQgYnkgdGhlIHVzZXIgc2luY2UgdGhleSBtYXkgd2FudCB0byBtYW5hZ2Ugb3ZlcmZsb3cgaW4gYVxuICAgICAgICAgIC8vIHNwZWNpZmljIHdheS5cbiAgICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcmFkaXgtdWkvcHJpbWl0aXZlcy9pc3N1ZXMvMjA0OVxuICAgICAgICAgIE1hdGgubWF4KENPTlRFTlRfTUFSR0lOLCByaWdodEVkZ2UgLSBjb250ZW50V2lkdGgpXG4gICAgICAgIF0pO1xuICAgICAgICBjb250ZW50V3JhcHBlci5zdHlsZS5taW5XaWR0aCA9IG1pbkNvbnRlbnRXaWR0aCArIFwicHhcIjtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUubGVmdCA9IGNsYW1wZWRMZWZ0ICsgXCJweFwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaXRlbVRleHRPZmZzZXQgPSBjb250ZW50UmVjdC5yaWdodCAtIGl0ZW1UZXh0UmVjdC5yaWdodDtcbiAgICAgICAgY29uc3QgcmlnaHQgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHZhbHVlTm9kZVJlY3QucmlnaHQgLSBpdGVtVGV4dE9mZnNldDtcbiAgICAgICAgY29uc3QgcmlnaHREZWx0YSA9IHdpbmRvdy5pbm5lcldpZHRoIC0gdHJpZ2dlclJlY3QucmlnaHQgLSByaWdodDtcbiAgICAgICAgY29uc3QgbWluQ29udGVudFdpZHRoID0gdHJpZ2dlclJlY3Qud2lkdGggKyByaWdodERlbHRhO1xuICAgICAgICBjb25zdCBjb250ZW50V2lkdGggPSBNYXRoLm1heChtaW5Db250ZW50V2lkdGgsIGNvbnRlbnRSZWN0LndpZHRoKTtcbiAgICAgICAgY29uc3QgbGVmdEVkZ2UgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIENPTlRFTlRfTUFSR0lOO1xuICAgICAgICBjb25zdCBjbGFtcGVkUmlnaHQgPSBjbGFtcChyaWdodCwgW1xuICAgICAgICAgIENPTlRFTlRfTUFSR0lOLFxuICAgICAgICAgIE1hdGgubWF4KENPTlRFTlRfTUFSR0lOLCBsZWZ0RWRnZSAtIGNvbnRlbnRXaWR0aClcbiAgICAgICAgXSk7XG4gICAgICAgIGNvbnRlbnRXcmFwcGVyLnN0eWxlLm1pbldpZHRoID0gbWluQ29udGVudFdpZHRoICsgXCJweFwiO1xuICAgICAgICBjb250ZW50V3JhcHBlci5zdHlsZS5yaWdodCA9IGNsYW1wZWRSaWdodCArIFwicHhcIjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGl0ZW1zID0gZ2V0SXRlbXMoKTtcbiAgICAgIGNvbnN0IGF2YWlsYWJsZUhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAtIENPTlRFTlRfTUFSR0lOICogMjtcbiAgICAgIGNvbnN0IGl0ZW1zSGVpZ2h0ID0gdmlld3BvcnQuc2Nyb2xsSGVpZ2h0O1xuICAgICAgY29uc3QgY29udGVudFN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGNvbnRlbnQpO1xuICAgICAgY29uc3QgY29udGVudEJvcmRlclRvcFdpZHRoID0gcGFyc2VJbnQoY29udGVudFN0eWxlcy5ib3JkZXJUb3BXaWR0aCwgMTApO1xuICAgICAgY29uc3QgY29udGVudFBhZGRpbmdUb3AgPSBwYXJzZUludChjb250ZW50U3R5bGVzLnBhZGRpbmdUb3AsIDEwKTtcbiAgICAgIGNvbnN0IGNvbnRlbnRCb3JkZXJCb3R0b21XaWR0aCA9IHBhcnNlSW50KGNvbnRlbnRTdHlsZXMuYm9yZGVyQm90dG9tV2lkdGgsIDEwKTtcbiAgICAgIGNvbnN0IGNvbnRlbnRQYWRkaW5nQm90dG9tID0gcGFyc2VJbnQoY29udGVudFN0eWxlcy5wYWRkaW5nQm90dG9tLCAxMCk7XG4gICAgICBjb25zdCBmdWxsQ29udGVudEhlaWdodCA9IGNvbnRlbnRCb3JkZXJUb3BXaWR0aCArIGNvbnRlbnRQYWRkaW5nVG9wICsgaXRlbXNIZWlnaHQgKyBjb250ZW50UGFkZGluZ0JvdHRvbSArIGNvbnRlbnRCb3JkZXJCb3R0b21XaWR0aDtcbiAgICAgIGNvbnN0IG1pbkNvbnRlbnRIZWlnaHQgPSBNYXRoLm1pbihzZWxlY3RlZEl0ZW0ub2Zmc2V0SGVpZ2h0ICogNSwgZnVsbENvbnRlbnRIZWlnaHQpO1xuICAgICAgY29uc3Qgdmlld3BvcnRTdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh2aWV3cG9ydCk7XG4gICAgICBjb25zdCB2aWV3cG9ydFBhZGRpbmdUb3AgPSBwYXJzZUludCh2aWV3cG9ydFN0eWxlcy5wYWRkaW5nVG9wLCAxMCk7XG4gICAgICBjb25zdCB2aWV3cG9ydFBhZGRpbmdCb3R0b20gPSBwYXJzZUludCh2aWV3cG9ydFN0eWxlcy5wYWRkaW5nQm90dG9tLCAxMCk7XG4gICAgICBjb25zdCB0b3BFZGdlVG9UcmlnZ2VyTWlkZGxlID0gdHJpZ2dlclJlY3QudG9wICsgdHJpZ2dlclJlY3QuaGVpZ2h0IC8gMiAtIENPTlRFTlRfTUFSR0lOO1xuICAgICAgY29uc3QgdHJpZ2dlck1pZGRsZVRvQm90dG9tRWRnZSA9IGF2YWlsYWJsZUhlaWdodCAtIHRvcEVkZ2VUb1RyaWdnZXJNaWRkbGU7XG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW1IYWxmSGVpZ2h0ID0gc2VsZWN0ZWRJdGVtLm9mZnNldEhlaWdodCAvIDI7XG4gICAgICBjb25zdCBpdGVtT2Zmc2V0TWlkZGxlID0gc2VsZWN0ZWRJdGVtLm9mZnNldFRvcCArIHNlbGVjdGVkSXRlbUhhbGZIZWlnaHQ7XG4gICAgICBjb25zdCBjb250ZW50VG9wVG9JdGVtTWlkZGxlID0gY29udGVudEJvcmRlclRvcFdpZHRoICsgY29udGVudFBhZGRpbmdUb3AgKyBpdGVtT2Zmc2V0TWlkZGxlO1xuICAgICAgY29uc3QgaXRlbU1pZGRsZVRvQ29udGVudEJvdHRvbSA9IGZ1bGxDb250ZW50SGVpZ2h0IC0gY29udGVudFRvcFRvSXRlbU1pZGRsZTtcbiAgICAgIGNvbnN0IHdpbGxBbGlnbldpdGhvdXRUb3BPdmVyZmxvdyA9IGNvbnRlbnRUb3BUb0l0ZW1NaWRkbGUgPD0gdG9wRWRnZVRvVHJpZ2dlck1pZGRsZTtcbiAgICAgIGlmICh3aWxsQWxpZ25XaXRob3V0VG9wT3ZlcmZsb3cpIHtcbiAgICAgICAgY29uc3QgaXNMYXN0SXRlbSA9IGl0ZW1zLmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWRJdGVtID09PSBpdGVtc1tpdGVtcy5sZW5ndGggLSAxXS5yZWYuY3VycmVudDtcbiAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuYm90dG9tID0gXCIwcHhcIjtcbiAgICAgICAgY29uc3Qgdmlld3BvcnRPZmZzZXRCb3R0b20gPSBjb250ZW50LmNsaWVudEhlaWdodCAtIHZpZXdwb3J0Lm9mZnNldFRvcCAtIHZpZXdwb3J0Lm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3QgY2xhbXBlZFRyaWdnZXJNaWRkbGVUb0JvdHRvbUVkZ2UgPSBNYXRoLm1heChcbiAgICAgICAgICB0cmlnZ2VyTWlkZGxlVG9Cb3R0b21FZGdlLFxuICAgICAgICAgIHNlbGVjdGVkSXRlbUhhbGZIZWlnaHQgKyAvLyB2aWV3cG9ydCBtaWdodCBoYXZlIHBhZGRpbmcgYm90dG9tLCBpbmNsdWRlIGl0IHRvIGF2b2lkIGEgc2Nyb2xsYWJsZSB2aWV3cG9ydFxuICAgICAgICAgIChpc0xhc3RJdGVtID8gdmlld3BvcnRQYWRkaW5nQm90dG9tIDogMCkgKyB2aWV3cG9ydE9mZnNldEJvdHRvbSArIGNvbnRlbnRCb3JkZXJCb3R0b21XaWR0aFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBjb250ZW50VG9wVG9JdGVtTWlkZGxlICsgY2xhbXBlZFRyaWdnZXJNaWRkbGVUb0JvdHRvbUVkZ2U7XG4gICAgICAgIGNvbnRlbnRXcmFwcGVyLnN0eWxlLmhlaWdodCA9IGhlaWdodCArIFwicHhcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGlzRmlyc3RJdGVtID0gaXRlbXMubGVuZ3RoID4gMCAmJiBzZWxlY3RlZEl0ZW0gPT09IGl0ZW1zWzBdLnJlZi5jdXJyZW50O1xuICAgICAgICBjb250ZW50V3JhcHBlci5zdHlsZS50b3AgPSBcIjBweFwiO1xuICAgICAgICBjb25zdCBjbGFtcGVkVG9wRWRnZVRvVHJpZ2dlck1pZGRsZSA9IE1hdGgubWF4KFxuICAgICAgICAgIHRvcEVkZ2VUb1RyaWdnZXJNaWRkbGUsXG4gICAgICAgICAgY29udGVudEJvcmRlclRvcFdpZHRoICsgdmlld3BvcnQub2Zmc2V0VG9wICsgLy8gdmlld3BvcnQgbWlnaHQgaGF2ZSBwYWRkaW5nIHRvcCwgaW5jbHVkZSBpdCB0byBhdm9pZCBhIHNjcm9sbGFibGUgdmlld3BvcnRcbiAgICAgICAgICAoaXNGaXJzdEl0ZW0gPyB2aWV3cG9ydFBhZGRpbmdUb3AgOiAwKSArIHNlbGVjdGVkSXRlbUhhbGZIZWlnaHRcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaGVpZ2h0ID0gY2xhbXBlZFRvcEVkZ2VUb1RyaWdnZXJNaWRkbGUgKyBpdGVtTWlkZGxlVG9Db250ZW50Qm90dG9tO1xuICAgICAgICBjb250ZW50V3JhcHBlci5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgKyBcInB4XCI7XG4gICAgICAgIHZpZXdwb3J0LnNjcm9sbFRvcCA9IGNvbnRlbnRUb3BUb0l0ZW1NaWRkbGUgLSB0b3BFZGdlVG9UcmlnZ2VyTWlkZGxlICsgdmlld3BvcnQub2Zmc2V0VG9wO1xuICAgICAgfVxuICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUubWFyZ2luID0gYCR7Q09OVEVOVF9NQVJHSU59cHggMGA7XG4gICAgICBjb250ZW50V3JhcHBlci5zdHlsZS5taW5IZWlnaHQgPSBtaW5Db250ZW50SGVpZ2h0ICsgXCJweFwiO1xuICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUubWF4SGVpZ2h0ID0gYXZhaWxhYmxlSGVpZ2h0ICsgXCJweFwiO1xuICAgICAgb25QbGFjZWQ/LigpO1xuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmLmN1cnJlbnQgPSB0cnVlKTtcbiAgICB9XG4gIH0sIFtcbiAgICBnZXRJdGVtcyxcbiAgICBjb250ZXh0LnRyaWdnZXIsXG4gICAgY29udGV4dC52YWx1ZU5vZGUsXG4gICAgY29udGVudFdyYXBwZXIsXG4gICAgY29udGVudCxcbiAgICB2aWV3cG9ydCxcbiAgICBzZWxlY3RlZEl0ZW0sXG4gICAgc2VsZWN0ZWRJdGVtVGV4dCxcbiAgICBjb250ZXh0LmRpcixcbiAgICBvblBsYWNlZFxuICBdKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHBvc2l0aW9uKCksIFtwb3NpdGlvbl0pO1xuICBjb25zdCBbY29udGVudFpJbmRleCwgc2V0Q29udGVudFpJbmRleF0gPSBSZWFjdC51c2VTdGF0ZSgpO1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjb250ZW50KSBzZXRDb250ZW50WkluZGV4KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGNvbnRlbnQpLnpJbmRleCk7XG4gIH0sIFtjb250ZW50XSk7XG4gIGNvbnN0IGhhbmRsZVNjcm9sbEJ1dHRvbkNoYW5nZSA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChub2RlKSA9PiB7XG4gICAgICBpZiAobm9kZSAmJiBzaG91bGRSZXBvc2l0aW9uUmVmLmN1cnJlbnQgPT09IHRydWUpIHtcbiAgICAgICAgcG9zaXRpb24oKTtcbiAgICAgICAgZm9jdXNTZWxlY3RlZEl0ZW0/LigpO1xuICAgICAgICBzaG91bGRSZXBvc2l0aW9uUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtwb3NpdGlvbiwgZm9jdXNTZWxlY3RlZEl0ZW1dXG4gICk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgIFNlbGVjdFZpZXdwb3J0UHJvdmlkZXIsXG4gICAge1xuICAgICAgc2NvcGU6IF9fc2NvcGVTZWxlY3QsXG4gICAgICBjb250ZW50V3JhcHBlcixcbiAgICAgIHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmLFxuICAgICAgb25TY3JvbGxCdXR0b25DaGFuZ2U6IGhhbmRsZVNjcm9sbEJ1dHRvbkNoYW5nZSxcbiAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICBcImRpdlwiLFxuICAgICAgICB7XG4gICAgICAgICAgcmVmOiBzZXRDb250ZW50V3JhcHBlcixcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgICAgIHpJbmRleDogY29udGVudFpJbmRleFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgICBQcmltaXRpdmUuZGl2LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5wb3BwZXJQcm9wcyxcbiAgICAgICAgICAgICAgcmVmOiBjb21wb3NlZFJlZnMsXG4gICAgICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICAgICAgLy8gV2hlbiB3ZSBnZXQgdGhlIGhlaWdodCBvZiB0aGUgY29udGVudCwgaXQgaW5jbHVkZXMgYm9yZGVycy4gSWYgd2Ugd2VyZSB0byBzZXRcbiAgICAgICAgICAgICAgICAvLyB0aGUgaGVpZ2h0IHdpdGhvdXQgaGF2aW5nIGBib3hTaXppbmc6ICdib3JkZXItYm94J2AgaXQgd291bGQgYmUgdG9vIGJpZy5cbiAgICAgICAgICAgICAgICBib3hTaXppbmc6IFwiYm9yZGVyLWJveFwiLFxuICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoZSBjb250ZW50IGRvZXNuJ3QgZ2V0IHRhbGxlciB0aGFuIHRoZSB3cmFwcGVyXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgICAuLi5wb3BwZXJQcm9wcy5zdHlsZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICApXG4gICAgfVxuICApO1xufSk7XG5TZWxlY3RJdGVtQWxpZ25lZFBvc2l0aW9uLmRpc3BsYXlOYW1lID0gSVRFTV9BTElHTkVEX1BPU0lUSU9OX05BTUU7XG52YXIgUE9QUEVSX1BPU0lUSU9OX05BTUUgPSBcIlNlbGVjdFBvcHBlclBvc2l0aW9uXCI7XG52YXIgU2VsZWN0UG9wcGVyUG9zaXRpb24gPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfX3Njb3BlU2VsZWN0LFxuICAgIGFsaWduID0gXCJzdGFydFwiLFxuICAgIGNvbGxpc2lvblBhZGRpbmcgPSBDT05URU5UX01BUkdJTixcbiAgICAuLi5wb3BwZXJQcm9wc1xuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHBvcHBlclNjb3BlID0gdXNlUG9wcGVyU2NvcGUoX19zY29wZVNlbGVjdCk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgIFBvcHBlclByaW1pdGl2ZS5Db250ZW50LFxuICAgIHtcbiAgICAgIC4uLnBvcHBlclNjb3BlLFxuICAgICAgLi4ucG9wcGVyUHJvcHMsXG4gICAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICAgIGFsaWduLFxuICAgICAgY29sbGlzaW9uUGFkZGluZyxcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIC8vIEVuc3VyZSBib3JkZXItYm94IGZvciBmbG9hdGluZy11aSBjYWxjdWxhdGlvbnNcbiAgICAgICAgYm94U2l6aW5nOiBcImJvcmRlci1ib3hcIixcbiAgICAgICAgLi4ucG9wcGVyUHJvcHMuc3R5bGUsXG4gICAgICAgIC8vIHJlLW5hbWVzcGFjZSBleHBvc2VkIGNvbnRlbnQgY3VzdG9tIHByb3BlcnRpZXNcbiAgICAgICAgLi4ue1xuICAgICAgICAgIFwiLS1yYWRpeC1zZWxlY3QtY29udGVudC10cmFuc2Zvcm0tb3JpZ2luXCI6IFwidmFyKC0tcmFkaXgtcG9wcGVyLXRyYW5zZm9ybS1vcmlnaW4pXCIsXG4gICAgICAgICAgXCItLXJhZGl4LXNlbGVjdC1jb250ZW50LWF2YWlsYWJsZS13aWR0aFwiOiBcInZhcigtLXJhZGl4LXBvcHBlci1hdmFpbGFibGUtd2lkdGgpXCIsXG4gICAgICAgICAgXCItLXJhZGl4LXNlbGVjdC1jb250ZW50LWF2YWlsYWJsZS1oZWlnaHRcIjogXCJ2YXIoLS1yYWRpeC1wb3BwZXItYXZhaWxhYmxlLWhlaWdodClcIixcbiAgICAgICAgICBcIi0tcmFkaXgtc2VsZWN0LXRyaWdnZXItd2lkdGhcIjogXCJ2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLXdpZHRoKVwiLFxuICAgICAgICAgIFwiLS1yYWRpeC1zZWxlY3QtdHJpZ2dlci1oZWlnaHRcIjogXCJ2YXIoLS1yYWRpeC1wb3BwZXItYW5jaG9yLWhlaWdodClcIlxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICApO1xufSk7XG5TZWxlY3RQb3BwZXJQb3NpdGlvbi5kaXNwbGF5TmFtZSA9IFBPUFBFUl9QT1NJVElPTl9OQU1FO1xudmFyIFtTZWxlY3RWaWV3cG9ydFByb3ZpZGVyLCB1c2VTZWxlY3RWaWV3cG9ydENvbnRleHRdID0gY3JlYXRlU2VsZWN0Q29udGV4dChDT05URU5UX05BTUUsIHt9KTtcbnZhciBWSUVXUE9SVF9OQU1FID0gXCJTZWxlY3RWaWV3cG9ydFwiO1xudmFyIFNlbGVjdFZpZXdwb3J0ID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIG5vbmNlLCAuLi52aWV3cG9ydFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KFZJRVdQT1JUX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IHZpZXdwb3J0Q29udGV4dCA9IHVzZVNlbGVjdFZpZXdwb3J0Q29udGV4dChWSUVXUE9SVF9OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCBjb250ZW50Q29udGV4dC5vblZpZXdwb3J0Q2hhbmdlKTtcbiAgICBjb25zdCBwcmV2U2Nyb2xsVG9wUmVmID0gUmVhY3QudXNlUmVmKDApO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhGcmFnbWVudCwgeyBjaGlsZHJlbjogW1xuICAgICAgLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgXCJzdHlsZVwiLFxuICAgICAgICB7XG4gICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgIF9faHRtbDogYFtkYXRhLXJhZGl4LXNlbGVjdC12aWV3cG9ydF17c2Nyb2xsYmFyLXdpZHRoOm5vbmU7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7fVtkYXRhLXJhZGl4LXNlbGVjdC12aWV3cG9ydF06Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX1gXG4gICAgICAgICAgfSxcbiAgICAgICAgICBub25jZVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgLyogQF9fUFVSRV9fICovIGpzeChDb2xsZWN0aW9uLlNsb3QsIHsgc2NvcGU6IF9fc2NvcGVTZWxlY3QsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICBQcmltaXRpdmUuZGl2LFxuICAgICAgICB7XG4gICAgICAgICAgXCJkYXRhLXJhZGl4LXNlbGVjdC12aWV3cG9ydFwiOiBcIlwiLFxuICAgICAgICAgIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG4gICAgICAgICAgLi4udmlld3BvcnRQcm9wcyxcbiAgICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgLy8gd2UgdXNlIHBvc2l0aW9uOiAncmVsYXRpdmUnIGhlcmUgb24gdGhlIGB2aWV3cG9ydGAgc28gdGhhdCB3aGVuIHdlIGNhbGxcbiAgICAgICAgICAgIC8vIGBzZWxlY3RlZEl0ZW0ub2Zmc2V0VG9wYCBpbiBjYWxjdWxhdGlvbnMsIHRoZSBvZmZzZXQgaXMgcmVsYXRpdmUgdG8gdGhlIHZpZXdwb3J0XG4gICAgICAgICAgICAvLyAoaW5kZXBlbmRlbnQgb2YgdGhlIHNjcm9sbFVwQnV0dG9uKS5cbiAgICAgICAgICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgLy8gVmlld3BvcnQgc2hvdWxkIG9ubHkgYmUgc2Nyb2xsYWJsZSBpbiB0aGUgdmVydGljYWwgZGlyZWN0aW9uLlxuICAgICAgICAgICAgLy8gVGhpcyB3b24ndCB3b3JrIGluIHZlcnRpY2FsIHdyaXRpbmcgbW9kZXMsIHNvIHdlJ2xsIG5lZWQgdG9cbiAgICAgICAgICAgIC8vIHJldmlzaXQgdGhpcyBpZi93aGVuIHRoYXQgaXMgc3VwcG9ydGVkXG4gICAgICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2Jsb2cvdmVydGljYWwtZm9ybS1jb250cm9sc1xuICAgICAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuIGF1dG9cIixcbiAgICAgICAgICAgIC4uLnZpZXdwb3J0UHJvcHMuc3R5bGVcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9uU2Nyb2xsOiBjb21wb3NlRXZlbnRIYW5kbGVycyh2aWV3cG9ydFByb3BzLm9uU2Nyb2xsLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICAgICAgICAgIGNvbnN0IHsgY29udGVudFdyYXBwZXIsIHNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmIH0gPSB2aWV3cG9ydENvbnRleHQ7XG4gICAgICAgICAgICBpZiAoc2hvdWxkRXhwYW5kT25TY3JvbGxSZWY/LmN1cnJlbnQgJiYgY29udGVudFdyYXBwZXIpIHtcbiAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsZWRCeSA9IE1hdGguYWJzKHByZXZTY3JvbGxUb3BSZWYuY3VycmVudCAtIHZpZXdwb3J0LnNjcm9sbFRvcCk7XG4gICAgICAgICAgICAgIGlmIChzY3JvbGxlZEJ5ID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZUhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAtIENPTlRFTlRfTUFSR0lOICogMjtcbiAgICAgICAgICAgICAgICBjb25zdCBjc3NNaW5IZWlnaHQgPSBwYXJzZUZsb2F0KGNvbnRlbnRXcmFwcGVyLnN0eWxlLm1pbkhlaWdodCk7XG4gICAgICAgICAgICAgICAgY29uc3QgY3NzSGVpZ2h0ID0gcGFyc2VGbG9hdChjb250ZW50V3JhcHBlci5zdHlsZS5oZWlnaHQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXZIZWlnaHQgPSBNYXRoLm1heChjc3NNaW5IZWlnaHQsIGNzc0hlaWdodCk7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZIZWlnaHQgPCBhdmFpbGFibGVIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRIZWlnaHQgPSBwcmV2SGVpZ2h0ICsgc2Nyb2xsZWRCeTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNsYW1wZWROZXh0SGVpZ2h0ID0gTWF0aC5taW4oYXZhaWxhYmxlSGVpZ2h0LCBuZXh0SGVpZ2h0KTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodERpZmYgPSBuZXh0SGVpZ2h0IC0gY2xhbXBlZE5leHRIZWlnaHQ7XG4gICAgICAgICAgICAgICAgICBjb250ZW50V3JhcHBlci5zdHlsZS5oZWlnaHQgPSBjbGFtcGVkTmV4dEhlaWdodCArIFwicHhcIjtcbiAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50V3JhcHBlci5zdHlsZS5ib3R0b20gPT09IFwiMHB4XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdmlld3BvcnQuc2Nyb2xsVG9wID0gaGVpZ2h0RGlmZiA+IDAgPyBoZWlnaHREaWZmIDogMDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFdyYXBwZXIuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSBcImZsZXgtZW5kXCI7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmV2U2Nyb2xsVG9wUmVmLmN1cnJlbnQgPSB2aWV3cG9ydC5zY3JvbGxUb3A7XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgKSB9KVxuICAgIF0gfSk7XG4gIH1cbik7XG5TZWxlY3RWaWV3cG9ydC5kaXNwbGF5TmFtZSA9IFZJRVdQT1JUX05BTUU7XG52YXIgR1JPVVBfTkFNRSA9IFwiU2VsZWN0R3JvdXBcIjtcbnZhciBbU2VsZWN0R3JvdXBDb250ZXh0UHJvdmlkZXIsIHVzZVNlbGVjdEdyb3VwQ29udGV4dF0gPSBjcmVhdGVTZWxlY3RDb250ZXh0KEdST1VQX05BTUUpO1xudmFyIFNlbGVjdEdyb3VwID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIC4uLmdyb3VwUHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGdyb3VwSWQgPSB1c2VJZCgpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFNlbGVjdEdyb3VwQ29udGV4dFByb3ZpZGVyLCB7IHNjb3BlOiBfX3Njb3BlU2VsZWN0LCBpZDogZ3JvdXBJZCwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goUHJpbWl0aXZlLmRpdiwgeyByb2xlOiBcImdyb3VwXCIsIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IGdyb3VwSWQsIC4uLmdyb3VwUHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pIH0pO1xuICB9XG4pO1xuU2VsZWN0R3JvdXAuZGlzcGxheU5hbWUgPSBHUk9VUF9OQU1FO1xudmFyIExBQkVMX05BTUUgPSBcIlNlbGVjdExhYmVsXCI7XG52YXIgU2VsZWN0TGFiZWwgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNlbGVjdCwgLi4ubGFiZWxQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgZ3JvdXBDb250ZXh0ID0gdXNlU2VsZWN0R3JvdXBDb250ZXh0KExBQkVMX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFByaW1pdGl2ZS5kaXYsIHsgaWQ6IGdyb3VwQ29udGV4dC5pZCwgLi4ubGFiZWxQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSk7XG4gIH1cbik7XG5TZWxlY3RMYWJlbC5kaXNwbGF5TmFtZSA9IExBQkVMX05BTUU7XG52YXIgSVRFTV9OQU1FID0gXCJTZWxlY3RJdGVtXCI7XG52YXIgW1NlbGVjdEl0ZW1Db250ZXh0UHJvdmlkZXIsIHVzZVNlbGVjdEl0ZW1Db250ZXh0XSA9IGNyZWF0ZVNlbGVjdENvbnRleHQoSVRFTV9OQU1FKTtcbnZhciBTZWxlY3RJdGVtID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBfX3Njb3BlU2VsZWN0LFxuICAgICAgdmFsdWUsXG4gICAgICBkaXNhYmxlZCA9IGZhbHNlLFxuICAgICAgdGV4dFZhbHVlOiB0ZXh0VmFsdWVQcm9wLFxuICAgICAgLi4uaXRlbVByb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VTZWxlY3RDb250ZXh0KElURU1fTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChJVEVNX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBjb250ZXh0LnZhbHVlID09PSB2YWx1ZTtcbiAgICBjb25zdCBbdGV4dFZhbHVlLCBzZXRUZXh0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUodGV4dFZhbHVlUHJvcCA/PyBcIlwiKTtcbiAgICBjb25zdCBbaXNGb2N1c2VkLCBzZXRJc0ZvY3VzZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhcbiAgICAgIGZvcndhcmRlZFJlZixcbiAgICAgIChub2RlKSA9PiBjb250ZW50Q29udGV4dC5pdGVtUmVmQ2FsbGJhY2s/Lihub2RlLCB2YWx1ZSwgZGlzYWJsZWQpXG4gICAgKTtcbiAgICBjb25zdCB0ZXh0SWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IHBvaW50ZXJUeXBlUmVmID0gUmVhY3QudXNlUmVmKFwidG91Y2hcIik7XG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ID0gKCkgPT4ge1xuICAgICAgaWYgKCFkaXNhYmxlZCkge1xuICAgICAgICBjb250ZXh0Lm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgICAgICBjb250ZXh0Lm9uT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAodmFsdWUgPT09IFwiXCIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJBIDxTZWxlY3QuSXRlbSAvPiBtdXN0IGhhdmUgYSB2YWx1ZSBwcm9wIHRoYXQgaXMgbm90IGFuIGVtcHR5IHN0cmluZy4gVGhpcyBpcyBiZWNhdXNlIHRoZSBTZWxlY3QgdmFsdWUgY2FuIGJlIHNldCB0byBhbiBlbXB0eSBzdHJpbmcgdG8gY2xlYXIgdGhlIHNlbGVjdGlvbiBhbmQgc2hvdyB0aGUgcGxhY2Vob2xkZXIuXCJcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgU2VsZWN0SXRlbUNvbnRleHRQcm92aWRlcixcbiAgICAgIHtcbiAgICAgICAgc2NvcGU6IF9fc2NvcGVTZWxlY3QsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgdGV4dElkLFxuICAgICAgICBpc1NlbGVjdGVkLFxuICAgICAgICBvbkl0ZW1UZXh0Q2hhbmdlOiBSZWFjdC51c2VDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICAgIHNldFRleHRWYWx1ZSgocHJldlRleHRWYWx1ZSkgPT4gcHJldlRleHRWYWx1ZSB8fCAobm9kZT8udGV4dENvbnRlbnQgPz8gXCJcIikudHJpbSgpKTtcbiAgICAgICAgfSwgW10pLFxuICAgICAgICBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgICAgICBDb2xsZWN0aW9uLkl0ZW1TbG90LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHNjb3BlOiBfX3Njb3BlU2VsZWN0LFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIHRleHRWYWx1ZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICAgICAgICBQcmltaXRpdmUuZGl2LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcm9sZTogXCJvcHRpb25cIixcbiAgICAgICAgICAgICAgICBcImFyaWEtbGFiZWxsZWRieVwiOiB0ZXh0SWQsXG4gICAgICAgICAgICAgICAgXCJkYXRhLWhpZ2hsaWdodGVkXCI6IGlzRm9jdXNlZCA/IFwiXCIgOiB2b2lkIDAsXG4gICAgICAgICAgICAgICAgXCJhcmlhLXNlbGVjdGVkXCI6IGlzU2VsZWN0ZWQgJiYgaXNGb2N1c2VkLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1zdGF0ZVwiOiBpc1NlbGVjdGVkID8gXCJjaGVja2VkXCIgOiBcInVuY2hlY2tlZFwiLFxuICAgICAgICAgICAgICAgIFwiYXJpYS1kaXNhYmxlZFwiOiBkaXNhYmxlZCB8fCB2b2lkIDAsXG4gICAgICAgICAgICAgICAgXCJkYXRhLWRpc2FibGVkXCI6IGRpc2FibGVkID8gXCJcIiA6IHZvaWQgMCxcbiAgICAgICAgICAgICAgICB0YWJJbmRleDogZGlzYWJsZWQgPyB2b2lkIDAgOiAtMSxcbiAgICAgICAgICAgICAgICAuLi5pdGVtUHJvcHMsXG4gICAgICAgICAgICAgICAgcmVmOiBjb21wb3NlZFJlZnMsXG4gICAgICAgICAgICAgICAgb25Gb2N1czogY29tcG9zZUV2ZW50SGFuZGxlcnMoaXRlbVByb3BzLm9uRm9jdXMsICgpID0+IHNldElzRm9jdXNlZCh0cnVlKSksXG4gICAgICAgICAgICAgICAgb25CbHVyOiBjb21wb3NlRXZlbnRIYW5kbGVycyhpdGVtUHJvcHMub25CbHVyLCAoKSA9PiBzZXRJc0ZvY3VzZWQoZmFsc2UpKSxcbiAgICAgICAgICAgICAgICBvbkNsaWNrOiBjb21wb3NlRXZlbnRIYW5kbGVycyhpdGVtUHJvcHMub25DbGljaywgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQgIT09IFwibW91c2VcIikgaGFuZGxlU2VsZWN0KCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgb25Qb2ludGVyVXA6IGNvbXBvc2VFdmVudEhhbmRsZXJzKGl0ZW1Qcm9wcy5vblBvaW50ZXJVcCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQgPT09IFwibW91c2VcIikgaGFuZGxlU2VsZWN0KCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgb25Qb2ludGVyRG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMoaXRlbVByb3BzLm9uUG9pbnRlckRvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcG9pbnRlclR5cGVSZWYuY3VycmVudCA9IGV2ZW50LnBvaW50ZXJUeXBlO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG9uUG9pbnRlck1vdmU6IGNvbXBvc2VFdmVudEhhbmRsZXJzKGl0ZW1Qcm9wcy5vblBvaW50ZXJNb3ZlLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQgPSBldmVudC5wb2ludGVyVHlwZTtcbiAgICAgICAgICAgICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50Q29udGV4dC5vbkl0ZW1MZWF2ZT8uKCk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBvaW50ZXJUeXBlUmVmLmN1cnJlbnQgPT09IFwibW91c2VcIikge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5jdXJyZW50VGFyZ2V0LmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBvblBvaW50ZXJMZWF2ZTogY29tcG9zZUV2ZW50SGFuZGxlcnMoaXRlbVByb3BzLm9uUG9pbnRlckxlYXZlLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5jdXJyZW50VGFyZ2V0ID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRDb250ZXh0Lm9uSXRlbUxlYXZlPy4oKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBvbktleURvd246IGNvbXBvc2VFdmVudEhhbmRsZXJzKGl0ZW1Qcm9wcy5vbktleURvd24sIChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgaXNUeXBpbmdBaGVhZCA9IGNvbnRlbnRDb250ZXh0LnNlYXJjaFJlZj8uY3VycmVudCAhPT0gXCJcIjtcbiAgICAgICAgICAgICAgICAgIGlmIChpc1R5cGluZ0FoZWFkICYmIGV2ZW50LmtleSA9PT0gXCIgXCIpIHJldHVybjtcbiAgICAgICAgICAgICAgICAgIGlmIChTRUxFQ1RJT05fS0VZUy5pbmNsdWRlcyhldmVudC5rZXkpKSBoYW5kbGVTZWxlY3QoKTtcbiAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09IFwiIFwiKSBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuU2VsZWN0SXRlbS5kaXNwbGF5TmFtZSA9IElURU1fTkFNRTtcbnZhciBJVEVNX1RFWFRfTkFNRSA9IFwiU2VsZWN0SXRlbVRleHRcIjtcbnZhciBTZWxlY3RJdGVtVGV4dCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCBjbGFzc05hbWUsIHN0eWxlLCAuLi5pdGVtVGV4dFByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlU2VsZWN0Q29udGV4dChJVEVNX1RFWFRfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgY29udGVudENvbnRleHQgPSB1c2VTZWxlY3RDb250ZW50Q29udGV4dChJVEVNX1RFWFRfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgaXRlbUNvbnRleHQgPSB1c2VTZWxlY3RJdGVtQ29udGV4dChJVEVNX1RFWFRfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgbmF0aXZlT3B0aW9uc0NvbnRleHQgPSB1c2VTZWxlY3ROYXRpdmVPcHRpb25zQ29udGV4dChJVEVNX1RFWFRfTkFNRSwgX19zY29wZVNlbGVjdCk7XG4gICAgY29uc3QgW2l0ZW1UZXh0Tm9kZSwgc2V0SXRlbVRleHROb2RlXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICAgIGNvbnN0IGNvbXBvc2VkUmVmcyA9IHVzZUNvbXBvc2VkUmVmcyhcbiAgICAgIGZvcndhcmRlZFJlZixcbiAgICAgIChub2RlKSA9PiBzZXRJdGVtVGV4dE5vZGUobm9kZSksXG4gICAgICBpdGVtQ29udGV4dC5vbkl0ZW1UZXh0Q2hhbmdlLFxuICAgICAgKG5vZGUpID0+IGNvbnRlbnRDb250ZXh0Lml0ZW1UZXh0UmVmQ2FsbGJhY2s/Lihub2RlLCBpdGVtQ29udGV4dC52YWx1ZSwgaXRlbUNvbnRleHQuZGlzYWJsZWQpXG4gICAgKTtcbiAgICBjb25zdCB0ZXh0Q29udGVudCA9IGl0ZW1UZXh0Tm9kZT8udGV4dENvbnRlbnQ7XG4gICAgY29uc3QgbmF0aXZlT3B0aW9uID0gUmVhY3QudXNlTWVtbyhcbiAgICAgICgpID0+IC8qIEBfX1BVUkVfXyAqLyBqc3goXCJvcHRpb25cIiwgeyB2YWx1ZTogaXRlbUNvbnRleHQudmFsdWUsIGRpc2FibGVkOiBpdGVtQ29udGV4dC5kaXNhYmxlZCwgY2hpbGRyZW46IHRleHRDb250ZW50IH0sIGl0ZW1Db250ZXh0LnZhbHVlKSxcbiAgICAgIFtpdGVtQ29udGV4dC5kaXNhYmxlZCwgaXRlbUNvbnRleHQudmFsdWUsIHRleHRDb250ZW50XVxuICAgICk7XG4gICAgY29uc3QgeyBvbk5hdGl2ZU9wdGlvbkFkZCwgb25OYXRpdmVPcHRpb25SZW1vdmUgfSA9IG5hdGl2ZU9wdGlvbnNDb250ZXh0O1xuICAgIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICBvbk5hdGl2ZU9wdGlvbkFkZChuYXRpdmVPcHRpb24pO1xuICAgICAgcmV0dXJuICgpID0+IG9uTmF0aXZlT3B0aW9uUmVtb3ZlKG5hdGl2ZU9wdGlvbik7XG4gICAgfSwgW29uTmF0aXZlT3B0aW9uQWRkLCBvbk5hdGl2ZU9wdGlvblJlbW92ZSwgbmF0aXZlT3B0aW9uXSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3hzKEZyYWdtZW50LCB7IGNoaWxkcmVuOiBbXG4gICAgICAvKiBAX19QVVJFX18gKi8ganN4KFByaW1pdGl2ZS5zcGFuLCB7IGlkOiBpdGVtQ29udGV4dC50ZXh0SWQsIC4uLml0ZW1UZXh0UHJvcHMsIHJlZjogY29tcG9zZWRSZWZzIH0pLFxuICAgICAgaXRlbUNvbnRleHQuaXNTZWxlY3RlZCAmJiBjb250ZXh0LnZhbHVlTm9kZSAmJiAhY29udGV4dC52YWx1ZU5vZGVIYXNDaGlsZHJlbiA/IFJlYWN0RE9NLmNyZWF0ZVBvcnRhbChpdGVtVGV4dFByb3BzLmNoaWxkcmVuLCBjb250ZXh0LnZhbHVlTm9kZSkgOiBudWxsXG4gICAgXSB9KTtcbiAgfVxuKTtcblNlbGVjdEl0ZW1UZXh0LmRpc3BsYXlOYW1lID0gSVRFTV9URVhUX05BTUU7XG52YXIgSVRFTV9JTkRJQ0FUT1JfTkFNRSA9IFwiU2VsZWN0SXRlbUluZGljYXRvclwiO1xudmFyIFNlbGVjdEl0ZW1JbmRpY2F0b3IgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNlbGVjdCwgLi4uaXRlbUluZGljYXRvclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBpdGVtQ29udGV4dCA9IHVzZVNlbGVjdEl0ZW1Db250ZXh0KElURU1fSU5ESUNBVE9SX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIHJldHVybiBpdGVtQ29udGV4dC5pc1NlbGVjdGVkID8gLyogQF9fUFVSRV9fICovIGpzeChQcmltaXRpdmUuc3BhbiwgeyBcImFyaWEtaGlkZGVuXCI6IHRydWUsIC4uLml0ZW1JbmRpY2F0b3JQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSkgOiBudWxsO1xuICB9XG4pO1xuU2VsZWN0SXRlbUluZGljYXRvci5kaXNwbGF5TmFtZSA9IElURU1fSU5ESUNBVE9SX05BTUU7XG52YXIgU0NST0xMX1VQX0JVVFRPTl9OQU1FID0gXCJTZWxlY3RTY3JvbGxVcEJ1dHRvblwiO1xudmFyIFNlbGVjdFNjcm9sbFVwQnV0dG9uID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KFNDUk9MTF9VUF9CVVRUT05fTkFNRSwgcHJvcHMuX19zY29wZVNlbGVjdCk7XG4gIGNvbnN0IHZpZXdwb3J0Q29udGV4dCA9IHVzZVNlbGVjdFZpZXdwb3J0Q29udGV4dChTQ1JPTExfVVBfQlVUVE9OX05BTUUsIHByb3BzLl9fc2NvcGVTZWxlY3QpO1xuICBjb25zdCBbY2FuU2Nyb2xsVXAsIHNldENhblNjcm9sbFVwXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgdmlld3BvcnRDb250ZXh0Lm9uU2Nyb2xsQnV0dG9uQ2hhbmdlKTtcbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY29udGVudENvbnRleHQudmlld3BvcnQgJiYgY29udGVudENvbnRleHQuaXNQb3NpdGlvbmVkKSB7XG4gICAgICBsZXQgaGFuZGxlU2Nyb2xsMiA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBjb25zdCBjYW5TY3JvbGxVcDIgPSB2aWV3cG9ydC5zY3JvbGxUb3AgPiAwO1xuICAgICAgICBzZXRDYW5TY3JvbGxVcChjYW5TY3JvbGxVcDIpO1xuICAgICAgfTtcbiAgICAgIHZhciBoYW5kbGVTY3JvbGwgPSBoYW5kbGVTY3JvbGwyO1xuICAgICAgY29uc3Qgdmlld3BvcnQgPSBjb250ZW50Q29udGV4dC52aWV3cG9ydDtcbiAgICAgIGhhbmRsZVNjcm9sbDIoKTtcbiAgICAgIHZpZXdwb3J0LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgaGFuZGxlU2Nyb2xsMik7XG4gICAgICByZXR1cm4gKCkgPT4gdmlld3BvcnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBoYW5kbGVTY3JvbGwyKTtcbiAgICB9XG4gIH0sIFtjb250ZW50Q29udGV4dC52aWV3cG9ydCwgY29udGVudENvbnRleHQuaXNQb3NpdGlvbmVkXSk7XG4gIHJldHVybiBjYW5TY3JvbGxVcCA/IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbCxcbiAgICB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgb25BdXRvU2Nyb2xsOiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdmlld3BvcnQsIHNlbGVjdGVkSXRlbSB9ID0gY29udGVudENvbnRleHQ7XG4gICAgICAgIGlmICh2aWV3cG9ydCAmJiBzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICB2aWV3cG9ydC5zY3JvbGxUb3AgPSB2aWV3cG9ydC5zY3JvbGxUb3AgLSBzZWxlY3RlZEl0ZW0ub2Zmc2V0SGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICApIDogbnVsbDtcbn0pO1xuU2VsZWN0U2Nyb2xsVXBCdXR0b24uZGlzcGxheU5hbWUgPSBTQ1JPTExfVVBfQlVUVE9OX05BTUU7XG52YXIgU0NST0xMX0RPV05fQlVUVE9OX05BTUUgPSBcIlNlbGVjdFNjcm9sbERvd25CdXR0b25cIjtcbnZhciBTZWxlY3RTY3JvbGxEb3duQnV0dG9uID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KFNDUk9MTF9ET1dOX0JVVFRPTl9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgY29uc3Qgdmlld3BvcnRDb250ZXh0ID0gdXNlU2VsZWN0Vmlld3BvcnRDb250ZXh0KFNDUk9MTF9ET1dOX0JVVFRPTl9OQU1FLCBwcm9wcy5fX3Njb3BlU2VsZWN0KTtcbiAgY29uc3QgW2NhblNjcm9sbERvd24sIHNldENhblNjcm9sbERvd25dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCB2aWV3cG9ydENvbnRleHQub25TY3JvbGxCdXR0b25DaGFuZ2UpO1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjb250ZW50Q29udGV4dC52aWV3cG9ydCAmJiBjb250ZW50Q29udGV4dC5pc1Bvc2l0aW9uZWQpIHtcbiAgICAgIGxldCBoYW5kbGVTY3JvbGwyID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIGNvbnN0IG1heFNjcm9sbCA9IHZpZXdwb3J0LnNjcm9sbEhlaWdodCAtIHZpZXdwb3J0LmNsaWVudEhlaWdodDtcbiAgICAgICAgY29uc3QgY2FuU2Nyb2xsRG93bjIgPSBNYXRoLmNlaWwodmlld3BvcnQuc2Nyb2xsVG9wKSA8IG1heFNjcm9sbDtcbiAgICAgICAgc2V0Q2FuU2Nyb2xsRG93bihjYW5TY3JvbGxEb3duMik7XG4gICAgICB9O1xuICAgICAgdmFyIGhhbmRsZVNjcm9sbCA9IGhhbmRsZVNjcm9sbDI7XG4gICAgICBjb25zdCB2aWV3cG9ydCA9IGNvbnRlbnRDb250ZXh0LnZpZXdwb3J0O1xuICAgICAgaGFuZGxlU2Nyb2xsMigpO1xuICAgICAgdmlld3BvcnQuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBoYW5kbGVTY3JvbGwyKTtcbiAgICAgIHJldHVybiAoKSA9PiB2aWV3cG9ydC5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGhhbmRsZVNjcm9sbDIpO1xuICAgIH1cbiAgfSwgW2NvbnRlbnRDb250ZXh0LnZpZXdwb3J0LCBjb250ZW50Q29udGV4dC5pc1Bvc2l0aW9uZWRdKTtcbiAgcmV0dXJuIGNhblNjcm9sbERvd24gPyAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgIFNlbGVjdFNjcm9sbEJ1dHRvbkltcGwsXG4gICAge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgIG9uQXV0b1Njcm9sbDogKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHZpZXdwb3J0LCBzZWxlY3RlZEl0ZW0gfSA9IGNvbnRlbnRDb250ZXh0O1xuICAgICAgICBpZiAodmlld3BvcnQgJiYgc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdmlld3BvcnQuc2Nyb2xsVG9wID0gdmlld3BvcnQuc2Nyb2xsVG9wICsgc2VsZWN0ZWRJdGVtLm9mZnNldEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgKSA6IG51bGw7XG59KTtcblNlbGVjdFNjcm9sbERvd25CdXR0b24uZGlzcGxheU5hbWUgPSBTQ1JPTExfRE9XTl9CVVRUT05fTkFNRTtcbnZhciBTZWxlY3RTY3JvbGxCdXR0b25JbXBsID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCB7IF9fc2NvcGVTZWxlY3QsIG9uQXV0b1Njcm9sbCwgLi4uc2Nyb2xsSW5kaWNhdG9yUHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KFwiU2VsZWN0U2Nyb2xsQnV0dG9uXCIsIF9fc2NvcGVTZWxlY3QpO1xuICBjb25zdCBhdXRvU2Nyb2xsVGltZXJSZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gIGNvbnN0IGdldEl0ZW1zID0gdXNlQ29sbGVjdGlvbihfX3Njb3BlU2VsZWN0KTtcbiAgY29uc3QgY2xlYXJBdXRvU2Nyb2xsVGltZXIgPSBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKGF1dG9TY3JvbGxUaW1lclJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICB3aW5kb3cuY2xlYXJJbnRlcnZhbChhdXRvU2Nyb2xsVGltZXJSZWYuY3VycmVudCk7XG4gICAgICBhdXRvU2Nyb2xsVGltZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfVxuICB9LCBbXSk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuICgpID0+IGNsZWFyQXV0b1Njcm9sbFRpbWVyKCk7XG4gIH0sIFtjbGVhckF1dG9TY3JvbGxUaW1lcl0pO1xuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZUl0ZW0gPSBnZXRJdGVtcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0ucmVmLmN1cnJlbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO1xuICAgIGFjdGl2ZUl0ZW0/LnJlZi5jdXJyZW50Py5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiBcIm5lYXJlc3RcIiB9KTtcbiAgfSwgW2dldEl0ZW1zXSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgIFByaW1pdGl2ZS5kaXYsXG4gICAge1xuICAgICAgXCJhcmlhLWhpZGRlblwiOiB0cnVlLFxuICAgICAgLi4uc2Nyb2xsSW5kaWNhdG9yUHJvcHMsXG4gICAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICAgIHN0eWxlOiB7IGZsZXhTaHJpbms6IDAsIC4uLnNjcm9sbEluZGljYXRvclByb3BzLnN0eWxlIH0sXG4gICAgICBvblBvaW50ZXJEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhzY3JvbGxJbmRpY2F0b3JQcm9wcy5vblBvaW50ZXJEb3duLCAoKSA9PiB7XG4gICAgICAgIGlmIChhdXRvU2Nyb2xsVGltZXJSZWYuY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICAgIGF1dG9TY3JvbGxUaW1lclJlZi5jdXJyZW50ID0gd2luZG93LnNldEludGVydmFsKG9uQXV0b1Njcm9sbCwgNTApO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIG9uUG9pbnRlck1vdmU6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHNjcm9sbEluZGljYXRvclByb3BzLm9uUG9pbnRlck1vdmUsICgpID0+IHtcbiAgICAgICAgY29udGVudENvbnRleHQub25JdGVtTGVhdmU/LigpO1xuICAgICAgICBpZiAoYXV0b1Njcm9sbFRpbWVyUmVmLmN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgICAgICBhdXRvU2Nyb2xsVGltZXJSZWYuY3VycmVudCA9IHdpbmRvdy5zZXRJbnRlcnZhbChvbkF1dG9TY3JvbGwsIDUwKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBvblBvaW50ZXJMZWF2ZTogY29tcG9zZUV2ZW50SGFuZGxlcnMoc2Nyb2xsSW5kaWNhdG9yUHJvcHMub25Qb2ludGVyTGVhdmUsICgpID0+IHtcbiAgICAgICAgY2xlYXJBdXRvU2Nyb2xsVGltZXIoKTtcbiAgICAgIH0pXG4gICAgfVxuICApO1xufSk7XG52YXIgU0VQQVJBVE9SX05BTUUgPSBcIlNlbGVjdFNlcGFyYXRvclwiO1xudmFyIFNlbGVjdFNlcGFyYXRvciA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU2VsZWN0LCAuLi5zZXBhcmF0b3JQcm9wcyB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUHJpbWl0aXZlLmRpdiwgeyBcImFyaWEtaGlkZGVuXCI6IHRydWUsIC4uLnNlcGFyYXRvclByb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbiAgfVxuKTtcblNlbGVjdFNlcGFyYXRvci5kaXNwbGF5TmFtZSA9IFNFUEFSQVRPUl9OQU1FO1xudmFyIEFSUk9XX05BTUUgPSBcIlNlbGVjdEFycm93XCI7XG52YXIgU2VsZWN0QXJyb3cgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVNlbGVjdCwgLi4uYXJyb3dQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgcG9wcGVyU2NvcGUgPSB1c2VQb3BwZXJTY29wZShfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlU2VsZWN0Q29udGV4dChBUlJPV19OQU1FLCBfX3Njb3BlU2VsZWN0KTtcbiAgICBjb25zdCBjb250ZW50Q29udGV4dCA9IHVzZVNlbGVjdENvbnRlbnRDb250ZXh0KEFSUk9XX05BTUUsIF9fc2NvcGVTZWxlY3QpO1xuICAgIHJldHVybiBjb250ZXh0Lm9wZW4gJiYgY29udGVudENvbnRleHQucG9zaXRpb24gPT09IFwicG9wcGVyXCIgPyAvKiBAX19QVVJFX18gKi8ganN4KFBvcHBlclByaW1pdGl2ZS5BcnJvdywgeyAuLi5wb3BwZXJTY29wZSwgLi4uYXJyb3dQcm9wcywgcmVmOiBmb3J3YXJkZWRSZWYgfSkgOiBudWxsO1xuICB9XG4pO1xuU2VsZWN0QXJyb3cuZGlzcGxheU5hbWUgPSBBUlJPV19OQU1FO1xuZnVuY3Rpb24gc2hvdWxkU2hvd1BsYWNlaG9sZGVyKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gXCJcIiB8fCB2YWx1ZSA9PT0gdm9pZCAwO1xufVxudmFyIEJ1YmJsZVNlbGVjdCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyB2YWx1ZSwgLi4uc2VsZWN0UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgICBjb25zdCBjb21wb3NlZFJlZnMgPSB1c2VDb21wb3NlZFJlZnMoZm9yd2FyZGVkUmVmLCByZWYpO1xuICAgIGNvbnN0IHByZXZWYWx1ZSA9IHVzZVByZXZpb3VzKHZhbHVlKTtcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ID0gcmVmLmN1cnJlbnQ7XG4gICAgICBjb25zdCBzZWxlY3RQcm90byA9IHdpbmRvdy5IVE1MU2VsZWN0RWxlbWVudC5wcm90b3R5cGU7XG4gICAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihcbiAgICAgICAgc2VsZWN0UHJvdG8sXG4gICAgICAgIFwidmFsdWVcIlxuICAgICAgKTtcbiAgICAgIGNvbnN0IHNldFZhbHVlID0gZGVzY3JpcHRvci5zZXQ7XG4gICAgICBpZiAocHJldlZhbHVlICE9PSB2YWx1ZSAmJiBzZXRWYWx1ZSkge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBFdmVudChcImNoYW5nZVwiLCB7IGJ1YmJsZXM6IHRydWUgfSk7XG4gICAgICAgIHNldFZhbHVlLmNhbGwoc2VsZWN0LCB2YWx1ZSk7XG4gICAgICAgIHNlbGVjdC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICAgIH1cbiAgICB9LCBbcHJldlZhbHVlLCB2YWx1ZV0pO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFZpc3VhbGx5SGlkZGVuLCB7IGFzQ2hpbGQ6IHRydWUsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFwic2VsZWN0XCIsIHsgLi4uc2VsZWN0UHJvcHMsIHJlZjogY29tcG9zZWRSZWZzLCBkZWZhdWx0VmFsdWU6IHZhbHVlIH0pIH0pO1xuICB9XG4pO1xuQnViYmxlU2VsZWN0LmRpc3BsYXlOYW1lID0gXCJCdWJibGVTZWxlY3RcIjtcbmZ1bmN0aW9uIHVzZVR5cGVhaGVhZFNlYXJjaChvblNlYXJjaENoYW5nZSkge1xuICBjb25zdCBoYW5kbGVTZWFyY2hDaGFuZ2UgPSB1c2VDYWxsYmFja1JlZihvblNlYXJjaENoYW5nZSk7XG4gIGNvbnN0IHNlYXJjaFJlZiA9IFJlYWN0LnVzZVJlZihcIlwiKTtcbiAgY29uc3QgdGltZXJSZWYgPSBSZWFjdC51c2VSZWYoMCk7XG4gIGNvbnN0IGhhbmRsZVR5cGVhaGVhZFNlYXJjaCA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChrZXkpID0+IHtcbiAgICAgIGNvbnN0IHNlYXJjaCA9IHNlYXJjaFJlZi5jdXJyZW50ICsga2V5O1xuICAgICAgaGFuZGxlU2VhcmNoQ2hhbmdlKHNlYXJjaCk7XG4gICAgICAoZnVuY3Rpb24gdXBkYXRlU2VhcmNoKHZhbHVlKSB7XG4gICAgICAgIHNlYXJjaFJlZi5jdXJyZW50ID0gdmFsdWU7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gXCJcIikgdGltZXJSZWYuY3VycmVudCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHVwZGF0ZVNlYXJjaChcIlwiKSwgMWUzKTtcbiAgICAgIH0pKHNlYXJjaCk7XG4gICAgfSxcbiAgICBbaGFuZGxlU2VhcmNoQ2hhbmdlXVxuICApO1xuICBjb25zdCByZXNldFR5cGVhaGVhZCA9IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZWFyY2hSZWYuY3VycmVudCA9IFwiXCI7XG4gICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lclJlZi5jdXJyZW50KTtcbiAgfSwgW10pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVyUmVmLmN1cnJlbnQpO1xuICB9LCBbXSk7XG4gIHJldHVybiBbc2VhcmNoUmVmLCBoYW5kbGVUeXBlYWhlYWRTZWFyY2gsIHJlc2V0VHlwZWFoZWFkXTtcbn1cbmZ1bmN0aW9uIGZpbmROZXh0SXRlbShpdGVtcywgc2VhcmNoLCBjdXJyZW50SXRlbSkge1xuICBjb25zdCBpc1JlcGVhdGVkID0gc2VhcmNoLmxlbmd0aCA+IDEgJiYgQXJyYXkuZnJvbShzZWFyY2gpLmV2ZXJ5KChjaGFyKSA9PiBjaGFyID09PSBzZWFyY2hbMF0pO1xuICBjb25zdCBub3JtYWxpemVkU2VhcmNoID0gaXNSZXBlYXRlZCA/IHNlYXJjaFswXSA6IHNlYXJjaDtcbiAgY29uc3QgY3VycmVudEl0ZW1JbmRleCA9IGN1cnJlbnRJdGVtID8gaXRlbXMuaW5kZXhPZihjdXJyZW50SXRlbSkgOiAtMTtcbiAgbGV0IHdyYXBwZWRJdGVtcyA9IHdyYXBBcnJheShpdGVtcywgTWF0aC5tYXgoY3VycmVudEl0ZW1JbmRleCwgMCkpO1xuICBjb25zdCBleGNsdWRlQ3VycmVudEl0ZW0gPSBub3JtYWxpemVkU2VhcmNoLmxlbmd0aCA9PT0gMTtcbiAgaWYgKGV4Y2x1ZGVDdXJyZW50SXRlbSkgd3JhcHBlZEl0ZW1zID0gd3JhcHBlZEl0ZW1zLmZpbHRlcigodikgPT4gdiAhPT0gY3VycmVudEl0ZW0pO1xuICBjb25zdCBuZXh0SXRlbSA9IHdyYXBwZWRJdGVtcy5maW5kKFxuICAgIChpdGVtKSA9PiBpdGVtLnRleHRWYWx1ZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgobm9ybWFsaXplZFNlYXJjaC50b0xvd2VyQ2FzZSgpKVxuICApO1xuICByZXR1cm4gbmV4dEl0ZW0gIT09IGN1cnJlbnRJdGVtID8gbmV4dEl0ZW0gOiB2b2lkIDA7XG59XG5mdW5jdGlvbiB3cmFwQXJyYXkoYXJyYXksIHN0YXJ0SW5kZXgpIHtcbiAgcmV0dXJuIGFycmF5Lm1hcCgoXywgaW5kZXgpID0+IGFycmF5WyhzdGFydEluZGV4ICsgaW5kZXgpICUgYXJyYXkubGVuZ3RoXSk7XG59XG52YXIgUm9vdDIgPSBTZWxlY3Q7XG52YXIgVHJpZ2dlciA9IFNlbGVjdFRyaWdnZXI7XG52YXIgVmFsdWUgPSBTZWxlY3RWYWx1ZTtcbnZhciBJY29uID0gU2VsZWN0SWNvbjtcbnZhciBQb3J0YWwgPSBTZWxlY3RQb3J0YWw7XG52YXIgQ29udGVudDIgPSBTZWxlY3RDb250ZW50O1xudmFyIFZpZXdwb3J0ID0gU2VsZWN0Vmlld3BvcnQ7XG52YXIgR3JvdXAgPSBTZWxlY3RHcm91cDtcbnZhciBMYWJlbCA9IFNlbGVjdExhYmVsO1xudmFyIEl0ZW0gPSBTZWxlY3RJdGVtO1xudmFyIEl0ZW1UZXh0ID0gU2VsZWN0SXRlbVRleHQ7XG52YXIgSXRlbUluZGljYXRvciA9IFNlbGVjdEl0ZW1JbmRpY2F0b3I7XG52YXIgU2Nyb2xsVXBCdXR0b24gPSBTZWxlY3RTY3JvbGxVcEJ1dHRvbjtcbnZhciBTY3JvbGxEb3duQnV0dG9uID0gU2VsZWN0U2Nyb2xsRG93bkJ1dHRvbjtcbnZhciBTZXBhcmF0b3IgPSBTZWxlY3RTZXBhcmF0b3I7XG52YXIgQXJyb3cyID0gU2VsZWN0QXJyb3c7XG5leHBvcnQge1xuICBBcnJvdzIgYXMgQXJyb3csXG4gIENvbnRlbnQyIGFzIENvbnRlbnQsXG4gIEdyb3VwLFxuICBJY29uLFxuICBJdGVtLFxuICBJdGVtSW5kaWNhdG9yLFxuICBJdGVtVGV4dCxcbiAgTGFiZWwsXG4gIFBvcnRhbCxcbiAgUm9vdDIgYXMgUm9vdCxcbiAgU2Nyb2xsRG93bkJ1dHRvbixcbiAgU2Nyb2xsVXBCdXR0b24sXG4gIFNlbGVjdCxcbiAgU2VsZWN0QXJyb3csXG4gIFNlbGVjdENvbnRlbnQsXG4gIFNlbGVjdEdyb3VwLFxuICBTZWxlY3RJY29uLFxuICBTZWxlY3RJdGVtLFxuICBTZWxlY3RJdGVtSW5kaWNhdG9yLFxuICBTZWxlY3RJdGVtVGV4dCxcbiAgU2VsZWN0TGFiZWwsXG4gIFNlbGVjdFBvcnRhbCxcbiAgU2VsZWN0U2Nyb2xsRG93bkJ1dHRvbixcbiAgU2VsZWN0U2Nyb2xsVXBCdXR0b24sXG4gIFNlbGVjdFNlcGFyYXRvcixcbiAgU2VsZWN0VHJpZ2dlcixcbiAgU2VsZWN0VmFsdWUsXG4gIFNlbGVjdFZpZXdwb3J0LFxuICBTZXBhcmF0b3IsXG4gIFRyaWdnZXIsXG4gIFZhbHVlLFxuICBWaWV3cG9ydCxcbiAgY3JlYXRlU2VsZWN0U2NvcGVcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLG51bGwsIlwidXNlIGNsaWVudFwiO1xuXG4vLyBwYWNrYWdlcy9yZWFjdC9zd2l0Y2gvc3JjL3N3aXRjaC50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfSBmcm9tIFwiQHJhZGl4LXVpL3ByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnNcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxhYmxlU3RhdGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGVcIjtcbmltcG9ydCB7IHVzZVByZXZpb3VzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtcHJldmlvdXNcIjtcbmltcG9ydCB7IHVzZVNpemUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1zaXplXCI7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0IHsganN4LCBqc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgU1dJVENIX05BTUUgPSBcIlN3aXRjaFwiO1xudmFyIFtjcmVhdGVTd2l0Y2hDb250ZXh0LCBjcmVhdGVTd2l0Y2hTY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUoU1dJVENIX05BTUUpO1xudmFyIFtTd2l0Y2hQcm92aWRlciwgdXNlU3dpdGNoQ29udGV4dF0gPSBjcmVhdGVTd2l0Y2hDb250ZXh0KFNXSVRDSF9OQU1FKTtcbnZhciBTd2l0Y2ggPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIF9fc2NvcGVTd2l0Y2gsXG4gICAgICBuYW1lLFxuICAgICAgY2hlY2tlZDogY2hlY2tlZFByb3AsXG4gICAgICBkZWZhdWx0Q2hlY2tlZCxcbiAgICAgIHJlcXVpcmVkLFxuICAgICAgZGlzYWJsZWQsXG4gICAgICB2YWx1ZSA9IFwib25cIixcbiAgICAgIG9uQ2hlY2tlZENoYW5nZSxcbiAgICAgIGZvcm0sXG4gICAgICAuLi5zd2l0Y2hQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBbYnV0dG9uLCBzZXRCdXR0b25dID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgKG5vZGUpID0+IHNldEJ1dHRvbihub2RlKSk7XG4gICAgY29uc3QgaGFzQ29uc3VtZXJTdG9wcGVkUHJvcGFnYXRpb25SZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGlzRm9ybUNvbnRyb2wgPSBidXR0b24gPyBmb3JtIHx8ICEhYnV0dG9uLmNsb3Nlc3QoXCJmb3JtXCIpIDogdHJ1ZTtcbiAgICBjb25zdCBbY2hlY2tlZCA9IGZhbHNlLCBzZXRDaGVja2VkXSA9IHVzZUNvbnRyb2xsYWJsZVN0YXRlKHtcbiAgICAgIHByb3A6IGNoZWNrZWRQcm9wLFxuICAgICAgZGVmYXVsdFByb3A6IGRlZmF1bHRDaGVja2VkLFxuICAgICAgb25DaGFuZ2U6IG9uQ2hlY2tlZENoYW5nZVxuICAgIH0pO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4cyhTd2l0Y2hQcm92aWRlciwgeyBzY29wZTogX19zY29wZVN3aXRjaCwgY2hlY2tlZCwgZGlzYWJsZWQsIGNoaWxkcmVuOiBbXG4gICAgICAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICBQcmltaXRpdmUuYnV0dG9uLFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgICByb2xlOiBcInN3aXRjaFwiLFxuICAgICAgICAgIFwiYXJpYS1jaGVja2VkXCI6IGNoZWNrZWQsXG4gICAgICAgICAgXCJhcmlhLXJlcXVpcmVkXCI6IHJlcXVpcmVkLFxuICAgICAgICAgIFwiZGF0YS1zdGF0ZVwiOiBnZXRTdGF0ZShjaGVja2VkKSxcbiAgICAgICAgICBcImRhdGEtZGlzYWJsZWRcIjogZGlzYWJsZWQgPyBcIlwiIDogdm9pZCAwLFxuICAgICAgICAgIGRpc2FibGVkLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIC4uLnN3aXRjaFByb3BzLFxuICAgICAgICAgIHJlZjogY29tcG9zZWRSZWZzLFxuICAgICAgICAgIG9uQ2xpY2s6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQ2xpY2ssIChldmVudCkgPT4ge1xuICAgICAgICAgICAgc2V0Q2hlY2tlZCgocHJldkNoZWNrZWQpID0+ICFwcmV2Q2hlY2tlZCk7XG4gICAgICAgICAgICBpZiAoaXNGb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICBoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZi5jdXJyZW50ID0gZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTtcbiAgICAgICAgICAgICAgaWYgKCFoYXNDb25zdW1lclN0b3BwZWRQcm9wYWdhdGlvblJlZi5jdXJyZW50KSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICApLFxuICAgICAgaXNGb3JtQ29udHJvbCAmJiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICBCdWJibGVJbnB1dCxcbiAgICAgICAge1xuICAgICAgICAgIGNvbnRyb2w6IGJ1dHRvbixcbiAgICAgICAgICBidWJibGVzOiAhaGFzQ29uc3VtZXJTdG9wcGVkUHJvcGFnYXRpb25SZWYuY3VycmVudCxcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgIGNoZWNrZWQsXG4gICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgICAgZm9ybSxcbiAgICAgICAgICBzdHlsZTogeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgtMTAwJSlcIiB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICBdIH0pO1xuICB9XG4pO1xuU3dpdGNoLmRpc3BsYXlOYW1lID0gU1dJVENIX05BTUU7XG52YXIgVEhVTUJfTkFNRSA9IFwiU3dpdGNoVGh1bWJcIjtcbnZhciBTd2l0Y2hUaHVtYiA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlU3dpdGNoLCAuLi50aHVtYlByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlU3dpdGNoQ29udGV4dChUSFVNQl9OQU1FLCBfX3Njb3BlU3dpdGNoKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFByaW1pdGl2ZS5zcGFuLFxuICAgICAge1xuICAgICAgICBcImRhdGEtc3RhdGVcIjogZ2V0U3RhdGUoY29udGV4dC5jaGVja2VkKSxcbiAgICAgICAgXCJkYXRhLWRpc2FibGVkXCI6IGNvbnRleHQuZGlzYWJsZWQgPyBcIlwiIDogdm9pZCAwLFxuICAgICAgICAuLi50aHVtYlByb3BzLFxuICAgICAgICByZWY6IGZvcndhcmRlZFJlZlxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5Td2l0Y2hUaHVtYi5kaXNwbGF5TmFtZSA9IFRIVU1CX05BTUU7XG52YXIgQnViYmxlSW5wdXQgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBjb250cm9sLCBjaGVja2VkLCBidWJibGVzID0gdHJ1ZSwgLi4uaW5wdXRQcm9wcyB9ID0gcHJvcHM7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgcHJldkNoZWNrZWQgPSB1c2VQcmV2aW91cyhjaGVja2VkKTtcbiAgY29uc3QgY29udHJvbFNpemUgPSB1c2VTaXplKGNvbnRyb2wpO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0ID0gcmVmLmN1cnJlbnQ7XG4gICAgY29uc3QgaW5wdXRQcm90byA9IHdpbmRvdy5IVE1MSW5wdXRFbGVtZW50LnByb3RvdHlwZTtcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihpbnB1dFByb3RvLCBcImNoZWNrZWRcIik7XG4gICAgY29uc3Qgc2V0Q2hlY2tlZCA9IGRlc2NyaXB0b3Iuc2V0O1xuICAgIGlmIChwcmV2Q2hlY2tlZCAhPT0gY2hlY2tlZCAmJiBzZXRDaGVja2VkKSB7XG4gICAgICBjb25zdCBldmVudCA9IG5ldyBFdmVudChcImNsaWNrXCIsIHsgYnViYmxlcyB9KTtcbiAgICAgIHNldENoZWNrZWQuY2FsbChpbnB1dCwgY2hlY2tlZCk7XG4gICAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGV2ZW50KTtcbiAgICB9XG4gIH0sIFtwcmV2Q2hlY2tlZCwgY2hlY2tlZCwgYnViYmxlc10pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICBcImlucHV0XCIsXG4gICAge1xuICAgICAgdHlwZTogXCJjaGVja2JveFwiLFxuICAgICAgXCJhcmlhLWhpZGRlblwiOiB0cnVlLFxuICAgICAgZGVmYXVsdENoZWNrZWQ6IGNoZWNrZWQsXG4gICAgICAuLi5pbnB1dFByb3BzLFxuICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgcmVmLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgLi4ucHJvcHMuc3R5bGUsXG4gICAgICAgIC4uLmNvbnRyb2xTaXplLFxuICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICBwb2ludGVyRXZlbnRzOiBcIm5vbmVcIixcbiAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgbWFyZ2luOiAwXG4gICAgICB9XG4gICAgfVxuICApO1xufTtcbmZ1bmN0aW9uIGdldFN0YXRlKGNoZWNrZWQpIHtcbiAgcmV0dXJuIGNoZWNrZWQgPyBcImNoZWNrZWRcIiA6IFwidW5jaGVja2VkXCI7XG59XG52YXIgUm9vdCA9IFN3aXRjaDtcbnZhciBUaHVtYiA9IFN3aXRjaFRodW1iO1xuZXhwb3J0IHtcbiAgUm9vdCxcbiAgU3dpdGNoLFxuICBTd2l0Y2hUaHVtYixcbiAgVGh1bWIsXG4gIGNyZWF0ZVN3aXRjaFNjb3BlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIixudWxsLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvdGFicy9zcmMvdGFicy50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfSBmcm9tIFwiQHJhZGl4LXVpL3ByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dFNjb3BlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb250ZXh0XCI7XG5pbXBvcnQgeyBjcmVhdGVSb3ZpbmdGb2N1c0dyb3VwU2NvcGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXJvdmluZy1mb2N1c1wiO1xuaW1wb3J0IHsgUHJlc2VuY2UgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByZXNlbmNlXCI7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0ICogYXMgUm92aW5nRm9jdXNHcm91cCBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXJvdmluZy1mb2N1c1wiO1xuaW1wb3J0IHsgdXNlRGlyZWN0aW9uIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1kaXJlY3Rpb25cIjtcbmltcG9ydCB7IHVzZUNvbnRyb2xsYWJsZVN0YXRlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC11c2UtY29udHJvbGxhYmxlLXN0YXRlXCI7XG5pbXBvcnQgeyB1c2VJZCB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtaWRcIjtcbmltcG9ydCB7IGpzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xudmFyIFRBQlNfTkFNRSA9IFwiVGFic1wiO1xudmFyIFtjcmVhdGVUYWJzQ29udGV4dCwgY3JlYXRlVGFic1Njb3BlXSA9IGNyZWF0ZUNvbnRleHRTY29wZShUQUJTX05BTUUsIFtcbiAgY3JlYXRlUm92aW5nRm9jdXNHcm91cFNjb3BlXG5dKTtcbnZhciB1c2VSb3ZpbmdGb2N1c0dyb3VwU2NvcGUgPSBjcmVhdGVSb3ZpbmdGb2N1c0dyb3VwU2NvcGUoKTtcbnZhciBbVGFic1Byb3ZpZGVyLCB1c2VUYWJzQ29udGV4dF0gPSBjcmVhdGVUYWJzQ29udGV4dChUQUJTX05BTUUpO1xudmFyIFRhYnMgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIF9fc2NvcGVUYWJzLFxuICAgICAgdmFsdWU6IHZhbHVlUHJvcCxcbiAgICAgIG9uVmFsdWVDaGFuZ2UsXG4gICAgICBkZWZhdWx0VmFsdWUsXG4gICAgICBvcmllbnRhdGlvbiA9IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgZGlyLFxuICAgICAgYWN0aXZhdGlvbk1vZGUgPSBcImF1dG9tYXRpY1wiLFxuICAgICAgLi4udGFic1Byb3BzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHVzZURpcmVjdGlvbihkaXIpO1xuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgICAgcHJvcDogdmFsdWVQcm9wLFxuICAgICAgb25DaGFuZ2U6IG9uVmFsdWVDaGFuZ2UsXG4gICAgICBkZWZhdWx0UHJvcDogZGVmYXVsdFZhbHVlXG4gICAgfSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBUYWJzUHJvdmlkZXIsXG4gICAgICB7XG4gICAgICAgIHNjb3BlOiBfX3Njb3BlVGFicyxcbiAgICAgICAgYmFzZUlkOiB1c2VJZCgpLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgb25WYWx1ZUNoYW5nZTogc2V0VmFsdWUsXG4gICAgICAgIG9yaWVudGF0aW9uLFxuICAgICAgICBkaXI6IGRpcmVjdGlvbixcbiAgICAgICAgYWN0aXZhdGlvbk1vZGUsXG4gICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgICAgIFByaW1pdGl2ZS5kaXYsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGlyOiBkaXJlY3Rpb24sXG4gICAgICAgICAgICBcImRhdGEtb3JpZW50YXRpb25cIjogb3JpZW50YXRpb24sXG4gICAgICAgICAgICAuLi50YWJzUHJvcHMsXG4gICAgICAgICAgICByZWY6IGZvcndhcmRlZFJlZlxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5UYWJzLmRpc3BsYXlOYW1lID0gVEFCU19OQU1FO1xudmFyIFRBQl9MSVNUX05BTUUgPSBcIlRhYnNMaXN0XCI7XG52YXIgVGFic0xpc3QgPSBSZWFjdC5mb3J3YXJkUmVmKFxuICAocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICAgIGNvbnN0IHsgX19zY29wZVRhYnMsIGxvb3AgPSB0cnVlLCAuLi5saXN0UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VUYWJzQ29udGV4dChUQUJfTElTVF9OQU1FLCBfX3Njb3BlVGFicyk7XG4gICAgY29uc3Qgcm92aW5nRm9jdXNHcm91cFNjb3BlID0gdXNlUm92aW5nRm9jdXNHcm91cFNjb3BlKF9fc2NvcGVUYWJzKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICAgIFJvdmluZ0ZvY3VzR3JvdXAuUm9vdCxcbiAgICAgIHtcbiAgICAgICAgYXNDaGlsZDogdHJ1ZSxcbiAgICAgICAgLi4ucm92aW5nRm9jdXNHcm91cFNjb3BlLFxuICAgICAgICBvcmllbnRhdGlvbjogY29udGV4dC5vcmllbnRhdGlvbixcbiAgICAgICAgZGlyOiBjb250ZXh0LmRpcixcbiAgICAgICAgbG9vcCxcbiAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgUHJpbWl0aXZlLmRpdixcbiAgICAgICAgICB7XG4gICAgICAgICAgICByb2xlOiBcInRhYmxpc3RcIixcbiAgICAgICAgICAgIFwiYXJpYS1vcmllbnRhdGlvblwiOiBjb250ZXh0Lm9yaWVudGF0aW9uLFxuICAgICAgICAgICAgLi4ubGlzdFByb3BzLFxuICAgICAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWZcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuVGFic0xpc3QuZGlzcGxheU5hbWUgPSBUQUJfTElTVF9OQU1FO1xudmFyIFRSSUdHRVJfTkFNRSA9IFwiVGFic1RyaWdnZXJcIjtcbnZhciBUYWJzVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlVGFicywgdmFsdWUsIGRpc2FibGVkID0gZmFsc2UsIC4uLnRyaWdnZXJQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVRhYnNDb250ZXh0KFRSSUdHRVJfTkFNRSwgX19zY29wZVRhYnMpO1xuICAgIGNvbnN0IHJvdmluZ0ZvY3VzR3JvdXBTY29wZSA9IHVzZVJvdmluZ0ZvY3VzR3JvdXBTY29wZShfX3Njb3BlVGFicyk7XG4gICAgY29uc3QgdHJpZ2dlcklkID0gbWFrZVRyaWdnZXJJZChjb250ZXh0LmJhc2VJZCwgdmFsdWUpO1xuICAgIGNvbnN0IGNvbnRlbnRJZCA9IG1ha2VDb250ZW50SWQoY29udGV4dC5iYXNlSWQsIHZhbHVlKTtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gdmFsdWUgPT09IGNvbnRleHQudmFsdWU7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBSb3ZpbmdGb2N1c0dyb3VwLkl0ZW0sXG4gICAgICB7XG4gICAgICAgIGFzQ2hpbGQ6IHRydWUsXG4gICAgICAgIC4uLnJvdmluZ0ZvY3VzR3JvdXBTY29wZSxcbiAgICAgICAgZm9jdXNhYmxlOiAhZGlzYWJsZWQsXG4gICAgICAgIGFjdGl2ZTogaXNTZWxlY3RlZCxcbiAgICAgICAgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICAgICAgUHJpbWl0aXZlLmJ1dHRvbixcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICAgICAgcm9sZTogXCJ0YWJcIixcbiAgICAgICAgICAgIFwiYXJpYS1zZWxlY3RlZFwiOiBpc1NlbGVjdGVkLFxuICAgICAgICAgICAgXCJhcmlhLWNvbnRyb2xzXCI6IGNvbnRlbnRJZCxcbiAgICAgICAgICAgIFwiZGF0YS1zdGF0ZVwiOiBpc1NlbGVjdGVkID8gXCJhY3RpdmVcIiA6IFwiaW5hY3RpdmVcIixcbiAgICAgICAgICAgIFwiZGF0YS1kaXNhYmxlZFwiOiBkaXNhYmxlZCA/IFwiXCIgOiB2b2lkIDAsXG4gICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgIGlkOiB0cmlnZ2VySWQsXG4gICAgICAgICAgICAuLi50cmlnZ2VyUHJvcHMsXG4gICAgICAgICAgICByZWY6IGZvcndhcmRlZFJlZixcbiAgICAgICAgICAgIG9uTW91c2VEb3duOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbk1vdXNlRG93biwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmICghZGlzYWJsZWQgJiYgZXZlbnQuYnV0dG9uID09PSAwICYmIGV2ZW50LmN0cmxLZXkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG9uS2V5RG93bjogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25LZXlEb3duLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKFtcIiBcIiwgXCJFbnRlclwiXS5pbmNsdWRlcyhldmVudC5rZXkpKSBjb250ZXh0Lm9uVmFsdWVDaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBvbkZvY3VzOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkZvY3VzLCAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzQXV0b21hdGljQWN0aXZhdGlvbiA9IGNvbnRleHQuYWN0aXZhdGlvbk1vZGUgIT09IFwibWFudWFsXCI7XG4gICAgICAgICAgICAgIGlmICghaXNTZWxlY3RlZCAmJiAhZGlzYWJsZWQgJiYgaXNBdXRvbWF0aWNBY3RpdmF0aW9uKSB7XG4gICAgICAgICAgICAgICAgY29udGV4dC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICApO1xuICB9XG4pO1xuVGFic1RyaWdnZXIuZGlzcGxheU5hbWUgPSBUUklHR0VSX05BTUU7XG52YXIgQ09OVEVOVF9OQU1FID0gXCJUYWJzQ29udGVudFwiO1xudmFyIFRhYnNDb250ZW50ID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCB7IF9fc2NvcGVUYWJzLCB2YWx1ZSwgZm9yY2VNb3VudCwgY2hpbGRyZW4sIC4uLmNvbnRlbnRQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgY29udGV4dCA9IHVzZVRhYnNDb250ZXh0KENPTlRFTlRfTkFNRSwgX19zY29wZVRhYnMpO1xuICAgIGNvbnN0IHRyaWdnZXJJZCA9IG1ha2VUcmlnZ2VySWQoY29udGV4dC5iYXNlSWQsIHZhbHVlKTtcbiAgICBjb25zdCBjb250ZW50SWQgPSBtYWtlQ29udGVudElkKGNvbnRleHQuYmFzZUlkLCB2YWx1ZSk7XG4gICAgY29uc3QgaXNTZWxlY3RlZCA9IHZhbHVlID09PSBjb250ZXh0LnZhbHVlO1xuICAgIGNvbnN0IGlzTW91bnRBbmltYXRpb25QcmV2ZW50ZWRSZWYgPSBSZWFjdC51c2VSZWYoaXNTZWxlY3RlZCk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHJBRiA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiBpc01vdW50QW5pbWF0aW9uUHJldmVudGVkUmVmLmN1cnJlbnQgPSBmYWxzZSk7XG4gICAgICByZXR1cm4gKCkgPT4gY2FuY2VsQW5pbWF0aW9uRnJhbWUockFGKTtcbiAgICB9LCBbXSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goUHJlc2VuY2UsIHsgcHJlc2VudDogZm9yY2VNb3VudCB8fCBpc1NlbGVjdGVkLCBjaGlsZHJlbjogKHsgcHJlc2VudCB9KSA9PiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgUHJpbWl0aXZlLmRpdixcbiAgICAgIHtcbiAgICAgICAgXCJkYXRhLXN0YXRlXCI6IGlzU2VsZWN0ZWQgPyBcImFjdGl2ZVwiIDogXCJpbmFjdGl2ZVwiLFxuICAgICAgICBcImRhdGEtb3JpZW50YXRpb25cIjogY29udGV4dC5vcmllbnRhdGlvbixcbiAgICAgICAgcm9sZTogXCJ0YWJwYW5lbFwiLFxuICAgICAgICBcImFyaWEtbGFiZWxsZWRieVwiOiB0cmlnZ2VySWQsXG4gICAgICAgIGhpZGRlbjogIXByZXNlbnQsXG4gICAgICAgIGlkOiBjb250ZW50SWQsXG4gICAgICAgIHRhYkluZGV4OiAwLFxuICAgICAgICAuLi5jb250ZW50UHJvcHMsXG4gICAgICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIC4uLnByb3BzLnN0eWxlLFxuICAgICAgICAgIGFuaW1hdGlvbkR1cmF0aW9uOiBpc01vdW50QW5pbWF0aW9uUHJldmVudGVkUmVmLmN1cnJlbnQgPyBcIjBzXCIgOiB2b2lkIDBcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IHByZXNlbnQgJiYgY2hpbGRyZW5cbiAgICAgIH1cbiAgICApIH0pO1xuICB9XG4pO1xuVGFic0NvbnRlbnQuZGlzcGxheU5hbWUgPSBDT05URU5UX05BTUU7XG5mdW5jdGlvbiBtYWtlVHJpZ2dlcklkKGJhc2VJZCwgdmFsdWUpIHtcbiAgcmV0dXJuIGAke2Jhc2VJZH0tdHJpZ2dlci0ke3ZhbHVlfWA7XG59XG5mdW5jdGlvbiBtYWtlQ29udGVudElkKGJhc2VJZCwgdmFsdWUpIHtcbiAgcmV0dXJuIGAke2Jhc2VJZH0tY29udGVudC0ke3ZhbHVlfWA7XG59XG52YXIgUm9vdDIgPSBUYWJzO1xudmFyIExpc3QgPSBUYWJzTGlzdDtcbnZhciBUcmlnZ2VyID0gVGFic1RyaWdnZXI7XG52YXIgQ29udGVudCA9IFRhYnNDb250ZW50O1xuZXhwb3J0IHtcbiAgQ29udGVudCxcbiAgTGlzdCxcbiAgUm9vdDIgYXMgUm9vdCxcbiAgVGFicyxcbiAgVGFic0NvbnRlbnQsXG4gIFRhYnNMaXN0LFxuICBUYWJzVHJpZ2dlcixcbiAgVHJpZ2dlcixcbiAgY3JlYXRlVGFic1Njb3BlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIixudWxsLG51bGwsIi8vIHBhY2thZ2VzL3JlYWN0L3Zpc3VhbGx5LWhpZGRlbi9zcmMvdmlzdWFsbHktaGlkZGVuLnRzeFxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXByaW1pdGl2ZVwiO1xuaW1wb3J0IHsganN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG52YXIgTkFNRSA9IFwiVmlzdWFsbHlIaWRkZW5cIjtcbnZhciBWaXN1YWxseUhpZGRlbiA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBQcmltaXRpdmUuc3BhbixcbiAgICAgIHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIHJlZjogZm9yd2FyZGVkUmVmLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3NcbiAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgICB3aWR0aDogMSxcbiAgICAgICAgICBoZWlnaHQ6IDEsXG4gICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICBtYXJnaW46IC0xLFxuICAgICAgICAgIG92ZXJmbG93OiBcImhpZGRlblwiLFxuICAgICAgICAgIGNsaXA6IFwicmVjdCgwLCAwLCAwLCAwKVwiLFxuICAgICAgICAgIHdoaXRlU3BhY2U6IFwibm93cmFwXCIsXG4gICAgICAgICAgd29yZFdyYXA6IFwibm9ybWFsXCIsXG4gICAgICAgICAgLi4ucHJvcHMuc3R5bGVcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cbik7XG5WaXN1YWxseUhpZGRlbi5kaXNwbGF5TmFtZSA9IE5BTUU7XG52YXIgUm9vdCA9IFZpc3VhbGx5SGlkZGVuO1xuZXhwb3J0IHtcbiAgUm9vdCxcbiAgVmlzdWFsbHlIaWRkZW5cbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5tanMubWFwXG4iLCJcInVzZSBjbGllbnRcIjtcblxuLy8gcGFja2FnZXMvcmVhY3QvdG9vbHRpcC9zcmMvdG9vbHRpcC50c3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY29tcG9zZUV2ZW50SGFuZGxlcnMgfSBmcm9tIFwiQHJhZGl4LXVpL3ByaW1pdGl2ZVwiO1xuaW1wb3J0IHsgdXNlQ29tcG9zZWRSZWZzIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1jb21wb3NlLXJlZnNcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHRTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtY29udGV4dFwiO1xuaW1wb3J0IHsgRGlzbWlzc2FibGVMYXllciB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtZGlzbWlzc2FibGUtbGF5ZXJcIjtcbmltcG9ydCB7IHVzZUlkIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1pZFwiO1xuaW1wb3J0ICogYXMgUG9wcGVyUHJpbWl0aXZlIGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcG9wcGVyXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3BwZXJTY29wZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtcG9wcGVyXCI7XG5pbXBvcnQgeyBQb3J0YWwgYXMgUG9ydGFsUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wb3J0YWxcIjtcbmltcG9ydCB7IFByZXNlbmNlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmVzZW5jZVwiO1xuaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSBcIkByYWRpeC11aS9yZWFjdC1wcmltaXRpdmVcIjtcbmltcG9ydCB7IFNsb3R0YWJsZSB9IGZyb20gXCJAcmFkaXgtdWkvcmVhY3Qtc2xvdFwiO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxhYmxlU3RhdGUgfSBmcm9tIFwiQHJhZGl4LXVpL3JlYWN0LXVzZS1jb250cm9sbGFibGUtc3RhdGVcIjtcbmltcG9ydCAqIGFzIFZpc3VhbGx5SGlkZGVuUHJpbWl0aXZlIGZyb20gXCJAcmFkaXgtdWkvcmVhY3QtdmlzdWFsbHktaGlkZGVuXCI7XG5pbXBvcnQgeyBqc3gsIGpzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbnZhciBbY3JlYXRlVG9vbHRpcENvbnRleHQsIGNyZWF0ZVRvb2x0aXBTY29wZV0gPSBjcmVhdGVDb250ZXh0U2NvcGUoXCJUb29sdGlwXCIsIFtcbiAgY3JlYXRlUG9wcGVyU2NvcGVcbl0pO1xudmFyIHVzZVBvcHBlclNjb3BlID0gY3JlYXRlUG9wcGVyU2NvcGUoKTtcbnZhciBQUk9WSURFUl9OQU1FID0gXCJUb29sdGlwUHJvdmlkZXJcIjtcbnZhciBERUZBVUxUX0RFTEFZX0RVUkFUSU9OID0gNzAwO1xudmFyIFRPT0xUSVBfT1BFTiA9IFwidG9vbHRpcC5vcGVuXCI7XG52YXIgW1Rvb2x0aXBQcm92aWRlckNvbnRleHRQcm92aWRlciwgdXNlVG9vbHRpcFByb3ZpZGVyQ29udGV4dF0gPSBjcmVhdGVUb29sdGlwQ29udGV4dChQUk9WSURFUl9OQU1FKTtcbnZhciBUb29sdGlwUHJvdmlkZXIgPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIF9fc2NvcGVUb29sdGlwLFxuICAgIGRlbGF5RHVyYXRpb24gPSBERUZBVUxUX0RFTEFZX0RVUkFUSU9OLFxuICAgIHNraXBEZWxheUR1cmF0aW9uID0gMzAwLFxuICAgIGRpc2FibGVIb3ZlcmFibGVDb250ZW50ID0gZmFsc2UsXG4gICAgY2hpbGRyZW5cbiAgfSA9IHByb3BzO1xuICBjb25zdCBbaXNPcGVuRGVsYXllZCwgc2V0SXNPcGVuRGVsYXllZF0gPSBSZWFjdC51c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgaXNQb2ludGVySW5UcmFuc2l0UmVmID0gUmVhY3QudXNlUmVmKGZhbHNlKTtcbiAgY29uc3Qgc2tpcERlbGF5VGltZXJSZWYgPSBSZWFjdC51c2VSZWYoMCk7XG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2tpcERlbGF5VGltZXIgPSBza2lwRGVsYXlUaW1lclJlZi5jdXJyZW50O1xuICAgIHJldHVybiAoKSA9PiB3aW5kb3cuY2xlYXJUaW1lb3V0KHNraXBEZWxheVRpbWVyKTtcbiAgfSwgW10pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChcbiAgICBUb29sdGlwUHJvdmlkZXJDb250ZXh0UHJvdmlkZXIsXG4gICAge1xuICAgICAgc2NvcGU6IF9fc2NvcGVUb29sdGlwLFxuICAgICAgaXNPcGVuRGVsYXllZCxcbiAgICAgIGRlbGF5RHVyYXRpb24sXG4gICAgICBvbk9wZW46IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChza2lwRGVsYXlUaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgc2V0SXNPcGVuRGVsYXllZChmYWxzZSk7XG4gICAgICB9LCBbXSksXG4gICAgICBvbkNsb3NlOiBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoc2tpcERlbGF5VGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgIHNraXBEZWxheVRpbWVyUmVmLmN1cnJlbnQgPSB3aW5kb3cuc2V0VGltZW91dChcbiAgICAgICAgICAoKSA9PiBzZXRJc09wZW5EZWxheWVkKHRydWUpLFxuICAgICAgICAgIHNraXBEZWxheUR1cmF0aW9uXG4gICAgICAgICk7XG4gICAgICB9LCBbc2tpcERlbGF5RHVyYXRpb25dKSxcbiAgICAgIGlzUG9pbnRlckluVHJhbnNpdFJlZixcbiAgICAgIG9uUG9pbnRlckluVHJhbnNpdENoYW5nZTogUmVhY3QudXNlQ2FsbGJhY2soKGluVHJhbnNpdCkgPT4ge1xuICAgICAgICBpc1BvaW50ZXJJblRyYW5zaXRSZWYuY3VycmVudCA9IGluVHJhbnNpdDtcbiAgICAgIH0sIFtdKSxcbiAgICAgIGRpc2FibGVIb3ZlcmFibGVDb250ZW50LFxuICAgICAgY2hpbGRyZW5cbiAgICB9XG4gICk7XG59O1xuVG9vbHRpcFByb3ZpZGVyLmRpc3BsYXlOYW1lID0gUFJPVklERVJfTkFNRTtcbnZhciBUT09MVElQX05BTUUgPSBcIlRvb2x0aXBcIjtcbnZhciBbVG9vbHRpcENvbnRleHRQcm92aWRlciwgdXNlVG9vbHRpcENvbnRleHRdID0gY3JlYXRlVG9vbHRpcENvbnRleHQoVE9PTFRJUF9OQU1FKTtcbnZhciBUb29sdGlwID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfX3Njb3BlVG9vbHRpcCxcbiAgICBjaGlsZHJlbixcbiAgICBvcGVuOiBvcGVuUHJvcCxcbiAgICBkZWZhdWx0T3BlbiA9IGZhbHNlLFxuICAgIG9uT3BlbkNoYW5nZSxcbiAgICBkaXNhYmxlSG92ZXJhYmxlQ29udGVudDogZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnRQcm9wLFxuICAgIGRlbGF5RHVyYXRpb246IGRlbGF5RHVyYXRpb25Qcm9wXG4gIH0gPSBwcm9wcztcbiAgY29uc3QgcHJvdmlkZXJDb250ZXh0ID0gdXNlVG9vbHRpcFByb3ZpZGVyQ29udGV4dChUT09MVElQX05BTUUsIHByb3BzLl9fc2NvcGVUb29sdGlwKTtcbiAgY29uc3QgcG9wcGVyU2NvcGUgPSB1c2VQb3BwZXJTY29wZShfX3Njb3BlVG9vbHRpcCk7XG4gIGNvbnN0IFt0cmlnZ2VyLCBzZXRUcmlnZ2VyXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBjb250ZW50SWQgPSB1c2VJZCgpO1xuICBjb25zdCBvcGVuVGltZXJSZWYgPSBSZWFjdC51c2VSZWYoMCk7XG4gIGNvbnN0IGRpc2FibGVIb3ZlcmFibGVDb250ZW50ID0gZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnRQcm9wID8/IHByb3ZpZGVyQ29udGV4dC5kaXNhYmxlSG92ZXJhYmxlQ29udGVudDtcbiAgY29uc3QgZGVsYXlEdXJhdGlvbiA9IGRlbGF5RHVyYXRpb25Qcm9wID8/IHByb3ZpZGVyQ29udGV4dC5kZWxheUR1cmF0aW9uO1xuICBjb25zdCB3YXNPcGVuRGVsYXllZFJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IFtvcGVuID0gZmFsc2UsIHNldE9wZW5dID0gdXNlQ29udHJvbGxhYmxlU3RhdGUoe1xuICAgIHByb3A6IG9wZW5Qcm9wLFxuICAgIGRlZmF1bHRQcm9wOiBkZWZhdWx0T3BlbixcbiAgICBvbkNoYW5nZTogKG9wZW4yKSA9PiB7XG4gICAgICBpZiAob3BlbjIpIHtcbiAgICAgICAgcHJvdmlkZXJDb250ZXh0Lm9uT3BlbigpO1xuICAgICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChUT09MVElQX09QRU4pKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb3ZpZGVyQ29udGV4dC5vbkNsb3NlKCk7XG4gICAgICB9XG4gICAgICBvbk9wZW5DaGFuZ2U/LihvcGVuMik7XG4gICAgfVxuICB9KTtcbiAgY29uc3Qgc3RhdGVBdHRyaWJ1dGUgPSBSZWFjdC51c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gb3BlbiA/IHdhc09wZW5EZWxheWVkUmVmLmN1cnJlbnQgPyBcImRlbGF5ZWQtb3BlblwiIDogXCJpbnN0YW50LW9wZW5cIiA6IFwiY2xvc2VkXCI7XG4gIH0sIFtvcGVuXSk7XG4gIGNvbnN0IGhhbmRsZU9wZW4gPSBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgd2luZG93LmNsZWFyVGltZW91dChvcGVuVGltZXJSZWYuY3VycmVudCk7XG4gICAgb3BlblRpbWVyUmVmLmN1cnJlbnQgPSAwO1xuICAgIHdhc09wZW5EZWxheWVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICBzZXRPcGVuKHRydWUpO1xuICB9LCBbc2V0T3Blbl0pO1xuICBjb25zdCBoYW5kbGVDbG9zZSA9IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KG9wZW5UaW1lclJlZi5jdXJyZW50KTtcbiAgICBvcGVuVGltZXJSZWYuY3VycmVudCA9IDA7XG4gICAgc2V0T3BlbihmYWxzZSk7XG4gIH0sIFtzZXRPcGVuXSk7XG4gIGNvbnN0IGhhbmRsZURlbGF5ZWRPcGVuID0gUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHdpbmRvdy5jbGVhclRpbWVvdXQob3BlblRpbWVyUmVmLmN1cnJlbnQpO1xuICAgIG9wZW5UaW1lclJlZi5jdXJyZW50ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgd2FzT3BlbkRlbGF5ZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICBzZXRPcGVuKHRydWUpO1xuICAgICAgb3BlblRpbWVyUmVmLmN1cnJlbnQgPSAwO1xuICAgIH0sIGRlbGF5RHVyYXRpb24pO1xuICB9LCBbZGVsYXlEdXJhdGlvbiwgc2V0T3Blbl0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAob3BlblRpbWVyUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChvcGVuVGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgIG9wZW5UaW1lclJlZi5jdXJyZW50ID0gMDtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbXSk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFBvcHBlclByaW1pdGl2ZS5Sb290LCB7IC4uLnBvcHBlclNjb3BlLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChcbiAgICBUb29sdGlwQ29udGV4dFByb3ZpZGVyLFxuICAgIHtcbiAgICAgIHNjb3BlOiBfX3Njb3BlVG9vbHRpcCxcbiAgICAgIGNvbnRlbnRJZCxcbiAgICAgIG9wZW4sXG4gICAgICBzdGF0ZUF0dHJpYnV0ZSxcbiAgICAgIHRyaWdnZXIsXG4gICAgICBvblRyaWdnZXJDaGFuZ2U6IHNldFRyaWdnZXIsXG4gICAgICBvblRyaWdnZXJFbnRlcjogUmVhY3QudXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAocHJvdmlkZXJDb250ZXh0LmlzT3BlbkRlbGF5ZWQpIGhhbmRsZURlbGF5ZWRPcGVuKCk7XG4gICAgICAgIGVsc2UgaGFuZGxlT3BlbigpO1xuICAgICAgfSwgW3Byb3ZpZGVyQ29udGV4dC5pc09wZW5EZWxheWVkLCBoYW5kbGVEZWxheWVkT3BlbiwgaGFuZGxlT3Blbl0pLFxuICAgICAgb25UcmlnZ2VyTGVhdmU6IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaWYgKGRpc2FibGVIb3ZlcmFibGVDb250ZW50KSB7XG4gICAgICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KG9wZW5UaW1lclJlZi5jdXJyZW50KTtcbiAgICAgICAgICBvcGVuVGltZXJSZWYuY3VycmVudCA9IDA7XG4gICAgICAgIH1cbiAgICAgIH0sIFtoYW5kbGVDbG9zZSwgZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnRdKSxcbiAgICAgIG9uT3BlbjogaGFuZGxlT3BlbixcbiAgICAgIG9uQ2xvc2U6IGhhbmRsZUNsb3NlLFxuICAgICAgZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnQsXG4gICAgICBjaGlsZHJlblxuICAgIH1cbiAgKSB9KTtcbn07XG5Ub29sdGlwLmRpc3BsYXlOYW1lID0gVE9PTFRJUF9OQU1FO1xudmFyIFRSSUdHRVJfTkFNRSA9IFwiVG9vbHRpcFRyaWdnZXJcIjtcbnZhciBUb29sdGlwVHJpZ2dlciA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlVG9vbHRpcCwgLi4udHJpZ2dlclByb3BzIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlVG9vbHRpcENvbnRleHQoVFJJR0dFUl9OQU1FLCBfX3Njb3BlVG9vbHRpcCk7XG4gICAgY29uc3QgcHJvdmlkZXJDb250ZXh0ID0gdXNlVG9vbHRpcFByb3ZpZGVyQ29udGV4dChUUklHR0VSX05BTUUsIF9fc2NvcGVUb29sdGlwKTtcbiAgICBjb25zdCBwb3BwZXJTY29wZSA9IHVzZVBvcHBlclNjb3BlKF9fc2NvcGVUb29sdGlwKTtcbiAgICBjb25zdCByZWYgPSBSZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgcmVmLCBjb250ZXh0Lm9uVHJpZ2dlckNoYW5nZSk7XG4gICAgY29uc3QgaXNQb2ludGVyRG93blJlZiA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgaGFzUG9pbnRlck1vdmVPcGVuZWRSZWYgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IGhhbmRsZVBvaW50ZXJVcCA9IFJlYWN0LnVzZUNhbGxiYWNrKCgpID0+IGlzUG9pbnRlckRvd25SZWYuY3VycmVudCA9IGZhbHNlLCBbXSk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcnVwXCIsIGhhbmRsZVBvaW50ZXJVcCk7XG4gICAgfSwgW2hhbmRsZVBvaW50ZXJVcF0pO1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8ganN4KFBvcHBlclByaW1pdGl2ZS5BbmNob3IsIHsgYXNDaGlsZDogdHJ1ZSwgLi4ucG9wcGVyU2NvcGUsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFxuICAgICAgUHJpbWl0aXZlLmJ1dHRvbixcbiAgICAgIHtcbiAgICAgICAgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGNvbnRleHQub3BlbiA/IGNvbnRleHQuY29udGVudElkIDogdm9pZCAwLFxuICAgICAgICBcImRhdGEtc3RhdGVcIjogY29udGV4dC5zdGF0ZUF0dHJpYnV0ZSxcbiAgICAgICAgLi4udHJpZ2dlclByb3BzLFxuICAgICAgICByZWY6IGNvbXBvc2VkUmVmcyxcbiAgICAgICAgb25Qb2ludGVyTW92ZTogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25Qb2ludGVyTW92ZSwgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LnBvaW50ZXJUeXBlID09PSBcInRvdWNoXCIpIHJldHVybjtcbiAgICAgICAgICBpZiAoIWhhc1BvaW50ZXJNb3ZlT3BlbmVkUmVmLmN1cnJlbnQgJiYgIXByb3ZpZGVyQ29udGV4dC5pc1BvaW50ZXJJblRyYW5zaXRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgY29udGV4dC5vblRyaWdnZXJFbnRlcigpO1xuICAgICAgICAgICAgaGFzUG9pbnRlck1vdmVPcGVuZWRSZWYuY3VycmVudCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgb25Qb2ludGVyTGVhdmU6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uUG9pbnRlckxlYXZlLCAoKSA9PiB7XG4gICAgICAgICAgY29udGV4dC5vblRyaWdnZXJMZWF2ZSgpO1xuICAgICAgICAgIGhhc1BvaW50ZXJNb3ZlT3BlbmVkUmVmLmN1cnJlbnQgPSBmYWxzZTtcbiAgICAgICAgfSksXG4gICAgICAgIG9uUG9pbnRlckRvd246IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uUG9pbnRlckRvd24sICgpID0+IHtcbiAgICAgICAgICBpc1BvaW50ZXJEb3duUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVydXBcIiwgaGFuZGxlUG9pbnRlclVwLCB7IG9uY2U6IHRydWUgfSk7XG4gICAgICAgIH0pLFxuICAgICAgICBvbkZvY3VzOiBjb21wb3NlRXZlbnRIYW5kbGVycyhwcm9wcy5vbkZvY3VzLCAoKSA9PiB7XG4gICAgICAgICAgaWYgKCFpc1BvaW50ZXJEb3duUmVmLmN1cnJlbnQpIGNvbnRleHQub25PcGVuKCk7XG4gICAgICAgIH0pLFxuICAgICAgICBvbkJsdXI6IGNvbXBvc2VFdmVudEhhbmRsZXJzKHByb3BzLm9uQmx1ciwgY29udGV4dC5vbkNsb3NlKSxcbiAgICAgICAgb25DbGljazogY29tcG9zZUV2ZW50SGFuZGxlcnMocHJvcHMub25DbGljaywgY29udGV4dC5vbkNsb3NlKVxuICAgICAgfVxuICAgICkgfSk7XG4gIH1cbik7XG5Ub29sdGlwVHJpZ2dlci5kaXNwbGF5TmFtZSA9IFRSSUdHRVJfTkFNRTtcbnZhciBQT1JUQUxfTkFNRSA9IFwiVG9vbHRpcFBvcnRhbFwiO1xudmFyIFtQb3J0YWxQcm92aWRlciwgdXNlUG9ydGFsQ29udGV4dF0gPSBjcmVhdGVUb29sdGlwQ29udGV4dChQT1JUQUxfTkFNRSwge1xuICBmb3JjZU1vdW50OiB2b2lkIDBcbn0pO1xudmFyIFRvb2x0aXBQb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBfX3Njb3BlVG9vbHRpcCwgZm9yY2VNb3VudCwgY2hpbGRyZW4sIGNvbnRhaW5lciB9ID0gcHJvcHM7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VUb29sdGlwQ29udGV4dChQT1JUQUxfTkFNRSwgX19zY29wZVRvb2x0aXApO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQb3J0YWxQcm92aWRlciwgeyBzY29wZTogX19zY29wZVRvb2x0aXAsIGZvcmNlTW91bnQsIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4KFByZXNlbmNlLCB7IHByZXNlbnQ6IGZvcmNlTW91bnQgfHwgY29udGV4dC5vcGVuLCBjaGlsZHJlbjogLyogQF9fUFVSRV9fICovIGpzeChQb3J0YWxQcmltaXRpdmUsIHsgYXNDaGlsZDogdHJ1ZSwgY29udGFpbmVyLCBjaGlsZHJlbiB9KSB9KSB9KTtcbn07XG5Ub29sdGlwUG9ydGFsLmRpc3BsYXlOYW1lID0gUE9SVEFMX05BTUU7XG52YXIgQ09OVEVOVF9OQU1FID0gXCJUb29sdGlwQ29udGVudFwiO1xudmFyIFRvb2x0aXBDb250ZW50ID0gUmVhY3QuZm9yd2FyZFJlZihcbiAgKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcbiAgICBjb25zdCBwb3J0YWxDb250ZXh0ID0gdXNlUG9ydGFsQ29udGV4dChDT05URU5UX05BTUUsIHByb3BzLl9fc2NvcGVUb29sdGlwKTtcbiAgICBjb25zdCB7IGZvcmNlTW91bnQgPSBwb3J0YWxDb250ZXh0LmZvcmNlTW91bnQsIHNpZGUgPSBcInRvcFwiLCAuLi5jb250ZW50UHJvcHMgfSA9IHByb3BzO1xuICAgIGNvbnN0IGNvbnRleHQgPSB1c2VUb29sdGlwQ29udGV4dChDT05URU5UX05BTUUsIHByb3BzLl9fc2NvcGVUb29sdGlwKTtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChQcmVzZW5jZSwgeyBwcmVzZW50OiBmb3JjZU1vdW50IHx8IGNvbnRleHQub3BlbiwgY2hpbGRyZW46IGNvbnRleHQuZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnQgPyAvKiBAX19QVVJFX18gKi8ganN4KFRvb2x0aXBDb250ZW50SW1wbCwgeyBzaWRlLCAuLi5jb250ZW50UHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pIDogLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwQ29udGVudEhvdmVyYWJsZSwgeyBzaWRlLCAuLi5jb250ZW50UHJvcHMsIHJlZjogZm9yd2FyZGVkUmVmIH0pIH0pO1xuICB9XG4pO1xudmFyIFRvb2x0aXBDb250ZW50SG92ZXJhYmxlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlVG9vbHRpcENvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlVG9vbHRpcCk7XG4gIGNvbnN0IHByb3ZpZGVyQ29udGV4dCA9IHVzZVRvb2x0aXBQcm92aWRlckNvbnRleHQoQ09OVEVOVF9OQU1FLCBwcm9wcy5fX3Njb3BlVG9vbHRpcCk7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgY29uc3QgY29tcG9zZWRSZWZzID0gdXNlQ29tcG9zZWRSZWZzKGZvcndhcmRlZFJlZiwgcmVmKTtcbiAgY29uc3QgW3BvaW50ZXJHcmFjZUFyZWEsIHNldFBvaW50ZXJHcmFjZUFyZWFdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gIGNvbnN0IHsgdHJpZ2dlciwgb25DbG9zZSB9ID0gY29udGV4dDtcbiAgY29uc3QgY29udGVudCA9IHJlZi5jdXJyZW50O1xuICBjb25zdCB7IG9uUG9pbnRlckluVHJhbnNpdENoYW5nZSB9ID0gcHJvdmlkZXJDb250ZXh0O1xuICBjb25zdCBoYW5kbGVSZW1vdmVHcmFjZUFyZWEgPSBSZWFjdC51c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0UG9pbnRlckdyYWNlQXJlYShudWxsKTtcbiAgICBvblBvaW50ZXJJblRyYW5zaXRDaGFuZ2UoZmFsc2UpO1xuICB9LCBbb25Qb2ludGVySW5UcmFuc2l0Q2hhbmdlXSk7XG4gIGNvbnN0IGhhbmRsZUNyZWF0ZUdyYWNlQXJlYSA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgIChldmVudCwgaG92ZXJUYXJnZXQpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRUYXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0O1xuICAgICAgY29uc3QgZXhpdFBvaW50ID0geyB4OiBldmVudC5jbGllbnRYLCB5OiBldmVudC5jbGllbnRZIH07XG4gICAgICBjb25zdCBleGl0U2lkZSA9IGdldEV4aXRTaWRlRnJvbVJlY3QoZXhpdFBvaW50LCBjdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgICAgIGNvbnN0IHBhZGRlZEV4aXRQb2ludHMgPSBnZXRQYWRkZWRFeGl0UG9pbnRzKGV4aXRQb2ludCwgZXhpdFNpZGUpO1xuICAgICAgY29uc3QgaG92ZXJUYXJnZXRQb2ludHMgPSBnZXRQb2ludHNGcm9tUmVjdChob3ZlclRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7XG4gICAgICBjb25zdCBncmFjZUFyZWEgPSBnZXRIdWxsKFsuLi5wYWRkZWRFeGl0UG9pbnRzLCAuLi5ob3ZlclRhcmdldFBvaW50c10pO1xuICAgICAgc2V0UG9pbnRlckdyYWNlQXJlYShncmFjZUFyZWEpO1xuICAgICAgb25Qb2ludGVySW5UcmFuc2l0Q2hhbmdlKHRydWUpO1xuICAgIH0sXG4gICAgW29uUG9pbnRlckluVHJhbnNpdENoYW5nZV1cbiAgKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4gaGFuZGxlUmVtb3ZlR3JhY2VBcmVhKCk7XG4gIH0sIFtoYW5kbGVSZW1vdmVHcmFjZUFyZWFdKTtcbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHJpZ2dlciAmJiBjb250ZW50KSB7XG4gICAgICBjb25zdCBoYW5kbGVUcmlnZ2VyTGVhdmUgPSAoZXZlbnQpID0+IGhhbmRsZUNyZWF0ZUdyYWNlQXJlYShldmVudCwgY29udGVudCk7XG4gICAgICBjb25zdCBoYW5kbGVDb250ZW50TGVhdmUgPSAoZXZlbnQpID0+IGhhbmRsZUNyZWF0ZUdyYWNlQXJlYShldmVudCwgdHJpZ2dlcik7XG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXCJwb2ludGVybGVhdmVcIiwgaGFuZGxlVHJpZ2dlckxlYXZlKTtcbiAgICAgIGNvbnRlbnQuYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJsZWF2ZVwiLCBoYW5kbGVDb250ZW50TGVhdmUpO1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgdHJpZ2dlci5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcmxlYXZlXCIsIGhhbmRsZVRyaWdnZXJMZWF2ZSk7XG4gICAgICAgIGNvbnRlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJsZWF2ZVwiLCBoYW5kbGVDb250ZW50TGVhdmUpO1xuICAgICAgfTtcbiAgICB9XG4gIH0sIFt0cmlnZ2VyLCBjb250ZW50LCBoYW5kbGVDcmVhdGVHcmFjZUFyZWEsIGhhbmRsZVJlbW92ZUdyYWNlQXJlYV0pO1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwb2ludGVyR3JhY2VBcmVhKSB7XG4gICAgICBjb25zdCBoYW5kbGVUcmFja1BvaW50ZXJHcmFjZSA9IChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbiA9IHsgeDogZXZlbnQuY2xpZW50WCwgeTogZXZlbnQuY2xpZW50WSB9O1xuICAgICAgICBjb25zdCBoYXNFbnRlcmVkVGFyZ2V0ID0gdHJpZ2dlcj8uY29udGFpbnModGFyZ2V0KSB8fCBjb250ZW50Py5jb250YWlucyh0YXJnZXQpO1xuICAgICAgICBjb25zdCBpc1BvaW50ZXJPdXRzaWRlR3JhY2VBcmVhID0gIWlzUG9pbnRJblBvbHlnb24ocG9pbnRlclBvc2l0aW9uLCBwb2ludGVyR3JhY2VBcmVhKTtcbiAgICAgICAgaWYgKGhhc0VudGVyZWRUYXJnZXQpIHtcbiAgICAgICAgICBoYW5kbGVSZW1vdmVHcmFjZUFyZWEoKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc1BvaW50ZXJPdXRzaWRlR3JhY2VBcmVhKSB7XG4gICAgICAgICAgaGFuZGxlUmVtb3ZlR3JhY2VBcmVhKCk7XG4gICAgICAgICAgb25DbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInBvaW50ZXJtb3ZlXCIsIGhhbmRsZVRyYWNrUG9pbnRlckdyYWNlKTtcbiAgICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9pbnRlcm1vdmVcIiwgaGFuZGxlVHJhY2tQb2ludGVyR3JhY2UpO1xuICAgIH1cbiAgfSwgW3RyaWdnZXIsIGNvbnRlbnQsIHBvaW50ZXJHcmFjZUFyZWEsIG9uQ2xvc2UsIGhhbmRsZVJlbW92ZUdyYWNlQXJlYV0pO1xuICByZXR1cm4gLyogQF9fUFVSRV9fICovIGpzeChUb29sdGlwQ29udGVudEltcGwsIHsgLi4ucHJvcHMsIHJlZjogY29tcG9zZWRSZWZzIH0pO1xufSk7XG52YXIgW1Zpc3VhbGx5SGlkZGVuQ29udGVudENvbnRleHRQcm92aWRlciwgdXNlVmlzdWFsbHlIaWRkZW5Db250ZW50Q29udGV4dF0gPSBjcmVhdGVUb29sdGlwQ29udGV4dChUT09MVElQX05BTUUsIHsgaXNJbnNpZGU6IGZhbHNlIH0pO1xudmFyIFRvb2x0aXBDb250ZW50SW1wbCA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgX19zY29wZVRvb2x0aXAsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIFwiYXJpYS1sYWJlbFwiOiBhcmlhTGFiZWwsXG4gICAgICBvbkVzY2FwZUtleURvd24sXG4gICAgICBvblBvaW50ZXJEb3duT3V0c2lkZSxcbiAgICAgIC4uLmNvbnRlbnRQcm9wc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBjb250ZXh0ID0gdXNlVG9vbHRpcENvbnRleHQoQ09OVEVOVF9OQU1FLCBfX3Njb3BlVG9vbHRpcCk7XG4gICAgY29uc3QgcG9wcGVyU2NvcGUgPSB1c2VQb3BwZXJTY29wZShfX3Njb3BlVG9vbHRpcCk7XG4gICAgY29uc3QgeyBvbkNsb3NlIH0gPSBjb250ZXh0O1xuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFRPT0xUSVBfT1BFTiwgb25DbG9zZSk7XG4gICAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihUT09MVElQX09QRU4sIG9uQ2xvc2UpO1xuICAgIH0sIFtvbkNsb3NlXSk7XG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChjb250ZXh0LnRyaWdnZXIpIHtcbiAgICAgICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICAgIGlmICh0YXJnZXQ/LmNvbnRhaW5zKGNvbnRleHQudHJpZ2dlcikpIG9uQ2xvc2UoKTtcbiAgICAgICAgfTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgaGFuZGxlU2Nyb2xsLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBoYW5kbGVTY3JvbGwsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICB9LCBbY29udGV4dC50cmlnZ2VyLCBvbkNsb3NlXSk7XG4gICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBqc3goXG4gICAgICBEaXNtaXNzYWJsZUxheWVyLFxuICAgICAge1xuICAgICAgICBhc0NoaWxkOiB0cnVlLFxuICAgICAgICBkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHM6IGZhbHNlLFxuICAgICAgICBvbkVzY2FwZUtleURvd24sXG4gICAgICAgIG9uUG9pbnRlckRvd25PdXRzaWRlLFxuICAgICAgICBvbkZvY3VzT3V0c2lkZTogKGV2ZW50KSA9PiBldmVudC5wcmV2ZW50RGVmYXVsdCgpLFxuICAgICAgICBvbkRpc21pc3M6IG9uQ2xvc2UsXG4gICAgICAgIGNoaWxkcmVuOiAvKiBAX19QVVJFX18gKi8ganN4cyhcbiAgICAgICAgICBQb3BwZXJQcmltaXRpdmUuQ29udGVudCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImRhdGEtc3RhdGVcIjogY29udGV4dC5zdGF0ZUF0dHJpYnV0ZSxcbiAgICAgICAgICAgIC4uLnBvcHBlclNjb3BlLFxuICAgICAgICAgICAgLi4uY29udGVudFByb3BzLFxuICAgICAgICAgICAgcmVmOiBmb3J3YXJkZWRSZWYsXG4gICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAuLi5jb250ZW50UHJvcHMuc3R5bGUsXG4gICAgICAgICAgICAgIC8vIHJlLW5hbWVzcGFjZSBleHBvc2VkIGNvbnRlbnQgY3VzdG9tIHByb3BlcnRpZXNcbiAgICAgICAgICAgICAgLi4ue1xuICAgICAgICAgICAgICAgIFwiLS1yYWRpeC10b29sdGlwLWNvbnRlbnQtdHJhbnNmb3JtLW9yaWdpblwiOiBcInZhcigtLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luKVwiLFxuICAgICAgICAgICAgICAgIFwiLS1yYWRpeC10b29sdGlwLWNvbnRlbnQtYXZhaWxhYmxlLXdpZHRoXCI6IFwidmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS13aWR0aClcIixcbiAgICAgICAgICAgICAgICBcIi0tcmFkaXgtdG9vbHRpcC1jb250ZW50LWF2YWlsYWJsZS1oZWlnaHRcIjogXCJ2YXIoLS1yYWRpeC1wb3BwZXItYXZhaWxhYmxlLWhlaWdodClcIixcbiAgICAgICAgICAgICAgICBcIi0tcmFkaXgtdG9vbHRpcC10cmlnZ2VyLXdpZHRoXCI6IFwidmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aClcIixcbiAgICAgICAgICAgICAgICBcIi0tcmFkaXgtdG9vbHRpcC10cmlnZ2VyLWhlaWdodFwiOiBcInZhcigtLXJhZGl4LXBvcHBlci1hbmNob3ItaGVpZ2h0KVwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAvKiBAX19QVVJFX18gKi8ganN4KFNsb3R0YWJsZSwgeyBjaGlsZHJlbiB9KSxcbiAgICAgICAgICAgICAgLyogQF9fUFVSRV9fICovIGpzeChWaXN1YWxseUhpZGRlbkNvbnRlbnRDb250ZXh0UHJvdmlkZXIsIHsgc2NvcGU6IF9fc2NvcGVUb29sdGlwLCBpc0luc2lkZTogdHJ1ZSwgY2hpbGRyZW46IC8qIEBfX1BVUkVfXyAqLyBqc3goVmlzdWFsbHlIaWRkZW5QcmltaXRpdmUuUm9vdCwgeyBpZDogY29udGV4dC5jb250ZW50SWQsIHJvbGU6IFwidG9vbHRpcFwiLCBjaGlsZHJlbjogYXJpYUxhYmVsIHx8IGNoaWxkcmVuIH0pIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9XG4gICAgKTtcbiAgfVxuKTtcblRvb2x0aXBDb250ZW50LmRpc3BsYXlOYW1lID0gQ09OVEVOVF9OQU1FO1xudmFyIEFSUk9XX05BTUUgPSBcIlRvb2x0aXBBcnJvd1wiO1xudmFyIFRvb2x0aXBBcnJvdyA9IFJlYWN0LmZvcndhcmRSZWYoXG4gIChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XG4gICAgY29uc3QgeyBfX3Njb3BlVG9vbHRpcCwgLi4uYXJyb3dQcm9wcyB9ID0gcHJvcHM7XG4gICAgY29uc3QgcG9wcGVyU2NvcGUgPSB1c2VQb3BwZXJTY29wZShfX3Njb3BlVG9vbHRpcCk7XG4gICAgY29uc3QgdmlzdWFsbHlIaWRkZW5Db250ZW50Q29udGV4dCA9IHVzZVZpc3VhbGx5SGlkZGVuQ29udGVudENvbnRleHQoXG4gICAgICBBUlJPV19OQU1FLFxuICAgICAgX19zY29wZVRvb2x0aXBcbiAgICApO1xuICAgIHJldHVybiB2aXN1YWxseUhpZGRlbkNvbnRlbnRDb250ZXh0LmlzSW5zaWRlID8gbnVsbCA6IC8qIEBfX1BVUkVfXyAqLyBqc3goUG9wcGVyUHJpbWl0aXZlLkFycm93LCB7IC4uLnBvcHBlclNjb3BlLCAuLi5hcnJvd1Byb3BzLCByZWY6IGZvcndhcmRlZFJlZiB9KTtcbiAgfVxuKTtcblRvb2x0aXBBcnJvdy5kaXNwbGF5TmFtZSA9IEFSUk9XX05BTUU7XG5mdW5jdGlvbiBnZXRFeGl0U2lkZUZyb21SZWN0KHBvaW50LCByZWN0KSB7XG4gIGNvbnN0IHRvcCA9IE1hdGguYWJzKHJlY3QudG9wIC0gcG9pbnQueSk7XG4gIGNvbnN0IGJvdHRvbSA9IE1hdGguYWJzKHJlY3QuYm90dG9tIC0gcG9pbnQueSk7XG4gIGNvbnN0IHJpZ2h0ID0gTWF0aC5hYnMocmVjdC5yaWdodCAtIHBvaW50LngpO1xuICBjb25zdCBsZWZ0ID0gTWF0aC5hYnMocmVjdC5sZWZ0IC0gcG9pbnQueCk7XG4gIHN3aXRjaCAoTWF0aC5taW4odG9wLCBib3R0b20sIHJpZ2h0LCBsZWZ0KSkge1xuICAgIGNhc2UgbGVmdDpcbiAgICAgIHJldHVybiBcImxlZnRcIjtcbiAgICBjYXNlIHJpZ2h0OlxuICAgICAgcmV0dXJuIFwicmlnaHRcIjtcbiAgICBjYXNlIHRvcDpcbiAgICAgIHJldHVybiBcInRvcFwiO1xuICAgIGNhc2UgYm90dG9tOlxuICAgICAgcmV0dXJuIFwiYm90dG9tXCI7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInVucmVhY2hhYmxlXCIpO1xuICB9XG59XG5mdW5jdGlvbiBnZXRQYWRkZWRFeGl0UG9pbnRzKGV4aXRQb2ludCwgZXhpdFNpZGUsIHBhZGRpbmcgPSA1KSB7XG4gIGNvbnN0IHBhZGRlZEV4aXRQb2ludHMgPSBbXTtcbiAgc3dpdGNoIChleGl0U2lkZSkge1xuICAgIGNhc2UgXCJ0b3BcIjpcbiAgICAgIHBhZGRlZEV4aXRQb2ludHMucHVzaChcbiAgICAgICAgeyB4OiBleGl0UG9pbnQueCAtIHBhZGRpbmcsIHk6IGV4aXRQb2ludC55ICsgcGFkZGluZyB9LFxuICAgICAgICB7IHg6IGV4aXRQb2ludC54ICsgcGFkZGluZywgeTogZXhpdFBvaW50LnkgKyBwYWRkaW5nIH1cbiAgICAgICk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiYm90dG9tXCI6XG4gICAgICBwYWRkZWRFeGl0UG9pbnRzLnB1c2goXG4gICAgICAgIHsgeDogZXhpdFBvaW50LnggLSBwYWRkaW5nLCB5OiBleGl0UG9pbnQueSAtIHBhZGRpbmcgfSxcbiAgICAgICAgeyB4OiBleGl0UG9pbnQueCArIHBhZGRpbmcsIHk6IGV4aXRQb2ludC55IC0gcGFkZGluZyB9XG4gICAgICApO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImxlZnRcIjpcbiAgICAgIHBhZGRlZEV4aXRQb2ludHMucHVzaChcbiAgICAgICAgeyB4OiBleGl0UG9pbnQueCArIHBhZGRpbmcsIHk6IGV4aXRQb2ludC55IC0gcGFkZGluZyB9LFxuICAgICAgICB7IHg6IGV4aXRQb2ludC54ICsgcGFkZGluZywgeTogZXhpdFBvaW50LnkgKyBwYWRkaW5nIH1cbiAgICAgICk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwicmlnaHRcIjpcbiAgICAgIHBhZGRlZEV4aXRQb2ludHMucHVzaChcbiAgICAgICAgeyB4OiBleGl0UG9pbnQueCAtIHBhZGRpbmcsIHk6IGV4aXRQb2ludC55IC0gcGFkZGluZyB9LFxuICAgICAgICB7IHg6IGV4aXRQb2ludC54IC0gcGFkZGluZywgeTogZXhpdFBvaW50LnkgKyBwYWRkaW5nIH1cbiAgICAgICk7XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gcGFkZGVkRXhpdFBvaW50cztcbn1cbmZ1bmN0aW9uIGdldFBvaW50c0Zyb21SZWN0KHJlY3QpIHtcbiAgY29uc3QgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQgfSA9IHJlY3Q7XG4gIHJldHVybiBbXG4gICAgeyB4OiBsZWZ0LCB5OiB0b3AgfSxcbiAgICB7IHg6IHJpZ2h0LCB5OiB0b3AgfSxcbiAgICB7IHg6IHJpZ2h0LCB5OiBib3R0b20gfSxcbiAgICB7IHg6IGxlZnQsIHk6IGJvdHRvbSB9XG4gIF07XG59XG5mdW5jdGlvbiBpc1BvaW50SW5Qb2x5Z29uKHBvaW50LCBwb2x5Z29uKSB7XG4gIGNvbnN0IHsgeCwgeSB9ID0gcG9pbnQ7XG4gIGxldCBpbnNpZGUgPSBmYWxzZTtcbiAgZm9yIChsZXQgaSA9IDAsIGogPSBwb2x5Z29uLmxlbmd0aCAtIDE7IGkgPCBwb2x5Z29uLmxlbmd0aDsgaiA9IGkrKykge1xuICAgIGNvbnN0IHhpID0gcG9seWdvbltpXS54O1xuICAgIGNvbnN0IHlpID0gcG9seWdvbltpXS55O1xuICAgIGNvbnN0IHhqID0gcG9seWdvbltqXS54O1xuICAgIGNvbnN0IHlqID0gcG9seWdvbltqXS55O1xuICAgIGNvbnN0IGludGVyc2VjdCA9IHlpID4geSAhPT0geWogPiB5ICYmIHggPCAoeGogLSB4aSkgKiAoeSAtIHlpKSAvICh5aiAtIHlpKSArIHhpO1xuICAgIGlmIChpbnRlcnNlY3QpIGluc2lkZSA9ICFpbnNpZGU7XG4gIH1cbiAgcmV0dXJuIGluc2lkZTtcbn1cbmZ1bmN0aW9uIGdldEh1bGwocG9pbnRzKSB7XG4gIGNvbnN0IG5ld1BvaW50cyA9IHBvaW50cy5zbGljZSgpO1xuICBuZXdQb2ludHMuc29ydCgoYSwgYikgPT4ge1xuICAgIGlmIChhLnggPCBiLngpIHJldHVybiAtMTtcbiAgICBlbHNlIGlmIChhLnggPiBiLngpIHJldHVybiAxO1xuICAgIGVsc2UgaWYgKGEueSA8IGIueSkgcmV0dXJuIC0xO1xuICAgIGVsc2UgaWYgKGEueSA+IGIueSkgcmV0dXJuIDE7XG4gICAgZWxzZSByZXR1cm4gMDtcbiAgfSk7XG4gIHJldHVybiBnZXRIdWxsUHJlc29ydGVkKG5ld1BvaW50cyk7XG59XG5mdW5jdGlvbiBnZXRIdWxsUHJlc29ydGVkKHBvaW50cykge1xuICBpZiAocG9pbnRzLmxlbmd0aCA8PSAxKSByZXR1cm4gcG9pbnRzLnNsaWNlKCk7XG4gIGNvbnN0IHVwcGVySHVsbCA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHAgPSBwb2ludHNbaV07XG4gICAgd2hpbGUgKHVwcGVySHVsbC5sZW5ndGggPj0gMikge1xuICAgICAgY29uc3QgcSA9IHVwcGVySHVsbFt1cHBlckh1bGwubGVuZ3RoIC0gMV07XG4gICAgICBjb25zdCByID0gdXBwZXJIdWxsW3VwcGVySHVsbC5sZW5ndGggLSAyXTtcbiAgICAgIGlmICgocS54IC0gci54KSAqIChwLnkgLSByLnkpID49IChxLnkgLSByLnkpICogKHAueCAtIHIueCkpIHVwcGVySHVsbC5wb3AoKTtcbiAgICAgIGVsc2UgYnJlYWs7XG4gICAgfVxuICAgIHVwcGVySHVsbC5wdXNoKHApO1xuICB9XG4gIHVwcGVySHVsbC5wb3AoKTtcbiAgY29uc3QgbG93ZXJIdWxsID0gW107XG4gIGZvciAobGV0IGkgPSBwb2ludHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBjb25zdCBwID0gcG9pbnRzW2ldO1xuICAgIHdoaWxlIChsb3dlckh1bGwubGVuZ3RoID49IDIpIHtcbiAgICAgIGNvbnN0IHEgPSBsb3dlckh1bGxbbG93ZXJIdWxsLmxlbmd0aCAtIDFdO1xuICAgICAgY29uc3QgciA9IGxvd2VySHVsbFtsb3dlckh1bGwubGVuZ3RoIC0gMl07XG4gICAgICBpZiAoKHEueCAtIHIueCkgKiAocC55IC0gci55KSA+PSAocS55IC0gci55KSAqIChwLnggLSByLngpKSBsb3dlckh1bGwucG9wKCk7XG4gICAgICBlbHNlIGJyZWFrO1xuICAgIH1cbiAgICBsb3dlckh1bGwucHVzaChwKTtcbiAgfVxuICBsb3dlckh1bGwucG9wKCk7XG4gIGlmICh1cHBlckh1bGwubGVuZ3RoID09PSAxICYmIGxvd2VySHVsbC5sZW5ndGggPT09IDEgJiYgdXBwZXJIdWxsWzBdLnggPT09IGxvd2VySHVsbFswXS54ICYmIHVwcGVySHVsbFswXS55ID09PSBsb3dlckh1bGxbMF0ueSkge1xuICAgIHJldHVybiB1cHBlckh1bGw7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHVwcGVySHVsbC5jb25jYXQobG93ZXJIdWxsKTtcbiAgfVxufVxudmFyIFByb3ZpZGVyID0gVG9vbHRpcFByb3ZpZGVyO1xudmFyIFJvb3QzID0gVG9vbHRpcDtcbnZhciBUcmlnZ2VyID0gVG9vbHRpcFRyaWdnZXI7XG52YXIgUG9ydGFsID0gVG9vbHRpcFBvcnRhbDtcbnZhciBDb250ZW50MiA9IFRvb2x0aXBDb250ZW50O1xudmFyIEFycm93MiA9IFRvb2x0aXBBcnJvdztcbmV4cG9ydCB7XG4gIEFycm93MiBhcyBBcnJvdyxcbiAgQ29udGVudDIgYXMgQ29udGVudCxcbiAgUG9ydGFsLFxuICBQcm92aWRlcixcbiAgUm9vdDMgYXMgUm9vdCxcbiAgVG9vbHRpcCxcbiAgVG9vbHRpcEFycm93LFxuICBUb29sdGlwQ29udGVudCxcbiAgVG9vbHRpcFBvcnRhbCxcbiAgVG9vbHRpcFByb3ZpZGVyLFxuICBUb29sdGlwVHJpZ2dlcixcbiAgVHJpZ2dlcixcbiAgY3JlYXRlVG9vbHRpcFNjb3BlXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcFxuIixudWxsLG51bGwsbnVsbCxudWxsLG51bGxdLCJuYW1lcyI6WyJoYXNPd24iLCJoYXNPd25Qcm9wZXJ0eSIsImNsYXNzTmFtZXMiLCJjbGFzc2VzIiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZyIsImFwcGVuZENsYXNzIiwicGFyc2VWYWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsImFwcGx5IiwidG9TdHJpbmciLCJPYmplY3QiLCJwcm90b3R5cGUiLCJpbmNsdWRlcyIsImtleSIsImNhbGwiLCJ2YWx1ZSIsIm5ld0NsYXNzIiwibW9kdWxlIiwiZXhwb3J0cyIsImRlZmF1bHQiLCJ3aW5kb3ciLCJjcmVhdGVDb250ZXh0U2NvcGUiLCJzY29wZU5hbWUiLCJjcmVhdGVDb250ZXh0U2NvcGVEZXBzIiwiZGVmYXVsdENvbnRleHRzIiwiY3JlYXRlU2NvcGUiLCJzY29wZUNvbnRleHRzIiwibWFwIiwiZGVmYXVsdENvbnRleHQiLCJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJzY29wZSIsImNvbnRleHRzIiwidXNlTWVtbyIsInJvb3RDb21wb25lbnROYW1lIiwiQmFzZUNvbnRleHQiLCJpbmRleCIsIlByb3ZpZGVyIiwicHJvcHMiLCJjaGlsZHJlbiIsImNvbnRleHQiLCJDb250ZXh0IiwidmFsdWVzIiwianN4IiwiZGlzcGxheU5hbWUiLCJjb25zdW1lck5hbWUiLCJ1c2VDb250ZXh0IiwiRXJyb3IiLCJjb21wb3NlQ29udGV4dFNjb3BlcyIsInNjb3BlcyIsImJhc2VTY29wZSIsInNjb3BlSG9va3MiLCJjcmVhdGVTY29wZTIiLCJ1c2VTY29wZSIsIm92ZXJyaWRlU2NvcGVzIiwibmV4dFNjb3BlcyIsInJlZHVjZSIsIm5leHRTY29wZXMyIiwic2V0UmVmIiwicmVmIiwiY3VycmVudCIsImNvbXBvc2VSZWZzIiwicmVmcyIsIm5vZGUiLCJoYXNDbGVhbnVwIiwiY2xlYW51cHMiLCJjbGVhbnVwIiwidXNlQ29tcG9zZWRSZWZzIiwidXNlQ2FsbGJhY2siLCJjb21wb3NlRXZlbnRIYW5kbGVycyIsIm9yaWdpbmFsRXZlbnRIYW5kbGVyIiwib3VyRXZlbnRIYW5kbGVyIiwiY2hlY2tGb3JEZWZhdWx0UHJldmVudGVkIiwiZXZlbnQiLCJkZWZhdWx0UHJldmVudGVkIiwidXNlTGF5b3V0RWZmZWN0MiIsIkJvb2xlYW4iLCJnbG9iYWxUaGlzIiwiZG9jdW1lbnQiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VSZWFjdElkIiwiY291bnQiLCJ1c2VJZCIsImRldGVybWluaXN0aWNJZCIsImlkIiwic2V0SWQiLCJ1c2VTdGF0ZSIsInJlYWN0SWQiLCJTdHJpbmciLCJ1c2VDYWxsYmFja1JlZiIsImNhbGxiYWNrIiwiY2FsbGJhY2tSZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJhcmdzIiwidXNlQ29udHJvbGxhYmxlU3RhdGUiLCJwcm9wIiwiZGVmYXVsdFByb3AiLCJvbkNoYW5nZSIsInVuY29udHJvbGxlZFByb3AiLCJzZXRVbmNvbnRyb2xsZWRQcm9wIiwidW5jb250cm9sbGVkU3RhdGUiLCJwcmV2VmFsdWVSZWYiLCJoYW5kbGVDaGFuZ2UiLCJ1c2VVbmNvbnRyb2xsZWRTdGF0ZSIsImlzQ29udHJvbGxlZCIsIm5leHRWYWx1ZSIsInZhbHVlMiIsIlNsb3QiLCJmb3J3YXJkUmVmIiwiZm9yd2FyZGVkUmVmIiwic2xvdFByb3BzIiwiY2hpbGRyZW5BcnJheSIsIkNoaWxkcmVuIiwidG9BcnJheSIsInNsb3R0YWJsZSIsImZpbmQiLCJpc1Nsb3R0YWJsZSIsIm5ld0VsZW1lbnQiLCJuZXdDaGlsZHJlbiIsImNoaWxkIiwib25seSIsImlzVmFsaWRFbGVtZW50IiwiU2xvdENsb25lIiwiY2xvbmVFbGVtZW50IiwiY2hpbGRyZW5SZWYiLCJlbGVtZW50IiwiZ2V0dGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0IiwibWF5V2FybiIsImlzUmVhY3RXYXJuaW5nIiwiZ2V0RWxlbWVudFJlZiIsInByb3BzMiIsImNoaWxkUHJvcHMiLCJvdmVycmlkZVByb3BzIiwicHJvcE5hbWUiLCJzbG90UHJvcFZhbHVlIiwiY2hpbGRQcm9wVmFsdWUiLCJ0ZXN0IiwiZmlsdGVyIiwiam9pbiIsIm1lcmdlUHJvcHMiLCJ0eXBlIiwiRnJhZ21lbnQiLCJTbG90dGFibGUiLCJGcmFnbWVudDIiLCJQcmltaXRpdmUiLCJwcmltaXRpdmUiLCJOb2RlIiwiYXNDaGlsZCIsInByaW1pdGl2ZVByb3BzIiwiQ29tcCIsIlN5bWJvbCIsImZvciIsImRpc3BhdGNoRGlzY3JldGVDdXN0b21FdmVudCIsInRhcmdldCIsIlJlYWN0RE9NIiwiZmx1c2hTeW5jIiwiZGlzcGF0Y2hFdmVudCIsIm9yaWdpbmFsQm9keVBvaW50ZXJFdmVudHMiLCJDT05URVhUX1VQREFURSIsIlBPSU5URVJfRE9XTl9PVVRTSURFIiwiRk9DVVNfT1VUU0lERSIsIkRpc21pc3NhYmxlTGF5ZXJDb250ZXh0IiwibGF5ZXJzIiwiU2V0IiwibGF5ZXJzV2l0aE91dHNpZGVQb2ludGVyRXZlbnRzRGlzYWJsZWQiLCJicmFuY2hlcyIsIkRpc21pc3NhYmxlTGF5ZXIiLCJkaXNhYmxlT3V0c2lkZVBvaW50ZXJFdmVudHMiLCJvbkVzY2FwZUtleURvd24iLCJvblBvaW50ZXJEb3duT3V0c2lkZSIsIm9uRm9jdXNPdXRzaWRlIiwib25JbnRlcmFjdE91dHNpZGUiLCJvbkRpc21pc3MiLCJsYXllclByb3BzIiwic2V0Tm9kZSIsIm93bmVyRG9jdW1lbnQiLCJmb3JjZSIsImNvbXBvc2VkUmVmcyIsIm5vZGUyIiwiZnJvbSIsImhpZ2hlc3RMYXllcldpdGhPdXRzaWRlUG9pbnRlckV2ZW50c0Rpc2FibGVkIiwic2xpY2UiLCJoaWdoZXN0TGF5ZXJXaXRoT3V0c2lkZVBvaW50ZXJFdmVudHNEaXNhYmxlZEluZGV4IiwiaW5kZXhPZiIsImlzQm9keVBvaW50ZXJFdmVudHNEaXNhYmxlZCIsInNpemUiLCJpc1BvaW50ZXJFdmVudHNFbmFibGVkIiwicG9pbnRlckRvd25PdXRzaWRlIiwiaGFuZGxlUG9pbnRlckRvd25PdXRzaWRlIiwiaXNQb2ludGVySW5zaWRlUmVhY3RUcmVlUmVmIiwiaGFuZGxlQ2xpY2tSZWYiLCJoYW5kbGVQb2ludGVyRG93biIsImhhbmRsZUFuZERpc3BhdGNoUG9pbnRlckRvd25PdXRzaWRlRXZlbnQyIiwiaGFuZGxlQW5kRGlzcGF0Y2hDdXN0b21FdmVudCIsImV2ZW50RGV0YWlsIiwiZGlzY3JldGUiLCJvcmlnaW5hbEV2ZW50IiwicG9pbnRlclR5cGUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9uY2UiLCJ0aW1lcklkIiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCIsIm9uUG9pbnRlckRvd25DYXB0dXJlIiwidXNlUG9pbnRlckRvd25PdXRzaWRlIiwiaXNQb2ludGVyRG93bk9uQnJhbmNoIiwic29tZSIsImJyYW5jaCIsImNvbnRhaW5zIiwiZm9jdXNPdXRzaWRlIiwiaGFuZGxlRm9jdXNPdXRzaWRlIiwiaXNGb2N1c0luc2lkZVJlYWN0VHJlZVJlZiIsImhhbmRsZUZvY3VzIiwib25Gb2N1c0NhcHR1cmUiLCJvbkJsdXJDYXB0dXJlIiwidXNlRm9jdXNPdXRzaWRlIiwib25Fc2NhcGVLZXlEb3duUHJvcCIsImhhbmRsZUtleURvd24iLCJjYXB0dXJlIiwidXNlRXNjYXBlS2V5ZG93biIsInByZXZlbnREZWZhdWx0IiwiYm9keSIsInN0eWxlIiwicG9pbnRlckV2ZW50cyIsImFkZCIsImRpc3BhdGNoVXBkYXRlIiwiZGVsZXRlIiwiaGFuZGxlVXBkYXRlIiwiZGl2IiwiQ3VzdG9tRXZlbnQiLCJuYW1lIiwiaGFuZGxlciIsImRldGFpbCIsImJ1YmJsZXMiLCJjYW5jZWxhYmxlIiwiQVVUT0ZPQ1VTX09OX01PVU5UIiwiQVVUT0ZPQ1VTX09OX1VOTU9VTlQiLCJFVkVOVF9PUFRJT05TIiwiRm9jdXNTY29wZSIsImxvb3AiLCJ0cmFwcGVkIiwib25Nb3VudEF1dG9Gb2N1cyIsIm9uTW91bnRBdXRvRm9jdXNQcm9wIiwib25Vbm1vdW50QXV0b0ZvY3VzIiwib25Vbm1vdW50QXV0b0ZvY3VzUHJvcCIsInNjb3BlUHJvcHMiLCJjb250YWluZXIiLCJzZXRDb250YWluZXIiLCJsYXN0Rm9jdXNlZEVsZW1lbnRSZWYiLCJmb2N1c1Njb3BlIiwicGF1c2VkIiwicGF1c2UiLCJ0aGlzIiwicmVzdW1lIiwiaGFuZGxlRm9jdXNJbjIiLCJmb2N1cyIsInNlbGVjdCIsImhhbmRsZUZvY3VzT3V0MiIsInJlbGF0ZWRUYXJnZXQiLCJoYW5kbGVNdXRhdGlvbnMyIiwibXV0YXRpb25zIiwiYWN0aXZlRWxlbWVudCIsIm11dGF0aW9uIiwicmVtb3ZlZE5vZGVzIiwibXV0YXRpb25PYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJvYnNlcnZlIiwiY2hpbGRMaXN0Iiwic3VidHJlZSIsImRpc2Nvbm5lY3QiLCJmb2N1c1Njb3Blc1N0YWNrIiwicHJldmlvdXNseUZvY3VzZWRFbGVtZW50IiwibW91bnRFdmVudCIsImNhbmRpZGF0ZXMiLCJjYW5kaWRhdGUiLCJmb2N1c0ZpcnN0IiwiaXRlbXMiLCJnZXRUYWJiYWJsZUNhbmRpZGF0ZXMiLCJpdGVtIiwidGFnTmFtZSIsInVubW91bnRFdmVudCIsInJlbW92ZSIsImlzVGFiS2V5IiwiYWx0S2V5IiwiY3RybEtleSIsIm1ldGFLZXkiLCJmb2N1c2VkRWxlbWVudCIsImNvbnRhaW5lcjIiLCJjdXJyZW50VGFyZ2V0IiwiZmlyc3QiLCJsYXN0IiwiZmluZFZpc2libGUiLCJyZXZlcnNlIiwiZ2V0VGFiYmFibGVFZGdlcyIsInNoaWZ0S2V5IiwidGFiSW5kZXgiLCJvbktleURvd24iLCJub2RlcyIsIndhbGtlciIsImNyZWF0ZVRyZWVXYWxrZXIiLCJOb2RlRmlsdGVyIiwiU0hPV19FTEVNRU5UIiwiYWNjZXB0Tm9kZSIsImlzSGlkZGVuSW5wdXQiLCJkaXNhYmxlZCIsImhpZGRlbiIsIkZJTFRFUl9TS0lQIiwiRklMVEVSX0FDQ0VQVCIsIm5leHROb2RlIiwicHVzaCIsImN1cnJlbnROb2RlIiwiZWxlbWVudHMiLCJpc0hpZGRlbiIsInVwVG8iLCJnZXRDb21wdXRlZFN0eWxlIiwidmlzaWJpbGl0eSIsImRpc3BsYXkiLCJwYXJlbnRFbGVtZW50IiwicHJldmVudFNjcm9sbCIsIkhUTUxJbnB1dEVsZW1lbnQiLCJpc1NlbGVjdGFibGVJbnB1dCIsInN0YWNrIiwiYWN0aXZlRm9jdXNTY29wZSIsImFycmF5UmVtb3ZlIiwidW5zaGlmdCIsImNyZWF0ZUZvY3VzU2NvcGVzU3RhY2siLCJhcnJheSIsInVwZGF0ZWRBcnJheSIsInNwbGljZSIsIlBvcnRhbCIsImNvbnRhaW5lclByb3AiLCJwb3J0YWxQcm9wcyIsIm1vdW50ZWQiLCJzZXRNb3VudGVkIiwiY3JlYXRlUG9ydGFsIiwiUHJlc2VuY2UiLCJwcmVzZW50IiwicHJlc2VuY2UiLCJSZWFjdDIiLCJzdHlsZXNSZWYiLCJwcmV2UHJlc2VudFJlZiIsInByZXZBbmltYXRpb25OYW1lUmVmIiwiaW5pdGlhbFN0YXRlIiwic3RhdGUiLCJzZW5kIiwibWFjaGluZSIsInVzZVJlZHVjZXIiLCJ1c2VTdGF0ZU1hY2hpbmUiLCJVTk1PVU5UIiwiQU5JTUFUSU9OX09VVCIsInVubW91bnRTdXNwZW5kZWQiLCJNT1VOVCIsIkFOSU1BVElPTl9FTkQiLCJ1bm1vdW50ZWQiLCJjdXJyZW50QW5pbWF0aW9uTmFtZSIsImdldEFuaW1hdGlvbk5hbWUiLCJzdHlsZXMiLCJ3YXNQcmVzZW50IiwicHJldkFuaW1hdGlvbk5hbWUiLCJ0aW1lb3V0SWQiLCJvd25lcldpbmRvdyIsImRlZmF1bHRWaWV3IiwiaGFuZGxlQW5pbWF0aW9uRW5kIiwiaXNDdXJyZW50QW5pbWF0aW9uIiwiYW5pbWF0aW9uTmFtZSIsImN1cnJlbnRGaWxsTW9kZSIsImFuaW1hdGlvbkZpbGxNb2RlIiwiaGFuZGxlQW5pbWF0aW9uU3RhcnQiLCJpc1ByZXNlbnQiLCJ1c2VQcmVzZW5jZSIsInVzZUZvY3VzR3VhcmRzIiwiZWRnZUd1YXJkcyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJpbnNlcnRBZGphY2VudEVsZW1lbnQiLCJjcmVhdGVGb2N1c0d1YXJkIiwiZm9yRWFjaCIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJvdXRsaW5lIiwib3BhY2l0eSIsInBvc2l0aW9uIiwiX19hc3NpZ24iLCJhc3NpZ24iLCJ0IiwicyIsIm4iLCJwIiwiX19yZXN0IiwiZSIsImdldE93blByb3BlcnR5U3ltYm9scyIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiU3VwcHJlc3NlZEVycm9yIiwiemVyb1JpZ2h0Q2xhc3NOYW1lIiwiZnVsbFdpZHRoQ2xhc3NOYW1lIiwiYXNzaWduUmVmIiwidXNlSXNvbW9ycGhpY0xheW91dEVmZmVjdCIsImN1cnJlbnRWYWx1ZXMiLCJXZWFrTWFwIiwidXNlTWVyZ2VSZWZzIiwiZGVmYXVsdFZhbHVlIiwiaW5pdGlhbFZhbHVlIiwibmV3VmFsdWUiLCJmYWNhZGUiLCJvbGRWYWx1ZSIsInByZXZSZWZzXzEiLCJuZXh0UmVmc18xIiwiY3VycmVudF8xIiwiaGFzIiwic2V0IiwiSXRvSSIsImEiLCJTaWRlQ2FyIiwiX2EiLCJzaWRlQ2FyIiwicmVzdCIsIlRhcmdldCIsInJlYWQiLCJpc1NpZGVDYXJFeHBvcnQiLCJlZmZlY3RDYXIiLCJvcHRpb25zIiwibWVkaXVtIiwiZGVmYXVsdHMiLCJtaWRkbGV3YXJlIiwiYnVmZmVyIiwiYXNzaWduZWQiLCJ1c2VNZWRpdW0iLCJkYXRhIiwieCIsImFzc2lnblN5bmNNZWRpdW0iLCJjYiIsImNicyIsImFzc2lnbk1lZGl1bSIsInBlbmRpbmdRdWV1ZSIsImV4ZWN1dGVRdWV1ZSIsImN5Y2xlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiaW5uZXJDcmVhdGVNZWRpdW0iLCJhc3luYyIsInNzciIsImNyZWF0ZVNpZGVjYXJNZWRpdW0iLCJub3RoaW5nIiwiUmVtb3ZlU2Nyb2xsIiwicGFyZW50UmVmIiwib25TY3JvbGxDYXB0dXJlIiwib25XaGVlbENhcHR1cmUiLCJvblRvdWNoTW92ZUNhcHR1cmUiLCJjYWxsYmFja3MiLCJzZXRDYWxsYmFja3MiLCJmb3J3YXJkUHJvcHMiLCJjbGFzc05hbWUiLCJyZW1vdmVTY3JvbGxCYXIiLCJlbmFibGVkIiwic2hhcmRzIiwibm9Jc29sYXRpb24iLCJpbmVydCIsImFsbG93UGluY2hab29tIiwiX2IiLCJhcyIsIkNvbnRhaW5lciIsImdhcE1vZGUiLCJjb250YWluZXJSZWYiLCJjb250YWluZXJQcm9wcyIsImxvY2tSZWYiLCJkZWZhdWx0UHJvcHMiLCJmdWxsV2lkdGgiLCJ6ZXJvUmlnaHQiLCJtYWtlU3R5bGVUYWciLCJ0YWciLCJub25jZSIsIl9fd2VicGFja19ub25jZV9fIiwiZ2V0Tm9uY2UiLCJzdHlsZXNoZWV0U2luZ2xldG9uIiwiY291bnRlciIsInN0eWxlc2hlZXQiLCJjc3MiLCJzdHlsZVNoZWV0IiwiY3NzVGV4dCIsImFwcGVuZENoaWxkIiwiY3JlYXRlVGV4dE5vZGUiLCJpbmplY3RTdHlsZXMiLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJzdHlsZVNpbmdsZXRvbiIsInNoZWV0IiwidXNlU3R5bGUiLCJpc0R5bmFtaWMiLCJkeW5hbWljIiwiemVyb0dhcCIsImxlZnQiLCJ0b3AiLCJyaWdodCIsImdhcCIsInBhcnNlIiwicGFyc2VJbnQiLCJnZXRHYXBXaWR0aCIsIm9mZnNldHMiLCJjcyIsImdldE9mZnNldCIsImRvY3VtZW50V2lkdGgiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGllbnRXaWR0aCIsIndpbmRvd1dpZHRoIiwiaW5uZXJXaWR0aCIsIk1hdGgiLCJtYXgiLCJTdHlsZSIsImxvY2tBdHRyaWJ1dGUiLCJnZXRTdHlsZXMiLCJhbGxvd1JlbGF0aXZlIiwiaW1wb3J0YW50IiwiY29uY2F0IiwiZ2V0Q3VycmVudFVzZUNvdW50ZXIiLCJnZXRBdHRyaWJ1dGUiLCJpc0Zpbml0ZSIsIlJlbW92ZVNjcm9sbEJhciIsIm5vUmVsYXRpdmUiLCJub0ltcG9ydGFudCIsIm5ld0NvdW50ZXIiLCJyZW1vdmVBdHRyaWJ1dGUiLCJwYXNzaXZlU3VwcG9ydGVkIiwiZGVmaW5lUHJvcGVydHkiLCJlcnIiLCJub25QYXNzaXZlIiwicGFzc2l2ZSIsImVsZW1lbnRDYW5CZVNjcm9sbGVkIiwib3ZlcmZsb3ciLCJFbGVtZW50Iiwib3ZlcmZsb3dZIiwib3ZlcmZsb3dYIiwiYWx3YXlzQ29udGFpbnNTY3JvbGwiLCJsb2NhdGlvbkNvdWxkQmVTY3JvbGxlZCIsImF4aXMiLCJTaGFkb3dSb290IiwiaG9zdCIsImVsZW1lbnRDb3VsZEJlU2Nyb2xsZWQiLCJnZXRTY3JvbGxWYXJpYWJsZXMiLCJlbGVtZW50Q291bGRCZVZTY3JvbGxlZCIsImVsZW1lbnRDb3VsZEJlSFNjcm9sbGVkIiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0Iiwic2Nyb2xsTGVmdCIsInNjcm9sbFdpZHRoIiwiZ2V0SFNjcm9sbFZhcmlhYmxlcyIsImdldFRvdWNoWFkiLCJjaGFuZ2VkVG91Y2hlcyIsImNsaWVudFgiLCJjbGllbnRZIiwiZ2V0RGVsdGFYWSIsImRlbHRhWCIsImRlbHRhWSIsImV4dHJhY3RSZWYiLCJnZW5lcmF0ZVN0eWxlIiwiaWRDb3VudGVyIiwibG9ja1N0YWNrIiwiZ2V0T3V0ZXJtb3N0U2hhZG93UGFyZW50Iiwic2hhZG93UGFyZW50IiwiZXhwb3J0ZWQiLCJzaG91bGRQcmV2ZW50UXVldWUiLCJ0b3VjaFN0YXJ0UmVmIiwiYWN0aXZlQXhpcyIsImxhc3RQcm9wcyIsImNsYXNzTGlzdCIsImFsbG93XzEiLCJ0byIsInBhY2siLCJhciIsImwiLCJfX3NwcmVhZEFycmF5IiwiZWwiLCJzaG91bGRDYW5jZWxFdmVudCIsInBhcmVudCIsInRvdWNoZXMiLCJjdXJyZW50QXhpcyIsInRvdWNoIiwidG91Y2hTdGFydCIsIm1vdmVEaXJlY3Rpb24iLCJhYnMiLCJjYW5CZVNjcm9sbGVkSW5NYWluRGlyZWN0aW9uIiwiY2FuY2VsaW5nQXhpcyIsImVuZFRhcmdldCIsInNvdXJjZURlbHRhIiwiZGlyZWN0aW9uRmFjdG9yIiwiZGlyZWN0aW9uIiwiZ2V0RGlyZWN0aW9uRmFjdG9yIiwiZGVsdGEiLCJ0YXJnZXRJbkxvY2siLCJzaG91bGRDYW5jZWxTY3JvbGwiLCJpc0RlbHRhUG9zaXRpdmUiLCJhdmFpbGFibGVTY3JvbGwiLCJhdmFpbGFibGVTY3JvbGxUb3AiLCJlbGVtZW50U2Nyb2xsIiwiaGFuZGxlU2Nyb2xsIiwic2hvdWxkUHJldmVudCIsIl9ldmVudCIsInNvdXJjZUV2ZW50IiwieSIsInNob3VsZCIsInNoYXJkTm9kZXMiLCJzaG91bGRDYW5jZWwiLCJzY3JvbGxUb3VjaFN0YXJ0IiwidW5kZWZpbmVkIiwic2Nyb2xsV2hlZWwiLCJzY3JvbGxUb3VjaE1vdmUiLCJpbnN0IiwiUmVhY3RSZW1vdmVTY3JvbGwiLCJjb3VudGVyTWFwIiwidW5jb250cm9sbGVkTm9kZXMiLCJtYXJrZXJNYXAiLCJsb2NrQ291bnQiLCJ1bndyYXBIb3N0IiwiYXBwbHlBdHRyaWJ1dGVUb090aGVycyIsIm9yaWdpbmFsVGFyZ2V0IiwibWFya2VyTmFtZSIsImNvbnRyb2xBdHRyaWJ1dGUiLCJ0YXJnZXRzIiwiY29ycmVjdGVkVGFyZ2V0IiwiY29uc29sZSIsImVycm9yIiwiY29ycmVjdFRhcmdldHMiLCJtYXJrZXJDb3VudGVyIiwiaGlkZGVuTm9kZXMiLCJlbGVtZW50c1RvS2VlcCIsImVsZW1lbnRzVG9TdG9wIiwia2VlcCIsImRlZXAiLCJhdHRyIiwiYWxyZWFkeUhpZGRlbiIsImNvdW50ZXJWYWx1ZSIsIm1hcmtlclZhbHVlIiwiY2xlYXIiLCJoaWRlT3RoZXJzIiwiYWN0aXZlUGFyZW50Tm9kZSIsImdldERlZmF1bHRQYXJlbnQiLCJESUFMT0dfTkFNRSIsImNyZWF0ZURpYWxvZ0NvbnRleHQiLCJjcmVhdGVEaWFsb2dTY29wZSIsIkRpYWxvZ1Byb3ZpZGVyIiwidXNlRGlhbG9nQ29udGV4dCIsIkRpYWxvZyIsIl9fc2NvcGVEaWFsb2ciLCJvcGVuIiwib3BlblByb3AiLCJkZWZhdWx0T3BlbiIsIm9uT3BlbkNoYW5nZSIsIm1vZGFsIiwidHJpZ2dlclJlZiIsImNvbnRlbnRSZWYiLCJzZXRPcGVuIiwiY29udGVudElkIiwidGl0bGVJZCIsImRlc2NyaXB0aW9uSWQiLCJvbk9wZW5Ub2dnbGUiLCJwcmV2T3BlbiIsIlRSSUdHRVJfTkFNRSIsIkRpYWxvZ1RyaWdnZXIiLCJ0cmlnZ2VyUHJvcHMiLCJjb21wb3NlZFRyaWdnZXJSZWYiLCJidXR0b24iLCJnZXRTdGF0ZSIsIm9uQ2xpY2siLCJQT1JUQUxfTkFNRSIsIlBvcnRhbFByb3ZpZGVyIiwidXNlUG9ydGFsQ29udGV4dCIsImZvcmNlTW91bnQiLCJEaWFsb2dQb3J0YWwiLCJQb3J0YWxQcmltaXRpdmUiLCJPVkVSTEFZX05BTUUiLCJEaWFsb2dPdmVybGF5IiwicG9ydGFsQ29udGV4dCIsIm92ZXJsYXlQcm9wcyIsIkRpYWxvZ092ZXJsYXlJbXBsIiwiQ09OVEVOVF9OQU1FIiwiRGlhbG9nQ29udGVudCIsImNvbnRlbnRQcm9wcyIsIkRpYWxvZ0NvbnRlbnRNb2RhbCIsIkRpYWxvZ0NvbnRlbnROb25Nb2RhbCIsImNvbnRlbnQiLCJEaWFsb2dDb250ZW50SW1wbCIsInRyYXBGb2N1cyIsIm9uQ2xvc2VBdXRvRm9jdXMiLCJjdHJsTGVmdENsaWNrIiwiaGFzSW50ZXJhY3RlZE91dHNpZGVSZWYiLCJoYXNQb2ludGVyRG93bk91dHNpZGVSZWYiLCJ0YXJnZXRJc1RyaWdnZXIiLCJvbk9wZW5BdXRvRm9jdXMiLCJqc3hzIiwicm9sZSIsIlRpdGxlV2FybmluZyIsIkRlc2NyaXB0aW9uV2FybmluZyIsIlRJVExFX05BTUUiLCJEaWFsb2dUaXRsZSIsInRpdGxlUHJvcHMiLCJoMiIsIkRFU0NSSVBUSU9OX05BTUUiLCJEaWFsb2dEZXNjcmlwdGlvbiIsImRlc2NyaXB0aW9uUHJvcHMiLCJDTE9TRV9OQU1FIiwiRGlhbG9nQ2xvc2UiLCJjbG9zZVByb3BzIiwiVElUTEVfV0FSTklOR19OQU1FIiwiV2FybmluZ1Byb3ZpZGVyIiwidXNlV2FybmluZ0NvbnRleHQiLCJjb250ZW50TmFtZSIsInRpdGxlTmFtZSIsImRvY3NTbHVnIiwidGl0bGVXYXJuaW5nQ29udGV4dCIsIk1FU1NBR0UiLCJnZXRFbGVtZW50QnlJZCIsImRlc2NyaWJlZEJ5SWQiLCJ3YXJuIiwiUm9vdCIsIlRyaWdnZXIiLCJPdmVybGF5IiwiQ29udGVudCIsIlRpdGxlIiwiRGVzY3JpcHRpb24iLCJDbG9zZSIsIlJPT1RfTkFNRSIsImNyZWF0ZUFsZXJ0RGlhbG9nQ29udGV4dCIsImNyZWF0ZUFsZXJ0RGlhbG9nU2NvcGUiLCJ1c2VEaWFsb2dTY29wZSIsIkFsZXJ0RGlhbG9nIiwiX19zY29wZUFsZXJ0RGlhbG9nIiwiYWxlcnREaWFsb2dQcm9wcyIsImRpYWxvZ1Njb3BlIiwiRGlhbG9nUHJpbWl0aXZlLlJvb3QiLCJEaWFsb2dQcmltaXRpdmUuVHJpZ2dlciIsIkFsZXJ0RGlhbG9nUG9ydGFsIiwiRGlhbG9nUHJpbWl0aXZlLlBvcnRhbCIsIkFsZXJ0RGlhbG9nT3ZlcmxheSIsIkRpYWxvZ1ByaW1pdGl2ZS5PdmVybGF5IiwiQWxlcnREaWFsb2dDb250ZW50UHJvdmlkZXIiLCJ1c2VBbGVydERpYWxvZ0NvbnRlbnRDb250ZXh0IiwiQWxlcnREaWFsb2dDb250ZW50IiwiY2FuY2VsUmVmIiwiRGlhbG9nUHJpbWl0aXZlLldhcm5pbmdQcm92aWRlciIsIkRpYWxvZ1ByaW1pdGl2ZS5Db250ZW50IiwiQWxlcnREaWFsb2dUaXRsZSIsIkRpYWxvZ1ByaW1pdGl2ZS5UaXRsZSIsIkFsZXJ0RGlhbG9nRGVzY3JpcHRpb24iLCJEaWFsb2dQcmltaXRpdmUuRGVzY3JpcHRpb24iLCJBbGVydERpYWxvZ0FjdGlvbiIsImFjdGlvblByb3BzIiwiRGlhbG9nUHJpbWl0aXZlLkNsb3NlIiwiQ0FOQ0VMX05BTUUiLCJBbGVydERpYWxvZ0NhbmNlbCIsImNhbmNlbFByb3BzIiwiX3BhdGgiLCJSb290MiIsIlBvcnRhbDIiLCJPdmVybGF5MiIsIkNvbnRlbnQyIiwiQWN0aW9uIiwiQ2FuY2VsIiwiVGl0bGUyIiwiRGVzY3JpcHRpb24yIiwiX2V4dGVuZHMiLCJiaW5kIiwiciIsIk1lbW8iLCJtZW1vIiwieG1sbnMiLCJmaWxsIiwidmlld0JveCIsIndpZHRoIiwiaGVpZ2h0IiwiZCIsIkxvYWRlciIsImluaGVyaXRDb2xvciIsImxvYWRlciIsIkJ1dHRvbiIsInZhcmlhbnQiLCJwcmVmaXgiLCJzdWZmaXgiLCJzaG93TG9hZGVyIiwiY24iLCJBbGVydCIsImFjdGlvblRleHQiLCJvbkFjdGlvbkNsaWNrIiwiY2FuY2VsVGV4dCIsIm9uQ2FuY2VsQ2xpY2siLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiaXNPa0Rpc2FibGVkIiwiYWN0aW9uQnV0dG9uVHlwZSIsIm1heFdpZHRoIiwib25DbG9zZSIsImlzQ2xvc2VCdXR0b25WaXNpYmxlIiwiQWxlcnREaWFsb2cuUm9vdCIsIkFsZXJ0RGlhbG9nLlBvcnRhbCIsIkFsZXJ0RGlhbG9nLk92ZXJsYXkiLCJBbGVydERpYWxvZy5Db250ZW50IiwiQ2xvc2VJY29uIiwiQWxlcnREaWFsb2cuVGl0bGUiLCJBbGVydERpYWxvZy5EZXNjcmlwdGlvbiIsIkFsZXJ0RGlhbG9nLkNhbmNlbCIsIkFsZXJ0RGlhbG9nLkFjdGlvbiIsIkFWQVRBUl9OQU1FIiwiY3JlYXRlQXZhdGFyQ29udGV4dCIsImNyZWF0ZUF2YXRhclNjb3BlIiwiQXZhdGFyUHJvdmlkZXIiLCJ1c2VBdmF0YXJDb250ZXh0IiwiQXZhdGFyIiwiX19zY29wZUF2YXRhciIsImF2YXRhclByb3BzIiwiaW1hZ2VMb2FkaW5nU3RhdHVzIiwic2V0SW1hZ2VMb2FkaW5nU3RhdHVzIiwib25JbWFnZUxvYWRpbmdTdGF0dXNDaGFuZ2UiLCJzcGFuIiwiSU1BR0VfTkFNRSIsIkF2YXRhckltYWdlIiwic3JjIiwib25Mb2FkaW5nU3RhdHVzQ2hhbmdlIiwiaW1hZ2VQcm9wcyIsInJlZmVycmVyUG9saWN5IiwibG9hZGluZ1N0YXR1cyIsInNldExvYWRpbmdTdGF0dXMiLCJpc01vdW50ZWQiLCJpbWFnZSIsIkltYWdlIiwidXBkYXRlU3RhdHVzIiwic3RhdHVzIiwib25sb2FkIiwib25lcnJvciIsInVzZUltYWdlTG9hZGluZ1N0YXR1cyIsImhhbmRsZUxvYWRpbmdTdGF0dXNDaGFuZ2UiLCJpbWciLCJGQUxMQkFDS19OQU1FIiwiQXZhdGFyRmFsbGJhY2siLCJkZWxheU1zIiwiZmFsbGJhY2tQcm9wcyIsImNhblJlbmRlciIsInNldENhblJlbmRlciIsIl9nIiwiRmFsbGJhY2siLCJtYXNrVW5pdHMiLCJtYXNrVHlwZSIsIm1hc2siLCJfcGF0aDIiLCJfZGVmcyIsImNsaXBQYXRoIiwiX3BhdGgzIiwiX3BhdGg0IiwiX3BhdGg1IiwiZmlsbFJ1bGUiLCJjbGlwUnVsZSIsImN4IiwiY3kiLCJmb250U2l6ZSIsInN0cm9rZSIsIkFWQVRBUl9TSVpFUyIsInVzZXJOYW1lIiwiYWx0IiwiZmFsbGJhY2tEZWxheSIsImF2YXRhclNpemVDbGFzcyIsInNpemUzMiIsImZpcnN0TGV0dGVyIiwiQXZhdGFyRGVtby5Sb290IiwiYXZhdGFyUm9vdCIsIkF2YXRhckRlbW8uSW1hZ2UiLCJhdmF0YXJJbWFnZSIsIkF2YXRhckRlbW8uRmFsbGJhY2siLCJhdmF0YXJGYWxsYmFjayIsIlBlcnNvbiIsIkJhZGdlIiwiaWNvbiIsImNvbG9yIiwiYmFkZ2UiLCJDYXJkIiwiaXNFbXB0eVN0YXRlQXZhaWxhYmxlIiwiaXNMb2FkaW5nIiwiZW1wdHlTdGF0ZUljb24iLCJlbXB0eVN0YXRlVGV4dCIsInNoYWRvd0VsZXZhdGlvbiIsImlzRGVmYXVsdEljb24iLCJpc0RlZmF1bHRUZXh0Iiwic2hhZG93IiwiZW1wdHlTdGF0ZSIsIkJhckNoYXJ0SWNvbiIsInVzZVByZXZpb3VzIiwicHJldmlvdXMiLCJ1c2VTaXplIiwic2V0U2l6ZSIsIm9mZnNldFdpZHRoIiwib2Zmc2V0SGVpZ2h0IiwicmVzaXplT2JzZXJ2ZXIiLCJSZXNpemVPYnNlcnZlciIsImVudHJpZXMiLCJlbnRyeSIsImJvcmRlclNpemVFbnRyeSIsImJvcmRlclNpemUiLCJib3giLCJ1bm9ic2VydmUiLCJDSEVDS0JPWF9OQU1FIiwiY3JlYXRlQ2hlY2tib3hDb250ZXh0IiwiY3JlYXRlQ2hlY2tib3hTY29wZSIsIkNoZWNrYm94UHJvdmlkZXIiLCJ1c2VDaGVja2JveENvbnRleHQiLCJDaGVja2JveCIsIl9fc2NvcGVDaGVja2JveCIsImNoZWNrZWQiLCJjaGVja2VkUHJvcCIsImRlZmF1bHRDaGVja2VkIiwicmVxdWlyZWQiLCJvbkNoZWNrZWRDaGFuZ2UiLCJmb3JtIiwiY2hlY2tib3hQcm9wcyIsInNldEJ1dHRvbiIsImhhc0NvbnN1bWVyU3RvcHBlZFByb3BhZ2F0aW9uUmVmIiwiaXNGb3JtQ29udHJvbCIsImNsb3Nlc3QiLCJzZXRDaGVja2VkIiwiaW5pdGlhbENoZWNrZWRTdGF0ZVJlZiIsImZvcm0yIiwicmVzZXQiLCJpc0luZGV0ZXJtaW5hdGUiLCJwcmV2Q2hlY2tlZCIsImlzUHJvcGFnYXRpb25TdG9wcGVkIiwic3RvcFByb3BhZ2F0aW9uIiwiQnViYmxlSW5wdXQiLCJjb250cm9sIiwidHJhbnNmb3JtIiwiSU5ESUNBVE9SX05BTUUiLCJDaGVja2JveEluZGljYXRvciIsImluZGljYXRvclByb3BzIiwiaW5wdXRQcm9wcyIsImNvbnRyb2xTaXplIiwiaW5wdXQiLCJpbnB1dFByb3RvIiwiRXZlbnQiLCJpbmRldGVybWluYXRlIiwiZGVmYXVsdENoZWNrZWRSZWYiLCJtYXJnaW4iLCJJbmRpY2F0b3IiLCJMYWJlbCIsImxhYmVsIiwib25Nb3VzZURvd24iLCJnZXRXZWlnaHRDbGFzcyIsIndlaWdodCIsImh0bWxGb3IiLCJSZWR1eExhYmVsLlJvb3QiLCJDaGVja2JveFByaW1pdGl2ZXMuUm9vdCIsIkNoZWNrYm94UHJpbWl0aXZlcy5JbmRpY2F0b3IiLCJDaGVja2JveEljb24iLCJJbnB1dEhpbnQiLCJzdHlsZXMkaV9lcnJvciIsIklucHV0IiwiYXV0b0NvbXBsZXRlIiwiY291bnRlclZpc2liaWxpdHlMaW1pdCIsImVuZEFkb3JubWVudCIsImVuZEFkb3JubWVudENsYXNzTmFtZSIsImVycm9yTWVzc2FnZSIsImhpbnQiLCJpbnB1dFdyYXBwZXJDbGFzcyIsImlzTGFiZWxTdGF0aWMiLCJtYXhMZW5ndGgiLCJvbkJsdXIiLCJvbkNoYW5nZUZyb21Qcm9wcyIsIm9uRm9jdXMiLCJvcHRpb25hbFRleHQiLCJwbGFjZWhvbGRlciIsInN0YXJ0QWRvcm5tZW50IiwidmFsdWVGcm9tUHJvcHMiLCJyZXN0UHJvcHMiLCJpc1Bhc3N3b3JkVmlzaWJsZSIsInNldElzUGFzc3dvcmRWaXNpYmxlIiwiaW50ZXJuYWxWYWx1ZSIsInNldEludGVybmFsVmFsdWUiLCJpc0ZvY3VzZWQiLCJzZXRJc0ZvY3VzZWQiLCJpc1Bhc3N3b3JkIiwiZmllbGRUeXBlIiwibGV0dGVyQ291bnQiLCJpc0xpbWl0UmVhY2hlZCIsInJvb3QiLCJpc0Rpc2FibGVkIiwiaGFzU3RhcnRBZG9ybm1lbnQiLCJpc0Vycm9yIiwic3RhdGljIiwib3B0aW9uYWwiLCJjb3JyZWN0ZWRUb3AiLCJpbnB1dFdyYXBwZXIiLCJmb290ZXIiLCJmb290ZXJXaXRoRW5kQWRvcm5tZW50IiwiZm9vdGVyTWVzc2FnZSIsInRvZ2dsZVBhc3N3b3JkQnV0dG9uIiwiUGFzc3dvcmRFeWVJY29uIiwiUGFzc3dvcmRFeWVDcm9zc2VkSWNvbiIsIkNvcHlCdXR0b24iLCJvbkNvcHkiLCJDb3B5SWNvbiIsIkNvcHlMaW5rSW5wdXQiLCJjb3BpZWQiLCJzZXRDb3BpZWQiLCJpbnB1dFJlZiIsInRleHQiLCJuYXZpZ2F0b3IiLCJjbGlwYm9hcmQiLCJ3cml0ZVRleHQiLCJjb3B5VG9DbGlwYm9hcmQiLCJyZWFkT25seSIsImNsYW1wIiwibWluIiwiRGlyZWN0aW9uQ29udGV4dCIsInVzZURpcmVjdGlvbiIsImxvY2FsRGlyIiwiZ2xvYmFsRGlyIiwiY3JlYXRlQ29sbGVjdGlvbiIsIlBST1ZJREVSX05BTUUiLCJjcmVhdGVDb2xsZWN0aW9uQ29udGV4dCIsImNyZWF0ZUNvbGxlY3Rpb25TY29wZSIsIkNvbGxlY3Rpb25Qcm92aWRlckltcGwiLCJ1c2VDb2xsZWN0aW9uQ29udGV4dCIsImNvbGxlY3Rpb25SZWYiLCJpdGVtTWFwIiwiTWFwIiwiQ29sbGVjdGlvblByb3ZpZGVyIiwiQ09MTEVDVElPTl9TTE9UX05BTUUiLCJDb2xsZWN0aW9uU2xvdCIsIklURU1fU0xPVF9OQU1FIiwiSVRFTV9EQVRBX0FUVFIiLCJDb2xsZWN0aW9uSXRlbVNsb3QiLCJpdGVtRGF0YSIsIkl0ZW1TbG90IiwiY29sbGVjdGlvbk5vZGUiLCJvcmRlcmVkTm9kZXMiLCJzb3J0IiwiYiIsIlBBR0VfS0VZUyIsIkFSUk9XX0tFWVMiLCJCQUNLX0tFWVMiLCJTTElERVJfTkFNRSIsIkNvbGxlY3Rpb24iLCJ1c2VDb2xsZWN0aW9uIiwiY3JlYXRlU2xpZGVyQ29udGV4dCIsImNyZWF0ZVNsaWRlclNjb3BlIiwiU2xpZGVyUHJvdmlkZXIiLCJ1c2VTbGlkZXJDb250ZXh0IiwiU2xpZGVyIiwic3RlcCIsIm9yaWVudGF0aW9uIiwibWluU3RlcHNCZXR3ZWVuVGh1bWJzIiwib25WYWx1ZUNoYW5nZSIsIm9uVmFsdWVDb21taXQiLCJpbnZlcnRlZCIsInNsaWRlclByb3BzIiwidGh1bWJSZWZzIiwidmFsdWVJbmRleFRvQ2hhbmdlUmVmIiwiU2xpZGVyT3JpZW50YXRpb24iLCJTbGlkZXJIb3Jpem9udGFsIiwiU2xpZGVyVmVydGljYWwiLCJzZXRWYWx1ZXMiLCJ0aHVtYnMiLCJ2YWx1ZXNCZWZvcmVTbGlkZVN0YXJ0UmVmIiwidXBkYXRlVmFsdWVzIiwiYXRJbmRleCIsImNvbW1pdCIsImRlY2ltYWxDb3VudCIsInNwbGl0IiwiZ2V0RGVjaW1hbENvdW50Iiwic25hcFRvU3RlcCIsInJvdW5kZXIiLCJwb3ciLCJyb3VuZCIsInJvdW5kVmFsdWUiLCJwcmV2VmFsdWVzIiwibmV4dFZhbHVlcyIsImdldE5leHRTb3J0ZWRWYWx1ZXMiLCJtaW5TdGVwc0JldHdlZW5WYWx1ZXMiLCJzdGVwc0JldHdlZW5WYWx1ZXMiLCJnZXRTdGVwc0JldHdlZW5WYWx1ZXMiLCJoYXNNaW5TdGVwc0JldHdlZW5WYWx1ZXMiLCJoYXNDaGFuZ2VkIiwiX19zY29wZVNsaWRlciIsIm9uUG9pbnRlckRvd24iLCJvblNsaWRlU3RhcnQiLCJjbG9zZXN0SW5kZXgiLCJkaXN0YW5jZXMiLCJjbG9zZXN0RGlzdGFuY2UiLCJnZXRDbG9zZXN0VmFsdWVJbmRleCIsIm9uU2xpZGVNb3ZlIiwib25TbGlkZUVuZCIsInByZXZWYWx1ZSIsIm9uSG9tZUtleURvd24iLCJvbkVuZEtleURvd24iLCJvblN0ZXBLZXlEb3duIiwic3RlcERpcmVjdGlvbiIsIm11bHRpcGxpZXIiLCJTbGlkZXJPcmllbnRhdGlvblByb3ZpZGVyIiwidXNlU2xpZGVyT3JpZW50YXRpb25Db250ZXh0Iiwic3RhcnRFZGdlIiwiZW5kRWRnZSIsImRpciIsInNsaWRlciIsInNldFNsaWRlciIsInJlY3RSZWYiLCJpc0RpcmVjdGlvbkxUUiIsImlzU2xpZGluZ0Zyb21MZWZ0IiwiZ2V0VmFsdWVGcm9tUG9pbnRlciIsInBvaW50ZXJQb3NpdGlvbiIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJsaW5lYXJTY2FsZSIsIlNsaWRlckltcGwiLCJpc0JhY2tLZXkiLCJzbGlkZXJSZWYiLCJpc1NsaWRpbmdGcm9tQm90dG9tIiwic2V0UG9pbnRlckNhcHR1cmUiLCJwb2ludGVySWQiLCJvblBvaW50ZXJNb3ZlIiwiaGFzUG9pbnRlckNhcHR1cmUiLCJvblBvaW50ZXJVcCIsInJlbGVhc2VQb2ludGVyQ2FwdHVyZSIsIlRSQUNLX05BTUUiLCJTbGlkZXJUcmFjayIsInRyYWNrUHJvcHMiLCJSQU5HRV9OQU1FIiwiU2xpZGVyUmFuZ2UiLCJyYW5nZVByb3BzIiwidmFsdWVzQ291bnQiLCJwZXJjZW50YWdlcyIsImNvbnZlcnRWYWx1ZVRvUGVyY2VudGFnZSIsIm9mZnNldFN0YXJ0Iiwib2Zmc2V0RW5kIiwiVEhVTUJfTkFNRSIsIlNsaWRlclRodW1iIiwiZ2V0SXRlbXMiLCJ0aHVtYiIsInNldFRodW1iIiwiZmluZEluZGV4IiwiU2xpZGVyVGh1bWJJbXBsIiwidGh1bWJQcm9wcyIsInBlcmNlbnQiLCJ0b3RhbFZhbHVlcyIsImdldExhYmVsIiwib3JpZW50YXRpb25TaXplIiwidGh1bWJJbkJvdW5kc09mZnNldCIsImhhbGZXaWR0aCIsIm9mZnNldCIsImdldFRodW1iSW5Cb3VuZHNPZmZzZXQiLCJzZXRWYWx1ZSIsIm91dHB1dCIsInJhdGlvIiwiVHJhY2siLCJSYW5nZSIsIlRodW1iIiwiU2xpZGVyRGVtbyIsInRodW1iQXJpYUxhYmVsIiwic2xpZGVyVmFsdWUiLCJzZXRTbGlkZXJWYWx1ZSIsIlByaW1pdGl2ZVNsaWRlci5Sb290IiwibGlzdCIsIm9uQ2hhbmdlSGFuZGxlciIsImNoYW5nZWRWYWx1ZSIsIlByaW1pdGl2ZVNsaWRlci5UcmFjayIsIlByaW1pdGl2ZVNsaWRlci5SYW5nZSIsIlByaW1pdGl2ZVNsaWRlci5UaHVtYiIsIkNyb3AiLCJhc3BlY3QiLCJpc0dyaWRWaXNpYmxlIiwib25Dcm9wQ2hhbmdlIiwib25Dcm9wQ29tcGxldGUiLCJvblpvb21DaGFuZ2UiLCJzbGlkZXJNaW4iLCJzbGlkZXJNYXgiLCJzbGlkZXJTdGVwIiwiY3JvcCIsInNldENyb3AiLCJ6b29tIiwic2V0Wm9vbSIsIkNyb3BwZXIiLCJjb250YWluZXJDbGFzc05hbWUiLCJtZWRpYUNsYXNzTmFtZSIsIm5ld0Nyb3BwZWRBcmVhIiwibmV3Q3JvcHBlZEFyZWFQaXhlbHMiLCJzaG93R3JpZCIsIm1pbWVUeXBlTWFwIiwianBnIiwianBlZyIsInBuZyIsImdpZiIsImJtcCIsIndlYnAiLCJ0aWZmIiwiaWNvIiwic3ZnIiwicGRmIiwidHh0IiwiZG9jIiwiZG9jeCIsInhscyIsInhsc3giLCJwcHMiLCJwcHQiLCJwcHR4Iiwib2R0Iiwib2RzIiwib2RwIiwicnRmIiwibXAzIiwid2F2Iiwib2dnIiwiYWFjIiwiZmxhYyIsImF2aSIsImZsdiIsIm00diIsIm1rdiIsIm1vdiIsIm1wNCIsIm1wZWciLCJtcGciLCJ3ZWJtIiwiemlwIiwidGFyIiwiZ3oiLCJyYXIiLCJodG1sIiwiaHRtIiwianMiLCJqc29uIiwieG1sIiwidHRmIiwib3RmIiwid29mZiIsIndvZmYyIiwiY3N2Iiwic3FsIiwibWQiLCJ5YW1sIiwieW1sIiwiZXB1YiIsIm1vYmkiLCJnZXRGaWxlRXh0ZW5zaW9uIiwiZmlsZSIsIkZpbGUiLCJmaWxlTmFtZSIsInRvTG93ZXJDYXNlIiwidHJpbSIsImRvdEluZGV4IiwibGFzdEluZGV4T2YiLCJzdWJzdHJpbmciLCJnZXRGaWxlTWltZVR5cGUiLCJmaWxlVHlwZSIsImlzRXh0ZW5zaW9uTWF0Y2hpbmdNaW1lVHlwZSIsImV4dGVuc2lvbiIsIm1pbWVUeXBlIiwibm9ybWFsaXplZEV4dGVuc2lvbiIsIm5vcm1hbGl6ZWRNaW1lVHlwZSIsInZhbGlkTWltZVR5cGVzIiwiaXNWYWxpZEZpbGVUeXBlIiwiYWNjZXB0YWJsZVR5cGVQYXR0ZXJuIiwiZmlsZUV4dGVuc2lvbiIsImZpbGVNaW1lVHlwZSIsImlzSW1hZ2UiLCJzdGFydHNXaXRoIiwiaXNWaWRlbyIsImlzVmFsaWRGaWxlU2l6ZSIsImZpbGVTaXplTWJMaW1pdCIsImZpbGVTaXplQnl0ZUxpbWl0IiwiaXNWYWxpZEZpbGVEaW1lbnNpb24iLCJtaW5XaWR0aCIsIm1pbkhlaWdodCIsInJlamVjdCIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJpc1ZhbGlkIiwicmVzdWx0IiwicmVhZEFzRGF0YVVSTCIsImNyZWF0ZUltYWdlIiwidXJsIiwiZ2V0UmFkaWFuQW5nbGUiLCJkZWdyZWVWYWx1ZSIsIlBJIiwicm90YXRlU2l6ZSIsInJvdGF0aW9uIiwicm90UmFkIiwiY29zIiwic2luIiwiZ2V0Q3JvcHBlZEltYWdlVVJMIiwiaW1hZ2VTcmMiLCJwaXhlbENyb3AiLCJmbGlwIiwiaG9yaXpvbnRhbCIsInZlcnRpY2FsIiwiY2FudmFzIiwiZ2V0Q29udGV4dCIsImJCb3hXaWR0aCIsImJCb3hIZWlnaHQiLCJ0cmFuc2xhdGUiLCJzY2FsZSIsImRyYXdJbWFnZSIsImNyb3BwZWRDYW52YXMiLCJjcm9wcGVkQ3R4IiwidG9CbG9iIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiVG9hc3QiLCJkdXJhdGlvbiIsImlzQ2xvc2FibGUiLCJtZXNzYWdlIiwiaXNWaXNpYmxlIiwic2V0SXNWaXNpYmxlIiwidG9hc3RJRCIsIkRhdGUiLCJub3ciLCJpc0Rlc2NyaXB0aW9uIiwiaXNNZXNzYWdlIiwiaXNJbmZvIiwiaXNTdWNjZXNzIiwiaXNXYXJuaW5nIiwidXBkYXRlZER1cmF0aW9uIiwib25DbG9zZUhhbmRsZXIiLCJ0aW1lckV2ZW50IiwiY3NzJDJfbm9DbG9zZUJ0biIsIkV4Y2xhbWF0aW9uSWNvbiIsIkluZm9DaXJjbGVJY29uIiwiQ2hlY2tDaXJjbGVJY29uIiwiSW5mb0ljb24iLCJjc3MkMl9ub01lc3NhZ2UiLCJUb2FzdExpc3QiLCJ0b2FzdExpc3QiLCJzZXRUb2FzdExpc3QiLCJpc0VtcHR5VG9hc3RMaXN0IiwicmVtb3ZlVG9hc3RCeUlkIiwicHJldiIsInRvYXN0IiwicmVtb3ZlVG9hc3QiLCJOdW1iZXIiLCJvbkVzY1ByZXNzIiwidXBkYXRlU2V0dGVyIiwiZW5zdXJlVG9hc3RMaXN0SW5pdGlhbGl6ZWQiLCJ0b2FzdFJvb3QiLCJjcmVhdGVSb290IiwicmVuZGVyIiwidG9hc3RRdWV1ZSIsImlzV2FpdGluZ0ZvckNsaWVudCIsImNvbnN0cnVjdG9yIiwid2FpdEZvckNsaWVudCIsIm9ic2VydmVyIiwiZ2V0VUlUb2FzdExpc3RBbW91bnQiLCJuZXdUb2FzdCIsInVpQW1vdW50IiwidXBkYXRlZE5ld1RvYXN0IiwicHJvY2Vzc1F1ZXVlIiwibmV4dFRvYXN0Iiwic2hpZnQiLCJhZGRUb1F1ZXVlIiwiaW5mbyIsInN1Y2Nlc3MiLCJ3YXJuaW5nIiwidXNlQ3JvcHBlZEltYWdlIiwiY3JvcHBlZEFyZWEiLCJjcm9wcGVkSW1hZ2VVUkwiLCJzZXRDcm9wcGVkSW1hZ2VVUkwiLCJjYXRjaCIsImluaXRpYWxGaWxlVmFsaWRhdGlvbiIsImlzRmlsZURpbWVuc2lvblZhbGlkIiwiaXNGaWxlU2l6ZVZhbGlkIiwiaXNGaWxlVHlwZVZhbGlkIiwiaXNGaWxlVmFsaWQiLCJ1c2VGaWxlVmFsaWRhdGlvbiIsImFjY2VwdGFibGVGaWxlVHlwZXMiLCJpc1ZhbGlkYXRpb25FbmFibGVkIiwiaXNEaW1lbnNpb25WYWxpZGF0aW9uRW5hYmxlZCIsImlzU2l6ZVZhbGlkYXRpb25FbmFibGVkIiwibWluSGVpZ2h0TGltaXQiLCJtaW5XaWR0aExpbWl0IiwiZmlsZVZhbGlkYXRpb24iLCJzZXRGaWxlVmFsaWRhdGlvbiIsInZhbGlkYXRlIiwidXBkYXRlZEZpbGVWYWxpZGF0aW9uIiwiaWNvbk1hcCIsIkluZm9DaXJjbGVTb2xpZEljb24iLCJUaW1lc0NpcmNsZUljb24iLCJOb3RlIiwiY2xhc3NOYW1lSWNvbiIsImlzVGV4dCIsIkljb25Db21wb25lbnQiLCJzdHlsZSQ0X2Vycm9yIiwic3R5bGUkNF9pbmZvIiwic3R5bGUkNF9ibHVlIiwiRG5EQXJlYSIsImRyb3BUZXh0IiwiZXJyb3JEaW1lbnNpb24iLCJlcnJvclNpemUiLCJlcnJvclR5cGUiLCJvbkRyYWdMZWF2ZSIsIm9uRHJhZ092ZXIiLCJvbkRyb3AiLCJpc0RuRCIsInNldElzRG5EIiwiaXNJbmNvbWVFcnJvciIsImlzVHlwZVZhbGlkYXRpb25FbmFibGVkIiwiaXNEaW1lbnNpb25FcnJvciIsImlzU2l6ZUVycm9yIiwiaXNUeXBlRXJyb3IiLCJzdHlsZSQzX2lzRHJhZ2dlZE92ZXIiLCJkcm9wcGVkRmlsZSIsImRhdGFUcmFuc2ZlciIsImZpbGVzIiwiTW9kYWwiLCJjb250ZW50Q2xhc3NOYW1lIiwib3ZlcmxheUNsYXNzTmFtZSIsInBvcnRhbENvbnRhaW5lciIsIkRpYWxvZy5Sb290IiwiRGlhbG9nLlBvcnRhbCIsIkRpYWxvZy5PdmVybGF5Iiwic3R5bGVzJGZfaXNUaXRsZUhpZGRlbiIsIkRpYWxvZy5Db250ZW50IiwiRGlhbG9nLlRpdGxlIiwic3R5bGVzJGZfdGl0bGVDZW50ZXJlZCIsIkRpYWxvZy5DbG9zZSIsIkRyYXdlciIsImlzT3BlbiIsImhlYWRlciIsInRvZ2dsZURyYXdlciIsImFsaWduIiwiZHJhd2VyIiwib3ZlcmxheSIsImFsaWduUmlnaHQiLCJhbGlnbkxlZnQiLCJjaGlsZHJlbldyYXBwZXIiLCJzaWRlcyIsImZsb29yIiwiY3JlYXRlQ29vcmRzIiwidiIsIm9wcG9zaXRlU2lkZU1hcCIsImJvdHRvbSIsIm9wcG9zaXRlQWxpZ25tZW50TWFwIiwic3RhcnQiLCJlbmQiLCJldmFsdWF0ZSIsInBhcmFtIiwiZ2V0U2lkZSIsInBsYWNlbWVudCIsImdldEFsaWdubWVudCIsImdldE9wcG9zaXRlQXhpcyIsImdldEF4aXNMZW5ndGgiLCJnZXRTaWRlQXhpcyIsImdldEFsaWdubWVudEF4aXMiLCJnZXRPcHBvc2l0ZUFsaWdubWVudFBsYWNlbWVudCIsInJlcGxhY2UiLCJhbGlnbm1lbnQiLCJnZXRPcHBvc2l0ZVBsYWNlbWVudCIsInNpZGUiLCJnZXRQYWRkaW5nT2JqZWN0IiwicGFkZGluZyIsImV4cGFuZFBhZGRpbmdPYmplY3QiLCJyZWN0VG9DbGllbnRSZWN0IiwiY29tcHV0ZUNvb3Jkc0Zyb21QbGFjZW1lbnQiLCJfcmVmIiwicnRsIiwicmVmZXJlbmNlIiwiZmxvYXRpbmciLCJzaWRlQXhpcyIsImFsaWdubWVudEF4aXMiLCJhbGlnbkxlbmd0aCIsImlzVmVydGljYWwiLCJjb21tb25YIiwiY29tbW9uWSIsImNvbW1vbkFsaWduIiwiY29vcmRzIiwiZGV0ZWN0T3ZlcmZsb3ciLCJfYXdhaXQkcGxhdGZvcm0kaXNFbGUiLCJwbGF0Zm9ybSIsInJlY3RzIiwic3RyYXRlZ3kiLCJib3VuZGFyeSIsInJvb3RCb3VuZGFyeSIsImVsZW1lbnRDb250ZXh0IiwiYWx0Qm91bmRhcnkiLCJwYWRkaW5nT2JqZWN0IiwiY2xpcHBpbmdDbGllbnRSZWN0IiwiZ2V0Q2xpcHBpbmdSZWN0IiwiaXNFbGVtZW50IiwiY29udGV4dEVsZW1lbnQiLCJnZXREb2N1bWVudEVsZW1lbnQiLCJvZmZzZXRQYXJlbnQiLCJnZXRPZmZzZXRQYXJlbnQiLCJvZmZzZXRTY2FsZSIsImdldFNjYWxlIiwiZWxlbWVudENsaWVudFJlY3QiLCJjb252ZXJ0T2Zmc2V0UGFyZW50UmVsYXRpdmVSZWN0VG9WaWV3cG9ydFJlbGF0aXZlUmVjdCIsImdldFNpZGVPZmZzZXRzIiwiaXNBbnlTaWRlRnVsbHlDbGlwcGVkIiwiaGFzV2luZG93IiwiZ2V0Tm9kZU5hbWUiLCJpc05vZGUiLCJub2RlTmFtZSIsImdldFdpbmRvdyIsIl9ub2RlJG93bmVyRG9jdW1lbnQiLCJpc0hUTUxFbGVtZW50IiwiSFRNTEVsZW1lbnQiLCJpc1NoYWRvd1Jvb3QiLCJpc092ZXJmbG93RWxlbWVudCIsImlzVGFibGVFbGVtZW50IiwiaXNUb3BMYXllciIsInNlbGVjdG9yIiwibWF0Y2hlcyIsImlzQ29udGFpbmluZ0Jsb2NrIiwiZWxlbWVudE9yQ3NzIiwid2Via2l0IiwiaXNXZWJLaXQiLCJjb250YWluZXJUeXBlIiwiYmFja2Ryb3BGaWx0ZXIiLCJ3aWxsQ2hhbmdlIiwiY29udGFpbiIsIkNTUyIsInN1cHBvcnRzIiwiaXNMYXN0VHJhdmVyc2FibGVOb2RlIiwiZ2V0Tm9kZVNjcm9sbCIsInNjcm9sbFgiLCJzY3JvbGxZIiwiZ2V0UGFyZW50Tm9kZSIsImFzc2lnbmVkU2xvdCIsImdldE5lYXJlc3RPdmVyZmxvd0FuY2VzdG9yIiwiZ2V0T3ZlcmZsb3dBbmNlc3RvcnMiLCJ0cmF2ZXJzZUlmcmFtZXMiLCJfbm9kZSRvd25lckRvY3VtZW50MiIsInNjcm9sbGFibGVBbmNlc3RvciIsImlzQm9keSIsIndpbiIsImZyYW1lRWxlbWVudCIsImdldEZyYW1lRWxlbWVudCIsInZpc3VhbFZpZXdwb3J0IiwiZ2V0UHJvdG90eXBlT2YiLCJnZXRDc3NEaW1lbnNpb25zIiwicGFyc2VGbG9hdCIsImhhc09mZnNldCIsInNob3VsZEZhbGxiYWNrIiwiJCIsInVud3JhcEVsZW1lbnQiLCJkb21FbGVtZW50Iiwibm9PZmZzZXRzIiwiZ2V0VmlzdWFsT2Zmc2V0cyIsIm9mZnNldExlZnQiLCJvZmZzZXRUb3AiLCJpbmNsdWRlU2NhbGUiLCJpc0ZpeGVkU3RyYXRlZ3kiLCJjbGllbnRSZWN0IiwidmlzdWFsT2Zmc2V0cyIsImlzRml4ZWQiLCJmbG9hdGluZ09mZnNldFBhcmVudCIsInNob3VsZEFkZFZpc3VhbE9mZnNldHMiLCJvZmZzZXRXaW4iLCJjdXJyZW50V2luIiwiY3VycmVudElGcmFtZSIsImlmcmFtZVNjYWxlIiwiaWZyYW1lUmVjdCIsImNsaWVudExlZnQiLCJwYWRkaW5nTGVmdCIsImNsaWVudFRvcCIsInBhZGRpbmdUb3AiLCJnZXRXaW5kb3dTY3JvbGxCYXJYIiwibGVmdFNjcm9sbCIsImdldEhUTUxPZmZzZXQiLCJzY3JvbGwiLCJpZ25vcmVTY3JvbGxiYXJYIiwiaHRtbFJlY3QiLCJnZXRDbGllbnRSZWN0RnJvbUNsaXBwaW5nQW5jZXN0b3IiLCJjbGlwcGluZ0FuY2VzdG9yIiwidmlzdWFsVmlld3BvcnRCYXNlZCIsImdldFZpZXdwb3J0UmVjdCIsImdldERvY3VtZW50UmVjdCIsImdldElubmVyQm91bmRpbmdDbGllbnRSZWN0IiwiaGFzRml4ZWRQb3NpdGlvbkFuY2VzdG9yIiwic3RvcE5vZGUiLCJnZXRSZWN0UmVsYXRpdmVUb09mZnNldFBhcmVudCIsImlzT2Zmc2V0UGFyZW50QW5FbGVtZW50Iiwib2Zmc2V0UmVjdCIsImh0bWxPZmZzZXQiLCJpc1N0YXRpY1Bvc2l0aW9uZWQiLCJnZXRUcnVlT2Zmc2V0UGFyZW50IiwicG9seWZpbGwiLCJyYXdPZmZzZXRQYXJlbnQiLCJzdmdPZmZzZXRQYXJlbnQiLCJnZXRDb250YWluaW5nQmxvY2siLCJ0b3BMYXllciIsImNsaXBwaW5nQW5jZXN0b3JzIiwiY2FjaGUiLCJjYWNoZWRSZXN1bHQiLCJjdXJyZW50Q29udGFpbmluZ0Jsb2NrQ29tcHV0ZWRTdHlsZSIsImVsZW1lbnRJc0ZpeGVkIiwiY29tcHV0ZWRTdHlsZSIsImN1cnJlbnROb2RlSXNDb250YWluaW5nIiwiYW5jZXN0b3IiLCJnZXRDbGlwcGluZ0VsZW1lbnRBbmNlc3RvcnMiLCJfYyIsImZpcnN0Q2xpcHBpbmdBbmNlc3RvciIsImNsaXBwaW5nUmVjdCIsImFjY1JlY3QiLCJnZXRFbGVtZW50UmVjdHMiLCJnZXRPZmZzZXRQYXJlbnRGbiIsImdldERpbWVuc2lvbnNGbiIsImdldERpbWVuc2lvbnMiLCJmbG9hdGluZ0RpbWVuc2lvbnMiLCJnZXRDbGllbnRSZWN0cyIsImlzUlRMIiwicmVjdHNBcmVFcXVhbCIsImF1dG9VcGRhdGUiLCJ1cGRhdGUiLCJhbmNlc3RvclNjcm9sbCIsImFuY2VzdG9yUmVzaXplIiwiZWxlbWVudFJlc2l6ZSIsImxheW91dFNoaWZ0IiwiSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiLCJhbmltYXRpb25GcmFtZSIsInJlZmVyZW5jZUVsIiwiYW5jZXN0b3JzIiwiY2xlYW51cElvIiwib25Nb3ZlIiwiaW8iLCJfaW8iLCJyZWZyZXNoIiwic2tpcCIsInRocmVzaG9sZCIsImVsZW1lbnRSZWN0Rm9yUm9vdE1hcmdpbiIsInJvb3RNYXJnaW4iLCJpc0ZpcnN0VXBkYXRlIiwiaGFuZGxlT2JzZXJ2ZSIsImludGVyc2VjdGlvblJhdGlvIiwib2JzZXJ2ZU1vdmUiLCJmcmFtZUlkIiwicmVvYnNlcnZlRnJhbWUiLCJmaXJzdEVudHJ5IiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJfcmVzaXplT2JzZXJ2ZXIiLCJwcmV2UmVmUmVjdCIsImZyYW1lTG9vcCIsIm5leHRSZWZSZWN0IiwiX3Jlc2l6ZU9ic2VydmVyMiIsImZuIiwiX21pZGRsZXdhcmVEYXRhJG9mZnNlIiwiX21pZGRsZXdhcmVEYXRhJGFycm93IiwibWlkZGxld2FyZURhdGEiLCJkaWZmQ29vcmRzIiwibWFpbkF4aXNNdWx0aSIsImNyb3NzQXhpc011bHRpIiwicmF3VmFsdWUiLCJtYWluQXhpcyIsImNyb3NzQXhpcyIsImNvbnZlcnRWYWx1ZVRvQ29vcmRzIiwiYXJyb3ciLCJhbGlnbm1lbnRPZmZzZXQiLCJjaGVja01haW5BeGlzIiwiY2hlY2tDcm9zc0F4aXMiLCJsaW1pdGVyIiwiZGV0ZWN0T3ZlcmZsb3dPcHRpb25zIiwibWFpbkF4aXNDb29yZCIsImNyb3NzQXhpc0Nvb3JkIiwibWF4U2lkZSIsImxpbWl0ZWRDb29yZHMiLCJfbWlkZGxld2FyZURhdGEkZmxpcCIsImluaXRpYWxQbGFjZW1lbnQiLCJmYWxsYmFja1BsYWNlbWVudHMiLCJzcGVjaWZpZWRGYWxsYmFja1BsYWNlbWVudHMiLCJmYWxsYmFja1N0cmF0ZWd5IiwiZmFsbGJhY2tBeGlzU2lkZURpcmVjdGlvbiIsImZsaXBBbGlnbm1lbnQiLCJpbml0aWFsU2lkZUF4aXMiLCJpc0Jhc2VQbGFjZW1lbnQiLCJvcHBvc2l0ZVBsYWNlbWVudCIsImdldEV4cGFuZGVkUGxhY2VtZW50cyIsImhhc0ZhbGxiYWNrQXhpc1NpZGVEaXJlY3Rpb24iLCJpc1N0YXJ0IiwibHIiLCJybCIsInRiIiwiYnQiLCJnZXRTaWRlTGlzdCIsImdldE9wcG9zaXRlQXhpc1BsYWNlbWVudHMiLCJwbGFjZW1lbnRzIiwib3ZlcmZsb3dzIiwib3ZlcmZsb3dzRGF0YSIsIm1haW5BbGlnbm1lbnRTaWRlIiwiZ2V0QWxpZ25tZW50U2lkZXMiLCJldmVyeSIsIl9taWRkbGV3YXJlRGF0YSRmbGlwMiIsIl9vdmVyZmxvd3NEYXRhJGZpbHRlciIsIm5leHRJbmRleCIsIm5leHRQbGFjZW1lbnQiLCJyZXNldFBsYWNlbWVudCIsIl9vdmVyZmxvd3NEYXRhJGZpbHRlcjIiLCJjdXJyZW50U2lkZUF4aXMiLCJhY2MiLCJfc3RhdGUkbWlkZGxld2FyZURhdGEiLCJfc3RhdGUkbWlkZGxld2FyZURhdGEyIiwiaXNZQXhpcyIsImhlaWdodFNpZGUiLCJ3aWR0aFNpZGUiLCJtYXhpbXVtQ2xpcHBpbmdIZWlnaHQiLCJtYXhpbXVtQ2xpcHBpbmdXaWR0aCIsIm92ZXJmbG93QXZhaWxhYmxlSGVpZ2h0Iiwib3ZlcmZsb3dBdmFpbGFibGVXaWR0aCIsIm5vU2hpZnQiLCJhdmFpbGFibGVIZWlnaHQiLCJhdmFpbGFibGVXaWR0aCIsInhNaW4iLCJ4TWF4IiwieU1pbiIsInlNYXgiLCJuZXh0RGltZW5zaW9ucyIsImhpZGUiLCJyZWZlcmVuY2VIaWRkZW5PZmZzZXRzIiwicmVmZXJlbmNlSGlkZGVuIiwiZXNjYXBlZE9mZnNldHMiLCJlc2NhcGVkIiwiYXJyb3dEaW1lbnNpb25zIiwibWluUHJvcCIsIm1heFByb3AiLCJjbGllbnRQcm9wIiwiZW5kRGlmZiIsInN0YXJ0RGlmZiIsImFycm93T2Zmc2V0UGFyZW50IiwiY2xpZW50U2l6ZSIsImNlbnRlclRvUmVmZXJlbmNlIiwibGFyZ2VzdFBvc3NpYmxlUGFkZGluZyIsIm1pblBhZGRpbmciLCJtYXhQYWRkaW5nIiwibWluJDEiLCJjZW50ZXIiLCJzaG91bGRBZGRPZmZzZXQiLCJjZW50ZXJPZmZzZXQiLCJsaW1pdFNoaWZ0IiwicmF3T2Zmc2V0IiwiY29tcHV0ZWRPZmZzZXQiLCJsZW4iLCJsaW1pdE1pbiIsImxpbWl0TWF4IiwiX21pZGRsZXdhcmVEYXRhJG9mZnNlMiIsImlzT3JpZ2luU2lkZSIsImNvbXB1dGVQb3NpdGlvbiIsIm1lcmdlZE9wdGlvbnMiLCJwbGF0Zm9ybVdpdGhDYWNoZSIsImNvbmZpZyIsInZhbGlkTWlkZGxld2FyZSIsInN0YXRlZnVsUGxhY2VtZW50IiwicmVzZXRDb3VudCIsIm5leHRYIiwibmV4dFkiLCJjb21wdXRlUG9zaXRpb24kMSIsImRlZXBFcXVhbCIsImtleXMiLCIkJHR5cGVvZiIsImdldERQUiIsImRldmljZVBpeGVsUmF0aW8iLCJyb3VuZEJ5RFBSIiwiZHByIiwidXNlTGF0ZXN0UmVmIiwiYXJyb3ckMSIsImFycm93JDIiLCJkZXBzIiwib2Zmc2V0JDEiLCJzaGlmdCQxIiwibGltaXRTaGlmdCQxIiwiZmxpcCQxIiwic2l6ZSQxIiwiaGlkZSQxIiwiQXJyb3ciLCJhcnJvd1Byb3BzIiwicHJlc2VydmVBc3BlY3RSYXRpbyIsInBvaW50cyIsIlBPUFBFUl9OQU1FIiwiY3JlYXRlUG9wcGVyQ29udGV4dCIsImNyZWF0ZVBvcHBlclNjb3BlIiwiUG9wcGVyUHJvdmlkZXIiLCJ1c2VQb3BwZXJDb250ZXh0IiwiUG9wcGVyIiwiX19zY29wZVBvcHBlciIsImFuY2hvciIsInNldEFuY2hvciIsIm9uQW5jaG9yQ2hhbmdlIiwiQU5DSE9SX05BTUUiLCJQb3BwZXJBbmNob3IiLCJ2aXJ0dWFsUmVmIiwiYW5jaG9yUHJvcHMiLCJQb3BwZXJDb250ZW50UHJvdmlkZXIiLCJ1c2VDb250ZW50Q29udGV4dCIsIlBvcHBlckNvbnRlbnQiLCJzaWRlT2Zmc2V0IiwiYWxpZ25PZmZzZXQiLCJhcnJvd1BhZGRpbmciLCJhdm9pZENvbGxpc2lvbnMiLCJjb2xsaXNpb25Cb3VuZGFyeSIsImNvbGxpc2lvblBhZGRpbmciLCJjb2xsaXNpb25QYWRkaW5nUHJvcCIsInN0aWNreSIsImhpZGVXaGVuRGV0YWNoZWQiLCJ1cGRhdGVQb3NpdGlvblN0cmF0ZWd5Iiwib25QbGFjZWQiLCJzZXRDb250ZW50Iiwic2V0QXJyb3ciLCJhcnJvd1NpemUiLCJhcnJvd1dpZHRoIiwiYXJyb3dIZWlnaHQiLCJkZXNpcmVkUGxhY2VtZW50IiwiaGFzRXhwbGljaXRCb3VuZGFyaWVzIiwiaXNOb3ROdWxsIiwiZmxvYXRpbmdTdHlsZXMiLCJpc1Bvc2l0aW9uZWQiLCJleHRlcm5hbFJlZmVyZW5jZSIsImV4dGVybmFsRmxvYXRpbmciLCJ3aGlsZUVsZW1lbnRzTW91bnRlZCIsInNldERhdGEiLCJsYXRlc3RNaWRkbGV3YXJlIiwic2V0TGF0ZXN0TWlkZGxld2FyZSIsIl9yZWZlcmVuY2UiLCJfc2V0UmVmZXJlbmNlIiwiX2Zsb2F0aW5nIiwiX3NldEZsb2F0aW5nIiwic2V0UmVmZXJlbmNlIiwicmVmZXJlbmNlUmVmIiwic2V0RmxvYXRpbmciLCJmbG9hdGluZ1JlZiIsImZsb2F0aW5nRWwiLCJkYXRhUmVmIiwiaGFzV2hpbGVFbGVtZW50c01vdW50ZWQiLCJ3aGlsZUVsZW1lbnRzTW91bnRlZFJlZiIsInBsYXRmb3JtUmVmIiwib3BlblJlZiIsImZ1bGxEYXRhIiwiaXNNb3VudGVkUmVmIiwiaW5pdGlhbFN0eWxlcyIsInVzZUZsb2F0aW5nIiwiYW5jaG9yV2lkdGgiLCJhbmNob3JIZWlnaHQiLCJjb250ZW50U3R5bGUiLCJzZXRQcm9wZXJ0eSIsImZsb2F0aW5nVUlhcnJvdyIsInRyYW5zZm9ybU9yaWdpbiIsInBsYWNlZFNpZGUiLCJwbGFjZWRBbGlnbiIsImdldFNpZGVBbmRBbGlnbkZyb21QbGFjZW1lbnQiLCJoYW5kbGVQbGFjZWQiLCJhcnJvd1giLCJhcnJvd1kiLCJjYW5ub3RDZW50ZXJBcnJvdyIsImNvbnRlbnRaSW5kZXgiLCJzZXRDb250ZW50WkluZGV4IiwiekluZGV4Iiwib25BcnJvd0NoYW5nZSIsInNob3VsZEhpZGVBcnJvdyIsImFuaW1hdGlvbiIsIkFSUk9XX05BTUUiLCJPUFBPU0lURV9TSURFIiwiUG9wcGVyQXJyb3ciLCJjb250ZW50Q29udGV4dCIsImJhc2VTaWRlIiwiQXJyb3dQcmltaXRpdmUuUm9vdCIsImlzQXJyb3dIaWRkZW4iLCJub0Fycm93QWxpZ24iLCJhcnJvd1hDZW50ZXIiLCJhcnJvd1lDZW50ZXIiLCJBbmNob3IiLCJFTlRSWV9GT0NVUyIsIkdST1VQX05BTUUiLCJjcmVhdGVSb3ZpbmdGb2N1c0dyb3VwQ29udGV4dCIsImNyZWF0ZVJvdmluZ0ZvY3VzR3JvdXBTY29wZSIsIlJvdmluZ0ZvY3VzUHJvdmlkZXIiLCJ1c2VSb3ZpbmdGb2N1c0NvbnRleHQiLCJSb3ZpbmdGb2N1c0dyb3VwIiwiX19zY29wZVJvdmluZ0ZvY3VzR3JvdXAiLCJSb3ZpbmdGb2N1c0dyb3VwSW1wbCIsImN1cnJlbnRUYWJTdG9wSWQiLCJjdXJyZW50VGFiU3RvcElkUHJvcCIsImRlZmF1bHRDdXJyZW50VGFiU3RvcElkIiwib25DdXJyZW50VGFiU3RvcElkQ2hhbmdlIiwib25FbnRyeUZvY3VzIiwicHJldmVudFNjcm9sbE9uRW50cnlGb2N1cyIsImdyb3VwUHJvcHMiLCJzZXRDdXJyZW50VGFiU3RvcElkIiwiaXNUYWJiaW5nQmFja091dCIsInNldElzVGFiYmluZ0JhY2tPdXQiLCJoYW5kbGVFbnRyeUZvY3VzIiwiaXNDbGlja0ZvY3VzUmVmIiwiZm9jdXNhYmxlSXRlbXNDb3VudCIsInNldEZvY3VzYWJsZUl0ZW1zQ291bnQiLCJvbkl0ZW1Gb2N1cyIsInRhYlN0b3BJZCIsIm9uSXRlbVNoaWZ0VGFiIiwib25Gb2N1c2FibGVJdGVtQWRkIiwicHJldkNvdW50Iiwib25Gb2N1c2FibGVJdGVtUmVtb3ZlIiwiaXNLZXlib2FyZEZvY3VzIiwiZW50cnlGb2N1c0V2ZW50IiwiZm9jdXNhYmxlIiwiYWN0aXZlIiwiSVRFTV9OQU1FIiwiUm92aW5nRm9jdXNHcm91cEl0ZW0iLCJpdGVtUHJvcHMiLCJhdXRvSWQiLCJpc0N1cnJlbnRUYWJTdG9wIiwiZm9jdXNJbnRlbnQiLCJnZXREaXJlY3Rpb25Bd2FyZUtleSIsIk1BUF9LRVlfVE9fRk9DVVNfSU5URU5UIiwiZ2V0Rm9jdXNJbnRlbnQiLCJjYW5kaWRhdGVOb2RlcyIsImN1cnJlbnRJbmRleCIsInN0YXJ0SW5kZXgiLCJfIiwiQXJyb3dMZWZ0IiwiQXJyb3dVcCIsIkFycm93UmlnaHQiLCJBcnJvd0Rvd24iLCJQYWdlVXAiLCJIb21lIiwiUGFnZURvd24iLCJFbmQiLCJQUkVWSU9VU0xZX0ZPQ1VTRURfRUxFTUVOVCIsIkl0ZW0iLCJTRUxFQ1RJT05fS0VZUyIsIkxBU1RfS0VZUyIsIkZJUlNUX0xBU1RfS0VZUyIsIlNVQl9PUEVOX0tFWVMiLCJsdHIiLCJTVUJfQ0xPU0VfS0VZUyIsIk1FTlVfTkFNRSIsImNyZWF0ZU1lbnVDb250ZXh0IiwiY3JlYXRlTWVudVNjb3BlIiwidXNlUG9wcGVyU2NvcGUiLCJ1c2VSb3ZpbmdGb2N1c0dyb3VwU2NvcGUiLCJNZW51UHJvdmlkZXIiLCJ1c2VNZW51Q29udGV4dCIsIk1lbnVSb290UHJvdmlkZXIiLCJ1c2VNZW51Um9vdENvbnRleHQiLCJNZW51IiwiX19zY29wZU1lbnUiLCJwb3BwZXJTY29wZSIsImlzVXNpbmdLZXlib2FyZFJlZiIsImhhbmRsZU9wZW5DaGFuZ2UiLCJoYW5kbGVQb2ludGVyIiwiUG9wcGVyUHJpbWl0aXZlLlJvb3QiLCJvbkNvbnRlbnRDaGFuZ2UiLCJNZW51QW5jaG9yIiwiUG9wcGVyUHJpbWl0aXZlLkFuY2hvciIsIk1lbnVQb3J0YWwiLCJNZW51Q29udGVudFByb3ZpZGVyIiwidXNlTWVudUNvbnRlbnRDb250ZXh0IiwiTWVudUNvbnRlbnQiLCJyb290Q29udGV4dCIsIk1lbnVSb290Q29udGVudE1vZGFsIiwiTWVudVJvb3RDb250ZW50Tm9uTW9kYWwiLCJNZW51Q29udGVudEltcGwiLCJkaXNhYmxlT3V0c2lkZVNjcm9sbCIsInJvdmluZ0ZvY3VzR3JvdXBTY29wZSIsImN1cnJlbnRJdGVtSWQiLCJzZXRDdXJyZW50SXRlbUlkIiwidGltZXJSZWYiLCJzZWFyY2hSZWYiLCJwb2ludGVyR3JhY2VUaW1lclJlZiIsInBvaW50ZXJHcmFjZUludGVudFJlZiIsInBvaW50ZXJEaXJSZWYiLCJsYXN0UG9pbnRlclhSZWYiLCJTY3JvbGxMb2NrV3JhcHBlciIsInNjcm9sbExvY2tXcmFwcGVyUHJvcHMiLCJoYW5kbGVUeXBlYWhlYWRTZWFyY2giLCJzZWFyY2giLCJjdXJyZW50SXRlbSIsImN1cnJlbnRNYXRjaCIsInRleHRWYWx1ZSIsIm5leHRNYXRjaCIsImlzUmVwZWF0ZWQiLCJjaGFyIiwibm9ybWFsaXplZFNlYXJjaCIsImN1cnJlbnRNYXRjaEluZGV4Iiwid3JhcHBlZFZhbHVlcyIsImdldE5leHRNYXRjaCIsIm5ld0l0ZW0iLCJ1cGRhdGVTZWFyY2giLCJpc1BvaW50ZXJNb3ZpbmdUb1N1Ym1lbnUiLCJhcmVhIiwiY3Vyc29yUG9zIiwicG9pbnQiLCJwb2x5Z29uIiwiaW5zaWRlIiwiaiIsInhpIiwieWkiLCJ4aiIsInlqIiwiaXNQb2ludEluUG9seWdvbiIsImlzUG9pbnRlckluR3JhY2VBcmVhIiwib25JdGVtRW50ZXIiLCJvbkl0ZW1MZWF2ZSIsIm9uVHJpZ2dlckxlYXZlIiwib25Qb2ludGVyR3JhY2VJbnRlbnRDaGFuZ2UiLCJpbnRlbnQiLCJSb3ZpbmdGb2N1c0dyb3VwLlJvb3QiLCJQb3BwZXJQcmltaXRpdmUuQ29udGVudCIsImdldE9wZW5TdGF0ZSIsImlzS2V5RG93bkluc2lkZSIsImlzTW9kaWZpZXJLZXkiLCJpc0NoYXJhY3RlcktleSIsIndoZW5Nb3VzZSIsInBvaW50ZXJYSGFzQ2hhbmdlZCIsIm5ld0RpciIsIk1lbnVHcm91cCIsIk1lbnVMYWJlbCIsImxhYmVsUHJvcHMiLCJJVEVNX1NFTEVDVCIsIk1lbnVJdGVtIiwib25TZWxlY3QiLCJpc1BvaW50ZXJEb3duUmVmIiwiTWVudUl0ZW1JbXBsIiwibWVudUl0ZW0iLCJpdGVtU2VsZWN0RXZlbnQiLCJjbGljayIsImlzVHlwaW5nQWhlYWQiLCJ0ZXh0Q29udGVudCIsInNldFRleHRDb250ZW50IiwiUm92aW5nRm9jdXNHcm91cC5JdGVtIiwib25Qb2ludGVyTGVhdmUiLCJNZW51Q2hlY2tib3hJdGVtIiwiY2hlY2tib3hJdGVtUHJvcHMiLCJJdGVtSW5kaWNhdG9yUHJvdmlkZXIiLCJnZXRDaGVja2VkU3RhdGUiLCJSQURJT19HUk9VUF9OQU1FIiwiUmFkaW9Hcm91cFByb3ZpZGVyIiwidXNlUmFkaW9Hcm91cENvbnRleHQiLCJNZW51UmFkaW9Hcm91cCIsImhhbmRsZVZhbHVlQ2hhbmdlIiwiUkFESU9fSVRFTV9OQU1FIiwiTWVudVJhZGlvSXRlbSIsInJhZGlvSXRlbVByb3BzIiwiSVRFTV9JTkRJQ0FUT1JfTkFNRSIsInVzZUl0ZW1JbmRpY2F0b3JDb250ZXh0IiwiTWVudUl0ZW1JbmRpY2F0b3IiLCJpdGVtSW5kaWNhdG9yUHJvcHMiLCJpbmRpY2F0b3JDb250ZXh0IiwiTWVudVNlcGFyYXRvciIsInNlcGFyYXRvclByb3BzIiwiTWVudUFycm93IiwiUG9wcGVyUHJpbWl0aXZlLkFycm93IiwiTWVudVN1YlByb3ZpZGVyIiwidXNlTWVudVN1YkNvbnRleHQiLCJTVUJfVFJJR0dFUl9OQU1FIiwiTWVudVN1YlRyaWdnZXIiLCJzdWJDb250ZXh0Iiwib3BlblRpbWVyUmVmIiwiY2xlYXJPcGVuVGltZXIiLCJwb2ludGVyR3JhY2VUaW1lciIsInRyaWdnZXJJZCIsIm9uVHJpZ2dlckNoYW5nZSIsImNvbnRlbnRSZWN0IiwiZGF0YXNldCIsInJpZ2h0U2lkZSIsImJsZWVkIiwiY29udGVudE5lYXJFZGdlIiwiY29udGVudEZhckVkZ2UiLCJTVUJfQ09OVEVOVF9OQU1FIiwiTWVudVN1YkNvbnRlbnQiLCJzdWJDb250ZW50UHJvcHMiLCJ0cmlnZ2VyIiwiaXNDbG9zZUtleSIsIlJvb3QzIiwiQW5jaG9yMiIsIkdyb3VwIiwiSXRlbTIiLCJDaGVja2JveEl0ZW0iLCJSYWRpb0dyb3VwIiwiUmFkaW9JdGVtIiwiSXRlbUluZGljYXRvciIsIlNlcGFyYXRvciIsIkFycm93MiIsIlN1YlRyaWdnZXIiLCJTdWJDb250ZW50IiwiRFJPUERPV05fTUVOVV9OQU1FIiwiY3JlYXRlRHJvcGRvd25NZW51Q29udGV4dCIsImNyZWF0ZURyb3Bkb3duTWVudVNjb3BlIiwidXNlTWVudVNjb3BlIiwiRHJvcGRvd25NZW51UHJvdmlkZXIiLCJ1c2VEcm9wZG93bk1lbnVDb250ZXh0IiwiRHJvcGRvd25NZW51IiwiX19zY29wZURyb3Bkb3duTWVudSIsIm1lbnVTY29wZSIsIk1lbnVQcmltaXRpdmUuUm9vdCIsIkRyb3Bkb3duTWVudVRyaWdnZXIiLCJNZW51UHJpbWl0aXZlLkFuY2hvciIsIkRyb3Bkb3duTWVudVBvcnRhbCIsIk1lbnVQcmltaXRpdmUuUG9ydGFsIiwiRHJvcGRvd25NZW51Q29udGVudCIsIk1lbnVQcmltaXRpdmUuQ29udGVudCIsImlzUmlnaHRDbGljayIsIkRyb3Bkb3duTWVudUdyb3VwIiwiTWVudVByaW1pdGl2ZS5Hcm91cCIsIkRyb3Bkb3duTWVudUxhYmVsIiwiTWVudVByaW1pdGl2ZS5MYWJlbCIsIkRyb3Bkb3duTWVudUl0ZW0iLCJNZW51UHJpbWl0aXZlLkl0ZW0iLCJNZW51UHJpbWl0aXZlLkNoZWNrYm94SXRlbSIsInJhZGlvR3JvdXBQcm9wcyIsIk1lbnVQcmltaXRpdmUuUmFkaW9Hcm91cCIsIk1lbnVQcmltaXRpdmUuUmFkaW9JdGVtIiwiTWVudVByaW1pdGl2ZS5JdGVtSW5kaWNhdG9yIiwiRHJvcGRvd25NZW51U2VwYXJhdG9yIiwiTWVudVByaW1pdGl2ZS5TZXBhcmF0b3IiLCJNZW51UHJpbWl0aXZlLkFycm93Iiwic3ViVHJpZ2dlclByb3BzIiwiTWVudVByaW1pdGl2ZS5TdWJUcmlnZ2VyIiwiTWVudVByaW1pdGl2ZS5TdWJDb250ZW50IiwiR3JvdXAyIiwiTGFiZWwyIiwiU2VwYXJhdG9yMiIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZS5Qb3J0YWwiLCJEcm9wZG93bk1lbnVQcmltaXRpdmUuQ29udGVudCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZS5TZXBhcmF0b3IiLCJEcm9wZG93bk1lbnVSb290IiwiRHJvcGRvd25NZW51UHJpbWl0aXZlLlJvb3QiLCJEcm9wZG93bk1lbnVQcmltaXRpdmUuVHJpZ2dlciIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZS5MYWJlbCIsIkRyb3Bkb3duTWVudVByaW1pdGl2ZS5JdGVtIiwiRHJvcGRvd25NZW51UHJpbWl0aXZlLkdyb3VwIiwiRHJvcGRvd25JdGVtIiwiaXNMYWJlbCIsIkNvbXBvbmVudCIsIkRyb3Bkb3duTWVudS5MYWJlbCIsIkRyb3Bkb3duTWVudS5JdGVtIiwic3R5bGVzJGRfd2FybmluZyIsInN0eWxlcyRkX2xhYmVsIiwiRm9ybUdyb3VwIiwianVzdGlmeSIsImFsaWduSXRlbXMiLCJmb3JtR3JvdXAiLCJJbmZvQmFubmVyIiwiaXNJY29uVmlzaWJsZSIsIlJvY2tldEljb24iLCJNb2RhbFNjcm9sbGFibGUiLCJjYW5jZWxCdG5UZXh0IiwiY3VzdG9tQm9keUNsYXNzIiwiY3VzdG9tQ2FuY2VsQnRuQ2xhc3MiLCJjdXN0b21DbG9zZUJ0bkNsYXNzIiwiY3VzdG9tQ29udGVudENsYXNzIiwiY3VzdG9tRm9vdGVyQ2xhc3MiLCJjdXN0b21Pa0J0bkNsYXNzIiwiY3VzdG9tT3ZlcmxheUNsYXNzIiwiY3VzdG9tVGl0bGVDbGFzcyIsImlzQXZhaWxhYmxlQ2FuY2VsQnRuIiwiaXNBdmFpbGFibGVPa0J0biIsImlzT2tCdG5EaXNhYmxlZCIsImlzT3BlbkJ5RGVmYXVsdCIsIm9rQnRuVGV4dCIsIm9uQ2FuY2VsIiwib25PayIsIm9uT3BlbkNoYW5nZUhhbmRsZXIiLCJjc3NfaXNIaWRkZW4iLCJjc3Nfd2l0aEhlYWRlciIsImNzc19ub1RpdGxlIiwiY3NzX3dpdGhGb290ZXIiLCJDdXN0b21Ecm9wZG93bkluZGljYXRvciIsImNvbXBvbmVudHMiLCJJbmRpY2F0b3JzQ29udGFpbmVyIiwic3R5bGVzJGFfaW5kaWNhdG9ySXNEaXNhYmxlZCIsIkFycm93RG93bkljb24iLCJDdXN0b21NdWx0aVZhbHVlUmVtb3ZlIiwiTXVsdGlWYWx1ZVJlbW92ZSIsIkN1c3RvbU5vT3B0aW9uc01lc3NhZ2UiLCJNdWx0aVNlbGVjdCIsImNsYXNzTmFtZVByZWZpeCIsImVycm9yTWVzc2FnZUNsYXNzIiwiaXNNdWx0aSIsImlzVmlzaWJsZU9wdGlvbmFsIiwicG9ydGFsVGFyZ2V0Iiwic2VsZWN0ZWRPcHRpb24iLCJzZXRTZWxlY3RlZE9wdGlvbiIsIlJlYWN0U2VsZWN0Iiwic3R5bGVzJGFfY29udHJvbElzRm9jdXNlZCIsIm1lbnVJc09wZW4iLCJzdHlsZXMkYV9jb250cm9sSXNPcGVuZWQiLCJzdHlsZXMkYV9pc0Rpc2FibGVkIiwibWVudSIsIm1lbnVMaXN0IiwibWVudVBvcnRhbCIsIm11bHRpVmFsdWUiLCJzdHlsZXMkYV9tdWx0aVZhbHVlSXNEaXNhYmxlZCIsIm11bHRpVmFsdWVMYWJlbCIsInN0eWxlcyRhX211bHRpVmFsdWVMYWJlbElzRGlzYWJsZWQiLCJtdWx0aVZhbHVlUmVtb3ZlIiwic3R5bGVzJGFfbXVsdGlWYWx1ZVJlbW92ZUlzRGlzYWJsZWQiLCJvcHRpb24iLCJpc1NlbGVjdGVkIiwic3R5bGVzJGFfb3B0aW9uU2VsZWN0ZWQiLCJzdHlsZXMkYV9vcHRpb25Gb2N1c2VkIiwic3R5bGVzJGFfb3B0aW9uRGlzYWJsZWQiLCJzaW5nbGVWYWx1ZSIsInZhbHVlQ29udGFpbmVyIiwiSW5kaWNhdG9yU2VwYXJhdG9yIiwiRHJvcGRvd25JbmRpY2F0b3IiLCJOb09wdGlvbnNNZXNzYWdlIiwibWVudVBvcnRhbFRhcmdldCIsInNlbGVjdGVkVmFsdWUiLCJwcm92aWRlZCIsInNlbGVjdFByb3BzIiwiUGFnaW5hdGlvbiIsImN1cnJlbnRQYWdlIiwicGFnZVNpemUiLCJ0b3RhbCIsInBhZ2UiLCJzZXRQYWdlIiwibWF4UGFnZSIsImNlaWwiLCJpc0Rpc2FibGVkRmlyc3RQYWdlIiwiaXNEaXNhYmxlZExhc3RQYWdlIiwiaXNBdmFpbGFibGUiLCJwcmV2aW91c1BhZ2UiLCJwcmV2aW91c1ByZXZpb3VzUGFnZSIsIm5leHRQYWdlIiwibmV4dE5leHRQYWdlIiwiZ2V0Q29ycmVjdGVkUGFnZSIsIm5ld1BhZ2UiLCJjb3JyZWN0ZWRQYWdlIiwic3R5bGVzJDlfZGlzYWJsZWQiLCJBcnJvd0xlZnREb3VibGVJY29uIiwiQXJyb3dMZWZ0U2luZ2xlSWNvbiIsIlBPUE9WRVJfTkFNRSIsImNyZWF0ZVBvcG92ZXJDb250ZXh0IiwiY3JlYXRlUG9wb3ZlclNjb3BlIiwiUG9wb3ZlclByb3ZpZGVyIiwidXNlUG9wb3ZlckNvbnRleHQiLCJQb3BvdmVyIiwiX19zY29wZVBvcG92ZXIiLCJoYXNDdXN0b21BbmNob3IiLCJzZXRIYXNDdXN0b21BbmNob3IiLCJvbkN1c3RvbUFuY2hvckFkZCIsIm9uQ3VzdG9tQW5jaG9yUmVtb3ZlIiwiUG9wb3ZlclRyaWdnZXIiLCJQb3BvdmVyUG9ydGFsIiwiUG9wb3ZlckNvbnRlbnQiLCJQb3BvdmVyQ29udGVudE1vZGFsIiwiUG9wb3ZlckNvbnRlbnROb25Nb2RhbCIsImlzUmlnaHRDbGlja091dHNpZGVSZWYiLCJQb3BvdmVyQ29udGVudEltcGwiLCJQb3BvdmVyQXJyb3ciLCJ0cmlnZ2VyQ2xhc3NOYW1lIiwic2hvd0Fycm93Iiwic3R5bGVzJDhfcG9wb3ZlclRyaWdnZXIiLCJQUk9HUkVTU19OQU1FIiwiREVGQVVMVF9NQVgiLCJjcmVhdGVQcm9ncmVzc0NvbnRleHQiLCJjcmVhdGVQcm9ncmVzc1Njb3BlIiwiUHJvZ3Jlc3NQcm92aWRlciIsInVzZVByb2dyZXNzQ29udGV4dCIsIlByb2dyZXNzIiwiX19zY29wZVByb2dyZXNzIiwidmFsdWVQcm9wIiwiZ2V0VmFsdWVMYWJlbCIsImRlZmF1bHRHZXRWYWx1ZUxhYmVsIiwicHJvZ3Jlc3NQcm9wcyIsImlzVmFsaWRNYXhOdW1iZXIiLCJpc1ZhbGlkVmFsdWVOdW1iZXIiLCJwcm9wVmFsdWUiLCJjb21wb25lbnROYW1lIiwiZ2V0SW52YWxpZFZhbHVlRXJyb3IiLCJ2YWx1ZUxhYmVsIiwiaXNOdW1iZXIiLCJnZXRQcm9ncmVzc1N0YXRlIiwiUHJvZ3Jlc3NJbmRpY2F0b3IiLCJtYXhWYWx1ZSIsImlzTmFOIiwicHJvZ3Jlc3MiLCJQcm9ncmVzc1ByaW1pdGl2ZS5Sb290IiwiUHJvZ3Jlc3NQcmltaXRpdmUuSW5kaWNhdG9yIiwiUkFESU9fTkFNRSIsImNyZWF0ZVJhZGlvQ29udGV4dCIsImNyZWF0ZVJhZGlvU2NvcGUiLCJSYWRpb1Byb3ZpZGVyIiwidXNlUmFkaW9Db250ZXh0IiwiUmFkaW8iLCJfX3Njb3BlUmFkaW8iLCJvbkNoZWNrIiwicmFkaW9Qcm9wcyIsIlJhZGlvSW5kaWNhdG9yIiwiY3JlYXRlUmFkaW9Hcm91cENvbnRleHQiLCJjcmVhdGVSYWRpb0dyb3VwU2NvcGUiLCJjcmVhdGVDb250ZXh0U2NvcGUyIiwidXNlUmFkaW9TY29wZSIsIl9fc2NvcGVSYWRpb0dyb3VwIiwianN4MiIsIlByaW1pdGl2ZTIiLCJSYWRpb0dyb3VwSXRlbSIsInJhZGlvU2NvcGUiLCJ1c2VDb21wb3NlZFJlZnMyIiwiaXNBcnJvd0tleVByZXNzZWRSZWYiLCJoYW5kbGVLZXlVcCIsImNvbXBvc2VFdmVudEhhbmRsZXJzMiIsIlJhZGlvR3JvdXBJbmRpY2F0b3IiLCJhcmlhTGFiZWwiLCJjb250cm9sbGVkUHJvcHMiLCJSYWRpby5Sb290IiwiUmFkaW8uSXRlbSIsIlJhZGlvLkluZGljYXRvciIsImluZGljYXRvciIsIlZpc3VhbGx5SGlkZGVuIiwiYm9yZGVyIiwiY2xpcCIsIndoaXRlU3BhY2UiLCJ3b3JkV3JhcCIsIk9QRU5fS0VZUyIsIlNFTEVDVF9OQU1FIiwiY3JlYXRlU2VsZWN0Q29udGV4dCIsImNyZWF0ZVNlbGVjdFNjb3BlIiwiU2VsZWN0UHJvdmlkZXIiLCJ1c2VTZWxlY3RDb250ZXh0IiwiU2VsZWN0TmF0aXZlT3B0aW9uc1Byb3ZpZGVyIiwidXNlU2VsZWN0TmF0aXZlT3B0aW9uc0NvbnRleHQiLCJTZWxlY3QiLCJfX3Njb3BlU2VsZWN0Iiwic2V0VHJpZ2dlciIsInZhbHVlTm9kZSIsInNldFZhbHVlTm9kZSIsInZhbHVlTm9kZUhhc0NoaWxkcmVuIiwic2V0VmFsdWVOb2RlSGFzQ2hpbGRyZW4iLCJ0cmlnZ2VyUG9pbnRlckRvd25Qb3NSZWYiLCJuYXRpdmVPcHRpb25zU2V0Iiwic2V0TmF0aXZlT3B0aW9uc1NldCIsIm5hdGl2ZVNlbGVjdEtleSIsIm9uVmFsdWVOb2RlQ2hhbmdlIiwib25WYWx1ZU5vZGVIYXNDaGlsZHJlbkNoYW5nZSIsIm9uTmF0aXZlT3B0aW9uQWRkIiwib25OYXRpdmVPcHRpb25SZW1vdmUiLCJvcHRpb25zU2V0IiwiQnViYmxlU2VsZWN0IiwiU2VsZWN0VHJpZ2dlciIsInBvaW50ZXJUeXBlUmVmIiwicmVzZXRUeXBlYWhlYWQiLCJ1c2VUeXBlYWhlYWRTZWFyY2giLCJlbmFibGVkSXRlbXMiLCJuZXh0SXRlbSIsImZpbmROZXh0SXRlbSIsImhhbmRsZU9wZW4iLCJwb2ludGVyRXZlbnQiLCJwYWdlWCIsInBhZ2VZIiwic2hvdWxkU2hvd1BsYWNlaG9sZGVyIiwiVkFMVUVfTkFNRSIsIlNlbGVjdFZhbHVlIiwidmFsdWVQcm9wcyIsImhhc0NoaWxkcmVuIiwiU2VsZWN0SWNvbiIsImljb25Qcm9wcyIsIlNlbGVjdFBvcnRhbCIsIlNlbGVjdENvbnRlbnQiLCJmcmFnbWVudCIsInNldEZyYWdtZW50IiwiRG9jdW1lbnRGcmFnbWVudCIsImZyYWciLCJTZWxlY3RDb250ZW50UHJvdmlkZXIiLCJTZWxlY3RDb250ZW50SW1wbCIsIkNPTlRFTlRfTUFSR0lOIiwidXNlU2VsZWN0Q29udGVudENvbnRleHQiLCJ2aWV3cG9ydCIsInNldFZpZXdwb3J0Iiwic2VsZWN0ZWRJdGVtIiwic2V0U2VsZWN0ZWRJdGVtIiwic2VsZWN0ZWRJdGVtVGV4dCIsInNldFNlbGVjdGVkSXRlbVRleHQiLCJzZXRJc1Bvc2l0aW9uZWQiLCJmaXJzdFZhbGlkSXRlbUZvdW5kUmVmIiwiZmlyc3RJdGVtIiwicmVzdEl0ZW1zIiwibGFzdEl0ZW0iLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwiZm9jdXNTZWxlY3RlZEl0ZW0iLCJwb2ludGVyTW92ZURlbHRhIiwiaGFuZGxlUG9pbnRlck1vdmUiLCJoYW5kbGVQb2ludGVyVXAiLCJjbG9zZSIsIml0ZW1SZWZDYWxsYmFjayIsImlzRmlyc3RWYWxpZEl0ZW0iLCJoYW5kbGVJdGVtTGVhdmUiLCJpdGVtVGV4dFJlZkNhbGxiYWNrIiwiU2VsZWN0UG9zaXRpb24iLCJTZWxlY3RQb3BwZXJQb3NpdGlvbiIsIlNlbGVjdEl0ZW1BbGlnbmVkUG9zaXRpb24iLCJwb3BwZXJDb250ZW50UHJvcHMiLCJvblZpZXdwb3J0Q2hhbmdlIiwib25Db250ZXh0TWVudSIsImZsZXhEaXJlY3Rpb24iLCJjdXJyZW50RWxlbWVudCIsInBvcHBlclByb3BzIiwiY29udGVudFdyYXBwZXIiLCJzZXRDb250ZW50V3JhcHBlciIsInNob3VsZEV4cGFuZE9uU2Nyb2xsUmVmIiwic2hvdWxkUmVwb3NpdGlvblJlZiIsInRyaWdnZXJSZWN0IiwidmFsdWVOb2RlUmVjdCIsIml0ZW1UZXh0UmVjdCIsIml0ZW1UZXh0T2Zmc2V0IiwibGVmdERlbHRhIiwibWluQ29udGVudFdpZHRoIiwiY29udGVudFdpZHRoIiwicmlnaHRFZGdlIiwiY2xhbXBlZExlZnQiLCJyaWdodERlbHRhIiwibGVmdEVkZ2UiLCJjbGFtcGVkUmlnaHQiLCJpbm5lckhlaWdodCIsIml0ZW1zSGVpZ2h0IiwiY29udGVudFN0eWxlcyIsImNvbnRlbnRCb3JkZXJUb3BXaWR0aCIsImJvcmRlclRvcFdpZHRoIiwiY29udGVudFBhZGRpbmdUb3AiLCJjb250ZW50Qm9yZGVyQm90dG9tV2lkdGgiLCJib3JkZXJCb3R0b21XaWR0aCIsImZ1bGxDb250ZW50SGVpZ2h0IiwicGFkZGluZ0JvdHRvbSIsIm1pbkNvbnRlbnRIZWlnaHQiLCJ2aWV3cG9ydFN0eWxlcyIsInZpZXdwb3J0UGFkZGluZ1RvcCIsInZpZXdwb3J0UGFkZGluZ0JvdHRvbSIsInRvcEVkZ2VUb1RyaWdnZXJNaWRkbGUiLCJ0cmlnZ2VyTWlkZGxlVG9Cb3R0b21FZGdlIiwic2VsZWN0ZWRJdGVtSGFsZkhlaWdodCIsImNvbnRlbnRUb3BUb0l0ZW1NaWRkbGUiLCJpdGVtTWlkZGxlVG9Db250ZW50Qm90dG9tIiwiaXNMYXN0SXRlbSIsInZpZXdwb3J0T2Zmc2V0Qm90dG9tIiwiaXNGaXJzdEl0ZW0iLCJtYXhIZWlnaHQiLCJoYW5kbGVTY3JvbGxCdXR0b25DaGFuZ2UiLCJTZWxlY3RWaWV3cG9ydFByb3ZpZGVyIiwib25TY3JvbGxCdXR0b25DaGFuZ2UiLCJib3hTaXppbmciLCJ1c2VTZWxlY3RWaWV3cG9ydENvbnRleHQiLCJWSUVXUE9SVF9OQU1FIiwiU2VsZWN0Vmlld3BvcnQiLCJ2aWV3cG9ydFByb3BzIiwidmlld3BvcnRDb250ZXh0IiwicHJldlNjcm9sbFRvcFJlZiIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwiZmxleCIsIm9uU2Nyb2xsIiwic2Nyb2xsZWRCeSIsImNzc01pbkhlaWdodCIsImNzc0hlaWdodCIsInByZXZIZWlnaHQiLCJuZXh0SGVpZ2h0IiwiY2xhbXBlZE5leHRIZWlnaHQiLCJoZWlnaHREaWZmIiwianVzdGlmeUNvbnRlbnQiLCJTZWxlY3RHcm91cENvbnRleHRQcm92aWRlciIsInVzZVNlbGVjdEdyb3VwQ29udGV4dCIsImdyb3VwSWQiLCJMQUJFTF9OQU1FIiwiZ3JvdXBDb250ZXh0IiwiU2VsZWN0SXRlbUNvbnRleHRQcm92aWRlciIsInVzZVNlbGVjdEl0ZW1Db250ZXh0IiwiU2VsZWN0SXRlbSIsInRleHRWYWx1ZVByb3AiLCJzZXRUZXh0VmFsdWUiLCJ0ZXh0SWQiLCJoYW5kbGVTZWxlY3QiLCJvbkl0ZW1UZXh0Q2hhbmdlIiwicHJldlRleHRWYWx1ZSIsIklURU1fVEVYVF9OQU1FIiwiU2VsZWN0SXRlbVRleHQiLCJpdGVtVGV4dFByb3BzIiwiaXRlbUNvbnRleHQiLCJuYXRpdmVPcHRpb25zQ29udGV4dCIsIml0ZW1UZXh0Tm9kZSIsInNldEl0ZW1UZXh0Tm9kZSIsIm5hdGl2ZU9wdGlvbiIsIlNDUk9MTF9VUF9CVVRUT05fTkFNRSIsImNhblNjcm9sbFVwIiwic2V0Q2FuU2Nyb2xsVXAiLCJoYW5kbGVTY3JvbGwyIiwiY2FuU2Nyb2xsVXAyIiwiU2VsZWN0U2Nyb2xsQnV0dG9uSW1wbCIsIm9uQXV0b1Njcm9sbCIsIlNDUk9MTF9ET1dOX0JVVFRPTl9OQU1FIiwiY2FuU2Nyb2xsRG93biIsInNldENhblNjcm9sbERvd24iLCJtYXhTY3JvbGwiLCJjYW5TY3JvbGxEb3duMiIsInNjcm9sbEluZGljYXRvclByb3BzIiwiYXV0b1Njcm9sbFRpbWVyUmVmIiwiY2xlYXJBdXRvU2Nyb2xsVGltZXIiLCJjbGVhckludGVydmFsIiwiYWN0aXZlSXRlbSIsImZsZXhTaHJpbmsiLCJzZXRJbnRlcnZhbCIsInNlbGVjdFByb3RvIiwiSFRNTFNlbGVjdEVsZW1lbnQiLCJvblNlYXJjaENoYW5nZSIsImhhbmRsZVNlYXJjaENoYW5nZSIsImN1cnJlbnRJdGVtSW5kZXgiLCJ3cmFwcGVkSXRlbXMiLCJWYWx1ZSIsIkljb24iLCJWaWV3cG9ydCIsIkl0ZW1UZXh0IiwiY3NzQ2xhc3MiLCJTZWxlY3RQcmltaXRpdmUuUm9vdCIsIlNlbGVjdFByaW1pdGl2ZS5UcmlnZ2VyIiwiU2VsZWN0UHJpbWl0aXZlLlZhbHVlIiwiU2VsZWN0UHJpbWl0aXZlLkljb24iLCJTZWxlY3RQcmltaXRpdmUuUG9ydGFsIiwiU2VsZWN0UHJpbWl0aXZlLkNvbnRlbnQiLCJTZWxlY3RQcmltaXRpdmUuVmlld3BvcnQiLCJTZWxlY3RQcmltaXRpdmUuSXRlbSIsIlNlbGVjdFByaW1pdGl2ZS5JdGVtVGV4dCIsIlNXSVRDSF9OQU1FIiwiY3JlYXRlU3dpdGNoQ29udGV4dCIsImNyZWF0ZVN3aXRjaFNjb3BlIiwiU3dpdGNoUHJvdmlkZXIiLCJ1c2VTd2l0Y2hDb250ZXh0IiwiU3dpdGNoIiwiX19zY29wZVN3aXRjaCIsInN3aXRjaFByb3BzIiwiU3dpdGNoVGh1bWIiLCJSYWRpeFN3aXRjaC5Sb290IiwiUmFkaXhTd2l0Y2guVGh1bWIiLCJUQUJTX05BTUUiLCJjcmVhdGVUYWJzQ29udGV4dCIsImNyZWF0ZVRhYnNTY29wZSIsIlRhYnNQcm92aWRlciIsInVzZVRhYnNDb250ZXh0IiwiVGFicyIsIl9fc2NvcGVUYWJzIiwiYWN0aXZhdGlvbk1vZGUiLCJ0YWJzUHJvcHMiLCJiYXNlSWQiLCJUQUJfTElTVF9OQU1FIiwiVGFic0xpc3QiLCJsaXN0UHJvcHMiLCJUYWJzVHJpZ2dlciIsIm1ha2VUcmlnZ2VySWQiLCJtYWtlQ29udGVudElkIiwiaXNBdXRvbWF0aWNBY3RpdmF0aW9uIiwiVGFic0NvbnRlbnQiLCJpc01vdW50QW5pbWF0aW9uUHJldmVudGVkUmVmIiwickFGIiwiYW5pbWF0aW9uRHVyYXRpb24iLCJMaXN0IiwiVGFic1Jvb3QiLCJUYWJzLlJvb3QiLCJUYWJzLkxpc3QiLCJUYWIiLCJUYWJzLlRyaWdnZXIiLCJUYWJzLkNvbnRlbnQiLCJUYWciLCJvbkRlbGV0ZSIsImNsYXNzbmFtZXMiLCJjcmVhdGVUb29sdGlwQ29udGV4dCIsImNyZWF0ZVRvb2x0aXBTY29wZSIsIkRFRkFVTFRfREVMQVlfRFVSQVRJT04iLCJUT09MVElQX09QRU4iLCJUb29sdGlwUHJvdmlkZXJDb250ZXh0UHJvdmlkZXIiLCJ1c2VUb29sdGlwUHJvdmlkZXJDb250ZXh0IiwiVG9vbHRpcFByb3ZpZGVyIiwiX19zY29wZVRvb2x0aXAiLCJkZWxheUR1cmF0aW9uIiwic2tpcERlbGF5RHVyYXRpb24iLCJkaXNhYmxlSG92ZXJhYmxlQ29udGVudCIsImlzT3BlbkRlbGF5ZWQiLCJzZXRJc09wZW5EZWxheWVkIiwiaXNQb2ludGVySW5UcmFuc2l0UmVmIiwic2tpcERlbGF5VGltZXJSZWYiLCJza2lwRGVsYXlUaW1lciIsIm9uT3BlbiIsIm9uUG9pbnRlckluVHJhbnNpdENoYW5nZSIsImluVHJhbnNpdCIsIlRPT0xUSVBfTkFNRSIsIlRvb2x0aXBDb250ZXh0UHJvdmlkZXIiLCJ1c2VUb29sdGlwQ29udGV4dCIsIlRvb2x0aXAiLCJkaXNhYmxlSG92ZXJhYmxlQ29udGVudFByb3AiLCJkZWxheUR1cmF0aW9uUHJvcCIsInByb3ZpZGVyQ29udGV4dCIsIndhc09wZW5EZWxheWVkUmVmIiwib3BlbjIiLCJzdGF0ZUF0dHJpYnV0ZSIsImhhbmRsZUNsb3NlIiwiaGFuZGxlRGVsYXllZE9wZW4iLCJvblRyaWdnZXJFbnRlciIsIlRvb2x0aXBUcmlnZ2VyIiwiaGFzUG9pbnRlck1vdmVPcGVuZWRSZWYiLCJUb29sdGlwUG9ydGFsIiwiVG9vbHRpcENvbnRlbnQiLCJUb29sdGlwQ29udGVudEltcGwiLCJUb29sdGlwQ29udGVudEhvdmVyYWJsZSIsInBvaW50ZXJHcmFjZUFyZWEiLCJzZXRQb2ludGVyR3JhY2VBcmVhIiwiaGFuZGxlUmVtb3ZlR3JhY2VBcmVhIiwiaGFuZGxlQ3JlYXRlR3JhY2VBcmVhIiwiaG92ZXJUYXJnZXQiLCJleGl0UG9pbnQiLCJwYWRkZWRFeGl0UG9pbnRzIiwiZXhpdFNpZGUiLCJnZXRQYWRkZWRFeGl0UG9pbnRzIiwiZ2V0RXhpdFNpZGVGcm9tUmVjdCIsImdyYWNlQXJlYSIsIm5ld1BvaW50cyIsInVwcGVySHVsbCIsInEiLCJwb3AiLCJsb3dlckh1bGwiLCJnZXRIdWxsUHJlc29ydGVkIiwiZ2V0SHVsbCIsImdldFBvaW50c0Zyb21SZWN0IiwiaGFuZGxlVHJpZ2dlckxlYXZlIiwiaGFuZGxlQ29udGVudExlYXZlIiwiaGFuZGxlVHJhY2tQb2ludGVyR3JhY2UiLCJoYXNFbnRlcmVkVGFyZ2V0IiwiaXNQb2ludGVyT3V0c2lkZUdyYWNlQXJlYSIsIlZpc3VhbGx5SGlkZGVuQ29udGVudENvbnRleHRQcm92aWRlciIsInVzZVZpc3VhbGx5SGlkZGVuQ29udGVudENvbnRleHQiLCJpc0luc2lkZSIsIlZpc3VhbGx5SGlkZGVuUHJpbWl0aXZlLlJvb3QiLCJUb29sdGlwQXJyb3ciLCJpc0N1c3RvbVRyaWdnZXIiLCJpc1BvcnRhbCIsImlzVHJpZ2dlckFzQ2hpbGQiLCJpc1Rvb2x0aXBPcGVuIiwiVG9vbHRpcFByaW1pdGl2ZS5Db250ZW50IiwiVG9vbHRpcFByaW1pdGl2ZS5BcnJvdyIsIlRvb2x0aXBQcmltaXRpdmUuUHJvdmlkZXIiLCJUb29sdGlwUHJpbWl0aXZlLlJvb3QiLCJ2aXNpYmxlIiwiVG9vbHRpcFByaW1pdGl2ZS5UcmlnZ2VyIiwiVG9vbHRpcFByaW1pdGl2ZS5Qb3J0YWwiLCJQb3BvdmVyVG9vbHRpcCIsIm1heFRvdWNoUG9pbnRzIiwidmFyaWFudE1hcHBlciIsImgxIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJiMSIsImIyIiwiYjMiLCJzYjEiLCJzYjIiLCJzYjMiLCJvbDEiLCJvbDIiLCJsaW5rIiwiVHlwb2dyYXBoeSIsImRhdGFUZXN0SWQiLCJlbXBoYXNpcyIsIkRFRkFVTFRfU0lERV9PRkZTRVQiLCJVcGxvYWRNZW51IiwidHJpZ2dlckJ1dHRvbiIsInRyaWdnZXJCdXR0b25DbGFzcyIsImlzT3Blbk1lbnUiLCJzZXRJc09wZW5NZW51IiwiaXNUcmlnZ2VyQnV0dG9uIiwiY2xlYXJlZE1lbnUiLCJpc01lbnVBdmFpbGFibGUiLCJEb3RzSWNvbiIsInN0eWxlJDJfbWVudUl0ZW1EaXNhYmxlZCIsIml0ZW1OdW1iZXIiLCJvblNlbGVjdE1lbnVJdGVtIiwiVXBsb2FkUHJvZ3Jlc3NQcmV2aWV3IiwiZmlsZUluZm8iLCJpbWFnZVRpdGxlIiwiaXNVcGxvYWQiLCJpc1VwbG9hZE1vZGUiLCJtZW51UHJldmlldyIsImlzUHJldmlld09ubHkiLCJtZW51UHJvZ3Jlc3MiLCJpc1Byb2dyZXNzT25seSIsIlByb2dyZXNzSWNvbiIsInN0eWxlJDFfbm9NZW51Iiwic3R5bGUkMV9pc1VwbG9hZE1vZGUiLCJVcGxvYWQiLCJjdXN0b21JY29uIiwiY3VzdG9tSGVhZGVyIiwiY3VzdG9tVGV4dCIsImNyb3BBc3BlY3RSYXRpbyIsImlzQ3JvcEFsbG93ZWQiLCJvblVwbG9hZCIsIm9uQ3JvcENhbmNlbCIsIm9uQ3JvcE9rIiwib25SZWFkRmlsZUVycm9yIiwib25SZWFkRmlsZVByb2dyZXNzIiwib25SZWFkRmlsZVN0YXJ0Iiwib25SZWFkRmlsZVN1Y2Nlc3MiLCJwcmV2aWV3RmlsZUluZm8iLCJwcmV2aWV3RmlsZU5hbWUiLCJwcmV2aWV3SW1hZ2UiLCJwcmV2aWV3SW1hZ2VUaXRsZSIsInVwbG9hZFBlcmNlbnQiLCJjcm9wcGVkQXJlYU9wdGlvbnMiLCJzZXRDcm9wcGVkQXJlYU9wdGlvbnMiLCJmaWxlVXJsIiwic2V0RmlsZVVybCIsImlzQ3JvcHBlZCIsInNldElzQ3JvcHBlZCIsImlzT3BlbkNyb3BNb2RhbCIsInNldElzT3BlbkNyb3BNb2RhbCIsInVwbG9hZEVycm9yIiwic2V0VXBsb2FkRXJyb3IiLCJ1cGxvYWRlZEZpbGUiLCJzZXRVcGxvYWRlZEZpbGUiLCJ1cGxvYWRQcm9ncmVzcyIsInNldFVwbG9hZFByb2dyZXNzIiwiaXNQcm9ncmVzc1ByZXZpZXciLCJhY2NlcHRhYmxlRm9ybWF0cyIsInJlcGxhY2VBbGwiLCJpc0Nyb3BwZWRJbWFnZVVSTCIsImlzVXBsb2FkZWRGaWxlSW1hZ2UiLCJwcm9jZXNzRmlsZSIsImZpbGVVUkwiLCJjYW5jZWxDcm9wSGFuZGxlciIsImNhbGN1bGF0ZWRFcnJvciIsInZhbGlkYXRlRmlsZSIsIm9ucHJvZ3Jlc3MiLCJsZW5ndGhDb21wdXRhYmxlIiwibG9hZGVkIiwiY2FuY2VsVXBsb2FkIiwibWVudVdpdGhIYW5kbGVycyIsImFjdGlvbiIsIm9uU2VsZWN0TWVudUl0ZW1IYW5kbGVyIiwibWVudVByb2dyZXNzUHJldmlldyIsInN0YW5kYXJkTWVudSIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJhY2NlcHQiLCJQbHVzSWNvbiIsImNyb3BwZWRBcmVhUGl4ZWxzIl0sIm1hcHBpbmdzIjoiOzs7OztNQU9DLFdBR0EsSUFBSUEsRUFBUyxDQUFBLEVBQUdDLGVBRWhCLFNBQVNDLElBR1IsSUFGQSxJQUFJQyxFQUFVLEdBRUxDLEVBQUksRUFBR0EsRUFBSUMsVUFBVUMsT0FBUUYsSUFBSyxDQUMxQyxJQUFJRyxFQUFNRixVQUFVRCxHQUNoQkcsSUFDSEosRUFBVUssRUFBWUwsRUFBU00sRUFBV0YsSUFFOUMsQ0FFRSxPQUFPSixDQUNULENBRUMsU0FBU00sRUFBWUYsR0FDcEIsR0FBbUIsaUJBQVJBLEdBQW1DLGlC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R0FDbEJ1YSxNQUNBLEVBQUFtcEIsWUFBWSxFQUNaaHBCLGFBQWMsSUFBTW1nRSxHQUFtQixHQUN2Q3ozRCxNQUFNLGlDQUNOenZCLEVBQUErVixjQUFBLE1BQUEsQ0FDRTJFLFVBQVd5VSxFQUFHLGtDQUFtQzlpQixJQUNyQyxjQUFBLDRCQUNUdzZFLEdBQ0Q3bUYsZ0JBQUNpbkMsR0FBSSxDQUNIQyxPQUFRMitDLEVBQ1IvekQsTUFBTyswRCxFQUNQei9DLGFBQWNBLEVBQ2RDLGVBN05nQixDQUFDK0wsRUFBbUIyMUMsS0FDaERuQyxFQUFzQm1DLEdBRWxCMWhELEdBQWdCQSxFQUFlK0wsRUFBYTIxQyxFQUFrQixFQTJOdER6aEQsYUFBY0EsS0FJcEJ0bkMsRUFDRStWLGNBQUEsTUFBQSxDQUFBMkUsVUFBV3lVLEVBQUcsb0NBQXFDOWlCLElBQWtCLGNBQ3pELDRCQUNack0sRUFBQStWLGNBQUMrWSxHQUFNLENBQ0xwVSxVQUFVLHdDQUNFLGNBQUEsK0JBQ1pxTixRQUFTaWdFLEdBQ1RqNUQsUUFBUSxhQUVELGtCQUNUL3VCLEVBQUErVixjQUFDK1ksR0FDQyxDQUFBcFUsVUFBVSxrREFDRSwyQkFDWnFOLFFBbk9RLEtBQ2xCaS9ELEdBQWEsR0FDYkUsR0FBbUIsR0FFZmpCLEdBQVVBLEVBQVM1eUMsR0FBZ0IsR0FpT3RCLGdCQUlYIiwieF9nb29nbGVfaWdub3JlTGlzdCI6WzAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsNDMsMTQyLDE0MywxNDQsMTQ1LDE1MSwxNTIsMTUzLDE1NCwxNjgsMTY5LDE3MCwxNzEsMTcyLDE3MywxNzQsMTc1LDE3NiwxNzcsMTg1LDE4NywxODksMTkxLDE5MiwxOTQsMTk2LDE5OSwyMDBdfQ==
|
|
1
|
+
function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function t(e,t=[]){let o=[];const r=()=>{const t=o.map((e=>y_.createContext(e)));return function(n){const o=n?.[e]||t;return y_.useMemo((()=>({[`__scope${e}`]:{...n,[e]:o}})),[n,o])}};return r.scopeName=e,[function(t,n){const r=y_.createContext(n),i=o.length;o=[...o,n];const a=t=>{const{scope:n,children:o,...a}=t,l=n?.[e]?.[i]||r,s=y_.useMemo((()=>a),Object.values(a));return B_(l.Provider,{value:s,children:o})};return a.displayName=t+"Provider",[a,function(o,a){const l=a?.[e]?.[i]||r,s=y_.useContext(l);if(s)return s;if(void 0!==n)return n;throw new Error(`\`${o}\` must be used within \`${t}\``)}]},n(r,...t)]}function n(...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:o})=>({...t,...n(e)[`__scope${o}`]})),{});return y_.useMemo((()=>({[`__scope${t.scopeName}`]:o})),[o])}};return n.scopeName=t.scopeName,n}function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function r(...e){return t=>{let n=!1;const r=e.map((e=>{const r=o(e,t);return n||"function"!=typeof r||(n=!0),r}));if(n)return()=>{for(let t=0;t<r.length;t++){const n=r[t];"function"==typeof n?n():o(e[t],null)}}}}function i(...e){return y_.useCallback(r(...e),e)}function a(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),!1===n||!o.defaultPrevented)return t?.(o)}}function l(e){const[t,n]=y_.useState(ui());return ci((()=>{n((e=>e??String(di++)))}),[e]),e||(t?`radix-${t}`:"")}function s(e){const t=y_.useRef(e);return y_.useEffect((()=>{t.current=e})),y_.useMemo((()=>(...e)=>t.current?.(...e)),[])}function c({prop:e,defaultProp:t,onChange:n=()=>{}}){const[o,r]=function({defaultProp:e,onChange:t}){const n=y_.useState(e),[o]=n,r=y_.useRef(o),i=s(t);return y_.useEffect((()=>{r.current!==o&&(i(o),r.current=o)}),[o,r,i]),n}({defaultProp:t,onChange:n}),i=void 0!==e,a=i?e:o,l=s(n);return[a,y_.useCallback((t=>{if(i){const n="function"==typeof t?t(e):t;n!==e&&l(n)}else r(t)}),[i,e,r,l])]}function u(e){return y_.isValidElement(e)&&e.type===fi}function d(e,t){e&&D_.flushSync((()=>e.dispatchEvent(t)))}function p(){const e=new CustomEvent(Ci);document.dispatchEvent(e)}function m(e,t,n,{discrete:o}){const r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),o?d(r,i):r.dispatchEvent(i)}function f(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 g(e,t){for(const n of e)if(!h(n,{upTo:t}))return n}function h(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 C(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()}}function b(e,t){const n=[...e],o=n.indexOf(t);return-1!==o&&n.splice(o,1),n}function v(e){const[t,n]=y_.useState(),o=y_.useRef({}),r=y_.useRef(e),i=y_.useRef("none"),a=e?"mounted":"unmounted",[l,s]=function(e,t){return y_.useReducer(((e,n)=>t[e][n]??e),e)}(a,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y_.useEffect((()=>{const e=y(o.current);i.current="mounted"===l?e:"none"}),[l]),ci((()=>{const t=o.current,n=r.current;if(n!==e){const o=i.current,a=y(t);if(e)s("MOUNT");else if("none"===a||"none"===t?.display)s("UNMOUNT");else{s(n&&o!==a?"ANIMATION_OUT":"UNMOUNT")}r.current=e}}),[e,s]),ci((()=>{if(t){let e;const n=t.ownerDocument.defaultView??window,a=i=>{const a=y(o.current).includes(i.animationName);if(i.target===t&&a&&(s("ANIMATION_END"),!r.current)){const o=t.style.animationFillMode;t.style.animationFillMode="forwards",e=n.setTimeout((()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=o)}))}},l=e=>{e.target===t&&(i.current=y(o.current))};return t.addEventListener("animationstart",l),t.addEventListener("animationcancel",a),t.addEventListener("animationend",a),()=>{n.clearTimeout(e),t.removeEventListener("animationstart",l),t.removeEventListener("animationcancel",a),t.removeEventListener("animationend",a)}}s("ANIMATION_END")}),[t,s]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:y_.useCallback((e=>{e&&(o.current=getComputedStyle(e)),n(e)}),[])}}function y(e){return e?.animationName||"none"}function w(){y_.useEffect((()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??I()),document.body.insertAdjacentElement("beforeend",e[1]??I()),Li++,()=>{1===Li&&document.querySelectorAll("[data-radix-focus-guard]").forEach((e=>e.remove())),Li--}}),[])}function I(){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}function x(e,t){var n,o,r={};for(n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}function E(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}function _(e,t){var n,o,r,i=(n=null,o=function(t){return e.forEach((function(e){return E(e,t)}))},(r=I_((function(){return{value:n,callback:o,facade:{get current(){return r.value},set current(e){var t=r.value;t!==e&&(r.value=e,r.callback(e,t))}}}}))[0]).callback=o,r.facade);return ki((function(){var t,n,o,r=Fi.get(i);r&&(t=new Set(r),n=new Set(e),o=i.current,t.forEach((function(e){n.has(e)||E(e,null)})),n.forEach((function(e){t.has(e)||E(e,o)}))),Fi.set(i,e)}),[e]),i}function A(e){return e}function M(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}function R(e){return e?"open":"closed"}function V(){return V=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},V.apply(null,arguments)}function O({size:e="medium",className:t="",inheritColor:n=!1}){return w_.createElement("span",{className:si("demio-ui-loader",zl.loader,{[zl[e]]:e,[zl.inheritColor]:n,[t]:t})})}function S({className:e="",open:t,actionText:n="OK",onActionClick:o,cancelText:r="Cancel",onCancelClick:i,title:a,description:l="",showLoader:s=!1,isOkDisabled:c=!1,actionButtonType:u="danger",maxWidth:d="540px",onClose:p,isCloseButtonVisible:m=!0,...f}){return w_.createElement(Bl,{open:t,...f},w_.createElement(Gl,null,w_.createElement(Zl,{className:si("demio-ui-alert__overlay",Yl)}),w_.createElement(Dl,{className:si("demio-ui-alert",Ul,e),style:{maxWidth:d}},m&&w_.createElement("button",{className:si("demio-ui-alert__close-button",Jl),onClick:p||i,"data-testid":"close-button"},w_.createElement(Xl,null)),w_.createElement(kl,{className:si("demio-ui-alert__title",Ql)},a),l&&w_.createElement(Fl,{className:si("demio-ui-alert__description",Kl)},l),w_.createElement("div",{className:si("demio-ui-alert__action-buttons",ql)},w_.createElement(Tl,{asChild:!0},w_.createElement(eA,{onClick:i,variant:"outline"},r)),w_.createElement(Hl,{asChild:!0},w_.createElement(eA,{onClick:o,disabled:c,variant:u,showLoader:s},n))))))}function P(){return P=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},P.apply(null,arguments)}function N(){return N=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},N.apply(null,arguments)}function L(){return L=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},L.apply(null,arguments)}function B(){return B=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},B.apply(null,arguments)}function G(){return G=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},G.apply(null,arguments)}function Z(){return Z=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Z.apply(null,arguments)}function D(){return D=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},D.apply(null,arguments)}function H(){return H=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},H.apply(null,arguments)}function T(){return T=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},T.apply(null,arguments)}function k(){return k=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},k.apply(null,arguments)}function F(){return F=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},F.apply(null,arguments)}function W(){return W=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},W.apply(null,arguments)}function X(){return X=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},X.apply(null,arguments)}function z(){return z=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},z.apply(null,arguments)}function j(){return j=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},j.apply(null,arguments)}function Y(){return Y=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Y.apply(null,arguments)}function J(){return J=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},J.apply(null,arguments)}function U(){return U=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},U.apply(null,arguments)}function Q(){return Q=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Q.apply(null,arguments)}function K(){return K=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},K.apply(null,arguments)}function q(){return q=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},q.apply(null,arguments)}function $(){return $=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},$.apply(null,arguments)}function ee(){return ee=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ee.apply(null,arguments)}function te(){return te=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},te.apply(null,arguments)}function ne(){return ne=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ne.apply(null,arguments)}function oe(){return oe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},oe.apply(null,arguments)}function re(){return re=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},re.apply(null,arguments)}function ie(){return ie=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ie.apply(null,arguments)}function ae(){return ae=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ae.apply(null,arguments)}function le(){return le=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},le.apply(null,arguments)}function se(){return se=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},se.apply(null,arguments)}function ce(){return ce=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ce.apply(null,arguments)}function ue(){return ue=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ue.apply(null,arguments)}function de(){return de=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},de.apply(null,arguments)}function pe(){return pe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},pe.apply(null,arguments)}function me(){return me=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},me.apply(null,arguments)}function fe(){return fe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},fe.apply(null,arguments)}function ge(){return ge=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ge.apply(null,arguments)}function he(){return he=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},he.apply(null,arguments)}function Ce(){return Ce=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ce.apply(null,arguments)}function be(){return be=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},be.apply(null,arguments)}function ve(){return ve=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ve.apply(null,arguments)}function ye(){return ye=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ye.apply(null,arguments)}function we(){return we=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},we.apply(null,arguments)}function Ie(){return Ie=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ie.apply(null,arguments)}function xe(){return xe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},xe.apply(null,arguments)}function Ee(){return Ee=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ee.apply(null,arguments)}function _e(){return _e=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},_e.apply(null,arguments)}function Ae(){return Ae=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ae.apply(null,arguments)}function Me(){return Me=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Me.apply(null,arguments)}function Re(){return Re=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Re.apply(null,arguments)}function Ve(){return Ve=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ve.apply(null,arguments)}function Oe(){return Oe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Oe.apply(null,arguments)}function Se(){return Se=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Se.apply(null,arguments)}function Pe(){return Pe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Pe.apply(null,arguments)}function Ne(){return Ne=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ne.apply(null,arguments)}function Le(){return Le=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Le.apply(null,arguments)}function Be(){return Be=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Be.apply(null,arguments)}function Ge(){return Ge=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ge.apply(null,arguments)}function Ze(){return Ze=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ze.apply(null,arguments)}function De(){return De=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},De.apply(null,arguments)}function He(){return He=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},He.apply(null,arguments)}function Te(){return Te=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Te.apply(null,arguments)}function ke(){return ke=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ke.apply(null,arguments)}function Fe(){return Fe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Fe.apply(null,arguments)}function We(){return We=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},We.apply(null,arguments)}function Xe(){return Xe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Xe.apply(null,arguments)}function ze(){return ze=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ze.apply(null,arguments)}function je(){return je=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},je.apply(null,arguments)}function Ye(){return Ye=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ye.apply(null,arguments)}function Je(){return Je=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Je.apply(null,arguments)}function Ue(){return Ue=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ue.apply(null,arguments)}function Qe(){return Qe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Qe.apply(null,arguments)}function Ke(){return Ke=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ke.apply(null,arguments)}function qe(){return qe=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},qe.apply(null,arguments)}function $e(){return $e=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},$e.apply(null,arguments)}function et(){return et=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},et.apply(null,arguments)}function tt(){return tt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},tt.apply(null,arguments)}function nt(){return nt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},nt.apply(null,arguments)}function ot(){return ot=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ot.apply(null,arguments)}function rt(){return rt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},rt.apply(null,arguments)}function it(){return it=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},it.apply(null,arguments)}function at(){return at=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},at.apply(null,arguments)}function lt(){return lt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},lt.apply(null,arguments)}function st(){return st=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},st.apply(null,arguments)}function ct(){return ct=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ct.apply(null,arguments)}function ut(){return ut=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ut.apply(null,arguments)}function dt(){return dt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},dt.apply(null,arguments)}function pt(){return pt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},pt.apply(null,arguments)}function mt(){return mt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},mt.apply(null,arguments)}function ft(){return ft=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ft.apply(null,arguments)}function gt(){return gt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},gt.apply(null,arguments)}function ht(){return ht=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},ht.apply(null,arguments)}function Ct(){return Ct=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Ct.apply(null,arguments)}function bt(){return bt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},bt.apply(null,arguments)}function vt(){return vt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},vt.apply(null,arguments)}function yt(){return yt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},yt.apply(null,arguments)}function wt(){return wt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},wt.apply(null,arguments)}function It(){return It=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},It.apply(null,arguments)}function xt(){return xt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},xt.apply(null,arguments)}function Et(){return Et=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Et.apply(null,arguments)}function _t(){return _t=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},_t.apply(null,arguments)}function At(){return At=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},At.apply(null,arguments)}function Mt(){return Mt=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},Mt.apply(null,arguments)}function Rt(e){const t=y_.useRef({value:e,previous:e});return y_.useMemo((()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous)),[e])}function Vt(e){const[t,n]=y_.useState(void 0);return ci((()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});const t=new ResizeObserver((t=>{if(!Array.isArray(t))return;if(!t.length)return;const o=t[0];let r,i;if("borderBoxSize"in o){const e=o.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,i=t.blockSize}else r=e.offsetWidth,i=e.offsetHeight;n({width:r,height:i})}));return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)}),[e]),t}function Ot(e){return"indeterminate"===e}function St(e){return Ot(e)?"indeterminate":e?"checked":"unchecked"}function Pt({htmlFor:e,children:t,className:n="",weight:o="regular"}){return w_.createElement(mm,{htmlFor:e,className:si("demio-ui-label",fm,[fA(o)],{[n]:!!n})},t)}function Nt({children:e,type:t="hint",className:n=""}){return w_.createElement("div",{className:si("demio-ui-input-hint",ym,{[wm]:"error"===t,[n]:!!n}),"data-html":t},e)}function Lt(){var e,t,n,o,r;Mm||(Mm=!0,e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e),Hm=/\b(iPhone|iP[ao]d)/.exec(e),Tm=/\b(iP[ao]d)/.exec(e),Zm=/Android/i.exec(e),km=/FBAN\/\w+;/i.exec(e),Fm=/Mobile/i.exec(e),Dm=!!/Win64/.exec(e),t?((Rm=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN)&&document&&document.documentMode&&(Rm=document.documentMode),o=/(?:Trident\/(\d+.\d+))/.exec(e),Nm=o?parseFloat(o[1])+4:Rm,Vm=t[2]?parseFloat(t[2]):NaN,Om=t[3]?parseFloat(t[3]):NaN,(Sm=t[4]?parseFloat(t[4]):NaN)?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),Pm=t&&t[1]?parseFloat(t[1]):NaN):Pm=NaN):Rm=Vm=Om=Pm=Sm=NaN,n?(n[1]?(r=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e),Lm=!r||parseFloat(r[1].replace("_","."))):Lm=!1,Bm=!!n[2],Gm=!!n[3]):Lm=Bm=Gm=!1)}function Bt(e){var t=0,n=0,o=0,r=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),o=t*Qm,r=n*Qm,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(o=e.deltaX),(o||r)&&e.deltaMode&&(1==e.deltaMode?(o*=Km,r*=Km):(o*=qm,r*=qm)),o&&!t&&(t=o<1?-1:1),r&&!n&&(n=r<1?-1:1),{spinX:t,spinY:n,pixelX:o,pixelY:r}}function Gt(e,t,n,o,r){void 0===r&&(r=0);var i=Wt(t.width,t.height,r),a=i.width,l=i.height;return{x:Zt(e.x,a,n.width,o),y:Zt(e.y,l,n.height,o)}}function Zt(e,t,n,o){var r=t*o/2-n/2;return Xt(e,-r,r)}function Dt(e,t){return Math.sqrt(Math.pow(e.y-t.y,2)+Math.pow(e.x-t.x,2))}function Ht(e,t){return 180*Math.atan2(t.y-e.y,t.x-e.x)/Math.PI}function Tt(e,t){return Math.min(e,Math.max(0,t))}function kt(e,t){return t}function Ft(e,t){return{x:(t.x+e.x)/2,y:(t.y+e.y)/2}}function Wt(e,t,n){var o=n*Math.PI/180;return{width:Math.abs(Math.cos(o)*e)+Math.abs(Math.sin(o)*t),height:Math.abs(Math.sin(o)*e)+Math.abs(Math.cos(o)*t)}}function Xt(e,t,n){return Math.min(Math.max(e,t),n)}function zt(){var e,t=[];for(e=0;e<arguments.length;e++)t[e]=arguments[e];return t.filter((function(e){return"string"==typeof e&&e.length>0})).join(" ").trim()}function jt(e,[t,n]){return Math.min(n,Math.max(t,e))}function Yt(e){const t=y_.useContext(af);return e||t||"ltr"}function Jt(e){const n=e+"CollectionProvider",[o,r]=t(n),[a,l]=o(n,{collectionRef:{current:null},itemMap:new Map}),s=e=>{const{scope:t,children:n}=e,o=w_.useRef(null),r=w_.useRef(new Map).current;return B_(a,{scope:t,itemMap:r,collectionRef:o,children:n})};s.displayName=n;const c=e+"CollectionSlot",u=w_.forwardRef(((e,t)=>{const{scope:n,children:o}=e,r=i(t,l(c,n).collectionRef);return B_(pi,{ref:r,children:o})}));u.displayName=c;const d=e+"CollectionItemSlot",p="data-radix-collection-item",m=w_.forwardRef(((e,t)=>{const{scope:n,children:o,...r}=e,a=w_.useRef(null),s=i(t,a),c=l(d,n);return w_.useEffect((()=>(c.itemMap.set(a,{ref:a,...r}),()=>{c.itemMap.delete(a)}))),B_(pi,{[p]:"",ref:s,children:o})}));return m.displayName=d,[{Provider:s,Slot:u,ItemSlot:m},function(t){const n=l(e+"CollectionConsumer",t);return w_.useCallback((()=>{const e=n.collectionRef.current;if(!e)return[];const t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(n.itemMap.values()).sort(((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current)))}),[n.collectionRef,n.itemMap])},r]}function Ut(e,t,n){return jt(100/(n-t)*(e-t),[0,100])}function Qt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];const o=(t[1]-t[0])/(e[1]-e[0]);return t[0]+o*(n-e[0])}}function Kt({children:e=null,contentClassName:t="",isCloseButtonVisible:n=!0,onClose:o=()=>{},onOpenChange:r,open:i,overlayClassName:a="",title:l,isClosable:s=!0,portalContainer:c=document.body,...u}){return w_.createElement(cl,{open:i,onOpenChange:e=>{s&&r&&r(e)},"data-testid":"modal-overlay"},w_.createElement(dl,{container:c||void 0},w_.createElement(pl,{"data-testid":"modal-overlay",className:si(Qf,{[a]:!!a,[qf]:!l&&!n},"demio-ui-modal-overlay")},w_.createElement(ml,{...u,className:si(ng,{[t]:!!t},"demio-ui-modal-content"),"aria-describedby":void 0},w_.createElement("div",{className:si(Kf,"demio-ui-modal-header"),"data-html":"header"},w_.createElement(fl,{className:si(eg,{[tg]:!n},"demio-ui-modal-title"),"data-html":"title"},l),n&&w_.createElement(hl,{className:si($f,"demio-ui-modal-close-button"),onClick:()=>{r(!1),o()},"data-html":"close-btn","data-testid":"close-btn"},w_.createElement(Xl,null))),w_.createElement("div",{className:si(og,"demio-ui-modal-children"),"data-html":"content"},e)))))}function qt(e,t,n){return eM(e,$A(t,n))}function $t(e,t){return"function"==typeof e?e(t):e}function en(e){return e.split("-")[0]}function tn(e){return e.split("-")[1]}function nn(e){return"x"===e?"y":"x"}function on(e){return"y"===e?"height":"width"}function rn(e){return["top","bottom"].includes(en(e))?"y":"x"}function an(e){return nn(rn(e))}function ln(e){return e.replace(/start|end/g,(e=>iM[e]))}function sn(e){return e.replace(/left|right|bottom|top/g,(e=>rM[e]))}function cn(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 un(e){const{x:t,y:n,width:o,height:r}=e;return{width:o,height:r,top:n,left:t,right:t+o,bottom:n+r,x:t,y:n}}function dn(e,t,n){let{reference:o,floating:r}=e;const i=rn(t),a=an(t),l=on(a),s=en(t),c="y"===i,u=o.x+o.width/2-r.width/2,d=o.y+o.height/2-r.height/2,p=o[l]/2-r[l]/2;let m;switch(s){case"top":m={x:u,y:o.y-r.height};break;case"bottom":m={x:u,y:o.y+o.height};break;case"right":m={x:o.x+o.width,y:d};break;case"left":m={x:o.x-r.width,y:d};break;default:m={x:o.x,y:o.y}}switch(tn(t)){case"start":m[a]-=p*(n&&c?-1:1);break;case"end":m[a]+=p*(n&&c?-1:1)}return m}async function pn(e,t){var n;void 0===t&&(t={});const{x:o,y:r,platform:i,rects:a,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:p=!1,padding:m=0}=$t(t,e),f=cn(m),g=l[p?"floating"===d?"reference":"floating":d],h=un(await i.getClippingRect({element:null==(n=await(null==i.isElement?void 0:i.isElement(g)))||n?g:g.contextElement||await(null==i.getDocumentElement?void 0:i.getDocumentElement(l.floating)),boundary:c,rootBoundary:u,strategy:s})),C="floating"===d?{x:o,y:r,width:a.floating.width,height:a.floating.height}:a.reference,b=await(null==i.getOffsetParent?void 0:i.getOffsetParent(l.floating)),v=await(null==i.isElement?void 0:i.isElement(b))&&await(null==i.getScale?void 0:i.getScale(b))||{x:1,y:1},y=un(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:C,offsetParent:b,strategy:s}):C);return{top:(h.top-y.top+f.top)/v.y,bottom:(y.bottom-h.bottom+f.bottom)/v.y,left:(h.left-y.left+f.left)/v.x,right:(y.right-h.right+f.right)/v.x}}function mn(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function fn(e){return qA.some((t=>e[t]>=0))}function gn(){return"undefined"!=typeof window}function hn(e){return vn(e)?(e.nodeName||"").toLowerCase():"#document"}function Cn(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function bn(e){var t;return null==(t=(vn(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function vn(e){return!!gn()&&(e instanceof Node||e instanceof Cn(e).Node)}function yn(e){return!!gn()&&(e instanceof Element||e instanceof Cn(e).Element)}function wn(e){return!!gn()&&(e instanceof HTMLElement||e instanceof Cn(e).HTMLElement)}function In(e){return!(!gn()||"undefined"==typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof Cn(e).ShadowRoot)}function xn(e){const{overflow:t,overflowX:n,overflowY:o,display:r}=Vn(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(r)}function En(e){return["table","td","th"].includes(hn(e))}function _n(e){return[":popover-open",":modal"].some((t=>{try{return e.matches(t)}catch(vR){return!1}}))}function An(e){const t=Mn(),n=yn(e)?Vn(e):e;return["transform","translate","scale","rotate","perspective"].some((e=>!!n[e]&&"none"!==n[e]))||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","translate","scale","rotate","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function Mn(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function Rn(e){return["html","body","#document"].includes(hn(e))}function Vn(e){return Cn(e).getComputedStyle(e)}function On(e){return yn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Sn(e){if("html"===hn(e))return e;const t=e.assignedSlot||e.parentNode||In(e)&&e.host||bn(e);return In(t)?t.host:t}function Pn(e){const t=Sn(e);return Rn(t)?e.ownerDocument?e.ownerDocument.body:e.body:wn(t)&&xn(t)?t:Pn(t)}function Nn(e,t,n){var o;void 0===t&&(t=[]),void 0===n&&(n=!0);const r=Pn(e),i=r===(null==(o=e.ownerDocument)?void 0:o.body),a=Cn(r);if(i){const e=Ln(a);return t.concat(a,a.visualViewport||[],xn(r)?r:[],e&&n?Nn(e):[])}return t.concat(r,Nn(r,[],n))}function Ln(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Bn(e){const t=Vn(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const r=wn(e),i=r?e.offsetWidth:n,a=r?e.offsetHeight:o,l=tM(n)!==i||tM(o)!==a;return l&&(n=i,o=a),{width:n,height:o,$:l}}function Gn(e){return yn(e)?e:e.contextElement}function Zn(e){const t=Gn(e);if(!wn(t))return oM(1);const n=t.getBoundingClientRect(),{width:o,height:r,$:i}=Bn(t);let a=(i?tM(n.width):n.width)/o,l=(i?tM(n.height):n.height)/r;return a&&Number.isFinite(a)||(a=1),l&&Number.isFinite(l)||(l=1),{x:a,y:l}}function Dn(e){const t=Cn(e);return Mn()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:aM}function Hn(e,t,n,o){void 0===t&&(t=!1),void 0===n&&(n=!1);const r=e.getBoundingClientRect(),i=Gn(e);let a=oM(1);t&&(o?yn(o)&&(a=Zn(o)):a=Zn(e));const l=function(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==Cn(e))&&t}(i,n,o)?Dn(i):oM(0);let s=(r.left+l.x)/a.x,c=(r.top+l.y)/a.y,u=r.width/a.x,d=r.height/a.y;if(i){const e=Cn(i),t=o&&yn(o)?Cn(o):o;let n=e,r=Ln(n);for(;r&&o&&t!==n;){const e=Zn(r),t=r.getBoundingClientRect(),o=Vn(r),i=t.left+(r.clientLeft+parseFloat(o.paddingLeft))*e.x,a=t.top+(r.clientTop+parseFloat(o.paddingTop))*e.y;s*=e.x,c*=e.y,u*=e.x,d*=e.y,s+=i,c+=a,n=Cn(r),r=Ln(n)}}return un({width:u,height:d,x:s,y:c})}function Tn(e,t){const n=On(e).scrollLeft;return t?t.left+n:Hn(bn(e)).left+n}function kn(e,t,n){void 0===n&&(n=!1);const o=e.getBoundingClientRect();return{x:o.left+t.scrollLeft-(n?0:Tn(e,o)),y:o.top+t.scrollTop}}function Fn(e,t,n){let o;if("viewport"===t)o=function(e,t){const n=Cn(e),o=bn(e),r=n.visualViewport;let i=o.clientWidth,a=o.clientHeight,l=0,s=0;if(r){i=r.width,a=r.height;const e=Mn();(!e||e&&"fixed"===t)&&(l=r.offsetLeft,s=r.offsetTop)}return{width:i,height:a,x:l,y:s}}(e,n);else if("document"===t)o=function(e){const t=bn(e),n=On(e),o=e.ownerDocument.body,r=eM(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),i=eM(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let a=-n.scrollLeft+Tn(e);const l=-n.scrollTop;return"rtl"===Vn(o).direction&&(a+=eM(t.clientWidth,o.clientWidth)-r),{width:r,height:i,x:a,y:l}}(bn(e));else if(yn(t))o=function(e,t){const n=Hn(e,!0,"fixed"===t),o=n.top+e.clientTop,r=n.left+e.clientLeft,i=wn(e)?Zn(e):oM(1);return{width:e.clientWidth*i.x,height:e.clientHeight*i.y,x:r*i.x,y:o*i.y}}(t,n);else{const n=Dn(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return un(o)}function Wn(e,t){const n=Sn(e);return!(n===t||!yn(n)||Rn(n))&&("fixed"===Vn(n).position||Wn(n,t))}function Xn(e,t,n){const o=wn(t),r=bn(t),i="fixed"===n,a=Hn(e,!0,i,t);let l={scrollLeft:0,scrollTop:0};const s=oM(0);if(o||!o&&!i)if(("body"!==hn(t)||xn(r))&&(l=On(t)),o){const e=Hn(t,!0,i,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else r&&(s.x=Tn(r));const c=!r||o||i?oM(0):kn(r,l);return{x:a.left+l.scrollLeft-s.x-c.x,y:a.top+l.scrollTop-s.y-c.y,width:a.width,height:a.height}}function zn(e){return"static"===Vn(e).position}function jn(e,t){if(!wn(e)||"fixed"===Vn(e).position)return null;if(t)return t(e);let n=e.offsetParent;return bn(e)===n&&(n=n.ownerDocument.body),n}function Yn(e,t){const n=Cn(e);if(_n(e))return n;if(!wn(e)){let t=Sn(e);for(;t&&!Rn(t);){if(yn(t)&&!zn(t))return t;t=Sn(t)}return n}let o=jn(e,t);for(;o&&En(o)&&zn(o);)o=jn(o,t);return o&&Rn(o)&&zn(o)&&!An(o)?n:o||function(e){let t=Sn(e);for(;wn(t)&&!Rn(t);){if(An(t))return t;if(_n(t))return null;t=Sn(t)}return null}(e)||n}function Jn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Un(e,t,n,o){void 0===o&&(o={});const{ancestorScroll:r=!0,ancestorResize:i=!0,elementResize:a="function"==typeof ResizeObserver,layoutShift:l="function"==typeof IntersectionObserver,animationFrame:s=!1}=o,c=Gn(e),u=r||i?[...c?Nn(c):[],...Nn(t)]:[];u.forEach((e=>{r&&e.addEventListener("scroll",n,{passive:!0}),i&&e.addEventListener("resize",n)}));const d=c&&l?function(e,t){function n(){var e;clearTimeout(o),null==(e=r)||e.disconnect(),r=null}let o,r=null;const i=bn(e);return function a(l,s){function c(t){const n=t[0].intersectionRatio;if(n!==s){if(!h)return a();n?a(!1,n):o=setTimeout((()=>{a(!1,1e-7)}),1e3)}1!==n||Jn(u,e.getBoundingClientRect())||a(),h=!1}void 0===l&&(l=!1),void 0===s&&(s=1),n();const u=e.getBoundingClientRect(),{left:d,top:p,width:m,height:f}=u;if(l||t(),!m||!f)return;const g={rootMargin:-nM(p)+"px "+-nM(i.clientWidth-(d+m))+"px "+-nM(i.clientHeight-(p+f))+"px "+-nM(d)+"px",threshold:eM(0,$A(1,s))||1};let h=!0;try{r=new IntersectionObserver(c,{...g,root:i.ownerDocument})}catch(vR){r=new IntersectionObserver(c,g)}r.observe(e)}(!0),n}(c,n):null;let p,m=-1,f=null;a&&(f=new ResizeObserver((e=>{let[o]=e;o&&o.target===c&&f&&(f.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame((()=>{var e;null==(e=f)||e.observe(t)}))),n()})),c&&!s&&f.observe(c),f.observe(t));let g=s?Hn(e):null;return s&&function t(){const o=Hn(e);g&&!Jn(g,o)&&n(),g=o,p=requestAnimationFrame(t)}(),n(),()=>{var e;u.forEach((e=>{r&&e.removeEventListener("scroll",n),i&&e.removeEventListener("resize",n)})),null==d||d(),null==(e=f)||e.disconnect(),f=null,s&&cancelAnimationFrame(p)}}function Qn(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,o,r;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(o=n;0!=o--;)if(!Qn(e[o],t[o]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(o=n;0!=o--;)if(!{}.hasOwnProperty.call(t,r[o]))return!1;for(o=n;0!=o--;){const n=r[o];if(("_owner"!==n||!e.$$typeof)&&!Qn(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function Kn(e){if("undefined"==typeof window)return 1;return(e.ownerDocument.defaultView||window).devicePixelRatio||1}function qn(e,t){const n=Kn(e);return Math.round(t*n)/n}function $n(e){const t=y_.useRef(e);return ig((()=>{t.current=e})),t}function eo(e){return null!==e}function to(e){const[t,n="center"]=e.split("-");return[t,n]}function no(e,t=!1){const n=document.activeElement;for(const o of e){if(o===n)return;if(o.focus({preventScroll:t}),document.activeElement!==n)return}}function oo(e){return e?"open":"closed"}function ro(e){return"indeterminate"===e}function io(e){return ro(e)?"indeterminate":e?"checked":"unchecked"}function ao(e){return t=>"mouse"===t.pointerType?e(t):void 0}function lo({children:e,position:t="vertical",justify:n="start",alignItems:o="start",className:r}){return w_.createElement("div",{className:si("demio-ui-form-group",yC.formGroup,r,{[yC.horizontal]:"horizontal"===t,[yC.vertical]:"vertical"===t,[yC[n]]:!!n,[yC[`${o}AlignItems`]]:!!o})},e)}function so(e){return so="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},so(e)}function co(e){var t=function(e,t){var n,o;if("object"!=so(e)||!e)return e;if(void 0!==(n=e[Symbol.toPrimitive])){if("object"!=so(o=n.call(e,t)))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==so(t)?t:t+""}function uo(e,t,n){return(t=co(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function po(e,t){var n,o=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)),o}function mo(e){var t,n;for(t=1;t<arguments.length;t++)n=null!=arguments[t]?arguments[t]:{},t%2?po(Object(n),!0).forEach((function(t){uo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):po(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}));return e}function fo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function go(e,t){if(e){if("string"==typeof e)return fo(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fo(e,t):void 0}}function ho(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,o,r,i,a,l,s,c=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=c){a=[],l=!0,s=!1;try{if(r=(c=c.call(e)).next,0===t){if(Object(c)!==c)return;l=!1}else for(;!(l=(n=r.call(c)).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(e){s=!0,o=e}finally{try{if(!l&&null!=c.return&&(i=c.return(),Object(i)!==i))return}finally{if(s)throw o}}return a}}(e,t)||go(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Co(e,t){var n,o,r,i;if(null==e)return{};if(r=function(e,t){var n,o;if(null==e)return{};for(o in n={},e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;n[o]=e[o]}return n}(e,t),Object.getOwnPropertySymbols)for(i=Object.getOwnPropertySymbols(e),o=0;o<i.length;o++)n=i[o],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n]);return r}function bo(){return bo=Object.assign?Object.assign.bind():function(e){var t,n,o;for(t=1;t<arguments.length;t++)for(o in n=arguments[t])({}).hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},bo.apply(null,arguments)}function vo(e,t){var n,o;for(n=0;n<t.length;n++)(o=t[n]).enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,co(o.key),o)}function yo(e,t){return yo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},yo(e,t)}function wo(e){return wo=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},wo(e)}function Io(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Io=function(){return!!e})()}function xo(e,t){if(t&&("object"==so(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)}function Eo(e){return function(e){if(Array.isArray(e))return fo(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||go(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _o(e){return e.trim()}function Ao(e,t,n){return e.replace(t,n)}function Mo(e,t){return e.indexOf(t)}function Ro(e,t){return 0|e.charCodeAt(t)}function Vo(e,t,n){return e.slice(t,n)}function Oo(e){return e.length}function So(e){return e.length}function Po(e,t){return t.push(e),e}function No(e,t,n,o,r,i,a){return{value:e,root:t,parent:n,type:o,props:r,children:i,line:eb,column:tb,length:a,return:""}}function Lo(e,t){return $C(No("",null,null,"",null,null,0),e,{length:-e.length},t)}function Bo(){return rb=ob>0?Ro(ib,--ob):0,tb--,10===rb&&(tb=1,eb--),rb}function Go(){return rb=ob<nb?Ro(ib,ob++):0,tb++,10===rb&&(tb=1,eb++),rb}function Zo(){return Ro(ib,ob)}function Do(){return ob}function Ho(e,t){return Vo(ib,e,t)}function To(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ko(e){return eb=tb=1,nb=Oo(ib=e),ob=0,[]}function Fo(e){return ib="",e}function Wo(e){return _o(Ho(ob-1,jo(91===e?e+2:40===e?e+1:e)))}function Xo(e){for(;(rb=Zo())&&rb<33;)Go();return To(e)>2||To(rb)>3?"":" "}function zo(e,t){for(;--t&&Go()&&!(rb<48||rb>102||rb>57&&rb<65||rb>70&&rb<97););return Ho(e,Do()+(t<6&&32==Zo()&&32==Go()))}function jo(e){for(;Go();)switch(rb){case e:return ob;case 34:case 39:34!==e&&39!==e&&jo(rb);break;case 40:41===e&&jo(e);break;case 92:Go()}return ob}function Yo(e,t){for(;Go()&&e+rb!==57&&(e+rb!==84||47!==Zo()););return"/*"+Ho(t,ob-1)+"*"+qC(47===e?e:Go())}function Jo(e){for(;!To(Zo());)Go();return Ho(e,ob)}function Uo(e){return Fo(Qo("",null,null,null,[""],e=ko(e),0,[0],e))}function Qo(e,t,n,o,r,i,a,l,s){for(var c=0,u=0,d=a,p=0,m=0,f=0,g=1,h=1,C=1,b=0,v="",y=r,w=i,I=o,x=v;h;)switch(f=b,b=Go()){case 40:if(108!=f&&58==Ro(x,d-1)){-1!=Mo(x+=Ao(Wo(b),"&","&\f"),"&\f")&&(C=-1);break}case 34:case 39:case 91:x+=Wo(b);break;case 9:case 10:case 13:case 32:x+=Xo(f);break;case 92:x+=zo(Do()-1,7);continue;case 47:switch(Zo()){case 42:case 47:Po(qo(Yo(Go(),Do()),t,n),s);break;default:x+="/"}break;case 123*g:l[c++]=Oo(x)*C;case 125*g:case 59:case 0:switch(b){case 0:case 125:h=0;case 59+u:-1==C&&(x=Ao(x,/\f/g,"")),m>0&&Oo(x)-d&&Po(m>32?$o(x+";",o,n,d-1):$o(Ao(x," ","")+";",o,n,d-2),s);break;case 59:x+=";";default:if(Po(I=Ko(x,t,n,c,u,r,l,v,y=[],w=[],d),i),123===b)if(0===u)Qo(x,t,I,I,y,i,d,l,w);else switch(99===p&&110===Ro(x,3)?100:p){case 100:case 108:case 109:case 115:Qo(e,I,I,o&&Po(Ko(e,I,I,0,0,r,l,v,r,y=[],d),w),r,w,d,l,o?y:w);break;default:Qo(x,I,I,I,[""],w,0,l,w)}}c=u=m=0,g=C=1,v=x="",d=a;break;case 58:d=1+Oo(x),m=f;default:if(g<1)if(123==b)--g;else if(125==b&&0==g++&&125==Bo())continue;switch(x+=qC(b),b*g){case 38:C=u>0?1:(x+="\f",-1);break;case 44:l[c++]=(Oo(x)-1)*C,C=1;break;case 64:45===Zo()&&(x+=Wo(Go())),p=Zo(),u=d=Oo(v=x+=Jo(Do())),b++;break;case 45:45===f&&2==Oo(x)&&(g=0)}}return i}function Ko(e,t,n,o,r,i,a,l,s,c,u){var d,p,m,f,g,h,C=r-1,b=0===r?i:[""],v=So(b);for(d=0,p=0,m=0;d<o;++d)for(f=0,g=Vo(e,C+1,C=KC(p=a[d])),h=e;f<v;++f)(h=_o(p>0?b[f]+" "+g:Ao(g,/&\f/g,b[f])))&&(s[m++]=h);return No(e,t,n,0===r?jC:l,s,c,u)}function qo(e,t,n){return No(e,t,n,zC,qC(rb),Vo(e,2,-2),0)}function $o(e,t,n,o){return No(e,t,n,YC,Vo(e,0,o),Vo(e,o+1,-1),o)}function er(e,t){var n,o="",r=So(e);for(n=0;n<r;n++)o+=t(e[n],n,e,t)||"";return o}function tr(e,t,n,o){switch(e.type){case QC:if(e.children.length)break;case JC:case YC:return e.return=e.return||e.value;case zC:return"";case UC:return e.return=e.value+"{"+er(e.children,o)+"}";case jC:e.value=e.props.join(",")}return Oo(n=er(e.children,o))?e.return=e.value+"{"+n+"}":""}function nr(e){var t=So(e);return function(n,o,r,i){var a,l="";for(a=0;a<t;a++)l+=e[a](n,o,r,i)||"";return l}}function or(e){var t=Object.create(null);return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}function rr(e,t){switch(function(e,t){return 45^Ro(e,0)?(((t<<2^Ro(e,0))<<2^Ro(e,1))<<2^Ro(e,2))<<2^Ro(e,3):0}(e,t)){case 5103:return XC+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return XC+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return XC+e+WC+e+FC+e+e;case 6828:case 4268:return XC+e+FC+e+e;case 6165:return XC+e+FC+"flex-"+e+e;case 5187:return XC+e+Ao(e,/(\w+).+(:[^]+)/,XC+"box-$1$2"+FC+"flex-$1$2")+e;case 5443:return XC+e+FC+"flex-item-"+Ao(e,/flex-|-self/,"")+e;case 4675:return XC+e+FC+"flex-line-pack"+Ao(e,/align-content|flex-|-self/,"")+e;case 5548:return XC+e+FC+Ao(e,"shrink","negative")+e;case 5292:return XC+e+FC+Ao(e,"basis","preferred-size")+e;case 6060:return XC+"box-"+Ao(e,"-grow","")+XC+e+FC+Ao(e,"grow","positive")+e;case 4554:return XC+Ao(e,/([^-])(transform)/g,"$1"+XC+"$2")+e;case 6187:return Ao(Ao(Ao(e,/(zoom-|grab)/,XC+"$1"),/(image-set)/,XC+"$1"),e,"")+e;case 5495:case 3959:return Ao(e,/(image-set\([^]*)/,XC+"$1$`$1");case 4968:return Ao(Ao(e,/(.+:)(flex-)?(.*)/,XC+"box-pack:$3"+FC+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+XC+e+e;case 4095:case 3583:case 4068:case 2532:return Ao(e,/(.+)-inline(.+)/,XC+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Oo(e)-1-t>6)switch(Ro(e,t+1)){case 109:if(45!==Ro(e,t+4))break;case 102:return Ao(e,/(.+:)(.+)-([^]+)/,"$1"+XC+"$2-$3$1"+WC+(108==Ro(e,t+3)?"$3":"$2-$3"))+e;case 115:return~Mo(e,"stretch")?rr(Ao(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==Ro(e,t+1))break;case 6444:switch(Ro(e,Oo(e)-3-(~Mo(e,"!important")&&10))){case 107:return Ao(e,":",":"+XC)+e;case 101:return Ao(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+XC+(45===Ro(e,14)?"inline-":"")+"box$3$1"+XC+"$2$3$1"+FC+"$2box$3")+e}break;case 5936:switch(Ro(e,t+11)){case 114:return XC+e+FC+Ao(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return XC+e+FC+Ao(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return XC+e+FC+Ao(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return XC+e+FC+e+e}return e}function ir(e,t,n){var o,r,i,a,l,s;if(null==n)return"";if(void 0!==(o=n).__emotion_styles)return o;switch(typeof n){case"boolean":return"";case"object":if(1===(r=n).anim)return Vb={name:r.name,styles:r.styles,next:Vb},r.name;if(void 0!==(i=n).styles){if(void 0!==(a=i.next))for(;void 0!==a;)Vb={name:a.name,styles:a.styles,next:Vb},a=a.next;return i.styles+";"}return function(e,t,n){var o,r,i,a,l,s,c="";if(Array.isArray(n))for(o=0;o<n.length;o++)c+=ir(e,t,n[o])+";";else for(r in n)if("object"!=typeof(i=n[r]))_b(a=i)&&(c+=Ab(r)+":"+Mb(r,a)+";");else if(Array.isArray(i)&&"string"==typeof i[0]&&null==t)for(l=0;l<i.length;l++)_b(i[l])&&(c+=Ab(r)+":"+Mb(r,i[l])+";");else switch(s=ir(e,t,i),r){case"animation":case"animationName":c+=Ab(r)+":"+s+";";break;default:c+=r+"{"+s+"}"}return c}(e,t,n);case"function":if(void 0!==e)return l=Vb,s=n(e),Vb=l,ir(e,t,s)}return n}function ar(e,t,n){var o,r,i,a,l,s,c;if(1===e.length&&"object"==typeof e[0]&&null!==e[0]&&void 0!==e[0].styles)return e[0];for(o=!0,r="",Vb=void 0,null==(i=e[0])||void 0===i.raw?(o=!1,r+=ir(n,t,i)):r+=i[0],a=1;a<e.length;a++)r+=ir(n,t,e[a]),o&&(r+=i[a]);for(Rb.lastIndex=0,l="";null!==(s=Rb.exec(r));)l+="-"+s[1];return c=function(e){for(var t,n=0,o=0,r=e.length;r>=4;++o,r-=4)t=1540483477*(65535&(t=255&e.charCodeAt(o)|(255&e.charCodeAt(++o))<<8|(255&e.charCodeAt(++o))<<16|(255&e.charCodeAt(++o))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(r){case 3:n^=(255&e.charCodeAt(o+2))<<16;case 2:n^=(255&e.charCodeAt(o+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(o)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)}(r)+l,{name:c,styles:r,next:Vb}}function lr(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return ar(t)}function sr(e,t){return t?"-"===t[0]?e+t:e+"__"+t:e}function cr(e,t){var n,o,r,i,a;for(n=arguments.length,o=new Array(n>2?n-2:0),r=2;r<n;r++)o[r-2]=arguments[r];if(i=[].concat(o),t&&e)for(a in t)t.hasOwnProperty(a)&&t[a]&&i.push("".concat(sr(e,a)));return i.filter((function(e){return e})).map((function(e){return String(e).trim()})).join(" ")}function ur(e){return[document.documentElement,document.body,window].indexOf(e)>-1}function dr(e){return ur(e)?window.pageYOffset:e.scrollTop}function pr(e,t){ur(e)?window.scrollTo(0,t):e.scrollTop=t}function mr(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Jb,r=dr(e),i=t-r,a=10,l=0;!function t(){var s,c=i*((s=(s=l+=a)/n-1)*s*s+1)+r;pr(e,c),l<n?window.requestAnimationFrame(t):o(e)}()}function fr(e,t){var n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),r=t.offsetHeight/3;o.bottom+r>n.bottom?pr(e,Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+r,e.scrollHeight)):o.top-r<n.top&&pr(e,Math.max(t.offsetTop-r,0))}function gr(){try{return document.createEvent("TouchEvent"),!0}catch(vR){return!1}}function hr(e){return null!=e}function Cr(e,t,n){return e?t:n}function br(e){var t,n,o,r,i,a,l,s,c,u,d,p,m,f,g,h,C,b,v,y,w,I=e.maxHeight,x=e.menuEl,E=e.minHeight,_=e.placement,A=e.shouldScroll,M=e.isFixedPosition,R=e.controlHeight,V=function(e){var t,n=getComputedStyle(e),o="absolute"===n.position,r=/(auto|scroll)/;if("fixed"===n.position)return document.documentElement;for(t=e;t=t.parentElement;)if(n=getComputedStyle(t),(!o||"static"!==n.position)&&r.test(n.overflow+n.overflowY+n.overflowX))return t;return document.documentElement}(x),O={placement:"bottom",maxHeight:I};if(!x||!x.offsetParent)return O;switch(t=V.getBoundingClientRect().height,o=(n=x.getBoundingClientRect()).bottom,r=n.height,i=n.top,a=x.offsetParent.getBoundingClientRect().top,l=M?window.innerHeight:ur(w=V)?window.innerHeight:w.clientHeight,s=dr(V),c=parseInt(getComputedStyle(x).marginBottom,10),p=l-i,m=(d=a-(u=parseInt(getComputedStyle(x).marginTop,10)))+s,f=t-s-i,g=o-l+s+c,h=s+i-u,C=160,_){case"auto":case"bottom":if(p>=r)return{placement:"bottom",maxHeight:I};if(f>=r&&!M)return A&&mr(V,g,C),{placement:"bottom",maxHeight:I};if(!M&&f>=E||M&&p>=E)return A&&mr(V,g,C),{placement:"bottom",maxHeight:M?p-c:f-c};if("auto"===_||M)return b=I,(v=M?d:m)>=E&&(b=Math.min(v-c-R,I)),{placement:"top",maxHeight:b};if("bottom"===_)return A&&pr(V,g),{placement:"bottom",maxHeight:I};break;case"top":return d>=r?{placement:"top",maxHeight:I}:m>=r&&!M?(A&&mr(V,h,C),{placement:"top",maxHeight:I}):!M&&m>=E||M&&d>=E?(y=I,(!M&&m>=E||M&&d>=E)&&(y=M?d-u:m-u),A&&mr(V,h,C),{placement:"top",maxHeight:y}):{placement:"bottom",maxHeight:I};default:throw new Error('Invalid placement provided "'.concat(_,'".'))}return O}function vr(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(o=e[n],r=t[n],!(o===r||my(o)&&my(r)))return!1;var o,r;return!0}function yr(e){var t=e.innerRef,n=Co(e,Oy),o=nv(n,"onExited","in","enter","exit","appear");return Xb("input",bo({ref:t},o,{css:lr({label:"dummyInput",background:0,border:0,caretColor:"transparent",fontSize:"inherit",gridArea:"1 / 1 / 2 / 3",outline:0,padding:0,width:1,color:"transparent",left:-100,opacity:0,position:"relative",transform:"scale(.01)"},"production"===process.env.NODE_ENV?"":";label:DummyInput;","production"===process.env.NODE_ENV?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCTSIsImZpbGUiOiJEdW1teUlucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgSlNYLCBSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyByZW1vdmVQcm9wcyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRHVtbXlJbnB1dCh7XG4gIGlubmVyUmVmLFxuICAuLi5wcm9wc1xufTogSlNYLkludHJpbnNpY0VsZW1lbnRzWydpbnB1dCddICYge1xuICByZWFkb25seSBpbm5lclJlZjogUmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xufSkge1xuICAvLyBSZW1vdmUgYW5pbWF0aW9uIHByb3BzIG5vdCBtZWFudCBmb3IgSFRNTCBlbGVtZW50c1xuICBjb25zdCBmaWx0ZXJlZFByb3BzID0gcmVtb3ZlUHJvcHMoXG4gICAgcHJvcHMsXG4gICAgJ29uRXhpdGVkJyxcbiAgICAnaW4nLFxuICAgICdlbnRlcicsXG4gICAgJ2V4aXQnLFxuICAgICdhcHBlYXInXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8aW5wdXRcbiAgICAgIHJlZj17aW5uZXJSZWZ9XG4gICAgICB7Li4uZmlsdGVyZWRQcm9wc31cbiAgICAgIGNzcz17e1xuICAgICAgICBsYWJlbDogJ2R1bW15SW5wdXQnLFxuICAgICAgICAvLyBnZXQgcmlkIG9mIGFueSBkZWZhdWx0IHN0eWxlc1xuICAgICAgICBiYWNrZ3JvdW5kOiAwLFxuICAgICAgICBib3JkZXI6IDAsXG4gICAgICAgIC8vIGltcG9ydGFudCEgdGhpcyBoaWRlcyB0aGUgZmxhc2hpbmcgY3Vyc29yXG4gICAgICAgIGNhcmV0Q29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgIGZvbnRTaXplOiAnaW5oZXJpdCcsXG4gICAgICAgIGdyaWRBcmVhOiAnMSAvIDEgLyAyIC8gMycsXG4gICAgICAgIG91dGxpbmU6IDAsXG4gICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgIC8vIGltcG9ydGFudCEgd2l0aG91dCBgd2lkdGhgIGJyb3dzZXJzIHdvbid0IGFsbG93IGZvY3VzXG4gICAgICAgIHdpZHRoOiAxLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gZGVza3RvcFxuICAgICAgICBjb2xvcjogJ3RyYW5zcGFyZW50JyxcblxuICAgICAgICAvLyByZW1vdmUgY3Vyc29yIG9uIG1vYmlsZSB3aGlsc3QgbWFpbnRhaW5pbmcgXCJzY3JvbGwgaW50byB2aWV3XCIgYmVoYXZpb3VyXG4gICAgICAgIGxlZnQ6IC0xMDAsXG4gICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSguMDEpJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKTtcbn1cbiJdfQ== */")}))}function wr(e){e.cancelable&&e.preventDefault()}function Ir(e){e.stopPropagation()}function xr(){var e=this.scrollTop,t=this.scrollHeight,n=e+this.offsetHeight;0===e?this.scrollTop=1:n===t&&(this.scrollTop=e-1)}function Er(){return"ontouchstart"in window||navigator.maxTouchPoints}function _r(e){var t=e.children,n=e.lockEnabled,o=e.captureEnabled,r=void 0===o||o,i=e.onBottomArrive,a=e.onBottomLeave,l=e.onTopArrive,s=e.onTopLeave,c=function(e){var t=e.isEnabled,n=e.onBottomArrive,o=e.onBottomLeave,r=e.onTopArrive,i=e.onTopLeave,a=__(!1),l=__(!1),s=__(0),c=__(null),u=A_((function(e,t){var s,u,d,p,m,f,g,h;null!==c.current&&(u=(s=c.current).scrollTop,d=s.scrollHeight,p=s.clientHeight,m=c.current,f=t>0,h=!1,(g=d-p-u)>t&&a.current&&(o&&o(e),a.current=!1),f&&l.current&&(i&&i(e),l.current=!1),f&&t>g?(n&&!a.current&&n(e),m.scrollTop=d,h=!0,a.current=!0):!f&&-t>u&&(r&&!l.current&&r(e),m.scrollTop=0,h=!0,l.current=!0),h&&Sy(e))}),[n,o,r,i]),d=A_((function(e){u(e,e.deltaY)}),[u]),p=A_((function(e){s.current=e.changedTouches[0].clientY}),[]),m=A_((function(e){var t=s.current-e.changedTouches[0].clientY;u(e,t)}),[u]),f=A_((function(e){if(e){var t=!!tv&&{passive:!1};e.addEventListener("wheel",d,t),e.addEventListener("touchstart",p,t),e.addEventListener("touchmove",m,t)}}),[m,p,d]),g=A_((function(e){e&&(e.removeEventListener("wheel",d,!1),e.removeEventListener("touchstart",p,!1),e.removeEventListener("touchmove",m,!1))}),[m,p,d]);return M_((function(){if(t){var e=c.current;return f(e),function(){g(e)}}}),[t,f,g]),function(e){c.current=e}}({isEnabled:r,onBottomArrive:i,onBottomLeave:a,onTopArrive:l,onTopLeave:s}),u=function(e){var t=e.isEnabled,n=e.accountForScrollbars,o=void 0===n||n,r=__({}),i=__(null),a=A_((function(e){var t,n,i,a,l;Ly&&(t=document.body,n=t&&t.style,o&&Py.forEach((function(e){var t=n&&n[e];r.current[e]=t})),o&&By<1&&(i=parseInt(r.current.paddingRight,10)||0,a=document.body?document.body.clientWidth:0,l=window.innerWidth-a+i||0,Object.keys(Ny).forEach((function(e){var t=Ny[e];n&&(n[e]=t)})),n&&(n.paddingRight="".concat(l,"px"))),t&&Er()&&(t.addEventListener("touchmove",wr,Gy),e&&(e.addEventListener("touchstart",xr,Gy),e.addEventListener("touchmove",Ir,Gy))),By+=1)}),[o]),l=A_((function(e){var t,n;Ly&&(t=document.body,n=t&&t.style,By=Math.max(By-1,0),o&&By<1&&Py.forEach((function(e){var t=r.current[e];n&&(n[e]=t)})),t&&Er()&&(t.removeEventListener("touchmove",wr,Gy),e&&(e.removeEventListener("touchstart",xr,Gy),e.removeEventListener("touchmove",Ir,Gy))))}),[o]);return M_((function(){if(t){var e=i.current;return a(e),function(){l(e)}}}),[t,a,l]),function(e){i.current=e}}({isEnabled:n}),d=function(e){c(e),u(e)};return Xb(N_,null,n&&Xb("div",{onClick:Zy,css:Dy}),t(d))}function Ar(e){var t;return"undefined"!=typeof window&&null!=window.navigator&&e.test((null===(t=window.navigator.userAgentData)||void 0===t?void 0:t.platform)||window.navigator.platform)}function Mr(){return Ar(/^Mac/i)}function Rr(){return Ar(/^iPhone/i)||Ar(/^iPad/i)||Mr()&&navigator.maxTouchPoints>1}function Vr(e,t,n,o){var r=Lr(e,t,n),i=Br(e,t,n),a=Ky(e,t),l=qy(e,t);return{type:"option",data:t,isDisabled:r,isSelected:i,label:a,value:l,index:o}}function Or(e,t){return e.options.map((function(n,o){var r,i;return"options"in n?(r=n.options.map((function(n,o){return Vr(e,n,t,o)})).filter((function(t){return Nr(e,t)})),r.length>0?{type:"group",data:n,options:r,index:o}:void 0):(i=Vr(e,n,t,o),Nr(e,i)?i:void 0)})).filter(hr)}function Sr(e){return e.reduce((function(e,t){return"group"===t.type?e.push.apply(e,Eo(t.options.map((function(e){return e.data})))):e.push(t.data),e}),[])}function Pr(e,t){return e.reduce((function(e,n){return"group"===n.type?e.push.apply(e,Eo(n.options.map((function(e){return{data:e.data,id:"".concat(t,"-").concat(n.index,"-").concat(e.index)}})))):e.push({data:n.data,id:"".concat(t,"-").concat(n.index)}),e}),[])}function Nr(e,t){var n=e.inputValue,o=void 0===n?"":n,r=t.data,i=t.isSelected,a=t.label,l=t.value;return(!$y(e)||!i)&&Gr(e,{label:a,value:l,data:r},o)}function Lr(e,t,n){return"function"==typeof e.isOptionDisabled&&e.isOptionDisabled(t,n)}function Br(e,t,n){if(n.indexOf(t)>-1)return!0;if("function"==typeof e.isOptionSelected)return e.isOptionSelected(t,n);var o=qy(e,t);return n.some((function(t){return qy(e,t)===o}))}function Gr(e,t,n){return!e.filterOption||e.filterOption(t,n)}function Zr(e){return e?"open":"closed"}function Dr(e,t){return`${Math.round(e/t*100)}%`}function Hr(e,t){return null==e?"indeterminate":e===t?"complete":"loading"}function Tr(e){return"number"==typeof e}function kr(e){return Tr(e)&&!isNaN(e)&&e>0}function Fr(e,t){return Tr(e)&&!isNaN(e)&&e<=t&&e>=0}function Wr({max:e=100,progress:t=0,className:n="",...o}){const r=t>e?"100%":t/e*100+"%";return w_.createElement(bI,{className:si("demio-ui-progress",yI,{className:!!n}),value:t>e?e:t,max:e,...o},w_.createElement(vI,{className:wI,style:{width:r}}))}function Xr(e){return e?"checked":"unchecked"}function zr({items:e=[],error:t="",defaultValue:n="",ariaLabel:o="",hint:r="",onChange:i,disabled:a=!1,value:l="",className:s="",...c}){const u=O_((()=>i?{value:l,onValueChange:i}:{}),[l,i]);return w_.createElement(GI,{...u,...c,className:si("demio-ui-radio-group",HI.root,{[HI.error]:!!t,[s]:!!s}),defaultValue:n,"aria-label":o},e.map((e=>w_.createElement("div",{key:e.id,className:si(HI.container,{[HI.disabled]:e.disabled||a})},w_.createElement(ZI,{className:HI.item,value:e.value,disabled:e.disabled||a,id:e.id},w_.createElement(DI,{className:HI.indicator})),w_.createElement(Pt,{className:HI.label,htmlFor:e.id,weight:"regular"},e.label)))),w_.createElement("div",{className:HI.footer},t&&w_.createElement(Nt,{type:"error"},t),r&&!t&&w_.createElement(Nt,null,r)))}function jr(e){return""===e||void 0===e}function Yr(e){const t=s(e),n=y_.useRef(""),o=y_.useRef(0),r=y_.useCallback((e=>{const r=n.current+e;t(r),function e(t){n.current=t,window.clearTimeout(o.current),""!==t&&(o.current=window.setTimeout((()=>e("")),1e3))}(r)}),[t]),i=y_.useCallback((()=>{n.current="",window.clearTimeout(o.current)}),[]);return y_.useEffect((()=>()=>window.clearTimeout(o.current)),[]),[n,r,i]}function Jr(e,t,n){const o=t.length>1&&Array.from(t).every((e=>e===t[0])),r=o?t[0]:t,i=n?e.indexOf(n):-1;let a=(l=e,s=Math.max(i,0),l.map(((e,t)=>l[(s+t)%l.length])));var l,s;1===r.length&&(a=a.filter((e=>e!==n)));const c=a.find((e=>e.textValue.toLowerCase().startsWith(r.toLowerCase())));return c!==n?c:void 0}function Ur(e){return e?"checked":"unchecked"}function Qr({className:e="",id:t="",disabled:n=!1,required:o=!1,name:r,...i}){return w_.createElement(Xx,{className:si(jx,"demio-ui-switch",{[e]:!!e}),disabled:n,required:o,name:r,id:t||r,...i},w_.createElement(zx,{className:Yx}))}function Kr(e,t){return`${e}-trigger-${t}`}function qr(e,t){return`${e}-content-${t}`}function $r({children:e,className:t="",...n}){return w_.createElement(oE,{...n,className:si(lE,"demio-ui-tabs",{[t]:t})},e)}function ei({children:e,className:t=""}){return w_.createElement(rE,{className:si(sE,"demio-ui-tabs-list",{[t]:t})},e)}function ti({children:e,className:t="",...n}){return w_.createElement(iE,{...n,className:si(cE,{[t]:t})},e)}function ni({children:e,value:t,className:n=""}){return w_.createElement(aE,{value:t,className:si(uE,"demio-ui-tabs-tab",{[n]:n})},e)}function oi({children:e,onDelete:t=null,className:n=""}){return w_.createElement("div",{className:si(dE,"demio-ui-tag-container",n)},e,Boolean(t)&&w_.createElement("button",{type:"button",onClick:t,className:si(pE,"demio-ui-tag-delete-button")},w_.createElement(Xl,null)))}function ri({align:e="center",alignOffset:t=0,children:n,className:o="",collisionBoundary:r,container:i,content:a,defaultOpen:l,delayDuration:s=200,isCustomTrigger:c=!1,isPortal:u=!1,isTriggerAsChild:d=!0,open:p,onOpenChange:m,side:f="top",sideOffset:g=4,skipDelayDuration:h=300,...C}){const[b,v]=I_(l),y=p??b,w=w_.createElement(ZE,{sideOffset:g,alignOffset:t,side:f,align:e,collisionBoundary:r,...C,className:si(HE,"demio-ui-tooltip",{[o]:o})},a,w_.createElement(DE,{className:kE,width:11,height:5}));return a?w_.createElement(NE,{skipDelayDuration:h,delayDuration:s},w_.createElement(LE,{defaultOpen:l,onOpenChange:e=>{m&&m(e),v(e)},open:y},w_.createElement(BE,{asChild:c||d},c?w_.createElement("div",{className:si("demio-ui-tooltip-trigger",TE)},n):n),u?w_.createElement(GE,{container:i},w):w)):n}function ii({align:e="center",alignOffset:t=0,children:n,className:o="",collisionBoundary:r,container:i,content:a,side:l="top",sideOffset:s=4,...c}){return"ontouchstart"in window||navigator.maxTouchPoints>0?w_.createElement(LR,{content:a,contentProps:{side:l,align:e,sideOffset:s,alignOffset:t,collisionBoundary:r},...c,showArrow:!0,asChild:!0,container:i,contentClassName:si(HE,o,"demio-ui-tooltip")},n):w_.createElement(ri,{align:e,alignOffset:t,children:n,className:o,collisionBoundary:r,container:i,content:a,side:l,sideOffset:s,...c})}var ai,li,si,ci,ui,di,pi,mi,fi,gi,hi,Ci,bi,vi,yi,wi,Ii,xi,Ei,_i,Ai,Mi,Ri,Vi,Oi,Si,Pi,Ni,Li,Bi,Gi,Zi,Di,Hi,Ti,ki,Fi,Wi,Xi,zi,ji,Yi,Ji,Ui,Qi,Ki,qi,$i,ea,ta,na,oa,ra,ia,aa,la,sa,ca,ua,da,pa,ma,fa,ga,ha,Ca,ba,va,ya,wa,Ia,xa,Ea,_a,Aa,Ma,Ra,Va,Oa,Sa,Pa,Na,La,Ba,Ga,Za,Da,Ha,Ta,ka,Fa,Wa,Xa,za,ja,Ya,Ja,Ua,Qa,Ka,qa,$a,el,tl,nl,ol,rl,il,al,ll,sl,cl,ul,dl,pl,ml,fl,gl,hl,Cl,bl,vl,yl,wl,Il,xl,El,_l,Al,Ml,Rl,Vl,Ol,Sl,Pl,Nl,Ll,Bl,Gl,Zl,Dl,Hl,Tl,kl,Fl,Wl,Xl,zl,jl,Yl,Jl,Ul,Ql,Kl,ql,$l,es,ts,ns,os,rs,is,as,ls,ss,cs,us,ds,ps,ms,fs,gs,hs,Cs,bs,vs,ys,ws,Is,xs,Es,_s,As,Ms,Rs,Vs,Os,Ss,Ps,Ns,Ls,Bs,Gs,Zs,Ds,Hs,Ts,ks,Fs,Ws,Xs,zs,js,Ys,Js,Us,Qs,Ks,qs,$s,ec,tc,nc,oc,rc,ic,ac,lc,sc,cc,uc,dc,pc,mc,fc,gc,hc,Cc,bc,vc,yc,wc,Ic,xc,Ec,_c,Ac,Mc,Rc,Vc,Oc,Sc,Pc,Nc,Lc,Bc,Gc,Zc,Dc,Hc,Tc,kc,Fc,Wc,Xc,zc,jc,Yc,Jc,Uc,Qc,Kc,qc,$c,eu,tu,nu,ou,ru,iu,au,lu,su,cu,uu,du,pu,mu,fu,gu,hu,Cu,bu,vu,yu,wu,Iu,xu,Eu,_u,Au,Mu,Ru,Vu,Ou,Su,Pu,Nu,Lu,Bu,Gu,Zu,Du,Hu,Tu,ku,Fu,Wu,Xu,zu,ju,Yu,Ju,Uu,Qu,Ku,qu,$u,ed,td,nd,od,rd,id,ad,ld,sd,cd,ud,dd,pd,md,fd,gd,hd,Cd,bd,vd,yd,wd,Id,xd,Ed,_d,Ad,Md,Rd,Vd,Od,Sd,Pd,Nd,Ld,Bd,Gd,Zd,Dd,Hd,Td,kd,Fd,Wd,Xd,zd,jd,Yd,Jd,Ud,Qd,Kd,qd,$d,ep,tp,np,op,rp,ip,ap,lp,sp,cp,up,dp,pp,mp,fp,gp,hp,Cp,bp,vp,yp,wp,Ip,xp,Ep,_p,Ap,Mp,Rp,Vp,Op,Sp,Pp,Np,Lp,Bp,Gp,Zp,Dp,Hp,Tp,kp,Fp,Wp,Xp,zp,jp,Yp,Jp,Up,Qp,Kp,qp,$p,em,tm,nm,om,rm,im,am,lm,sm,cm,um,dm,pm,mm,fm,gm,hm,Cm,bm,vm,ym,wm,Im,xm,Em,_m,Am,Mm,Rm,Vm,Om,Sm,Pm,Nm,Lm,Bm,Gm,Zm,Dm,Hm,Tm,km,Fm,Wm,Xm,zm,jm,Ym,Jm,Um,Qm,Km,qm,$m,ef,tf,nf,of,rf,af,lf,sf,cf,uf,df,pf,mf,ff,gf,hf,Cf,bf,vf,yf,wf,If,xf,Ef,_f,Af,Mf,Rf,Vf,Of,Sf,Pf,Nf,Lf,Bf,Gf,Zf,Df,Hf,Tf,kf,Ff,Wf,Xf,zf,jf,Yf,Jf,Uf,Qf,Kf,qf,$f,eg,tg,ng,og,rg,ig,ag,lg,sg,cg,ug,dg,pg,mg,fg,gg,hg,Cg,bg,vg,yg,wg,Ig,xg,Eg,_g,Ag,Mg,Rg,Vg,Og,Sg,Pg,Ng,Lg,Bg,Gg,Zg,Dg,Hg,Tg,kg,Fg,Wg,Xg,zg,jg,Yg,Jg,Ug,Qg,Kg,qg,$g,eh,th,nh,oh,rh,ih,ah,lh,sh,ch,uh,dh,ph,mh,fh,gh,hh,Ch,bh,vh,yh,wh,Ih,xh,Eh,_h,Ah,Mh,Rh,Vh,Oh,Sh,Ph,Nh,Lh,Bh,Gh,Zh,Dh,Hh,Th,kh,Fh,Wh,Xh,zh,jh,Yh,Jh,Uh,Qh,Kh,qh,$h,eC,tC,nC,oC,rC,iC,aC,lC,sC,cC,uC,dC,pC,mC,fC,gC,hC,CC,bC,vC,yC,wC,IC,xC,EC,_C,AC,MC,RC,VC,OC,SC,PC,NC,LC,BC,GC,ZC,DC,HC,TC,kC,FC,WC,XC,zC,jC,YC,JC,UC,QC,KC,qC,$C,eb,tb,nb,ob,rb,ib,ab,lb,sb,cb,ub,db,pb,mb,fb,gb,hb,Cb,bb,vb,yb,wb,Ib,xb,Eb,_b,Ab,Mb,Rb,Vb,Ob,Sb,Pb,Nb,Lb,Bb,Gb,Zb,Db,Hb,Tb,kb,Fb,Wb,Xb,zb,jb,Yb,Jb,Ub,Qb,Kb,qb,$b,ev,tv,nv,ov,rv,iv,av,lv,sv,cv,uv,dv,pv,mv,fv,gv,hv,Cv,bv,vv,yv,wv,Iv,xv,Ev,_v,Av,Mv,Rv,Vv,Ov,Sv,Pv,Nv,Lv,Bv,Gv,Zv,Dv,Hv,Tv,kv,Fv,Wv,Xv,zv,jv,Yv,Jv,Uv,Qv,Kv,qv,$v,ey,ty,ny,oy,ry,iy,ay,ly,sy,cy,uy,dy,py,my,fy,gy,hy,Cy,by,vy,yy,wy,Iy,xy,Ey,_y,Ay,My,Ry,Vy,Oy,Sy,Py,Ny,Ly,By,Gy,Zy,Dy,Hy,Ty,ky,Fy,Wy,Xy,zy,jy,Yy,Jy,Uy,Qy,Ky,qy,$y,ew,tw,nw,ow,rw,iw,aw,lw,sw,cw,uw,dw,pw,mw,fw,gw,hw,Cw,bw,vw,yw,ww,Iw,xw,Ew,_w,Aw,Mw,Rw,Vw,Ow,Sw,Pw,Nw,Lw,Bw,Gw,Zw,Dw,Hw,Tw,kw,Fw,Ww,Xw,zw,jw,Yw,Jw,Uw,Qw,Kw,qw,$w,eI,tI,nI,oI,rI,iI,aI,lI,sI,cI,uI,dI,pI,mI,fI,gI,hI,CI,bI,vI,yI,wI,II,xI,EI,_I,AI,MI,RI,VI,OI,SI,PI,NI,LI,BI,GI,ZI,DI,HI,TI,kI,FI,WI,XI,zI,jI,YI,JI,UI,QI,KI,qI,$I,ex,tx,nx,ox,rx,ix,ax,lx,sx,cx,ux,dx,px,mx,fx,gx,hx,Cx,bx,vx,yx,wx,Ix,xx,Ex,_x,Ax,Mx,Rx,Vx,Ox,Sx,Px,Nx,Lx,Bx,Gx,Zx,Dx,Hx,Tx,kx,Fx,Wx,Xx,zx,jx,Yx,Jx,Ux,Qx,Kx,qx,$x,eE,tE,nE,oE,rE,iE,aE,lE,sE,cE,uE,dE,pE,mE,fE,gE,hE,CE,bE,vE,yE,wE,IE,xE,EE,_E,AE,ME,RE,VE,OE,SE,PE,NE,LE,BE,GE,ZE,DE,HE,TE,kE,FE,WE,XE,zE,jE,YE,JE,UE,QE,KE,qE,$E,e_,t_,n_,o_,r_,i_,a_,l_,s_,c_,u_,d_,p_,m_,f_,g_,h_,C_,b_,v_;import*as y_ from"react";import w_,{useState as I_,forwardRef as x_,memo as E_,useRef as __,useCallback as A_,useEffect as M_,useLayoutEffect as R_,useContext as V_,useMemo as O_,createContext as S_,Component as P_,Fragment as N_,useImperativeHandle as L_}from"react";import{jsx as B_,Fragment as G_,jsxs as Z_}from"react/jsx-runtime";import*as D_ from"react-dom";import H_,{createPortal as T_}from"react-dom";import{createRoot as k_}from"react-dom/client";if(b_=ai={exports:{}},function(){function e(){var e,o,r="";for(e=0;e<arguments.length;e++)(o=arguments[e])&&(r=n(r,t(o)));return r}function t(t){var r,i;if("string"==typeof t||"number"==typeof t)return t;if("object"!=typeof t)return"";if(Array.isArray(t))return e.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();for(i in r="",t)o.call(t,i)&&t[i]&&(r=n(r,i));return r}function n(e,t){return t?e?e+" "+t:e+t:e}var o={}.hasOwnProperty;b_.exports?(e.default=e,b_.exports=e):window.classNames=e}(),li=ai.exports,si=e(li),ci=Boolean(globalThis?.document)?y_.useLayoutEffect:()=>{},ui=y_["useId".toString()]||(()=>{}),di=0,(pi=y_.forwardRef(((e,t)=>{const{children:n,...o}=e,r=y_.Children.toArray(n),i=r.find(u);if(i){const e=i.props.children,n=r.map((t=>t===i?y_.Children.count(e)>1?y_.Children.only(null):y_.isValidElement(e)?e.props.children:null:t));return B_(mi,{...o,ref:t,children:y_.isValidElement(e)?y_.cloneElement(e,void 0,n):null})}return B_(mi,{...o,ref:t,children:n})}))).displayName="Slot",(mi=y_.forwardRef(((e,t)=>{const{children:n,...o}=e;if(y_.isValidElement(n)){const e=function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}(n),i=function(e,t){const n={...t};for(const o in t){const r=e[o],i=t[o];/^on[A-Z]/.test(o)?r&&i?n[o]=(...e)=>{i(...e),r(...e)}:r&&(n[o]=r):"style"===o?n[o]={...r,...i}:"className"===o&&(n[o]=[r,i].filter(Boolean).join(" "))}return{...e,...n}}(o,n.props);return n.type!==y_.Fragment&&(i.ref=t?r(t,e):e),y_.cloneElement(n,i)}return y_.Children.count(n)>1?y_.Children.only(null):null}))).displayName="SlotClone",fi=({children:e})=>B_(G_,{children:e}),gi=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"].reduce(((e,t)=>{const n=y_.forwardRef(((e,n)=>{const{asChild:o,...r}=e,i=o?pi:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),B_(i,{...r,ref:n})}));return n.displayName=`Primitive.${t}`,{...e,[t]:n}}),{}),hi="DismissableLayer",Ci="dismissableLayer.update",bi="dismissableLayer.pointerDownOutside",vi="dismissableLayer.focusOutside",wi=y_.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Ii=y_.forwardRef(((e,t)=>{const{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:l,onInteractOutside:c,onDismiss:u,...d}=e,f=y_.useContext(wi),[g,h]=y_.useState(null),C=g?.ownerDocument??globalThis?.document,[,b]=y_.useState({}),v=i(t,(e=>h(e))),y=Array.from(f.layers),[w]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),I=y.indexOf(w),x=g?y.indexOf(g):-1,E=f.layersWithOutsidePointerEventsDisabled.size>0,_=x>=I,A=function(e,t=globalThis?.document){const n=s(e),o=y_.useRef(!1),r=y_.useRef((()=>{}));return y_.useEffect((()=>{const e=e=>{if(e.target&&!o.current){let o=function(){m(bi,n,i,{discrete:!0})};const i={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",r.current),r.current=o,t.addEventListener("click",r.current,{once:!0})):o()}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=[...f.branches].some((e=>e.contains(t)));_&&!n&&(r?.(e),c?.(e),e.defaultPrevented||u?.())}),C),M=function(e,t=globalThis?.document){const n=s(e),o=y_.useRef(!1);return y_.useEffect((()=>{const e=e=>{e.target&&!o.current&&m(vi,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;[...f.branches].some((e=>e.contains(t)))||(l?.(e),c?.(e),e.defaultPrevented||u?.())}),C);return function(e,t=globalThis?.document){const n=s(e);y_.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=>{x===f.layers.size-1&&(o?.(e),!e.defaultPrevented&&u&&(e.preventDefault(),u()))}),C),y_.useEffect((()=>{if(g)return n&&(0===f.layersWithOutsidePointerEventsDisabled.size&&(yi=C.body.style.pointerEvents,C.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(g)),f.layers.add(g),p(),()=>{n&&1===f.layersWithOutsidePointerEventsDisabled.size&&(C.body.style.pointerEvents=yi)}}),[g,C,n,f]),y_.useEffect((()=>()=>{g&&(f.layers.delete(g),f.layersWithOutsidePointerEventsDisabled.delete(g),p())}),[g,f]),y_.useEffect((()=>{const e=()=>b({});return document.addEventListener(Ci,e),()=>document.removeEventListener(Ci,e)}),[]),B_(gi.div,{...d,ref:v,style:{pointerEvents:E?_?"auto":"none":void 0,...e.style},onFocusCapture:a(e.onFocusCapture,M.onFocusCapture),onBlurCapture:a(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:a(e.onPointerDownCapture,A.onPointerDownCapture)})})),Ii.displayName=hi,xi="DismissableLayerBranch",Ei=y_.forwardRef(((e,t)=>{const n=y_.useContext(wi),o=y_.useRef(null),r=i(t,o);return y_.useEffect((()=>{const e=o.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}}),[n.branches]),B_(gi.div,{...e,ref:r})})),Ei.displayName=xi,_i="focusScope.autoFocusOnMount",Ai="focusScope.autoFocusOnUnmount",Mi={bubbles:!1,cancelable:!0},Ri="FocusScope",Vi=y_.forwardRef(((e,t)=>{const{loop:n=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:a,...l}=e,[c,u]=y_.useState(null),d=s(r),p=s(a),m=y_.useRef(null),h=i(t,(e=>u(e))),b=y_.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y_.useEffect((()=>{if(o){let e=function(e){if(b.paused||!c)return;const t=e.target;c.contains(t)?m.current=t:C(m.current,{select:!0})},t=function(e){if(b.paused||!c)return;const t=e.relatedTarget;null!==t&&(c.contains(t)||C(m.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(const t of e)t.removedNodes.length>0&&C(c)};document.addEventListener("focusin",e),document.addEventListener("focusout",t);const o=new MutationObserver(n);return c&&o.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),o.disconnect()}}}),[o,c,b.paused]),y_.useEffect((()=>{if(c){Oi.add(b);const t=document.activeElement;if(!c.contains(t)){const n=new CustomEvent(_i,Mi);c.addEventListener(_i,d),c.dispatchEvent(n),n.defaultPrevented||(!function(e,{select:t=!1}={}){const n=document.activeElement;for(const o of e)if(C(o,{select:t}),document.activeElement!==n)return}((e=f(c),e.filter((e=>"A"!==e.tagName))),{select:!0}),document.activeElement===t&&C(c))}return()=>{c.removeEventListener(_i,d),setTimeout((()=>{const e=new CustomEvent(Ai,Mi);c.addEventListener(Ai,p),c.dispatchEvent(e),e.defaultPrevented||C(t??document.body,{select:!0}),c.removeEventListener(Ai,p),Oi.remove(b)}),0)}}var e}),[c,d,p,b]);const v=y_.useCallback((e=>{if(!n&&!o)return;if(b.paused)return;const t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=document.activeElement;if(t&&r){const t=e.currentTarget,[o,i]=function(e){const t=f(e);return[g(t,e),g(t.reverse(),e)]}(t);o&&i?e.shiftKey||r!==i?e.shiftKey&&r===o&&(e.preventDefault(),n&&C(i,{select:!0})):(e.preventDefault(),n&&C(o,{select:!0})):r===t&&e.preventDefault()}}),[n,o,b.paused]);return B_(gi.div,{tabIndex:-1,...l,ref:h,onKeyDown:v})})),Vi.displayName=Ri,Oi=function(){let e=[];return{add(t){const n=e[0];t!==n&&n?.pause(),e=b(e,t),e.unshift(t)},remove(t){e=b(e,t),e[0]?.resume()}}}(),Si="Portal",(Pi=y_.forwardRef(((e,t)=>{const{container:n,...o}=e,[r,i]=y_.useState(!1);ci((()=>i(!0)),[]);const a=n||r&&globalThis?.document?.body;return a?H_.createPortal(B_(gi.div,{...o,ref:t}),a):null}))).displayName=Si,(Ni=e=>{const{present:t,children:n}=e,o=v(t),r="function"==typeof n?n({present:o.isPresent}):y_.Children.only(n),a=i(o.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}(r));return"function"==typeof n||o.isPresent?y_.cloneElement(r,{ref:a}):null}).displayName="Presence",Li=0,Bi=function(e,t){return Bi=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])},Bi(e,t)},Gi=function(){return Gi=Object.assign||function(e){var t,n,o,r;for(n=1,o=arguments.length;n<o;n++)for(r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},Gi.apply(this,arguments)},"function"==typeof SuppressedError&&SuppressedError,Zi="right-scroll-bar-position",Di="width-before-scroll-bar",Hi="with-scroll-bars-hidden",Ti="--removed-body-scroll-bar-size",ki="undefined"!=typeof window?y_.useLayoutEffect:y_.useEffect,Fi=new WeakMap,(Wi=function(e){var t,n=e.sideCar,o=x(e,["sideCar"]);if(!n)throw new Error("Sidecar: please provide `sideCar` property to import the right car");if(!(t=n.read()))throw new Error("Sidecar medium not found");return y_.createElement(t,Gi({},o))}).isSideCarExport=!0,Xi=function(e){void 0===e&&(e={});var t=function(e,t){var n,o;return void 0===t&&(t=A),n=[],o=!1,{read:function(){if(o)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 r=t(e,o);return n.push(r),function(){n=n.filter((function(e){return e!==r}))}},assignSyncMedium:function(e){for(o=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){var t,r,i,a;o=!0,t=[],n.length&&(r=n,n=[],r.forEach(e),t=n),i=function(){var n=t;t=[],n.forEach(e)},(a=function(){return Promise.resolve().then(i)})(),n={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),n}}}}}(null);return t.options=Gi({async:!0,ssr:!1},e),t}(),zi=function(){},ji=y_.forwardRef((function(e,t){var n=y_.useRef(null),o=y_.useState({onScrollCapture:zi,onWheelCapture:zi,onTouchMoveCapture:zi}),r=o[0],i=o[1],a=e.forwardProps,l=e.children,s=e.className,c=e.removeScrollBar,u=e.enabled,d=e.shards,p=e.sideCar,m=e.noIsolation,f=e.inert,g=e.allowPinchZoom,h=e.as,C=void 0===h?"div":h,b=e.gapMode,v=x(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as","gapMode"]),y=p,w=_([n,t]),I=Gi(Gi({},v),r);return y_.createElement(y_.Fragment,null,u&&y_.createElement(y,{sideCar:Xi,removeScrollBar:c,shards:d,noIsolation:m,inert:f,setCallbacks:i,allowPinchZoom:!!g,lockRef:n,gapMode:b}),a?y_.cloneElement(y_.Children.only(l),Gi(Gi({},I),{ref:w})):y_.createElement(C,Gi({},I,{className:s,ref:w}),l))})),ji.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},ji.classNames={fullWidth:Di,zeroRight:Zi},Yi=function(){if("undefined"!=typeof __webpack_nonce__)return __webpack_nonce__},Ji=function(){var e=0,t=null;return{add:function(n){var o,r;0==e&&(t=document?((o=document.createElement("style")).type="text/css",(r=Yi())&&o.setAttribute("nonce",r),o):null)&&(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)}}},Ui=function(){var e=Ji();return function(t,n){y_.useEffect((function(){return e.add(t),function(){e.remove()}}),[t&&n])}},Qi=function(){var e=Ui(),t=function(t){var n=t.styles,o=t.dynamic;return e(n,o),null};return t},Ki={left:0,top:0,right:0,gap:0},qi=function(e){return parseInt(e||"",10)||0},$i=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],o=t["padding"===e?"paddingTop":"marginTop"],r=t["padding"===e?"paddingRight":"marginRight"];return[qi(n),qi(o),qi(r)]},ea=function(e){var t,n,o;return void 0===e&&(e="margin"),"undefined"==typeof window?Ki:(t=$i(e),n=document.documentElement.clientWidth,o=window.innerWidth,{left:t[0],top:t[1],right:t[2],gap:Math.max(0,o-n+t[2]-t[0])})},ta=Qi(),na="data-scroll-locked",oa=function(e,t,n,o){var r=e.left,i=e.top,a=e.right,l=e.gap;return void 0===n&&(n="margin"),"\n .".concat(Hi," {\n overflow: hidden ").concat(o,";\n padding-right: ").concat(l,"px ").concat(o,";\n }\n body[").concat(na,"] {\n overflow: hidden ").concat(o,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(o,";"),"margin"===n&&"\n padding-left: ".concat(r,"px;\n padding-top: ").concat(i,"px;\n padding-right: ").concat(a,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(o,";\n "),"padding"===n&&"padding-right: ".concat(l,"px ").concat(o,";")].filter(Boolean).join(""),"\n }\n \n .").concat(Zi," {\n right: ").concat(l,"px ").concat(o,";\n }\n \n .").concat(Di," {\n margin-right: ").concat(l,"px ").concat(o,";\n }\n \n .").concat(Zi," .").concat(Zi," {\n right: 0 ").concat(o,";\n }\n \n .").concat(Di," .").concat(Di," {\n margin-right: 0 ").concat(o,";\n }\n \n body[").concat(na,"] {\n ").concat(Ti,": ").concat(l,"px;\n }\n")},ra=function(){var e=parseInt(document.body.getAttribute(na)||"0",10);return isFinite(e)?e:0},ia=function(){y_.useEffect((function(){return document.body.setAttribute(na,(ra()+1).toString()),function(){var e=ra()-1;e<=0?document.body.removeAttribute(na):document.body.setAttribute(na,e.toString())}}),[])},aa=function(e){var t,n=e.noRelative,o=e.noImportant,r=e.gapMode,i=void 0===r?"margin":r;return ia(),t=y_.useMemo((function(){return ea(i)}),[i]),y_.createElement(ta,{styles:oa(t,!n,i,o?"":"!important")})},la=!1,"undefined"!=typeof window)try{sa=Object.defineProperty({},"passive",{get:function(){return la=!0,!0}}),window.addEventListener("test",sa,sa),window.removeEventListener("test",sa,sa)}catch(ZV){la=!1}ca=!!la&&{passive:!1},ua=function(e){return"TEXTAREA"===e.tagName},da=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&!(n.overflowY===n.overflowX&&!ua(e)&&"visible"===n[t])},pa=function(e){return da(e,"overflowY")},ma=function(e){return da(e,"overflowX")},fa=function(e,t){var n,o=t.ownerDocument,r=t;do{if("undefined"!=typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),Ca(e,r)&&(n=ba(e,r))[1]>n[2])return!0;r=r.parentNode}while(r&&r!==o.body);return!1},ga=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},ha=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},Ca=function(e,t){return"v"===e?pa(t):ma(t)},ba=function(e,t){return"v"===e?ga(t):ha(t)},va=function(e,t){return"h"===e&&"rtl"===t?-1:1},ya=function(e,t,n,o,r){var i,a,l,s=va(e,window.getComputedStyle(t).direction),c=s*o,u=n.target,d=t.contains(u),p=!1,m=c>0,f=0,g=0;do{a=(i=ba(e,u))[0],l=i[1]-i[2]-s*a,(a||l)&&Ca(e,u)&&(f+=l,g+=a),u=u instanceof ShadowRoot?u.host:u.parentNode}while(!d&&u!==document.body||d&&(t.contains(u)||t===u));return(m&&Math.abs(f)<1||!m&&Math.abs(g)<1)&&(p=!0),p},wa=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Ia=function(e){return[e.deltaX,e.deltaY]},xa=function(e){return e&&"current"in e?e.current:e},Ea=function(e,t){return e[0]===t[0]&&e[1]===t[1]},_a=function(e){return"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")},Aa=0,Ma=[],v_=function(e){var t,n,o,r,i,a,l,s,c=y_.useRef([]),u=y_.useRef([0,0]),d=y_.useRef(),p=y_.useState(Aa++)[0],m=y_.useState(Qi)[0],f=y_.useRef(e);return y_.useEffect((function(){f.current=e}),[e]),y_.useEffect((function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(p));var t=function(e,t,n){if(n||2===arguments.length)for(var o,r=0,i=t.length;r<i;r++)!o&&r in t||(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}([e.lockRef.current],(e.shards||[]).map(xa),!0).filter(Boolean);return t.forEach((function(e){return e.classList.add("allow-interactivity-".concat(p))})),function(){document.body.classList.remove("block-interactivity-".concat(p)),t.forEach((function(e){return e.classList.remove("allow-interactivity-".concat(p))}))}}}),[e.inert,e.lockRef.current,e.shards]),t=y_.useCallback((function(e,t){var n,o,r,i,a,l,s,c,p;return"touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey?!f.current.allowPinchZoom:(n=wa(e),o=u.current,r="deltaX"in e?e.deltaX:o[0]-n[0],i="deltaY"in e?e.deltaY:o[1]-n[1],l=e.target,s=Math.abs(r)>Math.abs(i)?"h":"v",(!("touches"in e)||"h"!==s||"range"!==l.type)&&(!(c=fa(s,l))||(c?a=s:(a="v"===s?"h":"v",c=fa(s,l)),!!c&&(!d.current&&"changedTouches"in e&&(r||i)&&(d.current=a),!a||(p=d.current||a,ya(p,t,e,"h"===p?r:i))))))}),[]),n=y_.useCallback((function(e){var n,o,r,i=e;Ma.length&&Ma[Ma.length-1]===m&&(n="deltaY"in i?Ia(i):wa(i),(o=c.current.filter((function(e){return e.name===i.type&&(e.target===i.target||i.target===e.shadowParent)&&Ea(e.delta,n)}))[0])&&o.should?i.cancelable&&i.preventDefault():o||(r=(f.current.shards||[]).map(xa).filter(Boolean).filter((function(e){return e.contains(i.target)})),(r.length>0?t(i,r[0]):!f.current.noIsolation)&&i.cancelable&&i.preventDefault()))}),[]),o=y_.useCallback((function(e,t,n,o){var r={name:e,delta:t,target:n,should:o,shadowParent:M(n)};c.current.push(r),setTimeout((function(){c.current=c.current.filter((function(e){return e!==r}))}),1)}),[]),r=y_.useCallback((function(e){u.current=wa(e),d.current=void 0}),[]),i=y_.useCallback((function(n){o(n.type,Ia(n),n.target,t(n,e.lockRef.current))}),[]),a=y_.useCallback((function(n){o(n.type,wa(n),n.target,t(n,e.lockRef.current))}),[]),y_.useEffect((function(){return Ma.push(m),e.setCallbacks({onScrollCapture:i,onWheelCapture:i,onTouchMoveCapture:a}),document.addEventListener("wheel",n,ca),document.addEventListener("touchmove",n,ca),document.addEventListener("touchstart",r,ca),function(){Ma=Ma.filter((function(e){return e!==m})),document.removeEventListener("wheel",n,ca),document.removeEventListener("touchmove",n,ca),document.removeEventListener("touchstart",r,ca)}}),[]),l=e.removeScrollBar,s=e.inert,y_.createElement(y_.Fragment,null,s?y_.createElement(m,{styles:_a(p)}):null,l?y_.createElement(aa,{gapMode:e.gapMode}):null)},Xi.useMedium(v_),Ra=Wi,(Va=y_.forwardRef((function(e,t){return y_.createElement(ji,Gi({},e,{ref:t,sideCar:Ra}))}))).classNames=ji.classNames,Oa=function(e){return"undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Sa=new WeakMap,Pa=new WeakMap,Na={},La=0,Ba=function(e){return e&&(e.host||Ba(e.parentNode))},Ga=function(e,t){return t.map((function(t){if(e.contains(t))return t;var n=Ba(t);return n&&e.contains(n)?n:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)})).filter((function(e){return Boolean(e)}))},Za=function(e,t,n,o){var r,i,a,l,s,c,u=Ga(t,Array.isArray(e)?e:[e]);return Na[n]||(Na[n]=new WeakMap),r=Na[n],i=[],a=new Set,l=new Set(u),s=function(e){e&&!a.has(e)&&(a.add(e),s(e.parentNode))},u.forEach(s),c=function(e){e&&!l.has(e)&&Array.prototype.forEach.call(e.children,(function(e){var t,l,s,u;if(a.has(e))c(e);else try{l=null!==(t=e.getAttribute(o))&&"false"!==t,s=(Sa.get(e)||0)+1,u=(r.get(e)||0)+1,Sa.set(e,s),r.set(e,u),i.push(e),1===s&&l&&Pa.set(e,!0),1===u&&e.setAttribute(n,"true"),l||e.setAttribute(o,"true")}catch(vR){console.error("aria-hidden: cannot operate on ",e,vR)}}))},c(t),a.clear(),La++,function(){i.forEach((function(e){var t=Sa.get(e)-1,i=r.get(e)-1;Sa.set(e,t),r.set(e,i),t||(Pa.has(e)||e.removeAttribute(o),Pa.delete(e)),i||e.removeAttribute(n)})),--La||(Sa=new WeakMap,Sa=new WeakMap,Pa=new WeakMap,Na={})}},Da=function(e,t,n){var o,r;return void 0===n&&(n="data-aria-hidden"),o=Array.from(Array.isArray(e)?e:[e]),(r=Oa(e))?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live]"))),Za(o,r,n,"aria-hidden")):function(){return null}},Ha="Dialog";var[F_,W_]=t(Ha),[X_,z_]=F_(Ha);(Ta=e=>{const{__scopeDialog:t,children:n,open:o,defaultOpen:r,onOpenChange:i,modal:a=!0}=e,s=y_.useRef(null),u=y_.useRef(null),[d=!1,p]=c({prop:o,defaultProp:r,onChange:i});return B_(X_,{scope:t,triggerRef:s,contentRef:u,contentId:l(),titleId:l(),descriptionId:l(),open:d,onOpenChange:p,onOpenToggle:y_.useCallback((()=>p((e=>!e))),[p]),modal:a,children:n})}).displayName=Ha,ka="DialogTrigger",(Fa=y_.forwardRef(((e,t)=>{const{__scopeDialog:n,...o}=e,r=z_(ka,n),l=i(t,r.triggerRef);return B_(gi.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":R(r.open),...o,ref:l,onClick:a(e.onClick,r.onOpenToggle)})}))).displayName=ka,Wa="DialogPortal";var[j_,Y_]=F_(Wa,{forceMount:void 0});(Xa=e=>{const{__scopeDialog:t,forceMount:n,children:o,container:r}=e,i=z_(Wa,t);return B_(j_,{scope:t,forceMount:n,children:y_.Children.map(o,(e=>B_(Ni,{present:n||i.open,children:B_(Pi,{asChild:!0,container:r,children:e})})))})}).displayName=Wa,za="DialogOverlay",(ja=y_.forwardRef(((e,t)=>{const n=Y_(za,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,i=z_(za,e.__scopeDialog);return i.modal?B_(Ni,{present:o||i.open,children:B_(Ya,{...r,ref:t})}):null}))).displayName=za,Ya=y_.forwardRef(((e,t)=>{const{__scopeDialog:n,...o}=e,r=z_(za,n);return B_(Va,{as:pi,allowPinchZoom:!0,shards:[r.contentRef],children:B_(gi.div,{"data-state":R(r.open),...o,ref:t,style:{pointerEvents:"auto",...o.style}})})})),Ja="DialogContent",(Ua=y_.forwardRef(((e,t)=>{const n=Y_(Ja,e.__scopeDialog),{forceMount:o=n.forceMount,...r}=e,i=z_(Ja,e.__scopeDialog);return B_(Ni,{present:o||i.open,children:i.modal?B_(Qa,{...r,ref:t}):B_(Ka,{...r,ref:t})})}))).displayName=Ja,Qa=y_.forwardRef(((e,t)=>{const n=z_(Ja,e.__scopeDialog),o=y_.useRef(null),r=i(t,n.contentRef,o);return y_.useEffect((()=>{const e=o.current;if(e)return Da(e)}),[]),B_(qa,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:a(e.onCloseAutoFocus,(e=>{e.preventDefault(),n.triggerRef.current?.focus()})),onPointerDownOutside:a(e.onPointerDownOutside,(e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()})),onFocusOutside:a(e.onFocusOutside,(e=>e.preventDefault()))})})),Ka=y_.forwardRef(((e,t)=>{const n=z_(Ja,e.__scopeDialog),o=y_.useRef(!1),r=y_.useRef(!1);return B_(qa,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||n.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(r.current=!0));const i=t.target,a=n.triggerRef.current?.contains(i);a&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&r.current&&t.preventDefault()}})})),qa=y_.forwardRef(((e,t)=>{const{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:a,...l}=e,s=z_(Ja,n),c=y_.useRef(null),u=i(t,c);return w(),Z_(G_,{children:[B_(Vi,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:a,children:B_(Ii,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":R(s.open),...l,ref:u,onDismiss:()=>s.onOpenChange(!1)})}),Z_(G_,{children:[B_(al,{titleId:s.titleId}),B_(sl,{contentRef:c,descriptionId:s.descriptionId})]})]})})),$a="DialogTitle",(el=y_.forwardRef(((e,t)=>{const{__scopeDialog:n,...o}=e,r=z_($a,n);return B_(gi.h2,{id:r.titleId,...o,ref:t})}))).displayName=$a,tl="DialogDescription",(nl=y_.forwardRef(((e,t)=>{const{__scopeDialog:n,...o}=e,r=z_(tl,n);return B_(gi.p,{id:r.descriptionId,...o,ref:t})}))).displayName=tl,ol="DialogClose",(rl=y_.forwardRef(((e,t)=>{const{__scopeDialog:n,...o}=e,r=z_(ol,n);return B_(gi.button,{type:"button",...o,ref:t,onClick:a(e.onClick,(()=>r.onOpenChange(!1)))})}))).displayName=ol,il="DialogTitleWarning";var[J_,U_]=function(e,t){const n=y_.createContext(t),o=e=>{const{children:t,...o}=e,r=y_.useMemo((()=>o),Object.values(o));return B_(n.Provider,{value:r,children:t})};return o.displayName=e+"Provider",[o,function(o){const r=y_.useContext(n);if(r)return r;if(void 0!==t)return t;throw new Error(`\`${o}\` must be used within \`${e}\``)}]}(il,{contentName:Ja,titleName:$a,docsSlug:"dialog"});al=({titleId:e})=>{const t=U_(il),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return y_.useEffect((()=>{if(e){document.getElementById(e)||console.error(n)}}),[n,e]),null},ll="DialogDescriptionWarning",sl=({contentRef:e,descriptionId:t})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${U_(ll).contentName}}.`;return y_.useEffect((()=>{const o=e.current?.getAttribute("aria-describedby");if(t&&o){document.getElementById(t)||console.warn(n)}}),[n,e,t]),null},cl=Ta,ul=Fa,dl=Xa,pl=ja,ml=Ua,fl=el,gl=nl,hl=rl,Cl="AlertDialog";var[Q_,K_]=t(Cl,[W_]);bl=W_(),(vl=e=>{const{__scopeAlertDialog:t,...n}=e,o=bl(t);return B_(cl,{...o,...n,modal:!0})}).displayName=Cl,yl="AlertDialogTrigger",y_.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...o}=e,r=bl(n);return B_(ul,{...r,...o,ref:t})})).displayName=yl,(wl=e=>{const{__scopeAlertDialog:t,...n}=e,o=bl(t);return B_(dl,{...o,...n})}).displayName="AlertDialogPortal",Il="AlertDialogOverlay",(xl=y_.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...o}=e,r=bl(n);return B_(pl,{...r,...o,ref:t})}))).displayName=Il,El="AlertDialogContent";var[q_,$_]=Q_(El);(_l=y_.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,children:o,...r}=e,l=bl(n),s=y_.useRef(null),c=i(t,s),u=y_.useRef(null);return B_(J_,{contentName:El,titleName:Al,docsSlug:"alert-dialog",children:B_(q_,{scope:n,cancelRef:u,children:Z_(ml,{role:"alertdialog",...l,...r,ref:c,onOpenAutoFocus:a(r.onOpenAutoFocus,(e=>{e.preventDefault(),u.current?.focus({preventScroll:!0})})),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[B_(fi,{children:o}),B_(Ll,{contentRef:s})]})})})}))).displayName=El,Al="AlertDialogTitle",(Ml=y_.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...o}=e,r=bl(n);return B_(fl,{...r,...o,ref:t})}))).displayName=Al,Rl="AlertDialogDescription",(Vl=y_.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...o}=e,r=bl(n);return B_(gl,{...r,...o,ref:t})}))).displayName=Rl,Ol="AlertDialogAction",(Sl=y_.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...o}=e,r=bl(n);return B_(hl,{...r,...o,ref:t})}))).displayName=Ol,Pl="AlertDialogCancel",(Nl=y_.forwardRef(((e,t)=>{const{__scopeAlertDialog:n,...o}=e,{cancelRef:r}=$_(Pl,n),a=bl(n),l=i(t,r);return B_(hl,{...a,...o,ref:l})}))).displayName=Pl,Ll=({contentRef:e})=>{const t=`\`${El}\` requires a description for the component to be accessible for screen reader users.\n\nYou can add a description to the \`${El}\` by passing a \`${Rl}\` component as a child, which also benefits sighted users by adding visible context to the dialog.\n\nAlternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${El}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return y_.useEffect((()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)}),[t,e]),null},Bl=vl,Gl=wl,Zl=xl,Dl=_l,Hl=Sl,Tl=Nl,kl=Ml,Fl=Vl,Xl=function(e){return y_.createElement("svg",V({viewBox:"0 0 24 24",fill:"none"},e),Wl||(Wl=y_.createElement("path",{d:"M11.9998 13.4008L7.0998 18.3008C6.91647 18.4841 6.68314 18.5758 6.3998 18.5758C6.11647 18.5758 5.88314 18.4841 5.6998 18.3008C5.51647 18.1174 5.4248 17.8841 5.4248 17.6008C5.4248 17.3174 5.51647 17.0841 5.6998 16.9008L10.5998 12.0008L5.6998 7.10078C5.51647 6.91745 5.4248 6.68411 5.4248 6.40078C5.4248 6.11745 5.51647 5.88411 5.6998 5.70078C5.88314 5.51745 6.11647 5.42578 6.3998 5.42578C6.68314 5.42578 6.91647 5.51745 7.0998 5.70078L11.9998 10.6008L16.8998 5.70078C17.0831 5.51745 17.3165 5.42578 17.5998 5.42578C17.8831 5.42578 18.1165 5.51745 18.2998 5.70078C18.4831 5.88411 18.5748 6.11745 18.5748 6.40078C18.5748 6.68411 18.4831 6.91745 18.2998 7.10078L13.3998 12.0008L18.2998 16.9008C18.4831 17.0841 18.5748 17.3174 18.5748 17.6008C18.5748 17.8841 18.4831 18.1174 18.2998 18.3008C18.1165 18.4841 17.8831 18.5758 17.5998 18.5758C17.3165 18.5758 17.0831 18.4841 16.8998 18.3008L11.9998 13.4008Z",fill:"#5D676B"})))},zl={loader:"Loader-modules_loader__waPdv",rotate:"Loader-modules_rotate__vBNW3",spin:"Loader-modules_spin__i7TnV",small:"Loader-modules_small__ACDdJ",inheritColor:"Loader-modules_inheritColor__4aWvb"},jl={button:"Button-modules_button__tpJr3",secondary:"Button-modules_secondary__JGOIF",outline:"Button-modules_outline__R9gjd",danger:"Button-modules_danger__eTzli",small:"Button-modules_small__dNTOw",large:"Button-modules_large__5tvgy",prefix:"Button-modules_prefix__86hpR",suffix:"Button-modules_suffix__5uHiO",fullWidth:"Button-modules_fullWidth__3ET8J"};const eA=w_.forwardRef((({disabled:e=!1,children:t,onClick:n,size:o="medium",variant:r="primary",type:i="button",prefix:a="",suffix:l="",className:s="",fullWidth:c=!1,showLoader:u=!1,...d},p)=>w_.createElement("button",{ref:p,type:i,disabled:e,className:si("demio-ui-button",jl.button,{[s]:s,[jl[o]]:o,[jl[r]]:r,[jl.fullWidth]:c}),onClick:n,...d},(a||u)&&w_.createElement("span",{className:si("demio-ui-button-prefix",jl.prefix)},u?w_.createElement(O,{size:"small",inheritColor:!0}):a),t,l&&w_.createElement("span",{className:si("demio-ui-button-suffix",jl.suffix)},l))));Yl="Alert-modules_overlay__4XRHj",Jl="Alert-modules_close__dyL0l",Ul="Alert-modules_content__Y7nMS",Ql="Alert-modules_title__e8UHT",Kl="Alert-modules_description__wyWR-",ql="Alert-modules_buttons__cOEDw",$l="Avatar";var[tA,nA]=t($l),[oA,rA]=tA($l);(es=y_.forwardRef(((e,t)=>{const{__scopeAvatar:n,...o}=e,[r,i]=y_.useState("idle");return B_(oA,{scope:n,imageLoadingStatus:r,onImageLoadingStatusChange:i,children:B_(gi.span,{...o,ref:t})})}))).displayName=$l,ts="AvatarImage",(ns=y_.forwardRef(((e,t)=>{const{__scopeAvatar:n,src:o,onLoadingStatusChange:r=()=>{},...i}=e,a=rA(ts,n),l=function(e,t){const[n,o]=y_.useState("idle");return ci((()=>{if(!e)return void o("error");let n=!0;const r=new window.Image,i=e=>()=>{n&&o(e)};return o("loading"),r.onload=i("loaded"),r.onerror=i("error"),r.src=e,t&&(r.referrerPolicy=t),()=>{n=!1}}),[e,t]),n}(o,i.referrerPolicy),c=s((e=>{r(e),a.onImageLoadingStatusChange(e)}));return ci((()=>{"idle"!==l&&c(l)}),[l,c]),"loaded"===l?B_(gi.img,{...i,ref:t,src:o}):null}))).displayName=ts,os="AvatarFallback",(rs=y_.forwardRef(((e,t)=>{const{__scopeAvatar:n,delayMs:o,...r}=e,i=rA(os,n),[a,l]=y_.useState(void 0===o);return y_.useEffect((()=>{if(void 0!==o){const e=window.setTimeout((()=>l(!0)),o);return()=>window.clearTimeout(e)}}),[o]),a&&"loaded"!==i.imageLoadingStatus?B_(gi.span,{...r,ref:t}):null}))).displayName=os,is=es,as=ns,ls=rs,us=function(e){return y_.createElement("svg",P({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"mask0_6_3085",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},ss||(ss=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),cs||(cs=y_.createElement("g",{mask:"url(#mask0_6_3085)"},y_.createElement("path",{d:"M11.9997 18.75C11.7871 18.75 11.609 18.6781 11.4654 18.5344C11.3218 18.3906 11.25 18.2125 11.25 18V12.75H5.99997C5.78747 12.75 5.60936 12.678 5.46563 12.5342C5.32188 12.3904 5.25 12.2122 5.25 11.9997C5.25 11.7871 5.32188 11.609 5.46563 11.4654C5.60936 11.3218 5.78747 11.25 5.99997 11.25H11.25V5.99997C11.25 5.78747 11.3219 5.60935 11.4657 5.4656C11.6095 5.32187 11.7877 5.25 12.0003 5.25C12.2129 5.25 12.391 5.32187 12.5346 5.4656C12.6782 5.60935 12.7499 5.78747 12.7499 5.99997V11.25H18C18.2125 11.25 18.3906 11.3219 18.5344 11.4657C18.6781 11.6095 18.75 11.7877 18.75 12.0003C18.75 12.2129 18.6781 12.391 18.5344 12.5346C18.3906 12.6782 18.2125 12.75 18 12.75H12.7499V18C12.7499 18.2125 12.678 18.3906 12.5342 18.5344C12.3904 18.6781 12.2122 18.75 11.9997 18.75Z",fill:"#2C3336"}))))},ps=function(e){return y_.createElement("svg",N({viewBox:"0 0 24 24",fill:"none"},e),ds||(ds=y_.createElement("path",{d:"M12.2765 22.0928L13.2046 21.1647C13.4243 20.945 13.4243 20.5889 13.2046 20.3692L5.9329 13.0975H21.9375C22.2481 13.0975 22.5 12.8456 22.5 12.535V11.2225C22.5 10.9119 22.2481 10.66 21.9375 10.66H5.9329L13.2046 3.38829C13.4243 3.16863 13.4243 2.81247 13.2046 2.59277L12.2765 1.66474C12.0569 1.44509 11.7007 1.44509 11.481 1.66474L1.66474 11.481C1.44509 11.7007 1.44509 12.0568 1.66474 12.2765L11.481 22.0928C11.7007 22.3125 12.0568 22.3125 12.2765 22.0928Z",fill:"#2C3336"})))},fs=function(e){return y_.createElement("svg",L({fill:"currentColor","aria-hidden":"true","data-icon":"check",viewBox:"64 64 896 896"},e),ms||(ms=y_.createElement("path",{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"})))},Cs=function(e){return y_.createElement("svg",B({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},gs||(gs=y_.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),hs||(hs=y_.createElement("g",{mask:"url(#a)"},y_.createElement("path",{fill:"#2C3336",d:"M7.308 20.5c-.505 0-.933-.175-1.283-.525a1.745 1.745 0 0 1-.525-1.283V6h-.25a.726.726 0 0 1-.535-.215.726.726 0 0 1-.215-.535.73.73 0 0 1 .215-.535.726.726 0 0 1 .535-.215H9a.84.84 0 0 1 .263-.63.889.889 0 0 1 .64-.255h4.193c.251 0 .465.085.64.254A.84.84 0 0 1 15 4.5h3.75a.73.73 0 0 1 .535.215.726.726 0 0 1 .215.535.726.726 0 0 1-.215.535.726.726 0 0 1-.535.215h-.25v12.692c0 .506-.175.933-.525 1.283-.35.35-.778.525-1.283.525H7.308ZM7 6v12.692a.3.3 0 0 0 .087.221.3.3 0 0 0 .22.087h9.385a.3.3 0 0 0 .221-.087.3.3 0 0 0 .087-.22V6H7Zm2.404 10.25a.73.73 0 0 0 .215.535.726.726 0 0 0 .535.215.726.726 0 0 0 .534-.215.726.726 0 0 0 .216-.535v-7.5a.726.726 0 0 0-.216-.535.726.726 0 0 0-.534-.215.726.726 0 0 0-.535.215.726.726 0 0 0-.215.535v7.5Zm3.692 0c0 .213.072.391.216.535a.726.726 0 0 0 .534.215.726.726 0 0 0 .535-.215.726.726 0 0 0 .215-.535v-7.5a.726.726 0 0 0-.215-.535.726.726 0 0 0-.535-.215.726.726 0 0 0-.534.215.726.726 0 0 0-.216.535v7.5ZM7 6v12.692a.3.3 0 0 0 .087.221.3.3 0 0 0 .22.087H7V6Z"}))))},vs=function(e){return y_.createElement("svg",G({viewBox:"0 0 24 24",fill:"none"},e),bs||(bs=y_.createElement("path",{d:"M4 21C3.71667 21 3.47917 20.9042 3.2875 20.7125C3.09583 20.5208 3 20.2833 3 20V17.575C3 17.3083 3.05 17.0542 3.15 16.8125C3.25 16.5708 3.39167 16.3583 3.575 16.175L16.2 3.575C16.4 3.39167 16.6208 3.25 16.8625 3.15C17.1042 3.05 17.3583 3 17.625 3C17.8917 3 18.15 3.05 18.4 3.15C18.65 3.25 18.8667 3.4 19.05 3.6L20.425 5C20.625 5.18333 20.7708 5.4 20.8625 5.65C20.9542 5.9 21 6.15 21 6.4C21 6.66667 20.9542 6.92083 20.8625 7.1625C20.7708 7.40417 20.625 7.625 20.425 7.825L7.825 20.425C7.64167 20.6083 7.42917 20.75 7.1875 20.85C6.94583 20.95 6.69167 21 6.425 21H4ZM17.6 7.8L19 6.4L17.6 5L16.2 6.4L17.6 7.8Z",fill:"#1C1B1F"})))},Is=function(e){return y_.createElement("svg",Z({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},ys||(ys=y_.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),ws||(ws=y_.createElement("g",{mask:"url(#a)"},y_.createElement("path",{fill:"#2C3336",d:"M12 14.677a.93.93 0 0 1-.34-.066.84.84 0 0 1-.293-.19L6.873 9.927a.717.717 0 0 1-.217-.527c0-.206.072-.382.217-.527a.717.717 0 0 1 .527-.217c.206 0 .382.072.527.217L12 12.946l4.073-4.073a.717.717 0 0 1 .527-.217c.206 0 .382.072.527.217.145.145.217.32.217.527a.717.717 0 0 1-.217.527l-4.494 4.494a.83.83 0 0 1-.633.256Z"}))))},Es=function(e){return y_.createElement("svg",D({viewBox:"0 0 24 24",fill:"none"},e),xs||(xs=y_.createElement("path",{d:"M20.625 10.875H13.125V3.375C13.125 3.16781 12.9572 3 12.75 3H11.25C11.0428 3 10.875 3.16781 10.875 3.375V10.875H3.375C3.16781 10.875 3 11.0428 3 11.25V12.75C3 12.9572 3.16781 13.125 3.375 13.125H10.875V20.625C10.875 20.8322 11.0428 21 11.25 21H12.75C12.9572 21 13.125 20.8322 13.125 20.625V13.125H20.625C20.8322 13.125 21 12.9572 21 12.75V11.25C21 11.0428 20.8322 10.875 20.625 10.875Z",fill:"#2C3336"})))},As=function(e){return y_.createElement("svg",H({viewBox:"0 0 24 24",fill:"currentColor"},e),_s||(_s=y_.createElement("path",{d:"M23.8348 21.9786L18.1444 16.2883C18.0366 16.1805 17.896 16.1242 17.746 16.1242H17.1273C18.6038 14.4134 19.499 12.1869 19.499 9.74952C19.499 4.36385 15.1352 0 9.74952 0C4.36385 0 0 4.36385 0 9.74952C0 15.1352 4.36385 19.499 9.74952 19.499C12.1869 19.499 14.4134 18.6038 16.1242 17.1273V17.746C16.1242 17.896 16.1851 18.0366 16.2883 18.1444L21.9786 23.8348C22.1989 24.0551 22.5551 24.0551 22.7754 23.8348L23.8348 22.7754C24.0551 22.5551 24.0551 22.1989 23.8348 21.9786ZM9.74952 17.2492C5.60598 17.2492 2.24989 13.8931 2.24989 9.74952C2.24989 5.60598 5.60598 2.24989 9.74952 2.24989C13.8931 2.24989 17.2492 5.60598 17.2492 9.74952C17.2492 13.8931 13.8931 17.2492 9.74952 17.2492Z",fill:"#2C3336"})))},Rs=function(e){return y_.createElement("svg",T({viewBox:"0 0 24 24"},e),Ms||(Ms=y_.createElement("path",{d:"m15.38 4.664 6.956 6.938c.22.22.22.576 0 .796l-6.956 6.938a.563.563 0 0 1-.797 0l-.919-.919a.556.556 0 0 1 .01-.801l4.551-4.393H6.562A.564.564 0 0 1 6 12.661v-1.313c0-.309.253-.562.563-.562h11.662l-4.552-4.392a.565.565 0 0 1-.009-.802l.919-.919c.22-.23.576-.23.797-.009ZM3.937 20.438V3.563A.564.564 0 0 0 3.375 3H2.062a.564.564 0 0 0-.562.563v16.875c0 .309.253.562.563.562h1.312c.31 0 .563-.253.563-.563Z"})))},Ss=function(e){return y_.createElement("svg",k({viewBox:"0 0 24 24",fill:"none"},e),Vs||(Vs=y_.createElement("path",{d:"M3.1664 11.6016L10.0964 4.66407C10.3183 4.44376 10.677 4.44376 10.8989 4.66407L11.8336 5.5922C12.0555 5.81251 12.0555 6.16876 11.8336 6.38907L6.23958 12L11.8336 17.6109C12.0555 17.8313 12.0555 18.1875 11.8336 18.4078L10.8989 19.3359C10.677 19.5563 10.3183 19.5563 10.0964 19.3359L3.1664 12.3984C2.94453 12.1781 2.94453 11.8219 3.1664 11.6016Z",fill:"#2C3336"})),Os||(Os=y_.createElement("path",{d:"M12.1664 11.6016L19.0964 4.66407C19.3183 4.44376 19.677 4.44376 19.8989 4.66407L20.8336 5.5922C21.0555 5.81251 21.0555 6.16876 20.8336 6.38907L15.2396 12L20.8336 17.6109C21.0555 17.8313 21.0555 18.1875 20.8336 18.4078L19.8989 19.3359C19.677 19.5563 19.3183 19.5563 19.0964 19.3359L12.1664 12.3984C11.9445 12.1781 11.9445 11.8219 12.1664 11.6016Z",fill:"#2C3336"})))},Ns=function(e){return y_.createElement("svg",F({viewBox:"0 0 24 24",fill:"none"},e),Ps||(Ps=y_.createElement("path",{d:"M7.69685 11.6016L14.5781 4.66407C14.7984 4.44376 15.1547 4.44376 15.375 4.66407L16.3031 5.5922C16.5234 5.81251 16.5234 6.16876 16.3031 6.38907L10.7484 12L16.3031 17.6109C16.5234 17.8313 16.5234 18.1875 16.3031 18.4078L15.375 19.3359C15.1547 19.5563 14.7984 19.5563 14.5781 19.3359L7.69685 12.3984C7.47654 12.1781 7.47654 11.8219 7.69685 11.6016Z",fill:"#2C3336"})))},Bs=function(e){return y_.createElement("svg",W({viewBox:"0 0 24 24"},e),Ls||(Ls=y_.createElement("path",{d:"M12 10.875V6.422c0-1.003 1.212-1.505 1.92-.796l1.3 1.299 5.26-5.26c.219-.22.575-.22.795 0l1.06 1.06c.22.22.22.576 0 .796l-5.26 5.26 1.299 1.298c.709.71.207 1.921-.796 1.921h-4.453A1.125 1.125 0 0 1 12 10.875Zm-8.48 11.46 5.26-5.26 1.3 1.299c.708.709 1.92.207 1.92-.796v-4.453c0-.621-.504-1.125-1.125-1.125H6.422c-1.003 0-1.505 1.212-.796 1.92l1.299 1.3-5.26 5.26a.563.563 0 0 0 0 .795l1.06 1.06c.22.22.576.22.796 0Z"})))},Zs=function(e){return y_.createElement("svg",X({viewBox:"0 0 24 24"},e),Gs||(Gs=y_.createElement("path",{d:"M22.5 2.625v4.453c0 1.003-1.212 1.505-1.92.796l-1.3-1.299-5.026 5.027a.563.563 0 0 1-.796 0l-1.06-1.06a.563.563 0 0 1 0-.796l5.027-5.027-1.299-1.299c-.709-.708-.207-1.92.796-1.92h4.453c.621 0 1.125.504 1.125 1.125ZM9.746 12.398 4.72 17.425 3.42 16.126c-.708-.709-1.92-.207-1.92.796v4.453c0 .621.504 1.125 1.125 1.125h4.453c1.003 0 1.505-1.212.796-1.92l-1.299-1.3 5.027-5.026a.563.563 0 0 0 0-.796l-1.06-1.06a.563.563 0 0 0-.796 0Z"})))},Hs=function(e){return y_.createElement("svg",z({fill:"none",viewBox:"0 0 24 24"},e),Ds||(Ds=y_.createElement("path",{fill:"#2C3336",d:"M23.626 10.875c0-6.387-5.154-10.5-11.625-10.5C5.576.375.376 5.575.376 12s5.2 11.625 11.625 11.625c2.481 0 4.907-.8 6.895-2.265a.561.561 0 0 0 .098-.807l-.713-.872a.564.564 0 0 0-.77-.095A9.397 9.397 0 0 1 12 21.375c-5.17 0-9.375-4.206-9.375-9.375 0-5.17 4.206-9.375 9.375-9.375 5.132 0 9.375 3.048 9.375 8.25 0 2.958-1.991 4.607-3.891 4.607-.915 0-.944-.591-.768-1.474l1.342-6.964a.562.562 0 0 0-.552-.669H15.67a.563.563 0 0 0-.552.456c-.052.269-.078.391-.107.656-.559-.916-1.682-1.456-3.056-1.456-3.356 0-6.329 2.93-6.329 7.166 0 2.867 1.541 4.786 4.368 4.786 1.397 0 2.876-.789 3.738-1.98.195 1.446 1.336 1.782 2.783 1.782 4.649 0 7.111-2.982 7.111-6.91Zm-12.839 4.563c-1.335 0-2.131-.912-2.131-2.44 0-2.695 1.854-4.378 3.497-4.378 1.412 0 2.131 1.01 2.131 2.418 0 2.196-1.555 4.4-3.497 4.4Z"})))},ks=function(e){return y_.createElement("svg",j({fill:"none",viewBox:"0 0 24 24"},e),Ts||(Ts=y_.createElement("path",{fill:"#2C3336",d:"m10.58 14.146-2.322-2.323a.724.724 0 0 0-.522-.212.707.707 0 0 0-.532.212.717.717 0 0 0-.217.527c0 .206.072.382.217.527l2.744 2.744a.87.87 0 0 0 .633.271c.24 0 .452-.09.632-.27l5.564-5.564a.725.725 0 0 0 .212-.522.707.707 0 0 0-.212-.532.718.718 0 0 0-.527-.217.717.717 0 0 0-.527.217l-5.142 5.142Zm1.422 7.354a9.255 9.255 0 0 1-3.705-.748 9.598 9.598 0 0 1-3.018-2.03 9.591 9.591 0 0 1-2.03-3.016 9.245 9.245 0 0 1-.749-3.704c0-1.314.25-2.55.748-3.705a9.597 9.597 0 0 1 2.03-3.018 9.592 9.592 0 0 1 3.016-2.03 9.245 9.245 0 0 1 3.704-.749c1.314 0 2.55.25 3.705.748a9.597 9.597 0 0 1 3.018 2.03 9.592 9.592 0 0 1 2.03 3.016 9.245 9.245 0 0 1 .749 3.704c0 1.314-.25 2.55-.748 3.705a9.598 9.598 0 0 1-2.03 3.018 9.592 9.592 0 0 1-3.016 2.03 9.245 9.245 0 0 1-3.704.749Z"})))},Ws=function(e){return y_.createElement("svg",Y({viewBox:"0 0 24 24",fill:"none"},e),Fs||(Fs=y_.createElement("path",{d:"M23.9375 12C23.9375 18.4203 18.7328 23.625 12.3125 23.625C5.89217 23.625 0.6875 18.4203 0.6875 12C0.6875 5.57967 5.89217 0.375 12.3125 0.375C18.7328 0.375 23.9375 5.57967 23.9375 12ZM10.9678 18.1553L19.5928 9.53034C19.8857 9.23747 19.8857 8.76258 19.5928 8.4697L18.5322 7.40906C18.2393 7.11614 17.7644 7.11614 17.4715 7.40906L10.4375 14.443L7.15348 11.159C6.86061 10.8661 6.38572 10.8661 6.0928 11.159L5.03216 12.2197C4.73928 12.5125 4.73928 12.9874 5.03216 13.2803L9.90716 18.1553C10.2001 18.4482 10.6749 18.4482 10.9678 18.1553Z",fill:"#2C3336"})))},zs=function(e){return y_.createElement("svg",J({viewBox:"0 0 24 24",fill:"none"},e),Xs||(Xs=y_.createElement("path",{d:"M10.6 13.4L8.45 11.25C8.26667 11.0667 8.03333 10.975 7.75 10.975C7.46667 10.975 7.23333 11.0667 7.05 11.25C6.86667 11.4333 6.775 11.6667 6.775 11.95C6.775 12.2333 6.86667 12.4667 7.05 12.65L9.9 15.5C10.1 15.7 10.3333 15.8 10.6 15.8C10.8667 15.8 11.1 15.7 11.3 15.5L16.95 9.85C17.1333 9.66667 17.225 9.43333 17.225 9.15C17.225 8.86667 17.1333 8.63333 16.95 8.45C16.7667 8.26667 16.5333 8.175 16.25 8.175C15.9667 8.175 15.7333 8.26667 15.55 8.45L10.6 13.4ZM5 21C4.45 21 3.97917 20.8042 3.5875 20.4125C3.19583 20.0208 3 19.55 3 19V5C3 4.45 3.19583 3.97917 3.5875 3.5875C3.97917 3.19583 4.45 3 5 3H19C19.55 3 20.0208 3.19583 20.4125 3.5875C20.8042 3.97917 21 4.45 21 5V19C21 19.55 20.8042 20.0208 20.4125 20.4125C20.0208 20.8042 19.55 21 19 21H5Z",fill:"#02BF6F"})))},Ys=function(e){return y_.createElement("svg",U({viewBox:"0 0 24 24",fill:"none"},e),js||(js=y_.createElement("path",{d:"M5 21C4.45 21 3.97917 20.8042 3.5875 20.4125C3.19583 20.0208 3 19.55 3 19V5C3 4.45 3.19583 3.97917 3.5875 3.5875C3.97917 3.19583 4.45 3 5 3H19C19.55 3 20.0208 3.19583 20.4125 3.5875C20.8042 3.97917 21 4.45 21 5V19C21 19.55 20.8042 20.0208 20.4125 20.4125C20.0208 20.8042 19.55 21 19 21H5ZM5 19H19V5H5V19Z",fill:"#838B97"})))},Us=function(e){return y_.createElement("svg",Q({fill:"none",viewBox:"0 0 24 24"},e),Js||(Js=y_.createElement("path",{fill:"#EDC121",d:"M23.625 12c0 6.422-5.205 11.625-11.625 11.625S.375 18.422.375 12C.375 5.582 5.58.375 12 .375S23.625 5.582 23.625 12ZM12 14.344a2.156 2.156 0 1 0 0 4.312 2.156 2.156 0 0 0 0-4.312Zm-2.047-7.75.348 6.374a.563.563 0 0 0 .561.532h2.276a.563.563 0 0 0 .562-.532l.347-6.375A.563.563 0 0 0 13.485 6h-2.97c-.323 0-.58.27-.562.593Z"})))},Ks=function(e){return y_.createElement("svg",K({viewBox:"0 0 22 16",fill:"none"},e),Qs||(Qs=y_.createElement("path",{d:"M11 2.335a9.77 9.77 0 018.82 5.5 9.76 9.76 0 01-8.82 5.5 9.76 9.76 0 01-8.82-5.5 9.77 9.77 0 018.82-5.5zm0-2c-5 0-9.27 3.11-11 7.5 1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zm0 5a2.5 2.5 0 010 5 2.5 2.5 0 010-5zm0-2c-2.48 0-4.5 2.02-4.5 4.5s2.02 4.5 4.5 4.5 4.5-2.02 4.5-4.5-2.02-4.5-4.5-4.5z",fill:"#838B97"})))},$s=function(e){return y_.createElement("svg",q({viewBox:"0 0 24 20",fill:"none"},e),qs||(qs=y_.createElement("path",{d:"M23.775 17.898L1.35.367A.6.6 0 00.507.46L.132.93a.6.6 0 00.093.844l22.425 17.53a.6.6 0 00.843-.093l.375-.468a.6.6 0 00-.093-.844zM11.13 5.728l5.054 3.952a4.189 4.189 0 00-5.055-3.952zm1.74 8.215L7.816 9.99a4.19 4.19 0 005.054 3.952zM12 4.435c3.7 0 7.09 2.063 8.922 5.4a10.71 10.71 0 01-1.65 2.258l1.416 1.106a12.518 12.518 0 001.983-2.817 1.214 1.214 0 000-1.094C20.636 5.32 16.61 2.635 12 2.635c-1.376 0-2.69.263-3.924.706l1.74 1.36A9.843 9.843 0 0112 4.435zm0 10.8c-3.7 0-7.09-2.062-8.922-5.4.45-.821 1.004-1.58 1.651-2.257L3.314 6.472a12.51 12.51 0 00-1.983 2.816 1.213 1.213 0 000 1.095C3.364 14.35 7.39 17.035 12 17.035c1.376 0 2.689-.264 3.924-.705l-1.74-1.36a9.86 9.86 0 01-2.184.265z",fill:"#838B97"})))},tc=function(e){return y_.createElement("svg",$({viewBox:"0 0 20 20"},e),ec||(ec=y_.createElement("path",{d:"M11.674 3.223H1.66A1.67 1.67 0 0 0 0 4.903v10.14c0 .927.743 1.68 1.66 1.68h10.014a1.67 1.67 0 0 0 1.66-1.68V4.902a1.67 1.67 0 0 0-1.66-1.68Zm6.576 1.325-3.806 2.658v5.533l3.806 2.655c.736.513 1.75-.01 1.75-.907V5.455c0-.893-1.01-1.42-1.75-.907Z"})))},rc=function(e){return y_.createElement("svg",ee({fill:"none"},e),nc||(nc=y_.createElement("g",{clipPath:"url(#a)"},y_.createElement("path",{fill:"#98A2B3",d:"M3.25 3A3.25 3.25 0 0 0 0 6.25v7.5A3.25 3.25 0 0 0 3.25 17h7.5A3.25 3.25 0 0 0 14 13.75v-.312l3.258 2.25c1.16.8 2.744-.03 2.744-1.44V5.751c0-1.41-1.584-2.242-2.744-1.44L14 6.562V6.25A3.25 3.25 0 0 0 10.75 3h-7.5ZM14 8.384l4.11-2.838a.25.25 0 0 1 .392.206v8.495a.25.25 0 0 1-.392.206L14 11.615V8.384ZM1.5 6.25c0-.966.784-1.75 1.75-1.75h7.5c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 0 1-1.75 1.75h-7.5a1.75 1.75 0 0 1-1.75-1.75v-7.5Z"}))),oc||(oc=y_.createElement("defs",null,y_.createElement("clipPath",{id:"a"},y_.createElement("path",{fill:"#fff",d:"M0 0h20v20H0z"})))))},ac=function(e){return y_.createElement("svg",te({viewBox:"0 0 24 24"},e),ic||(ic=y_.createElement("path",{d:"M17.333 10.333V3.667A2.67 2.67 0 0 0 14.667 1h-12A2.67 2.67 0 0 0 0 3.667v6.666A2.67 2.67 0 0 0 2.667 13v2.258c0 .334.379.525.646.325l3.45-2.587h7.904a2.663 2.663 0 0 0 2.666-2.663Zm4-2.666h-2.666v2.666c0 2.204-1.796 4-4 4H8V17a2.67 2.67 0 0 0 2.667 2.667h5.237l3.45 2.587c.267.2.646.008.646-.325v-2.262h1.333A2.67 2.67 0 0 0 24 17v-6.667a2.67 2.67 0 0 0-2.667-2.666Z"})))},Ic=function(e){return y_.createElement("svg",ne({viewBox:"0 0 24 24",fill:"none"},e),lc||(lc=y_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M0 15.5999V2.39999H2.4V15.5999H0Z",fill:"#02BF6F"})),sc||(sc=y_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21.6 15.5999V2.39999H24V15.5999H21.6Z",fill:"#02BF6F"})),cc||(cc=y_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21.6 2.39999H2.4V0H21.6V2.39999Z",fill:"#02BF6F"})),uc||(uc=y_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.2 17.9999H2.4V15.5999H7.2V17.9999Z",fill:"#02BF6F"})),dc||(dc=y_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21.6 17.9999H16.8V15.5999H21.6V17.9999Z",fill:"#02BF6F"})),pc||(pc=y_.createElement("path",{d:"M24 2.39999C24 2.08482 23.9379 1.77273 23.8173 1.48155C23.6967 1.19037 23.5199 0.925801 23.2971 0.702941C23.0742 0.480081 22.8096 0.303299 22.5184 0.182688C22.2273 0.0620776 21.9152 -1.37763e-08 21.6 0V2.39999H24Z",fill:"#02BF6F"})),mc||(mc=y_.createElement("path",{d:"M24 15.5999C24 15.9151 23.9379 16.2272 23.8173 16.5184C23.6967 16.8096 23.5199 17.0741 23.2971 17.297C23.0742 17.5198 22.8096 17.6966 22.5184 17.8172C22.2273 17.9379 21.9152 17.9999 21.6 17.9999V15.5999H24Z",fill:"#02BF6F"})),fc||(fc=y_.createElement("path",{d:"M0 2.39999C2.75533e-08 2.08482 0.0620779 1.77273 0.182689 1.48155C0.303301 1.19037 0.480083 0.9258 0.702944 0.70294C0.925805 0.480081 1.19038 0.303299 1.48156 0.182688C1.77274 0.0620773 2.08483 -1.54043e-07 2.4 0V2.39999H0Z",fill:"#02BF6F"})),gc||(gc=y_.createElement("path",{d:"M0 15.5999C-2.75532e-08 15.9151 0.0620778 16.2272 0.182689 16.5184C0.3033 16.8096 0.480083 17.0741 0.702944 17.297C0.925804 17.5198 1.19038 17.6966 1.48156 17.8172C1.77274 17.9379 2.08483 17.9999 2.4 17.9999V15.5999H0Z",fill:"#02BF6F"})),hc||(hc=y_.createElement("path",{d:"M7.2 15.5999C7.51517 15.5999 7.82726 15.662 8.11844 15.7826C8.40962 15.9032 8.6742 16.08 8.89706 16.3029C9.11992 16.5257 9.2967 16.7903 9.41731 17.0815C9.53792 17.3727 9.6 17.6848 9.6 17.9999H7.2V15.5999Z",fill:"#02BF6F"})),Cc||(Cc=y_.createElement("path",{d:"M7.2 22.7999C7.2 23.1182 7.32643 23.4234 7.55147 23.6484C7.77652 23.8735 8.08174 23.9999 8.4 23.9999C8.71826 23.9999 9.02348 23.8735 9.24853 23.6484C9.47357 23.4234 9.6 23.1182 9.6 22.7999H7.2Z",fill:"#02BF6F"})),bc||(bc=y_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.2 22.7999V17.9999H9.6V22.7999H7.2Z",fill:"#02BF6F"})),vc||(vc=y_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.7765 16.1025C18.1617 16.6417 18.0368 17.3912 17.4975 17.7764L9.09747 23.7764C8.55818 24.1616 7.80872 24.0367 7.4235 23.4974C7.03829 22.9581 7.1632 22.2086 7.7025 21.8234L16.1025 15.8235C16.6418 15.4383 17.3913 15.5632 17.7765 16.1025Z",fill:"#02BF6F"})),yc||(yc=y_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 5.99998C10.0118 5.99998 8.4 7.61174 8.4 9.59996C8.4 11.5882 10.0118 13.1999 12 13.1999C13.9882 13.1999 15.6 11.5882 15.6 9.59996C15.6 7.61174 13.9882 5.99998 12 5.99998ZM6 9.59996C6 6.28627 8.68629 3.59999 12 3.59999C15.3137 3.59999 18 6.28627 18 9.59996C18 12.9137 15.3137 15.5999 12 15.5999C8.68629 15.5999 6 12.9137 6 9.59996Z",fill:"#02BF6F"})),wc||(wc=y_.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.19998 11.5619L15.0246 5.99998L16.4151 7.95614L8.59046 13.518L7.19998 11.5619Z",fill:"#02BF6F"})))},_c=function(e){return y_.createElement("svg",oe({viewBox:"0 0 24 24",fill:"none"},e),y_.createElement("mask",{id:"mask0_6_3061",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},xc||(xc=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),Ec||(Ec=y_.createElement("g",{mask:"url(#mask0_6_3061)"},y_.createElement("path",{d:"M11.9998 13.5C11.3011 13.5 10.7098 13.258 10.2258 12.774C9.74181 12.29 9.49983 11.6987 9.49983 11V4.99997C9.49983 4.30127 9.74181 3.70993 10.2258 3.22595C10.7098 2.74198 11.3011 2.5 11.9998 2.5C12.6985 2.5 13.2898 2.74198 13.7738 3.22595C14.2578 3.70993 14.4998 4.30127 14.4998 4.99997V11C14.4998 11.6987 14.2578 12.29 13.7738 12.774C13.2898 13.258 12.6985 13.5 11.9998 13.5ZM11.9998 20.75C11.787 20.75 11.6088 20.6782 11.4652 20.5346C11.3216 20.391 11.2498 20.2128 11.2498 20V17.4538C9.7383 17.2756 8.45368 16.6592 7.39598 15.6047C6.3383 14.5503 5.72164 13.2807 5.546 11.7961C5.51522 11.5833 5.57419 11.3974 5.7229 11.2384C5.87162 11.0795 6.06777 11 6.31135 11C6.48699 11 6.64404 11.0666 6.7825 11.2C6.92095 11.3333 7.00877 11.4961 7.04595 11.6884C7.21134 12.9064 7.76198 13.9295 8.69788 14.7577C9.63378 15.5859 10.7344 16 11.9998 16C13.2652 16 14.3658 15.5859 15.3017 14.7577C16.2376 13.9295 16.7883 12.9064 16.9537 11.6884C16.9908 11.4961 17.0796 11.3333 17.22 11.2C17.3604 11.0666 17.5216 11 17.7036 11C17.937 11 18.128 11.0795 18.2767 11.2384C18.4254 11.3974 18.4844 11.5833 18.4536 11.7961C18.278 13.2807 17.6613 14.5503 16.6036 15.6047C15.5459 16.6592 14.2613 17.2756 12.7498 17.4538V20C12.7498 20.2128 12.678 20.391 12.5344 20.5346C12.3908 20.6782 12.2126 20.75 11.9998 20.75ZM11.9998 12C12.2831 12 12.5206 11.9041 12.7123 11.7125C12.904 11.5208 12.9998 11.2833 12.9998 11V4.99997C12.9998 4.71664 12.904 4.47914 12.7123 4.28747C12.5206 4.09581 12.2831 3.99997 11.9998 3.99997C11.7165 3.99997 11.479 4.09581 11.2873 4.28747C11.0956 4.47914 10.9998 4.71664 10.9998 4.99997V11C10.9998 11.2833 11.0956 11.5208 11.2873 11.7125C11.479 11.9041 11.7165 12 11.9998 12Z",fill:"currentColor"}))))},Rc=function(e){return y_.createElement("svg",re({viewBox:"0 0 24 24",fill:"none"},e),y_.createElement("mask",{id:"mask0_6_3067",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Ac||(Ac=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),Mc||(Mc=y_.createElement("g",{mask:"url(#mask0_6_3067)"},y_.createElement("path",{d:"M17.2403 14.1807L16.1365 13.0576C16.2417 12.8653 16.3356 12.6535 16.4182 12.4221C16.5009 12.1907 16.5609 11.9461 16.598 11.6884C16.6352 11.4961 16.724 11.3333 16.8644 11.2C17.0048 11.0666 17.166 11 17.348 11C17.5814 11 17.7724 11.0795 17.9211 11.2384C18.0698 11.3974 18.1288 11.5833 18.098 11.7961C18.0403 12.2525 17.9371 12.6765 17.7884 13.0682C17.6397 13.4599 17.457 13.8307 17.2403 14.1807ZM14.0211 10.9307L9.14424 6.03457V4.99997C9.14424 4.30128 9.38623 3.70993 9.87019 3.22595C10.3542 2.74198 10.9455 2.5 11.6442 2.5C12.3429 2.5 12.9343 2.74198 13.4182 3.22595C13.9022 3.70993 14.1442 4.30128 14.1442 4.99997V10.3461C14.1442 10.4589 14.1313 10.5615 14.1057 10.6538C14.0801 10.7461 14.0519 10.8384 14.0211 10.9307ZM19.3404 21.1884L2.20577 4.05375C2.06732 3.9153 1.99648 3.74127 1.99327 3.53165C1.99007 3.32205 2.0609 3.14482 2.20577 2.99995C2.35063 2.85507 2.52627 2.78262 2.73267 2.78262C2.93908 2.78262 3.11473 2.85507 3.25959 2.99995L20.3942 20.1346C20.5327 20.273 20.6035 20.4471 20.6067 20.6567C20.6099 20.8663 20.5391 21.0435 20.3942 21.1884C20.2493 21.3333 20.0737 21.4057 19.8673 21.4057C19.6609 21.4057 19.4853 21.3333 19.3404 21.1884ZM10.8942 20V17.4576C9.38268 17.2833 8.09807 16.6673 7.04037 15.6096C5.98268 14.5519 5.36603 13.2807 5.19039 11.7961C5.15963 11.5833 5.2186 11.3974 5.36732 11.2384C5.51602 11.0795 5.71216 11 5.95574 11C6.13139 11 6.28844 11.0666 6.42689 11.2C6.56536 11.3333 6.65318 11.4961 6.69034 11.6884C6.85573 12.9064 7.40637 13.9295 8.34227 14.7577C9.27817 15.5859 10.3788 16 11.6442 16C12.2878 16 12.8926 15.8852 13.4586 15.6557C14.0247 15.4262 14.5256 15.1083 14.9615 14.7019L16.0307 15.7711C15.5474 16.2249 14.9974 16.5986 14.3807 16.8922C13.7641 17.1858 13.1019 17.3743 12.3942 17.4576V20C12.3942 20.2128 12.3224 20.391 12.1788 20.5346C12.0352 20.6782 11.857 20.75 11.6442 20.75C11.4314 20.75 11.2532 20.6782 11.1096 20.5346C10.966 20.391 10.8942 20.2128 10.8942 20Z",fill:"currentColor"}))))},Sc=function(e){return y_.createElement("svg",ie({viewBox:"0 0 24 24",fill:"none"},e),y_.createElement("mask",{id:"mask0_6_3073",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Vc||(Vc=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),Oc||(Oc=y_.createElement("g",{mask:"url(#mask0_6_3073)"},y_.createElement("path",{d:"M17.2403 14.1807L16.1365 13.0576C16.2417 12.8653 16.3356 12.6535 16.4182 12.4221C16.5009 12.1907 16.5609 11.9461 16.598 11.6884C16.6352 11.4961 16.724 11.3333 16.8644 11.2C17.0048 11.0666 17.166 11 17.348 11C17.5814 11 17.7724 11.0795 17.9211 11.2384C18.0698 11.3974 18.1288 11.5833 18.098 11.7961C18.0403 12.2525 17.9371 12.6765 17.7884 13.0682C17.6397 13.4599 17.457 13.8307 17.2403 14.1807ZM14.0211 10.9307L12.6442 9.55378V4.99997C12.6442 4.71664 12.5484 4.47914 12.3567 4.28747C12.165 4.09581 11.9275 3.99997 11.6442 3.99997C11.3609 3.99997 11.1234 4.09581 10.9317 4.28747C10.74 4.47914 10.6442 4.71664 10.6442 4.99997V7.53455L9.14424 6.03457V4.99997C9.14424 4.30128 9.38623 3.70993 9.87019 3.22595C10.3542 2.74198 10.9455 2.5 11.6442 2.5C12.3429 2.5 12.9343 2.74198 13.4182 3.22595C13.9022 3.70993 14.1442 4.30128 14.1442 4.99997V10.3461C14.1442 10.4589 14.1313 10.5615 14.1057 10.6538C14.0801 10.7461 14.0519 10.8384 14.0211 10.9307ZM19.3404 21.1884L2.20577 4.05375C2.06732 3.9153 1.99648 3.74127 1.99327 3.53165C1.99007 3.32205 2.0609 3.14482 2.20577 2.99995C2.35063 2.85507 2.52627 2.78262 2.73267 2.78262C2.93908 2.78262 3.11473 2.85507 3.25959 2.99995L20.3942 20.1346C20.5327 20.273 20.6035 20.4471 20.6067 20.6567C20.6099 20.8663 20.5391 21.0435 20.3942 21.1884C20.2493 21.3333 20.0737 21.4057 19.8673 21.4057C19.6609 21.4057 19.4853 21.3333 19.3404 21.1884ZM10.8942 20V17.4538C9.38268 17.2756 8.09807 16.6592 7.04037 15.6047C5.98268 14.5503 5.36603 13.2807 5.19039 11.7961C5.15963 11.5833 5.2186 11.3974 5.36732 11.2384C5.51602 11.0795 5.71216 11 5.95574 11C6.13139 11 6.28844 11.0666 6.42689 11.2C6.56536 11.3333 6.65318 11.4961 6.69034 11.6884C6.85573 12.9064 7.40637 13.9295 8.34227 14.7577C9.27817 15.5859 10.3788 16 11.6442 16C12.2878 16 12.8926 15.8852 13.4586 15.6557C14.0247 15.4262 14.5256 15.1083 14.9615 14.7019L16.0307 15.7711C15.5474 16.2249 14.9974 16.6012 14.3807 16.9C13.7641 17.1987 13.1019 17.3833 12.3942 17.4538V20C12.3942 20.2128 12.3224 20.391 12.1788 20.5346C12.0352 20.6782 11.857 20.75 11.6442 20.75C11.4314 20.75 11.2532 20.6782 11.1096 20.5346C10.966 20.391 10.8942 20.2128 10.8942 20Z",fill:"currentColor"}))))},Nc=function(e){return y_.createElement("svg",ae({fill:"none"},e),Pc||(Pc=y_.createElement("path",{fill:"#98A2B3",d:"M16.25 9a.75.75 0 0 1 .743.648L17 9.75v.5a6.75 6.75 0 0 1-6.249 6.732l-.001 2.268a.75.75 0 0 1-1.493.102l-.007-.102v-2.268a6.75 6.75 0 0 1-6.246-6.496L3 10.25v-.5a.75.75 0 0 1 1.493-.102l.007.102v.5a5.25 5.25 0 0 0 5.034 5.246l.216.004h.5a5.25 5.25 0 0 0 5.246-5.034l.004-.216v-.5a.75.75 0 0 1 .75-.75ZM10 0a4 4 0 0 1 4 4v6a4 4 0 0 1-8 0V4a4 4 0 0 1 4-4Zm0 1.5A2.5 2.5 0 0 0 7.5 4v6a2.5 2.5 0 0 0 5 0V4A2.5 2.5 0 0 0 10 1.5Z"})))},Gc=function(e){return y_.createElement("svg",le({viewBox:"0 0 24 24",fill:"none"},e),y_.createElement("mask",{id:"mask0_6_3064",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Lc||(Lc=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),Bc||(Bc=y_.createElement("g",{mask:"url(#mask0_6_3064)"},y_.createElement("path",{d:"M11.9998 13.5C11.3011 13.5 10.7098 13.258 10.2258 12.774C9.74181 12.29 9.49983 11.6987 9.49983 11V4.99997C9.49983 4.30127 9.74181 3.70993 10.2258 3.22595C10.7098 2.74198 11.3011 2.5 11.9998 2.5C12.6985 2.5 13.2898 2.74198 13.7738 3.22595C14.2578 3.70993 14.4998 4.30127 14.4998 4.99997V11C14.4998 11.6987 14.2578 12.29 13.7738 12.774C13.2898 13.258 12.6985 13.5 11.9998 13.5ZM11.9998 20.75C11.787 20.75 11.6088 20.6782 11.4652 20.5346C11.3216 20.391 11.2498 20.2128 11.2498 20V17.4576C9.7383 17.2833 8.45368 16.6673 7.39598 15.6096C6.3383 14.5519 5.72164 13.2807 5.546 11.7961C5.51522 11.5833 5.57419 11.3974 5.7229 11.2384C5.87162 11.0795 6.06777 11 6.31135 11C6.48699 11 6.64404 11.0666 6.7825 11.2C6.92095 11.3333 7.00877 11.4961 7.04595 11.6884C7.21134 12.9064 7.76198 13.9295 8.69788 14.7577C9.63378 15.5859 10.7344 16 11.9998 16C13.2652 16 14.3658 15.5859 15.3017 14.7577C16.2376 13.9295 16.7883 12.9064 16.9537 11.6884C16.9908 11.4961 17.0796 11.3333 17.22 11.2C17.3604 11.0666 17.5216 11 17.7036 11C17.937 11 18.128 11.0795 18.2767 11.2384C18.4254 11.3974 18.4844 11.5833 18.4536 11.7961C18.278 13.2807 17.6613 14.5519 16.6036 15.6096C15.5459 16.6673 14.2613 17.2833 12.7498 17.4576V20C12.7498 20.2128 12.678 20.391 12.5344 20.5346C12.3908 20.6782 12.2126 20.75 11.9998 20.75Z",fill:"currentColor"}))))},Dc=function(e){return y_.createElement("svg",se({viewBox:"0 0 20 20"},e),Zc||(Zc=y_.createElement("path",{d:"M7.215 19.986a2.118 2.118 0 0 1 1.488-2.044v-2.045a6.473 6.473 0 0 1-3.412-1.84 6.624 6.624 0 0 1-1.406-2.134 6.809 6.809 0 0 1-.525-2.624v-.9a1.736 1.736 0 0 1 1.726-1.758v2.658a4.957 4.957 0 0 0 1.44 3.524 4.852 4.852 0 0 0 5.284 1.117 4.853 4.853 0 0 0 1.589-1.035l.075-.082a4.96 4.96 0 0 0 1.44-3.524V6.64a1.743 1.743 0 0 1 1.726 1.758v.907c0 .9-.176 1.791-.518 2.624a6.816 6.816 0 0 1-1.427 2.14 6.473 6.473 0 0 1-3.412 1.84v2.045A2.122 2.122 0 0 1 12.771 20l-5.556-.014ZM6.39 9.3V3.887A3.601 3.601 0 0 1 8.493.324a3.614 3.614 0 0 1 4.863 1.981c.178.459.26.948.24 1.439v5.555a3.604 3.604 0 0 1-1.006 2.57 3.614 3.614 0 0 1-6.214-2.427l.014-.143Z"})))},kc=function(e){return y_.createElement("svg",ce({viewBox:"0 0 24 24",fill:"none",preserveAspectRatio:"xMidYMid meet"},e),y_.createElement("mask",{id:"mask0_6_3034",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Hc||(Hc=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),Tc||(Tc=y_.createElement("g",{mask:"url(#mask0_6_3034)"},y_.createElement("path",{d:"M4.54791 19.5C4.04278 19.5 3.61521 19.325 3.26521 18.975C2.91523 18.625 2.74023 18.1974 2.74023 17.6922V6.3077C2.74023 5.80257 2.91523 5.375 3.26521 5.025C3.61521 4.675 4.04278 4.5 4.54791 4.5H15.9325C16.4376 4.5 16.8652 4.675 17.2152 5.025C17.5652 5.375 17.7402 5.80257 17.7402 6.3077V10.8846L20.4767 8.1481C20.6305 7.99427 20.7994 7.95741 20.9834 8.03753C21.1674 8.11766 21.2593 8.26477 21.2593 8.47887V15.5211C21.2593 15.7352 21.1674 15.8823 20.9834 15.9624C20.7994 16.0425 20.6305 16.0057 20.4767 15.8519L17.7402 13.1153V17.6922C17.7402 18.1974 17.5652 18.625 17.2152 18.975C16.8652 19.325 16.4376 19.5 15.9325 19.5H4.54791ZM4.54791 18H15.9325C16.0222 18 16.096 17.9711 16.1536 17.9134C16.2113 17.8557 16.2402 17.782 16.2402 17.6922V6.3077C16.2402 6.21795 16.2113 6.14423 16.1536 6.08652C16.096 6.02882 16.0222 5.99997 15.9325 5.99997H4.54791C4.45816 5.99997 4.38443 6.02882 4.32673 6.08652C4.26903 6.14423 4.24018 6.21795 4.24018 6.3077V17.6922C4.24018 17.782 4.26903 17.8557 4.32673 17.9134C4.38443 17.9711 4.45816 18 4.54791 18Z",fill:"#2C3336"}))))},Xc=function(e){return y_.createElement("svg",ue({viewBox:"0 0 24 24",fill:"none",preserveAspectRatio:"xMidYMid meet"},e),y_.createElement("mask",{id:"mask0_6_3037",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Fc||(Fc=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),Wc||(Wc=y_.createElement("g",{mask:"url(#mask0_6_3037)"},y_.createElement("path",{d:"M20.5059 15.8518L17.7694 13.1153V15.0115L16.2695 13.5115V6.30768C16.2695 6.21793 16.2406 6.1442 16.1829 6.0865C16.1252 6.0288 16.0515 5.99995 15.9617 5.99995H8.75788L7.25793 4.49998H15.9617C16.4669 4.49998 16.8944 4.67498 17.2444 5.02498C17.5944 5.37498 17.7694 5.80254 17.7694 6.30768V10.8846L20.5059 8.14808C20.6598 7.99424 20.8287 7.95738 21.0127 8.0375C21.1966 8.11763 21.2886 8.26475 21.2886 8.47885V15.5211C21.2886 15.7352 21.1966 15.8823 21.0127 15.9624C20.8287 16.0425 20.6598 16.0057 20.5059 15.8518ZM19.4463 21.6307L2.0368 4.2211C1.89833 4.08265 1.8291 3.91535 1.8291 3.7192C1.8291 3.52305 1.90667 3.34742 2.0618 3.1923C2.20667 3.04742 2.3823 2.97498 2.5887 2.97498C2.7951 2.97498 2.97073 3.04742 3.1156 3.1923L20.5252 20.6018C20.6636 20.7403 20.7328 20.9076 20.7328 21.1037C20.7328 21.2999 20.6553 21.4755 20.5002 21.6307C20.3553 21.7755 20.178 21.8479 19.9684 21.8479C19.7588 21.8479 19.5848 21.7755 19.4463 21.6307ZM4.44255 4.51923L5.92328 5.99995H4.57718C4.48743 5.99995 4.4137 6.0288 4.356 6.0865C4.2983 6.1442 4.26945 6.21793 4.26945 6.30768V17.6922C4.26945 17.782 4.2983 17.8557 4.356 17.9134C4.4137 17.9711 4.48743 18 4.57718 18H15.9617C16.0515 18 16.1252 17.9711 16.1829 17.9134C16.2406 17.8557 16.2695 17.782 16.2695 17.6922V16.3461L17.7502 17.8268C17.7181 18.2935 17.5319 18.689 17.1915 19.0134C16.8511 19.3377 16.4412 19.4999 15.9617 19.4999H4.57718C4.07204 19.4999 3.64448 19.3249 3.29448 18.9749C2.94448 18.6249 2.76948 18.1974 2.76948 17.6922V6.30768C2.76948 5.82819 2.93166 5.41826 3.25603 5.07788C3.58038 4.73749 3.97589 4.55128 4.44255 4.51923Z",fill:"#2C3336"}))))},Yc=function(e){return y_.createElement("svg",de({viewBox:"0 0 24 24",fill:"none",preserveAspectRatio:"xMidYMid meet"},e),y_.createElement("mask",{id:"mask0_6_3043",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},zc||(zc=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),jc||(jc=y_.createElement("g",{mask:"url(#mask0_6_3043)"},y_.createElement("path",{d:"M19.4712 21.6307L2.0617 4.2211C1.92324 4.08265 1.854 3.91535 1.854 3.7192C1.854 3.52305 1.93157 3.34742 2.0867 3.1923C2.23157 3.04742 2.4072 2.97498 2.6136 2.97498C2.82 2.97498 2.99564 3.04742 3.1405 3.1923L20.5501 20.6018C20.6885 20.7403 20.7577 20.9076 20.7577 21.1037C20.7577 21.2999 20.6802 21.4755 20.5251 21.6307C20.3802 21.7755 20.2045 21.8464 19.9981 21.8432C19.7917 21.8399 19.6161 21.7691 19.4712 21.6307ZM17.7943 15.0115L7.28283 4.49998H15.9866C16.4918 4.49998 16.9193 4.67498 17.2693 5.02498C17.6193 5.37498 17.7943 5.80254 17.7943 6.30768V10.8846L20.5308 8.14808C20.6744 8.00449 20.8408 7.9702 21.0299 8.0452C21.219 8.1202 21.3135 8.26475 21.3135 8.47885V15.5211C21.3135 15.7352 21.219 15.8797 21.0299 15.9547C20.8408 16.0297 20.6744 15.9954 20.5308 15.8518L17.7943 13.1153V15.0115ZM4.46745 4.51923L17.7751 17.8268C17.7584 18.2833 17.5661 18.6762 17.1982 19.0057C16.8302 19.3352 16.418 19.4999 15.9616 19.4999H4.57708C4.07195 19.4999 3.64438 19.3249 3.29438 18.9749C2.94438 18.6249 2.76938 18.1974 2.76938 17.6922V6.30768C2.76938 5.85126 2.93669 5.43908 3.2713 5.07115C3.60592 4.7032 4.00464 4.51923 4.46745 4.51923Z",fill:"#2C3336"}))))},Qc=function(e){return y_.createElement("svg",pe({viewBox:"0 0 24 24",fill:"none",preserveAspectRatio:"xMidYMid meet"},e),y_.createElement("mask",{id:"mask0_6_3040",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Jc||(Jc=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),Uc||(Uc=y_.createElement("g",{mask:"url(#mask0_6_3040)"},y_.createElement("path",{d:"M4.54791 19.5C4.04278 19.5 3.61521 19.325 3.26521 18.975C2.91523 18.625 2.74023 18.1974 2.74023 17.6922V6.3077C2.74023 5.80257 2.91523 5.375 3.26521 5.025C3.61521 4.675 4.04278 4.5 4.54791 4.5H15.9325C16.4376 4.5 16.8652 4.675 17.2152 5.025C17.5652 5.375 17.7402 5.80257 17.7402 6.3077V10.8846L20.4767 8.1481C20.6202 8.00452 20.7866 7.97022 20.9757 8.04522C21.1648 8.12022 21.2593 8.26477 21.2593 8.47887V15.5211C21.2593 15.7352 21.1648 15.8797 20.9757 15.9547C20.7866 16.0297 20.6202 15.9954 20.4767 15.8519L17.7402 13.1153V17.6922C17.7402 18.1974 17.5652 18.625 17.2152 18.975C16.8652 19.325 16.4376 19.5 15.9325 19.5H4.54791Z",fill:"#2C3336"}))))},$c=function(e){return y_.createElement("svg",me({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"mask0_6_3052",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Kc||(Kc=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),qc||(qc=y_.createElement("g",{mask:"url(#mask0_6_3052)"},y_.createElement("path",{d:"M18.9462 21.6115L16.4577 19.1231C16.25 19.2436 16.0439 19.3583 15.8394 19.4673C15.635 19.5762 15.4206 19.6775 15.1962 19.7711C14.9462 19.8724 14.7132 19.8419 14.4972 19.6798C14.2812 19.5176 14.1732 19.2929 14.1732 19.0058C14.1732 18.8673 14.2145 18.7465 14.2972 18.6433C14.3799 18.5401 14.4821 18.4615 14.6039 18.4077C14.7372 18.3577 14.868 18.3019 14.9962 18.2404C15.1244 18.1789 15.2501 18.1115 15.3731 18.0385L11.7885 14.4538V16.6038C11.7885 17.0089 11.6036 17.2893 11.2337 17.4451C10.8638 17.6009 10.5366 17.5365 10.252 17.2519L7.50008 14.5H4.6924C4.43472 14.5 4.21966 14.4138 4.04723 14.2413C3.87479 14.0689 3.78858 13.8538 3.78858 13.5961V10.4039C3.78858 10.1462 3.87479 9.93114 4.04723 9.75871C4.21966 9.58626 4.43472 9.50003 4.6924 9.50003H6.8347L2.52315 5.18848C2.3847 5.05003 2.31387 4.876 2.31065 4.66638C2.30745 4.45678 2.37828 4.27954 2.52315 4.13466C2.66802 3.98979 2.84366 3.91736 3.05008 3.91736C3.25648 3.91736 3.43211 3.98979 3.57698 4.13466L20 20.5577C20.1385 20.6962 20.2093 20.8702 20.2125 21.0798C20.2157 21.2894 20.1449 21.4667 20 21.6115C19.8551 21.7564 19.6795 21.8288 19.4731 21.8288C19.2667 21.8288 19.0911 21.7564 18.9462 21.6115ZM15.1962 4.17888C16.7872 4.83658 18.0657 5.86575 19.0318 7.26638C19.9978 8.66702 20.4808 10.2366 20.4808 11.975C20.4808 12.8519 20.3503 13.6939 20.0894 14.501C19.8285 15.308 19.4603 16.0519 18.9846 16.7327L17.9096 15.6577C18.2571 15.1154 18.5225 14.5337 18.7058 13.9125C18.8892 13.2914 18.9808 12.6455 18.9808 11.975C18.9808 10.534 18.5815 9.23496 17.7828 8.07791C16.984 6.92086 15.9244 6.07567 14.6039 5.54233C14.4654 5.48848 14.359 5.40579 14.2847 5.29426C14.2103 5.18272 14.1732 5.05772 14.1732 4.91926C14.1732 4.64234 14.2812 4.4244 14.4972 4.26543C14.7132 4.10647 14.9462 4.07762 15.1962 4.17888ZM15.9231 13.6712L14.1732 11.9212V8.29618C14.8475 8.66285 15.3686 9.17919 15.7366 9.84521C16.1045 10.5112 16.2885 11.2295 16.2885 12C16.2885 12.2949 16.258 12.5824 16.1972 12.8625C16.1363 13.1426 16.0449 13.4122 15.9231 13.6712ZM11.7885 9.53658L9.63083 7.36928L10.252 6.74816C10.5366 6.46354 10.8638 6.39912 11.2337 6.55488C11.6036 6.71067 11.7885 6.99112 11.7885 7.39623V9.53658Z",fill:"#2C3336"}))))},nu=function(e){return y_.createElement("svg",fe({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"mask0_6_3055",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},eu||(eu=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),tu||(tu=y_.createElement("g",{mask:"url(#mask0_6_3055)"},y_.createElement("path",{d:"M18.9462 21.6115L16.4577 19.1231C16.25 19.2436 16.0439 19.3583 15.8394 19.4673C15.635 19.5762 15.4206 19.6775 15.1962 19.7711C14.9462 19.8724 14.7132 19.8419 14.4972 19.6798C14.2812 19.5176 14.1732 19.2929 14.1732 19.0058C14.1732 18.8673 14.2145 18.7465 14.2972 18.6433C14.3799 18.5401 14.4821 18.4615 14.6039 18.4077C14.7372 18.3577 14.868 18.3019 14.9962 18.2404C15.1244 18.1789 15.2501 18.1115 15.3731 18.0385L11.7885 14.4538V16.6038C11.7885 17.0089 11.6036 17.2893 11.2337 17.4451C10.8638 17.6009 10.5366 17.5365 10.252 17.2519L7.50008 14.5H4.6924C4.43472 14.5 4.21966 14.4138 4.04723 14.2413C3.87479 14.0689 3.78858 13.8538 3.78858 13.5961V10.4039C3.78858 10.1462 3.87479 9.93114 4.04723 9.75871C4.21966 9.58626 4.43472 9.50003 4.6924 9.50003H6.8347L2.52315 5.18848C2.3847 5.05003 2.31387 4.876 2.31065 4.66638C2.30745 4.45678 2.37828 4.27954 2.52315 4.13466C2.66802 3.98979 2.84366 3.91736 3.05008 3.91736C3.25648 3.91736 3.43211 3.98979 3.57698 4.13466L20 20.5577C20.1385 20.6962 20.2093 20.8702 20.2125 21.0798C20.2157 21.2894 20.1449 21.4667 20 21.6115C19.8551 21.7564 19.6795 21.8288 19.4731 21.8288C19.2667 21.8288 19.0911 21.7564 18.9462 21.6115ZM15.1962 4.17888C16.7872 4.83658 18.0657 5.86575 19.0318 7.26638C19.9978 8.66702 20.4808 10.2366 20.4808 11.975C20.4808 12.8519 20.3503 13.6939 20.0894 14.501C19.8285 15.308 19.4603 16.0519 18.9846 16.7327L17.9096 15.6577C18.2571 15.1154 18.5225 14.5337 18.7058 13.9125C18.8892 13.2914 18.9808 12.6455 18.9808 11.975C18.9808 10.534 18.5815 9.23496 17.7828 8.07791C16.984 6.92086 15.9244 6.07567 14.6039 5.54233C14.4654 5.48848 14.359 5.40579 14.2847 5.29426C14.2103 5.18272 14.1732 5.05772 14.1732 4.91926C14.1732 4.64234 14.2812 4.4244 14.4972 4.26543C14.7132 4.10647 14.9462 4.07762 15.1962 4.17888ZM15.9231 13.6712L14.1732 11.9212V8.29618C14.8475 8.66285 15.3686 9.17919 15.7366 9.84521C16.1045 10.5112 16.2885 11.2295 16.2885 12C16.2885 12.2949 16.258 12.5824 16.1972 12.8625C16.1363 13.1426 16.0449 13.4122 15.9231 13.6712ZM11.7885 9.53658L9.63083 7.36928L10.252 6.74816C10.5366 6.46354 10.8638 6.39912 11.2337 6.55488C11.6036 6.71067 11.7885 6.99112 11.7885 7.39623V9.53658ZM10.2885 15.15V12.9539L8.33468 11H5.28853V13H8.13853L10.2885 15.15Z",fill:"#2C3336"}))))},iu=function(e){return y_.createElement("svg",ge({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"mask0_6_3046",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},ou||(ou=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),ru||(ru=y_.createElement("g",{mask:"url(#mask0_6_3046)"},y_.createElement("path",{d:"M15.0614 19.7711C14.8114 19.8724 14.5784 19.8419 14.3624 19.6798C14.1464 19.5176 14.0384 19.2929 14.0384 19.0057C14.0384 18.8673 14.0797 18.7464 14.1624 18.6432C14.2451 18.54 14.3473 18.4615 14.4691 18.4077C15.7896 17.8743 16.8493 17.0291 17.648 15.8721C18.4467 14.715 18.8461 13.416 18.8461 11.975C18.8461 10.534 18.4467 9.23494 17.648 8.07789C16.8493 6.92084 15.7896 6.07564 14.4691 5.54231C14.3307 5.48846 14.2243 5.40577 14.1499 5.29424C14.0756 5.1827 14.0384 5.0577 14.0384 4.91924C14.0384 4.64232 14.1464 4.42438 14.3624 4.26541C14.5784 4.10644 14.8114 4.07759 15.0614 4.17886C16.646 4.83656 17.9229 5.86573 18.8922 7.26636C19.8614 8.66699 20.346 10.2365 20.346 11.975C20.346 13.7134 19.8614 15.283 18.8922 16.6836C17.9229 18.0842 16.646 19.1134 15.0614 19.7711ZM4.55763 14.5C4.29995 14.5 4.08489 14.4137 3.91246 14.2413C3.74003 14.0689 3.65381 13.8538 3.65381 13.5961V10.4039C3.65381 10.1462 3.74003 9.93112 3.91246 9.75869C4.08489 9.58624 4.29995 9.50001 4.55763 9.50001H7.36531L10.1172 6.74814C10.4018 6.46352 10.7291 6.39909 11.0989 6.55486C11.4688 6.71064 11.6537 6.99109 11.6537 7.39621V16.6038C11.6537 17.0089 11.4688 17.2893 11.0989 17.4451C10.7291 17.6009 10.4018 17.5365 10.1172 17.2518L7.36531 14.5H4.55763ZM14.0384 15.6538V8.29616C14.6858 8.64616 15.2002 9.15417 15.5816 9.82019C15.963 10.4862 16.1537 11.2128 16.1537 12C16.1537 12.7872 15.963 13.5054 15.5816 14.1548C15.2002 14.8041 14.6858 15.3038 14.0384 15.6538Z",fill:"#2C3336"}))))},su=function(e){return y_.createElement("svg",he({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"mask0_6_3058",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},au||(au=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),lu||(lu=y_.createElement("g",{mask:"url(#mask0_6_3058)"},y_.createElement("path",{d:"M15.0614 19.7711C14.8114 19.8724 14.5784 19.8418 14.3624 19.6793C14.1464 19.5168 14.0384 19.2918 14.0384 19.0043C14.0384 18.8668 14.0797 18.7464 14.1624 18.6432C14.2451 18.54 14.3473 18.4615 14.4691 18.4077C15.7896 17.8743 16.8493 17.0291 17.648 15.8721C18.4467 14.715 18.8461 13.416 18.8461 11.975C18.8461 10.534 18.4467 9.23494 17.648 8.07789C16.8493 6.92084 15.7896 6.07564 14.4691 5.54231C14.3307 5.48846 14.2243 5.4052 14.1499 5.29254C14.0756 5.17987 14.0384 5.05469 14.0384 4.91699C14.0384 4.64157 14.1464 4.42438 14.3624 4.26541C14.5784 4.10644 14.8114 4.07759 15.0614 4.17886C16.646 4.83656 17.9229 5.86503 18.8922 7.26426C19.8614 8.66348 20.346 10.2337 20.346 11.975C20.346 13.7163 19.8614 15.2865 18.8922 16.6857C17.9229 18.0849 16.646 19.1134 15.0614 19.7711ZM4.55763 14.5C4.30155 14.5 4.08689 14.4133 3.91366 14.2401C3.74043 14.0669 3.65381 13.8522 3.65381 13.5961V10.4039C3.65381 10.1478 3.74043 9.93312 3.91366 9.75989C4.08689 9.58664 4.30155 9.50001 4.55763 9.50001H7.36531L10.1172 6.74814C10.4018 6.46352 10.7291 6.39959 11.0989 6.55636C11.4688 6.71314 11.6537 6.99309 11.6537 7.39621V16.6038C11.6537 17.0069 11.4688 17.2868 11.0989 17.4436C10.7291 17.6004 10.4018 17.5365 10.1172 17.2518L7.36531 14.5H4.55763ZM14.0384 15.6538V8.29616C14.6858 8.64616 15.2002 9.15417 15.5816 9.82019C15.963 10.4862 16.1537 11.2128 16.1537 12C16.1537 12.7872 15.963 13.5054 15.5816 14.1548C15.2002 14.8041 14.6858 15.3038 14.0384 15.6538ZM10.1538 8.84999L8.00376 11H5.15376V13H8.00376L10.1538 15.15V8.84999Z",fill:"#2C3336"}))))},uu=function(e){return y_.createElement("svg",Ce({viewBox:"0 0 24 24",fill:"none"},e),cu||(cu=y_.createElement("path",{id:"schedule",d:"M13 11.6V8C13 7.71667 12.9042 7.47917 12.7125 7.2875C12.5208 7.09583 12.2833 7 12 7C11.7167 7 11.4792 7.09583 11.2875 7.2875C11.0958 7.47917 11 7.71667 11 8V11.975C11 12.1083 11.025 12.2375 11.075 12.3625C11.125 12.4875 11.2 12.6 11.3 12.7L14.6 16C14.7833 16.1833 15.0167 16.275 15.3 16.275C15.5833 16.275 15.8167 16.1833 16 16C16.1833 15.8167 16.275 15.5833 16.275 15.3C16.275 15.0167 16.1833 14.7833 16 14.6L13 11.6ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22ZM12 20C14.2167 20 16.1042 19.2208 17.6625 17.6625C19.2208 16.1042 20 14.2167 20 12C20 9.78333 19.2208 7.89583 17.6625 6.3375C16.1042 4.77917 14.2167 4 12 4C9.78333 4 7.89583 4.77917 6.3375 6.3375C4.77917 7.89583 4 9.78333 4 12C4 14.2167 4.77917 16.1042 6.3375 17.6625C7.89583 19.2208 9.78333 20 12 20Z",fill:"#02BF6F"})))},pu=function(e){return y_.createElement("svg",be({viewBox:"0 0 24 24",fill:"none"},e),du||(du=y_.createElement("path",{d:"M21.841 3.09098L19.409 0.659016C18.9871 0.237058 18.4148 3.12036e-06 17.818 0L9.75 0C8.50734 0 7.5 1.00734 7.5 2.25V4.5H3.75C2.50734 4.5 1.5 5.50734 1.5 6.75V21.75C1.5 22.9927 2.50734 24 3.75 24H14.25C15.4927 24 16.5 22.9927 16.5 21.75V19.5H20.25C21.4927 19.5 22.5 18.4927 22.5 17.25V4.68197C22.5 4.08523 22.2629 3.51294 21.841 3.09098ZM18 1.52302C18.1319 1.55555 18.2523 1.62356 18.3483 1.71966L20.7803 4.15167C20.8764 4.24767 20.9444 4.36813 20.9769 4.5H18V1.52302ZM15 21.75C15 22.1635 14.6635 22.5 14.25 22.5H3.75C3.33647 22.5 3 22.1635 3 21.75V6.75C3 6.33647 3.33647 6 3.75 6H7.5V17.25C7.5 18.4927 8.50734 19.5 9.75 19.5H15V21.75ZM21 17.25C21 17.6635 20.6635 18 20.25 18H9.75C9.33647 18 9 17.6635 9 17.25V2.25C9 1.83647 9.33647 1.5 9.75 1.5H16.5V4.875C16.5 5.49375 17.0063 6 17.625 6H21V17.25Z",fill:"#2C3336"})))},fu=function(e){return y_.createElement("svg",ve({viewBox:"0 0 24 24",fill:"none"},e),mu||(mu=y_.createElement("path",{id:"more_horiz",d:"M6 14C5.45 14 4.97917 13.8042 4.5875 13.4125C4.19583 13.0208 4 12.55 4 12C4 11.45 4.19583 10.9792 4.5875 10.5875C4.97917 10.1958 5.45 10 6 10C6.55 10 7.02083 10.1958 7.4125 10.5875C7.80417 10.9792 8 11.45 8 12C8 12.55 7.80417 13.0208 7.4125 13.4125C7.02083 13.8042 6.55 14 6 14ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.45 10.1958 10.9792 10.5875 10.5875C10.9792 10.1958 11.45 10 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14ZM18 14C17.45 14 16.9792 13.8042 16.5875 13.4125C16.1958 13.0208 16 12.55 16 12C16 11.45 16.1958 10.9792 16.5875 10.5875C16.9792 10.1958 17.45 10 18 10C18.55 10 19.0208 10.1958 19.4125 10.5875C19.8042 10.9792 20 11.45 20 12C20 12.55 19.8042 13.0208 19.4125 13.4125C19.0208 13.8042 18.55 14 18 14Z",fill:"#838B97"})))},hu=function(e){return y_.createElement("svg",ye({viewBox:"0 0 24 24",fill:"none"},e),gu||(gu=y_.createElement("path",{d:"M22 13.3333H18.1625L20.0833 11.4125C21.3375 10.1583 20.45 7.99998 18.6708 7.99998H16.0042V3.33331C16.0042 2.22915 15.1083 1.33331 14.0042 1.33331H10.0042C8.9 1.33331 8.00417 2.22915 8.00417 3.33331V7.99998H5.3375C3.5625 7.99998 2.6625 10.1541 3.925 11.4125L5.84583 13.3333H2C0.895833 13.3333 0 14.2291 0 15.3333V20.6666C0 21.7708 0.895833 22.6666 2 22.6666H22C23.1042 22.6666 24 21.7708 24 20.6666V15.3333C24 14.2291 23.1042 13.3333 22 13.3333ZM5.33333 9.99998H10V3.33331H14V9.99998H18.6667L12 16.6666L5.33333 9.99998ZM22 20.6666H2V15.3333H7.8375L10.5833 18.0791C11.3667 18.8625 12.6292 18.8583 13.4125 18.0791L16.1583 15.3333H22V20.6666ZM18.3333 18C18.3333 17.4458 18.7792 17 19.3333 17C19.8875 17 20.3333 17.4458 20.3333 18C20.3333 18.5541 19.8875 19 19.3333 19C18.7792 19 18.3333 18.5541 18.3333 18Z",fill:"#2C3336"})))},bu=function(e){return y_.createElement("svg",we({fill:"none",viewBox:"0 0 12 12"},e),Cu||(Cu=y_.createElement("path",{fill:"#02BF6F",d:"m12 .8-.004 3.4a.3.3 0 0 1-.3.3h-.694a.3.3 0 0 1-.3-.306l.057-1.534-.043-.043-5.81 5.81a.25.25 0 0 1-.353 0l-.48-.48a.25.25 0 0 1 0-.354l5.81-5.81-.043-.042-1.534.056a.3.3 0 0 1-.306-.3V.804a.3.3 0 0 1 .3-.3L11.7.5a.3.3 0 0 1 .3.3ZM8.907 5.37l-.5.5a.25.25 0 0 0-.074.176v3.996a.125.125 0 0 1-.125.125H1.125A.125.125 0 0 1 1 10.042V2.958a.125.125 0 0 1 .125-.125h6.291a.25.25 0 0 0 .177-.426l-.5-.5a.25.25 0 0 0-.177-.074H1a1 1 0 0 0-1 1v7.334a1 1 0 0 0 1 1h7.333a1 1 0 0 0 1-1v-4.62a.25.25 0 0 0-.426-.177Z"})))},yu=function(e){return y_.createElement("svg",Ie({viewBox:"0 0 24 24",fill:"none"},e),vu||(vu=y_.createElement("path",{id:"path",d:"M16.5 11.625V12.9375C16.5 13.2469 16.2469 13.5 15.9375 13.5H8.0625C7.75313 13.5 7.5 13.2469 7.5 12.9375V11.625C7.5 11.3156 7.75313 11.0625 8.0625 11.0625H15.9375C16.2469 11.0625 16.5 11.3156 16.5 11.625ZM15.9375 15H8.0625C7.75313 15 7.5 15.2531 7.5 15.5625V16.875C7.5 17.1844 7.75313 17.4375 8.0625 17.4375H15.9375C16.2469 17.4375 16.5 17.1844 16.5 16.875V15.5625C16.5 15.2531 16.2469 15 15.9375 15ZM21 6.18281V21.75C21 22.9922 19.9922 24 18.75 24H5.25C4.00781 24 3 22.9922 3 21.75V2.25C3 1.00781 4.00781 0 5.25 0H14.8172C15.4125 0 15.9844 0.239063 16.4062 0.660938L20.3391 4.59375C20.7609 5.01094 21 5.5875 21 6.18281ZM15 2.43281V6H18.5672L15 2.43281ZM18.75 21.75V8.25H13.875C13.2516 8.25 12.75 7.74844 12.75 7.125V2.25H5.25V21.75H18.75Z",fill:"#2C3336"})))},Iu=function(e){return y_.createElement("svg",xe({viewBox:"0 0 24 24",fill:"none"},e),wu||(wu=y_.createElement("path",{d:"M11 18C10.7167 18 10.4792 17.9042 10.2875 17.7125C10.0958 17.5208 10 17.2833 10 17C10 16.7167 10.0958 16.4792 10.2875 16.2875C10.4792 16.0958 10.7167 16 11 16H13C13.2833 16 13.5208 16.0958 13.7125 16.2875C13.9042 16.4792 14 16.7167 14 17C14 17.2833 13.9042 17.5208 13.7125 17.7125C13.5208 17.9042 13.2833 18 13 18H11ZM7 13C6.71667 13 6.47917 12.9042 6.2875 12.7125C6.09583 12.5208 6 12.2833 6 12C6 11.7167 6.09583 11.4792 6.2875 11.2875C6.47917 11.0958 6.71667 11 7 11H17C17.2833 11 17.5208 11.0958 17.7125 11.2875C17.9042 11.4792 18 11.7167 18 12C18 12.2833 17.9042 12.5208 17.7125 12.7125C17.5208 12.9042 17.2833 13 17 13H7ZM4 8C3.71667 8 3.47917 7.90417 3.2875 7.7125C3.09583 7.52083 3 7.28333 3 7C3 6.71667 3.09583 6.47917 3.2875 6.2875C3.47917 6.09583 3.71667 6 4 6H20C20.2833 6 20.5208 6.09583 20.7125 6.2875C20.9042 6.47917 21 6.71667 21 7C21 7.28333 20.9042 7.52083 20.7125 7.7125C20.5208 7.90417 20.2833 8 20 8H4Z",fill:"#1C1B1F"})))},Eu=function(e){return y_.createElement("svg",Ee({viewBox:"0 0 24 24"},e),xu||(xu=y_.createElement("path",{d:"M20 5h-3.17L15 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m-8 13c-2.76 0-5-2.24-5-5H5l2.5-2.5L10 13H8c0 2.21 1.79 4 4 4 .58 0 1.13-.13 1.62-.35l.74.74c-.71.37-1.5.61-2.36.61m4.5-2.5L14 13h2c0-2.21-1.79-4-4-4-.58 0-1.13.13-1.62.35l-.74-.73C10.35 8.24 11.14 8 12 8c2.76 0 5 2.24 5 5h2z"})))},Au=function(e){return y_.createElement("svg",_e({viewBox:"0 0 24 24"},e),_u||(_u=y_.createElement("path",{d:"m22.846 14.798-1.997-1.153a9.027 9.027 0 0 0 0-3.29L22.846 9.2a.566.566 0 0 0 .258-.656 11.673 11.673 0 0 0-2.564-4.434.564.564 0 0 0-.694-.108l-1.997 1.153A8.846 8.846 0 0 0 15 3.511V1.209a.562.562 0 0 0-.44-.548 11.784 11.784 0 0 0-5.12 0 .562.562 0 0 0-.44.548v2.307A9.126 9.126 0 0 0 6.15 5.16L4.157 4.008a.557.557 0 0 0-.694.108A11.604 11.604 0 0 0 .9 8.55a.56.56 0 0 0 .258.656l1.997 1.153a9.03 9.03 0 0 0 0 3.29l-1.997 1.154a.566.566 0 0 0-.258.656 11.675 11.675 0 0 0 2.564 4.435.564.564 0 0 0 .694.108l1.997-1.154a8.847 8.847 0 0 0 2.85 1.646V22.8c0 .262.183.492.44.548 1.72.385 3.483.366 5.12 0a.562.562 0 0 0 .44-.548v-2.306a9.125 9.125 0 0 0 2.85-1.646l1.997 1.154c.23.13.515.089.693-.108a11.605 11.605 0 0 0 2.564-4.435.579.579 0 0 0-.262-.66Zm-10.847.952A3.755 3.755 0 0 1 8.25 12 3.755 3.755 0 0 1 12 8.25 3.755 3.755 0 0 1 15.75 12 3.755 3.755 0 0 1 12 15.75Z"})))},Ru=function(e){return y_.createElement("svg",Ae({viewBox:"0 0 24 24",fill:"none"},e),Mu||(Mu=y_.createElement("path",{id:"path",d:"M12 19.3125C11.2734 19.3125 10.6875 18.7266 10.6875 18V15C10.6875 14.2735 11.2734 13.6875 12 13.6875C12.7266 13.6875 13.3125 14.2735 13.3125 15V18C13.3125 18.7266 12.7266 19.3125 12 19.3125ZM22.5 11.25V21.75C22.5 22.9922 21.4922 24 20.25 24H3.75C2.50781 24 1.5 22.9922 1.5 21.75V11.25C1.5 10.0078 2.50781 9.00002 3.75 9.00002H5.25V6.75002C5.25 3.02346 8.2875 -0.00935332 12.0187 2.16765e-05C15.75 0.00939668 18.75 3.0844 18.75 6.81565V9.00002H20.25C21.4922 9.00002 22.5 10.0078 22.5 11.25ZM7.5 9.00002H16.5V6.75002C16.5 4.27033 14.4797 2.25002 12 2.25002C9.52031 2.25002 7.5 4.27033 7.5 6.75002V9.00002ZM20.25 11.25H3.75V21.75H20.25V11.25Z",fill:"#2C3336"})))},Ou=function(e){return y_.createElement("svg",Me({viewBox:"0 0 24 24",fill:"none"},e),Vu||(Vu=y_.createElement("path",{d:"M4 20C3.45 20 2.97917 19.8042 2.5875 19.4125C2.19583 19.0208 2 18.55 2 18V6C2 5.45 2.19583 4.97917 2.5875 4.5875C2.97917 4.19583 3.45 4 4 4H20C20.55 4 21.0208 4.19583 21.4125 4.5875C21.8042 4.97917 22 5.45 22 6V18C22 18.55 21.8042 19.0208 21.4125 19.4125C21.0208 19.8042 20.55 20 20 20H4ZM20 8L12.525 12.675C12.4417 12.725 12.3542 12.7625 12.2625 12.7875C12.1708 12.8125 12.0833 12.825 12 12.825C11.9167 12.825 11.8292 12.8125 11.7375 12.7875C11.6458 12.7625 11.5583 12.725 11.475 12.675L4 8V18H20V8ZM12 11L20 6H4L12 11ZM4 8.25V6.775V6.8V6.7875V8.25Z",fill:"#1C1B1F"})))},Pu=function(e){return y_.createElement("svg",Re({fill:"none",viewBox:"0 0 16 16"},e),Su||(Su=y_.createElement("path",{fill:"#42454B",d:"m15.262 6.708-11-6.503C3.37-.323 2 .19 2 1.495V14.5c0 1.172 1.272 1.878 2.263 1.29l11-6.5c.98-.578.984-2.002 0-2.58Z"})))},Lu=function(e){return y_.createElement("svg",Ve({viewBox:"0 0 24 24",fill:"none"},e),Nu||(Nu=y_.createElement("path",{d:"M23.4375 0.375H22.1385C21.8227 0.375 21.5687 0.635062 21.5762 0.950906L21.6862 5.57161C19.6037 2.43952 16.0432 0.375 12 0.375C6.31936 0.375 1.59061 4.44956 0.576375 9.8355C0.511312 10.1809 0.778313 10.5 1.12983 10.5H2.46933C2.7353 10.5 2.96348 10.3133 3.0195 10.0533C3.9113 5.91225 7.58986 2.8125 12 2.8125C15.7287 2.8125 18.9348 5.02884 20.3754 8.21728L14.4509 8.07623C14.1351 8.06873 13.875 8.32266 13.875 8.63859V9.9375C13.875 10.2481 14.1269 10.5 14.4375 10.5H23.4375C23.7481 10.5 24 10.2481 24 9.9375V0.9375C24 0.626859 23.7481 0.375 23.4375 0.375ZM22.8702 13.5H21.5307C21.2647 13.5 21.0365 13.6867 20.9805 13.9467C20.0887 18.0877 16.4101 21.1875 12 21.1875C8.27128 21.1875 5.06522 18.9712 3.62456 15.7827L9.54909 15.9238C9.86489 15.9313 10.125 15.6773 10.125 15.3614V14.0625C10.125 13.7519 9.87314 13.5 9.5625 13.5H0.5625C0.251859 13.5 0 13.7519 0 14.0625V23.0625C0 23.3731 0.251859 23.625 0.5625 23.625H1.86145C2.17734 23.625 2.43131 23.3649 2.42381 23.0491L2.3138 18.4284C4.39631 21.5605 7.95675 23.625 12 23.625C17.6806 23.625 22.4094 19.5504 23.4236 14.1645C23.4887 13.8191 23.2217 13.5 22.8702 13.5Z",fill:"#2C3336"})))},Gu=function(e){return y_.createElement("svg",Oe({viewBox:"0 0 24 24",fill:"none"},e),Bu||(Bu=y_.createElement("path",{d:"M12.3125 0.375C5.89062 0.375 0.6875 5.57812 0.6875 12C0.6875 18.4219 5.89062 23.625 12.3125 23.625C18.7344 23.625 23.9375 18.4219 23.9375 12C23.9375 5.57812 18.7344 0.375 12.3125 0.375ZM18.0125 15.0516C18.2328 15.2719 18.2328 15.6281 18.0125 15.8484L16.1562 17.7C15.9359 17.9203 15.5797 17.9203 15.3594 17.7L12.3125 14.625L9.26094 17.7C9.04062 17.9203 8.68437 17.9203 8.46406 17.7L6.6125 15.8438C6.39219 15.6234 6.39219 15.2672 6.6125 15.0469L9.6875 12L6.6125 8.94844C6.39219 8.72812 6.39219 8.37187 6.6125 8.15156L8.46875 6.29531C8.68906 6.075 9.04531 6.075 9.26562 6.29531L12.3125 9.375L15.3641 6.3C15.5844 6.07969 15.9406 6.07969 16.1609 6.3L18.0172 8.15625C18.2375 8.37656 18.2375 8.73281 18.0172 8.95312L14.9375 12L18.0125 15.0516Z",fill:"#2C3336"})))},Du=function(e){return y_.createElement("svg",Se({viewBox:"0 0 24 24",fill:"none"},e),Zu||(Zu=y_.createElement("path",{d:"M21.75 3.75H17.8875L16.2938 1.09219C16.0937 0.758778 15.8106 0.482914 15.4721 0.291499C15.1336 0.100085 14.7513 -0.000346232 14.3625 8.96813e-07H9.6375C9.24866 -0.000346232 8.86636 0.100085 8.52789 0.291499C8.18943 0.482914 7.90634 0.758778 7.70625 1.09219L6.1125 3.75H2.25C2.05109 3.75 1.86032 3.82902 1.71967 3.96967C1.57902 4.11032 1.5 4.30109 1.5 4.5L1.5 5.25C1.5 5.44892 1.57902 5.63968 1.71967 5.78033C1.86032 5.92099 2.05109 6 2.25 6H3L3.99375 21.8906C4.02952 22.4619 4.28164 22.998 4.69878 23.3899C5.11591 23.7818 5.66672 23.9999 6.23906 24H17.7609C18.3333 23.9999 18.8841 23.7818 19.3012 23.3899C19.7184 22.998 19.9705 22.4619 20.0062 21.8906L21 6H21.75C21.9489 6 22.1397 5.92099 22.2803 5.78033C22.421 5.63968 22.5 5.44892 22.5 5.25V4.5C22.5 4.30109 22.421 4.11032 22.2803 3.96967C22.1397 3.82902 21.9489 3.75 21.75 3.75ZM9.6375 2.25H14.3625L15.2625 3.75H8.7375L9.6375 2.25ZM17.7609 21.75H6.23953L5.25516 6H18.7458L17.7609 21.75Z",fill:"#2C3336"})))},Tu=function(e){return y_.createElement("svg",Pe({viewBox:"0 0 24 24",fill:"none"},e),Hu||(Hu=y_.createElement("path",{d:"M0.75 0.375011H2.04895C2.36484 0.375011 2.61881 0.635074 2.61131 0.950918L2.5013 5.57129C4.59023 2.42973 8.16619 0.362355 12.2247 0.375058C18.6178 0.395074 23.8225 5.62543 23.8125 12.0186C23.8025 18.4304 18.6016 23.625 12.1875 23.625C9.19097 23.625 6.45928 22.4912 4.39791 20.6293C4.15823 20.4129 4.14694 20.0405 4.37531 19.8122L5.30053 18.8869C5.51138 18.6761 5.85145 18.6626 6.07402 18.8611C7.69748 20.3084 9.83883 21.1875 12.1875 21.1875C17.2651 21.1875 21.375 17.0784 21.375 12C21.375 6.92242 17.2658 2.81251 12.1875 2.81251C8.45883 2.81251 5.25277 5.02886 3.81211 8.21729L9.7366 8.07625C10.0524 8.06875 10.3125 8.32267 10.3125 8.63861V9.93751C10.3125 10.2482 10.0606 10.5 9.75 10.5H0.75C0.439359 10.5 0.1875 10.2482 0.1875 9.93751V0.937511C0.1875 0.626871 0.439359 0.375011 0.75 0.375011Z",fill:"#2C3336"})))},Wu=function(e){return y_.createElement("svg",Ne({viewBox:"0 0 24 24",fill:"none"},e),y_.createElement("mask",{id:"a",x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},ku||(ku=y_.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),Fu||(Fu=y_.createElement("g",{mask:"url(#a)"},y_.createElement("path",{fill:"#1C1B1F",d:"M11.95 18c.35 0 .646-.12.888-.363.241-.241.362-.537.362-.887s-.12-.646-.362-.887a1.207 1.207 0 0 0-.888-.363 1.2 1.2 0 0 0-.887.363 1.207 1.207 0 0 0-.363.887c0 .35.12.646.363.887.241.242.537.363.887.363Zm.05 4a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12a9.74 9.74 0 0 1 .788-3.9 10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2a9.74 9.74 0 0 1 3.9.788 10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Zm0-2c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-2.233-.775-4.125-2.325-5.675C16.125 4.775 14.233 4 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 2.233.775 4.125 2.325 5.675C7.875 19.225 9.767 20 12 20Zm.1-12.3c.417 0 .78.133 1.088.4.308.267.462.6.462 1 0 .367-.113.692-.338.975-.224.283-.479.55-.762.8a6.7 6.7 0 0 0-1.013 1.1c-.291.4-.437.85-.437 1.35 0 .233.088.43.263.588a.885.885 0 0 0 .612.237.89.89 0 0 0 .638-.25c.175-.167.287-.375.337-.625a2.02 2.02 0 0 1 .45-.938c.233-.274.483-.537.75-.787.383-.367.713-.767.987-1.2a2.65 2.65 0 0 0 .413-1.45c0-.85-.346-1.546-1.038-2.088C13.821 6.271 13.017 6 12.1 6a4.26 4.26 0 0 0-1.813.4 2.796 2.796 0 0 0-1.312 1.225.902.902 0 0 0-.112.637.739.739 0 0 0 .337.513c.233.133.475.175.725.125a.996.996 0 0 0 .625-.425c.183-.25.412-.442.688-.575.274-.133.562-.2.862-.2Z"}))))},zu=function(e){return y_.createElement("svg",Le({viewBox:"0 0 24 24",fill:"none"},e),Xu||(Xu=y_.createElement("path",{d:"M11.95 18C12.3 18 12.5958 17.8792 12.8375 17.6375C13.0792 17.3958 13.2 17.1 13.2 16.75C13.2 16.4 13.0792 16.1042 12.8375 15.8625C12.5958 15.6208 12.3 15.5 11.95 15.5C11.6 15.5 11.3042 15.6208 11.0625 15.8625C10.8208 16.1042 10.7 16.4 10.7 16.75C10.7 17.1 10.8208 17.3958 11.0625 17.6375C11.3042 17.8792 11.6 18 11.95 18ZM11.05 14.15H12.9C12.9 13.6 12.9625 13.1667 13.0875 12.85C13.2125 12.5333 13.5667 12.1 14.15 11.55C14.5833 11.1167 14.925 10.7042 15.175 10.3125C15.425 9.92083 15.55 9.45 15.55 8.9C15.55 7.96667 15.2083 7.25 14.525 6.75C13.8417 6.25 13.0333 6 12.1 6C11.15 6 10.3792 6.25 9.7875 6.75C9.19583 7.25 8.78333 7.85 8.55 8.55L10.2 9.2C10.2833 8.9 10.4708 8.575 10.7625 8.225C11.0542 7.875 11.5 7.7 12.1 7.7C12.6333 7.7 13.0333 7.84583 13.3 8.1375C13.5667 8.42917 13.7 8.75 13.7 9.1C13.7 9.43333 13.6 9.74583 13.4 10.0375C13.2 10.3292 12.95 10.6 12.65 10.85C11.9167 11.5 11.4667 11.9917 11.3 12.325C11.1333 12.6583 11.05 13.2667 11.05 14.15ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22Z",fill:"#1C1B1F"})))},Yu=function(e){return y_.createElement("svg",Be({viewBox:"0 0 24 24",fill:"none"},e),ju||(ju=y_.createElement("path",{d:"M12 17C12.2833 17 12.5208 16.9042 12.7125 16.7125C12.9042 16.5208 13 16.2833 13 16V12C13 11.7167 12.9042 11.4792 12.7125 11.2875C12.5208 11.0958 12.2833 11 12 11C11.7167 11 11.4792 11.0958 11.2875 11.2875C11.0958 11.4792 11 11.7167 11 12V16C11 16.2833 11.0958 16.5208 11.2875 16.7125C11.4792 16.9042 11.7167 17 12 17ZM12 9C12.2833 9 12.5208 8.90417 12.7125 8.7125C12.9042 8.52083 13 8.28333 13 8C13 7.71667 12.9042 7.47917 12.7125 7.2875C12.5208 7.09583 12.2833 7 12 7C11.7167 7 11.4792 7.09583 11.2875 7.2875C11.0958 7.47917 11 7.71667 11 8C11 8.28333 11.0958 8.52083 11.2875 8.7125C11.4792 8.90417 11.7167 9 12 9ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20Z",fill:"#2C3336"})))},Qu=function(e){return y_.createElement("svg",Ge({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},Ju||(Ju=y_.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),Uu||(Uu=y_.createElement("g",{mask:"url(#a)"},y_.createElement("path",{fill:"#2C3336",d:"M12 17a.97.97 0 0 0 .713-.288A.968.968 0 0 0 13 16v-4a.968.968 0 0 0-.287-.713A.968.968 0 0 0 12 11a.968.968 0 0 0-.713.287A.968.968 0 0 0 11 12v4c0 .283.096.52.287.712.192.192.43.288.713.288Zm0-8c.283 0 .52-.096.713-.287A.967.967 0 0 0 13 8a.967.967 0 0 0-.287-.713A.968.968 0 0 0 12 7a.968.968 0 0 0-.713.287A.967.967 0 0 0 11 8c0 .283.096.52.287.713.192.191.43.287.713.287Zm0 13a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12a9.74 9.74 0 0 1 .788-3.9 10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2a9.74 9.74 0 0 1 3.9.788 10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Z"}))))},qu=function(e){return y_.createElement("svg",Ze({viewBox:"0 0 24 24",fill:"none"},e),Ku||(Ku=y_.createElement("path",{d:"M12 1.875C17.5604 1.875 22.125 6.37852 22.125 12C22.125 17.5918 17.5964 22.125 12 22.125C6.41044 22.125 1.875 17.5987 1.875 12C1.875 6.41236 6.40322 1.875 12 1.875ZM12 0.375C5.58014 0.375 0.375 5.58202 0.375 12C0.375 18.4217 5.58014 23.625 12 23.625C18.4199 23.625 23.625 18.4217 23.625 12C23.625 5.58202 18.4199 0.375 12 0.375ZM10.3125 16.5H10.875V10.875H10.3125C10.0019 10.875 9.75 10.6231 9.75 10.3125V9.9375C9.75 9.62686 10.0019 9.375 10.3125 9.375H12.5625C12.8731 9.375 13.125 9.62686 13.125 9.9375V16.5H13.6875C13.9981 16.5 14.25 16.7519 14.25 17.0625V17.4375C14.25 17.7481 13.9981 18 13.6875 18H10.3125C10.0019 18 9.75 17.7481 9.75 17.4375V17.0625C9.75 16.7519 10.0019 16.5 10.3125 16.5ZM12 5.25C11.1716 5.25 10.5 5.92158 10.5 6.75C10.5 7.57842 11.1716 8.25 12 8.25C12.8284 8.25 13.5 7.57842 13.5 6.75C13.5 5.92158 12.8284 5.25 12 5.25Z",fill:"#2C3336"})))},ed=function(e){return y_.createElement("svg",De({viewBox:"0 0 24 24",fill:"none"},e),$u||($u=y_.createElement("path",{d:"M12 0.375C5.58014 0.375 0.375 5.58202 0.375 12C0.375 18.4217 5.58014 23.625 12 23.625C18.4199 23.625 23.625 18.4217 23.625 12C23.625 5.58202 18.4199 0.375 12 0.375ZM12 5.53125C13.0873 5.53125 13.9688 6.41269 13.9688 7.5C13.9688 8.58731 13.0873 9.46875 12 9.46875C10.9127 9.46875 10.0312 8.58731 10.0312 7.5C10.0312 6.41269 10.9127 5.53125 12 5.53125ZM14.625 17.4375C14.625 17.7481 14.3731 18 14.0625 18H9.9375C9.62686 18 9.375 17.7481 9.375 17.4375V16.3125C9.375 16.0019 9.62686 15.75 9.9375 15.75H10.5V12.75H9.9375C9.62686 12.75 9.375 12.4981 9.375 12.1875V11.0625C9.375 10.7519 9.62686 10.5 9.9375 10.5H12.9375C13.2481 10.5 13.5 10.7519 13.5 11.0625V15.75H14.0625C14.3731 15.75 14.625 16.0019 14.625 16.3125V17.4375Z",fill:"#2C3336"})))},od=function(e){return y_.createElement("svg",He({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},td||(td=y_.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),nd||(nd=y_.createElement("g",{mask:"url(#a)"},y_.createElement("path",{fill:"#2C3336",d:"M2.725 21a.973.973 0 0 1-.85-.5 1.098 1.098 0 0 1-.138-.488.898.898 0 0 1 .138-.512l9.25-16a.98.98 0 0 1 .387-.375C11.671 3.042 11.833 3 12 3c.166 0 .329.042.487.125a.983.983 0 0 1 .388.375l9.25 16c.1.167.146.337.137.512a1.098 1.098 0 0 1-.137.488.973.973 0 0 1-.85.5H2.725ZM12 18c.283 0 .52-.096.712-.288A.968.968 0 0 0 13 17a.968.968 0 0 0-.288-.712A.968.968 0 0 0 12 16a.968.968 0 0 0-.713.288A.968.968 0 0 0 11 17c0 .283.096.52.287.712.192.192.43.288.713.288Zm0-3a.97.97 0 0 0 .712-.287A.968.968 0 0 0 13 14v-3a.968.968 0 0 0-.288-.713A.968.968 0 0 0 12 10a.968.968 0 0 0-.713.287A.968.968 0 0 0 11 11v3c0 .283.096.52.287.713.192.191.43.287.713.287Z"}))))},ad=function(e){return y_.createElement("svg",Te({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"mask0_555_3367",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},rd||(rd=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),id||(id=y_.createElement("g",{mask:"url(#mask0_555_3367)"},y_.createElement("path",{d:"M3.42555 20.5C3.25605 20.5 3.10382 20.4586 2.96887 20.3757C2.83392 20.2929 2.72897 20.1836 2.654 20.0481C2.57602 19.9135 2.53312 19.7676 2.52532 19.6106C2.51752 19.4535 2.5599 19.298 2.65245 19.144L11.2132 4.35616C11.3057 4.20212 11.4216 4.08825 11.5607 4.01453C11.6998 3.9408 11.8462 3.90393 12.0001 3.90393C12.1539 3.90393 12.3004 3.9408 12.4395 4.01453C12.5786 4.08825 12.6944 4.20212 12.787 4.35616L21.3477 19.144C21.4403 19.298 21.4827 19.4535 21.4749 19.6106C21.4671 19.7676 21.4242 19.9135 21.3462 20.0481C21.2712 20.1836 21.1663 20.2929 21.0313 20.3757C20.8964 20.4586 20.7441 20.5 20.5746 20.5H3.42555ZM4.4501 19H19.5501L12.0001 6.00003L4.4501 19ZM12.0001 17.8077C12.2289 17.8077 12.4208 17.7303 12.5756 17.5755C12.7304 17.4207 12.8078 17.2289 12.8078 17C12.8078 16.7712 12.7304 16.5794 12.5756 16.4246C12.4208 16.2698 12.2289 16.1924 12.0001 16.1924C11.7712 16.1924 11.5794 16.2698 11.4246 16.4246C11.2698 16.5794 11.1924 16.7712 11.1924 17C11.1924 17.2289 11.2698 17.4207 11.4246 17.5755C11.5794 17.7303 11.7712 17.8077 12.0001 17.8077ZM12.0004 15.1924C12.213 15.1924 12.3911 15.1205 12.5347 14.9767C12.6783 14.833 12.7501 14.6549 12.7501 14.4424V10.9423C12.7501 10.7298 12.6782 10.5517 12.5344 10.408C12.3906 10.2642 12.2124 10.1924 11.9998 10.1924C11.7872 10.1924 11.6091 10.2642 11.4655 10.408C11.3219 10.5517 11.2501 10.7298 11.2501 10.9423V14.4424C11.2501 14.6549 11.322 14.833 11.4658 14.9767C11.6096 15.1205 11.7878 15.1924 12.0004 15.1924Z",fill:"#2C3336"}))))},sd=function(e){return y_.createElement("svg",ke({viewBox:"0 0 24 24",fill:"none"},e),ld||(ld=y_.createElement("path",{d:"M3 21C2.71667 21 2.47917 20.9042 2.2875 20.7125C2.09583 20.5208 2 20.2833 2 20C2 19.7167 2.09583 19.4792 2.2875 19.2875C2.47917 19.0958 2.71667 19 3 19H21C21.2833 19 21.5208 19.0958 21.7125 19.2875C21.9042 19.4792 22 19.7167 22 20C22 20.2833 21.9042 20.5208 21.7125 20.7125C21.5208 20.9042 21.2833 21 21 21H3ZM4.5 18C4.08333 18 3.72917 17.8542 3.4375 17.5625C3.14583 17.2708 3 16.9167 3 16.5V12.5C3 12.0833 3.14583 11.7292 3.4375 11.4375C3.72917 11.1458 4.08333 11 4.5 11C4.91667 11 5.27083 11.1458 5.5625 11.4375C5.85417 11.7292 6 12.0833 6 12.5V16.5C6 16.9167 5.85417 17.2708 5.5625 17.5625C5.27083 17.8542 4.91667 18 4.5 18ZM9.5 18C9.08333 18 8.72917 17.8542 8.4375 17.5625C8.14583 17.2708 8 16.9167 8 16.5V7.5C8 7.08333 8.14583 6.72917 8.4375 6.4375C8.72917 6.14583 9.08333 6 9.5 6C9.91667 6 10.2708 6.14583 10.5625 6.4375C10.8542 6.72917 11 7.08333 11 7.5V16.5C11 16.9167 10.8542 17.2708 10.5625 17.5625C10.2708 17.8542 9.91667 18 9.5 18ZM14.5 18C14.0833 18 13.7292 17.8542 13.4375 17.5625C13.1458 17.2708 13 16.9167 13 16.5V10.5C13 10.0833 13.1458 9.72917 13.4375 9.4375C13.7292 9.14583 14.0833 9 14.5 9C14.9167 9 15.2708 9.14583 15.5625 9.4375C15.8542 9.72917 16 10.0833 16 10.5V16.5C16 16.9167 15.8542 17.2708 15.5625 17.5625C15.2708 17.8542 14.9167 18 14.5 18ZM19.5 18C19.0833 18 18.7292 17.8542 18.4375 17.5625C18.1458 17.2708 18 16.9167 18 16.5V4.5C18 4.08333 18.1458 3.72917 18.4375 3.4375C18.7292 3.14583 19.0833 3 19.5 3C19.9167 3 20.2708 3.14583 20.5625 3.4375C20.8542 3.72917 21 4.08333 21 4.5V16.5C21 16.9167 20.8542 17.2708 20.5625 17.5625C20.2708 17.8542 19.9167 18 19.5 18Z",fill:"#000000"})))},dd=function(e){return y_.createElement("svg",Fe({viewBox:"0 0 24 24",fill:"none"},e),cd||(cd=y_.createElement("path",{id:"path",d:"M1.5 3.75V20.25C1.5 20.8467 1.73705 21.419 2.15901 21.841C2.58097 22.2629 3.15326 22.5 3.75 22.5H20.25C20.8467 22.5 21.419 22.2629 21.841 21.841C22.2629 21.419 22.5 20.8467 22.5 20.25V3.75C22.5 3.15326 22.2629 2.58097 21.841 2.15901C21.419 1.73705 20.8467 1.5 20.25 1.5H3.75C3.15326 1.5 2.58097 1.73705 2.15901 2.15901C1.73705 2.58097 1.5 3.15326 1.5 3.75H1.5ZM6.75 18C6.55109 18 6.36032 17.921 6.21967 17.7803C6.07902 17.6397 6 17.4489 6 17.25V11.25C6 11.0511 6.07902 10.8603 6.21967 10.7197C6.36032 10.579 6.55109 10.5 6.75 10.5H8.25C8.44891 10.5 8.63968 10.579 8.78033 10.7197C8.92098 10.8603 9 11.0511 9 11.25V17.25C9 17.4489 8.92098 17.6397 8.78033 17.7803C8.63968 17.921 8.44891 18 8.25 18H6.75ZM17.25 13.5C17.4489 13.5 17.6397 13.579 17.7803 13.7197C17.921 13.8603 18 14.0511 18 14.25V17.25C18 17.4489 17.921 17.6397 17.7803 17.7803C17.6397 17.921 17.4489 18 17.25 18H15.75C15.5511 18 15.3603 17.921 15.2197 17.7803C15.079 17.6397 15 17.4489 15 17.25V14.25C15 14.0511 15.079 13.8603 15.2197 13.7197C15.3603 13.579 15.5511 13.5 15.75 13.5H17.25ZM12.75 6C12.9489 6 13.1397 6.07902 13.2803 6.21967C13.421 6.36032 13.5 6.55109 13.5 6.75V17.25C13.5 17.4489 13.421 17.6397 13.2803 17.7803C13.1397 17.921 12.9489 18 12.75 18H11.25C11.0511 18 10.8603 17.921 10.7197 17.7803C10.579 17.6397 10.5 17.4489 10.5 17.25V6.75C10.5 6.55109 10.579 6.36032 10.7197 6.21967C10.8603 6.07902 11.0511 6 11.25 6H12.75Z",fill:"#2C3336"})),ud||(ud=y_.createElement("path",{id:"path_2",d:"M9 17.25V11.25C9 11.0511 8.92098 10.8603 8.78033 10.7197C8.63968 10.579 8.44891 10.5 8.25 10.5H6.75C6.55109 10.5 6.36032 10.579 6.21967 10.7197C6.07902 10.8603 6 11.0511 6 11.25V17.25C6 17.4489 6.07902 17.6397 6.21967 17.7803C6.36032 17.921 6.55109 18 6.75 18H8.25C8.44891 18 8.63968 17.921 8.78033 17.7803C8.92098 17.6397 9 17.4489 9 17.25ZM15 14.25V17.25C15 17.4489 15.079 17.6397 15.2197 17.7803C15.3603 17.921 15.5511 18 15.75 18H17.25C17.4489 18 17.6397 17.921 17.7803 17.7803C17.921 17.6397 18 17.4489 18 17.25V14.25C18 14.0511 17.921 13.8603 17.7803 13.7197C17.6397 13.579 17.4489 13.5 17.25 13.5H15.75C15.5511 13.5 15.3603 13.579 15.2197 13.7197C15.079 13.8603 15 14.0511 15 14.25ZM10.5 6.75V17.25C10.5 17.4489 10.579 17.6397 10.7197 17.7803C10.8603 17.921 11.0511 18 11.25 18H12.75C12.9489 18 13.1397 17.921 13.2803 17.7803C13.421 17.6397 13.5 17.4489 13.5 17.25V6.75C13.5 6.55109 13.421 6.36032 13.2803 6.21967C13.1397 6.07902 12.9489 6 12.75 6H11.25C11.0511 6 10.8603 6.07902 10.7197 6.21967C10.579 6.36032 10.5 6.55109 10.5 6.75Z",fill:"#2C3336"})))},md=function(e){return y_.createElement("svg",We({id:"demio-ui-progress-icon",viewBox:"0 0 24 24",fill:"none"},e),pd||(pd=y_.createElement("path",{d:"M12 0C14.3734 2.83022e-08 16.6935 0.703788 18.6668 2.02236C20.6402 3.34094 22.1783 5.21509 23.0866 7.4078C23.9948 9.60051 24.2324 12.0133 23.7694 14.3411C23.3064 16.6689 22.1635 18.8071 20.4853 20.4853C18.8071 22.1635 16.6689 23.3064 14.3411 23.7694C12.0133 24.2324 9.60051 23.9948 7.4078 23.0866C5.21509 22.1783 3.34094 20.6402 2.02236 18.6668C0.703788 16.6935 -5.66044e-08 14.3734 0 12H2.64C2.64 13.8512 3.18895 15.6609 4.21744 17.2001C5.24593 18.7394 6.70777 19.9391 8.41808 20.6475C10.1284 21.3559 12.0104 21.5413 13.826 21.1801C15.6417 20.819 17.3095 19.9275 18.6185 18.6185C19.9275 17.3095 20.819 15.6417 21.1801 13.826C21.5413 12.0104 21.3559 10.1284 20.6475 8.41808C19.9391 6.70777 18.7394 5.24593 17.2001 4.21744C15.6609 3.18895 13.8512 2.64 12 2.64V0Z",fill:"#DEE4E8"})))},gd=function(e){return y_.createElement("svg",Xe({viewBox:"0 0 24 24",fill:"none"},e),fd||(fd=y_.createElement("path",{d:"M18.6 16L13.4 10.85L10.825 13.425C10.4417 13.8083 9.96665 14 9.39999 14C8.83332 14 8.35832 13.8083 7.97499 13.425L2.69999 8.09999C2.51665 7.91665 2.42082 7.68749 2.41249 7.41249C2.40415 7.13749 2.49999 6.89999 2.69999 6.69999C2.88332 6.51665 3.11665 6.42499 3.39999 6.42499C3.68332 6.42499 3.91665 6.51665 4.09999 6.69999L9.39999 12L11.975 9.42499C12.3583 9.04165 12.8333 8.84999 13.4 8.84999C13.9667 8.84999 14.4417 9.04165 14.825 9.42499L20 14.6V13C20 12.7167 20.0958 12.4792 20.2875 12.2875C20.4792 12.0958 20.7167 12 21 12C21.2833 12 21.5208 12.0958 21.7125 12.2875C21.9042 12.4792 22 12.7167 22 13V17C22 17.2833 21.9042 17.5208 21.7125 17.7125C21.5208 17.9042 21.2833 18 21 18H17C16.7167 18 16.4792 17.9042 16.2875 17.7125C16.0958 17.5208 16 17.2833 16 17C16 16.7167 16.0958 16.4792 16.2875 16.2875C16.4792 16.0958 16.7167 16 17 16H18.6Z",fill:"#1C1B1F"})))},Cd=function(e){return y_.createElement("svg",ze({viewBox:"0 0 24 24",fill:"none"},e),hd||(hd=y_.createElement("path",{d:"M2.69999 17.625C2.49999 17.425 2.40415 17.1875 2.41249 16.9125C2.42082 16.6375 2.51665 16.4083 2.69999 16.225L7.97499 10.875C8.35832 10.4917 8.83332 10.3 9.39999 10.3C9.96665 10.3 10.4417 10.4917 10.825 10.875L13.4 13.475L18.6 8.32501H17C16.7167 8.32501 16.4792 8.22918 16.2875 8.03751C16.0958 7.84585 16 7.60835 16 7.32501C16 7.04168 16.0958 6.80418 16.2875 6.61251C16.4792 6.42085 16.7167 6.32501 17 6.32501H21C21.2833 6.32501 21.5208 6.42085 21.7125 6.61251C21.9042 6.80418 22 7.04168 22 7.32501V11.325C22 11.6083 21.9042 11.8458 21.7125 12.0375C21.5208 12.2292 21.2833 12.325 21 12.325C20.7167 12.325 20.4792 12.2292 20.2875 12.0375C20.0958 11.8458 20 11.6083 20 11.325V9.72501L14.825 14.9C14.4417 15.2833 13.9667 15.475 13.4 15.475C12.8333 15.475 12.3583 15.2833 11.975 14.9L9.39999 12.325L4.09999 17.625C3.91665 17.8083 3.68332 17.9 3.39999 17.9C3.11665 17.9 2.88332 17.8083 2.69999 17.625Z",fill:"#1C1B1F"})))},yd=function(e){return y_.createElement("svg",je({viewBox:"0 0 32 32",fill:"none"},e),y_.createElement("g",{id:"calendar_month_fill"},y_.createElement("mask",{id:"mask0_725_11363",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:32,height:32},bd||(bd=y_.createElement("rect",{id:"Bounding box",width:32,height:32,fill:"#D9D9D9"}))),vd||(vd=y_.createElement("g",{mask:"url(#mask0_725_11363)"},y_.createElement("path",{id:"calendar_month",d:"M6.66667 29.3332C5.93333 29.3332 5.30556 29.0721 4.78333 28.5498C4.26111 28.0276 4 27.3998 4 26.6665V7.99984C4 7.2665 4.26111 6.63873 4.78333 6.1165C5.30556 5.59428 5.93333 5.33317 6.66667 5.33317H8V3.99984C8 3.62206 8.12778 3.30539 8.38333 3.04984C8.63889 2.79428 8.95556 2.6665 9.33333 2.6665C9.71111 2.6665 10.0278 2.79428 10.2833 3.04984C10.5389 3.30539 10.6667 3.62206 10.6667 3.99984V5.33317H21.3333V3.99984C21.3333 3.62206 21.4611 3.30539 21.7167 3.04984C21.9722 2.79428 22.2889 2.6665 22.6667 2.6665C23.0444 2.6665 23.3611 2.79428 23.6167 3.04984C23.8722 3.30539 24 3.62206 24 3.99984V5.33317H25.3333C26.0667 5.33317 26.6944 5.59428 27.2167 6.1165C27.7389 6.63873 28 7.2665 28 7.99984V26.6665C28 27.3998 27.7389 28.0276 27.2167 28.5498C26.6944 29.0721 26.0667 29.3332 25.3333 29.3332H6.66667ZM6.66667 26.6665H25.3333V13.3332H6.66667V26.6665ZM16 18.6665C15.6222 18.6665 15.3056 18.5387 15.05 18.2832C14.7944 18.0276 14.6667 17.7109 14.6667 17.3332C14.6667 16.9554 14.7944 16.6387 15.05 16.3832C15.3056 16.1276 15.6222 15.9998 16 15.9998C16.3778 15.9998 16.6944 16.1276 16.95 16.3832C17.2056 16.6387 17.3333 16.9554 17.3333 17.3332C17.3333 17.7109 17.2056 18.0276 16.95 18.2832C16.6944 18.5387 16.3778 18.6665 16 18.6665ZM10.6667 18.6665C10.2889 18.6665 9.97222 18.5387 9.71667 18.2832C9.46111 18.0276 9.33333 17.7109 9.33333 17.3332C9.33333 16.9554 9.46111 16.6387 9.71667 16.3832C9.97222 16.1276 10.2889 15.9998 10.6667 15.9998C11.0444 15.9998 11.3611 16.1276 11.6167 16.3832C11.8722 16.6387 12 16.9554 12 17.3332C12 17.7109 11.8722 18.0276 11.6167 18.2832C11.3611 18.5387 11.0444 18.6665 10.6667 18.6665ZM21.3333 18.6665C20.9556 18.6665 20.6389 18.5387 20.3833 18.2832C20.1278 18.0276 20 17.7109 20 17.3332C20 16.9554 20.1278 16.6387 20.3833 16.3832C20.6389 16.1276 20.9556 15.9998 21.3333 15.9998C21.7111 15.9998 22.0278 16.1276 22.2833 16.3832C22.5389 16.6387 22.6667 16.9554 22.6667 17.3332C22.6667 17.7109 22.5389 18.0276 22.2833 18.2832C22.0278 18.5387 21.7111 18.6665 21.3333 18.6665ZM16 23.9998C15.6222 23.9998 15.3056 23.8721 15.05 23.6165C14.7944 23.361 14.6667 23.0443 14.6667 22.6665C14.6667 22.2887 14.7944 21.9721 15.05 21.7165C15.3056 21.4609 15.6222 21.3332 16 21.3332C16.3778 21.3332 16.6944 21.4609 16.95 21.7165C17.2056 21.9721 17.3333 22.2887 17.3333 22.6665C17.3333 23.0443 17.2056 23.361 16.95 23.6165C16.6944 23.8721 16.3778 23.9998 16 23.9998ZM10.6667 23.9998C10.2889 23.9998 9.97222 23.8721 9.71667 23.6165C9.46111 23.361 9.33333 23.0443 9.33333 22.6665C9.33333 22.2887 9.46111 21.9721 9.71667 21.7165C9.97222 21.4609 10.2889 21.3332 10.6667 21.3332C11.0444 21.3332 11.3611 21.4609 11.6167 21.7165C11.8722 21.9721 12 22.2887 12 22.6665C12 23.0443 11.8722 23.361 11.6167 23.6165C11.3611 23.8721 11.0444 23.9998 10.6667 23.9998ZM21.3333 23.9998C20.9556 23.9998 20.6389 23.8721 20.3833 23.6165C20.1278 23.361 20 23.0443 20 22.6665C20 22.2887 20.1278 21.9721 20.3833 21.7165C20.6389 21.4609 20.9556 21.3332 21.3333 21.3332C21.7111 21.3332 22.0278 21.4609 22.2833 21.7165C22.5389 21.9721 22.6667 22.2887 22.6667 22.6665C22.6667 23.0443 22.5389 23.361 22.2833 23.6165C22.0278 23.8721 21.7111 23.9998 21.3333 23.9998Z",fill:"#11B06E"})))))},xd=function(e){return y_.createElement("svg",Ye({viewBox:"0 0 24 24",fill:"none"},e),wd||(wd=y_.createElement("path",{id:"path",opacity:.4,d:"M1.19995 9V21.75C1.19995 22.3467 1.437 22.919 1.85896 23.341C2.28092 23.7629 2.85321 24 3.44995 24H19.95C20.5467 24 21.119 23.7629 21.5409 23.341C21.9629 22.919 22.2 22.3467 22.2 21.75V9H1.19995ZM16.3935 15.652C16.3759 15.7751 16.3176 15.8888 16.2281 15.975L14.3718 17.7844L14.8125 20.3438C14.8296 20.4469 14.8176 20.5529 14.7779 20.6497C14.7381 20.7464 14.6722 20.8302 14.5875 20.8915C14.5027 20.9529 14.4026 20.9894 14.2982 20.997C14.1939 21.0045 14.0895 20.9829 13.9968 20.9344L11.7 19.725L9.40776 20.9344C9.31507 20.9829 9.21069 21.0045 9.10635 20.997C9.00201 20.9894 8.90185 20.9529 8.81712 20.8915C8.73239 20.8302 8.66645 20.7464 8.6267 20.6497C8.58696 20.5529 8.57499 20.4469 8.59214 20.3438L9.03276 17.7844L7.17651 15.975C7.10096 15.902 7.04739 15.8092 7.02186 15.7073C6.99633 15.6053 6.99987 15.4983 7.03207 15.3982C7.06428 15.2982 7.12386 15.2092 7.20407 15.1413C7.28428 15.0734 7.38191 15.0293 7.48589 15.0141L10.05 14.6391L11.1984 12.3141C11.2449 12.2202 11.3168 12.1412 11.4058 12.086C11.4948 12.0308 11.5975 12.0015 11.7023 12.0015C11.8071 12.0015 11.9097 12.0308 11.9988 12.086C12.0878 12.1412 12.1596 12.2202 12.2062 12.3141L13.3546 14.6391L15.9187 15.0141C16.0663 15.0357 16.1992 15.1151 16.2882 15.2347C16.3772 15.3544 16.4151 15.5045 16.3935 15.652ZM15.45 6H16.95C17.1489 6 17.3396 5.92098 17.4803 5.78033C17.6209 5.63968 17.7 5.44891 17.7 5.25V0.75C17.7 0.551088 17.6209 0.360322 17.4803 0.21967C17.3396 0.0790176 17.1489 0 16.95 0L15.45 0C15.251 0 15.0603 0.0790176 14.9196 0.21967C14.779 0.360322 14.7 0.551088 14.7 0.75V5.25C14.7 5.44891 14.779 5.63968 14.9196 5.78033C15.0603 5.92098 15.251 6 15.45 6ZM6.44995 6H7.94995C8.14886 6 8.33963 5.92098 8.48028 5.78033C8.62093 5.63968 8.69995 5.44891 8.69995 5.25V0.75C8.69995 0.551088 8.62093 0.360322 8.48028 0.21967C8.33963 0.0790176 8.14886 0 7.94995 0L6.44995 0C6.25104 0 6.06027 0.0790176 5.91962 0.21967C5.77897 0.360322 5.69995 0.551088 5.69995 0.75V5.25C5.69995 5.44891 5.77897 5.63968 5.91962 5.78033C6.06027 5.92098 6.25104 6 6.44995 6Z",fill:"#2C3336"})),Id||(Id=y_.createElement("path",{id:"path_2",d:"M15.9187 15.0141L13.3546 14.6391L12.2062 12.3141C12.1596 12.2202 12.0878 12.1412 11.9988 12.086C11.9097 12.0308 11.8071 12.0015 11.7023 12.0015C11.5975 12.0015 11.4948 12.0308 11.4058 12.086C11.3168 12.1412 11.2449 12.2202 11.1984 12.3141L10.05 14.6391L7.48589 15.0141C7.38191 15.0293 7.28428 15.0734 7.20407 15.1413C7.12386 15.2092 7.06428 15.2982 7.03207 15.3982C6.99987 15.4983 6.99633 15.6053 7.02186 15.7073C7.04739 15.8092 7.10096 15.902 7.17651 15.975L9.03276 17.7844L8.59214 20.3438C8.57499 20.4469 8.58696 20.5529 8.6267 20.6497C8.66645 20.7464 8.73239 20.8302 8.81712 20.8915C8.90185 20.9529 9.00201 20.9894 9.10635 20.997C9.21069 21.0045 9.31507 20.9829 9.40776 20.9344L11.7 19.725L13.9968 20.9344C14.0895 20.9829 14.1939 21.0045 14.2982 20.997C14.4026 20.9894 14.5027 20.9529 14.5875 20.8915C14.6722 20.8302 14.7381 20.7464 14.7779 20.6497C14.8176 20.5529 14.8296 20.4469 14.8125 20.3438L14.3718 17.7844L16.2281 15.975C16.3036 15.902 16.3572 15.8092 16.3827 15.7073C16.4083 15.6053 16.4047 15.4983 16.3725 15.3982C16.3403 15.2982 16.2807 15.2092 16.2005 15.1413C16.1203 15.0734 16.0227 15.0293 15.9187 15.0141ZM19.95 3H17.7V5.25C17.7 5.44891 17.6209 5.63968 17.4803 5.78033C17.3396 5.92098 17.1489 6 16.95 6H15.45C15.251 6 15.0603 5.92098 14.9196 5.78033C14.779 5.63968 14.7 5.44891 14.7 5.25V3H8.69995V5.25C8.69995 5.44891 8.62093 5.63968 8.48028 5.78033C8.33963 5.92098 8.14886 6 7.94995 6H6.44995C6.25104 6 6.06027 5.92098 5.91962 5.78033C5.77897 5.63968 5.69995 5.44891 5.69995 5.25V3H3.44995C2.85321 3 2.28092 3.23705 1.85896 3.65901C1.437 4.08097 1.19995 4.65326 1.19995 5.25L1.19995 9H22.2V5.25C22.2 4.65326 21.9629 4.08097 21.5409 3.65901C21.119 3.23705 20.5467 3 19.95 3Z",fill:"#2C3336"})))},Ad=function(e){return y_.createElement("svg",Je({viewBox:"0 0 32 32",fill:"none"},e),y_.createElement("g",{id:"event_details"},y_.createElement("mask",{id:"mask0_4_1726",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:32,height:32},Ed||(Ed=y_.createElement("rect",{id:"Bounding box",width:32,height:32,fill:"#D9D9D9"}))),_d||(_d=y_.createElement("g",{mask:"url(#mask0_4_1726)"},y_.createElement("path",{id:"text_ad",d:"M5.33333 26.6667C4.6 26.6667 3.97222 26.4056 3.45 25.8833C2.92778 25.3611 2.66667 24.7333 2.66667 24V8C2.66667 7.26667 2.92778 6.63889 3.45 6.11667C3.97222 5.59444 4.6 5.33333 5.33333 5.33333H26.6667C27.4 5.33333 28.0278 5.59444 28.55 6.11667C29.0722 6.63889 29.3333 7.26667 29.3333 8V24C29.3333 24.7333 29.0722 25.3611 28.55 25.8833C28.0278 26.4056 27.4 26.6667 26.6667 26.6667H5.33333ZM5.33333 24H26.6667V8H5.33333V24ZM8 22.6667H24C24.3778 22.6667 24.6944 22.5389 24.95 22.2833C25.2056 22.0278 25.3333 21.7111 25.3333 21.3333C25.3333 20.9556 25.2056 20.6389 24.95 20.3833C24.6944 20.1278 24.3778 20 24 20H8C7.62222 20 7.30556 20.1278 7.05 20.3833C6.79444 20.6389 6.66667 20.9556 6.66667 21.3333C6.66667 21.7111 6.79444 22.0278 7.05 22.2833C7.30556 22.5389 7.62222 22.6667 8 22.6667ZM8 17.3333H24C24.3778 17.3333 24.6944 17.2056 24.95 16.95C25.2056 16.6944 25.3333 16.3778 25.3333 16C25.3333 15.6222 25.2056 15.3056 24.95 15.05C24.6944 14.7944 24.3778 14.6667 24 14.6667H8C7.62222 14.6667 7.30556 14.7944 7.05 15.05C6.79444 15.3056 6.66667 15.6222 6.66667 16C6.66667 16.3778 6.79444 16.6944 7.05 16.95C7.30556 17.2056 7.62222 17.3333 8 17.3333ZM8 12H18.6667C19.0444 12 19.3611 11.8722 19.6167 11.6167C19.8722 11.3611 20 11.0444 20 10.6667C20 10.2889 19.8722 9.97222 19.6167 9.71667C19.3611 9.46111 19.0444 9.33333 18.6667 9.33333H8C7.62222 9.33333 7.30556 9.46111 7.05 9.71667C6.79444 9.97222 6.66667 10.2889 6.66667 10.6667C6.66667 11.0444 6.79444 11.3611 7.05 11.6167C7.30556 11.8722 7.62222 12 8 12Z",fill:"#11B06E"})))))},Vd=function(e){return y_.createElement("svg",Ue({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("g",{id:"event_repeat"},y_.createElement("mask",{id:"mask0_4_1974",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Md||(Md=y_.createElement("rect",{id:"Bounding box",width:24,height:24,fill:"#D9D9D9"}))),Rd||(Rd=y_.createElement("g",{mask:"url(#mask0_4_1974)"},y_.createElement("path",{id:"event_repeat_2",d:"M5 22C4.45 22 3.97917 21.8042 3.5875 21.4125C3.19583 21.0208 3 20.55 3 20V6C3 5.45 3.19583 4.97917 3.5875 4.5875C3.97917 4.19583 4.45 4 5 4H6V3C6 2.71667 6.09583 2.47917 6.2875 2.2875C6.47917 2.09583 6.71667 2 7 2C7.28333 2 7.52083 2.09583 7.7125 2.2875C7.90417 2.47917 8 2.71667 8 3V4H16V3C16 2.71667 16.0958 2.47917 16.2875 2.2875C16.4792 2.09583 16.7167 2 17 2C17.2833 2 17.5208 2.09583 17.7125 2.2875C17.9042 2.47917 18 2.71667 18 3V4H19C19.55 4 20.0208 4.19583 20.4125 4.5875C20.8042 4.97917 21 5.45 21 6V11C21 11.2833 20.9042 11.5208 20.7125 11.7125C20.5208 11.9042 20.2833 12 20 12C19.7167 12 19.4792 11.9042 19.2875 11.7125C19.0958 11.5208 19 11.2833 19 11V10H5V20H11C11.2833 20 11.5208 20.0958 11.7125 20.2875C11.9042 20.4792 12 20.7167 12 21C12 21.2833 11.9042 21.5208 11.7125 21.7125C11.5208 21.9042 11.2833 22 11 22H5ZM19 24C17.9333 24 16.9792 23.7042 16.1375 23.1125C15.2958 22.5208 14.6917 21.75 14.325 20.8C14.2417 20.6167 14.2625 20.4375 14.3875 20.2625C14.5125 20.0875 14.675 20 14.875 20C15.1083 20 15.3208 20.0708 15.5125 20.2125C15.7042 20.3542 15.8583 20.5333 15.975 20.75C16.275 21.2833 16.6917 21.7083 17.225 22.025C17.7583 22.3417 18.35 22.5 19 22.5C19.9667 22.5 20.7917 22.1583 21.475 21.475C22.1583 20.7917 22.5 19.9667 22.5 19C22.5 18.0333 22.1583 17.2083 21.475 16.525C20.7917 15.8417 19.9667 15.5 19 15.5C18.5167 15.5 18.0667 15.5875 17.65 15.7625C17.2333 15.9375 16.8667 16.1833 16.55 16.5H17.25C17.4667 16.5 17.6458 16.5708 17.7875 16.7125C17.9292 16.8542 18 17.0333 18 17.25C18 17.4667 17.9292 17.6458 17.7875 17.7875C17.6458 17.9292 17.4667 18 17.25 18H15C14.7167 18 14.4792 17.9042 14.2875 17.7125C14.0958 17.5208 14 17.2833 14 17V14.75C14 14.5333 14.0708 14.3542 14.2125 14.2125C14.3542 14.0708 14.5333 14 14.75 14C14.9667 14 15.1458 14.0708 15.2875 14.2125C15.4292 14.3542 15.5 14.5333 15.5 14.75V15.425C15.95 14.9917 16.475 14.6458 17.075 14.3875C17.675 14.1292 18.3167 14 19 14C20.3833 14 21.5625 14.4875 22.5375 15.4625C23.5125 16.4375 24 17.6167 24 19C24 20.3833 23.5125 21.5625 22.5375 22.5375C21.5625 23.5125 20.3833 24 19 24ZM5 8H19V6H5V8Z",fill:"#6C737A"})))))},Pd=function(e){return y_.createElement("svg",Qe({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("g",{id:"today"},y_.createElement("mask",{id:"mask0_4_1966",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Od||(Od=y_.createElement("rect",{id:"Bounding box",width:24,height:24,fill:"#D9D9D9"}))),Sd||(Sd=y_.createElement("g",{mask:"url(#mask0_4_1966)"},y_.createElement("path",{id:"today_2",d:"M9 16.5C8.3 16.5 7.70833 16.2583 7.225 15.775C6.74167 15.2917 6.5 14.7 6.5 14C6.5 13.3 6.74167 12.7083 7.225 12.225C7.70833 11.7417 8.3 11.5 9 11.5C9.7 11.5 10.2917 11.7417 10.775 12.225C11.2583 12.7083 11.5 13.3 11.5 14C11.5 14.7 11.2583 15.2917 10.775 15.775C10.2917 16.2583 9.7 16.5 9 16.5ZM5 22C4.45 22 3.97917 21.8042 3.5875 21.4125C3.19583 21.0208 3 20.55 3 20V6C3 5.45 3.19583 4.97917 3.5875 4.5875C3.97917 4.19583 4.45 4 5 4H6V3C6 2.71667 6.09583 2.47917 6.2875 2.2875C6.47917 2.09583 6.71667 2 7 2C7.28333 2 7.52083 2.09583 7.7125 2.2875C7.90417 2.47917 8 2.71667 8 3V4H16V3C16 2.71667 16.0958 2.47917 16.2875 2.2875C16.4792 2.09583 16.7167 2 17 2C17.2833 2 17.5208 2.09583 17.7125 2.2875C17.9042 2.47917 18 2.71667 18 3V4H19C19.55 4 20.0208 4.19583 20.4125 4.5875C20.8042 4.97917 21 5.45 21 6V20C21 20.55 20.8042 21.0208 20.4125 21.4125C20.0208 21.8042 19.55 22 19 22H5ZM5 20H19V10H5V20ZM5 8H19V6H5V8Z",fill:"#02BF6F"})))))},Ld=function(e){return y_.createElement("svg",Ke({viewBox:"0 0 24 18"},e),Nd||(Nd=y_.createElement("path",{d:"M7.2 9c2.321 0 4.2-1.879 4.2-4.2S9.521.6 7.2.6A4.198 4.198 0 0 0 3 4.8C3 7.121 4.879 9 7.2 9Zm2.88 1.2h-.311c-.78.375-1.646.6-2.569.6a5.92 5.92 0 0 1-2.569-.6H4.32A4.321 4.321 0 0 0 0 14.52v1.08a1.8 1.8 0 0 0 1.8 1.8h10.8a1.8 1.8 0 0 0 1.8-1.8v-1.08a4.321 4.321 0 0 0-4.32-4.32ZM18 9a3.6 3.6 0 0 0 0-7.2A3.6 3.6 0 0 0 18 9Zm1.8 1.2h-.143c-.52.18-1.072.3-1.657.3s-1.136-.12-1.657-.3H16.2c-.765 0-1.47.221-2.089.578A5.488 5.488 0 0 1 15.6 14.52v1.44c0 .082-.019.161-.022.24H22.2a1.8 1.8 0 0 0 1.8-1.8c0-2.321-1.879-4.2-4.2-4.2Z",fill:"#BBB"})))},Gd=function(e){return y_.createElement("svg",qe({fill:"#FFF",viewBox:"0 0 24 18"},e),Bd||(Bd=y_.createElement("path",{d:"M3.6 7.799a2.4 2.4 0 1 0 0-4.8 2.4 2.4 0 0 0 0 4.8Zm8.4 1.2a3.6 3.6 0 0 0 3.6-3.6v-.6H8.4v.6a3.6 3.6 0 0 0 3.6 3.6Zm9.6 0h-2.4c-.66 0-1.256.266-1.69.697a5.496 5.496 0 0 1 2.817 4.103H22.8a1.2 1.2 0 0 0 1.2-1.2v-1.2a2.4 2.4 0 0 0-2.4-2.4Zm-15.11.697a2.392 2.392 0 0 0-1.69-.697H2.4a2.4 2.4 0 0 0-2.4 2.4v1.2a1.2 1.2 0 0 0 1.2 1.2h2.473A5.495 5.495 0 0 1 6.49 9.696ZM20.4 7.799a2.4 2.4 0 1 0 0-4.8 2.4 2.4 0 0 0 0 4.8Zm-5.52 2.4h-.312c-.781.373-1.646.6-2.568.6a5.933 5.933 0 0 1-2.568-.6H9.12a4.32 4.32 0 0 0-4.32 4.32v1.08a1.8 1.8 0 0 0 1.8 1.8h10.8a1.8 1.8 0 0 0 1.8-1.8v-1.08a4.32 4.32 0 0 0-4.32-4.32Zm.72-9.6-1.8.9-1.8-.9-1.8.9-1.8-.9v3h7.2v-3Z"})))},Dd=function(e){return y_.createElement("svg",$e({viewBox:"0 0 24 24",fill:"none"},e),Zd||(Zd=y_.createElement("path",{id:"person_2",d:"M12 12C10.9 12 9.95833 11.6083 9.175 10.825C8.39167 10.0417 8 9.1 8 8C8 6.9 8.39167 5.95833 9.175 5.175C9.95833 4.39167 10.9 4 12 4C13.1 4 14.0417 4.39167 14.825 5.175C15.6083 5.95833 16 6.9 16 8C16 9.1 15.6083 10.0417 14.825 10.825C14.0417 11.6083 13.1 12 12 12ZM18 20H6C5.45 20 4.97917 19.8042 4.5875 19.4125C4.19583 19.0208 4 18.55 4 18V17.2C4 16.6333 4.14583 16.1125 4.4375 15.6375C4.72917 15.1625 5.11667 14.8 5.6 14.55C6.63333 14.0333 7.68333 13.6458 8.75 13.3875C9.81667 13.1292 10.9 13 12 13C13.1 13 14.1833 13.1292 15.25 13.3875C16.3167 13.6458 17.3667 14.0333 18.4 14.55C18.8833 14.8 19.2708 15.1625 19.5625 15.6375C19.8542 16.1125 20 16.6333 20 17.2V18C20 18.55 19.8042 19.0208 19.4125 19.4125C19.0208 19.8042 18.55 20 18 20ZM6 18H18V17.2C18 17.0167 17.9542 16.85 17.8625 16.7C17.7708 16.55 17.65 16.4333 17.5 16.35C16.6 15.9 15.6917 15.5625 14.775 15.3375C13.8583 15.1125 12.9333 15 12 15C11.0667 15 10.1417 15.1125 9.225 15.3375C8.30833 15.5625 7.4 15.9 6.5 16.35C6.35 16.4333 6.22917 16.55 6.1375 16.7C6.04583 16.85 6 17.0167 6 17.2V18ZM12 10C12.55 10 13.0208 9.80417 13.4125 9.4125C13.8042 9.02083 14 8.55 14 8C14 7.45 13.8042 6.97917 13.4125 6.5875C13.0208 6.19583 12.55 6 12 6C11.45 6 10.9792 6.19583 10.5875 6.5875C10.1958 6.97917 10 7.45 10 8C10 8.55 10.1958 9.02083 10.5875 9.4125C10.9792 9.80417 11.45 10 12 10Z",fill:"#2C3336"})))},Td=function(e){return y_.createElement("svg",et({viewBox:"0 0 24 24"},e),Hd||(Hd=y_.createElement("path",{fill:"#212121",d:"M17.5 12a5.5 5.5 0 1 1 0 11 5.5 5.5 0 0 1 0-11Zm-5.478 2a6.47 6.47 0 0 0-.708 1.5h-7.06a.75.75 0 0 0-.75.75v.907c0 .656.286 1.279.783 1.706C5.545 19.945 7.44 20.501 10 20.501c.599 0 1.161-.03 1.688-.09.25.5.563.963.93 1.38-.803.14-1.676.21-2.618.21-2.89 0-5.128-.657-6.691-2a3.75 3.75 0 0 1-1.305-2.844v-.907A2.25 2.25 0 0 1 4.254 14h7.768Zm3.071.966-.07.058-.057.07a.5.5 0 0 0 0 .568l.058.07 1.77 1.769-1.768 1.766-.057.07a.5.5 0 0 0 0 .568l.057.07.07.057a.5.5 0 0 0 .568 0l.07-.057 1.766-1.767 1.77 1.769.069.058a.5.5 0 0 0 .568 0l.07-.058.057-.07a.5.5 0 0 0 0-.568l-.057-.07-1.77-1.768 1.772-1.77.058-.069a.5.5 0 0 0 0-.569l-.058-.069-.069-.058a.5.5 0 0 0-.569 0l-.069.058-1.772 1.77-1.77-1.77-.068-.058a.5.5 0 0 0-.493-.043l-.076.043ZM10 2.005a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 1.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z"})))},Fd=function(e){return y_.createElement("svg",tt({viewBox:"0 0 20 20",fill:"none"},e),kd||(kd=y_.createElement("path",{id:"path",d:"M10 0.3125C4.64844 0.3125 0.3125 4.64844 0.3125 10C0.3125 15.3516 4.64844 19.6875 10 19.6875C15.3516 19.6875 19.6875 15.3516 19.6875 10C19.6875 4.64844 15.3516 0.3125 10 0.3125ZM10 17.8125C5.69141 17.8125 2.1875 14.3086 2.1875 10C2.1875 5.69141 5.69141 2.1875 10 2.1875C14.3086 2.1875 17.8125 5.69141 17.8125 10C17.8125 14.3086 14.3086 17.8125 10 17.8125ZM6.875 9.375C7.56641 9.375 8.125 8.81641 8.125 8.125C8.125 7.43359 7.56641 6.875 6.875 6.875C6.18359 6.875 5.625 7.43359 5.625 8.125C5.625 8.81641 6.18359 9.375 6.875 9.375ZM13.125 9.375C13.8164 9.375 14.375 8.81641 14.375 8.125C14.375 7.43359 13.8164 6.875 13.125 6.875C12.4336 6.875 11.875 7.43359 11.875 8.125C11.875 8.81641 12.4336 9.375 13.125 9.375ZM13.2812 12.2109C12.4688 13.1875 11.2695 13.75 10 13.75C8.73047 13.75 7.53125 13.1914 6.71875 12.2109C6.38672 11.8125 5.79297 11.7617 5.39844 12.0898C5 12.4219 4.94922 13.0117 5.27734 13.4102C6.44922 14.8164 8.17188 15.6211 10 15.6211C11.8281 15.6211 13.5508 14.8164 14.7227 13.4102C15.0547 13.0117 15 12.4219 14.6016 12.0898C14.207 11.7617 13.6133 11.8125 13.2812 12.2109Z",fill:"#9FA6AD"})))},Xd=function(e){return y_.createElement("svg",nt({viewBox:"0 0 24 24",fill:"none"},e),Wd||(Wd=y_.createElement("path",{d:"M12 19.35C14.0333 17.4833 15.5417 15.7875 16.525 14.2625C17.5083 12.7375 18 11.3833 18 10.2C18 8.38333 17.4208 6.89583 16.2625 5.7375C15.1042 4.57917 13.6833 4 12 4C10.3167 4 8.89583 4.57917 7.7375 5.7375C6.57917 6.89583 6 8.38333 6 10.2C6 11.3833 6.49167 12.7375 7.475 14.2625C8.45833 15.7875 9.96667 17.4833 12 19.35ZM12 21.325C11.7667 21.325 11.5333 21.2833 11.3 21.2C11.0667 21.1167 10.8583 20.9917 10.675 20.825C9.59167 19.825 8.63333 18.85 7.8 17.9C6.96667 16.95 6.27083 16.0292 5.7125 15.1375C5.15417 14.2458 4.72917 13.3875 4.4375 12.5625C4.14583 11.7375 4 10.95 4 10.2C4 7.7 4.80417 5.70833 6.4125 4.225C8.02083 2.74167 9.88333 2 12 2C14.1167 2 15.9792 2.74167 17.5875 4.225C19.1958 5.70833 20 7.7 20 10.2C20 10.95 19.8542 11.7375 19.5625 12.5625C19.2708 13.3875 18.8458 14.2458 18.2875 15.1375C17.7292 16.0292 17.0333 16.95 16.2 17.9C15.3667 18.85 14.4083 19.825 13.325 20.825C13.1417 20.9917 12.9333 21.1167 12.7 21.2C12.4667 21.2833 12.2333 21.325 12 21.325ZM12 12C12.55 12 13.0208 11.8042 13.4125 11.4125C13.8042 11.0208 14 10.55 14 10C14 9.45 13.8042 8.97917 13.4125 8.5875C13.0208 8.19583 12.55 8 12 8C11.45 8 10.9792 8.19583 10.5875 8.5875C10.1958 8.97917 10 9.45 10 10C10 10.55 10.1958 11.0208 10.5875 11.4125C10.9792 11.8042 11.45 12 12 12Z",fill:"#1C1B1F"})))},jd=function(e){return y_.createElement("svg",ot({viewBox:"0 0 24 24",fill:"none"},e),zd||(zd=y_.createElement("path",{d:"M8.85719 3H15.1428C16.2266 2.99999 17.1007 2.99998 17.8086 3.05782C18.5375 3.11737 19.1777 3.24318 19.77 3.54497C20.7108 4.02433 21.4757 4.78924 21.955 5.73005C22.2568 6.32234 22.3826 6.96253 22.4422 7.69138C22.5 8.39925 22.5 9.27339 22.5 10.3572V13.6428C22.5 14.7266 22.5 15.6008 22.4422 16.3086C22.3826 17.0375 22.2568 17.6777 21.955 18.27C21.4757 19.2108 20.7108 19.9757 19.77 20.455C19.1777 20.7568 18.5375 20.8826 17.8086 20.9422C17.1008 21 16.2266 21 15.1428 21H8.85717C7.77339 21 6.89925 21 6.19138 20.9422C5.46253 20.8826 4.82234 20.7568 4.23005 20.455C3.28924 19.9757 2.52433 19.2108 2.04497 18.27C1.74318 17.6777 1.61737 17.0375 1.55782 16.3086C1.49998 15.6007 1.49999 14.7266 1.5 13.6428V10.3572C1.49999 9.27341 1.49998 8.39926 1.55782 7.69138C1.61737 6.96253 1.74318 6.32234 2.04497 5.73005C2.52433 4.78924 3.28924 4.02433 4.23005 3.54497C4.82234 3.24318 5.46253 3.11737 6.19138 3.05782C6.89926 2.99998 7.77341 2.99999 8.85719 3ZM6.35424 5.05118C5.74907 5.10062 5.40138 5.19279 5.13803 5.32698C4.57354 5.6146 4.1146 6.07354 3.82698 6.63803C3.69279 6.90138 3.60062 7.24907 3.55118 7.85424C3.50078 8.47108 3.5 9.26339 3.5 10.4V13.6C3.5 14.7366 3.50078 15.5289 3.55118 16.1458C3.60062 16.7509 3.69279 17.0986 3.82698 17.362C4.1146 17.9265 4.57354 18.3854 5.13803 18.673C5.40138 18.8072 5.74907 18.8994 6.35424 18.9488C6.97108 18.9992 7.76339 19 8.9 19H9.5V5H8.9C7.76339 5 6.97108 5.00078 6.35424 5.05118ZM11.5 5V19H15.1C16.2366 19 17.0289 18.9992 17.6458 18.9488C18.2509 18.8994 18.5986 18.8072 18.862 18.673C19.4265 18.3854 19.8854 17.9265 20.173 17.362C20.3072 17.0986 20.3994 16.7509 20.4488 16.1458C20.4992 15.5289 20.5 14.7366 20.5 13.6V10.4C20.5 9.26339 20.4992 8.47108 20.4488 7.85424C20.3994 7.24907 20.3072 6.90138 20.173 6.63803C19.8854 6.07354 19.4265 5.6146 18.862 5.32698C18.5986 5.19279 18.2509 5.10062 17.6458 5.05118C17.0289 5.00078 16.2366 5 15.1 5H11.5ZM5 8.5C5 7.94772 5.44772 7.5 6 7.5H7C7.55229 7.5 8 7.94772 8 8.5C8 9.05229 7.55229 9.5 7 9.5H6C5.44772 9.5 5 9.05229 5 8.5ZM5 12C5 11.4477 5.44772 11 6 11H7C7.55229 11 8 11.4477 8 12C8 12.5523 7.55229 13 7 13H6C5.44772 13 5 12.5523 5 12Z",fill:"currentColor"})))},Jd=function(e){return y_.createElement("svg",rt({fill:"none",viewBox:"0 0 17 16"},e),Yd||(Yd=y_.createElement("path",{fill:"#5D676B",d:"M2.004 0A1.877 1.877 0 0 0 .9.314l-.02.02H.858c-.835.65-1.15 1.858-.542 2.77v.022l.812 1.125.375.541.542-.375 2.208-1.541.542-.375-.375-.542L3.69.897 3.67.876V.855A2.266 2.266 0 0 0 2.379.042a2.008 2.008 0 0 0-.375-.041Zm3.73 3.396-1.126.73L2.942 5.27 1.796 6l2.23 7.79c.047.458.333.817.666 1.063.363.269.804.46 1.333.625 1.057.33 2.45.521 3.979.521s2.922-.19 3.979-.52c.528-.166.97-.357 1.333-.626.363-.268.688-.669.688-1.187 0-.519-.325-.92-.688-1.188a2.855 2.855 0 0 0-.292-.187l-9.29-8.896Zm4.27 9.27c1.416 0 2.69.186 3.562.46.437.136.782.306.959.437a.852.852 0 0 1 .124.104.861.861 0 0 1-.124.104c-.177.13-.522.301-.959.437-.873.273-2.146.459-3.562.459s-2.69-.186-3.562-.459c-.437-.136-.782-.307-.959-.437a.86.86 0 0 1-.125-.104.852.852 0 0 1 .125-.104c.177-.13.522-.302.959-.438.873-.273 2.146-.458 3.562-.458Z"})))},Qd=function(e){return y_.createElement("svg",it({fill:"#BBB",viewBox:"0 0 33 24"},e),Ud||(Ud=y_.createElement("path",{d:"M6 0h5.25c.412 0 .75.338.75.75v1.5c0 .413-.338.75-.75.75H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h5.25c.412 0 .75.337.75.75v1.5c0 .413-.338.75-.75.75H6c-3.313 0-6-2.688-6-6V6c0-3.313 2.688-6 6-6Zm14.444 1.219-1.225 1.225c-.3.3-.294.781.012 1.069l7.069 6.862H10.75a.752.752 0 0 0-.75.75v1.75c0 .412.338.75.75.75H26.3l-7.069 6.856a.753.753 0 0 0-.012 1.069l1.225 1.225a.75.75 0 0 0 1.062 0l10.275-10.25a.75.75 0 0 0 0-1.063L21.506 1.213a.756.756 0 0 0-1.062.007Z"})))},qd=function(e){return y_.createElement("svg",at({viewBox:"0 0 12 12"},e),Kd||(Kd=y_.createElement("path",{d:"M11.667.667H.333A.333.333 0 0 0 0 1v.333c0 .184.15.334.333.334h.334v5.666c0 .368.298.667.666.667H5.5v.91l-1.618 1.618a.333.333 0 0 0 0 .472l.236.236c.13.13.341.13.471 0L6 9.825l1.41 1.41c.131.13.342.13.472 0L8.118 11a.333.333 0 0 0 0-.472L6.5 8.911V8h4.167a.667.667 0 0 0 .666-.667V1.666h.334A.333.333 0 0 0 12 1.333V1a.333.333 0 0 0-.333-.333ZM10.333 7H1.667V1.667h8.666V7Z"})))},ep=function(e){return y_.createElement("svg",lt({viewBox:"0 0 20 20"},e),$d||($d=y_.createElement("path",{fill:"#D0D5DD",d:"M17.745 2a2.25 2.25 0 0 1 2.25 2.25v11.505a2.25 2.25 0 0 1-2.25 2.25H2.25A2.25 2.25 0 0 1 0 15.755V4.25A2.25 2.25 0 0 1 2.25 2h15.495Zm0 1.5H2.25a.75.75 0 0 0-.75.75v11.505c0 .414.336.75.75.75l2.749-.001L5 13.75a1.75 1.75 0 0 1 1.606-1.744L6.75 12h6.495a1.75 1.75 0 0 1 1.744 1.607l.006.143-.001 2.754h2.751a.75.75 0 0 0 .75-.75V4.25a.75.75 0 0 0-.75-.75Zm-4.5 10H6.75a.25.25 0 0 0-.243.193l-.007.057-.001 2.754h6.995V13.75a.25.25 0 0 0-.192-.243l-.057-.007ZM10 5a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z"})))},np=function(e){return y_.createElement("svg",st({fill:"none",viewBox:"0 0 24 24"},e),tp||(tp=y_.createElement("path",{fill:"#2C3336",d:"M21.75 0h-15A2.25 2.25 0 0 0 4.5 2.25V4.5H2.25A2.25 2.25 0 0 0 0 6.75v15A2.25 2.25 0 0 0 2.25 24h15a2.25 2.25 0 0 0 2.25-2.25V19.5h2.25A2.25 2.25 0 0 0 24 17.25v-15A2.25 2.25 0 0 0 21.75 0Zm-4.5 21.75h-15V12h15v9.75Zm4.5-4.5H19.5V6.75a2.25 2.25 0 0 0-2.25-2.25H6.75V2.25h15v15Z"})))},rp=function(e){return y_.createElement("svg",ct({fill:"#BBB",className:"demio-icon",style:{fontSize:20},viewBox:"0 0 20 18"},e),op||(op=y_.createElement("path",{d:"M18.333 0H1.667C.747 0 0 .756 0 1.688v11.25c0 .931.747 1.687 1.667 1.687h6.666l-.555 1.688h-2.5a.837.837 0 0 0-.834.843c0 .468.372.844.834.844h9.444a.837.837 0 0 0 .834-.844.837.837 0 0 0-.834-.843h-2.5l-.555-1.688h6.666c.92 0 1.667-.756 1.667-1.688V1.688C20 .756 19.253 0 18.333 0Zm-.555 12.375H2.222V2.25h15.556v10.125Z"})))},ap=function(e){return y_.createElement("svg",ut({viewBox:"0 0 20 20",fill:"none"},e),ip||(ip=y_.createElement("path",{fill:"#98A2B3",d:"M18.245 10.997c.709 0 1.022.892.469 1.335l-4.718 3.778v1.644a2.25 2.25 0 0 1-2.25 2.25H8.25A2.25 2.25 0 0 1 6 17.754V16.11l-4.72-3.778c-.553-.443-.24-1.335.47-1.335h16.495Zm-2.137 1.5H3.887l3.332 2.667a.75.75 0 0 1 .281.585v2.005c0 .414.336.75.75.75h3.496a.75.75 0 0 0 .75-.75V15.75a.75.75 0 0 1 .281-.585l3.331-2.667ZM6.75 7h6.495a1.75 1.75 0 0 1 1.744 1.606l.006.144V10h-1.5V8.75a.25.25 0 0 0-.192-.244l-.058-.006H6.75a.25.25 0 0 0-.243.192L6.5 8.75V10H5V8.75a1.75 1.75 0 0 1 1.607-1.745L6.75 7h6.495H6.75ZM10 0a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm0 1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z"})))},cp=function(e){return y_.createElement("svg",dt({viewBox:"0 0 24 24",fill:"none"},e),y_.createElement("mask",{id:"a",maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},lp||(lp=y_.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),sp||(sp=y_.createElement("g",{mask:"url(#a)"},y_.createElement("path",{fill:"#42454B",d:"M12.002 21.5a9.255 9.255 0 0 1-3.705-.748 9.598 9.598 0 0 1-3.018-2.03 9.591 9.591 0 0 1-2.03-3.016 9.245 9.245 0 0 1-.749-3.704c0-1.314.25-2.55.748-3.705a9.597 9.597 0 0 1 2.03-3.018 9.592 9.592 0 0 1 3.016-2.03 9.245 9.245 0 0 1 3.704-.749c1.314 0 2.55.25 3.705.748a9.597 9.597 0 0 1 3.018 2.03 9.592 9.592 0 0 1 2.03 3.016 9.245 9.245 0 0 1 .749 3.704c0 1.314-.25 2.55-.748 3.705a9.598 9.598 0 0 1-2.03 3.018 9.592 9.592 0 0 1-3.016 2.03 9.245 9.245 0 0 1-3.704.749ZM12 20c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-.938-.16-1.842-.48-2.71a8.124 8.124 0 0 0-1.374-2.382L6.908 18.146a7.93 7.93 0 0 0 2.382 1.378A7.839 7.839 0 0 0 12 20Zm-6.146-2.908L17.092 5.854a7.62 7.62 0 0 0-2.375-1.383A7.947 7.947 0 0 0 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 .938.159 1.842.476 2.71a7.93 7.93 0 0 0 1.378 2.382Z"}))))},pp=function(e){return y_.createElement("svg",pt({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"mask0_6_3070",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},up||(up=y_.createElement("rect",{width:24,height:24,fill:"#D9D9D9"}))),dp||(dp=y_.createElement("g",{mask:"url(#mask0_6_3070)"},y_.createElement("path",{d:"M3 14.5C2.86667 14.5 2.75 14.45 2.65 14.35C2.55 14.25 2.5 14.1333 2.5 14C2.5 13.8667 2.55 13.75 2.65 13.65C2.75 13.55 2.86667 13.5 3 13.5C3.13333 13.5 3.25 13.55 3.35 13.65C3.45 13.75 3.5 13.8667 3.5 14C3.5 14.1333 3.45 14.25 3.35 14.35C3.25 14.45 3.13333 14.5 3 14.5ZM3 10.5C2.86667 10.5 2.75 10.45 2.65 10.35C2.55 10.25 2.5 10.1333 2.5 10C2.5 9.86667 2.55 9.75 2.65 9.65C2.75 9.55 2.86667 9.5 3 9.5C3.13333 9.5 3.25 9.55 3.35 9.65C3.45 9.75 3.5 9.86667 3.5 10C3.5 10.1333 3.45 10.25 3.35 10.35C3.25 10.45 3.13333 10.5 3 10.5ZM6 18.9231C5.73847 18.9231 5.51923 18.8346 5.3423 18.6577C5.16538 18.4808 5.07693 18.2615 5.07693 18C5.07693 17.7385 5.16538 17.5192 5.3423 17.3423C5.51923 17.1654 5.73847 17.0769 6 17.0769C6.26153 17.0769 6.48077 17.1654 6.6577 17.3423C6.83462 17.5192 6.92308 17.7385 6.92308 18C6.92308 18.2615 6.83462 18.4808 6.6577 18.6577C6.48077 18.8346 6.26153 18.9231 6 18.9231ZM6 14.9231C5.73847 14.9231 5.51923 14.8346 5.3423 14.6577C5.16538 14.4808 5.07693 14.2615 5.07693 14C5.07693 13.7385 5.16538 13.5192 5.3423 13.3423C5.51923 13.1654 5.73847 13.0769 6 13.0769C6.26153 13.0769 6.48077 13.1654 6.6577 13.3423C6.83462 13.5192 6.92308 13.7385 6.92308 14C6.92308 14.2615 6.83462 14.4808 6.6577 14.6577C6.48077 14.8346 6.26153 14.9231 6 14.9231ZM6 10.9231C5.73847 10.9231 5.51923 10.8346 5.3423 10.6577C5.16538 10.4808 5.07693 10.2615 5.07693 10C5.07693 9.73847 5.16538 9.51924 5.3423 9.34232C5.51923 9.16539 5.73847 9.07692 6 9.07692C6.26153 9.07692 6.48077 9.16539 6.6577 9.34232C6.83462 9.51924 6.92308 9.73847 6.92308 10C6.92308 10.2615 6.83462 10.4808 6.6577 10.6577C6.48077 10.8346 6.26153 10.9231 6 10.9231ZM6 6.92308C5.73847 6.92308 5.51923 6.83461 5.3423 6.65768C5.16538 6.48076 5.07693 6.26153 5.07693 6C5.07693 5.73847 5.16538 5.51924 5.3423 5.34232C5.51923 5.16539 5.73847 5.07693 6 5.07693C6.26153 5.07693 6.48077 5.16539 6.6577 5.34232C6.83462 5.51924 6.92308 5.73847 6.92308 6C6.92308 6.26153 6.83462 6.48076 6.6577 6.65768C6.48077 6.83461 6.26153 6.92308 6 6.92308ZM10.0023 15.3462C9.62897 15.3462 9.31091 15.2155 9.04808 14.9542C8.78526 14.6929 8.65385 14.3756 8.65385 14.0023C8.65385 13.629 8.78451 13.3109 9.04583 13.0481C9.30714 12.7853 9.62444 12.6538 9.99773 12.6538C10.371 12.6538 10.6891 12.7845 10.9519 13.0458C11.2147 13.3071 11.3462 13.6244 11.3462 13.9977C11.3462 14.371 11.2155 14.6891 10.9542 14.9519C10.6929 15.2147 10.3756 15.3462 10.0023 15.3462ZM10.0023 11.3462C9.62897 11.3462 9.31091 11.2155 9.04808 10.9542C8.78526 10.6929 8.65385 10.3756 8.65385 10.0023C8.65385 9.62897 8.78451 9.31091 9.04583 9.04808C9.30714 8.78526 9.62444 8.65385 9.99773 8.65385C10.371 8.65385 10.6891 8.78451 10.9519 9.04583C11.2147 9.30713 11.3462 9.62442 11.3462 9.99773C11.3462 10.371 11.2155 10.6891 10.9542 10.9519C10.6929 11.2147 10.3756 11.3462 10.0023 11.3462ZM10 18.9231C9.73847 18.9231 9.51923 18.8346 9.3423 18.6577C9.16538 18.4808 9.07692 18.2615 9.07692 18C9.07692 17.7385 9.16538 17.5192 9.3423 17.3423C9.51923 17.1654 9.73847 17.0769 10 17.0769C10.2615 17.0769 10.4808 17.1654 10.6577 17.3423C10.8346 17.5192 10.9231 17.7385 10.9231 18C10.9231 18.2615 10.8346 18.4808 10.6577 18.6577C10.4808 18.8346 10.2615 18.9231 10 18.9231ZM10 6.92308C9.73847 6.92308 9.51923 6.83461 9.3423 6.65768C9.16538 6.48076 9.07692 6.26153 9.07692 6C9.07692 5.73847 9.16538 5.51924 9.3423 5.34232C9.51923 5.16539 9.73847 5.07693 10 5.07693C10.2615 5.07693 10.4808 5.16539 10.6577 5.34232C10.8346 5.51924 10.9231 5.73847 10.9231 6C10.9231 6.26153 10.8346 6.48076 10.6577 6.65768C10.4808 6.83461 10.2615 6.92308 10 6.92308ZM10 21.5C9.86667 21.5 9.75 21.45 9.65 21.35C9.55 21.25 9.5 21.1333 9.5 21C9.5 20.8667 9.55 20.75 9.65 20.65C9.75 20.55 9.86667 20.5 10 20.5C10.1333 20.5 10.25 20.55 10.35 20.65C10.45 20.75 10.5 20.8667 10.5 21C10.5 21.1333 10.45 21.25 10.35 21.35C10.25 21.45 10.1333 21.5 10 21.5ZM10 3.5C9.86667 3.5 9.75 3.45 9.65 3.35C9.55 3.25 9.5 3.13333 9.5 3C9.5 2.86667 9.55 2.75 9.65 2.65C9.75 2.55 9.86667 2.5 10 2.5C10.1333 2.5 10.25 2.55 10.35 2.65C10.45 2.75 10.5 2.86667 10.5 3C10.5 3.13333 10.45 3.25 10.35 3.35C10.25 3.45 10.1333 3.5 10 3.5ZM14.0023 15.3462C13.629 15.3462 13.3109 15.2155 13.0481 14.9542C12.7853 14.6929 12.6538 14.3756 12.6538 14.0023C12.6538 13.629 12.7845 13.3109 13.0458 13.0481C13.3071 12.7853 13.6244 12.6538 13.9977 12.6538C14.371 12.6538 14.6891 12.7845 14.9519 13.0458C15.2147 13.3071 15.3462 13.6244 15.3462 13.9977C15.3462 14.371 15.2155 14.6891 14.9542 14.9519C14.6929 15.2147 14.3756 15.3462 14.0023 15.3462ZM14.0023 11.3462C13.629 11.3462 13.3109 11.2155 13.0481 10.9542C12.7853 10.6929 12.6538 10.3756 12.6538 10.0023C12.6538 9.62897 12.7845 9.31091 13.0458 9.04808C13.3071 8.78526 13.6244 8.65385 13.9977 8.65385C14.371 8.65385 14.6891 8.78451 14.9519 9.04583C15.2147 9.30713 15.3462 9.62442 15.3462 9.99773C15.3462 10.371 15.2155 10.6891 14.9542 10.9519C14.6929 11.2147 14.3756 11.3462 14.0023 11.3462ZM14 18.9231C13.7385 18.9231 13.5192 18.8346 13.3423 18.6577C13.1654 18.4808 13.0769 18.2615 13.0769 18C13.0769 17.7385 13.1654 17.5192 13.3423 17.3423C13.5192 17.1654 13.7385 17.0769 14 17.0769C14.2615 17.0769 14.4808 17.1654 14.6577 17.3423C14.8346 17.5192 14.9231 17.7385 14.9231 18C14.9231 18.2615 14.8346 18.4808 14.6577 18.6577C14.4808 18.8346 14.2615 18.9231 14 18.9231ZM14 6.92308C13.7385 6.92308 13.5192 6.83461 13.3423 6.65768C13.1654 6.48076 13.0769 6.26153 13.0769 6C13.0769 5.73847 13.1654 5.51924 13.3423 5.34232C13.5192 5.16539 13.7385 5.07693 14 5.07693C14.2615 5.07693 14.4808 5.16539 14.6577 5.34232C14.8346 5.51924 14.9231 5.73847 14.9231 6C14.9231 6.26153 14.8346 6.48076 14.6577 6.65768C14.4808 6.83461 14.2615 6.92308 14 6.92308ZM14 21.5C13.8667 21.5 13.75 21.45 13.65 21.35C13.55 21.25 13.5 21.1333 13.5 21C13.5 20.8667 13.55 20.75 13.65 20.65C13.75 20.55 13.8667 20.5 14 20.5C14.1333 20.5 14.25 20.55 14.35 20.65C14.45 20.75 14.5 20.8667 14.5 21C14.5 21.1333 14.45 21.25 14.35 21.35C14.25 21.45 14.1333 21.5 14 21.5ZM14 3.5C13.8667 3.5 13.75 3.45 13.65 3.35C13.55 3.25 13.5 3.13333 13.5 3C13.5 2.86667 13.55 2.75 13.65 2.65C13.75 2.55 13.8667 2.5 14 2.5C14.1333 2.5 14.25 2.55 14.35 2.65C14.45 2.75 14.5 2.86667 14.5 3C14.5 3.13333 14.45 3.25 14.35 3.35C14.25 3.45 14.1333 3.5 14 3.5ZM18 18.9231C17.7385 18.9231 17.5192 18.8346 17.3423 18.6577C17.1654 18.4808 17.0769 18.2615 17.0769 18C17.0769 17.7385 17.1654 17.5192 17.3423 17.3423C17.5192 17.1654 17.7385 17.0769 18 17.0769C18.2615 17.0769 18.4808 17.1654 18.6577 17.3423C18.8346 17.5192 18.9231 17.7385 18.9231 18C18.9231 18.2615 18.8346 18.4808 18.6577 18.6577C18.4808 18.8346 18.2615 18.9231 18 18.9231ZM18 14.9231C17.7385 14.9231 17.5192 14.8346 17.3423 14.6577C17.1654 14.4808 17.0769 14.2615 17.0769 14C17.0769 13.7385 17.1654 13.5192 17.3423 13.3423C17.5192 13.1654 17.7385 13.0769 18 13.0769C18.2615 13.0769 18.4808 13.1654 18.6577 13.3423C18.8346 13.5192 18.9231 13.7385 18.9231 14C18.9231 14.2615 18.8346 14.4808 18.6577 14.6577C18.4808 14.8346 18.2615 14.9231 18 14.9231ZM18 10.9231C17.7385 10.9231 17.5192 10.8346 17.3423 10.6577C17.1654 10.4808 17.0769 10.2615 17.0769 10C17.0769 9.73847 17.1654 9.51924 17.3423 9.34232C17.5192 9.16539 17.7385 9.07692 18 9.07692C18.2615 9.07692 18.4808 9.16539 18.6577 9.34232C18.8346 9.51924 18.9231 9.73847 18.9231 10C18.9231 10.2615 18.8346 10.4808 18.6577 10.6577C18.4808 10.8346 18.2615 10.9231 18 10.9231ZM18 6.92308C17.7385 6.92308 17.5192 6.83461 17.3423 6.65768C17.1654 6.48076 17.0769 6.26153 17.0769 6C17.0769 5.73847 17.1654 5.51924 17.3423 5.34232C17.5192 5.16539 17.7385 5.07693 18 5.07693C18.2615 5.07693 18.4808 5.16539 18.6577 5.34232C18.8346 5.51924 18.9231 5.73847 18.9231 6C18.9231 6.26153 18.8346 6.48076 18.6577 6.65768C18.4808 6.83461 18.2615 6.92308 18 6.92308ZM21 14.5C20.8667 14.5 20.75 14.45 20.65 14.35C20.55 14.25 20.5 14.1333 20.5 14C20.5 13.8667 20.55 13.75 20.65 13.65C20.75 13.55 20.8667 13.5 21 13.5C21.1333 13.5 21.25 13.55 21.35 13.65C21.45 13.75 21.5 13.8667 21.5 14C21.5 14.1333 21.45 14.25 21.35 14.35C21.25 14.45 21.1333 14.5 21 14.5ZM21 10.5C20.8667 10.5 20.75 10.45 20.65 10.35C20.55 10.25 20.5 10.1333 20.5 10C20.5 9.86667 20.55 9.75 20.65 9.65C20.75 9.55 20.8667 9.5 21 9.5C21.1333 9.5 21.25 9.55 21.35 9.65C21.45 9.75 21.5 9.86667 21.5 10C21.5 10.1333 21.45 10.25 21.35 10.35C21.25 10.45 21.1333 10.5 21 10.5Z",fill:"#2C3336"}))))},gp=function(e){return y_.createElement("svg",mt({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("mask",{id:"a",x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},mp||(mp=y_.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),fp||(fp=y_.createElement("g",{mask:"url(#a)"},y_.createElement("path",{fill:"#2C3336",d:"M12.05 19.75c-2.163 0-4.004-.753-5.522-2.258C5.009 15.987 4.25 14.156 4.25 12v-.78l-1.323 1.322a.725.725 0 0 1-.522.213.707.707 0 0 1-.532-.213.718.718 0 0 1-.217-.527c0-.206.072-.382.217-.527l2.494-2.494A.867.867 0 0 1 5 8.724c.241 0 .452.09.633.27l2.494 2.495c.138.138.21.312.212.521a.707.707 0 0 1-.212.532.718.718 0 0 1-.527.218.718.718 0 0 1-.527-.218L5.75 11.22V12c0 1.737.612 3.213 1.835 4.428 1.223 1.215 2.711 1.822 4.465 1.822.292 0 .584-.02.874-.06.29-.04.577-.107.859-.204a.879.879 0 0 1 .603.02.81.81 0 0 1 .426.396.678.678 0 0 1 .018.585.664.664 0 0 1-.444.388c-.376.133-.762.23-1.155.288a8.049 8.049 0 0 1-1.181.087Zm-.1-14c-.292 0-.584.02-.874.06-.29.04-.577.107-.859.203a.901.901 0 0 1-.61-.02.808.808 0 0 1-.434-.395.655.655 0 0 1-.023-.57.646.646 0 0 1 .423-.388c.387-.133.78-.231 1.176-.295a7.593 7.593 0 0 1 1.201-.095c2.163 0 4.004.753 5.522 2.258C18.991 8.013 19.75 9.844 19.75 12v.78l1.323-1.322a.725.725 0 0 1 .522-.213.707.707 0 0 1 .532.213c.145.144.217.32.217.527a.717.717 0 0 1-.217.527l-2.494 2.494a.867.867 0 0 1-.633.27.867.867 0 0 1-.633-.27l-2.494-2.495a.724.724 0 0 1-.212-.522.707.707 0 0 1 .212-.531.717.717 0 0 1 .527-.218c.206 0 .382.073.527.218l1.323 1.323V12c0-1.737-.611-3.213-1.835-4.428-1.223-1.215-2.711-1.822-4.465-1.822Z"}))))},bp=function(e){return y_.createElement("svg",ft({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("g",{id:"customize"},y_.createElement("mask",{id:"mask0_4_1844",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:25,height:24},hp||(hp=y_.createElement("rect",{id:"Bounding box",x:.5,width:24,height:24,fill:"#D9D9D9"}))),Cp||(Cp=y_.createElement("g",{mask:"url(#mask0_4_1844)"},y_.createElement("path",{id:"draw",d:"M14.5 21C14.2167 21 13.9792 20.9042 13.7875 20.7125C13.5958 20.5208 13.5 20.2833 13.5 20C13.5 19.7167 13.5958 19.4792 13.7875 19.2875C13.9792 19.0958 14.2167 19 14.5 19C15.2833 19 15.9792 18.8458 16.5875 18.5375C17.1958 18.2292 17.5 17.8833 17.5 17.5C17.5 17.2667 17.3917 17.05 17.175 16.85C16.9583 16.65 16.6583 16.4667 16.275 16.3L17.75 14.825C18.2833 15.1417 18.7083 15.5167 19.025 15.95C19.3417 16.3833 19.5 16.9 19.5 17.5C19.5 18.6 18.975 19.4583 17.925 20.075C16.875 20.6917 15.7333 21 14.5 21ZM5.075 13.35C4.59167 13.0667 4.20833 12.7375 3.925 12.3625C3.64167 11.9875 3.5 11.5333 3.5 11C3.5 10.3 3.75833 9.7125 4.275 9.2375C4.79167 8.7625 5.71667 8.23333 7.05 7.65C8.1 7.16667 8.77083 6.82917 9.0625 6.6375C9.35417 6.44583 9.5 6.23333 9.5 6C9.5 5.73333 9.3375 5.5 9.0125 5.3C8.6875 5.1 8.18333 5 7.5 5C7.08333 5 6.73333 5.05 6.45 5.15C6.16667 5.25 5.90833 5.41667 5.675 5.65C5.49167 5.83333 5.26667 5.94167 5 5.975C4.73333 6.00833 4.49167 5.93333 4.275 5.75C4.05833 5.58333 3.93333 5.36667 3.9 5.1C3.86667 4.83333 3.94167 4.59167 4.125 4.375C4.44167 3.99167 4.89583 3.66667 5.4875 3.4C6.07917 3.13333 6.75 3 7.5 3C8.7 3 9.66667 3.27083 10.4 3.8125C11.1333 4.35417 11.5 5.08333 11.5 6C11.5 6.65 11.2583 7.23333 10.775 7.75C10.2917 8.26667 9.31667 8.84167 7.85 9.475C6.88333 9.89167 6.25 10.2 5.95 10.4C5.65 10.6 5.5 10.8 5.5 11C5.5 11.15 5.59583 11.2958 5.7875 11.4375C5.97917 11.5792 6.24167 11.7167 6.575 11.85L5.075 13.35ZM19.35 10.4L15.1 6.15L16.15 5.1C16.55 4.7 17.0292 4.5 17.5875 4.5C18.1458 4.5 18.6167 4.7 19 5.1L20.4 6.5C20.8 6.88333 21 7.35417 21 7.9125C21 8.47083 20.8 8.95 20.4 9.35L19.35 10.4ZM6.5 19H7.9L15.1 11.8L13.7 10.4L6.5 17.6V19ZM5 21C4.86667 21 4.75 20.95 4.65 20.85C4.55 20.75 4.5 20.6333 4.5 20.5V16.95C4.5 16.9167 4.55 16.8 4.65 16.6L13.7 7.55L17.95 11.8L8.9 20.85C8.86667 20.8833 8.75 20.9333 8.55 21H5Z",fill:"#02BF6F"})))))},wp=function(e){return y_.createElement("svg",gt({fill:"none",viewBox:"0 0 20 20"},e),y_.createElement("g",{id:"electric_bolt"},y_.createElement("mask",{id:"mask0_276_10129",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:20,height:20},vp||(vp=y_.createElement("rect",{id:"Bounding box",width:20,height:20,fill:"#D9D9D9"}))),yp||(yp=y_.createElement("g",{mask:"url(#mask0_276_10129)"},y_.createElement("path",{id:"electric_bolt_2",d:"M9.16667 12.0834L4.22917 11.4584C3.88194 11.4167 3.65625 11.2292 3.55208 10.8959C3.44792 10.5625 3.52083 10.2778 3.77083 10.0417L12.2917 1.87502C12.3611 1.80558 12.4444 1.75349 12.5417 1.71877C12.6389 1.68405 12.7708 1.66669 12.9375 1.66669C13.2153 1.66669 13.4271 1.78474 13.5729 2.02085C13.7187 2.25696 13.7222 2.50002 13.5833 2.75002L10.8333 7.91669L15.7708 8.54169C16.1181 8.58335 16.3437 8.77085 16.4479 9.10419C16.5521 9.43752 16.4792 9.72224 16.2292 9.95835L7.70833 18.125C7.63889 18.1945 7.55555 18.2465 7.45833 18.2813C7.36111 18.316 7.22917 18.3334 7.0625 18.3334C6.78472 18.3334 6.57292 18.2153 6.42708 17.9792C6.28125 17.7431 6.27778 17.5 6.41667 17.25L9.16667 12.0834Z",fill:"#F19241"})))))},Ep=function(e){return y_.createElement("svg",ht({viewBox:"0 0 24 24"},e),Ip||(Ip=y_.createElement("g",{clipPath:"url(#a)"},y_.createElement("circle",{cx:12.125,cy:12.005,r:11.625,fill:"#fff"}),y_.createElement("path",{fill:"#9FA6AD",d:"M12.125.375C5.705.375.5 5.58.5 12s5.205 11.625 11.625 11.625S23.75 18.421 23.75 12C23.75 5.58 18.546.375 12.125.375Zm0 20.25A8.62 8.62 0 0 1 3.5 12a8.62 8.62 0 0 1 8.625-8.625A8.62 8.62 0 0 1 20.75 12a8.62 8.62 0 0 1-8.625 8.625Zm0-14.625a6 6 0 1 0 0 12 6 6 0 0 0 0-12Zm0 9c-1.654 0-3-1.346-3-3s1.346-3 3-3 3 1.346 3 3-1.346 3-3 3Z"}))),xp||(xp=y_.createElement("defs",null,y_.createElement("clipPath",{id:"a"},y_.createElement("path",{fill:"#fff",d:"M0 0h24v24H0z"})))))},Ap=function(e){return y_.createElement("svg",Ct({fill:"none",viewBox:"0 0 24 24"},e),_p||(_p=y_.createElement("path",{d:"M4.99997 11C4.59101 11 4.23877 10.8522 3.94327 10.5567C3.64776 10.2612 3.5 9.90897 3.5 9.5V4.99998C3.5 4.59101 3.64776 4.23878 3.94327 3.94328C4.23877 3.64776 4.59101 3.5 4.99997 3.5H9.5C9.90897 3.5 10.2612 3.64776 10.5567 3.94328C10.8522 4.23878 11 4.59101 11 4.99998V9.5C11 9.90897 10.8522 10.2612 10.5567 10.5567C10.2612 10.8522 9.90897 11 9.5 11H4.99997ZM4.99997 20.5C4.59101 20.5 4.23877 20.3522 3.94327 20.0567C3.64776 19.7612 3.5 19.4089 3.5 19V14.5C3.5 14.091 3.64776 13.7387 3.94327 13.4432C4.23877 13.1477 4.59101 13 4.99997 13H9.5C9.90897 13 10.2612 13.1477 10.5567 13.4432C10.8522 13.7387 11 14.091 11 14.5V19C11 19.4089 10.8522 19.7612 10.5567 20.0567C10.2612 20.3522 9.90897 20.5 9.5 20.5H4.99997ZM14.5 11C14.091 11 13.7387 10.8522 13.4432 10.5567C13.1477 10.2612 13 9.90897 13 9.5V4.99998C13 4.59101 13.1477 4.23878 13.4432 3.94328C13.7387 3.64776 14.091 3.5 14.5 3.5H19C19.4089 3.5 19.7612 3.64776 20.0567 3.94328C20.3522 4.23878 20.5 4.59101 20.5 4.99998V9.5C20.5 9.90897 20.3522 10.2612 20.0567 10.5567C19.7612 10.8522 19.4089 11 19 11H14.5ZM14.5 20.5C14.091 20.5 13.7387 20.3522 13.4432 20.0567C13.1477 19.7612 13 19.4089 13 19V14.5C13 14.091 13.1477 13.7387 13.4432 13.4432C13.7387 13.1477 14.091 13 14.5 13H19C19.4089 13 19.7612 13.1477 20.0567 13.4432C20.3522 13.7387 20.5 14.091 20.5 14.5V19C20.5 19.4089 20.3522 19.7612 20.0567 20.0567C19.7612 20.3522 19.4089 20.5 19 20.5H14.5ZM4.99997 9.5H9.5V4.99998H4.99997V9.5ZM14.5 9.5H19V4.99998H14.5V9.5ZM14.5 19H19V14.5H14.5V19ZM4.99997 19H9.5V14.5H4.99997V19Z",fill:"#5D676B"})))},Rp=function(e){return y_.createElement("svg",bt({fill:"none",viewBox:"0 0 24 24"},e),Mp||(Mp=y_.createElement("path",{d:"M4.25 6.99998C4.0375 6.99998 3.85938 6.92807 3.71563 6.78425C3.57188 6.64045 3.5 6.46225 3.5 6.24965C3.5 6.03707 3.57188 5.85898 3.71563 5.7154C3.85938 5.5718 4.0375 5.5 4.25 5.5H19.75C19.9625 5.5 20.1406 5.57191 20.2843 5.71573C20.4281 5.85954 20.5 6.03774 20.5 6.25033C20.5 6.46293 20.4281 6.64102 20.2843 6.7846C20.1406 6.92818 19.9625 6.99998 19.75 6.99998H4.25ZM4.25 18.5C4.0375 18.5 3.85938 18.428 3.71563 18.2842C3.57188 18.1404 3.5 17.9622 3.5 17.7496C3.5 17.537 3.57188 17.3589 3.71563 17.2154C3.85938 17.0718 4.0375 17 4.25 17H19.75C19.9625 17 20.1406 17.0719 20.2843 17.2157C20.4281 17.3595 20.5 17.5377 20.5 17.7503C20.5 17.9629 20.4281 18.141 20.2843 18.2846C20.1406 18.4282 19.9625 18.5 19.75 18.5H4.25ZM4.25 12.75C4.0375 12.75 3.85938 12.6781 3.71563 12.5343C3.57188 12.3904 3.5 12.2122 3.5 11.9997C3.5 11.7871 3.57188 11.609 3.71563 11.4654C3.85938 11.3218 4.0375 11.25 4.25 11.25H19.75C19.9625 11.25 20.1406 11.3219 20.2843 11.4657C20.4281 11.6095 20.5 11.7877 20.5 12.0003C20.5 12.2129 20.4281 12.391 20.2843 12.5346C20.1406 12.6782 19.9625 12.75 19.75 12.75H4.25Z",fill:"#5D676B"})))},Sp=function(e){return y_.createElement("svg",vt({viewBox:"0 0 24 24",fill:"none"},e),Vp||(Vp=y_.createElement("path",{id:"path",opacity:.4,d:"M22.8749 16.5H9.62476C9.32639 16.5 9.04024 16.6185 8.82926 16.8295C8.61828 17.0405 8.49976 17.3266 8.49976 17.625V21.375C8.49976 21.6734 8.61828 21.9595 8.82926 22.1705C9.04024 22.3815 9.32639 22.5 9.62476 22.5H22.8749C23.1733 22.5 23.4594 22.3815 23.6704 22.1705C23.8814 21.9595 23.9999 21.6734 23.9999 21.375V17.625C23.9999 17.3266 23.8814 17.0405 23.6704 16.8295C23.4594 16.6185 23.1733 16.5 22.8749 16.5ZM22.8749 1.5H9.62476C9.32639 1.5 9.04024 1.61853 8.82926 1.8295C8.61828 2.04048 8.49976 2.32663 8.49976 2.625V6.375C8.49976 6.67337 8.61828 6.95952 8.82926 7.1705C9.04024 7.38147 9.32639 7.5 9.62476 7.5H22.8749C23.1733 7.5 23.4594 7.38147 23.6704 7.1705C23.8814 6.95952 23.9999 6.67337 23.9999 6.375V2.625C23.9999 2.32663 23.8814 2.04048 23.6704 1.8295C23.4594 1.61853 23.1733 1.5 22.8749 1.5ZM22.8749 9H9.62476C9.32639 9 9.04024 9.11853 8.82926 9.3295C8.61828 9.54048 8.49976 9.82663 8.49976 10.125V13.875C8.49976 14.1734 8.61828 14.4595 8.82926 14.6705C9.04024 14.8815 9.32639 15 9.62476 15H22.8749C23.1733 15 23.4594 14.8815 23.6704 14.6705C23.8814 14.4595 23.9999 14.1734 23.9999 13.875V10.125C23.9999 9.82663 23.8814 9.54048 23.6704 9.3295C23.4594 9.11853 23.1733 9 22.8749 9Z",fill:"#2C3336"})),Op||(Op=y_.createElement("path",{id:"path_2",d:"M5.87484 9H1.125C0.826631 9 0.540483 9.11853 0.329505 9.3295C0.118526 9.54048 0 9.82663 0 10.125L0 13.875C0 14.1734 0.118526 14.4595 0.329505 14.6705C0.540483 14.8815 0.826631 15 1.125 15H5.87484C6.17321 15 6.45936 14.8815 6.67034 14.6705C6.88132 14.4595 6.99984 14.1734 6.99984 13.875V10.125C6.99984 9.82663 6.88132 9.54048 6.67034 9.3295C6.45936 9.11853 6.17321 9 5.87484 9ZM5.87484 1.5H1.125C0.826631 1.5 0.540483 1.61853 0.329505 1.8295C0.118526 2.04048 0 2.32663 0 2.625L0 6.375C0 6.67337 0.118526 6.95952 0.329505 7.1705C0.540483 7.38147 0.826631 7.5 1.125 7.5H5.87484C6.17321 7.5 6.45936 7.38147 6.67034 7.1705C6.88132 6.95952 6.99984 6.67337 6.99984 6.375V2.625C6.99984 2.32663 6.88132 2.04048 6.67034 1.8295C6.45936 1.61853 6.17321 1.5 5.87484 1.5ZM5.87484 16.5H1.125C0.826631 16.5 0.540483 16.6185 0.329505 16.8295C0.118526 17.0405 0 17.3266 0 17.625L0 21.375C0 21.6734 0.118526 21.9595 0.329505 22.1705C0.540483 22.3815 0.826631 22.5 1.125 22.5H5.87484C6.17321 22.5 6.45936 22.3815 6.67034 22.1705C6.88132 21.9595 6.99984 21.6734 6.99984 21.375V17.625C6.99984 17.3266 6.88132 17.0405 6.67034 16.8295C6.45936 16.6185 6.17321 16.5 5.87484 16.5Z",fill:"#2C3336"})))},Np=function(e){return y_.createElement("svg",yt({fill:"none",viewBox:"0 0 24 24"},e),Pp||(Pp=y_.createElement("path",{id:"path",d:"M23.3411 3.57562L20.4245 0.659063C19.9848 0.219844 19.4092 0 18.8336 0C18.2575 0 17.6818 0.219844 17.2426 0.659063L0.65918 17.2425C-0.219727 18.1214 -0.219727 19.5459 0.65918 20.4244L3.57574 23.3409C4.01496 23.7802 4.59105 24 5.16668 24C5.7423 24 6.3184 23.7802 6.75762 23.3409L23.3406 6.7575C24.22 5.87906 24.22 4.45453 23.3411 3.57562ZM5.16715 21.75L2.25012 18.8334L12.7454 8.33672L15.6629 11.2542L5.16715 21.75ZM17.2539 9.66281L14.3364 6.74531L18.8312 2.25H18.8336L21.7501 5.16656L17.2539 9.66281ZM20.2501 13.5L19.0004 15.9998L16.5001 17.25L19.0004 18.5002L20.2501 21L21.4998 18.5002L24.0001 17.25L21.4998 15.9998L20.2501 13.5ZM10.5001 4.5L11.2501 3L12.7501 2.25L11.2501 1.5L10.5001 0L9.75012 1.5L8.25012 2.25L9.75012 3L10.5001 4.5ZM3.75012 7.5L4.9998 5.00016L7.50012 3.75L4.9998 2.49984L3.75012 0L2.50043 2.49984L0.000117168 3.75L2.50043 5.00016L3.75012 7.5Z",fill:"#02BF6F"})))},Gp=function(e){return y_.createElement("svg",wt({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("g",{id:"materials"},y_.createElement("mask",{id:"mask0_4_1838",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Lp||(Lp=y_.createElement("rect",{id:"Bounding box",width:24,height:24,fill:"#D9D9D9"}))),Bp||(Bp=y_.createElement("g",{mask:"url(#mask0_4_1838)"},y_.createElement("path",{id:"media_link",d:"M10.825 17.425L8.275 19.025C8.10833 19.125 7.9375 19.1292 7.7625 19.0375C7.5875 18.9458 7.5 18.8 7.5 18.6V15.4C7.5 15.2 7.5875 15.0542 7.7625 14.9625C7.9375 14.8708 8.10833 14.875 8.275 14.975L10.825 16.575C10.9917 16.675 11.075 16.8167 11.075 17C11.075 17.1833 10.9917 17.325 10.825 17.425ZM13 10C12.1667 10 11.4583 9.70833 10.875 9.125C10.2917 8.54167 10 7.83333 10 7C10 6.16667 10.2917 5.45833 10.875 4.875C11.4583 4.29167 12.1667 4 13 4H13.5C13.7167 4 13.8958 4.07083 14.0375 4.2125C14.1792 4.35417 14.25 4.53333 14.25 4.75C14.25 4.96667 14.1792 5.14583 14.0375 5.2875C13.8958 5.42917 13.7167 5.5 13.5 5.5H13C12.5833 5.5 12.2292 5.64583 11.9375 5.9375C11.6458 6.22917 11.5 6.58333 11.5 7C11.5 7.41667 11.6458 7.77083 11.9375 8.0625C12.2292 8.35417 12.5833 8.5 13 8.5H13.5C13.7167 8.5 13.8958 8.57083 14.0375 8.7125C14.1792 8.85417 14.25 9.03333 14.25 9.25C14.25 9.46667 14.1792 9.64583 14.0375 9.7875C13.8958 9.92917 13.7167 10 13.5 10H13ZM17 10H16.5C16.2833 10 16.1042 9.92917 15.9625 9.7875C15.8208 9.64583 15.75 9.46667 15.75 9.25C15.75 9.03333 15.8208 8.85417 15.9625 8.7125C16.1042 8.57083 16.2833 8.5 16.5 8.5H17C17.4167 8.5 17.7708 8.35417 18.0625 8.0625C18.3542 7.77083 18.5 7.41667 18.5 7C18.5 6.58333 18.3542 6.22917 18.0625 5.9375C17.7708 5.64583 17.4167 5.5 17 5.5H16.5C16.2833 5.5 16.1042 5.42917 15.9625 5.2875C15.8208 5.14583 15.75 4.96667 15.75 4.75C15.75 4.53333 15.8208 4.35417 15.9625 4.2125C16.1042 4.07083 16.2833 4 16.5 4H17C17.8333 4 18.5417 4.29167 19.125 4.875C19.7083 5.45833 20 6.16667 20 7C20 7.83333 19.7083 8.54167 19.125 9.125C18.5417 9.70833 17.8333 10 17 10ZM16.25 7.75H13.75C13.5333 7.75 13.3542 7.67917 13.2125 7.5375C13.0708 7.39583 13 7.21667 13 7C13 6.78333 13.0708 6.60417 13.2125 6.4625C13.3542 6.32083 13.5333 6.25 13.75 6.25H16.25C16.4667 6.25 16.6458 6.32083 16.7875 6.4625C16.9292 6.60417 17 6.78333 17 7C17 7.21667 16.9292 7.39583 16.7875 7.5375C16.6458 7.67917 16.4667 7.75 16.25 7.75ZM16.1 14V12H21V3H9V12H7V3C7 2.45 7.19583 1.97917 7.5875 1.5875C7.97917 1.19583 8.45 1 9 1H21C21.55 1 22.0208 1.19583 22.4125 1.5875C22.8042 1.97917 23 2.45 23 3V12C23 12.55 22.8042 13.0208 22.4125 13.4125C22.0208 13.8042 21.55 14 21 14H16.1ZM3 23C2.45 23 1.97917 22.8042 1.5875 22.4125C1.19583 22.0208 1 21.55 1 21V13C1 12.45 1.19583 11.9792 1.5875 11.5875C1.97917 11.1958 2.45 11 3 11H15C15.55 11 16.0208 11.1958 16.4125 11.5875C16.8042 11.9792 17 12.45 17 13V21C17 21.55 16.8042 22.0208 16.4125 22.4125C16.0208 22.8042 15.55 23 15 23H3ZM3 21H15V13H3V21Z",fill:"#02BF6F"})))))},Dp=function(e){return y_.createElement("svg",It({fill:"#2C3336",className:"demio-icon",style:{fontSize:16},viewBox:"0 0 16 16"},e),Zp||(Zp=y_.createElement("path",{d:"M11.5 0h-7A1.5 1.5 0 0 0 3 1.5v13A1.5 1.5 0 0 0 4.5 16h7a1.5 1.5 0 0 0 1.5-1.5v-13A1.5 1.5 0 0 0 11.5 0ZM8 15a.999.999 0 1 1 0-2 .999.999 0 1 1 0 2Zm3.5-3.375a.376.376 0 0 1-.375.375h-6.25a.376.376 0 0 1-.375-.375v-9.75c0-.206.169-.375.375-.375h6.25c.206 0 .375.169.375.375v9.75Z"})))},Fp=function(e){return y_.createElement("svg",xt({fill:"none",viewBox:"0 0 24 24"},e),Hp||(Hp=y_.createElement("path",{opacity:.8,d:"M12 0.375C5.57812 0.375 0.375 5.57812 0.375 12C0.375 18.4219 5.57812 23.625 12 23.625C18.4219 23.625 23.625 18.4219 23.625 12C23.625 5.57812 18.4219 0.375 12 0.375ZM17.4234 13.125L9.17344 17.8594C8.43281 18.2719 7.5 17.7422 7.5 16.875V7.125C7.5 6.2625 8.42812 5.72813 9.17344 6.14062L17.4234 11.1562C18.1922 11.5875 18.1922 12.6984 17.4234 13.125Z",fill:"#DEE4E8"})),Tp||(Tp=y_.createElement("path",{opacity:.8,d:"M17.4235 13.1254L9.17344 17.8597C8.43281 18.2722 7.5 17.7426 7.5 16.8754V7.12537C7.5 6.26287 8.42813 5.72849 9.17344 6.141L17.4235 11.1566C18.1922 11.5879 18.1922 12.6988 17.4235 13.1254Z",fill:"white"})),kp||(kp=y_.createElement("line",{x1:3.16061,y1:20.1328,x2:20.1312,y2:3.16221,stroke:"white"})))},Xp=function(e){return y_.createElement("svg",Et({fill:"none",viewBox:"0 0 24 24"},e),Wp||(Wp=y_.createElement("path",{fill:"#2C3336",d:"M23.625 11.979a11.586 11.586 0 0 0-3.22-8.01l1.674-1.673c.71-.71.207-1.921-.795-1.921H15c-.621 0-1.125.504-1.125 1.125v6.284c0 1.002 1.212 1.504 1.92.796l1.958-1.958a7.818 7.818 0 0 1 2.122 5.308c.037 4.331-3.468 7.982-7.943 7.945-4.245-.036-7.807-3.477-7.807-7.875 0-1.928.688-3.75 1.948-5.186a.562.562 0 0 0-.026-.767l-1.86-1.86a.564.564 0 0 0-.816.023A11.582 11.582 0 0 0 .375 12C.375 18.42 5.58 23.625 12 23.625c6.413 0 11.637-5.233 11.625-11.646Z"})))},jp=function(e){return y_.createElement("svg",_t({viewBox:"0 0 24 24",fill:"none"},e),zp||(zp=y_.createElement("path",{d:"M7.10005 11.35C7.33338 10.8833 7.57505 10.4333 7.82505 9.99999C8.07505 9.56666 8.35005 9.13332 8.65005 8.69999L7.25005 8.42499L5.15005 10.525L7.10005 11.35ZM19.15 4.47499C17.9834 4.50832 16.7375 4.84999 15.4125 5.49999C14.0875 6.14999 12.8834 7.01666 11.8 8.09999C11.1 8.79999 10.475 9.54999 9.92505 10.35C9.37505 11.15 8.96672 11.9 8.70005 12.6L11.55 15.425C12.25 15.1583 13 14.75 13.8 14.2C14.6 13.65 15.35 13.025 16.05 12.325C17.1334 11.2417 18 10.0417 18.65 8.72499C19.3 7.40832 19.6417 6.16666 19.675 4.99999C19.675 4.93332 19.6625 4.86666 19.6375 4.79999C19.6125 4.73332 19.575 4.67499 19.525 4.62499C19.475 4.57499 19.4167 4.53749 19.35 4.51249C19.2834 4.48749 19.2167 4.47499 19.15 4.47499ZM13.65 10.475C13.2667 10.0917 13.075 9.62082 13.075 9.06249C13.075 8.50416 13.2667 8.03332 13.65 7.64999C14.0334 7.26666 14.5084 7.07499 15.075 7.07499C15.6417 7.07499 16.1167 7.26666 16.5 7.64999C16.8834 8.03332 17.075 8.50416 17.075 9.06249C17.075 9.62082 16.8834 10.0917 16.5 10.475C16.1167 10.8583 15.6417 11.05 15.075 11.05C14.5084 11.05 14.0334 10.8583 13.65 10.475ZM12.8 17.025L13.625 19L15.725 16.9L15.45 15.5C15.0167 15.8 14.5834 16.0708 14.15 16.3125C13.7167 16.5542 13.2667 16.7917 12.8 17.025ZM21.575 3.67499C21.7084 5.50832 21.4084 7.29582 20.675 9.03749C19.9417 10.7792 18.7834 12.4417 17.2 14.025L17.7 16.5C17.7667 16.8333 17.75 17.1583 17.65 17.475C17.55 17.7917 17.3834 18.0667 17.15 18.3L14 21.45C13.75 21.7 13.45 21.7958 13.1 21.7375C12.75 21.6792 12.5084 21.4833 12.375 21.15L10.85 17.575L6.57505 13.3L3.00005 11.775C2.66672 11.6417 2.46672 11.4 2.40005 11.05C2.33338 10.7 2.42505 10.4 2.67505 10.15L5.82505 6.99999C6.05838 6.76666 6.33755 6.59999 6.66255 6.49999C6.98755 6.39999 7.31672 6.38332 7.65005 6.44999L10.125 6.94999C11.7084 5.36666 13.3709 4.20832 15.1125 3.47499C16.8542 2.74166 18.6417 2.44166 20.475 2.57499C20.6084 2.59166 20.7417 2.62916 20.875 2.68749C21.0084 2.74582 21.125 2.82499 21.225 2.92499C21.3251 3.02499 21.4042 3.14166 21.4625 3.27499C21.5209 3.40832 21.5584 3.54166 21.575 3.67499ZM3.92505 15.975C4.50838 15.3917 5.22088 15.0958 6.06255 15.0875C6.90422 15.0792 7.61672 15.3667 8.20005 15.95C8.78338 16.5333 9.07088 17.2458 9.06255 18.0875C9.05422 18.9292 8.75838 19.6417 8.17505 20.225C7.75838 20.6417 7.06255 21 6.08755 21.3C5.11255 21.6 3.76672 21.8667 2.05005 22.1C2.28338 20.3833 2.55005 19.0375 2.85005 18.0625C3.15005 17.0875 3.50838 16.3917 3.92505 15.975ZM5.35005 17.375C5.18338 17.5417 5.01672 17.8458 4.85005 18.2875C4.68338 18.7292 4.56672 19.175 4.50005 19.625C4.95005 19.5583 5.39588 19.4458 5.83755 19.2875C6.27922 19.1292 6.58338 18.9667 6.75005 18.8C6.95005 18.6 7.05838 18.3583 7.07505 18.075C7.09172 17.7917 7.00005 17.55 6.80005 17.35C6.60005 17.15 6.35838 17.0542 6.07505 17.0625C5.79172 17.0708 5.55005 17.175 5.35005 17.375Z"})))},Up=function(e){return y_.createElement("svg",At({fill:"none",viewBox:"0 0 24 24"},e),y_.createElement("g",{id:"stacked_email"},y_.createElement("mask",{id:"mask0_4_1850",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:0,y:0,width:24,height:24},Yp||(Yp=y_.createElement("rect",{id:"Bounding box",width:24,height:24,fill:"#D9D9D9"}))),Jp||(Jp=y_.createElement("g",{mask:"url(#mask0_4_1850)"},y_.createElement("path",{id:"stacked_email_2",d:"M7 17C6.45 17 5.97917 16.8042 5.5875 16.4125C5.19583 16.0208 5 15.55 5 15V5C5 4.45 5.19583 3.97917 5.5875 3.5875C5.97917 3.19583 6.45 3 7 3H21C21.55 3 22.0208 3.19583 22.4125 3.5875C22.8042 3.97917 23 4.45 23 5V15C23 15.55 22.8042 16.0208 22.4125 16.4125C22.0208 16.8042 21.55 17 21 17H7ZM13.425 11.9L7 7.425V15H21V7.425L14.575 11.9C14.3917 12.0333 14.2 12.1 14 12.1C13.8 12.1 13.6083 12.0333 13.425 11.9ZM14 9.85L21 5H7L14 9.85ZM3 21C2.45 21 1.97917 20.8042 1.5875 20.4125C1.19583 20.0208 1 19.55 1 19V7.5C1 7.21667 1.09583 6.97917 1.2875 6.7875C1.47917 6.59583 1.71667 6.5 2 6.5C2.28333 6.5 2.52083 6.59583 2.7125 6.7875C2.90417 6.97917 3 7.21667 3 7.5V19H18.5C18.7833 19 19.0208 19.0958 19.2125 19.2875C19.4042 19.4792 19.5 19.7167 19.5 20C19.5 20.2833 19.4042 20.5208 19.2125 20.7125C19.0208 20.9042 18.7833 21 18.5 21H3Z",fill:"#02BF6F"})))))},qp=function(e){return y_.createElement("svg",Mt({viewBox:"0 0 64 64"},e),Qp||(Qp=y_.createElement("path",{d:"M58.5858 2.58579C59.3668 1.80474 60.6332 1.80474 61.4142 2.58579C62.1953 3.36683 62.1953 4.63316 61.4142 5.41421L59.2128 7.61566C60.9632 9.95282 62 12.8553 62 16V60C62 60.7523 61.5779 61.4409 60.9076 61.7822C60.2372 62.1236 59.432 62.0599 58.8237 61.6175L48.3496 54H16C15.0143 54 14.0523 53.8981 13.1241 53.7043L5.41422 61.4142C4.63316 62.1953 3.36684 62.1953 2.58579 61.4142C1.80474 60.6332 1.80474 59.3668 2.58579 58.5858L58.5858 2.58579ZM16.8284 50H49C49.4227 50 49.8345 50.1339 50.1763 50.3825L58 56.0725V16C58 13.9618 57.3902 12.0661 56.3432 10.4852L16.8284 50Z",fill:"#02BF6F"})),Kp||(Kp=y_.createElement("path",{d:"M48 2C49.8304 2 51.5788 2.35129 53.1815 2.99012L49.9763 6.19526C49.3374 6.06719 48.6766 6 48 6H16C10.4772 6 6 10.4772 6 16V40C6 42.8051 7.15494 45.3404 9.01524 47.1563L6.18666 49.9849C3.60258 47.445 2 43.9096 2 40V16C2 8.26801 8.26802 2 16 2H48Z",fill:"#02BF6F"})))},$p=Object.freeze({__proto__:null,AddIcon:us,ArrowDownIcon:Is,ArrowFromLeftIcon:Rs,ArrowLeftDoubleIcon:Ss,ArrowLeftIcon:ps,ArrowLeftSingleIcon:Ns,AtIcon:Hs,BarChartIcon:sd,BlockIcon:cp,BlurOnIcon:pp,CachedIcon:gp,CalendarIcon:yd,CalendarStarIcon:xd,CameraIcon:tc,CameraOutlinedIcon:rc,ChatDisabledIcon:Ic,ChatDisabledOldIcon:qp,ChatIcon:ac,CheckCircleIcon:ks,CheckCircleSolidIcon:Ws,CheckIcon:fs,CheckboxIcon:zs,CheckboxUncheckIcon:Ys,ClockIcon:uu,CloseIcon:Xl,CompressIcon:Bs,CopyIcon:pu,CustomizeIcon:bp,DeleteIcon:Cs,DotsIcon:fu,DownloadIcon:hu,EditIcon:vs,ElectricBoltIcon:wp,EventDetailsIcon:Ad,EventRepeatIcon:Vd,ExclamationIcon:Us,ExpandIcon:Zs,ExternalLinkIcon:bu,FeatureActionIcon:Ep,FileIcon:yu,FilterListIcon:Iu,FlipCameraIcon:Eu,GearIcon:Au,HelpIcon:Wu,HelpSolidIcon:zu,InfoCircleIcon:qu,InfoCircleSolidIcon:ed,InfoIcon:Yu,InfoSolidIcon:Qu,ItemsIcon:Ap,ListIcon:Rp,ListThIcon:Sp,LocationIcon:Xd,LockIcon:Ru,MagicIcon:Np,MailIcon:Ou,MaterialsIcon:Gp,MicBoldIcon:Dc,MicOffIcon:Sc,MicOffSolidIcon:Rc,MicOnSolidIcon:Gc,MicOnfIcon:_c,MicOutlinedIcon:Nc,MobileDeviceIcon:Dp,OutStageIcon:Qd,PasswordEyeCrossedIcon:$s,PasswordEyeIcon:Ks,PeopleCommunityIcon:Gd,PeopleIcon:Ld,Person:Dd,PersonDeleteIcon:Td,PersonIcon:Dd,PlayIcon:Pu,PlusIcon:Es,PollIcon:dd,PresentationIcon:qd,ProgressIcon:md,ReplayDisabledIcon:Fp,RestartIcon:Xp,RocketIcon:jp,ScreenPersonIcon:ep,ScreenShareIcon:rp,ScreenShareWindowIcon:np,SearchIcon:As,SideBarIcon:jd,SmileIcon:Fd,SpotlightIcon:Jd,StackedEmailIcon:Up,StageIcon:ap,SyncIcon:Lu,TimesCircleIcon:Gu,TodayIcon:Pd,TrashIcon:Du,TrendingDownIcon:gd,TrendingUpIcon:Cd,UndoIcon:Tu,VideoCamOffIcon:Xc,VideoCamOffSolidIcon:Yc,VideoCamOnIcon:kc,VideoCamOnSolidIcon:Qc,VolumeOffIcon:nu,VolumeOffSolidIcon:$c,VolumeUpIcon:iu,VolumeUpSolidIcon:su,WarningIcon:od,WarningSolidIcon:ad}),em={avatarRoot:"Avatar-modules_avatarRoot__-f6qf",avatarImage:"Avatar-modules_avatarImage__zceNY",avatarFallback:"Avatar-modules_avatarFallback__q-QHl",size16:"Avatar-modules_size16__G8gqA",size24:"Avatar-modules_size24__mfBv9",size32:"Avatar-modules_size32__B21z8",size40:"Avatar-modules_size40__ixjf7",size48:"Avatar-modules_size48__l5CtN",size64:"Avatar-modules_size64__2kbdu",size80:"Avatar-modules_size80__MjWsy",size96:"Avatar-modules_size96__GRUKB",size128:"Avatar-modules_size128__STzjL"};const iA=[16,24,32,40,48,64,80,96,128],aA=({src:e="",size:t=32,userName:n="",alt:o="",className:r="",fallbackDelay:i=600})=>{const a=iA.includes(t)?em[`size${t}`]:em.size32,l=String(n).slice(0,1)||"";return w_.createElement("div",{className:si(a,"demio-ui-avatar",r)},w_.createElement(is,{className:si(em.avatarRoot,"demio-ui-avatar-root")},w_.createElement(as,{className:si(em.avatarImage,"demio-ui-avatar-image"),src:e,alt:o||`${n} profile picture`}),w_.createElement(ls,{className:si(em.avatarFallback,"demio-ui-avatar-fallback"),delayMs:i},l||w_.createElement(Dd,null))))};tm={badge:"Badge-modules_badge__Q3gMy",title:"Badge-modules_title__ldcxW",icon:"Badge-modules_icon__PuMGj",orange:"Badge-modules_orange__KUE8y",gray:"Badge-modules_gray__gyQRh",purple:"Badge-modules_purple__0r-Ep",blue:"Badge-modules_blue__gLy09",outlined:"Badge-modules_outlined__6J7Qy",contained:"Badge-modules_contained__iOqhq",green:"Badge-modules_green__az-Sp"};const lA=({className:e="",icon:t=null,children:n=null,variant:o="contained",color:r="green"})=>w_.createElement("div",{className:si(tm.badge,tm[o],tm[r],"demio-ui-badge",e)},t&&w_.createElement("div",{className:si(tm.icon,"demio-ui-badge-icon")},t),w_.createElement("p",{className:si(tm.title,"demio-ui-badge-title")},n));nm={button:"Button-modules_button__aG-rx",primary:"Button-modules_primary__4wFpG",red:"Button-modules_red__kzhcS",dark:"Button-modules_dark__y2K4o",secondary:"Button-modules_secondary__BxoW-",green:"Button-modules_green__XduFJ",tertiary:"Button-modules_tertiary__atvmK",quarter:"Button-modules_quarter__X0oiw",fullWidth:"Button-modules_fullWidth__K1YM1",prefix:"Button-modules_prefix__5QA-K",suffix:"Button-modules_suffix__alHaW"};const sA=x_((({disabled:e=!1,children:t,onClick:n,variant:o="primary",color:r="green",type:i="button",prefix:a="",suffix:l="",className:s="",fullWidth:c=!1,showLoader:u=!1,...d},p)=>w_.createElement("button",{ref:p,type:i,disabled:e,className:si("demio-ui-button",nm.button,{[s]:s,[nm[o]]:o,[nm.fullWidth]:c,[nm[r]]:!!r}),onClick:n,...d},(a||u)&&w_.createElement("span",{className:si("demio-ui-button-prefix",nm.prefix)},u?w_.createElement(O,{size:"small",inheritColor:!0}):a),w_.createElement("span",null,t),l&&w_.createElement("span",{className:si("demio-ui-button-suffix",nm.suffix)},l))));om={Card:"Card-modules_Card__z6Ana",shadowElevation1:"Card-modules_shadowElevation1__W-OBt",shadowElevation2:"Card-modules_shadowElevation2__wi10x",shadowElevation3:"Card-modules_shadowElevation3__PhQ67",shadowElevation4:"Card-modules_shadowElevation4__Gw1NR",shadowElevation5:"Card-modules_shadowElevation5__1dyXB",shadowElevation6:"Card-modules_shadowElevation6__d6Bwl",shadowElevation7:"Card-modules_shadowElevation7__IKuo-",shadowElevation8:"Card-modules_shadowElevation8__fboRY",shadowElevation9:"Card-modules_shadowElevation9__hpxHG",emptyState:"Card-modules_emptyState__NPe3g"};const cA=E_((({children:e=null,className:t="",isEmptyStateAvailable:n=!0,isLoading:o=!1,emptyStateIcon:r=null,emptyStateText:i="",shadowElevation:a=1})=>{const l=null===r,s=""===i,c=om[`shadowElevation${a}`];return w_.createElement("div",{className:si(om.Card,c,"demio-ui-card",t)},o&&w_.createElement(O,{className:"demio-ui-card-loader"}),!o&&(e||w_.createElement("div",{className:si(om.emptyState,"demio-ui-card-empty-state")},n&&w_.createElement(w_.Fragment,null,w_.createElement("div",{className:si({"demio-ui-card-empty-state-icon":l,"demio-ui-card-custom-state-icon":!l})},r||w_.createElement(sd,null)),w_.createElement("div",{className:si({"demio-ui-card-empty-state-text":s,"demio-ui-card-custom-state-text":!s})},i||"No Data Available")))))}));rm="Checkbox";var[uA,dA]=t(rm),[pA,mA]=uA(rm);im=y_.forwardRef(((e,t)=>{const{__scopeCheckbox:n,name:o,checked:r,defaultChecked:l,required:s,disabled:u,value:d="on",onCheckedChange:p,form:m,...f}=e,[g,h]=y_.useState(null),C=i(t,(e=>h(e))),b=y_.useRef(!1),v=!g||(m||!!g.closest("form")),[y=!1,w]=c({prop:r,defaultProp:l,onChange:p}),I=y_.useRef(y);return y_.useEffect((()=>{const e=g?.form;if(e){const t=()=>w(I.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}}),[g,w]),Z_(pA,{scope:n,state:y,disabled:u,children:[B_(gi.button,{type:"button",role:"checkbox","aria-checked":Ot(y)?"mixed":y,"aria-required":s,"data-state":St(y),"data-disabled":u?"":void 0,disabled:u,value:d,...f,ref:C,onKeyDown:a(e.onKeyDown,(e=>{"Enter"===e.key&&e.preventDefault()})),onClick:a(e.onClick,(e=>{w((e=>!!Ot(e)||!e)),v&&(b.current=e.isPropagationStopped(),b.current||e.stopPropagation())}))}),v&&B_(sm,{control:g,bubbles:!b.current,name:o,value:d,checked:y,required:s,disabled:u,form:m,style:{transform:"translateX(-100%)"},defaultChecked:!Ot(l)&&l})]})})),im.displayName=rm,am="CheckboxIndicator",(lm=y_.forwardRef(((e,t)=>{const{__scopeCheckbox:n,forceMount:o,...r}=e,i=mA(am,n);return B_(Ni,{present:o||Ot(i.state)||!0===i.state,children:B_(gi.span,{"data-state":St(i.state),"data-disabled":i.disabled?"":void 0,...r,ref:t,style:{pointerEvents:"none",...e.style}})})}))).displayName=am,sm=e=>{const{control:t,checked:n,bubbles:o=!0,defaultChecked:r,...i}=e,a=y_.useRef(null),l=Rt(n),s=Vt(t);y_.useEffect((()=>{const e=a.current,t=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(t,"checked").set;if(l!==n&&r){const t=new Event("click",{bubbles:o});e.indeterminate=Ot(n),r.call(e,!Ot(n)&&n),e.dispatchEvent(t)}}),[l,n,o]);const c=y_.useRef(!Ot(n)&&n);return B_("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r??c.current,...i,tabIndex:-1,ref:a,style:{...e.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})},cm=im,um=lm,dm="Label",(pm=y_.forwardRef(((e,t)=>B_(gi.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}})))).displayName=dm,mm=pm,fm="Label-modules_label__rXO6J",gm="Label-modules_semiBold__vTm1B",hm="Label-modules_regular__F9gNE";const fA=(e="regular")=>"semiBold"===e?gm:hm;Cm="Checkbox-modules_container__psQsQ",bm="Checkbox-modules_root__iysyc",vm="Checkbox-modules_label__4TV-f";const gA=E_(x_((({children:e=null,disabled:t=!1,id:n,...o},r)=>w_.createElement("div",{className:si("demio-ui-checkbox",Cm),ref:r},w_.createElement(cm,{...o,className:si("demio-ui-checkbox-button",bm),disabled:t,id:n},w_.createElement(um,{className:"demio-ui-checkbox-button"},w_.createElement(zs,null))),e&&w_.createElement(Pt,{className:si("demio-ui-checkbox-label",vm),htmlFor:n,weight:"regular"},e)))));ym="InputHint-modules_root__bJTnj",wm="InputHint-modules_error__HZnQD",Im={root:"Input-modules_root__vdxX5",label:"Input-modules_label__2RN8-",optional:"Input-modules_optional__M78yJ",static:"Input-modules_static__cpwFU",correctedTop:"Input-modules_correctedTop__I3y-S",inputWrapper:"Input-modules_inputWrapper__KPYyg",input:"Input-modules_input__y9hSj",startAdornment:"Input-modules_startAdornment__Xs8xw",endAdornment:"Input-modules_endAdornment__z04mP",footer:"Input-modules_footer__R8J8U",togglePasswordButton:"Input-modules_togglePasswordButton__KGieB",footerMessage:"Input-modules_footerMessage__akEOh",counter:"Input-modules_counter__HFA5P",isDisabled:"Input-modules_isDisabled__bHf8L",hint:"Input-modules_hint__e-KNY",isError:"Input-modules_isError__1B8e9",isFocused:"Input-modules_isFocused__Oa1Re",isLabelStatic:"Input-modules_isLabelStatic__iF0-s"};const hA=x_(((e,t)=>{const{autoComplete:n="off",className:o="",counterVisibilityLimit:r=.8,defaultValue:i="",disabled:a=!1,endAdornment:l=null,endAdornmentClassName:s="",errorMessage:c="",hint:u="",id:d,inputWrapperClass:p="",isLabelStatic:m=!1,label:f="",maxLength:g=150,name:h="",onBlur:C,onChange:b,onFocus:v,optionalText:y="Optional",placeholder:w="",required:I=!1,startAdornment:x=null,type:E="text",value:_,...A}=e,[M,R]=I_(!1),[V,O]=I_(i||""),[S,P]=I_(!1),N=void 0!==_,L="password"===E,B=L?M?"text":"password":E,G=N?_:V,Z=G.length,D=Z>=g*r;return w_.createElement("div",{className:si("demio-ui-input",`demio-ui-input-${E}`,Im.root,{[o]:!!o,[Im.isDisabled]:a,[Im.isFocused]:S||G,[Im.hasStartAdornment]:!!x,[Im.isError]:!!c,[Im.isLabelStatic]:!!m,"demio-ui-input-has-error":!!c}),"data-html":"container","data-state":S?"focused":""},f&&w_.createElement("label",{htmlFor:d,className:si("demio-ui-input-label",Im.label,{[Im.static]:m}),"data-html":"label"},f),!I&&w_.createElement("span",{className:si("demio-ui-input-optional",Im.optional,{[Im.correctedTop]:m}),"data-html":"optional"},y),w_.createElement("div",{className:si("demio-ui-input-wrapper",Im.inputWrapper,p),"data-html":"wrapper"},x&&w_.createElement("div",{className:Im.startAdornment,"data-html":"start-adornment"},x),w_.createElement("input",{...A,type:B,id:d,ref:t,name:h||d,className:Im.input,placeholder:w,required:I,"data-html":"input",disabled:a,autoComplete:n,maxLength:g,onChange:e=>{b?.(e),N||O(e.target.value)},value:G,onFocus:e=>{v?.(e),P(!0)},onBlur:e=>{C?.(e),P(!1)}}),l&&w_.createElement("div",{className:si(Im.endAdornment,{[s]:!!s}),"data-html":"end-adornment"},l)),w_.createElement("div",{className:si("demio-ui-input-footer",Im.footer,{[Im.footerWithEndAdornment]:!!l}),"data-html":"footer"},w_.createElement("div",{className:si("demio-ui-input-footer-message",Im.footerMessage)},c&&w_.createElement(Nt,{type:"error"},c),u&&!c&&w_.createElement(Nt,{className:Im.hint},u)),w_.createElement(Nt,{className:si("demio-ui-input-counter",Im.counter)},D&&`(${Z} / ${g})`)),L&&w_.createElement("button",{type:"button",className:si("demio-ui-input-toggle-password-button",Im.togglePasswordButton),onClick:()=>{R(!M)}},M?w_.createElement(Ks,null):w_.createElement($s,null)))}));xm="CopyLinkInput-module_root__oxVd0",Em="CopyLinkInput-module_input__MQztq",_m="CopyLinkInput-module_button__J5F9v",Am="CopyLinkInput-module_inputWrapper__m0PMy";const CA=({onCopy:e})=>w_.createElement("button",{type:"button",className:_m,onClick:e,"aria-label":"Copy to clipboard"},w_.createElement(pu,{width:16,height:16})),bA=({value:e="",className:t="",hint:n="Link copied to clipboard",id:o="copy-link-input",...r})=>{const[i,a]=I_(!1),l=__(null),s=__(null),c=A_((async()=>{await(async e=>{try{await navigator.clipboard.writeText(e)}catch(ZV){console.error("Could not copy text: ",ZV)}})(e),a(!0),l.current=setTimeout((()=>{a(!1)}),2e3)}),[e]);return M_((()=>()=>{l.current&&clearTimeout(l.current)}),[]),w_.createElement("div",{className:si(xm,t)},w_.createElement(hA,{className:Em,readOnly:!0,id:o,ref:s,value:e,hint:i?n:"",inputWrapperClass:Am,endAdornment:w_.createElement(CA,{onCopy:c}),required:!0,onFocus:e=>{c(),r.onFocus&&r.onFocus(e)},...r}))};Mm=!1,Xm=Wm={ie:function(){return Lt()||Rm},ieCompatibilityMode:function(){return Lt()||Nm>Rm},ie64:function(){return Wm.ie()&&Dm},firefox:function(){return Lt()||Vm},opera:function(){return Lt()||Om},webkit:function(){return Lt()||Sm},safari:function(){return Wm.webkit()},chrome:function(){return Lt()||Pm},windows:function(){return Lt()||Bm},osx:function(){return Lt()||Lm},linux:function(){return Lt()||Gm},iphone:function(){return Lt()||Hm},mobile:function(){return Lt()||Hm||Tm||Zm||Fm},nativeApp:function(){return Lt()||km},android:function(){return Lt()||Zm},ipad:function(){return Lt()||Tm}},zm=!("undefined"==typeof window||!window.document||!window.document.createElement),(jm={canUseDOM:zm}).canUseDOM&&(Ym=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),Jm=Xm,Um=function(e,t){var n,o,r;return!(!jm.canUseDOM||t&&!("addEventListener"in document))&&((o=(n="on"+e)in document)||((r=document.createElement("div")).setAttribute(n,"return;"),o="function"==typeof r[n]),!o&&Ym&&"wheel"===e&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o)},Qm=10,Km=40,qm=800,Bt.getEventType=function(){return Jm.firefox()?"DOMMouseScroll":Um("wheel")?"wheel":"mousewheel"},$m=e(Bt),ef=".reactEasyCrop_Container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n user-select: none;\n touch-action: none;\n cursor: move;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.reactEasyCrop_Image,\n.reactEasyCrop_Video {\n will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */\n}\n\n.reactEasyCrop_Contain {\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n.reactEasyCrop_Cover_Horizontal {\n width: 100%;\n height: auto;\n}\n.reactEasyCrop_Cover_Vertical {\n width: auto;\n height: 100%;\n}\n\n.reactEasyCrop_CropArea {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n box-sizing: border-box;\n box-shadow: 0 0 0 9999em;\n color: rgba(0, 0, 0, 0.5);\n overflow: hidden;\n}\n\n.reactEasyCrop_CropAreaRound {\n border-radius: 50%;\n}\n\n.reactEasyCrop_CropAreaGrid::before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 0;\n bottom: 0;\n left: 33.33%;\n right: 33.33%;\n border-top: 0;\n border-bottom: 0;\n}\n\n.reactEasyCrop_CropAreaGrid::after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 33.33%;\n bottom: 33.33%;\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n}\n",tf=1,nf=3,of=1,rf=function(e){function t(){var n=null!==e&&e.apply(this,arguments)||this;return n.cropperRef=y_.createRef(),n.imageRef=y_.createRef(),n.videoRef=y_.createRef(),n.containerPosition={x:0,y:0},n.containerRef=null,n.styleRef=null,n.containerRect=null,n.mediaSize={width:0,height:0,naturalWidth:0,naturalHeight:0},n.dragStartPosition={x:0,y:0},n.dragStartCrop={x:0,y:0},n.gestureZoomStart=0,n.gestureRotationStart=0,n.isTouching=!1,n.lastPinchDistance=0,n.lastPinchRotation=0,n.rafDragTimeout=null,n.rafPinchTimeout=null,n.wheelTimer=null,n.currentDoc="undefined"!=typeof document?document:null,n.currentWindow="undefined"!=typeof window?window:null,n.resizeObserver=null,n.state={cropSize:null,hasWheelJustStarted:!1,mediaObjectFit:void 0},n.initResizeObserver=function(){if(void 0!==window.ResizeObserver&&n.containerRef){var e=!0;n.resizeObserver=new window.ResizeObserver((function(t){e?e=!1:n.computeSizes()})),n.resizeObserver.observe(n.containerRef)}},n.preventZoomSafari=function(e){return e.preventDefault()},n.cleanEvents=function(){n.currentDoc&&(n.currentDoc.removeEventListener("mousemove",n.onMouseMove),n.currentDoc.removeEventListener("mouseup",n.onDragStopped),n.currentDoc.removeEventListener("touchmove",n.onTouchMove),n.currentDoc.removeEventListener("touchend",n.onDragStopped),n.currentDoc.removeEventListener("gesturemove",n.onGestureMove),n.currentDoc.removeEventListener("gestureend",n.onGestureEnd),n.currentDoc.removeEventListener("scroll",n.onScroll))},n.clearScrollEvent=function(){n.containerRef&&n.containerRef.removeEventListener("wheel",n.onWheel),n.wheelTimer&&clearTimeout(n.wheelTimer)},n.onMediaLoad=function(){var e=n.computeSizes();e&&(n.emitCropData(),n.setInitialCrop(e)),n.props.onMediaLoaded&&n.props.onMediaLoaded(n.mediaSize)},n.setInitialCrop=function(e){var t,o,r,i;n.props.initialCroppedAreaPercentages?(t=function(e,t,n,o,r,i){var a=Wt(t.width,t.height,n),l=Xt(o.width/a.width*(100/e.width),r,i),s={x:l*a.width/2-o.width/2-a.width*l*(e.x/100),y:l*a.height/2-o.height/2-a.height*l*(e.y/100)};return{crop:s,zoom:l}}(n.props.initialCroppedAreaPercentages,n.mediaSize,n.props.rotation,e,n.props.minZoom,n.props.maxZoom),o=t.crop,r=t.zoom,n.props.onCropChange(o),n.props.onZoomChange&&n.props.onZoomChange(r)):n.props.initialCroppedAreaPixels&&(i=function(e,t,n,o,r,i){var a,l,s;return void 0===n&&(n=0),a=Wt(t.naturalWidth,t.naturalHeight,n),l=Xt(function(e,t,n){var o=function(e){return e.width>e.height?e.width/e.naturalWidth:e.height/e.naturalHeight}(t);return n.height>n.width?n.height/(e.height*o):n.width/(e.width*o)}(e,t,o),r,i),s=o.height>o.width?o.height/e.height:o.width/e.width,{crop:{x:((a.width-e.width)/2-e.x)*s,y:((a.height-e.height)/2-e.y)*s},zoom:l}}(n.props.initialCroppedAreaPixels,n.mediaSize,n.props.rotation,e,n.props.minZoom,n.props.maxZoom),o=i.crop,r=i.zoom,n.props.onCropChange(o),n.props.onZoomChange&&n.props.onZoomChange(r))},n.computeSizes=function(){var e,t,o,r,i,a,l,s,c,u,d,p,m=n.imageRef.current||n.videoRef.current;if(m&&n.containerRef){if(n.containerRect=n.containerRef.getBoundingClientRect(),n.saveContainerPosition(),l=n.containerRect.width/n.containerRect.height,u=(s=(null===(e=n.imageRef.current)||void 0===e?void 0:e.naturalWidth)||(null===(t=n.videoRef.current)||void 0===t?void 0:t.videoWidth)||0)/(c=(null===(o=n.imageRef.current)||void 0===o?void 0:o.naturalHeight)||(null===(r=n.videoRef.current)||void 0===r?void 0:r.videoHeight)||0),d=void 0,m.offsetWidth<s||m.offsetHeight<c)switch(n.state.mediaObjectFit){default:case"contain":d=l>u?{width:n.containerRect.height*u,height:n.containerRect.height}:{width:n.containerRect.width,height:n.containerRect.width/u};break;case"horizontal-cover":d={width:n.containerRect.width,height:n.containerRect.width/u};break;case"vertical-cover":d={width:n.containerRect.height*u,height:n.containerRect.height}}else d={width:m.offsetWidth,height:m.offsetHeight};return n.mediaSize=Gi(Gi({},d),{naturalWidth:s,naturalHeight:c}),n.props.setMediaSize&&n.props.setMediaSize(n.mediaSize),p=n.props.cropSize?n.props.cropSize:function(e,t,n,o,r,i){var a,l,s,c,u;return void 0===i&&(i=0),l=(a=Wt(e,t,i)).width,s=a.height,(c=Math.min(l,n))>(u=Math.min(s,o))*r?{width:u*r,height:u}:{width:c,height:c/r}}(n.mediaSize.width,n.mediaSize.height,n.containerRect.width,n.containerRect.height,n.props.aspect,n.props.rotation),(null===(i=n.state.cropSize)||void 0===i?void 0:i.height)===p.height&&(null===(a=n.state.cropSize)||void 0===a?void 0:a.width)===p.width||n.props.onCropSizeChange&&n.props.onCropSizeChange(p),n.setState({cropSize:p},n.recomputeCropPosition),n.props.setCropSize&&n.props.setCropSize(p),p}},n.saveContainerPosition=function(){if(n.containerRef){var e=n.containerRef.getBoundingClientRect();n.containerPosition={x:e.left,y:e.top}}},n.onMouseDown=function(e){n.currentDoc&&(e.preventDefault(),n.currentDoc.addEventListener("mousemove",n.onMouseMove),n.currentDoc.addEventListener("mouseup",n.onDragStopped),n.saveContainerPosition(),n.onDragStart(t.getMousePoint(e)))},n.onMouseMove=function(e){return n.onDrag(t.getMousePoint(e))},n.onScroll=function(e){n.currentDoc&&(e.preventDefault(),n.saveContainerPosition())},n.onTouchStart=function(e){n.currentDoc&&(n.isTouching=!0,n.props.onTouchRequest&&!n.props.onTouchRequest(e)||(n.currentDoc.addEventListener("touchmove",n.onTouchMove,{passive:!1}),n.currentDoc.addEventListener("touchend",n.onDragStopped),n.saveContainerPosition(),2===e.touches.length?n.onPinchStart(e):1===e.touches.length&&n.onDragStart(t.getTouchPoint(e.touches[0]))))},n.onTouchMove=function(e){e.preventDefault(),2===e.touches.length?n.onPinchMove(e):1===e.touches.length&&n.onDrag(t.getTouchPoint(e.touches[0]))},n.onGestureStart=function(e){n.currentDoc&&(e.preventDefault(),n.currentDoc.addEventListener("gesturechange",n.onGestureMove),n.currentDoc.addEventListener("gestureend",n.onGestureEnd),n.gestureZoomStart=n.props.zoom,n.gestureRotationStart=n.props.rotation)},n.onGestureMove=function(e){var o,r,i;e.preventDefault(),n.isTouching||(o=t.getMousePoint(e),r=n.gestureZoomStart-1+e.scale,n.setNewZoom(r,o,{shouldUpdatePosition:!0}),n.props.onRotationChange&&(i=n.gestureRotationStart+e.rotation,n.props.onRotationChange(i)))},n.onGestureEnd=function(e){n.cleanEvents()},n.onDragStart=function(e){var t,o,r=e.x,i=e.y;n.dragStartPosition={x:r,y:i},n.dragStartCrop=Gi({},n.props.crop),null===(o=(t=n.props).onInteractionStart)||void 0===o||o.call(t)},n.onDrag=function(e){var t=e.x,o=e.y;n.currentWindow&&(n.rafDragTimeout&&n.currentWindow.cancelAnimationFrame(n.rafDragTimeout),n.rafDragTimeout=n.currentWindow.requestAnimationFrame((function(){var e,r,i,a;n.state.cropSize&&void 0!==t&&void 0!==o&&(e=t-n.dragStartPosition.x,r=o-n.dragStartPosition.y,i={x:n.dragStartCrop.x+e,y:n.dragStartCrop.y+r},a=n.props.restrictPosition?Gt(i,n.mediaSize,n.state.cropSize,n.props.zoom,n.props.rotation):i,n.props.onCropChange(a))})))},n.onDragStopped=function(){var e,t;n.isTouching=!1,n.cleanEvents(),n.emitCropData(),null===(t=(e=n.props).onInteractionEnd)||void 0===t||t.call(e)},n.onWheel=function(e){var o,r,i;n.currentWindow&&(n.props.onWheelRequest&&!n.props.onWheelRequest(e)||(e.preventDefault(),o=t.getMousePoint(e),r=$m(e).pixelY,i=n.props.zoom-r*n.props.zoomSpeed/200,n.setNewZoom(i,o,{shouldUpdatePosition:!0}),n.state.hasWheelJustStarted||n.setState({hasWheelJustStarted:!0},(function(){var e,t;return null===(t=(e=n.props).onInteractionStart)||void 0===t?void 0:t.call(e)})),n.wheelTimer&&clearTimeout(n.wheelTimer),n.wheelTimer=n.currentWindow.setTimeout((function(){return n.setState({hasWheelJustStarted:!1},(function(){var e,t;return null===(t=(e=n.props).onInteractionEnd)||void 0===t?void 0:t.call(e)}))}),250)))},n.getPointOnContainer=function(e,t){var o=e.x,r=e.y;if(!n.containerRect)throw new Error("The Cropper is not mounted");return{x:n.containerRect.width/2-(o-t.x),y:n.containerRect.height/2-(r-t.y)}},n.getPointOnMedia=function(e){var t=e.x,o=e.y,r=n.props,i=r.crop,a=r.zoom;return{x:(t+i.x)/a,y:(o+i.y)/a}},n.setNewZoom=function(e,t,o){var r,i,a,l,s,c=void 0===o?{}:o,u=c.shouldUpdatePosition,d=void 0===u||u;n.state.cropSize&&n.props.onZoomChange&&(r=Xt(e,n.props.minZoom,n.props.maxZoom),d&&(i=n.getPointOnContainer(t,n.containerPosition),l={x:(a=n.getPointOnMedia(i)).x*r-i.x,y:a.y*r-i.y},s=n.props.restrictPosition?Gt(l,n.mediaSize,n.state.cropSize,r,n.props.rotation):l,n.props.onCropChange(s)),n.props.onZoomChange(r))},n.getCropData=function(){return n.state.cropSize?function(e,t,n,o,r,i,a){var l,s,c,u,d,p,m;return void 0===i&&(i=0),void 0===a&&(a=!0),l=a?Tt:kt,s=Wt(t.width,t.height,i),c=Wt(t.naturalWidth,t.naturalHeight,i),u={x:l(100,((s.width-n.width/r)/2-e.x/r)/s.width*100),y:l(100,((s.height-n.height/r)/2-e.y/r)/s.height*100),width:l(100,n.width/s.width*100/r),height:l(100,n.height/s.height*100/r)},d=Math.round(l(c.width,u.width*c.width/100)),p=Math.round(l(c.height,u.height*c.height/100)),m=c.width>=c.height*o?{width:Math.round(p*o),height:p}:{width:d,height:Math.round(d/o)},{croppedAreaPercentages:u,croppedAreaPixels:Gi(Gi({},m),{x:Math.round(l(c.width-m.width,u.x*c.width/100)),y:Math.round(l(c.height-m.height,u.y*c.height/100))})}}(n.props.restrictPosition?Gt(n.props.crop,n.mediaSize,n.state.cropSize,n.props.zoom,n.props.rotation):n.props.crop,n.mediaSize,n.state.cropSize,n.getAspect(),n.props.zoom,n.props.rotation,n.props.restrictPosition):null},n.emitCropData=function(){var e,t,o=n.getCropData();o&&(e=o.croppedAreaPercentages,t=o.croppedAreaPixels,n.props.onCropComplete&&n.props.onCropComplete(e,t),n.props.onCropAreaChange&&n.props.onCropAreaChange(e,t))},n.emitCropAreaChange=function(){var e,t,o=n.getCropData();o&&(e=o.croppedAreaPercentages,t=o.croppedAreaPixels,n.props.onCropAreaChange&&n.props.onCropAreaChange(e,t))},n.recomputeCropPosition=function(){if(n.state.cropSize){var e=n.props.restrictPosition?Gt(n.props.crop,n.mediaSize,n.state.cropSize,n.props.zoom,n.props.rotation):n.props.crop;n.props.onCropChange(e),n.emitCropData()}},n.onKeyDown=function(e){var t,o,r,i=n.props,a=i.crop,l=i.onCropChange,s=i.keyboardStep,c=i.zoom,u=i.rotation,d=s;if(n.state.cropSize){switch(e.shiftKey&&(d*=.2),r=Gi({},a),e.key){case"ArrowUp":r.y-=d,e.preventDefault();break;case"ArrowDown":r.y+=d,e.preventDefault();break;case"ArrowLeft":r.x-=d,e.preventDefault();break;case"ArrowRight":r.x+=d,e.preventDefault();break;default:return}n.props.restrictPosition&&(r=Gt(r,n.mediaSize,n.state.cropSize,c,u)),e.repeat||null===(o=(t=n.props).onInteractionStart)||void 0===o||o.call(t),l(r)}},n.onKeyUp=function(e){var t,o;switch(e.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":e.preventDefault();break;default:return}n.emitCropData(),null===(o=(t=n.props).onInteractionEnd)||void 0===o||o.call(t)},n}return function(e,t){function n(){this.constructor=e}if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Bi(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t.prototype.componentDidMount=function(){this.currentDoc&&this.currentWindow&&(this.containerRef&&(this.containerRef.ownerDocument&&(this.currentDoc=this.containerRef.ownerDocument),this.currentDoc.defaultView&&(this.currentWindow=this.currentDoc.defaultView),this.initResizeObserver(),void 0===window.ResizeObserver&&this.currentWindow.addEventListener("resize",this.computeSizes),this.props.zoomWithScroll&&this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}),this.containerRef.addEventListener("gesturestart",this.onGestureStart)),this.currentDoc.addEventListener("scroll",this.onScroll),this.props.disableAutomaticStylesInjection||(this.styleRef=this.currentDoc.createElement("style"),this.styleRef.setAttribute("type","text/css"),this.props.nonce&&this.styleRef.setAttribute("nonce",this.props.nonce),this.styleRef.innerHTML=ef,this.currentDoc.head.appendChild(this.styleRef)),this.imageRef.current&&this.imageRef.current.complete&&this.onMediaLoad(),this.props.setImageRef&&this.props.setImageRef(this.imageRef),this.props.setVideoRef&&this.props.setVideoRef(this.videoRef),this.props.setCropperRef&&this.props.setCropperRef(this.cropperRef))},t.prototype.componentWillUnmount=function(){var e,t;this.currentDoc&&this.currentWindow&&(void 0===window.ResizeObserver&&this.currentWindow.removeEventListener("resize",this.computeSizes),null===(e=this.resizeObserver)||void 0===e||e.disconnect(),this.containerRef&&this.containerRef.removeEventListener("gesturestart",this.preventZoomSafari),this.styleRef&&(null===(t=this.styleRef.parentNode)||void 0===t||t.removeChild(this.styleRef)),this.cleanEvents(),this.props.zoomWithScroll&&this.clearScrollEvent())},t.prototype.componentDidUpdate=function(e){var t,n,o,r,i,a,l,s,c,u;e.rotation!==this.props.rotation?(this.computeSizes(),this.recomputeCropPosition()):e.aspect!==this.props.aspect||e.objectFit!==this.props.objectFit?this.computeSizes():e.zoom!==this.props.zoom?this.recomputeCropPosition():(null===(t=e.cropSize)||void 0===t?void 0:t.height)!==(null===(n=this.props.cropSize)||void 0===n?void 0:n.height)||(null===(o=e.cropSize)||void 0===o?void 0:o.width)!==(null===(r=this.props.cropSize)||void 0===r?void 0:r.width)?this.computeSizes():(null===(i=e.crop)||void 0===i?void 0:i.x)===(null===(a=this.props.crop)||void 0===a?void 0:a.x)&&(null===(l=e.crop)||void 0===l?void 0:l.y)===(null===(s=this.props.crop)||void 0===s?void 0:s.y)||this.emitCropAreaChange(),e.zoomWithScroll!==this.props.zoomWithScroll&&this.containerRef&&(this.props.zoomWithScroll?this.containerRef.addEventListener("wheel",this.onWheel,{passive:!1}):this.clearScrollEvent()),e.video!==this.props.video&&(null===(c=this.videoRef.current)||void 0===c||c.load()),(u=this.getObjectFit())!==this.state.mediaObjectFit&&this.setState({mediaObjectFit:u},this.computeSizes)},t.prototype.getAspect=function(){var e=this.props,t=e.cropSize,n=e.aspect;return t?t.width/t.height:n},t.prototype.getObjectFit=function(){var e,t,n,o,r;return"cover"===this.props.objectFit?(this.imageRef.current||this.videoRef.current)&&this.containerRef?(this.containerRect=this.containerRef.getBoundingClientRect(),r=this.containerRect.width/this.containerRect.height,((null===(e=this.imageRef.current)||void 0===e?void 0:e.naturalWidth)||(null===(t=this.videoRef.current)||void 0===t?void 0:t.videoWidth)||0)/((null===(n=this.imageRef.current)||void 0===n?void 0:n.naturalHeight)||(null===(o=this.videoRef.current)||void 0===o?void 0:o.videoHeight)||0)<r?"horizontal-cover":"vertical-cover"):"horizontal-cover":this.props.objectFit},t.prototype.onPinchStart=function(e){var n=t.getTouchPoint(e.touches[0]),o=t.getTouchPoint(e.touches[1]);this.lastPinchDistance=Dt(n,o),this.lastPinchRotation=Ht(n,o),this.onDragStart(Ft(n,o))},t.prototype.onPinchMove=function(e){var n,o,r,i=this;this.currentDoc&&this.currentWindow&&(n=t.getTouchPoint(e.touches[0]),o=t.getTouchPoint(e.touches[1]),r=Ft(n,o),this.onDrag(r),this.rafPinchTimeout&&this.currentWindow.cancelAnimationFrame(this.rafPinchTimeout),this.rafPinchTimeout=this.currentWindow.requestAnimationFrame((function(){var e,t,a=Dt(n,o),l=i.props.zoom*(a/i.lastPinchDistance);i.setNewZoom(l,r,{shouldUpdatePosition:!1}),i.lastPinchDistance=a,e=Ht(n,o),t=i.props.rotation+(e-i.lastPinchRotation),i.props.onRotationChange&&i.props.onRotationChange(t),i.lastPinchRotation=e})))},t.prototype.render=function(){var e,t=this,n=this.props,o=n.image,r=n.video,i=n.mediaProps,a=n.cropperProps,l=n.transform,s=n.crop,c=s.x,u=s.y,d=n.rotation,p=n.zoom,m=n.cropShape,f=n.showGrid,g=n.style,h=g.containerStyle,C=g.cropAreaStyle,b=g.mediaStyle,v=n.classes,y=v.containerClassName,w=v.cropAreaClassName,I=v.mediaClassName,x=null!==(e=this.state.mediaObjectFit)&&void 0!==e?e:this.getObjectFit();return y_.createElement("div",{onMouseDown:this.onMouseDown,onTouchStart:this.onTouchStart,ref:function(e){return t.containerRef=e},"data-testid":"container",style:h,className:zt("reactEasyCrop_Container",y)},o?y_.createElement("img",Gi({alt:"",className:zt("reactEasyCrop_Image","contain"===x&&"reactEasyCrop_Contain","horizontal-cover"===x&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===x&&"reactEasyCrop_Cover_Vertical",I)},i,{src:o,ref:this.imageRef,style:Gi(Gi({},b),{transform:l||"translate(".concat(c,"px, ").concat(u,"px) rotate(").concat(d,"deg) scale(").concat(p,")")}),onLoad:this.onMediaLoad})):r&&y_.createElement("video",Gi({autoPlay:!0,playsInline:!0,loop:!0,muted:!0,className:zt("reactEasyCrop_Video","contain"===x&&"reactEasyCrop_Contain","horizontal-cover"===x&&"reactEasyCrop_Cover_Horizontal","vertical-cover"===x&&"reactEasyCrop_Cover_Vertical",I)},i,{ref:this.videoRef,onLoadedMetadata:this.onMediaLoad,style:Gi(Gi({},b),{transform:l||"translate(".concat(c,"px, ").concat(u,"px) rotate(").concat(d,"deg) scale(").concat(p,")")}),controls:!1}),(Array.isArray(r)?r:[{src:r}]).map((function(e){return y_.createElement("source",Gi({key:e.src},e))}))),this.state.cropSize&&y_.createElement("div",Gi({ref:this.cropperRef,style:Gi(Gi({},C),{width:this.state.cropSize.width,height:this.state.cropSize.height}),tabIndex:0,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp,"data-testid":"cropper",className:zt("reactEasyCrop_CropArea","round"===m&&"reactEasyCrop_CropAreaRound",f&&"reactEasyCrop_CropAreaGrid",w)},a)))},t.defaultProps={zoom:1,rotation:0,aspect:4/3,maxZoom:nf,minZoom:tf,cropShape:"rect",objectFit:"contain",showGrid:!0,style:{},classes:{},mediaProps:{},cropperProps:{},zoomSpeed:1,restrictPosition:!0,zoomWithScroll:!0,keyboardStep:of},t.getMousePoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t.getTouchPoint=function(e){return{x:Number(e.clientX),y:Number(e.clientY)}},t}(y_.Component),af=y_.createContext(void 0),lf=["PageUp","PageDown"],sf=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],cf={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},uf="Slider";var[vA,yA,wA]=Jt(uf),[IA,xA]=t(uf,[wA]),[EA,_A]=IA(uf);df=y_.forwardRef(((e,t)=>{function n(e,t,{commit:n}={commit:!1}){const o=function(e){return(String(e).split(".")[1]||"").length}(l),a=function(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}(Math.round((e-r)/l)*l+r,o),s=jt(a,[r,i]);x(((e=[])=>{const o=function(e=[],t,n){const o=[...e];return o[n]=t,o.sort(((e,t)=>e-t))}(e,s,t);if(function(e,t){if(t>0){const n=function(e){return e.slice(0,-1).map(((t,n)=>e[n+1]-t))}(e);return Math.min(...n)>=t}return!0}(o,d*l)){y.current=o.indexOf(s);const t=String(o)!==String(e);return t&&n&&g(o),t?o:e}return e}))}const{name:o,min:r=0,max:i=100,step:l=1,orientation:s="horizontal",disabled:u=!1,minStepsBetweenThumbs:d=0,defaultValue:p=[r],value:m,onValueChange:f=()=>{},onValueCommit:g=()=>{},inverted:h=!1,form:C,...b}=e,v=y_.useRef(new Set),y=y_.useRef(0),w="horizontal"===s?pf:mf,[I=[],x]=c({prop:m,defaultProp:p,onChange:e=>{const t=[...v.current];t[y.current]?.focus(),f(e)}}),E=y_.useRef(I);return B_(EA,{scope:e.__scopeSlider,name:o,disabled:u,min:r,max:i,valueIndexToChangeRef:y,thumbs:v.current,values:I,orientation:s,form:C,children:B_(vA.Provider,{scope:e.__scopeSlider,children:B_(vA.Slot,{scope:e.__scopeSlider,children:B_(w,{"aria-disabled":u,"data-disabled":u?"":void 0,...b,ref:t,onPointerDown:a(b.onPointerDown,(()=>{u||(E.current=I)})),min:r,max:i,inverted:h,onSlideStart:u?void 0:function(e){const t=function(e,t){if(1===e.length)return 0;const n=e.map((e=>Math.abs(e-t))),o=Math.min(...n);return n.indexOf(o)}(I,e);n(e,t)},onSlideMove:u?void 0:function(e){n(e,y.current)},onSlideEnd:u?void 0:function(){const e=E.current[y.current];I[y.current]!==e&&g(I)},onHomeKeyDown:()=>!u&&n(r,0,{commit:!0}),onEndKeyDown:()=>!u&&n(i,I.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!u){const o=lf.includes(e.key)||e.shiftKey&&sf.includes(e.key)?10:1,r=y.current;n(I[r]+l*o*t,r,{commit:!0})}}})})})})})),df.displayName=uf;var[AA,MA]=IA(uf,{startEdge:"left",endEdge:"right",size:"width",direction:1});pf=y_.forwardRef(((e,t)=>{function n(e){const t=h.current||m.getBoundingClientRect(),n=Qt([0,t.width],v?[o,r]:[r,o]);return h.current=t,n(e-t.left)}const{min:o,max:r,dir:a,inverted:l,onSlideStart:s,onSlideMove:c,onSlideEnd:u,onStepKeyDown:d,...p}=e,[m,f]=y_.useState(null),g=i(t,(e=>f(e))),h=y_.useRef(void 0),C=Yt(a),b="ltr"===C,v=b&&!l||!b&&l;return B_(AA,{scope:e.__scopeSlider,startEdge:v?"left":"right",endEdge:v?"right":"left",direction:v?1:-1,size:"width",children:B_(ff,{dir:C,"data-orientation":"horizontal",...p,ref:g,style:{...p.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{const t=n(e.clientX);s?.(t)},onSlideMove:e=>{const t=n(e.clientX);c?.(t)},onSlideEnd:()=>{h.current=void 0,u?.()},onStepKeyDown:e=>{const t=cf[v?"from-left":"from-right"].includes(e.key);d?.({event:e,direction:t?-1:1})}})})})),mf=y_.forwardRef(((e,t)=>{function n(e){const t=f.current||p.current.getBoundingClientRect(),n=Qt([0,t.height],g?[r,o]:[o,r]);return f.current=t,n(e-t.top)}const{min:o,max:r,inverted:a,onSlideStart:l,onSlideMove:s,onSlideEnd:c,onStepKeyDown:u,...d}=e,p=y_.useRef(null),m=i(t,p),f=y_.useRef(void 0),g=!a;return B_(AA,{scope:e.__scopeSlider,startEdge:g?"bottom":"top",endEdge:g?"top":"bottom",size:"height",direction:g?1:-1,children:B_(ff,{"data-orientation":"vertical",...d,ref:m,style:{...d.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{const t=n(e.clientY);l?.(t)},onSlideMove:e=>{const t=n(e.clientY);s?.(t)},onSlideEnd:()=>{f.current=void 0,c?.()},onStepKeyDown:e=>{const t=cf[g?"from-bottom":"from-top"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})})),ff=y_.forwardRef(((e,t)=>{const{__scopeSlider:n,onSlideStart:o,onSlideMove:r,onSlideEnd:i,onHomeKeyDown:l,onEndKeyDown:s,onStepKeyDown:c,...u}=e,d=_A(uf,n);return B_(gi.span,{...u,ref:t,onKeyDown:a(e.onKeyDown,(e=>{"Home"===e.key?(l(e),e.preventDefault()):"End"===e.key?(s(e),e.preventDefault()):lf.concat(sf).includes(e.key)&&(c(e),e.preventDefault())})),onPointerDown:a(e.onPointerDown,(e=>{const t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),d.thumbs.has(t)?t.focus():o(e)})),onPointerMove:a(e.onPointerMove,(e=>{e.target.hasPointerCapture(e.pointerId)&&r(e)})),onPointerUp:a(e.onPointerUp,(e=>{const t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),i(e))}))})})),gf="SliderTrack",(hf=y_.forwardRef(((e,t)=>{const{__scopeSlider:n,...o}=e,r=_A(gf,n);return B_(gi.span,{"data-disabled":r.disabled?"":void 0,"data-orientation":r.orientation,...o,ref:t})}))).displayName=gf,Cf="SliderRange",(bf=y_.forwardRef(((e,t)=>{const{__scopeSlider:n,...o}=e,r=_A(Cf,n),a=MA(Cf,n),l=i(t,y_.useRef(null)),s=r.values.length,c=r.values.map((e=>Ut(e,r.min,r.max))),u=s>1?Math.min(...c):0,d=100-Math.max(...c);return B_(gi.span,{"data-orientation":r.orientation,"data-disabled":r.disabled?"":void 0,...o,ref:l,style:{...e.style,[a.startEdge]:u+"%",[a.endEdge]:d+"%"}})}))).displayName=Cf,vf="SliderThumb",yf=y_.forwardRef(((e,t)=>{const n=yA(e.__scopeSlider),[o,r]=y_.useState(null),a=i(t,(e=>r(e))),l=y_.useMemo((()=>o?n().findIndex((e=>e.ref.current===o)):-1),[n,o]);return B_(wf,{...e,ref:a,index:l})})),wf=y_.forwardRef(((e,t)=>{const{__scopeSlider:n,index:o,name:r,...l}=e,s=_A(vf,n),c=MA(vf,n),[u,d]=y_.useState(null),p=i(t,(e=>d(e))),m=!u||(s.form||!!u.closest("form")),f=Vt(u),g=s.values[o],h=void 0===g?0:Ut(g,s.min,s.max),C=function(e,t){return t>2?`Value ${e+1} of ${t}`:2===t?["Minimum","Maximum"][e]:void 0}(o,s.values.length),b=f?.[c.size],v=b?function(e,t,n){const o=e/2;return(o-Qt([0,50],[0,o])(t)*n)*n}(b,h,c.direction):0;return y_.useEffect((()=>{if(u)return s.thumbs.add(u),()=>{s.thumbs.delete(u)}}),[u,s.thumbs]),Z_("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[c.startEdge]:`calc(${h}% + ${v}px)`},children:[B_(vA.ItemSlot,{scope:e.__scopeSlider,children:B_(gi.span,{role:"slider","aria-label":e["aria-label"]||C,"aria-valuemin":s.min,"aria-valuenow":g,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,tabIndex:s.disabled?void 0:0,...l,ref:p,style:void 0===g?{display:"none"}:e.style,onFocus:a(e.onFocus,(()=>{s.valueIndexToChangeRef.current=o}))})}),m&&B_(If,{name:r??(s.name?s.name+(s.values.length>1?"[]":""):void 0),form:s.form,value:g},o)]})})),yf.displayName=vf,If=e=>{const{value:t,...n}=e,o=y_.useRef(null),r=Rt(t);return y_.useEffect((()=>{const e=o.current,n=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(n,"value").set;if(r!==t&&i){const n=new Event("input",{bubbles:!0});i.call(e,t),e.dispatchEvent(n)}}),[r,t]),B_("input",{style:{display:"none"},...n,ref:o,defaultValue:t})},xf=df,Ef=hf,_f=bf,Af=yf,Mf="Slider-modules_container__ZtkgF",Rf="Slider-modules_track__KLggY",Vf="Slider-modules_range__3s39d",Of="Slider-modules_thumb__P9ZoJ",Sf="Slider-modules_thumbArea__lNKj-";const RA=E_((e=>{const{className:t,isDisabled:n=!1,max:o,min:r,name:i="slider",onChange:a,step:l,thumbAriaLabel:s="",value:c=0}=e,[u,d]=I_(c);return M_((()=>{d(c)}),[c]),w_.createElement(xf,{className:si("demio-ui-slider-container",Mf,t),"data-testid":"container",disabled:n,min:r,max:o,name:i,onValueChange:e=>{return t=e[0],d(t),void(a&&a(t));var t},step:l,value:[u]},w_.createElement(Ef,{className:si("demio-ui-slider-track",Rf),"data-testid":"track"},w_.createElement(_f,{className:si("demio-ui-slider-range",Vf),"data-testid":"range"})),w_.createElement(Af,{"aria-label":s,className:si("demio-ui-slider-thumb",Of),"data-testid":"thumb"},w_.createElement("div",{className:si("demio-ui-slider-thumb-area",Sf)})))}));Pf="Crop-modules_root__rN-SB",Nf="Crop-modules_wrapper__gCOCS",Lf="Crop-modules_slider__-2TIB";const VA=E_((e=>{const{aspect:t=1,className:n="",image:o="",isGridVisible:r=!1,onCropChange:i,onCropComplete:a,onZoomChange:l,sliderMin:s=1,sliderMax:c=3,sliderStep:u=.1}=e,[d,p]=I_({x:0,y:0}),[m,f]=I_(s);return o&&w_.createElement("div",{className:si("demio-ui-crop-root",Pf,n),"data-testid":"crop-root"},w_.createElement("div",{className:si("demio-ui-crop-wrapper",Nf),"data-testid":"crop-wrapper"},w_.createElement(rf,{...e,aspect:t,classes:{containerClassName:"demio-ui-crop-container",mediaClassName:"demio-ui-crop-image "+(r?"demio-ui-crop-grid":"")},crop:d,image:o,onCropChange:e=>{p(e),i&&i(e)},onCropComplete:async(e,t)=>{a&&a(e,t)},onZoomChange:f,showGrid:r,zoom:m})),w_.createElement("div",{className:si("demio-ui-crop-slider",Lf),"data-testid":"crop-slider"},w_.createElement(RA,{max:c,min:s,onChange:e=>{f(e),l&&l(e)},step:u})))})),OA={jpg:["image/jpeg"],jpeg:["image/jpeg"],png:["image/png"],gif:["image/gif"],bmp:["image/bmp"],webp:["image/webp"],tiff:["image/tiff"],ico:["image/x-icon"],svg:["image/svg+xml"],pdf:["application/pdf"],txt:["text/plain"],doc:["application/msword"],docx:["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],xls:["application/vnd.ms-excel"],xlsx:["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],pps:["application/vnd.ms-powerpoint","application/mspowerpoint","application/powerpoint","application/x-mspowerpoint","application/x-powerpoint"],ppt:["application/vnd.ms-powerpoint"],pptx:["application/vnd.openxmlformats-officedocument.presentationml.presentation"],odt:["application/vnd.oasis.opendocument.text"],ods:["application/vnd.oasis.opendocument.spreadsheet"],odp:["application/vnd.oasis.opendocument.presentation"],rtf:["application/rtf"],mp3:["audio/mpeg"],wav:["audio/wav"],ogg:["audio/ogg"],aac:["audio/aac"],flac:["audio/flac"],avi:["video/x-msvideo","video/avi","video/x-avi"],flv:["video/x-flv","video/flv"],m4v:["video/x-m4v","video/m4v","video/mp4"],mkv:["video/x-matroska"],mov:["video/quicktime"],mp4:["video/mp4"],mpeg:["video/mpeg"],mpg:["video/mpeg"],webm:["video/webm"],zip:["application/zip"],tar:["application/x-tar"],gz:["application/gzip","application/x-gzip"],rar:["application/x-rar-compressed"],"7z":["application/x-7z-compressed"],html:["text/html"],htm:["text/html"],css:["text/css"],js:["application/javascript"],json:["application/json"],xml:["application/xml"],ttf:["font/ttf"],otf:["font/otf"],woff:["font/woff"],woff2:["font/woff2"],csv:["text/csv"],sql:["application/sql"],md:["text/markdown"],yaml:["text/yaml"],yml:["text/yaml"],epub:["application/epub+zip"],mobi:["application/x-mobipocket-ebook"]},SA=(e=null)=>{if(!(e instanceof File&&e.name))return"";const t=e.name.toLowerCase().trim(),n=t.lastIndexOf(".");return-1!==n?t.substring(n+1):""},PA=(e=null)=>{if(!(e instanceof File))return"";const t=e.type?.toLowerCase().trim()||"";return t.length>0?t:""},NA=(e="",t="")=>{if("string"!=typeof e||"string"!=typeof t)return!1;const n=e.toLowerCase().trim(),o=t.toLowerCase().trim(),r=OA[n]||[];return!(r.length>0)||r.includes(o)},LA=(e=null,t="")=>{if(!(e instanceof File))return!1;if(!("string"==typeof t&&t?.length>0))return!0;const n=SA(e),o=PA(e);if(!n||!o)return!1;if(!NA(n,o))return!1;return t.toLowerCase().trim().includes(n)},BA=(e=null)=>e instanceof File&&e.type.startsWith("image/"),GA=(e=null)=>e instanceof File&&e.type.startsWith("video/"),ZA=(e=null,t=0)=>{if(!(e instanceof File))return!1;if(!t||"number"!=typeof t||t<0)return!0;const n=1024*t*1024;return e.size<n},DA=async(e=null,t=0,n=0)=>new Promise(((o,r)=>{if(!(e instanceof File))return o(!1);if(!BA(e))return o(!0);const i=new FileReader;i.onload=e=>{const i=new Image;i.onload=()=>{const e=i.width>=t&&i.height>=n;o(e)},i.onerror=()=>{r(new Error("Error while loading Image"))},i.src=e.target?.result},i.onerror=()=>{r(new Error("Error while reading Image"))},i.readAsDataURL(e)})),HA=e=>new Promise(((t,n)=>{if(!e)return void n(new Error("URL is empty"));const o=new Image;o.addEventListener("load",(()=>t(o))),o.addEventListener("error",(e=>n(e))),o.setAttribute("crossOrigin","anonymous"),o.src=e})),TA=(e=0)=>e*Math.PI/180,kA=(e,t,n)=>{const o=TA(n);return{width:Math.abs(Math.cos(o)*e)+Math.abs(Math.sin(o)*t),height:Math.abs(Math.sin(o)*e)+Math.abs(Math.cos(o)*t)}},FA=async(e,t,n=0,o={horizontal:!1,vertical:!1})=>{const r=await HA(e),i=document.createElement("canvas"),a=i.getContext("2d");if(!a)return null;const{width:l,height:s}=kA(r.width,r.height,n);i.width=l,i.height=s,a.translate(l/2,s/2),a.scale(o.horizontal?-1:1,o.vertical?-1:1),a.translate(-r.width/2,-r.height/2),a.drawImage(r,0,0);const c=document.createElement("canvas"),u=c.getContext("2d");return u?(c.width=t.width,c.height=t.height,u.drawImage(i,t.x,t.y,t.width,t.height,0,0,t.width,t.height),new Promise(((e,t)=>{c.toBlob((n=>{n?e(URL.createObjectURL(n)):t(null)}),"image/jpeg")}))):null};Bf="Toast-modules_toast__jBLRk",Gf="Toast-modules_noCloseBtn__pyGvH",Zf="Toast-modules_icon__ORsLy",Df="Toast-modules_success__BYfwB",Hf="Toast-modules_warning__HLJ8C",Tf="Toast-modules_error__yN4Cu",kf="Toast-modules_info__V0nO3",Ff="Toast-modules_message__fnWMJ",Wf="Toast-modules_description__GYPY5",Xf="Toast-modules_noMessage__3Wskx",zf="Toast-modules_closeButton__GIv2a",jf="Toast-modules_closeIcon__2qev9";const WA=E_((({className:e="",description:t="",duration:n=4e3,icon:o=null,id:r,isClosable:i=!0,message:a="",onClose:l,style:s={},type:c="info"})=>{const[u,d]=I_(!0),p=r||Date.now(),m=Boolean(t),f=Boolean(a),g="error"===c&&!o,h="info"===c&&!o,C="success"===c&&!o,b="warning"===c&&!o,v=n<1e3?1e3*n:n,y=e=>{"object"==typeof e&&(e?.preventDefault?.(),e?.stopPropagation?.()),clearTimeout("number"==typeof e?e:void 0),d(!1),l?.(p)};return M_((()=>{const e=setTimeout((()=>y(e)),v);return()=>clearTimeout(e)}),[]),(f||m)&&u&&w_.createElement("div",{className:si("demio-ui-toast",Bf,{[Gf]:!i},e),"data-testid":`toast-${p}`,style:s},o&&w_.createElement("div",{className:si("demio-ui-toast-custom-icon",Zf),"data-testid":"toast-custom-icon"},o),g&&w_.createElement(Us,{className:si("demio-ui-toast-icon demio-ui-toast-icon-error",Zf,Tf),"data-testid":"toast-icon-error"}),h&&w_.createElement(qu,{className:si("demio-ui-toast-icon demio-ui-toast-icon-info",Zf,kf),"data-testid":"toast-icon-info"}),C&&w_.createElement(ks,{className:si("demio-ui-toast-icon demio-ui-toast-icon-success",Zf,Df),"data-testid":"toast-icon-success"}),b&&w_.createElement(Yu,{className:si("demio-ui-toast-icon demio-ui-toast-icon-warning",Zf,Hf),"data-testid":"toast-icon-warning"}),w_.createElement("div",{className:si("demio-ui-toast-message",Ff),"data-testid":"toast-message"},a,m&&w_.createElement("div",{className:si("demio-ui-toast-description",Wf,{[Xf]:!f}),"data-testid":"toast-description"},t)),i&&w_.createElement("button",{className:si("demio-ui-toast-close-btn",zf),"data-testid":"toast-close-btn",onClick:()=>y(null)},w_.createElement(Xl,{className:si("demio-ui-toast-close-icon",jf),"data-testid":"toast-close-icon"})))}));Yf="ToastList-modules_toastList__9nnFy";const XA=E_((()=>{const[e,t]=I_([]),n=0===e.length,o=A_((e=>t((t=>t.filter((t=>t.id!==e))))),[t]),r=A_((()=>{n||(o(Number(e[0].id)),e[0].onClose?.(Number(e[0].id)))}),[n,e[0],o]),i=A_((e=>{"Escape"===e?.key&&r()}),[r]);return M_((()=>{jA?.updateSetter(t)}),[]),M_((()=>(document.addEventListener("keydown",i),()=>{document.removeEventListener("keydown",i)})),[i]),w_.createElement("div",{className:si("demio-ui-toast-list",Yf),id:"demio-ui-toast-list","data-testid":"toast-list"},e.map((e=>w_.createElement(WA,{...e,key:`toast-${e.id}`}))))})),zA=()=>{if("undefined"==typeof document)return!1;let e=document.getElementById("demio-ui-toast-root");return e||(e=document.createElement("div"),e.setAttribute("id","demio-ui-toast-root"),e.setAttribute("data-testid","demio-ui-toast-root"),document.body.appendChild(e),k_(e).render(w_.createElement(XA,null))),!0};const jA=new class{setToastList=null;toastQueue=[];timerId=null;isWaitingForClient=!1;constructor(){this.render()}render=()=>{"undefined"!=typeof document?zA():this.waitForClient()};waitForClient(){if(!this.isWaitingForClient&&"undefined"!=typeof window&&(this.isWaitingForClient=!0,window.addEventListener("load",(()=>{zA(),this.isWaitingForClient=!1})),"undefined"!=typeof MutationObserver)){const e=new MutationObserver((()=>{document.getElementById("demio-ui-toast-root")&&(zA(),e.disconnect(),this.isWaitingForClient=!1)}));e.observe(document.body,{childList:!0,subtree:!0})}}updateSetter(e){this.setToastList=e}remove=e=>{this.setToastList?.((t=>t.map((t=>t.id===e?{...t,message:""}:t))))};getUIToastListAmount=()=>document.getElementById("demio-ui-toast-list")?.children?.length||null;add=e=>{const t=this.getUIToastListAmount(),n={...e,id:e.id||Date.now()};this.setToastList?.((e=>null===t?[{...n}]:[...e,{...n}]))};processQueue=()=>{if(null!==this.timerId||0===this.toastQueue.length)return;const e=this.toastQueue.shift();e&&(this.add(e),this.timerId=setTimeout((()=>{this.timerId=null,this.processQueue()}),40))};addToQueue=e=>{if(!zA())return this.isWaitingForClient||this.waitForClient(),void setTimeout((()=>this.addToQueue(e)),50);this.toastQueue.push(e),this.processQueue()};error=e=>{this.addToQueue({...e,type:"error"})};info=e=>{this.addToQueue({...e,type:"info"})};success=e=>{this.addToQueue({...e,type:"success"})};warning=e=>{this.addToQueue({...e,type:"warning"})}},YA=(e="",t=null)=>{const[n,o]=I_("");return M_((()=>{t&&e?FA(e,t).then((e=>{o(String(e))})).catch((()=>{o("")})):o("")}),[e,t]),{croppedImageURL:n}},JA={isFileDimensionValid:!0,isFileSizeValid:!0,isFileTypeValid:!0,isFileValid:!0},UA=({acceptableFileTypes:e="",fileSizeMbLimit:t=0,isValidationEnabled:n=!0,isDimensionValidationEnabled:o=!0,isSizeValidationEnabled:r=!0,minHeightLimit:i=0,minWidthLimit:a=0})=>{const[l,s]=I_(JA);return{...l,validate:async(c=null)=>{if(!(n&&c instanceof File))return JA;const u=!o||await DA(c,a,i),d=!r||ZA(c,t),p=!(e.length>0)||LA(c,e),m=u&&d&&p,f={...l,isFileDimensionValid:u,isFileSizeValid:d,isFileTypeValid:p,isFileValid:m};return s(f),f}}};Jf="DnDArea-modules_container__bPaID",Uf="DnDArea-modules_isDraggedOver__A5x5L";const QA=E_((e=>{const{acceptableFileTypes:t="",className:n="",children:o="Drag the file into the selected area",dropText:r="Drop it like it’s hot! 🔥",fileSizeMbLimit:i=0,error:a="",minHeightLimit:l=0,minWidthLimit:s=0,errorDimension:c=`Minimum required dimensions are ${s}x${l}.`,errorSize:u=`Exceeds maximum size limit of ${i} MB.`,errorType:d="File type is not supported.",isValidationEnabled:p=!0,isDimensionValidationEnabled:m=!0,isSizeValidationEnabled:f=!0,onDragLeave:g,onDragOver:h,onDrop:C}=e,[b,v]=I_(!1),{isFileDimensionValid:y,isFileSizeValid:w,isFileTypeValid:I,validate:x}=UA({acceptableFileTypes:t,fileSizeMbLimit:i,isDimensionValidationEnabled:m,isSizeValidationEnabled:f,isValidationEnabled:p,minHeightLimit:l,minWidthLimit:s}),E=a.length>0,_=t.length>0,A=p&&m&&!y,M=p&&f&&!w,R=p&&_&&!I;return w_.createElement("div",{className:"demio-ui-dnd-area-root","data-testid":"dnd-area-root"},p&&E&&w_.createElement(AR,{text:a}),p&&!E&&R&&w_.createElement(AR,{text:d}),p&&!E&&!R&&M&&w_.createElement(AR,{text:u}),p&&!E&&!R&&!M&&A&&w_.createElement(AR,{text:c}),w_.createElement("div",{className:si("demio-ui-dnd-area-container",Jf,{[Uf]:b},n),"data-testid":"dnd-area-container",onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),v(!1),g&&g(e)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),v(!0),h&&h(e)},onDrop:async e=>{e.preventDefault(),e.stopPropagation(),v(!1);const t=e.dataTransfer?.files[0]||null;await x(t),C&&C(e,t)}},b&&r,!b&&o))}));Qf="Modal-modules_overlay__V-vTn",Kf="Modal-modules_header__-dxAm",qf="Modal-modules_isTitleHidden__T6g1-",$f="Modal-modules_close__CwIjR",eg="Modal-modules_title__3ehge",tg="Modal-modules_titleCentered__Qqy8u",ng="Modal-modules_content__sK9HS",og="Modal-modules_body__8Khpx",rg={overlay:"Drawer-modules_overlay__BbKV9",content:"Drawer-modules_content__mZs-5",alignRight:"Drawer-modules_alignRight__QQxn4",alignLeft:"Drawer-modules_alignLeft__4W0Tp",childrenWrapper:"Drawer-modules_childrenWrapper__dGPQP",header:"Drawer-modules_header__cM4Mi"};const KA=({children:e=null,isOpen:t=!1,className:n="",isCloseButtonVisible:o=!0,header:r=null,toggleDrawer:i=()=>{},align:a="right",isClosable:l=!0})=>w_.createElement(w_.Fragment,null,t&&w_.createElement("div",{className:si(rg.drawer,"demio-ui-drawer",n)},w_.createElement(Kt,{isClosable:l,open:t,overlayClassName:rg.overlay,contentClassName:si(rg.content,{[rg.alignRight]:"right"===a,[rg.alignLeft]:"left"===a}),onOpenChange:i,isCloseButtonVisible:o},r&&w_.createElement("div",{className:si(rg.header,"demio-ui-drawer-header")},r),e&&w_.createElement("div",{className:si(rg.childrenWrapper,"demio-ui-drawer-children-wrapper")},e)))),qA=["top","right","bottom","left"],$A=Math.min,eM=Math.max,tM=Math.round,nM=Math.floor,oM=e=>({x:e,y:e}),rM={left:"right",right:"left",bottom:"top",top:"bottom"},iM={start:"end",end:"start"},aM=oM(0),lM={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:o,strategy:r}=e;const i="fixed"===r,a=bn(o),l=!!t&&_n(t.floating);if(o===a||l&&i)return n;let s={scrollLeft:0,scrollTop:0},c=oM(1);const u=oM(0),d=wn(o);if((d||!d&&!i)&&(("body"!==hn(o)||xn(a))&&(s=On(o)),wn(o))){const e=Hn(o);c=Zn(o),u.x=e.x+o.clientLeft,u.y=e.y+o.clientTop}const p=!a||d||i?oM(0):kn(a,s,!0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+u.x+p.x,y:n.y*c.y-s.scrollTop*c.y+u.y+p.y}},getDocumentElement:bn,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:o,strategy:r}=e;const i=[..."clippingAncestors"===n?_n(t)?[]:function(e,t){const n=t.get(e);if(n)return n;let o=Nn(e,[],!1).filter((e=>yn(e)&&"body"!==hn(e))),r=null;const i="fixed"===Vn(e).position;let a=i?Sn(e):e;for(;yn(a)&&!Rn(a);){const t=Vn(a),n=An(a);n||"fixed"!==t.position||(r=null),(i?!n&&!r:!n&&"static"===t.position&&r&&["absolute","fixed"].includes(r.position)||xn(a)&&!n&&Wn(e,a))?o=o.filter((e=>e!==a)):r=t,a=Sn(a)}return t.set(e,o),o}(t,this._c):[].concat(n),o],a=i[0],l=i.reduce(((e,n)=>{const o=Fn(t,n,r);return e.top=eM(o.top,e.top),e.right=$A(o.right,e.right),e.bottom=$A(o.bottom,e.bottom),e.left=eM(o.left,e.left),e}),Fn(t,a,r));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},getOffsetParent:Yn,getElementRects:async function(e){const t=this.getOffsetParent||Yn,n=this.getDimensions,o=await n(e.floating);return{reference:Xn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}},getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){const{width:t,height:n}=Bn(e);return{width:t,height:n}},getScale:Zn,isElement:yn,isRTL:function(e){return"rtl"===Vn(e).direction}},sM=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){var n,o;const{x:r,y:i,placement:a,middlewareData:l}=t,s=await async function(e,t){const{placement:n,platform:o,elements:r}=e,i=await(null==o.isRTL?void 0:o.isRTL(r.floating)),a=en(n),l=tn(n),s="y"===rn(n),c=["left","top"].includes(a)?-1:1,u=i&&s?-1:1,d=$t(t,e);let{mainAxis:p,crossAxis:m,alignmentAxis:f}="number"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return l&&"number"==typeof f&&(m="end"===l?-1*f:f),s?{x:m*u,y:p*c}:{x:p*c,y:m*u}}(t,e);return a===(null==(n=l.offset)?void 0:n.placement)&&null!=(o=l.arrow)&&o.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},cM=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:r}=t,{mainAxis:i=!0,crossAxis:a=!1,limiter:l={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...s}=$t(e,t),c={x:n,y:o},u=await pn(t,s),d=rn(en(r)),p=nn(d);let m=c[p],f=c[d];if(i){const e="y"===p?"bottom":"right";m=qt(m+u["y"===p?"top":"left"],m,m-u[e])}if(a){const e="y"===d?"bottom":"right";f=qt(f+u["y"===d?"top":"left"],f,f-u[e])}const g=l.fn({...t,[p]:m,[d]:f});return{...g,data:{x:g.x-n,y:g.y-o,enabled:{[p]:i,[d]:a}}}}}},uM=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n,o,r,i,a;const{placement:l,middlewareData:s,rects:c,initialPlacement:u,platform:d,elements:p}=t,{mainAxis:m=!0,crossAxis:f=!0,fallbackPlacements:g,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:C="none",flipAlignment:b=!0,...v}=$t(e,t);if(null!=(n=s.arrow)&&n.alignmentOffset)return{};const y=en(l),w=rn(u),I=en(u)===u,x=await(null==d.isRTL?void 0:d.isRTL(p.floating)),E=g||(I||!b?[sn(u)]:function(e){const t=sn(e);return[ln(e),t,ln(t)]}(u)),_="none"!==C;!g&&_&&E.push(...function(e,t,n,o){const r=tn(e);let i=function(e,t,n){const o=["left","right"],r=["right","left"],i=["top","bottom"],a=["bottom","top"];switch(e){case"top":case"bottom":return n?t?r:o:t?o:r;case"left":case"right":return t?i:a;default:return[]}}(en(e),"start"===n,o);return r&&(i=i.map((e=>e+"-"+r)),t&&(i=i.concat(i.map(ln)))),i}(u,b,C,x));const A=[u,...E],M=await pn(t,v),R=[];let V=(null==(o=s.flip)?void 0:o.overflows)||[];if(m&&R.push(M[y]),f){const e=function(e,t,n){void 0===n&&(n=!1);const o=tn(e),r=an(e),i=on(r);let a="x"===r?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return t.reference[i]>t.floating[i]&&(a=sn(a)),[a,sn(a)]}(l,c,x);R.push(M[e[0]],M[e[1]])}if(V=[...V,{placement:l,overflows:R}],!R.every((e=>e<=0))){const e=((null==(r=s.flip)?void 0:r.index)||0)+1,t=A[e];if(t)return{data:{index:e,overflows:V},reset:{placement:t}};let n=null==(i=V.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:i.placement;if(!n)switch(h){case"bestFit":{const e=null==(a=V.filter((e=>{if(_){const t=rn(e.placement);return t===w||"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:a[0];e&&(n=e);break}case"initialPlacement":n=u}if(l!==n)return{reset:{placement:n}}}return{}}}},dM=function(e){return void 0===e&&(e={}),{name:"size",options:e,async fn(t){var n,o;const{placement:r,rects:i,platform:a,elements:l}=t,{apply:s=()=>{},...c}=$t(e,t),u=await pn(t,c),d=en(r),p=tn(r),m="y"===rn(r),{width:f,height:g}=i.floating;let h,C;"top"===d||"bottom"===d?(h=d,C=p===(await(null==a.isRTL?void 0:a.isRTL(l.floating))?"start":"end")?"left":"right"):(C=d,h="end"===p?"top":"bottom");const b=g-u.top-u.bottom,v=f-u.left-u.right,y=$A(g-u[h],b),w=$A(f-u[C],v),I=!t.middlewareData.shift;let x=y,E=w;if(null!=(n=t.middlewareData.shift)&&n.enabled.x&&(E=v),null!=(o=t.middlewareData.shift)&&o.enabled.y&&(x=b),I&&!p){const e=eM(u.left,0),t=eM(u.right,0),n=eM(u.top,0),o=eM(u.bottom,0);m?E=f-2*(0!==e||0!==t?e+t:eM(u.left,u.right)):x=g-2*(0!==n||0!==o?n+o:eM(u.top,u.bottom))}await s({...t,availableWidth:E,availableHeight:x});const _=await a.getDimensions(l.floating);return f!==_.width||g!==_.height?{reset:{rects:!0}}:{}}}},pM=function(e){return void 0===e&&(e={}),{name:"hide",options:e,async fn(t){const{rects:n}=t,{strategy:o="referenceHidden",...r}=$t(e,t);switch(o){case"referenceHidden":{const e=mn(await pn(t,{...r,elementContext:"reference"}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:fn(e)}}}case"escaped":{const e=mn(await pn(t,{...r,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:fn(e)}}}default:return{}}}}},mM=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:r,rects:i,platform:a,elements:l,middlewareData:s}=t,{element:c,padding:u=0}=$t(e,t)||{};if(null==c)return{};const d=cn(u),p={x:n,y:o},m=an(r),f=on(m),g=await a.getDimensions(c),h="y"===m,C=h?"top":"left",b=h?"bottom":"right",v=h?"clientHeight":"clientWidth",y=i.reference[f]+i.reference[m]-p[m]-i.floating[f],w=p[m]-i.reference[m],I=await(null==a.getOffsetParent?void 0:a.getOffsetParent(c));let x=I?I[v]:0;x&&await(null==a.isElement?void 0:a.isElement(I))||(x=l.floating[v]||i.floating[f]);const E=y/2-w/2,_=x/2-g[f]/2-1,A=$A(d[C],_),M=$A(d[b],_),R=A,V=x-g[f]-M,O=x/2-g[f]/2+E,S=qt(R,O,V),P=!s.arrow&&null!=tn(r)&&O!==S&&i.reference[f]/2-(O<R?A:M)-g[f]/2<0,N=P?O<R?O-R:O-V:0;return{[m]:p[m]+N,data:{[m]:S,centerOffset:O-S-N,...P&&{alignmentOffset:N}},reset:P}}}),fM=function(e){return void 0===e&&(e={}),{options:e,fn(t){const{x:n,y:o,placement:r,rects:i,middlewareData:a}=t,{offset:l=0,mainAxis:s=!0,crossAxis:c=!0}=$t(e,t),u={x:n,y:o},d=rn(r),p=nn(d);let m=u[p],f=u[d];const g=$t(l,t),h="number"==typeof g?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(s){const e="y"===p?"height":"width",t=i.reference[p]-i.floating[e]+h.mainAxis,n=i.reference[p]+i.reference[e]-h.mainAxis;m<t?m=t:m>n&&(m=n)}if(c){var C,b;const e="y"===p?"width":"height",t=["top","left"].includes(en(r)),n=i.reference[d]-i.floating[e]+(t&&(null==(C=a.offset)?void 0:C[d])||0)+(t?0:h.crossAxis),o=i.reference[d]+i.reference[e]+(t?0:(null==(b=a.offset)?void 0:b[d])||0)-(t?h.crossAxis:0);f<n?f=n:f>o&&(f=o)}return{[p]:m,[d]:f}}}},gM=(e,t,n)=>{const o=new Map,r={platform:lM,...n},i={...r.platform,_c:o};return(async(e,t,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:i=[],platform:a}=n,l=i.filter(Boolean),s=await(null==a.isRTL?void 0:a.isRTL(t));let c=await a.getElementRects({reference:e,floating:t,strategy:r}),{x:u,y:d}=dn(c,o,s),p=o,m={},f=0;for(let g=0;g<l.length;g++){const{name:n,fn:i}=l[g],{x:h,y:C,data:b,reset:v}=await i({x:u,y:d,initialPlacement:o,placement:p,strategy:r,middlewareData:m,rects:c,platform:a,elements:{reference:e,floating:t}});u=null!=h?h:u,d=null!=C?C:d,m={...m,[n]:{...m[n],...b}},v&&f<=50&&(f++,"object"==typeof v&&(v.placement&&(p=v.placement),v.rects&&(c=!0===v.rects?await a.getElementRects({reference:e,floating:t,strategy:r}):v.rects),({x:u,y:d}=dn(c,p,s))),g=-1)}return{x:u,y:d,placement:p,strategy:r,middlewareData:m}})(e,t,{...r,platform:i})};ig="undefined"!=typeof document?R_:M_;const hM=e=>({name:"arrow",options:e,fn(t){const{element:n,padding:o}="function"==typeof e?e(t):e;return n&&(r=n,{}.hasOwnProperty.call(r,"current"))?null!=n.current?mM({element:n.current,padding:o}).fn(t):{}:n?mM({element:n,padding:o}).fn(t):{};var r}}),CM=(e,t)=>({...sM(e),options:[e,t]}),bM=(e,t)=>({...cM(e),options:[e,t]}),vM=(e,t)=>({...fM(e),options:[e,t]}),yM=(e,t)=>({...uM(e),options:[e,t]}),wM=(e,t)=>({...dM(e),options:[e,t]}),IM=(e,t)=>({...pM(e),options:[e,t]}),xM=(e,t)=>({...hM(e),options:[e,t]});ag="Arrow",(lg=y_.forwardRef(((e,t)=>{const{children:n,width:o=10,height:r=5,...i}=e;return B_(gi.svg,{...i,ref:t,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:B_("polygon",{points:"0,0 30,0 15,10"})})}))).displayName=ag,sg=lg,cg="Popper";var[EM,_M]=t(cg),[AM,MM]=EM(cg);(ug=e=>{const{__scopePopper:t,children:n}=e,[o,r]=y_.useState(null);return B_(AM,{scope:t,anchor:o,onAnchorChange:r,children:n})}).displayName=cg,dg="PopperAnchor",(pg=y_.forwardRef(((e,t)=>{const{__scopePopper:n,virtualRef:o,...r}=e,a=MM(dg,n),l=y_.useRef(null),s=i(t,l);return y_.useEffect((()=>{a.onAnchorChange(o?.current||l.current)})),o?null:B_(gi.div,{...r,ref:s})}))).displayName=dg,mg="PopperContent";var[RM,VM]=EM(mg);fg=y_.forwardRef(((e,t)=>{const{__scopePopper:n,side:o="bottom",sideOffset:r=0,align:a="center",alignOffset:l=0,arrowPadding:c=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:p=0,sticky:m="partial",hideWhenDetached:f=!1,updatePositionStrategy:g="optimized",onPlaced:h,...C}=e,b=MM(mg,n),[v,y]=y_.useState(null),w=i(t,(e=>y(e))),[I,x]=y_.useState(null),E=Vt(I),_=E?.width??0,A=E?.height??0,M=o+("center"!==a?"-"+a:""),R="number"==typeof p?p:{top:0,right:0,bottom:0,left:0,...p},V=Array.isArray(d)?d:[d],O=V.length>0,S={padding:R,boundary:V.filter(eo),altBoundary:O},{refs:P,floatingStyles:N,placement:L,isPositioned:B,middlewareData:G}=function(e){void 0===e&&(e={});const{placement:t="bottom",strategy:n="absolute",middleware:o=[],platform:r,elements:{reference:i,floating:a}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[u,d]=y_.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=y_.useState(o);Qn(p,o)||m(o);const[f,g]=y_.useState(null),[h,C]=y_.useState(null),b=y_.useCallback((e=>{e!==I.current&&(I.current=e,g(e))}),[]),v=y_.useCallback((e=>{e!==x.current&&(x.current=e,C(e))}),[]),y=i||f,w=a||h,I=y_.useRef(null),x=y_.useRef(null),E=y_.useRef(u),_=null!=s,A=$n(s),M=$n(r),R=$n(c),V=y_.useCallback((()=>{if(!I.current||!x.current)return;const e={placement:t,strategy:n,middleware:p};M.current&&(e.platform=M.current),gM(I.current,x.current,e).then((e=>{const t={...e,isPositioned:!1!==R.current};O.current&&!Qn(E.current,t)&&(E.current=t,D_.flushSync((()=>{d(t)})))}))}),[p,t,n,M,R]);ig((()=>{!1===c&&E.current.isPositioned&&(E.current.isPositioned=!1,d((e=>({...e,isPositioned:!1}))))}),[c]);const O=y_.useRef(!1);ig((()=>(O.current=!0,()=>{O.current=!1})),[]),ig((()=>{if(y&&(I.current=y),w&&(x.current=w),y&&w){if(A.current)return A.current(y,w,V);V()}}),[y,w,V,A,_]);const S=y_.useMemo((()=>({reference:I,floating:x,setReference:b,setFloating:v})),[b,v]),P=y_.useMemo((()=>({reference:y,floating:w})),[y,w]),N=y_.useMemo((()=>{const e={position:n,left:0,top:0};if(!P.floating)return e;const t=qn(P.floating,u.x),o=qn(P.floating,u.y);return l?{...e,transform:"translate("+t+"px, "+o+"px)",...Kn(P.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:o}}),[n,l,P.floating,u.x,u.y]);return y_.useMemo((()=>({...u,update:V,refs:S,elements:P,floatingStyles:N})),[u,V,S,P,N])}({strategy:"fixed",placement:M,whileElementsMounted:(...e)=>Un(...e,{animationFrame:"always"===g}),elements:{reference:b.anchor},middleware:[CM({mainAxis:r+A,alignmentAxis:l}),u&&bM({mainAxis:!0,crossAxis:!1,limiter:"partial"===m?vM():void 0,...S}),u&&yM({...S}),wM({...S,apply:({elements:e,rects:t,availableWidth:n,availableHeight:o})=>{const{width:r,height:i}=t.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${n}px`),a.setProperty("--radix-popper-available-height",`${o}px`),a.setProperty("--radix-popper-anchor-width",`${r}px`),a.setProperty("--radix-popper-anchor-height",`${i}px`)}}),I&&xM({element:I,padding:c}),bg({arrowWidth:_,arrowHeight:A}),f&&IM({strategy:"referenceHidden",...S})]}),[Z,D]=to(L),H=s(h);ci((()=>{B&&H?.()}),[B,H]);const T=G.arrow?.x,k=G.arrow?.y,F=0!==G.arrow?.centerOffset,[W,X]=y_.useState();return ci((()=>{v&&X(window.getComputedStyle(v).zIndex)}),[v]),B_("div",{ref:P.setFloating,"data-radix-popper-content-wrapper":"",style:{...N,transform:B?N.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:W,"--radix-popper-transform-origin":[G.transformOrigin?.x,G.transformOrigin?.y].join(" "),...G.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:B_(RM,{scope:n,placedSide:Z,onArrowChange:x,arrowX:T,arrowY:k,shouldHideArrow:F,children:B_(gi.div,{"data-side":Z,"data-align":D,...C,ref:w,style:{...C.style,animation:B?void 0:"none"}})})})})),fg.displayName=mg,gg="PopperArrow",hg={top:"bottom",right:"left",bottom:"top",left:"right"},(Cg=y_.forwardRef((function(e,t){const{__scopePopper:n,...o}=e,r=VM(gg,n),i=hg[r.placedSide];return B_("span",{ref:r.onArrowChange,style:{position:"absolute",left:r.arrowX,top:r.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[r.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[r.placedSide],visibility:r.shouldHideArrow?"hidden":void 0},children:B_(sg,{...o,ref:t,style:{...o.style,display:"block"}})})}))).displayName=gg,bg=e=>({name:"transformOrigin",options:e,fn(t){const{placement:n,rects:o,middlewareData:r}=t,i=0!==r.arrow?.centerOffset,a=i?0:e.arrowWidth,l=i?0:e.arrowHeight,[s,c]=to(n),u={start:"0%",center:"50%",end:"100%"}[c],d=(r.arrow?.x??0)+a/2,p=(r.arrow?.y??0)+l/2;let m="",f="";return"bottom"===s?(m=i?u:`${d}px`,f=-l+"px"):"top"===s?(m=i?u:`${d}px`,f=`${o.floating.height+l}px`):"right"===s?(m=-l+"px",f=i?u:`${p}px`):"left"===s&&(m=`${o.floating.width+l}px`,f=i?u:`${p}px`),{data:{x:m,y:f}}}}),vg=ug,yg=pg,wg=fg,Ig=Cg,xg="rovingFocusGroup.onEntryFocus",Eg={bubbles:!1,cancelable:!0},_g="RovingFocusGroup";var[OM,SM,PM]=Jt(_g),[NM,LM]=t(_g,[PM]),[BM,GM]=NM(_g);(Ag=y_.forwardRef(((e,t)=>B_(OM.Provider,{scope:e.__scopeRovingFocusGroup,children:B_(OM.Slot,{scope:e.__scopeRovingFocusGroup,children:B_(Mg,{...e,ref:t})})})))).displayName=_g,Mg=y_.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:r=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:d,onCurrentTabStopIdChange:p,onEntryFocus:m,preventScrollOnEntryFocus:f=!1,...g}=e,h=y_.useRef(null),C=i(t,h),b=Yt(l),[v=null,y]=c({prop:u,defaultProp:d,onChange:p}),[w,I]=y_.useState(!1),x=s(m),E=SM(n),_=y_.useRef(!1),[A,M]=y_.useState(0);return y_.useEffect((()=>{const e=h.current;if(e)return e.addEventListener(xg,x),()=>e.removeEventListener(xg,x)}),[x]),B_(BM,{scope:n,orientation:o,dir:b,loop:r,currentTabStopId:v,onItemFocus:y_.useCallback((e=>y(e)),[y]),onItemShiftTab:y_.useCallback((()=>I(!0)),[]),onFocusableItemAdd:y_.useCallback((()=>M((e=>e+1))),[]),onFocusableItemRemove:y_.useCallback((()=>M((e=>e-1))),[]),children:B_(gi.div,{tabIndex:w||0===A?-1:0,"data-orientation":o,...g,ref:C,style:{outline:"none",...e.style},onMouseDown:a(e.onMouseDown,(()=>{_.current=!0})),onFocus:a(e.onFocus,(e=>{const t=!_.current;if(e.target===e.currentTarget&&t&&!w){const t=new CustomEvent(xg,Eg);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){const e=E().filter((e=>e.focusable));no([e.find((e=>e.active)),e.find((e=>e.id===v)),...e].filter(Boolean).map((e=>e.ref.current)),f)}}_.current=!1})),onBlur:a(e.onBlur,(()=>I(!1)))})})})),Rg="RovingFocusGroupItem",Vg=y_.forwardRef(((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:r=!1,tabStopId:i,...s}=e,c=l(),u=i||c,d=GM(Rg,n),p=d.currentTabStopId===u,m=SM(n),{onFocusableItemAdd:f,onFocusableItemRemove:g}=d;return y_.useEffect((()=>{if(o)return f(),()=>g()}),[o,f,g]),B_(OM.ItemSlot,{scope:n,id:u,focusable:o,active:r,children:B_(gi.span,{tabIndex:p?0:-1,"data-orientation":d.orientation,...s,ref:t,onMouseDown:a(e.onMouseDown,(e=>{o?d.onItemFocus(u):e.preventDefault()})),onFocus:a(e.onFocus,(()=>d.onItemFocus(u))),onKeyDown:a(e.onKeyDown,(e=>{if("Tab"===e.key&&e.shiftKey)return void d.onItemShiftTab();if(e.target!==e.currentTarget)return;const t=function(e,t,n){const o=function(e,t){return"rtl"!==t?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}(e.key,n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o)||"horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return Og[o]}(e,d.orientation,d.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=m().filter((e=>e.focusable)).map((e=>e.ref.current));if("last"===t)r.reverse();else if("prev"===t||"next"===t){"prev"===t&&r.reverse();const i=r.indexOf(e.currentTarget);r=d.loop?(o=i+1,(n=r).map(((e,t)=>n[(o+t)%n.length]))):r.slice(i+1)}setTimeout((()=>no(r)))}var n,o}))})})})),Vg.displayName=Rg,Og={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},Sg=Ag,Pg=Vg,Ng=["Enter"," "],Lg=["ArrowUp","PageDown","End"],Bg=[...["ArrowDown","PageUp","Home"],...Lg],Gg={ltr:[...Ng,"ArrowRight"],rtl:[...Ng,"ArrowLeft"]},Zg={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Dg="Menu";var[ZM,DM,HM]=Jt(Dg),[TM,kM]=t(Dg,[HM,_M,LM]);Hg=_M(),Tg=LM();var[FM,WM]=TM(Dg),[XM,zM]=TM(Dg);(kg=e=>{const{__scopeMenu:t,open:n=!1,children:o,dir:r,onOpenChange:i,modal:a=!0}=e,l=Hg(t),[c,u]=y_.useState(null),d=y_.useRef(!1),p=s(i),m=Yt(r);return y_.useEffect((()=>{const e=()=>{d.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}}),[]),B_(vg,{...l,children:B_(FM,{scope:t,open:n,onOpenChange:p,content:c,onContentChange:u,children:B_(XM,{scope:t,onClose:y_.useCallback((()=>p(!1)),[p]),isUsingKeyboardRef:d,dir:m,modal:a,children:o})})})}).displayName=Dg,Fg="MenuAnchor",(Wg=y_.forwardRef(((e,t)=>{const{__scopeMenu:n,...o}=e,r=Hg(n);return B_(yg,{...r,...o,ref:t})}))).displayName=Fg,Xg="MenuPortal";var[jM,YM]=TM(Xg,{forceMount:void 0});(zg=e=>{const{__scopeMenu:t,forceMount:n,children:o,container:r}=e,i=WM(Xg,t);return B_(jM,{scope:t,forceMount:n,children:B_(Ni,{present:n||i.open,children:B_(Pi,{asChild:!0,container:r,children:o})})})}).displayName=Xg,jg="MenuContent";var[JM,UM]=TM(jg);Yg=y_.forwardRef(((e,t)=>{const n=YM(jg,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,i=WM(jg,e.__scopeMenu),a=zM(jg,e.__scopeMenu);return B_(ZM.Provider,{scope:e.__scopeMenu,children:B_(Ni,{present:o||i.open,children:B_(ZM.Slot,{scope:e.__scopeMenu,children:a.modal?B_(Jg,{...r,ref:t}):B_(Ug,{...r,ref:t})})})})})),Jg=y_.forwardRef(((e,t)=>{const n=WM(jg,e.__scopeMenu),o=y_.useRef(null),r=i(t,o);return y_.useEffect((()=>{const e=o.current;if(e)return Da(e)}),[]),B_(Qg,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:a(e.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})})),Ug=y_.forwardRef(((e,t)=>{const n=WM(jg,e.__scopeMenu);return B_(Qg,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})})),Qg=y_.forwardRef(((e,t)=>{const{__scopeMenu:n,loop:o=!1,trapFocus:r,onOpenAutoFocus:l,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:u,onEscapeKeyDown:d,onPointerDownOutside:p,onFocusOutside:m,onInteractOutside:f,onDismiss:g,disableOutsideScroll:h,...C}=e,b=WM(jg,n),v=zM(jg,n),y=Hg(n),I=Tg(n),x=DM(n),[E,_]=y_.useState(null),A=y_.useRef(null),M=i(t,A,b.onContentChange),R=y_.useRef(0),V=y_.useRef(""),O=y_.useRef(0),S=y_.useRef(null),P=y_.useRef("right"),N=y_.useRef(0),L=h?Va:y_.Fragment,B=h?{as:pi,allowPinchZoom:!0}:void 0,G=e=>{const t=V.current+e,n=x().filter((e=>!e.disabled)),o=document.activeElement,r=n.find((e=>e.ref.current===o))?.textValue,i=function(e,t,n){const o=t.length>1&&Array.from(t).every((e=>e===t[0])),r=o?t[0]:t,i=n?e.indexOf(n):-1;let a=(l=e,s=Math.max(i,0),l.map(((e,t)=>l[(s+t)%l.length])));var l,s;1===r.length&&(a=a.filter((e=>e!==n)));const c=a.find((e=>e.toLowerCase().startsWith(r.toLowerCase())));return c!==n?c:void 0}(n.map((e=>e.textValue)),t,r),a=n.find((e=>e.textValue===i))?.ref.current;!function e(t){V.current=t,window.clearTimeout(R.current),""!==t&&(R.current=window.setTimeout((()=>e("")),1e3))}(t),a&&setTimeout((()=>a.focus()))};y_.useEffect((()=>()=>window.clearTimeout(R.current)),[]),w();const Z=y_.useCallback((e=>P.current===S.current?.side&&function(e,t){return!!t&&function(e,t){const{x:n,y:o}=e;let r=!1;for(let i=0,a=t.length-1;i<t.length;a=i++){const e=t[i].x,l=t[i].y,s=t[a].x,c=t[a].y;l>o!=c>o&&n<(s-e)*(o-l)/(c-l)+e&&(r=!r)}return r}({x:e.clientX,y:e.clientY},t)}(e,S.current?.area)),[]);return B_(JM,{scope:n,searchRef:V,onItemEnter:y_.useCallback((e=>{Z(e)&&e.preventDefault()}),[Z]),onItemLeave:y_.useCallback((e=>{Z(e)||(A.current?.focus(),_(null))}),[Z]),onTriggerLeave:y_.useCallback((e=>{Z(e)&&e.preventDefault()}),[Z]),pointerGraceTimerRef:O,onPointerGraceIntentChange:y_.useCallback((e=>{S.current=e}),[]),children:B_(L,{...B,children:B_(Vi,{asChild:!0,trapped:r,onMountAutoFocus:a(l,(e=>{e.preventDefault(),A.current?.focus({preventScroll:!0})})),onUnmountAutoFocus:s,children:B_(Ii,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:d,onPointerDownOutside:p,onFocusOutside:m,onInteractOutside:f,onDismiss:g,children:B_(Sg,{asChild:!0,...I,dir:v.dir,orientation:"vertical",loop:o,currentTabStopId:E,onCurrentTabStopIdChange:_,onEntryFocus:a(u,(e=>{v.isUsingKeyboardRef.current||e.preventDefault()})),preventScrollOnEntryFocus:!0,children:B_(wg,{role:"menu","aria-orientation":"vertical","data-state":oo(b.open),"data-radix-menu-content":"",dir:v.dir,...y,...C,ref:M,style:{outline:"none",...C.style},onKeyDown:a(C.onKeyDown,(e=>{const t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,n=e.ctrlKey||e.altKey||e.metaKey,o=1===e.key.length;t&&("Tab"===e.key&&e.preventDefault(),!n&&o&&G(e.key));const r=A.current;if(e.target!==r)return;if(!Bg.includes(e.key))return;e.preventDefault();const i=x().filter((e=>!e.disabled)).map((e=>e.ref.current));Lg.includes(e.key)&&i.reverse(),function(e){const t=document.activeElement;for(const n of e){if(n===t)return;if(n.focus(),document.activeElement!==t)return}}(i)})),onBlur:a(e.onBlur,(e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(R.current),V.current="")})),onPointerMove:a(e.onPointerMove,ao((e=>{const t=e.target,n=N.current!==e.clientX;if(e.currentTarget.contains(t)&&n){const t=e.clientX>N.current?"right":"left";P.current=t,N.current=e.clientX}})))})})})})})})})),Yg.displayName=jg,Kg="MenuGroup",(qg=y_.forwardRef(((e,t)=>{const{__scopeMenu:n,...o}=e;return B_(gi.div,{role:"group",...o,ref:t})}))).displayName=Kg,$g="MenuLabel",(eh=y_.forwardRef(((e,t)=>{const{__scopeMenu:n,...o}=e;return B_(gi.div,{...o,ref:t})}))).displayName=$g,th="MenuItem",nh="menu.itemSelect",(oh=y_.forwardRef(((e,t)=>{const{disabled:n=!1,onSelect:o,...r}=e,l=y_.useRef(null),s=zM(th,e.__scopeMenu),c=UM(th,e.__scopeMenu),u=i(t,l),p=y_.useRef(!1);return B_(rh,{...r,ref:u,disabled:n,onClick:a(e.onClick,(()=>{const e=l.current;if(!n&&e){const t=new CustomEvent(nh,{bubbles:!0,cancelable:!0});e.addEventListener(nh,(e=>o?.(e)),{once:!0}),d(e,t),t.defaultPrevented?p.current=!1:s.onClose()}})),onPointerDown:t=>{e.onPointerDown?.(t),p.current=!0},onPointerUp:a(e.onPointerUp,(e=>{p.current||e.currentTarget?.click()})),onKeyDown:a(e.onKeyDown,(e=>{const t=""!==c.searchRef.current;n||t&&" "===e.key||Ng.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())}))})}))).displayName=th,rh=y_.forwardRef(((e,t)=>{const{__scopeMenu:n,disabled:o=!1,textValue:r,...l}=e,s=UM(th,n),c=Tg(n),u=y_.useRef(null),d=i(t,u),[p,m]=y_.useState(!1),[f,g]=y_.useState("");return y_.useEffect((()=>{const e=u.current;e&&g((e.textContent??"").trim())}),[l.children]),B_(ZM.ItemSlot,{scope:n,disabled:o,textValue:r??f,children:B_(Pg,{asChild:!0,...c,focusable:!o,children:B_(gi.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...l,ref:d,onPointerMove:a(e.onPointerMove,ao((e=>{if(o)s.onItemLeave(e);else if(s.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}}))),onPointerLeave:a(e.onPointerLeave,ao((e=>s.onItemLeave(e)))),onFocus:a(e.onFocus,(()=>m(!0))),onBlur:a(e.onBlur,(()=>m(!1)))})})})})),ih="MenuCheckboxItem",(ah=y_.forwardRef(((e,t)=>{const{checked:n=!1,onCheckedChange:o,...r}=e;return B_(qM,{scope:e.__scopeMenu,checked:n,children:B_(oh,{role:"menuitemcheckbox","aria-checked":ro(n)?"mixed":n,...r,ref:t,"data-state":io(n),onSelect:a(r.onSelect,(()=>o?.(!!ro(n)||!n)),{checkForDefaultPrevented:!1})})})}))).displayName=ih,lh="MenuRadioGroup";var[QM,KM]=TM(lh,{value:void 0,onValueChange:()=>{}});(sh=y_.forwardRef(((e,t)=>{const{value:n,onValueChange:o,...r}=e,i=s(o);return B_(QM,{scope:e.__scopeMenu,value:n,onValueChange:i,children:B_(qg,{...r,ref:t})})}))).displayName=lh,ch="MenuRadioItem",(uh=y_.forwardRef(((e,t)=>{const{value:n,...o}=e,r=KM(ch,e.__scopeMenu),i=n===r.value;return B_(qM,{scope:e.__scopeMenu,checked:i,children:B_(oh,{role:"menuitemradio","aria-checked":i,...o,ref:t,"data-state":io(i),onSelect:a(o.onSelect,(()=>r.onValueChange?.(n)),{checkForDefaultPrevented:!1})})})}))).displayName=ch,dh="MenuItemIndicator";var[qM,$M]=TM(dh,{checked:!1});(ph=y_.forwardRef(((e,t)=>{const{__scopeMenu:n,forceMount:o,...r}=e,i=$M(dh,n);return B_(Ni,{present:o||ro(i.checked)||!0===i.checked,children:B_(gi.span,{...r,ref:t,"data-state":io(i.checked)})})}))).displayName=dh,mh="MenuSeparator",(fh=y_.forwardRef(((e,t)=>{const{__scopeMenu:n,...o}=e;return B_(gi.div,{role:"separator","aria-orientation":"horizontal",...o,ref:t})}))).displayName=mh,gh="MenuArrow",(hh=y_.forwardRef(((e,t)=>{const{__scopeMenu:n,...o}=e,r=Hg(n);return B_(Ig,{...r,...o,ref:t})}))).displayName=gh,Ch="MenuSub";var[eR,tR]=TM(Ch);bh="MenuSubTrigger",(vh=y_.forwardRef(((e,t)=>{const n=WM(bh,e.__scopeMenu),o=zM(bh,e.__scopeMenu),i=tR(bh,e.__scopeMenu),l=UM(bh,e.__scopeMenu),s=y_.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:u}=l,d={__scopeMenu:e.__scopeMenu},p=y_.useCallback((()=>{s.current&&window.clearTimeout(s.current),s.current=null}),[]);return y_.useEffect((()=>p),[p]),y_.useEffect((()=>{const e=c.current;return()=>{window.clearTimeout(e),u(null)}}),[c,u]),B_(Wg,{asChild:!0,...d,children:B_(rh,{id:i.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":i.contentId,"data-state":oo(n.open),...e,ref:r(t,i.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:a(e.onPointerMove,ao((t=>{l.onItemEnter(t),t.defaultPrevented||e.disabled||n.open||s.current||(l.onPointerGraceIntentChange(null),s.current=window.setTimeout((()=>{n.onOpenChange(!0),p()}),100))}))),onPointerLeave:a(e.onPointerLeave,ao((e=>{p();const t=n.content?.getBoundingClientRect();if(t){const o=n.content?.dataset.side,r="right"===o,i=r?-5:5,a=t[r?"left":"right"],s=t[r?"right":"left"];l.onPointerGraceIntentChange({area:[{x:e.clientX+i,y:e.clientY},{x:a,y:t.top},{x:s,y:t.top},{x:s,y:t.bottom},{x:a,y:t.bottom}],side:o}),window.clearTimeout(c.current),c.current=window.setTimeout((()=>l.onPointerGraceIntentChange(null)),300)}else{if(l.onTriggerLeave(e),e.defaultPrevented)return;l.onPointerGraceIntentChange(null)}}))),onKeyDown:a(e.onKeyDown,(t=>{const r=""!==l.searchRef.current;e.disabled||r&&" "===t.key||Gg[o.dir].includes(t.key)&&(n.onOpenChange(!0),n.content?.focus(),t.preventDefault())}))})})}))).displayName=bh,yh="MenuSubContent",(wh=y_.forwardRef(((e,t)=>{const n=YM(jg,e.__scopeMenu),{forceMount:o=n.forceMount,...r}=e,l=WM(jg,e.__scopeMenu),s=zM(jg,e.__scopeMenu),c=tR(yh,e.__scopeMenu),u=y_.useRef(null),d=i(t,u);return B_(ZM.Provider,{scope:e.__scopeMenu,children:B_(Ni,{present:o||l.open,children:B_(ZM.Slot,{scope:e.__scopeMenu,children:B_(Qg,{id:c.contentId,"aria-labelledby":c.triggerId,...r,ref:d,align:"start",side:"rtl"===s.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&u.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:a(e.onFocusOutside,(e=>{e.target!==c.trigger&&l.onOpenChange(!1)})),onEscapeKeyDown:a(e.onEscapeKeyDown,(e=>{s.onClose(),e.preventDefault()})),onKeyDown:a(e.onKeyDown,(e=>{const t=e.currentTarget.contains(e.target),n=Zg[s.dir].includes(e.key);t&&n&&(l.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())}))})})})})}))).displayName=yh,Ih=kg,xh=Wg,Eh=zg,_h=Yg,Ah=qg,Mh=eh,Rh=oh,Vh=ah,Oh=sh,Sh=uh,Ph=ph,Nh=fh,Lh=hh,Bh=vh,Gh=wh,Zh="DropdownMenu";var[nR,oR]=t(Zh,[kM]);Dh=kM();var[rR,iR]=nR(Zh);(Hh=e=>{const{__scopeDropdownMenu:t,children:n,dir:o,open:r,defaultOpen:i,onOpenChange:a,modal:s=!0}=e,u=Dh(t),d=y_.useRef(null),[p=!1,m]=c({prop:r,defaultProp:i,onChange:a});return B_(rR,{scope:t,triggerId:l(),triggerRef:d,contentId:l(),open:p,onOpenChange:m,onOpenToggle:y_.useCallback((()=>m((e=>!e))),[m]),modal:s,children:B_(Ih,{...u,open:p,onOpenChange:m,dir:o,modal:s,children:n})})}).displayName=Zh,Th="DropdownMenuTrigger",(kh=y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,disabled:o=!1,...i}=e,l=iR(Th,n),s=Dh(n);return B_(xh,{asChild:!0,...s,children:B_(gi.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...i,ref:r(t,l.triggerRef),onPointerDown:a(e.onPointerDown,(e=>{o||0!==e.button||!1!==e.ctrlKey||(l.onOpenToggle(),l.open||e.preventDefault())})),onKeyDown:a(e.onKeyDown,(e=>{o||(["Enter"," "].includes(e.key)&&l.onOpenToggle(),"ArrowDown"===e.key&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())}))})})}))).displayName=Th,(Fh=e=>{const{__scopeDropdownMenu:t,...n}=e,o=Dh(t);return B_(Eh,{...o,...n})}).displayName="DropdownMenuPortal",Wh="DropdownMenuContent",(Xh=y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=iR(Wh,n),i=Dh(n),l=y_.useRef(!1);return B_(_h,{id:r.contentId,"aria-labelledby":r.triggerId,...i,...o,ref:t,onCloseAutoFocus:a(e.onCloseAutoFocus,(e=>{l.current||r.triggerRef.current?.focus(),l.current=!1,e.preventDefault()})),onInteractOutside:a(e.onInteractOutside,(e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,o=2===t.button||n;r.modal&&!o||(l.current=!0)})),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}))).displayName=Wh,zh="DropdownMenuGroup",(jh=y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Ah,{...r,...o,ref:t})}))).displayName=zh,Yh="DropdownMenuLabel",(Jh=y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Mh,{...r,...o,ref:t})}))).displayName=Yh,Uh="DropdownMenuItem",(Qh=y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Rh,{...r,...o,ref:t})}))).displayName=Uh,Kh="DropdownMenuCheckboxItem",y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Vh,{...r,...o,ref:t})})).displayName=Kh,qh="DropdownMenuRadioGroup",y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Oh,{...r,...o,ref:t})})).displayName=qh,$h="DropdownMenuRadioItem",y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Sh,{...r,...o,ref:t})})).displayName=$h,eC="DropdownMenuItemIndicator",y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Ph,{...r,...o,ref:t})})).displayName=eC,tC="DropdownMenuSeparator",(nC=y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Nh,{...r,...o,ref:t})}))).displayName=tC,oC="DropdownMenuArrow",y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Lh,{...r,...o,ref:t})})).displayName=oC,rC="DropdownMenuSubTrigger",y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Bh,{...r,...o,ref:t})})).displayName=rC,iC="DropdownMenuSubContent",y_.forwardRef(((e,t)=>{const{__scopeDropdownMenu:n,...o}=e,r=Dh(n);return B_(Gh,{...r,...o,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})})).displayName=iC,aC=Hh,lC=kh,sC=Fh,cC=Xh,uC=jh,dC=Jh,pC=Qh,mC=nC,fC="Dropdown-modules_content__hz-wg",gC="Dropdown-modules_scrollableArea__9SHHg",hC="Dropdown-modules_item__67YXq",CC="Dropdown-modules_label__05rx3",bC="Dropdown-modules_warning__dIJD1",vC="Dropdown-modules_separator__dNtZP";const aR=w_.forwardRef((({children:e,className:t,...n},o)=>w_.createElement(sC,null,w_.createElement(cC,{className:si(fC,"demio-ui-dropdown-content",t),...n,ref:o},w_.createElement("div",{className:gC},e))))),lR=w_.forwardRef((({className:e,...t},n)=>w_.createElement(mC,{ref:n,...t,className:si(vC,"demio-ui-dropdown-separator",e)}))),sR=aC,cR=lC,uR=dC,dR=pC,pR=uC,mR=sC,fR=({children:e,className:t="",isWarning:n=!1,isLabel:o=!1,disabled:r=!1,...i})=>{const a=o?dC:pC;return w_.createElement(a,{className:si(hC,"demio-ui-dropdown-item",{[t]:t,[bC]:n,"demio-ui-dropdown-label":o,[CC]:o}),disabled:r,...i},e)};yC={formGroup:"FormGroup-modules_formGroup__Zjh7i",horizontal:"FormGroup-modules_horizontal__9g7gn",vertical:"FormGroup-modules_vertical__yPEor",between:"FormGroup-modules_between__poqnA",start:"FormGroup-modules_start__ylflU",center:"FormGroup-modules_center__xkWT-",startAlignItems:"FormGroup-modules_startAlignItems__h-nDr",stretchAlignItems:"FormGroup-modules_stretchAlignItems__jg3e0",centerAlignItems:"FormGroup-modules_centerAlignItems__J7KaF"},wC="InfoBanner-modules_infoBanner__6KCFX",IC="InfoBanner-modules_infoBannerWrapper__mUG2s",xC="InfoBanner-modules_contentWrapper__GVYBK",EC="InfoBanner-modules_title__HqhSZ",_C="InfoBanner-modules_iconWrapper__MiPMN";const gR=({children:e=null,className:t="",icon:n=null,isIconVisible:o=!0,text:r=null,title:i=null})=>w_.createElement("div",{className:si(wC,"demio-ui-info-banner",t)},w_.createElement("div",{className:si(IC,"demio-ui-info-banner-wrapper")},o&&w_.createElement("div",{className:si(_C,"demio-ui-info-banner-iconWrapper")},n||w_.createElement(jp,null)),e||w_.createElement("div",{className:si(xC,"demio-ui-info-banner-contentWrapper")},i&&w_.createElement("span",{className:si(EC,"demio-ui-info-banner-title")},i),r&&w_.createElement("span",{className:"demio-ui-info-banner-text"},r))));AC="ModalScrollable-modules_overlay__e4-c1",MC="ModalScrollable-modules_closeBtn__prSB-",RC="ModalScrollable-modules_isHidden__rqtyM",VC="ModalScrollable-modules_title__TzPu5",OC="ModalScrollable-modules_withHeader__OTqO-",SC="ModalScrollable-modules_header__BaeDK",PC="ModalScrollable-modules_noTitle__Aeqsv",NC="ModalScrollable-modules_content__oWfLS",LC="ModalScrollable-modules_body__zrctf",BC="ModalScrollable-modules_footer__fxnqN",GC="ModalScrollable-modules_footerButtonsContainer__MhbTv",ZC="ModalScrollable-modules_withFooter__HDHPq",DC="ModalScrollable-modules_btn__KdfVl",HC="ModalScrollable-modules_cancelButton__gQ23p";const hR=E_(x_((({cancelBtnText:e="Cancel",children:t,customBodyClass:n="",customCancelBtnClass:o="",customCloseBtnClass:r="",customContentClass:i="",customFooterClass:a="",customOkBtnClass:l="",customOverlayClass:s="",customTitleClass:c="",footer:u,header:d,isAvailableCancelBtn:p=!0,isAvailableOkBtn:m=!0,isClosable:f=!0,isCloseButtonVisible:g=!0,isOkBtnDisabled:h=!1,isOpen:C,isOpenByDefault:b=!1,okBtnText:v="ok",onCancel:y,onOk:w,onOpenChange:I,portalContainer:x,title:E=""},_)=>{const A=e=>{I?.(e)};return w_.createElement(cl,{defaultOpen:b,open:C,onOpenChange:A},w_.createElement(dl,{container:x||void 0},w_.createElement(pl,{className:si("demio-ui-scrollable-modal-overlay",AC,s),"data-testid":"scrollable-modal-overlay"}),w_.createElement(ml,{"aria-describedby":void 0,className:si("demio-ui-scrollable-modal-content",NC,i),"data-testid":"scrollable-modal-content",onPointerDownOutside:e=>{f||e?.preventDefault()},ref:_},w_.createElement(fl,{className:si("demio-ui-scrollable-modal-title",VC,{"no-title":!E,[RC]:!E,"with-header":!!d,[OC]:!!d},c),"data-testid":"scrollable-modal-title"},E),!!d&&w_.createElement("div",{className:si("demio-ui-scrollable-modal-header",SC,{"without-title":!E,[PC]:!E}),"data-testid":"scrollable-modal-header"},d),w_.createElement(hl,{className:si("demio-ui-scrollable-modal-close-btn",MC,{"no-close-btn":!g,[RC]:!g},r),"data-testid":"scrollable-modal-close-btn"},w_.createElement(Xl,null)),w_.createElement("div",{className:si("demio-ui-scrollable-modal-body",LC,n),"data-testid":"scrollable-modal-body"},t),(p||m||!!u)&&w_.createElement("div",{className:si("demio-ui-scrollable-modal-footer",BC,a),"data-testid":"scrollable-modal-footer"},u,(p||m)&&w_.createElement("div",{className:si("demio-ui-scrollable-modal-footer-buttons-container",GC,{"with-footer":!!u,[ZC]:!!u}),"data-testid":"scrollable-modal-footer-buttons-container"},p&&w_.createElement(eA,{className:si("demio-ui-scrollable-modal-footer-cancel-btn",DC,HC,o),"data-testid":"scrollable-modal-footer-cancel-btn",onClick:e=>{y?.(e),A(!1)},variant:"outline"},e),m&&w_.createElement(eA,{className:si("demio-ui-scrollable-modal-footer-ok-btn",DC,l),"data-testid":"scrollable-modal-footer-ok-btn",disabled:h,onClick:e=>{w?.(e)},variant:"primary"},v))))))})));var CR,bR,vR,yR;for(TC=["defaultInputValue","defaultMenuIsOpen","defaultValue","inputValue","menuIsOpen","onChange","onInputChange","onMenuClose","onMenuOpen","value"],kC=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){var t,n;if(this.ctr%(this.isSpeedy?65e3:1)==0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this)),t=this.tags[this.tags.length-1],this.isSpeedy){n=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}(t);try{n.insertRule(e,n.cssRules.length)}catch(vR){}}else t.appendChild(document.createTextNode(e));this.ctr++},t.flush=function(){this.tags.forEach((function(e){var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)})),this.tags=[],this.ctr=0},e}(),FC="-ms-",WC="-moz-",XC="-webkit-",zC="comm",jC="rule",YC="decl",JC="@import",UC="@keyframes",QC="@layer",KC=Math.abs,qC=String.fromCharCode,$C=Object.assign,eb=1,tb=1,nb=0,ob=0,rb=0,ib="",ab=function(e){var t=new WeakMap;return function(n){if(t.has(n))return t.get(n);var o=e(n);return t.set(n,o),o}},lb="undefined"!=typeof document,sb=function(e,t,n){for(var o=0,r=0;o=r,r=Zo(),38===o&&12===r&&(t[n]=1),!To(r);)Go();return Ho(e,ob)},cb=function(e,t){var n=-1,o=44;do{switch(To(o)){case 0:38===o&&12===Zo()&&(t[n]=1),e[n]+=sb(ob-1,t,n);break;case 2:e[n]+=Wo(o);break;case 4:if(44===o){e[++n]=58===Zo()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=qC(o)}}while(o=Go());return e},ub=function(e,t){return Fo(cb(ko(e),t))},db=new WeakMap,pb=function(e){var t,n,o,r,i,a,l,s,c;if("rule"===e.type&&e.parent&&!(e.length<1)){for(t=e.value,n=e.parent,o=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||db.get(n))&&!o)for(db.set(e,!0),i=ub(t,r=[]),a=n.props,l=0,s=0;l<i.length;l++)for(c=0;c<a.length;c++,s++)e.props[s]=r[l]?i[l].replace(/&\f/g,a[c]):a[c]+" "+i[l]}},mb=function(e){if("decl"===e.type){var t=e.value;108===t.charCodeAt(0)&&98===t.charCodeAt(2)&&(e.return="",e.value="")}},fb=function(e,t,n,o){if(e.length>-1&&!e.return)switch(e.type){case YC:e.return=rr(e.value,e.length);break;case UC:return er([Lo(e,{value:Ao(e.value,"@","@"+XC)})],o);case jC:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return er([Lo(e,{props:[Ao(t,/:(read-\w+)/,":"+WC+"$1")]})],o);case"::placeholder":return er([Lo(e,{props:[Ao(t,/:(plac\w+)/,":"+XC+"input-$1")]}),Lo(e,{props:[Ao(t,/:(plac\w+)/,":"+WC+"$1")]}),Lo(e,{props:[Ao(t,/:(plac\w+)/,FC+"input-$1")]})],o)}return""}))}},gb=lb?void 0:ab((function(){return or((function(){return{}}))})),hb=[fb],Cb=function(e){var t,n,o,r,i,a,l,s,c,u,d,p,m,f,g,h,C,b,v=e.key;return lb&&"css"===v&&(t=document.querySelectorAll("style[data-emotion]:not([data-s])"),Array.prototype.forEach.call(t,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))),n=e.stylisPlugins||hb,o={},i=[],lb&&(r=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+v+' "]'),(function(e){var t,n=e.getAttribute("data-emotion").split(" ");for(t=1;t<n.length;t++)o[n[t]]=!0;i.push(e)}))),l=[pb,mb],gb?(p=[tr],m=nr(l.concat(n,p)),f=function(e){return er(Uo(e),m)},g=gb(n)(v),h=function(e,t){var n=t.name;return void 0===g[n]&&(g[n]=f(e?e+"{"+t.styles+"}":t.styles)),g[n]},a=function(e,t,n,o){var r=t.name,i=h(e,t);return void 0===C.compat?(o&&(C.inserted[r]=!0),i):o?void(C.inserted[r]=i):i}):(c=[tr,(b=function(e){s.insert(e)},function(e){e.root||(e=e.return)&&b(e)})],u=nr(l.concat(n,c)),d=function(e){return er(Uo(e),u)},a=function(e,t,n,o){s=n,d(e?e+"{"+t.styles+"}":t.styles),o&&(C.inserted[t.name]=!0)}),(C={key:v,sheet:new kC({key:v,container:r,nonce:e.nonce,speedy:e.speedy,prepend:e.prepend,insertionPoint:e.insertionPoint}),nonce:e.nonce,inserted:o,registered:{},insert:a}).sheet.hydrate(i),C},bb="undefined"!=typeof document,vb=function(e,t,n){var o=e.key+"-"+t.name;(!1===n||!1===bb&&void 0!==e.compat)&&void 0===e.registered[o]&&(e.registered[o]=t.styles)},yb=function(e,t,n){var o,r,i,a;if(vb(e,t,n),o=e.key+"-"+t.name,void 0===e.inserted[t.name]){r="",i=t;do{a=e.insert(t===i?"."+o:"",i,e.sheet,!0),bb||void 0===a||(r+=a),i=i.next}while(void 0!==i);if(!bb&&0!==r.length)return r}},wb={animationIterationCount:1,aspectRatio: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,scale: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},Ib=/[A-Z]|^ms/g,xb=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Eb=function(e){return 45===e.charCodeAt(1)},_b=function(e){return null!=e&&"boolean"!=typeof e},Ab=or((function(e){return Eb(e)?e:e.replace(Ib,"-$&").toLowerCase()})),Mb=function(e,t){switch(e){case"animation":case"animationName":if("string"==typeof t)return t.replace(xb,(function(e,t,n){return Vb={name:t,styles:n,next:Vb},t}))}return 1===wb[e]||Eb(e)||"number"!=typeof t||0===t?t:t+"px"},Rb=/label:\s*([^\s;{]+)\s*(;|$)/g,Ob="undefined"!=typeof document,Sb=function(e){return e()},Pb=!!y_.useInsertionEffect&&y_.useInsertionEffect,Nb=Ob&&Pb||Sb,Lb="undefined"!=typeof document,(Bb=y_.createContext("undefined"!=typeof HTMLElement?Cb({key:"css"}):null)).Provider,Gb=function(e){return x_((function(t,n){var o=V_(Bb);return e(t,o,n)}))},Lb||(Gb=function(e){return function(t){var n=V_(Bb);return null===n?(n=Cb({key:"css"}),y_.createElement(Bb.Provider,{value:n},e(t,n))):e(t,n)}}),Zb=y_.createContext({}),Db={}.hasOwnProperty,Hb="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",Tb=function(e,t){var n,o={};for(n in t)Db.call(t,n)&&(o[n]=t[n]);return o[Hb]=e,o},kb=function(e){var t,n,o,r,i=e.cache,a=e.serialized,l=e.isStringTag;if(vb(i,a,l),t=Nb((function(){return yb(i,a,l)})),!Lb&&void 0!==t){for(o=a.name,r=a.next;void 0!==r;)o+=" "+r.name,r=r.next;return y_.createElement("style",((n={})["data-emotion"]=i.key+" "+o,n.dangerouslySetInnerHTML={__html:t},n.nonce=i.sheet.nonce,n))}return null},Fb=Gb((function(e,t,n){var o,r,i,a,l,s,c=e.css;for(s in"string"==typeof c&&void 0!==t.registered[c]&&(c=t.registered[c]),o=e[Hb],r=[c],i="","string"==typeof e.className?i=function(e,t,n){var o="";return n.split(" ").forEach((function(n){void 0!==e[n]?t.push(e[n]+";"):n&&(o+=n+" ")})),o}(t.registered,r,e.className):null!=e.className&&(i=e.className+" "),a=ar(r,void 0,y_.useContext(Zb)),i+=t.key+"-"+a.name,l={},e)Db.call(e,s)&&"css"!==s&&s!==Hb&&(l[s]=e[s]);return l.className=i,n&&(l.ref=n),y_.createElement(y_.Fragment,null,y_.createElement(kb,{cache:t,serialized:a,isStringTag:"string"==typeof o}),y_.createElement(o,l))})),Wb=Fb,Xb=function(e,t){var n,o,r,i=arguments;if(null==t||!Db.call(t,"css"))return y_.createElement.apply(void 0,i);for(n=i.length,(o=new Array(n))[0]=Wb,o[1]=Tb(e,t),r=2;r<n;r++)o[r]=i[r];return y_.createElement.apply(null,o)},CR=Xb||(Xb={}),bR||(bR=CR.JSX||(CR.JSX={})),zb="undefined"!=typeof document,jb=zb?R_:M_,Yb=["className","clearValue","cx","getStyles","getClassNames","getValue","hasValue","isMulti","isRtl","options","selectOption","selectProps","setValue","theme"],Jb=function(){},Ub=function(e){return t=e,Array.isArray(t)?e.filter(Boolean):"object"===so(e)&&null!==e?[e]:[];var t},Qb=function(e){return e.className,e.clearValue,e.cx,e.getStyles,e.getClassNames,e.getValue,e.hasValue,e.isMulti,e.isRtl,e.options,e.selectOption,e.selectProps,e.setValue,e.theme,mo({},Co(e,Yb))},Kb=function(e,t,n){var o=e.cx,r=e.getStyles,i=e.getClassNames,a=e.className;return{css:r(t,e),className:o(null!=n?n:{},i(t,e),a)}},qb=!1,$b={get passive(){return qb=!0}},(ev="undefined"!=typeof window?window:{}).addEventListener&&ev.removeEventListener&&(ev.addEventListener("p",Jb,$b),ev.removeEventListener("p",Jb,!1)),tv=qb,nv=function(e){var t,n,o,r;for(t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return r=Object.entries(e).filter((function(e){var t=ho(e,1)[0];return!n.includes(t)})),r.reduce((function(e,t){var n=ho(t,2),o=n[0],r=n[1];return e[o]=r,e}),{})},ov=["children","innerProps"],rv=["children","innerProps"],iv=function(e){return"auto"===e?"bottom":e},av=function(e,t){var n,o=e.placement,r=e.theme,i=r.borderRadius,a=r.spacing,l=r.colors;return mo((uo(n={label:"menu"},function(e){return e?{bottom:"top",top:"bottom"}[e]:"bottom"}(o),"100%"),uo(n,"position","absolute"),uo(n,"width","100%"),uo(n,"zIndex",1),n),t?{}:{backgroundColor:l.neutral0,borderRadius:i,boxShadow:"0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)",marginBottom:a.menuGutter,marginTop:a.menuGutter})},lv=S_(null),sv=function(e){var t=e.children,n=e.minMenuHeight,o=e.maxMenuHeight,r=e.menuPlacement,i=e.menuPosition,a=e.menuShouldScrollIntoView,l=e.theme,s=V_(lv)||{},c=s.setPortalPlacement,u=__(null),d=I_(o),p=ho(d,2),m=p[0],f=p[1],g=I_(null),h=ho(g,2),C=h[0],b=h[1],v=l.spacing.controlHeight;return jb((function(){var e,t,l=u.current;l&&(e="fixed"===i,t=br({maxHeight:o,menuEl:l,minHeight:n,placement:r,shouldScroll:a&&!e,isFixedPosition:e,controlHeight:v}),f(t.maxHeight),b(t.placement),null==c||c(t.placement))}),[o,r,i,a,n,c,v]),t({ref:u,placerProps:mo(mo({},e),{},{placement:C||iv(r),maxHeight:m})})},cv=function(e){var t=e.children,n=e.innerRef,o=e.innerProps;return Xb("div",bo({},Kb(e,"menu",{menu:!0}),{ref:n},o),t)},uv=function(e,t){var n=e.maxHeight,o=e.theme.spacing.baseUnit;return mo({maxHeight:n,overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},t?{}:{paddingBottom:o,paddingTop:o})},dv=function(e){var t=e.children,n=e.innerProps,o=e.innerRef,r=e.isMulti;return Xb("div",bo({},Kb(e,"menuList",{"menu-list":!0,"menu-list--is-multi":r}),{ref:o},n),t)},pv=function(e,t){var n=e.theme,o=n.spacing.baseUnit,r=n.colors;return mo({textAlign:"center"},t?{}:{color:r.neutral40,padding:"".concat(2*o,"px ").concat(3*o,"px")})},mv=pv,fv=pv,gv=function(e){var t=e.children,n=void 0===t?"No options":t,o=e.innerProps,r=Co(e,ov);return Xb("div",bo({},Kb(mo(mo({},r),{},{children:n,innerProps:o}),"noOptionsMessage",{"menu-notice":!0,"menu-notice--no-options":!0}),o),n)},hv=function(e){var t=e.children,n=void 0===t?"Loading...":t,o=e.innerProps,r=Co(e,rv);return Xb("div",bo({},Kb(mo(mo({},r),{},{children:n,innerProps:o}),"loadingMessage",{"menu-notice":!0,"menu-notice--loading":!0}),o),n)},Cv=function(e){var t=e.rect,n=e.offset,o=e.position;return{left:t.left,position:o,top:n,width:t.width,zIndex:1}},bv=function(e){var t,n,o,r=e.appendTo,i=e.children,a=e.controlElement,l=e.innerProps,s=e.menuPlacement,c=e.menuPosition,u=__(null),d=__(null),p=I_(iv(s)),m=ho(p,2),f=m[0],g=m[1],h=O_((function(){return{setPortalPlacement:g}}),[]),C=I_(null),b=ho(C,2),v=b[0],y=b[1],w=A_((function(){var e,t,n;a&&(e=function(e){var t=e.getBoundingClientRect();return{bottom:t.bottom,height:t.height,left:t.left,right:t.right,top:t.top,width:t.width}}(a),t="fixed"===c?0:window.pageYOffset,(n=e[f]+t)===(null==v?void 0:v.offset)&&e.left===(null==v?void 0:v.rect.left)&&e.width===(null==v?void 0:v.rect.width)||y({offset:n,rect:e}))}),[a,c,f,null==v?void 0:v.offset,null==v?void 0:v.rect.left,null==v?void 0:v.rect.width]);return jb((function(){w()}),[w]),t=A_((function(){"function"==typeof d.current&&(d.current(),d.current=null),a&&u.current&&(d.current=Un(a,u.current,w,{elementResize:"ResizeObserver"in window}))}),[a,w]),jb((function(){t()}),[t]),n=A_((function(e){u.current=e,t()}),[t]),!r&&"fixed"!==c||!v?null:(o=Xb("div",bo({ref:n},Kb(mo(mo({},e),{},{offset:v.offset,position:c,rect:v.rect}),"menuPortal",{"menu-portal":!0}),l),i),Xb(lv.Provider,{value:h},r?T_(o,r):o))},vv=function(e){var t=e.isDisabled;return{label:"container",direction:e.isRtl?"rtl":void 0,pointerEvents:t?"none":void 0,position:"relative"}},yv=function(e){var t=e.children,n=e.innerProps,o=e.isDisabled,r=e.isRtl;return Xb("div",bo({},Kb(e,"container",{"--is-disabled":o,"--is-rtl":r}),n),t)},wv=function(e,t){var n=e.theme.spacing,o=e.isMulti,r=e.hasValue,i=e.selectProps.controlShouldRenderValue;return mo({alignItems:"center",display:o&&r&&i?"flex":"grid",flex:1,flexWrap:"wrap",WebkitOverflowScrolling:"touch",position:"relative",overflow:"hidden"},t?{}:{padding:"".concat(n.baseUnit/2,"px ").concat(2*n.baseUnit,"px")})},Iv=function(e){var t=e.children,n=e.innerProps,o=e.isMulti,r=e.hasValue;return Xb("div",bo({},Kb(e,"valueContainer",{"value-container":!0,"value-container--is-multi":o,"value-container--has-value":r}),n),t)},xv=function(){return{alignItems:"center",alignSelf:"stretch",display:"flex",flexShrink:0}},Ev=function(e){var t=e.children,n=e.innerProps;return Xb("div",bo({},Kb(e,"indicatorsContainer",{indicators:!0}),n),t)},Av=["size"],Mv=["innerProps","isRtl","size"],Rv="production"===process.env.NODE_ENV?{name:"8mmkcg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"}:{name:"tj5bde-Svg",styles:"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;label:Svg;",map:"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCSSIsImZpbGUiOiJpbmRpY2F0b3JzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgSlNYLCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHtcbiAgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWUsXG4gIENTU09iamVjdFdpdGhMYWJlbCxcbiAgR3JvdXBCYXNlLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRTdHlsZVByb3BzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgSWNvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBTdmcgPSAoe1xuICBzaXplLFxuICAuLi5wcm9wc1xufTogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzdmcnXSAmIHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IHR5cGUgQ3Jvc3NJY29uUHJvcHMgPSBKU1guSW50cmluc2ljRWxlbWVudHNbJ3N2ZyddICYgeyBzaXplPzogbnVtYmVyIH07XG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBDcm9zc0ljb25Qcm9wcykgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNMTQuMzQ4IDE0Ljg0OWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMGwtMi42NTEtMy4wMzAtMi42NTEgMy4wMjljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDAtMC40NjktMC40NjktMC40NjktMS4yMjkgMC0xLjY5N2wyLjc1OC0zLjE1LTIuNzU5LTMuMTUyYy0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOCAwLTEuNjk3czEuMjI4LTAuNDY5IDEuNjk3IDBsMi42NTIgMy4wMzEgMi42NTEtMy4wMzFjMC40NjktMC40NjkgMS4yMjgtMC40NjkgMS42OTcgMHMwLjQ2OSAxLjIyOSAwIDEuNjk3bC0yLjc1OCAzLjE1MiAyLjc1OCAzLjE1YzAuNDY5IDAuNDY5IDAuNDY5IDEuMjI5IDAgMS42OTh6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuZXhwb3J0IHR5cGUgRG93bkNoZXZyb25Qcm9wcyA9IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snc3ZnJ10gJiB7IHNpemU/OiBudW1iZXIgfTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogRG93bkNoZXZyb25Qcm9wcykgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JbmRpY2F0b3JQcm9wczxcbiAgT3B0aW9uID0gdW5rbm93bixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4gPSBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+ID0gR3JvdXBCYXNlPE9wdGlvbj5cbj4gZXh0ZW5kcyBDb21tb25Qcm9wc0FuZENsYXNzTmFtZTxPcHRpb24sIElzTXVsdGksIEdyb3VwPiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snZGl2J107XG4gIC8qKiBUaGUgZm9jdXNlZCBzdGF0ZSBvZiB0aGUgc2VsZWN0LiAqL1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbmNvbnN0IGJhc2VDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0ZvY3VzZWQsXG4gICAgdGhlbWU6IHtcbiAgICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICAgIGNvbG9ycyxcbiAgICB9LFxuICB9OlxuICAgIHwgRHJvcGRvd25JbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuICAgIHwgQ2xlYXJJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPixcbiAgdW5zdHlsZWQ6IGJvb2xlYW5cbik6IENTU09iamVjdFdpdGhMYWJlbCA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgLi4uKHVuc3R5bGVkXG4gICAgPyB7fVxuICAgIDoge1xuICAgICAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gICAgICAgIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5nZXRTdHlsZVByb3BzKHByb3BzLCAnZHJvcGRvd25JbmRpY2F0b3InLCB7XG4gICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgJ2Ryb3Bkb3duLWluZGljYXRvcic6IHRydWUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENsZWFySW5kaWNhdG9yUHJvcHM8XG4gIE9wdGlvbiA9IHVua25vd24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuID0gYm9vbGVhbixcbiAgR3JvdXAgZXh0ZW5kcyBHcm91cEJhc2U8T3B0aW9uPiA9IEdyb3VwQmFzZTxPcHRpb24+XG4+IGV4dGVuZHMgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWU8T3B0aW9uLCBJc011bHRpLCBHcm91cD4ge1xuICAvKiogVGhlIGNoaWxkcmVuIHRvIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgaW5kaWNhdG9yLiAqL1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICBwcm9wczogQ2xlYXJJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5nZXRTdHlsZVByb3BzKHByb3BzLCAnY2xlYXJJbmRpY2F0b3InLCB7XG4gICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgJ2NsZWFyLWluZGljYXRvcic6IHRydWUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGljYXRvclNlcGFyYXRvclByb3BzPFxuICBPcHRpb24gPSB1bmtub3duLFxuICBJc011bHRpIGV4dGVuZHMgYm9vbGVhbiA9IGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj4gPSBHcm91cEJhc2U8T3B0aW9uPlxuPiBleHRlbmRzIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+IHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpbm5lclByb3BzPzogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzcGFuJ107XG59XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0Rpc2FibGVkLFxuICAgIHRoZW1lOiB7XG4gICAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgICBjb2xvcnMsXG4gICAgfSxcbiAgfTogSW5kaWNhdG9yU2VwYXJhdG9yUHJvcHM8T3B0aW9uLCBJc011bHRpLCBHcm91cD4sXG4gIHVuc3R5bGVkOiBib29sZWFuXG4pOiBDU1NPYmplY3RXaXRoTGFiZWwgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgd2lkdGg6IDEsXG4gIC4uLih1bnN0eWxlZFxuICAgID8ge31cbiAgICA6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICAgICAgICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgICAgIH0pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBJbmRpY2F0b3JTZXBhcmF0b3IgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHByb3BzOiBJbmRpY2F0b3JTZXBhcmF0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgey4uLmdldFN0eWxlUHJvcHMocHJvcHMsICdpbmRpY2F0b3JTZXBhcmF0b3InLCB7XG4gICAgICAgICdpbmRpY2F0b3Itc2VwYXJhdG9yJzogdHJ1ZSxcbiAgICAgIH0pfVxuICAgIC8+XG4gICk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBsb2FkaW5nRG90QW5pbWF0aW9ucyA9IGtleWZyYW1lc2BcbiAgMCUsIDgwJSwgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgNDAlIHsgb3BhY2l0eTogMTsgfVxuYDtcblxuZXhwb3J0IGNvbnN0IGxvYWRpbmdJbmRpY2F0b3JDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0ZvY3VzZWQsXG4gICAgc2l6ZSxcbiAgICB0aGVtZToge1xuICAgICAgY29sb3JzLFxuICAgICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIH0sXG4gIH06IExvYWRpbmdJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPixcbiAgdW5zdHlsZWQ6IGJvb2xlYW5cbik6IENTU09iamVjdFdpdGhMYWJlbCA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG4gIGFsaWduU2VsZjogJ2NlbnRlcicsXG4gIGZvbnRTaXplOiBzaXplLFxuICBsaW5lSGVpZ2h0OiAxLFxuICBtYXJnaW5SaWdodDogc2l6ZSxcbiAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gIC4uLih1bnN0eWxlZFxuICAgID8ge31cbiAgICA6IHtcbiAgICAgICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICAgICAgICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gICAgICB9KSxcbn0pO1xuXG5pbnRlcmZhY2UgTG9hZGluZ0RvdFByb3BzIHtcbiAgZGVsYXk6IG51bWJlcjtcbiAgb2Zmc2V0OiBib29sZWFuO1xufVxuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogTG9hZGluZ0RvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiB1bmRlZmluZWQsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGluZ0luZGljYXRvclByb3BzPFxuICBPcHRpb24gPSB1bmtub3duLFxuICBJc011bHRpIGV4dGVuZHMgYm9vbGVhbiA9IGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj4gPSBHcm91cEJhc2U8T3B0aW9uPlxuPiBleHRlbmRzIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+IHtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgc2l6ZTogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IExvYWRpbmdJbmRpY2F0b3IgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oe1xuICBpbm5lclByb3BzLFxuICBpc1J0bCxcbiAgc2l6ZSA9IDQsXG4gIC4uLnJlc3RQcm9wc1xufTogTG9hZGluZ0luZGljYXRvclByb3BzPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgey4uLmdldFN0eWxlUHJvcHMoXG4gICAgICAgIHsgLi4ucmVzdFByb3BzLCBpbm5lclByb3BzLCBpc1J0bCwgc2l6ZSB9LFxuICAgICAgICAnbG9hZGluZ0luZGljYXRvcicsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgICAgICAgJ2xvYWRpbmctaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0= */",toString:function(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}},Vv=function(e){var t=e.size,n=Co(e,Av);return Xb("svg",bo({height:t,width:t,viewBox:"0 0 20 20","aria-hidden":"true",focusable:"false",css:Rv},n))},Ov=function(e){return Xb(Vv,bo({size:20},e),Xb("path",{d:"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"}))},Sv=function(e){return Xb(Vv,bo({size:20},e),Xb("path",{d:"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"}))},Pv=function(e,t){var n=e.isFocused,o=e.theme,r=o.spacing.baseUnit,i=o.colors;return mo({label:"indicatorContainer",display:"flex",transition:"color 150ms"},t?{}:{color:n?i.neutral60:i.neutral20,padding:2*r,":hover":{color:n?i.neutral80:i.neutral40}})},Nv=Pv,Lv=function(e){var t=e.children,n=e.innerProps;return Xb("div",bo({},Kb(e,"dropdownIndicator",{indicator:!0,"dropdown-indicator":!0}),n),t||Xb(Sv,null))},Bv=Pv,Gv=function(e){var t=e.children,n=e.innerProps;return Xb("div",bo({},Kb(e,"clearIndicator",{indicator:!0,"clear-indicator":!0}),n),t||Xb(Ov,null))},Zv=function(e,t){var n=e.isDisabled,o=e.theme,r=o.spacing.baseUnit,i=o.colors;return mo({label:"indicatorSeparator",alignSelf:"stretch",width:1},t?{}:{backgroundColor:n?i.neutral10:i.neutral20,marginBottom:2*r,marginTop:2*r})},Dv=function(e){var t=e.innerProps;return Xb("span",bo({},t,Kb(e,"indicatorSeparator",{"indicator-separator":!0})))},Hv=function(){var e=lr.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}(_v||(vR=["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"],yR||(yR=vR.slice(0)),_v=Object.freeze(Object.defineProperties(vR,{raw:{value:Object.freeze(yR)}})))),Tv=function(e,t){var n=e.isFocused,o=e.size,r=e.theme,i=r.colors,a=r.spacing.baseUnit;return mo({label:"loadingIndicator",display:"flex",transition:"color 150ms",alignSelf:"center",fontSize:o,lineHeight:1,marginRight:o,textAlign:"center",verticalAlign:"middle"},t?{}:{color:n?i.neutral60:i.neutral20,padding:2*a})},kv=function(e){var t=e.delay,n=e.offset;return Xb("span",{css:lr({animation:"".concat(Hv," 1s ease-in-out ").concat(t,"ms infinite;"),backgroundColor:"currentColor",borderRadius:"1em",display:"inline-block",marginLeft:n?"1em":void 0,height:"1em",verticalAlign:"top",width:"1em"},"production"===process.env.NODE_ENV?"":";label:LoadingDot;","production"===process.env.NODE_ENV?"":"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1RSSIsImZpbGUiOiJpbmRpY2F0b3JzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgSlNYLCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuaW1wb3J0IHtcbiAgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWUsXG4gIENTU09iamVjdFdpdGhMYWJlbCxcbiAgR3JvdXBCYXNlLFxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRTdHlsZVByb3BzIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgSWNvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBTdmcgPSAoe1xuICBzaXplLFxuICAuLi5wcm9wc1xufTogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzdmcnXSAmIHsgc2l6ZTogbnVtYmVyIH0pID0+IChcbiAgPHN2Z1xuICAgIGhlaWdodD17c2l6ZX1cbiAgICB3aWR0aD17c2l6ZX1cbiAgICB2aWV3Qm94PVwiMCAwIDIwIDIwXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICBjc3M9e3tcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgZmlsbDogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBsaW5lSGVpZ2h0OiAxLFxuICAgICAgc3Ryb2tlOiAnY3VycmVudENvbG9yJyxcbiAgICAgIHN0cm9rZVdpZHRoOiAwLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IHR5cGUgQ3Jvc3NJY29uUHJvcHMgPSBKU1guSW50cmluc2ljRWxlbWVudHNbJ3N2ZyddICYgeyBzaXplPzogbnVtYmVyIH07XG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBDcm9zc0ljb25Qcm9wcykgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNMTQuMzQ4IDE0Ljg0OWMtMC40NjkgMC40NjktMS4yMjkgMC40NjktMS42OTcgMGwtMi42NTEtMy4wMzAtMi42NTEgMy4wMjljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDAtMC40NjktMC40NjktMC40NjktMS4yMjkgMC0xLjY5N2wyLjc1OC0zLjE1LTIuNzU5LTMuMTUyYy0wLjQ2OS0wLjQ2OS0wLjQ2OS0xLjIyOCAwLTEuNjk3czEuMjI4LTAuNDY5IDEuNjk3IDBsMi42NTIgMy4wMzEgMi42NTEtMy4wMzFjMC40NjktMC40NjkgMS4yMjgtMC40NjkgMS42OTcgMHMwLjQ2OSAxLjIyOSAwIDEuNjk3bC0yLjc1OCAzLjE1MiAyLjc1OCAzLjE1YzAuNDY5IDAuNDY5IDAuNDY5IDEuMjI5IDAgMS42OTh6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuZXhwb3J0IHR5cGUgRG93bkNoZXZyb25Qcm9wcyA9IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snc3ZnJ10gJiB7IHNpemU/OiBudW1iZXIgfTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogRG93bkNoZXZyb25Qcm9wcykgPT4gKFxuICA8U3ZnIHNpemU9ezIwfSB7Li4ucHJvcHN9PlxuICAgIDxwYXRoIGQ9XCJNNC41MTYgNy41NDhjMC40MzYtMC40NDYgMS4wNDMtMC40ODEgMS41NzYgMGwzLjkwOCAzLjc0NyAzLjkwOC0zLjc0N2MwLjUzMy0wLjQ4MSAxLjE0MS0wLjQ0NiAxLjU3NCAwIDAuNDM2IDAuNDQ1IDAuNDA4IDEuMTk3IDAgMS42MTUtMC40MDYgMC40MTgtNC42OTUgNC41MDItNC42OTUgNC41MDItMC4yMTcgMC4yMjMtMC41MDIgMC4zMzUtMC43ODcgMC4zMzVzLTAuNTctMC4xMTItMC43ODktMC4zMzVjMCAwLTQuMjg3LTQuMDg0LTQuNjk1LTQuNTAycy0wLjQzNi0xLjE3IDAtMS42MTV6XCIgLz5cbiAgPC9Tdmc+XG4pO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERyb3Bkb3duICYgQ2xlYXIgQnV0dG9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25JbmRpY2F0b3JQcm9wczxcbiAgT3B0aW9uID0gdW5rbm93bixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4gPSBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+ID0gR3JvdXBCYXNlPE9wdGlvbj5cbj4gZXh0ZW5kcyBDb21tb25Qcm9wc0FuZENsYXNzTmFtZTxPcHRpb24sIElzTXVsdGksIEdyb3VwPiB7XG4gIC8qKiBUaGUgY2hpbGRyZW4gdG8gYmUgcmVuZGVyZWQgaW5zaWRlIHRoZSBpbmRpY2F0b3IuICovXG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xuICAvKiogUHJvcHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBvbiB0byB0aGUgY2hpbGRyZW4uICovXG4gIGlubmVyUHJvcHM6IEpTWC5JbnRyaW5zaWNFbGVtZW50c1snZGl2J107XG4gIC8qKiBUaGUgZm9jdXNlZCBzdGF0ZSBvZiB0aGUgc2VsZWN0LiAqL1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW47XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbmNvbnN0IGJhc2VDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0ZvY3VzZWQsXG4gICAgdGhlbWU6IHtcbiAgICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICAgIGNvbG9ycyxcbiAgICB9LFxuICB9OlxuICAgIHwgRHJvcGRvd25JbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuICAgIHwgQ2xlYXJJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPixcbiAgdW5zdHlsZWQ6IGJvb2xlYW5cbik6IENTU09iamVjdFdpdGhMYWJlbCA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvckNvbnRhaW5lcicsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcbiAgLi4uKHVuc3R5bGVkXG4gICAgPyB7fVxuICAgIDoge1xuICAgICAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gICAgICAgIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgICAgICAgJzpob3Zlcic6IHtcbiAgICAgICAgICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw4MCA6IGNvbG9ycy5uZXV0cmFsNDAsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICBwcm9wczogRHJvcGRvd25JbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5nZXRTdHlsZVByb3BzKHByb3BzLCAnZHJvcGRvd25JbmRpY2F0b3InLCB7XG4gICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgJ2Ryb3Bkb3duLWluZGljYXRvcic6IHRydWUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENsZWFySW5kaWNhdG9yUHJvcHM8XG4gIE9wdGlvbiA9IHVua25vd24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuID0gYm9vbGVhbixcbiAgR3JvdXAgZXh0ZW5kcyBHcm91cEJhc2U8T3B0aW9uPiA9IEdyb3VwQmFzZTxPcHRpb24+XG4+IGV4dGVuZHMgQ29tbW9uUHJvcHNBbmRDbGFzc05hbWU8T3B0aW9uLCBJc011bHRpLCBHcm91cD4ge1xuICAvKiogVGhlIGNoaWxkcmVuIHRvIGJlIHJlbmRlcmVkIGluc2lkZSB0aGUgaW5kaWNhdG9yLiAqL1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gPFxuICBPcHRpb24sXG4gIElzTXVsdGkgZXh0ZW5kcyBib29sZWFuLFxuICBHcm91cCBleHRlbmRzIEdyb3VwQmFzZTxPcHRpb24+XG4+KFxuICBwcm9wczogQ2xlYXJJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5nZXRTdHlsZVByb3BzKHByb3BzLCAnY2xlYXJJbmRpY2F0b3InLCB7XG4gICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgJ2NsZWFyLWluZGljYXRvcic6IHRydWUsXG4gICAgICB9KX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZGljYXRvclNlcGFyYXRvclByb3BzPFxuICBPcHRpb24gPSB1bmtub3duLFxuICBJc011bHRpIGV4dGVuZHMgYm9vbGVhbiA9IGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj4gPSBHcm91cEJhc2U8T3B0aW9uPlxuPiBleHRlbmRzIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+IHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpbm5lclByb3BzPzogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzcGFuJ107XG59XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0Rpc2FibGVkLFxuICAgIHRoZW1lOiB7XG4gICAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgICBjb2xvcnMsXG4gICAgfSxcbiAgfTogSW5kaWNhdG9yU2VwYXJhdG9yUHJvcHM8T3B0aW9uLCBJc011bHRpLCBHcm91cD4sXG4gIHVuc3R5bGVkOiBib29sZWFuXG4pOiBDU1NPYmplY3RXaXRoTGFiZWwgPT4gKHtcbiAgbGFiZWw6ICdpbmRpY2F0b3JTZXBhcmF0b3InLFxuICBhbGlnblNlbGY6ICdzdHJldGNoJyxcbiAgd2lkdGg6IDEsXG4gIC4uLih1bnN0eWxlZFxuICAgID8ge31cbiAgICA6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpc0Rpc2FibGVkID8gY29sb3JzLm5ldXRyYWwxMCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogYmFzZVVuaXQgKiAyLFxuICAgICAgICBtYXJnaW5Ub3A6IGJhc2VVbml0ICogMixcbiAgICAgIH0pLFxufSk7XG5cbmV4cG9ydCBjb25zdCBJbmRpY2F0b3JTZXBhcmF0b3IgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHByb3BzOiBJbmRpY2F0b3JTZXBhcmF0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPlxuKSA9PiB7XG4gIGNvbnN0IHsgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgey4uLmdldFN0eWxlUHJvcHMocHJvcHMsICdpbmRpY2F0b3JTZXBhcmF0b3InLCB7XG4gICAgICAgICdpbmRpY2F0b3Itc2VwYXJhdG9yJzogdHJ1ZSxcbiAgICAgIH0pfVxuICAgIC8+XG4gICk7XG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExvYWRpbmdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5jb25zdCBsb2FkaW5nRG90QW5pbWF0aW9ucyA9IGtleWZyYW1lc2BcbiAgMCUsIDgwJSwgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgNDAlIHsgb3BhY2l0eTogMTsgfVxuYDtcblxuZXhwb3J0IGNvbnN0IGxvYWRpbmdJbmRpY2F0b3JDU1MgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oXG4gIHtcbiAgICBpc0ZvY3VzZWQsXG4gICAgc2l6ZSxcbiAgICB0aGVtZToge1xuICAgICAgY29sb3JzLFxuICAgICAgc3BhY2luZzogeyBiYXNlVW5pdCB9LFxuICAgIH0sXG4gIH06IExvYWRpbmdJbmRpY2F0b3JQcm9wczxPcHRpb24sIElzTXVsdGksIEdyb3VwPixcbiAgdW5zdHlsZWQ6IGJvb2xlYW5cbik6IENTU09iamVjdFdpdGhMYWJlbCA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHRyYW5zaXRpb246ICdjb2xvciAxNTBtcycsXG4gIGFsaWduU2VsZjogJ2NlbnRlcicsXG4gIGZvbnRTaXplOiBzaXplLFxuICBsaW5lSGVpZ2h0OiAxLFxuICBtYXJnaW5SaWdodDogc2l6ZSxcbiAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gIC4uLih1bnN0eWxlZFxuICAgID8ge31cbiAgICA6IHtcbiAgICAgICAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICAgICAgICBwYWRkaW5nOiBiYXNlVW5pdCAqIDIsXG4gICAgICB9KSxcbn0pO1xuXG5pbnRlcmZhY2UgTG9hZGluZ0RvdFByb3BzIHtcbiAgZGVsYXk6IG51bWJlcjtcbiAgb2Zmc2V0OiBib29sZWFuO1xufVxuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogTG9hZGluZ0RvdFByb3BzKSA9PiAoXG4gIDxzcGFuXG4gICAgY3NzPXt7XG4gICAgICBhbmltYXRpb246IGAke2xvYWRpbmdEb3RBbmltYXRpb25zfSAxcyBlYXNlLWluLW91dCAke2RlbGF5fW1zIGluZmluaXRlO2AsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdjdXJyZW50Q29sb3InLFxuICAgICAgYm9yZGVyUmFkaXVzOiAnMWVtJyxcbiAgICAgIGRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLFxuICAgICAgbWFyZ2luTGVmdDogb2Zmc2V0ID8gJzFlbScgOiB1bmRlZmluZWQsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGluZ0luZGljYXRvclByb3BzPFxuICBPcHRpb24gPSB1bmtub3duLFxuICBJc011bHRpIGV4dGVuZHMgYm9vbGVhbiA9IGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj4gPSBHcm91cEJhc2U8T3B0aW9uPlxuPiBleHRlbmRzIENvbW1vblByb3BzQW5kQ2xhc3NOYW1lPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+IHtcbiAgLyoqIFByb3BzIHRoYXQgd2lsbCBiZSBwYXNzZWQgb24gdG8gdGhlIGNoaWxkcmVuLiAqL1xuICBpbm5lclByb3BzOiBKU1guSW50cmluc2ljRWxlbWVudHNbJ2RpdiddO1xuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuO1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICAvKiogU2V0IHNpemUgb2YgdGhlIGNvbnRhaW5lci4gKi9cbiAgc2l6ZTogbnVtYmVyO1xufVxuZXhwb3J0IGNvbnN0IExvYWRpbmdJbmRpY2F0b3IgPSA8XG4gIE9wdGlvbixcbiAgSXNNdWx0aSBleHRlbmRzIGJvb2xlYW4sXG4gIEdyb3VwIGV4dGVuZHMgR3JvdXBCYXNlPE9wdGlvbj5cbj4oe1xuICBpbm5lclByb3BzLFxuICBpc1J0bCxcbiAgc2l6ZSA9IDQsXG4gIC4uLnJlc3RQcm9wc1xufTogTG9hZGluZ0luZGljYXRvclByb3BzPE9wdGlvbiwgSXNNdWx0aSwgR3JvdXA+KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgey4uLmdldFN0eWxlUHJvcHMoXG4gICAgICAgIHsgLi4ucmVzdFByb3BzLCBpbm5lclByb3BzLCBpc1J0bCwgc2l6ZSB9LFxuICAgICAgICAnbG9hZGluZ0luZGljYXRvcicsXG4gICAgICAgIHtcbiAgICAgICAgICBpbmRpY2F0b3I6IHRydWUsXG4gICAgICAgICAgJ2xvYWRpbmctaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfVxuICAgICAgKX1cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgID5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXswfSBvZmZzZXQ9e2lzUnRsfSAvPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezE2MH0gb2Zmc2V0IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MzIwfSBvZmZzZXQ9eyFpc1J0bH0gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0= */")})},Fv=function(e){var t=e.innerProps,n=e.isRtl,o=e.size,r=void 0===o?4:o,i=Co(e,Mv);return Xb("div",bo({},Kb(mo(mo({},i),{},{innerProps:t,isRtl:n,size:r}),"loadingIndicator",{indicator:!0,"loading-indicator":!0}),t),Xb(kv,{delay:0,offset:n}),Xb(kv,{delay:160,offset:!0}),Xb(kv,{delay:320,offset:!n}))},Wv=function(e,t){var n=e.isDisabled,o=e.isFocused,r=e.theme,i=r.colors,a=r.borderRadius;return mo({label:"control",alignItems:"center",cursor:"default",display:"flex",flexWrap:"wrap",justifyContent:"space-between",minHeight:r.spacing.controlHeight,outline:"0 !important",position:"relative",transition:"all 100ms"},t?{}:{backgroundColor:n?i.neutral5:i.neutral0,borderColor:n?i.neutral10:o?i.primary:i.neutral20,borderRadius:a,borderStyle:"solid",borderWidth:1,boxShadow:o?"0 0 0 1px ".concat(i.primary):void 0,"&:hover":{borderColor:o?i.primary:i.neutral30}})},Xv=function(e){var t=e.children,n=e.isDisabled,o=e.isFocused,r=e.innerRef,i=e.innerProps,a=e.menuIsOpen;return Xb("div",bo({ref:r},Kb(e,"control",{control:!0,"control--is-disabled":n,"control--is-focused":o,"control--menu-is-open":a}),i,{"aria-disabled":n||void 0}),t)},zv=["data"],jv=function(e,t){var n=e.theme.spacing;return t?{}:{paddingBottom:2*n.baseUnit,paddingTop:2*n.baseUnit}},Yv=function(e){var t=e.children,n=e.cx,o=e.getStyles,r=e.getClassNames,i=e.Heading,a=e.headingProps,l=e.innerProps,s=e.label,c=e.theme,u=e.selectProps;return Xb("div",bo({},Kb(e,"group",{group:!0}),l),Xb(i,bo({},a,{selectProps:u,theme:c,getStyles:o,getClassNames:r,cx:n}),s),Xb("div",null,t))},Jv=function(e,t){var n=e.theme,o=n.colors,r=n.spacing;return mo({label:"group",cursor:"default",display:"block"},t?{}:{color:o.neutral40,fontSize:"75%",fontWeight:500,marginBottom:"0.25em",paddingLeft:3*r.baseUnit,paddingRight:3*r.baseUnit,textTransform:"uppercase"})},Uv=function(e){var t,n=Qb(e);return n.data,t=Co(n,zv),Xb("div",bo({},Kb(e,"groupHeading",{"group-heading":!0}),t))},Qv=Yv,Kv=["innerRef","isDisabled","isHidden","inputClassName"],qv=function(e,t){var n=e.isDisabled,o=e.value,r=e.theme,i=r.spacing,a=r.colors;return mo(mo({visibility:n?"hidden":"visible",transform:o?"translateZ(0)":""},ey),t?{}:{margin:i.baseUnit/2,paddingBottom:i.baseUnit/2,paddingTop:i.baseUnit/2,color:a.neutral80})},ey={flex:"1 1 auto",display:"inline-grid",gridArea:"1 / 1 / 2 / 3",gridTemplateColumns:"0 min-content","&:after":mo({content:'attr(data-value) " "',visibility:"hidden",whiteSpace:"pre"},$v={gridArea:"1 / 2",font:"inherit",minWidth:"2px",border:0,margin:0,outline:0,padding:0})},ty=function(e){return mo({label:"input",color:"inherit",background:0,opacity:e?0:1,width:"100%"},$v)},ny=function(e){var t=e.cx,n=e.value,o=Qb(e),r=o.innerRef,i=o.isDisabled,a=o.isHidden,l=o.inputClassName,s=Co(o,Kv);return Xb("div",bo({},Kb(e,"input",{"input-container":!0}),{"data-value":n||""}),Xb("input",bo({className:t({input:!0},l),ref:r,style:ty(a),disabled:i},s)))},oy=function(e,t){var n=e.theme,o=n.spacing,r=n.borderRadius,i=n.colors;return mo({label:"multiValue",display:"flex",minWidth:0},t?{}:{backgroundColor:i.neutral10,borderRadius:r/2,margin:o.baseUnit/2})},ry=function(e,t){var n=e.theme,o=n.borderRadius,r=n.colors,i=e.cropWithEllipsis;return mo({overflow:"hidden",textOverflow:i||void 0===i?"ellipsis":void 0,whiteSpace:"nowrap"},t?{}:{borderRadius:o/2,color:r.neutral80,fontSize:"85%",padding:3,paddingLeft:6})},iy=function(e,t){var n=e.theme,o=n.spacing,r=n.borderRadius,i=n.colors,a=e.isFocused;return mo({alignItems:"center",display:"flex"},t?{}:{borderRadius:r/2,backgroundColor:a?i.dangerLight:void 0,paddingLeft:o.baseUnit,paddingRight:o.baseUnit,":hover":{backgroundColor:i.dangerLight,color:i.danger}})},ly=function(e){var t=e.children,n=e.components,o=e.data,r=e.innerProps,i=e.isDisabled,a=e.removeProps,l=e.selectProps,s=n.Container,c=n.Label,u=n.Remove;return Xb(s,{data:o,innerProps:mo(mo({},Kb(e,"multiValue",{"multi-value":!0,"multi-value--is-disabled":i})),r),selectProps:l},Xb(c,{data:o,innerProps:mo({},Kb(e,"multiValueLabel",{"multi-value__label":!0})),selectProps:l},t),Xb(u,{data:o,innerProps:mo(mo({},Kb(e,"multiValueRemove",{"multi-value__remove":!0})),{},{"aria-label":"Remove ".concat(t||"option")},a),selectProps:l}))},sy=function(e,t){var n=e.isDisabled,o=e.isFocused,r=e.isSelected,i=e.theme,a=i.spacing,l=i.colors;return mo({label:"option",cursor:"default",display:"block",fontSize:"inherit",width:"100%",userSelect:"none",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)"},t?{}:{backgroundColor:r?l.primary:o?l.primary25:"transparent",color:n?l.neutral20:r?l.neutral0:"inherit",padding:"".concat(2*a.baseUnit,"px ").concat(3*a.baseUnit,"px"),":active":{backgroundColor:n?void 0:r?l.primary:l.primary50}})},cy=function(e,t){var n=e.theme,o=n.spacing,r=n.colors;return mo({label:"placeholder",gridArea:"1 / 1 / 2 / 3"},t?{}:{color:r.neutral50,marginLeft:o.baseUnit/2,marginRight:o.baseUnit/2})},uy=function(e,t){var n=e.isDisabled,o=e.theme,r=o.spacing,i=o.colors;return mo({label:"singleValue",gridArea:"1 / 1 / 2 / 3",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},t?{}:{color:n?i.neutral40:i.neutral80,marginLeft:r.baseUnit/2,marginRight:r.baseUnit/2})},dy={ClearIndicator:Gv,Control:Xv,DropdownIndicator:Lv,DownChevron:Sv,CrossIcon:Ov,Group:Qv,GroupHeading:Uv,IndicatorsContainer:Ev,IndicatorSeparator:Dv,Input:ny,LoadingIndicator:Fv,Menu:cv,MenuList:dv,MenuPortal:bv,LoadingMessage:hv,NoOptionsMessage:gv,MultiValue:ly,MultiValueContainer:ay=function(e){var t=e.children,n=e.innerProps;return Xb("div",n,t)},MultiValueLabel:ay,MultiValueRemove:function(e){var t=e.children,n=e.innerProps;return Xb("div",bo({role:"button"},n),t||Xb(Ov,{size:14}))},Option:function(e){var t=e.children,n=e.isDisabled,o=e.isFocused,r=e.isSelected,i=e.innerRef,a=e.innerProps;return Xb("div",bo({},Kb(e,"option",{option:!0,"option--is-disabled":n,"option--is-focused":o,"option--is-selected":r}),{ref:i,"aria-disabled":n},a),t)},Placeholder:function(e){var t=e.children,n=e.innerProps;return Xb("div",bo({},Kb(e,"placeholder",{placeholder:!0}),n),t)},SelectContainer:yv,SingleValue:function(e){var t=e.children,n=e.isDisabled,o=e.innerProps;return Xb("div",bo({},Kb(e,"singleValue",{"single-value":!0,"single-value--is-disabled":n}),o),t)},ValueContainer:Iv},py=function(e){return mo(mo({},dy),e.components)},my=Number.isNaN||function(e){return"number"==typeof e&&e!=e},fy="production"===process.env.NODE_ENV?{name:"7pg0cj-a11yText",styles:"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap"}:{name:"1f43avz-a11yText-A11yText",styles:"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;label:A11yText;",map:"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPSSIsImZpbGUiOiJBMTF5VGV4dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IEpTWCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcblxuLy8gQXNzaXN0aXZlIHRleHQgdG8gZGVzY3JpYmUgdmlzdWFsIGVsZW1lbnRzLiBIaWRkZW4gZm9yIHNpZ2h0ZWQgdXNlcnMuXG5jb25zdCBBMTF5VGV4dCA9IChwcm9wczogSlNYLkludHJpbnNpY0VsZW1lbnRzWydzcGFuJ10pID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAnYTExeVRleHQnLFxuICAgICAgekluZGV4OiA5OTk5LFxuICAgICAgYm9yZGVyOiAwLFxuICAgICAgY2xpcDogJ3JlY3QoMXB4LCAxcHgsIDFweCwgMXB4KScsXG4gICAgICBoZWlnaHQ6IDEsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgcGFkZGluZzogMCxcbiAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgIH19XG4gICAgey4uLnByb3BzfVxuICAvPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQTExeVRleHQ7XG4iXX0= */",toString:function(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}},gy=function(e){return Xb("span",bo({css:fy},e))},hy={guidance:function(e){var t=e.isSearchable,n=e.isMulti,o=e.tabSelectsValue,r=e.context,i=e.isInitialFocus;switch(r){case"menu":return"Use Up and Down to choose options, press Enter to select the currently focused option, press Escape to exit the menu".concat(o?", press Tab to select the option and exit the menu":"",".");case"input":return i?"".concat(e["aria-label"]||"Select"," is focused ").concat(t?",type to refine list":"",", press Down to open the menu, ").concat(n?" press left to focus selected values":""):"";case"value":return"Use left and right to toggle between focused values, press Backspace to remove the currently focused value";default:return""}},onChange:function(e){var t=e.action,n=e.label,o=void 0===n?"":n,r=e.labels,i=e.isDisabled;switch(t){case"deselect-option":case"pop-value":case"remove-value":return"option ".concat(o,", deselected.");case"clear":return"All selected options have been cleared.";case"initial-input-focus":return"option".concat(r.length>1?"s":""," ").concat(r.join(","),", selected.");case"select-option":return"option ".concat(o,i?" is disabled. Select another option.":", selected.");default:return""}},onFocus:function(e){var t,n,o=e.context,r=e.focused,i=e.options,a=e.label,l=void 0===a?"":a,s=e.selectValue,c=e.isDisabled,u=e.isSelected,d=e.isAppleDevice,p=function(e,t){return e&&e.length?"".concat(e.indexOf(t)+1," of ").concat(e.length):""};return"value"===o&&s?"value ".concat(l," focused, ").concat(p(s,r),"."):"menu"===o&&d?(t=c?" disabled":"",n="".concat(u?" selected":"").concat(t),"".concat(l).concat(n,", ").concat(p(i,r),".")):""},onFilter:function(e){var t=e.inputValue,n=e.resultsMessage;return"".concat(n).concat(t?" for search term "+t:"",".")}},Cy=function(e){var t=e.ariaSelection,n=e.focusedOption,o=e.focusedValue,r=e.focusableOptions,i=e.isFocused,a=e.selectValue,l=e.selectProps,s=e.id,c=e.isAppleDevice,u=l.ariaLiveMessages,d=l.getOptionLabel,p=l.inputValue,m=l.isMulti,f=l.isOptionDisabled,g=l.isSearchable,h=l.menuIsOpen,C=l.options,b=l.screenReaderStatus,v=l.tabSelectsValue,y=l.isLoading,w=l["aria-label"],I=l["aria-live"],x=O_((function(){return mo(mo({},hy),u||{})}),[u]),E=O_((function(){var e,n,o,r,i,l,s,c,u,p,m="";return t&&x.onChange&&(e=t.option,n=t.options,o=t.removedValue,r=t.removedValues,i=t.value,s=(l=o||e||function(e){return Array.isArray(e)?null:e}(i))?d(l):"",u=(c=n||r||void 0)?c.map(d):[],p=mo({isDisabled:l&&f(l,a),label:s,labels:u},t),m=x.onChange(p)),m}),[t,x,f,a,d]),_=O_((function(){var e,t="",i=n||o,l=!!(n&&a&&a.includes(n));return i&&x.onFocus&&(e={focused:i,label:d(i),isDisabled:f(i,a),isSelected:l,options:r,context:i===n?"menu":"value",selectValue:a,isAppleDevice:c},t=x.onFocus(e)),t}),[n,o,d,f,x,r,a,c]),A=O_((function(){var e,t="";return h&&C.length&&!y&&x.onFilter&&(e=b({count:r.length}),t=x.onFilter({inputValue:p,resultsMessage:e})),t}),[r,p,h,x,C,b,y]),M="initial-input-focus"===(null==t?void 0:t.action),R=O_((function(){var e,t="";return x.guidance&&(e=o?"value":h?"menu":"input",t=x.guidance({"aria-label":w,context:e,isDisabled:n&&f(n,a),isMulti:m,isSearchable:g,tabSelectsValue:v,isInitialFocus:M})),t}),[w,n,o,m,f,g,h,x,a,v,M]),V=Xb(N_,null,Xb("span",{id:"aria-selection"},E),Xb("span",{id:"aria-focused"},_),Xb("span",{id:"aria-results"},A),Xb("span",{id:"aria-guidance"},R));return Xb(N_,null,Xb(gy,{id:s},M&&V),Xb(gy,{"aria-live":I,"aria-atomic":"false","aria-relevant":"additions text",role:"log"},i&&!M&&V))},by=Cy,vy=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],yy=new RegExp("["+vy.map((function(e){return e.letters})).join("")+"]","g"),wy={},Iy=0;Iy<vy.length;Iy++)for(xy=vy[Iy],Ey=0;Ey<xy.letters.length;Ey++)wy[xy.letters[Ey]]=xy.base;_y=function(e){return e.replace(yy,(function(e){return wy[e]}))},Ay=function(e,t){function n(){var n,r,i=[];for(n=0;n<arguments.length;n++)i[n]=arguments[n];return o&&o.lastThis===this&&t(i,o.lastArgs)?o.lastResult:(r=e.apply(this,i),o={lastResult:r,lastArgs:i,lastThis:this},r)}void 0===t&&(t=vr);var o=null;return n.clear=function(){o=null},n}(_y),My=function(e){return e.replace(/^\s+|\s+$/g,"")},Ry=function(e){return"".concat(e.label," ").concat(e.value)},Vy=function(e){return function(t,n){var o,r,i,a,l,s,c,u;return!!t.data.__isNew__||(r=(o=mo({ignoreCase:!0,ignoreAccents:!0,stringify:Ry,trim:!0,matchFrom:"any"},e)).ignoreCase,i=o.ignoreAccents,a=o.stringify,l=o.trim,s=o.matchFrom,c=l?My(n):n,u=l?My(a(t)):a(t),r&&(c=c.toLowerCase(),u=u.toLowerCase()),i&&(c=Ay(c),u=_y(u)),"start"===s?u.substr(0,c.length)===c:u.indexOf(c)>-1)}},Oy=["innerRef"],Sy=function(e){e.cancelable&&e.preventDefault(),e.stopPropagation()},Py=["boxSizing","height","overflow","paddingRight","position"],Ny={boxSizing:"border-box",overflow:"hidden",position:"relative",height:"100%"},Ly=!("undefined"==typeof window||!window.document||!window.document.createElement),By=0,Gy={capture:!1,passive:!1},Zy=function(e){var t=e.target;return t.ownerDocument.activeElement&&t.ownerDocument.activeElement.blur()},Dy="production"===process.env.NODE_ENV?{name:"1kfdb0e",styles:"position:fixed;left:0;bottom:0;right:0;top:0"}:{name:"bp8cua-ScrollManager",styles:"position:fixed;left:0;bottom:0;right:0;top:0;label:ScrollManager;",map:"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbE1hbmFnZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9EVSIsImZpbGUiOiJTY3JvbGxNYW5hZ2VyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgRnJhZ21lbnQsIFJlYWN0RWxlbWVudCwgUmVmQ2FsbGJhY2ssIE1vdXNlRXZlbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlU2Nyb2xsQ2FwdHVyZSBmcm9tICcuL3VzZVNjcm9sbENhcHR1cmUnO1xuaW1wb3J0IHVzZVNjcm9sbExvY2sgZnJvbSAnLi91c2VTY3JvbGxMb2NrJztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgcmVhZG9ubHkgY2hpbGRyZW46IChyZWY6IFJlZkNhbGxiYWNrPEhUTUxFbGVtZW50PikgPT4gUmVhY3RFbGVtZW50O1xuICByZWFkb25seSBsb2NrRW5hYmxlZDogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY2FwdHVyZUVuYWJsZWQ6IGJvb2xlYW47XG4gIHJlYWRvbmx5IG9uQm90dG9tQXJyaXZlPzogKGV2ZW50OiBXaGVlbEV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDtcbiAgcmVhZG9ubHkgb25Cb3R0b21MZWF2ZT86IChldmVudDogV2hlZWxFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XG4gIHJlYWRvbmx5IG9uVG9wQXJyaXZlPzogKGV2ZW50OiBXaGVlbEV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDtcbiAgcmVhZG9ubHkgb25Ub3BMZWF2ZT86IChldmVudDogV2hlZWxFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XG59XG5cbmNvbnN0IGJsdXJTZWxlY3RJbnB1dCA9IChldmVudDogTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgY29uc3QgZWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgcmV0dXJuIChcbiAgICBlbGVtZW50Lm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJlxuICAgIChlbGVtZW50Lm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuYmx1cigpXG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTY3JvbGxNYW5hZ2VyKHtcbiAgY2hpbGRyZW4sXG4gIGxvY2tFbmFibGVkLFxuICBjYXB0dXJlRW5hYmxlZCA9IHRydWUsXG4gIG9uQm90dG9tQXJyaXZlLFxuICBvbkJvdHRvbUxlYXZlLFxuICBvblRvcEFycml2ZSxcbiAgb25Ub3BMZWF2ZSxcbn06IFByb3BzKSB7XG4gIGNvbnN0IHNldFNjcm9sbENhcHR1cmVUYXJnZXQgPSB1c2VTY3JvbGxDYXB0dXJlKHtcbiAgICBpc0VuYWJsZWQ6IGNhcHR1cmVFbmFibGVkLFxuICAgIG9uQm90dG9tQXJyaXZlLFxuICAgIG9uQm90dG9tTGVhdmUsXG4gICAgb25Ub3BBcnJpdmUsXG4gICAgb25Ub3BMZWF2ZSxcbiAgfSk7XG4gIGNvbnN0IHNldFNjcm9sbExvY2tUYXJnZXQgPSB1c2VTY3JvbGxMb2NrKHsgaXNFbmFibGVkOiBsb2NrRW5hYmxlZCB9KTtcblxuICBjb25zdCB0YXJnZXRSZWY6IFJlZkNhbGxiYWNrPEhUTUxFbGVtZW50PiA9IChlbGVtZW50KSA9PiB7XG4gICAgc2V0U2Nyb2xsQ2FwdHVyZVRhcmdldChlbGVtZW50KTtcbiAgICBzZXRTY3JvbGxMb2NrVGFyZ2V0KGVsZW1lbnQpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEZyYWdtZW50PlxuICAgICAge2xvY2tFbmFibGVkICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIG9uQ2xpY2s9e2JsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtjaGlsZHJlbih0YXJnZXRSZWYpfVxuICAgIDwvRnJhZ21lbnQ+XG4gICk7XG59XG4iXX0= */",toString:function(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}},Hy="production"===process.env.NODE_ENV?{name:"1a0ro4n-requiredInput",styles:"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%"}:{name:"5kkxb2-requiredInput-RequiredInput",styles:"label:requiredInput;opacity:0;pointer-events:none;position:absolute;bottom:0;left:0;right:0;width:100%;label:RequiredInput;",map:"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlcXVpcmVkSW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNJIiwiZmlsZSI6IlJlcXVpcmVkSW5wdXQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBGb2N1c0V2ZW50SGFuZGxlciwgRnVuY3Rpb25Db21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmNvbnN0IFJlcXVpcmVkSW5wdXQ6IEZ1bmN0aW9uQ29tcG9uZW50PHtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgb25Gb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD47XG59PiA9ICh7IG5hbWUsIG9uRm9jdXMgfSkgPT4gKFxuICA8aW5wdXRcbiAgICByZXF1aXJlZFxuICAgIG5hbWU9e25hbWV9XG4gICAgdGFiSW5kZXg9ey0xfVxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICBjc3M9e3tcbiAgICAgIGxhYmVsOiAncmVxdWlyZWRJbnB1dCcsXG4gICAgICBvcGFjaXR5OiAwLFxuICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBib3R0b206IDAsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IDAsXG4gICAgICB3aWR0aDogJzEwMCUnLFxuICAgIH19XG4gICAgLy8gUHJldmVudCBgU3dpdGNoaW5nIGZyb20gdW5jb250cm9sbGVkIHRvIGNvbnRyb2xsZWRgIGVycm9yXG4gICAgdmFsdWU9XCJcIlxuICAgIG9uQ2hhbmdlPXsoKSA9PiB7fX1cbiAgLz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IFJlcXVpcmVkSW5wdXQ7XG4iXX0= */",toString:function(){return"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."}},Ty=function(e){var t=e.name,n=e.onFocus;return Xb("input",{required:!0,name:t,tabIndex:-1,"aria-hidden":"true",onFocus:n,css:Hy,value:"",onChange:function(){}})},ky=Ty,Fy=function(e){return e.label},Wy=function(e){return e.label},Xy=function(e){return e.value},zy=function(e){return!!e.isDisabled},jy={clearIndicator:Bv,container:vv,control:Wv,dropdownIndicator:Nv,group:jv,groupHeading:Jv,indicatorsContainer:xv,indicatorSeparator:Zv,input:qv,loadingIndicator:Tv,loadingMessage:fv,menu:av,menuList:uv,menuPortal:Cv,multiValue:oy,multiValueLabel:ry,multiValueRemove:iy,noOptionsMessage:mv,option:sy,placeholder:cy,singleValue:uy,valueContainer:wv},Jy={borderRadius:4,colors:{primary:"#2684FF",primary75:"#4C9AFF",primary50:"#B2D4FF",primary25:"#DEEBFF",danger:"#DE350B",dangerLight:"#FFBDAD",neutral0:"hsl(0, 0%, 100%)",neutral5:"hsl(0, 0%, 95%)",neutral10:"hsl(0, 0%, 90%)",neutral20:"hsl(0, 0%, 80%)",neutral30:"hsl(0, 0%, 70%)",neutral40:"hsl(0, 0%, 60%)",neutral50:"hsl(0, 0%, 50%)",neutral60:"hsl(0, 0%, 40%)",neutral70:"hsl(0, 0%, 30%)",neutral80:"hsl(0, 0%, 20%)",neutral90:"hsl(0, 0%, 10%)"},spacing:{baseUnit:Yy=4,controlHeight:38,menuGutter:2*Yy}},Uy={"aria-live":"polite",backspaceRemovesValue:!0,blurInputOnSelect:gr(),captureMenuScroll:!gr(),classNames:{},closeMenuOnSelect:!0,closeMenuOnScroll:!1,components:{},controlShouldRenderValue:!0,escapeClearsValue:!1,filterOption:Vy(),formatGroupLabel:Fy,getOptionLabel:Wy,getOptionValue:Xy,isDisabled:!1,isLoading:!1,isMulti:!1,isRtl:!1,isSearchable:!0,isOptionDisabled:zy,loadingMessage:function(){return"Loading..."},maxMenuHeight:300,minMenuHeight:140,menuIsOpen:!1,menuPlacement:"bottom",menuPosition:"absolute",menuShouldBlockScroll:!1,menuShouldScrollIntoView:!function(){try{return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}catch(vR){return!1}}(),noOptionsMessage:function(){return"No options"},openMenuOnFocus:!1,openMenuOnClick:!0,options:[],pageSize:5,placeholder:"Select...",screenReaderStatus:function(e){var t=e.count;return"".concat(t," result").concat(1!==t?"s":""," available")},styles:{},tabIndex:0,tabSelectsValue:!0,unstyled:!1},Qy=function(e,t){var n,o=null===(n=e.find((function(e){return e.data===t})))||void 0===n?void 0:n.id;return o||null},Ky=function(e,t){return e.getOptionLabel(t)},qy=function(e,t){return e.getOptionValue(t)},$y=function(e){var t=e.hideSelectedOptions,n=e.isMulti;return void 0===t?n:t},ew=1,tw=function(){function e(n){var o,r,i,a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),(o=t.call(this,n)).state={ariaSelection:null,focusedOption:null,focusedOptionId:null,focusableOptionsWithIds:[],focusedValue:null,inputIsHidden:!1,isFocused:!1,selectValue:[],clearFocusValueOnUpdate:!1,prevWasFocused:!1,inputIsHiddenAfterUpdate:void 0,prevProps:void 0,instancePrefix:""},o.blockOptionHover=!1,o.isComposing=!1,o.commonProps=void 0,o.initialTouchX=0,o.initialTouchY=0,o.openAfterFocus=!1,o.scrollToFocusedOptionOnUpdate=!1,o.userIsDragging=void 0,o.isAppleDevice=Mr()||Rr(),o.controlRef=null,o.getControlRef=function(e){o.controlRef=e},o.focusedOptionRef=null,o.getFocusedOptionRef=function(e){o.focusedOptionRef=e},o.menuListRef=null,o.getMenuListRef=function(e){o.menuListRef=e},o.inputRef=null,o.getInputRef=function(e){o.inputRef=e},o.focus=o.focusInput,o.blur=o.blurInput,o.onChange=function(e,t){var n=o.props,r=n.onChange,i=n.name;t.name=i,o.ariaOnChange(e,t),r(e,t)},o.setValue=function(e,t,n){var r=o.props,i=r.closeMenuOnSelect,a=r.isMulti,l=r.inputValue;o.onInputChange("",{action:"set-value",prevInputValue:l}),i&&(o.setState({inputIsHiddenAfterUpdate:!a}),o.onMenuClose()),o.setState({clearFocusValueOnUpdate:!0}),o.onChange(e,{action:t,option:n})},o.selectOption=function(e){var t,n=o.props,r=n.blurInputOnSelect,i=n.isMulti,a=n.name,l=o.state.selectValue,s=i&&o.isOptionSelected(e,l),c=o.isOptionDisabled(e,l);if(s)t=o.getOptionValue(e),o.setValue(l.filter((function(e){return o.getOptionValue(e)!==t})),"deselect-option",e);else{if(c)return void o.ariaOnChange(e,{action:"select-option",option:e,name:a});i?o.setValue([].concat(Eo(l),[e]),"select-option",e):o.setValue(e,"select-option")}r&&o.blurInput()},o.removeValue=function(e){var t=o.props.isMulti,n=o.state.selectValue,r=o.getOptionValue(e),i=n.filter((function(e){return o.getOptionValue(e)!==r})),a=Cr(t,i,i[0]||null);o.onChange(a,{action:"remove-value",removedValue:e}),o.focusInput()},o.clearValue=function(){var e=o.state.selectValue;o.onChange(Cr(o.props.isMulti,[],null),{action:"clear",removedValues:e})},o.popValue=function(){var e=o.props.isMulti,t=o.state.selectValue,n=t[t.length-1],r=t.slice(0,t.length-1),i=Cr(e,r,r[0]||null);n&&o.onChange(i,{action:"pop-value",removedValue:n})},o.getFocusedOptionId=function(e){return Qy(o.state.focusableOptionsWithIds,e)},o.getFocusableOptionsWithIds=function(){return Pr(Or(o.props,o.state.selectValue),o.getElementId("option"))},o.getValue=function(){return o.state.selectValue},o.cx=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return cr.apply(void 0,[o.props.classNamePrefix].concat(t))},o.getOptionLabel=function(e){return Ky(o.props,e)},o.getOptionValue=function(e){return qy(o.props,e)},o.getStyles=function(e,t){var n,r=o.props.unstyled,i=jy[e](t,r);return i.boxSizing="border-box",(n=o.props.styles[e])?n(i,t):i},o.getClassNames=function(e,t){var n,r;return null===(n=(r=o.props.classNames)[e])||void 0===n?void 0:n.call(r,t)},o.getElementId=function(e){return"".concat(o.state.instancePrefix,"-").concat(e)},o.getComponents=function(){return py(o.props)},o.buildCategorizedOptions=function(){return Or(o.props,o.state.selectValue)},o.getCategorizedOptions=function(){return o.props.menuIsOpen?o.buildCategorizedOptions():[]},o.buildFocusableOptions=function(){return Sr(o.buildCategorizedOptions())},o.getFocusableOptions=function(){return o.props.menuIsOpen?o.buildFocusableOptions():[]},o.ariaOnChange=function(e,t){o.setState({ariaSelection:mo({value:e},t)})},o.onMenuMouseDown=function(e){0===e.button&&(e.stopPropagation(),e.preventDefault(),o.focusInput())},o.onMenuMouseMove=function(e){o.blockOptionHover=!1},o.onControlMouseDown=function(e){if(!e.defaultPrevented){var t=o.props.openMenuOnClick;o.state.isFocused?o.props.menuIsOpen?"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&o.onMenuClose():t&&o.openMenu("first"):(t&&(o.openAfterFocus=!0),o.focusInput()),"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&e.preventDefault()}},o.onDropdownIndicatorMouseDown=function(e){if(!(e&&"mousedown"===e.type&&0!==e.button||o.props.isDisabled)){var t=o.props,n=t.isMulti,r=t.menuIsOpen;o.focusInput(),r?(o.setState({inputIsHiddenAfterUpdate:!n}),o.onMenuClose()):o.openMenu("first"),e.preventDefault()}},o.onClearIndicatorMouseDown=function(e){e&&"mousedown"===e.type&&0!==e.button||(o.clearValue(),e.preventDefault(),o.openAfterFocus=!1,"touchend"===e.type?o.focusInput():setTimeout((function(){return o.focusInput()})))},o.onScroll=function(e){"boolean"==typeof o.props.closeMenuOnScroll?e.target instanceof HTMLElement&&ur(e.target)&&o.props.onMenuClose():"function"==typeof o.props.closeMenuOnScroll&&o.props.closeMenuOnScroll(e)&&o.props.onMenuClose()},o.onCompositionStart=function(){o.isComposing=!0},o.onCompositionEnd=function(){o.isComposing=!1},o.onTouchStart=function(e){var t=e.touches,n=t&&t.item(0);n&&(o.initialTouchX=n.clientX,o.initialTouchY=n.clientY,o.userIsDragging=!1)},o.onTouchMove=function(e){var t,n,r,i=e.touches,a=i&&i.item(0);a&&(t=Math.abs(a.clientX-o.initialTouchX),n=Math.abs(a.clientY-o.initialTouchY),r=5,o.userIsDragging=t>r||n>r)},o.onTouchEnd=function(e){o.userIsDragging||(o.controlRef&&!o.controlRef.contains(e.target)&&o.menuListRef&&!o.menuListRef.contains(e.target)&&o.blurInput(),o.initialTouchX=0,o.initialTouchY=0)},o.onControlTouchEnd=function(e){o.userIsDragging||o.onControlMouseDown(e)},o.onClearIndicatorTouchEnd=function(e){o.userIsDragging||o.onClearIndicatorMouseDown(e)},o.onDropdownIndicatorTouchEnd=function(e){o.userIsDragging||o.onDropdownIndicatorMouseDown(e)},o.handleInputChange=function(e){var t=o.props.inputValue,n=e.currentTarget.value;o.setState({inputIsHiddenAfterUpdate:!1}),o.onInputChange(n,{action:"input-change",prevInputValue:t}),o.props.menuIsOpen||o.onMenuOpen()},o.onInputFocus=function(e){o.props.onFocus&&o.props.onFocus(e),o.setState({inputIsHiddenAfterUpdate:!1,isFocused:!0}),(o.openAfterFocus||o.props.openMenuOnFocus)&&o.openMenu("first"),o.openAfterFocus=!1},o.onInputBlur=function(e){var t=o.props.inputValue;o.menuListRef&&o.menuListRef.contains(document.activeElement)?o.inputRef.focus():(o.props.onBlur&&o.props.onBlur(e),o.onInputChange("",{action:"input-blur",prevInputValue:t}),o.onMenuClose(),o.setState({focusedValue:null,isFocused:!1}))},o.onOptionHover=function(e){var t;o.blockOptionHover||o.state.focusedOption===e||(t=o.getFocusableOptions().indexOf(e),o.setState({focusedOption:e,focusedOptionId:t>-1?o.getFocusedOptionId(e):null}))},o.shouldHideSelectedOptions=function(){return $y(o.props)},o.onValueInputFocus=function(e){e.preventDefault(),e.stopPropagation(),o.focus()},o.onKeyDown=function(e){var t=o.props,n=t.isMulti,r=t.backspaceRemovesValue,i=t.escapeClearsValue,a=t.inputValue,l=t.isClearable,s=t.isDisabled,c=t.menuIsOpen,u=t.onKeyDown,d=t.tabSelectsValue,p=t.openMenuOnFocus,m=o.state,f=m.focusedOption,g=m.focusedValue,h=m.selectValue;if(!(s||"function"==typeof u&&(u(e),e.defaultPrevented))){switch(o.blockOptionHover=!0,e.key){case"ArrowLeft":if(!n||a)return;o.focusValue("previous");break;case"ArrowRight":if(!n||a)return;o.focusValue("next");break;case"Delete":case"Backspace":if(a)return;if(g)o.removeValue(g);else{if(!r)return;n?o.popValue():l&&o.clearValue()}break;case"Tab":if(o.isComposing)return;if(e.shiftKey||!c||!d||!f||p&&o.isOptionSelected(f,h))return;o.selectOption(f);break;case"Enter":if(229===e.keyCode)break;if(c){if(!f)return;if(o.isComposing)return;o.selectOption(f);break}return;case"Escape":c?(o.setState({inputIsHiddenAfterUpdate:!1}),o.onInputChange("",{action:"menu-close",prevInputValue:a}),o.onMenuClose()):l&&i&&o.clearValue();break;case" ":if(a)return;if(!c){o.openMenu("first");break}if(!f)return;o.selectOption(f);break;case"ArrowUp":c?o.focusOption("up"):o.openMenu("last");break;case"ArrowDown":c?o.focusOption("down"):o.openMenu("first");break;case"PageUp":if(!c)return;o.focusOption("pageup");break;case"PageDown":if(!c)return;o.focusOption("pagedown");break;case"Home":if(!c)return;o.focusOption("first");break;case"End":if(!c)return;o.focusOption("last");break;default:return}e.preventDefault()}},o.state.instancePrefix="react-select-"+(o.props.instanceId||++ew),o.state.selectValue=Ub(n.value),n.menuIsOpen&&o.state.selectValue.length&&(r=o.getFocusableOptionsWithIds(),a=(i=o.buildFocusableOptions()).indexOf(o.state.selectValue[0]),o.state.focusableOptionsWithIds=r,o.state.focusedOption=i[a],o.state.focusedOptionId=Qy(r,i[a])),o}!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&&yo(e,t)}(e,P_);var t=function(e){var t=Io();return function(){var n,o,r=wo(e);return t?(o=wo(this).constructor,n=Reflect.construct(r,arguments,o)):n=r.apply(this,arguments),xo(this,n)}}(e);return function(e,t,n){t&&vo(e.prototype,t),n&&vo(e,n),Object.defineProperty(e,"prototype",{writable:!1})}(e,[{key:"componentDidMount",value:function(){this.startListeningComposition(),this.startListeningToTouch(),this.props.closeMenuOnScroll&&document&&document.addEventListener&&document.addEventListener("scroll",this.onScroll,!0),this.props.autoFocus&&this.focusInput(),this.props.menuIsOpen&&this.state.focusedOption&&this.menuListRef&&this.focusedOptionRef&&fr(this.menuListRef,this.focusedOptionRef)}},{key:"componentDidUpdate",value:function(e){var t=this.props,n=t.isDisabled,o=t.menuIsOpen,r=this.state.isFocused;(r&&!n&&e.isDisabled||r&&o&&!e.menuIsOpen)&&this.focusInput(),r&&n&&!e.isDisabled?this.setState({isFocused:!1},this.onMenuClose):r||n||!e.isDisabled||this.inputRef!==document.activeElement||this.setState({isFocused:!0}),this.menuListRef&&this.focusedOptionRef&&this.scrollToFocusedOptionOnUpdate&&(fr(this.menuListRef,this.focusedOptionRef),this.scrollToFocusedOptionOnUpdate=!1)}},{key:"componentWillUnmount",value:function(){this.stopListeningComposition(),this.stopListeningToTouch(),document.removeEventListener("scroll",this.onScroll,!0)}},{key:"onMenuOpen",value:function(){this.props.onMenuOpen()}},{key:"onMenuClose",value:function(){this.onInputChange("",{action:"menu-close",prevInputValue:this.props.inputValue}),this.props.onMenuClose()}},{key:"onInputChange",value:function(e,t){this.props.onInputChange(e,t)}},{key:"focusInput",value:function(){this.inputRef&&this.inputRef.focus()}},{key:"blurInput",value:function(){this.inputRef&&this.inputRef.blur()}},{key:"openMenu",value:function(e){var t,n=this,o=this.state,r=o.selectValue,i=o.isFocused,a=this.buildFocusableOptions(),l="first"===e?0:a.length-1;this.props.isMulti||(t=a.indexOf(r[0]))>-1&&(l=t),this.scrollToFocusedOptionOnUpdate=!(i&&this.menuListRef),this.setState({inputIsHiddenAfterUpdate:!1,focusedValue:null,focusedOption:a[l],focusedOptionId:this.getFocusedOptionId(a[l])},(function(){return n.onMenuOpen()}))}},{key:"focusValue",value:function(e){var t,n,o,r=this.state,i=r.selectValue,a=r.focusedValue;if(this.props.isMulti&&(this.setState({focusedOption:null}),t=i.indexOf(a),a||(t=-1),n=i.length-1,o=-1,i.length)){switch(e){case"previous":o=0===t?0:-1===t?n:t-1;break;case"next":t>-1&&t<n&&(o=t+1)}this.setState({inputIsHidden:-1!==o,focusedValue:i[o]})}}},{key:"focusOption",value:function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"first",o=this.props.pageSize,r=this.state.focusedOption,i=this.getFocusableOptions();i.length&&(e=0,t=i.indexOf(r),r||(t=-1),"up"===n?e=t>0?t-1:i.length-1:"down"===n?e=(t+1)%i.length:"pageup"===n?(e=t-o)<0&&(e=0):"pagedown"===n?(e=t+o)>i.length-1&&(e=i.length-1):"last"===n&&(e=i.length-1),this.scrollToFocusedOptionOnUpdate=!0,this.setState({focusedOption:i[e],focusedValue:null,focusedOptionId:this.getFocusedOptionId(i[e])}))}},{key:"getTheme",value:function(){return this.props.theme?"function"==typeof this.props.theme?this.props.theme(Jy):mo(mo({},Jy),this.props.theme):Jy}},{key:"getCommonProps",value:function(){var e=this.clearValue,t=this.cx,n=this.getStyles,o=this.getClassNames,r=this.getValue,i=this.selectOption,a=this.setValue,l=this.props,s=l.isMulti,c=l.isRtl,u=l.options,d=this.hasValue();return{clearValue:e,cx:t,getStyles:n,getClassNames:o,getValue:r,hasValue:d,isMulti:s,isRtl:c,options:u,selectOption:i,selectProps:l,setValue:a,theme:this.getTheme()}}},{key:"hasValue",value:function(){return this.state.selectValue.length>0}},{key:"hasOptions",value:function(){return!!this.getFocusableOptions().length}},{key:"isClearable",value:function(){var e=this.props,t=e.isClearable,n=e.isMulti;return void 0===t?n:t}},{key:"isOptionDisabled",value:function(e,t){return Lr(this.props,e,t)}},{key:"isOptionSelected",value:function(e,t){return Br(this.props,e,t)}},{key:"filterOption",value:function(e,t){return Gr(this.props,e,t)}},{key:"formatOptionLabel",value:function(e,t){var n,o;return"function"==typeof this.props.formatOptionLabel?(n=this.props.inputValue,o=this.state.selectValue,this.props.formatOptionLabel(e,{context:t,inputValue:n,selectValue:o})):this.getOptionLabel(e)}},{key:"formatGroupLabel",value:function(e){return this.props.formatGroupLabel(e)}},{key:"startListeningComposition",value:function(){document&&document.addEventListener&&(document.addEventListener("compositionstart",this.onCompositionStart,!1),document.addEventListener("compositionend",this.onCompositionEnd,!1))}},{key:"stopListeningComposition",value:function(){document&&document.removeEventListener&&(document.removeEventListener("compositionstart",this.onCompositionStart),document.removeEventListener("compositionend",this.onCompositionEnd))}},{key:"startListeningToTouch",value:function(){document&&document.addEventListener&&(document.addEventListener("touchstart",this.onTouchStart,!1),document.addEventListener("touchmove",this.onTouchMove,!1),document.addEventListener("touchend",this.onTouchEnd,!1))}},{key:"stopListeningToTouch",value:function(){document&&document.removeEventListener&&(document.removeEventListener("touchstart",this.onTouchStart),document.removeEventListener("touchmove",this.onTouchMove),document.removeEventListener("touchend",this.onTouchEnd))}},{key:"renderInput",value:function(){var e=this.props,t=e.isDisabled,n=e.isSearchable,o=e.inputId,r=e.inputValue,i=e.tabIndex,a=e.form,l=e.menuIsOpen,s=e.required,c=this.getComponents(),u=c.Input,d=this.state,p=d.inputIsHidden,m=d.ariaSelection,f=this.commonProps,g=o||this.getElementId("input"),h=mo(mo(mo({"aria-autocomplete":"list","aria-expanded":l,"aria-haspopup":!0,"aria-errormessage":this.props["aria-errormessage"],"aria-invalid":this.props["aria-invalid"],"aria-label":this.props["aria-label"],"aria-labelledby":this.props["aria-labelledby"],"aria-required":s,role:"combobox","aria-activedescendant":this.isAppleDevice?void 0:this.state.focusedOptionId||""},l&&{"aria-controls":this.getElementId("listbox")}),!n&&{"aria-readonly":!0}),this.hasValue()?"initial-input-focus"===(null==m?void 0:m.action)&&{"aria-describedby":this.getElementId("live-region")}:{"aria-describedby":this.getElementId("placeholder")});return n?y_.createElement(u,bo({},f,{autoCapitalize:"none",autoComplete:"off",autoCorrect:"off",id:g,innerRef:this.getInputRef,isDisabled:t,isHidden:p,onBlur:this.onInputBlur,onChange:this.handleInputChange,onFocus:this.onInputFocus,spellCheck:"false",tabIndex:i,form:a,type:"text",value:r},h)):y_.createElement(yr,bo({id:g,innerRef:this.getInputRef,onBlur:this.onInputBlur,onChange:Jb,onFocus:this.onInputFocus,disabled:t,tabIndex:i,inputMode:"none",form:a,value:""},h))}},{key:"renderPlaceholderOrValue",value:function(){var e,t=this,n=this.getComponents(),o=n.MultiValue,r=n.MultiValueContainer,i=n.MultiValueLabel,a=n.MultiValueRemove,l=n.SingleValue,s=n.Placeholder,c=this.commonProps,u=this.props,d=u.controlShouldRenderValue,p=u.isDisabled,m=u.isMulti,f=u.inputValue,g=u.placeholder,h=this.state,C=h.selectValue,b=h.focusedValue,v=h.isFocused;return this.hasValue()&&d?m?C.map((function(e,n){var l=e===b,s="".concat(t.getOptionLabel(e),"-").concat(t.getOptionValue(e));return y_.createElement(o,bo({},c,{components:{Container:r,Label:i,Remove:a},isFocused:l,isDisabled:p,key:s,index:n,removeProps:{onClick:function(){return t.removeValue(e)},onTouchEnd:function(){return t.removeValue(e)},onMouseDown:function(e){e.preventDefault()}},data:e}),t.formatOptionLabel(e,"value"))})):f?null:(e=C[0],y_.createElement(l,bo({},c,{data:e,isDisabled:p}),this.formatOptionLabel(e,"value"))):f?null:y_.createElement(s,bo({},c,{key:"placeholder",isDisabled:p,isFocused:v,innerProps:{id:this.getElementId("placeholder")}}),g)}},{key:"renderClearIndicator",value:function(){var e,t=this.getComponents(),n=t.ClearIndicator,o=this.commonProps,r=this.props,i=r.isDisabled,a=r.isLoading,l=this.state.isFocused;return this.isClearable()&&n&&!i&&this.hasValue()&&!a?(e={onMouseDown:this.onClearIndicatorMouseDown,onTouchEnd:this.onClearIndicatorTouchEnd,"aria-hidden":"true"},y_.createElement(n,bo({},o,{innerProps:e,isFocused:l}))):null}},{key:"renderLoadingIndicator",value:function(){var e,t=this.getComponents(),n=t.LoadingIndicator,o=this.commonProps,r=this.props,i=r.isDisabled,a=r.isLoading,l=this.state.isFocused;return n&&a?(e={"aria-hidden":"true"},y_.createElement(n,bo({},o,{innerProps:e,isDisabled:i,isFocused:l}))):null}},{key:"renderIndicatorSeparator",value:function(){var e,t,n,o=this.getComponents(),r=o.DropdownIndicator,i=o.IndicatorSeparator;return r&&i?(e=this.commonProps,t=this.props.isDisabled,n=this.state.isFocused,y_.createElement(i,bo({},e,{isDisabled:t,isFocused:n}))):null}},{key:"renderDropdownIndicator",value:function(){var e,t,n,o,r=this.getComponents(),i=r.DropdownIndicator;return i?(e=this.commonProps,t=this.props.isDisabled,n=this.state.isFocused,o={onMouseDown:this.onDropdownIndicatorMouseDown,onTouchEnd:this.onDropdownIndicatorTouchEnd,"aria-hidden":"true"},y_.createElement(i,bo({},e,{innerProps:o,isDisabled:t,isFocused:n}))):null}},{key:"renderMenu",value:function(){var e,t,n,o,r,i,a=this,l=this.getComponents(),s=l.Group,c=l.GroupHeading,u=l.Menu,d=l.MenuList,p=l.MenuPortal,m=l.LoadingMessage,f=l.NoOptionsMessage,g=l.Option,h=this.commonProps,C=this.state.focusedOption,b=this.props,v=b.captureMenuScroll,y=b.inputValue,w=b.isLoading,I=b.loadingMessage,x=b.minMenuHeight,E=b.maxMenuHeight,_=b.menuIsOpen,A=b.menuPlacement,M=b.menuPosition,R=b.menuPortalTarget,V=b.menuShouldBlockScroll,O=b.menuShouldScrollIntoView,S=b.noOptionsMessage,P=b.onMenuScrollToTop,N=b.onMenuScrollToBottom;if(!_)return null;if(e=function(e,t){var n=e.type,o=e.data,r=e.isDisabled,i=e.isSelected,l=e.label,s=e.value,c=C===o,u=r?void 0:function(){return a.onOptionHover(o)},d=r?void 0:function(){return a.selectOption(o)},p="".concat(a.getElementId("option"),"-").concat(t),m={id:p,onClick:d,onMouseMove:u,onMouseOver:u,tabIndex:-1,role:"option","aria-selected":a.isAppleDevice?void 0:i};return y_.createElement(g,bo({},h,{innerProps:m,data:o,isDisabled:r,isSelected:i,key:p,label:l,type:n,value:s,isFocused:c,innerRef:c?a.getFocusedOptionRef:void 0}),a.formatOptionLabel(e.data,"menu"))},this.hasOptions())t=this.getCategorizedOptions().map((function(t){var n,o,r,i,l;return"group"===t.type?(n=t.data,o=t.options,r=t.index,i="".concat(a.getElementId("group"),"-").concat(r),l="".concat(i,"-heading"),y_.createElement(s,bo({},h,{key:i,data:n,options:o,Heading:c,headingProps:{id:l,data:t.data},label:a.formatGroupLabel(t.data)}),t.options.map((function(t){return e(t,"".concat(r,"-").concat(t.index))})))):"option"===t.type?e(t,"".concat(t.index)):void 0}));else if(w){if(null===(n=I({inputValue:y})))return null;t=y_.createElement(m,h,n)}else{if(null===(o=S({inputValue:y})))return null;t=y_.createElement(f,h,o)}return r={minMenuHeight:x,maxMenuHeight:E,menuPlacement:A,menuPosition:M,menuShouldScrollIntoView:O},i=y_.createElement(sv,bo({},h,r),(function(e){var n=e.ref,o=e.placerProps,i=o.placement,l=o.maxHeight;return y_.createElement(u,bo({},h,r,{innerRef:n,innerProps:{onMouseDown:a.onMenuMouseDown,onMouseMove:a.onMenuMouseMove},isLoading:w,placement:i}),y_.createElement(_r,{captureEnabled:v,onTopArrive:P,onBottomArrive:N,lockEnabled:V},(function(e){return y_.createElement(d,bo({},h,{innerRef:function(t){a.getMenuListRef(t),e(t)},innerProps:{role:"listbox","aria-multiselectable":h.isMulti,id:a.getElementId("listbox")},isLoading:w,maxHeight:l,focusedOption:C}),t)})))})),R||"fixed"===M?y_.createElement(p,bo({},h,{appendTo:R,controlElement:this.controlRef,menuPlacement:A,menuPosition:M}),i):i}},{key:"renderFormField",value:function(){var e,t,n,o=this,r=this.props,i=r.delimiter,a=r.isDisabled,l=r.isMulti,s=r.name,c=r.required,u=this.state.selectValue;return!c||this.hasValue()||a?s&&!a?l?i?(e=u.map((function(e){return o.getOptionValue(e)})).join(i),y_.createElement("input",{name:s,type:"hidden",value:e})):(t=u.length>0?u.map((function(e,t){return y_.createElement("input",{key:"i-".concat(t),name:s,type:"hidden",value:o.getOptionValue(e)})})):y_.createElement("input",{name:s,type:"hidden",value:""}),y_.createElement("div",null,t)):(n=u[0]?this.getOptionValue(u[0]):"",y_.createElement("input",{name:s,type:"hidden",value:n})):void 0:y_.createElement(ky,{name:s,onFocus:this.onValueInputFocus})}},{key:"renderLiveRegion",value:function(){var e=this.commonProps,t=this.state,n=t.ariaSelection,o=t.focusedOption,r=t.focusedValue,i=t.isFocused,a=t.selectValue,l=this.getFocusableOptions();return y_.createElement(by,bo({},e,{id:this.getElementId("live-region"),ariaSelection:n,focusedOption:o,focusedValue:r,isFocused:i,selectValue:a,focusableOptions:l,isAppleDevice:this.isAppleDevice}))}},{key:"render",value:function(){var e=this.getComponents(),t=e.Control,n=e.IndicatorsContainer,o=e.SelectContainer,r=e.ValueContainer,i=this.props,a=i.className,l=i.id,s=i.isDisabled,c=i.menuIsOpen,u=this.state.isFocused,d=this.commonProps=this.getCommonProps();return y_.createElement(o,bo({},d,{className:a,innerProps:{id:l,onKeyDown:this.onKeyDown},isDisabled:s,isFocused:u}),this.renderLiveRegion(),y_.createElement(t,bo({},d,{innerRef:this.getControlRef,innerProps:{onMouseDown:this.onControlMouseDown,onTouchEnd:this.onControlTouchEnd},isDisabled:s,isFocused:u,menuIsOpen:c}),y_.createElement(r,bo({},d,{isDisabled:s}),this.renderPlaceholderOrValue(),this.renderInput()),y_.createElement(n,bo({},d,{isDisabled:s}),this.renderClearIndicator(),this.renderLoadingIndicator(),this.renderIndicatorSeparator(),this.renderDropdownIndicator())),this.renderMenu(),this.renderFormField())}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n,o,r,i,a,l,s,c=t.prevProps,u=t.clearFocusValueOnUpdate,d=t.inputIsHiddenAfterUpdate,p=t.ariaSelection,m=t.isFocused,f=t.prevWasFocused,g=t.instancePrefix,h=e.options,C=e.value,b=e.menuIsOpen,v=e.inputValue,y=e.isMulti,w=Ub(C),I={};return!c||C===c.value&&h===c.options&&b===c.menuIsOpen&&v===c.inputValue||(n=b?function(e,t){return Sr(Or(e,t))}(e,w):[],o=b?Pr(Or(e,w),"".concat(g,"-option")):[],r=u?function(e,t){var n=e.focusedValue,o=e.selectValue,r=o.indexOf(n);if(r>-1){if(t.indexOf(n)>-1)return n;if(r<t.length)return t[r]}return null}(t,w):null,i=function(e,t){var n=e.focusedOption;return n&&t.indexOf(n)>-1?n:t[0]}(t,n),I={selectValue:w,focusedOption:i,focusedOptionId:Qy(o,i),focusableOptionsWithIds:o,focusedValue:r,clearFocusValueOnUpdate:!1}),a=null!=d&&e!==c?{inputIsHidden:d,inputIsHiddenAfterUpdate:void 0}:{},l=p,s=m&&f,m&&!s&&(l={value:Cr(y,w,w[0]||null),options:w,action:"initial-input-focus"},s=!f),"initial-input-focus"===(null==p?void 0:p.action)&&(l=null),mo(mo(mo({},I),a),{},{prevProps:e,ariaSelection:l,prevWasFocused:s})}}]),e}(),tw.defaultProps=Uy,nw=x_((function(e,t){var n=function(e){var t=e.defaultInputValue,n=void 0===t?"":t,o=e.defaultMenuIsOpen,r=void 0!==o&&o,i=e.defaultValue,a=void 0===i?null:i,l=e.inputValue,s=e.menuIsOpen,c=e.onChange,u=e.onInputChange,d=e.onMenuClose,p=e.onMenuOpen,m=e.value,f=Co(e,TC),g=ho(I_(void 0!==l?l:n),2),h=g[0],C=g[1],b=ho(I_(void 0!==s?s:r),2),v=b[0],y=b[1],w=ho(I_(void 0!==m?m:a),2),I=w[0],x=w[1],E=A_((function(e,t){"function"==typeof c&&c(e,t),x(e)}),[c]),_=A_((function(e,t){var n;"function"==typeof u&&(n=u(e,t)),C(void 0!==n?n:e)}),[u]),A=A_((function(){"function"==typeof p&&p(),y(!0)}),[p]),M=A_((function(){"function"==typeof d&&d(),y(!1)}),[d]),R=void 0!==l?l:h,V=void 0!==s?s:v,O=void 0!==m?m:I;return mo(mo({},f),{},{inputValue:R,menuIsOpen:V,onChange:E,onInputChange:_,onMenuClose:M,onMenuOpen:A,value:O})}(e);return y_.createElement(tw,bo({ref:t},n))})),ow=nw,rw="MultiSelect-modules_menuPortal__ul6k7",iw="MultiSelect-modules_container__Mn9VS",aw="MultiSelect-modules_menu__W5T89",lw="MultiSelect-modules_menuList__xbYKy",sw="MultiSelect-modules_option__K81Xh",cw="MultiSelect-modules_optionFocused__wx-Me",uw="MultiSelect-modules_optionSelected__WQUPs",dw="MultiSelect-modules_optionDisabled__5vZh1",pw="MultiSelect-modules_input__HhsgF",mw="MultiSelect-modules_control__8x7-K",fw="MultiSelect-modules_controlIsFocused__82GDX",gw="MultiSelect-modules_isDisabled__OstVw",hw="MultiSelect-modules_placeholder__DbrLc",Cw="MultiSelect-modules_multiValue__PO-ik",bw="MultiSelect-modules_indicator__tnLxc",vw="MultiSelect-modules_indicatorIsDisabled__e6zXU",yw="MultiSelect-modules_controlIsOpened__x9-TZ",ww="MultiSelect-modules_multiValueIsDisabled__nPxAv",Iw="MultiSelect-modules_multiValueLabel__kDgH6",xw="MultiSelect-modules_multiValueLabelIsDisabled__jgqo0",Ew="MultiSelect-modules_multiValueRemove__c6VU-",_w="MultiSelect-modules_multiValueRemoveIsDisabled__Dc-gy",Aw="MultiSelect-modules_valueContainer__KLcgg",Mw="MultiSelect-modules_singleValue__7-x1w",Rw="MultiSelect-modules_noOptionMessage__1T9-0",Vw="MultiSelect-modules_errorMessage__crhXM",Ow="MultiSelect-modules_wrapper__NZzex",Sw="MultiSelect-modules_label__q8Ey7",Pw="MultiSelect-modules_optional__3QTxE";const wR=e=>w_.createElement(dy.IndicatorsContainer,{...e,className:si("demio-ui-multiselect-indicator",bw,{"demio-ui-multiselect-indicator-disabled":e.isDisabled,[vw]:e.isDisabled})},e.children||w_.createElement(Is,{className:si("demio-ui-multiselect-indicator-icon")})),IR=e=>w_.createElement(dy.MultiValueRemove,{...e},w_.createElement(Xl,{className:si("demio-ui-multiselect-multi-value-remove-icon")})),xR=()=>w_.createElement("p",{className:si("demio-ui-multiselect-empty-options",Rw)},"No results found."),ER=E_(x_(((e,t)=>{const{className:n="",classNamePrefix:o="",errorMessage:r="",errorMessageClass:i="",isMulti:a=!0,isVisibleOptional:l=!1,label:s="",onChange:c=null,portalTarget:u=document.body,value:d=""}=e,[p,m]=I_("");return M_((()=>{m(d)}),[d]),w_.createElement("div",{className:si("demio-ui-multiselect-wrapper",Ow)},w_.createElement(ow,{...e,className:si("demio-ui-multiselect",iw,n),classNamePrefix:o,classNames:{control:e=>si("demio-ui-multiselect-control",mw,{"demio-ui-multiselect-control-focused":e.isFocused,[fw]:e.isFocused,"demio-ui-multiselect-control-menu-is-open":e.menuIsOpen,[yw]:e.menuIsOpen,"demio-ui-multiselect-control-is-disabled":e.isDisabled,[gw]:e.isDisabled}),input:e=>si("demio-ui-multiselect-input",pw,{"demio-ui-multiselect-input-is-multi":e.isMulti}),menu:()=>si("demio-ui-multiselect-menu",aw),menuList:()=>si("demio-ui-multiselect-menu-list",lw),menuPortal:()=>si("demio-ui-multiselect-menu-portal",rw),multiValue:e=>si("demio-ui-multiselect-multi-value",Cw,{"demio-ui-multiselect-multi-value-focused":e.isFocused,"demio-ui-multiselect-multi-value-is-multi":e.isMulti,"demio-ui-multiselect-multi-value-disabled":e.isDisabled,[ww]:e.isDisabled}),multiValueLabel:e=>si("demio-ui-multiselect-multi-value-label",Iw,{"demio-ui-multiselect-multi-value-label-disabled":e.isDisabled,[xw]:e.isDisabled}),multiValueRemove:e=>si("demio-ui-multiselect-multi-value-remove",Ew,{"demio-ui-multiselect-multi-value-remove-disabled":e.isDisabled,[_w]:e.isDisabled}),option:e=>si("demio-ui-multiselect-option",sw,{"demio-ui-multiselect-option-selected":e.isSelected,[uw]:e.isSelected,"demio-ui-multiselect-option-focused":e.isFocused,[cw]:e.isFocused,"demio-ui-multiselect-option-disabled":e.isDisabled,[dw]:e.isDisabled}),placeholder:e=>si("demio-ui-multiselect-placeholder",hw,{"demio-ui-multiselect-placeholder-focused":e.isFocused,"demio-ui-multiselect-placeholder-is-multi":e.isMulti}),singleValue:()=>si("demio-ui-multiselect-single-value",Mw),valueContainer:()=>si("demio-ui-multiselect-value-container",Aw)},components:{IndicatorSeparator:null,DropdownIndicator:wR,MultiValueRemove:IR,NoOptionsMessage:xR},isMulti:a,menuPortalTarget:u,onChange:e=>{m(e),c&&c(e)},ref:t,styles:{multiValue:(e,t)=>({...e,pointerEvents:t.selectProps.isDisabled?"none":"auto"})},value:p}),s&&w_.createElement("div",{className:si("demio-ui-multiselect-label",Sw)},s),l&&w_.createElement("div",{className:si("demio-ui-multiselect-optional",Pw)},"Optional"),!!r&&w_.createElement(Nt,{className:si("demio-ui-multiselect-error",Vw,i),type:"error"},r))})));Nw="Note-modules_note__6dcyr",Lw="Note-modules_error__sG0TM",Bw="Note-modules_info__4-D0C",Gw="Note-modules_icon__P-p8I",Zw="Note-modules_blue__uKo5V";const _R={info:ed,error:Gu},AR=E_((e=>{const{className:t="",classNameIcon:n="",text:o="",type:r="error"}=e,i=o.trim().length>0,a="info"===r,l=_R[r];return i&&w_.createElement("div",{className:si("demio-ui-note",Nw,{[Lw]:!a,[Bw]:a},t),"data-testid":"note",role:a?"status":"alert"},w_.createElement(l,{className:si("demio-ui-note-icon",Gw,{[Zw]:a},n),"data-testid":`note-icon-${r}`}),o)}));Dw="Pagination-modules_container__KyJ0Q",Hw="Pagination-modules_button__wRk2o",Tw="Pagination-modules_selected__ZgeXX",kw="Pagination-modules_rotated__k03AZ",Fw="Pagination-modules_disabled__NU2ZU";const MR=E_((e=>{const{className:t="",currentPage:n=1,isDisabled:o=!1,onChange:r,pageSize:i=10,total:a}=e,[l,s]=I_(n),c=Math.ceil(a/i),u=l<=1,d=l>=c,p=a>i,m=l-1,f=l-2,g=l+1,h=l+2,C=A_((e=>Math.min(Math.max(e,1),c)),[c]),b=e=>{if(e===l)return;const t=C(e);s(t),r&&r(t)};return M_((()=>{s(C(n))}),[n,C]),p&&w_.createElement("div",{"aria-label":"Pagination Navigation",className:si("demio-ui-pagination",Dw,t,{"demio-ui-pagination-disabled":o,[Fw]:o}),role:"navigation"},w_.createElement(sA,{"aria-label":"Go to first page",className:si("demio-ui-pagination-first",Hw),disabled:u,onClick:()=>b(1)},w_.createElement(Ss,null)),w_.createElement(sA,{"aria-label":"Go to previous page",className:si("demio-ui-pagination-previous",Hw),disabled:u,onClick:()=>b(m)},w_.createElement(Ns,null)),d&&f>=1&&w_.createElement(sA,{"aria-label":`Go to page ${f}`,className:si("demio-ui-pagination-previous-previous",Hw),onClick:()=>b(f)},f),!u&&w_.createElement(sA,{"aria-label":`Go to page ${m}`,className:si("demio-ui-pagination-previous-page",Hw),onClick:()=>b(m)},m),w_.createElement(sA,{"aria-label":`Selected page ${l}`,className:si("demio-ui-pagination-selected",Hw,Tw),onClick:()=>b(l)},l),!d&&w_.createElement(sA,{"aria-label":`Go to page ${g}`,className:si("demio-ui-pagination-next-page",Hw),onClick:()=>b(g)},g),u&&h<=c&&w_.createElement(sA,{"aria-label":`Go to page ${h}`,className:si("demio-ui-pagination-next-next",Hw),onClick:()=>b(h)},h),w_.createElement(sA,{"aria-label":"Go to next page",className:si("demio-ui-pagination-next",Hw,kw),disabled:d,onClick:()=>b(g)},w_.createElement(Ns,null)),w_.createElement(sA,{"aria-label":"Go to last page",className:si("demio-ui-pagination-last",Hw,kw),disabled:d,onClick:()=>b(c)},w_.createElement(Ss,null)))}));Ww="Popover";var[RR,VR]=t(Ww,[_M]);Xw=_M();var[OR,SR]=RR(Ww);(zw=e=>{const{__scopePopover:t,children:n,open:o,defaultOpen:r,onOpenChange:i,modal:a=!1}=e,s=Xw(t),u=y_.useRef(null),[d,p]=y_.useState(!1),[m=!1,f]=c({prop:o,defaultProp:r,onChange:i});return B_(vg,{...s,children:B_(OR,{scope:t,contentId:l(),triggerRef:u,open:m,onOpenChange:f,onOpenToggle:y_.useCallback((()=>f((e=>!e))),[f]),hasCustomAnchor:d,onCustomAnchorAdd:y_.useCallback((()=>p(!0)),[]),onCustomAnchorRemove:y_.useCallback((()=>p(!1)),[]),modal:a,children:n})})}).displayName=Ww,jw="PopoverAnchor",y_.forwardRef(((e,t)=>{const{__scopePopover:n,...o}=e,r=SR(jw,n),i=Xw(n),{onCustomAnchorAdd:a,onCustomAnchorRemove:l}=r;return y_.useEffect((()=>(a(),()=>l())),[a,l]),B_(yg,{...i,...o,ref:t})})).displayName=jw,Yw="PopoverTrigger",(Jw=y_.forwardRef(((e,t)=>{const{__scopePopover:n,...o}=e,r=SR(Yw,n),l=Xw(n),s=i(t,r.triggerRef),c=B_(gi.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":Zr(r.open),...o,ref:s,onClick:a(e.onClick,r.onOpenToggle)});return r.hasCustomAnchor?c:B_(yg,{asChild:!0,...l,children:c})}))).displayName=Yw,Uw="PopoverPortal";var[PR,NR]=RR(Uw,{forceMount:void 0});(Qw=e=>{const{__scopePopover:t,forceMount:n,children:o,container:r}=e,i=SR(Uw,t);return B_(PR,{scope:t,forceMount:n,children:B_(Ni,{present:n||i.open,children:B_(Pi,{asChild:!0,container:r,children:o})})})}).displayName=Uw,Kw="PopoverContent",(qw=y_.forwardRef(((e,t)=>{const n=NR(Kw,e.__scopePopover),{forceMount:o=n.forceMount,...r}=e,i=SR(Kw,e.__scopePopover);return B_(Ni,{present:o||i.open,children:i.modal?B_($w,{...r,ref:t}):B_(eI,{...r,ref:t})})}))).displayName=Kw,$w=y_.forwardRef(((e,t)=>{const n=SR(Kw,e.__scopePopover),o=y_.useRef(null),r=i(t,o),l=y_.useRef(!1);return y_.useEffect((()=>{const e=o.current;if(e)return Da(e)}),[]),B_(Va,{as:pi,allowPinchZoom:!0,children:B_(tI,{...e,ref:r,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:a(e.onCloseAutoFocus,(e=>{e.preventDefault(),l.current||n.triggerRef.current?.focus()})),onPointerDownOutside:a(e.onPointerDownOutside,(e=>{const t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey,o=2===t.button||n;l.current=o}),{checkForDefaultPrevented:!1}),onFocusOutside:a(e.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1})})})})),eI=y_.forwardRef(((e,t)=>{const n=SR(Kw,e.__scopePopover),o=y_.useRef(!1),r=y_.useRef(!1);return B_(tI,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||n.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"===t.detail.originalEvent.type&&(r.current=!0));const i=t.target,a=n.triggerRef.current?.contains(i);a&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&r.current&&t.preventDefault()}})})),tI=y_.forwardRef(((e,t)=>{const{__scopePopover:n,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:i,disableOutsidePointerEvents:a,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:c,onInteractOutside:u,...d}=e,p=SR(Kw,n),m=Xw(n);return w(),B_(Vi,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:i,children:B_(Ii,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:u,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:c,onDismiss:()=>p.onOpenChange(!1),children:B_(wg,{"data-state":Zr(p.open),role:"dialog",id:p.contentId,...m,...d,ref:t,style:{...d.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)"}})})})})),nI="PopoverClose",y_.forwardRef(((e,t)=>{const{__scopePopover:n,...o}=e,r=SR(nI,n);return B_(gi.button,{type:"button",...o,ref:t,onClick:a(e.onClick,(()=>r.onOpenChange(!1)))})})).displayName=nI,oI="PopoverArrow",(rI=y_.forwardRef(((e,t)=>{const{__scopePopover:n,...o}=e,r=Xw(n);return B_(Ig,{...r,...o,ref:t})}))).displayName=oI,iI=zw,aI=Jw,lI=Qw,sI=qw,cI=rI,uI="Popover-modules_popoverContent__EQXkn",dI="Popover-modules_popoverTrigger__vCIUa",pI="Popover-modules_arrow__x1Xqe";const LR=({children:e="",content:t="",contentClassName:n="",triggerClassName:o="",container:r=document.body,contentProps:i={},open:a,onOpenChange:l,showArrow:s=!1,asChild:c=!1})=>t?w_.createElement(iI,{open:a,onOpenChange:e=>{l&&"function"==typeof l&&l(e)}},w_.createElement(aI,{asChild:c,className:si("demio-ui-popover-trigger",{[dI]:!0,[o]:!!o})},e),w_.createElement(lI,{container:r},w_.createElement(sI,{...i,className:si("demio-ui-popover-content",uI,{[n]:!!n})},s&&w_.createElement(cI,{className:pI}),t))):e;mI="Progress",fI=100;var[BR,GR]=t(mI),[ZR,DR]=BR(mI);gI=y_.forwardRef(((e,t)=>{const{__scopeProgress:n,value:o=null,max:r,getValueLabel:i=Dr,...a}=e;!r&&0!==r||kr(r)||console.error(`Invalid prop \`max\` of value \`${`${r}`}\` supplied to \`${"Progress"}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${fI}\`.`);const l=kr(r)?r:fI;null===o||Fr(o,l)||console.error(function(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:\n - a positive number\n - less than the value passed to \`max\` (or ${fI} if no \`max\` prop is set)\n - \`null\` or \`undefined\` if the progress is indeterminate.\n\nDefaulting to \`null\`.`}(`${o}`,"Progress"));const s=Fr(o,l)?o:null,c=Tr(s)?i(s,l):void 0;return B_(ZR,{scope:n,value:s,max:l,children:B_(gi.div,{"aria-valuemax":l,"aria-valuemin":0,"aria-valuenow":Tr(s)?s:void 0,"aria-valuetext":c,role:"progressbar","data-state":Hr(s,l),"data-value":s??void 0,"data-max":l,...a,ref:t})})})),gI.displayName=mI,hI="ProgressIndicator",(CI=y_.forwardRef(((e,t)=>{const{__scopeProgress:n,...o}=e,r=DR(hI,n);return B_(gi.div,{"data-state":Hr(r.value,r.max),"data-value":r.value??void 0,"data-max":r.max,...o,ref:t})}))).displayName=hI,bI=gI,vI=CI,yI="Progress-modules_root__E0rHH",wI="Progress-modules_indicator__qpwRi",II="Radio";var[HR,TR]=t(II),[kR,FR]=HR(II);xI=y_.forwardRef(((e,t)=>{const{__scopeRadio:n,name:o,checked:r=!1,required:l,disabled:s,value:c="on",onCheck:u,form:d,...p}=e,[m,f]=y_.useState(null),g=i(t,(e=>f(e))),h=y_.useRef(!1),C=!m||(d||!!m.closest("form"));return Z_(kR,{scope:n,checked:r,disabled:s,children:[B_(gi.button,{type:"button",role:"radio","aria-checked":r,"data-state":Xr(r),"data-disabled":s?"":void 0,disabled:s,value:c,...p,ref:g,onClick:a(e.onClick,(e=>{r||u?.(),C&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())}))}),C&&B_(AI,{control:m,bubbles:!h.current,name:o,value:c,checked:r,required:l,disabled:s,form:d,style:{transform:"translateX(-100%)"}})]})})),xI.displayName=II,EI="RadioIndicator",(_I=y_.forwardRef(((e,t)=>{const{__scopeRadio:n,forceMount:o,...r}=e,i=FR(EI,n);return B_(Ni,{present:o||i.checked,children:B_(gi.span,{"data-state":Xr(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:t})})}))).displayName=EI,AI=e=>{const{control:t,checked:n,bubbles:o=!0,...r}=e,i=y_.useRef(null),a=Rt(n),l=Vt(t);return y_.useEffect((()=>{const e=i.current,t=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(t,"checked").set;if(a!==n&&r){const t=new Event("click",{bubbles:o});r.call(e,n),e.dispatchEvent(t)}}),[a,n,o]),B_("input",{type:"radio","aria-hidden":!0,defaultChecked:n,...r,tabIndex:-1,ref:i,style:{...e.style,...l,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})},MI=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],RI="RadioGroup";var[WR,XR]=t(RI,[LM,TR]);VI=LM(),OI=TR();var[zR,jR]=WR(RI);(SI=y_.forwardRef(((e,t)=>{const{__scopeRadioGroup:n,name:o,defaultValue:r,value:i,required:a=!1,disabled:l=!1,orientation:s,dir:u,loop:d=!0,onValueChange:p,...m}=e,f=VI(n),g=Yt(u),[h,C]=c({prop:i,defaultProp:r,onChange:p});return B_(zR,{scope:n,name:o,required:a,disabled:l,value:h,onValueChange:C,children:B_(Sg,{asChild:!0,...f,orientation:s,dir:g,loop:d,children:B_(gi.div,{role:"radiogroup","aria-required":a,"aria-orientation":s,"data-disabled":l?"":void 0,dir:g,...m,ref:t})})})}))).displayName=RI,PI="RadioGroupItem",(NI=y_.forwardRef(((e,t)=>{const{__scopeRadioGroup:n,disabled:o,...r}=e,l=jR(PI,n),s=l.disabled||o,c=VI(n),u=OI(n),d=y_.useRef(null),p=i(t,d),m=l.value===r.value,f=y_.useRef(!1);return y_.useEffect((()=>{const e=e=>{MI.includes(e.key)&&(f.current=!0)},t=()=>f.current=!1;return document.addEventListener("keydown",e),document.addEventListener("keyup",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}}),[]),B_(Pg,{asChild:!0,...c,focusable:!s,active:m,children:B_(xI,{disabled:s,required:l.required,checked:m,...u,...r,name:l.name,ref:p,onCheck:()=>l.onValueChange(r.value),onKeyDown:a((e=>{"Enter"===e.key&&e.preventDefault()})),onFocus:a(r.onFocus,(()=>{f.current&&d.current?.click()}))})})}))).displayName=PI,LI="RadioGroupIndicator",(BI=y_.forwardRef(((e,t)=>{const{__scopeRadioGroup:n,...o}=e,r=OI(n);return B_(_I,{...r,...o,ref:t})}))).displayName=LI,GI=SI,ZI=NI,DI=BI,HI={root:"RadioGroup-modules_root__AbbNa",container:"RadioGroup-modules_container__yPAMg",indicator:"RadioGroup-modules_indicator__jEw97",item:"RadioGroup-modules_item__wuUmn",label:"RadioGroup-modules_label__ggYdY",footer:"RadioGroup-modules_footer__1Zp99",disabled:"RadioGroup-modules_disabled__H3T--"},TI="VisuallyHidden",(kI=y_.forwardRef(((e,t)=>B_(gi.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}})))).displayName=TI,FI=[" ","Enter","ArrowUp","ArrowDown"],WI=[" ","Enter"],XI="Select";var[YR,JR,UR]=Jt(XI),[QR,KR]=t(XI,[UR,_M]);zI=_M();var[qR,$R]=QR(XI),[eV,tV]=QR(XI);jI=e=>{const{__scopeSelect:t,children:n,open:o,defaultOpen:r,onOpenChange:i,value:a,defaultValue:s,onValueChange:u,dir:d,name:p,autoComplete:m,disabled:f,required:g,form:h}=e,C=zI(t),[b,v]=y_.useState(null),[y,w]=y_.useState(null),[I,x]=y_.useState(!1),E=Yt(d),[_=!1,A]=c({prop:o,defaultProp:r,onChange:i}),[M,R]=c({prop:a,defaultProp:s,onChange:u}),V=y_.useRef(null),O=!b||(h||!!b.closest("form")),[S,P]=y_.useState(new Set),N=Array.from(S).map((e=>e.props.value)).join(";");return B_(vg,{...C,children:Z_(qR,{required:g,scope:t,trigger:b,onTriggerChange:v,valueNode:y,onValueNodeChange:w,valueNodeHasChildren:I,onValueNodeHasChildrenChange:x,contentId:l(),value:M,onValueChange:R,open:_,onOpenChange:A,dir:E,triggerPointerDownPosRef:V,disabled:f,children:[B_(YR.Provider,{scope:t,children:B_(eV,{scope:e.__scopeSelect,onNativeOptionAdd:y_.useCallback((e=>{P((t=>new Set(t).add(e)))}),[]),onNativeOptionRemove:y_.useCallback((e=>{P((t=>{const n=new Set(t);return n.delete(e),n}))}),[]),children:n})}),O?Z_(xx,{"aria-hidden":!0,required:g,tabIndex:-1,name:p,autoComplete:m,value:M,onChange:e=>R(e.target.value),disabled:f,form:h,children:[void 0===M?B_("option",{value:""}):null,Array.from(S)]},N):null]})})},jI.displayName=XI,YI="SelectTrigger",(JI=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,disabled:o=!1,...r}=e,l=zI(n),s=$R(YI,n),c=s.disabled||o,u=i(t,s.onTriggerChange),d=JR(n),p=y_.useRef("touch"),[m,f,g]=Yr((e=>{const t=d().filter((e=>!e.disabled)),n=t.find((e=>e.value===s.value)),o=Jr(t,e,n);void 0!==o&&s.onValueChange(o.value)})),h=e=>{c||(s.onOpenChange(!0),g()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return B_(yg,{asChild:!0,...l,children:B_(gi.button,{type:"button",role:"combobox","aria-controls":s.contentId,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":"none",dir:s.dir,"data-state":s.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":jr(s.value)?"":void 0,...r,ref:u,onClick:a(r.onClick,(e=>{e.currentTarget.focus(),"mouse"!==p.current&&h(e)})),onPointerDown:a(r.onPointerDown,(e=>{p.current=e.pointerType;const t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(h(e),e.preventDefault())})),onKeyDown:a(r.onKeyDown,(e=>{const t=""!==m.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||f(e.key),t&&" "===e.key||FI.includes(e.key)&&(h(),e.preventDefault())}))})})}))).displayName=YI,UI="SelectValue",(QI=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,className:o,style:r,children:a,placeholder:l="",...s}=e,c=$R(UI,n),{onValueNodeHasChildrenChange:u}=c,d=void 0!==a,p=i(t,c.onValueNodeChange);return ci((()=>{u(d)}),[u,d]),B_(gi.span,{...s,ref:p,style:{pointerEvents:"none"},children:jr(c.value)?B_(G_,{children:l}):a})}))).displayName=UI,KI="SelectIcon",(qI=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,children:o,...r}=e;return B_(gi.span,{"aria-hidden":!0,...r,ref:t,children:o||"▼"})}))).displayName=KI,($I=e=>B_(Pi,{asChild:!0,...e})).displayName="SelectPortal",ex="SelectContent",(tx=y_.forwardRef(((e,t)=>{const n=$R(ex,e.__scopeSelect),[o,r]=y_.useState();if(ci((()=>{r(new DocumentFragment)}),[]),!n.open){const t=o;return t?D_.createPortal(B_(nV,{scope:e.__scopeSelect,children:B_(YR.Slot,{scope:e.__scopeSelect,children:B_("div",{children:e.children})})}),t):null}return B_(rx,{...e,ref:t})}))).displayName=ex,nx=10;var[nV,oV]=QR(ex);ox="SelectContentImpl",rx=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,position:o="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:l,onPointerDownOutside:s,side:c,sideOffset:u,align:d,alignOffset:p,arrowPadding:m,collisionBoundary:f,collisionPadding:g,sticky:h,hideWhenDetached:C,avoidCollisions:b,...v}=e,y=$R(ex,n),[I,x]=y_.useState(null),[E,_]=y_.useState(null),A=i(t,(e=>x(e))),[M,R]=y_.useState(null),[V,O]=y_.useState(null),S=JR(n),[P,N]=y_.useState(!1),L=y_.useRef(!1);y_.useEffect((()=>{if(I)return Da(I)}),[I]),w();const B=y_.useCallback((e=>{const[t,...n]=S().map((e=>e.ref.current)),[o]=n.slice(-1),r=document.activeElement;for(const i of e){if(i===r)return;if(i?.scrollIntoView({block:"nearest"}),i===t&&E&&(E.scrollTop=0),i===o&&E&&(E.scrollTop=E.scrollHeight),i?.focus(),document.activeElement!==r)return}}),[S,E]),G=y_.useCallback((()=>B([M,I])),[B,M,I]);y_.useEffect((()=>{P&&G()}),[P,G]);const{onOpenChange:Z,triggerPointerDownPosRef:D}=y;y_.useEffect((()=>{if(I){let e={x:0,y:0};const t=t=>{e={x:Math.abs(Math.round(t.pageX)-(D.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(D.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():I.contains(n.target)||Z(!1),document.removeEventListener("pointermove",t),D.current=null};return null!==D.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",n,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",n,{capture:!0})}}}),[I,Z,D]),y_.useEffect((()=>{const e=()=>Z(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}}),[Z]);const[H,T]=Yr((e=>{const t=S().filter((e=>!e.disabled)),n=t.find((e=>e.ref.current===document.activeElement)),o=Jr(t,e,n);o&&setTimeout((()=>o.ref.current.focus()))})),k=y_.useCallback(((e,t,n)=>{const o=!L.current&&!n;(void 0!==y.value&&y.value===t||o)&&(R(e),o&&(L.current=!0))}),[y.value]),F=y_.useCallback((()=>I?.focus()),[I]),W=y_.useCallback(((e,t,n)=>{const o=!L.current&&!n;(void 0!==y.value&&y.value===t||o)&&O(e)}),[y.value]),X="popper"===o?sx:ax,z=X===sx?{side:c,sideOffset:u,align:d,alignOffset:p,arrowPadding:m,collisionBoundary:f,collisionPadding:g,sticky:h,hideWhenDetached:C,avoidCollisions:b}:{};return B_(nV,{scope:n,content:I,viewport:E,onViewportChange:_,itemRefCallback:k,selectedItem:M,onItemLeave:F,itemTextRefCallback:W,focusSelectedItem:G,selectedItemText:V,position:o,isPositioned:P,searchRef:H,children:B_(Va,{as:pi,allowPinchZoom:!0,children:B_(Vi,{asChild:!0,trapped:y.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:a(r,(e=>{y.trigger?.focus({preventScroll:!0}),e.preventDefault()})),children:B_(Ii,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:l,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>y.onOpenChange(!1),children:B_(X,{role:"listbox",id:y.contentId,"data-state":y.open?"open":"closed",dir:y.dir,onContextMenu:e=>e.preventDefault(),...v,...z,onPlaced:()=>N(!0),ref:A,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:a(v.onKeyDown,(e=>{const t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||T(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=S().filter((e=>!e.disabled)).map((e=>e.ref.current));if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){const n=e.target,o=t.indexOf(n);t=t.slice(o+1)}setTimeout((()=>B(t))),e.preventDefault()}}))})})})})})})),rx.displayName=ox,ix="SelectItemAlignedPosition",ax=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,onPlaced:o,...r}=e,a=$R(ex,n),l=oV(ex,n),[s,c]=y_.useState(null),[u,d]=y_.useState(null),p=i(t,(e=>d(e))),m=JR(n),f=y_.useRef(!1),g=y_.useRef(!0),{viewport:h,selectedItem:C,selectedItemText:b,focusSelectedItem:v}=l,y=y_.useCallback((()=>{if(a.trigger&&a.valueNode&&s&&u&&h&&C&&b){const e=a.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),r=b.getBoundingClientRect();if("rtl"!==a.dir){const o=r.left-t.left,i=n.left-o,a=e.left-i,l=e.width+a,c=Math.max(l,t.width),u=window.innerWidth-nx,d=jt(i,[nx,Math.max(nx,u-c)]);s.style.minWidth=l+"px",s.style.left=d+"px"}else{const o=t.right-r.right,i=window.innerWidth-n.right-o,a=window.innerWidth-e.right-i,l=e.width+a,c=Math.max(l,t.width),u=window.innerWidth-nx,d=jt(i,[nx,Math.max(nx,u-c)]);s.style.minWidth=l+"px",s.style.right=d+"px"}const i=m(),l=window.innerHeight-2*nx,c=h.scrollHeight,d=window.getComputedStyle(u),p=parseInt(d.borderTopWidth,10),g=parseInt(d.paddingTop,10),v=parseInt(d.borderBottomWidth,10),y=p+g+c+parseInt(d.paddingBottom,10)+v,w=Math.min(5*C.offsetHeight,y),I=window.getComputedStyle(h),x=parseInt(I.paddingTop,10),E=parseInt(I.paddingBottom,10),_=e.top+e.height/2-nx,A=l-_,M=C.offsetHeight/2,R=p+g+(C.offsetTop+M),V=y-R;if(R<=_){const e=i.length>0&&C===i[i.length-1].ref.current;s.style.bottom="0px";const t=u.clientHeight-h.offsetTop-h.offsetHeight,n=R+Math.max(A,M+(e?E:0)+t+v);s.style.height=n+"px"}else{const e=i.length>0&&C===i[0].ref.current;s.style.top="0px";const t=Math.max(_,p+h.offsetTop+(e?x:0)+M)+V;s.style.height=t+"px",h.scrollTop=R-_+h.offsetTop}s.style.margin=`${nx}px 0`,s.style.minHeight=w+"px",s.style.maxHeight=l+"px",o?.(),requestAnimationFrame((()=>f.current=!0))}}),[m,a.trigger,a.valueNode,s,u,h,C,b,a.dir,o]);ci((()=>y()),[y]);const[w,I]=y_.useState();ci((()=>{u&&I(window.getComputedStyle(u).zIndex)}),[u]);const x=y_.useCallback((e=>{e&&!0===g.current&&(y(),v?.(),g.current=!1)}),[y,v]);return B_(rV,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:f,onScrollButtonChange:x,children:B_("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:w},children:B_(gi.div,{...r,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})})),ax.displayName=ix,lx="SelectPopperPosition",(sx=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,align:o="start",collisionPadding:r=nx,...i}=e,a=zI(n);return B_(wg,{...a,...i,ref:t,align:o,collisionPadding:r,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})}))).displayName=lx;var[rV,iV]=QR(ex,{});cx="SelectViewport",(ux=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,nonce:o,...r}=e,l=oV(cx,n),s=iV(cx,n),c=i(t,l.onViewportChange),u=y_.useRef(0);return Z_(G_,{children:[B_("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),B_(YR.Slot,{scope:n,children:B_(gi.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:a(r.onScroll,(e=>{const t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:o}=s;if(o?.current&&n){const e=Math.abs(u.current-t.scrollTop);if(e>0){const o=window.innerHeight-2*nx,r=parseFloat(n.style.minHeight),i=parseFloat(n.style.height),a=Math.max(r,i);if(a<o){const r=a+e,i=Math.min(o,r),l=r-i;n.style.height=i+"px","0px"===n.style.bottom&&(t.scrollTop=l>0?l:0,n.style.justifyContent="flex-end")}}}u.current=t.scrollTop}))})})]})}))).displayName=cx,dx="SelectGroup";var[aV,lV]=QR(dx);y_.forwardRef(((e,t)=>{const{__scopeSelect:n,...o}=e,r=l();return B_(aV,{scope:n,id:r,children:B_(gi.div,{role:"group","aria-labelledby":r,...o,ref:t})})})).displayName=dx,px="SelectLabel",y_.forwardRef(((e,t)=>{const{__scopeSelect:n,...o}=e,r=lV(px,n);return B_(gi.div,{id:r.id,...o,ref:t})})).displayName=px,mx="SelectItem";var[sV,cV]=QR(mx);fx=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,value:o,disabled:r=!1,textValue:s,...c}=e,u=$R(mx,n),d=oV(mx,n),p=u.value===o,[m,f]=y_.useState(s??""),[g,h]=y_.useState(!1),C=i(t,(e=>d.itemRefCallback?.(e,o,r))),b=l(),v=y_.useRef("touch"),y=()=>{r||(u.onValueChange(o),u.onOpenChange(!1))};if(""===o)throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return B_(sV,{scope:n,value:o,disabled:r,textId:b,isSelected:p,onItemTextChange:y_.useCallback((e=>{f((t=>t||(e?.textContent??"").trim()))}),[]),children:B_(YR.ItemSlot,{scope:n,value:o,disabled:r,textValue:m,children:B_(gi.div,{role:"option","aria-labelledby":b,"data-highlighted":g?"":void 0,"aria-selected":p&&g,"data-state":p?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...c,ref:C,onFocus:a(c.onFocus,(()=>h(!0))),onBlur:a(c.onBlur,(()=>h(!1))),onClick:a(c.onClick,(()=>{"mouse"!==v.current&&y()})),onPointerUp:a(c.onPointerUp,(()=>{"mouse"===v.current&&y()})),onPointerDown:a(c.onPointerDown,(e=>{v.current=e.pointerType})),onPointerMove:a(c.onPointerMove,(e=>{v.current=e.pointerType,r?d.onItemLeave?.():"mouse"===v.current&&e.currentTarget.focus({preventScroll:!0})})),onPointerLeave:a(c.onPointerLeave,(e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()})),onKeyDown:a(c.onKeyDown,(e=>{""!==d.searchRef?.current&&" "===e.key||(WI.includes(e.key)&&y()," "===e.key&&e.preventDefault())}))})})})})),fx.displayName=mx,gx="SelectItemText",hx=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,className:o,style:r,...a}=e,l=$R(gx,n),s=oV(gx,n),c=cV(gx,n),u=tV(gx,n),[d,p]=y_.useState(null),m=i(t,(e=>p(e)),c.onItemTextChange,(e=>s.itemTextRefCallback?.(e,c.value,c.disabled))),f=d?.textContent,g=y_.useMemo((()=>B_("option",{value:c.value,disabled:c.disabled,children:f},c.value)),[c.disabled,c.value,f]),{onNativeOptionAdd:h,onNativeOptionRemove:C}=u;return ci((()=>(h(g),()=>C(g))),[h,C,g]),Z_(G_,{children:[B_(gi.span,{id:c.textId,...a,ref:m}),c.isSelected&&l.valueNode&&!l.valueNodeHasChildren?D_.createPortal(a.children,l.valueNode):null]})})),hx.displayName=gx,Cx="SelectItemIndicator",y_.forwardRef(((e,t)=>{const{__scopeSelect:n,...o}=e;return cV(Cx,n).isSelected?B_(gi.span,{"aria-hidden":!0,...o,ref:t}):null})).displayName=Cx,bx="SelectScrollUpButton",y_.forwardRef(((e,t)=>{const n=oV(bx,e.__scopeSelect),o=iV(bx,e.__scopeSelect),[r,a]=y_.useState(!1),l=i(t,o.onScrollButtonChange);return ci((()=>{if(n.viewport&&n.isPositioned){let e=function(){const e=t.scrollTop>0;a(e)};const t=n.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}}),[n.viewport,n.isPositioned]),r?B_(yx,{...e,ref:l,onAutoScroll:()=>{const{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null})).displayName=bx,vx="SelectScrollDownButton",y_.forwardRef(((e,t)=>{const n=oV(vx,e.__scopeSelect),o=iV(vx,e.__scopeSelect),[r,a]=y_.useState(!1),l=i(t,o.onScrollButtonChange);return ci((()=>{if(n.viewport&&n.isPositioned){let e=function(){const e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)};const t=n.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}}),[n.viewport,n.isPositioned]),r?B_(yx,{...e,ref:l,onAutoScroll:()=>{const{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null})).displayName=vx,yx=y_.forwardRef(((e,t)=>{const{__scopeSelect:n,onAutoScroll:o,...r}=e,i=oV("SelectScrollButton",n),l=y_.useRef(null),s=JR(n),c=y_.useCallback((()=>{null!==l.current&&(window.clearInterval(l.current),l.current=null)}),[]);return y_.useEffect((()=>()=>c()),[c]),ci((()=>{const e=s().find((e=>e.ref.current===document.activeElement));e?.ref.current?.scrollIntoView({block:"nearest"})}),[s]),B_(gi.div,{"aria-hidden":!0,...r,ref:t,style:{flexShrink:0,...r.style},onPointerDown:a(r.onPointerDown,(()=>{null===l.current&&(l.current=window.setInterval(o,50))})),onPointerMove:a(r.onPointerMove,(()=>{i.onItemLeave?.(),null===l.current&&(l.current=window.setInterval(o,50))})),onPointerLeave:a(r.onPointerLeave,(()=>{c()}))})})),wx="SelectSeparator",y_.forwardRef(((e,t)=>{const{__scopeSelect:n,...o}=e;return B_(gi.div,{"aria-hidden":!0,...o,ref:t})})).displayName=wx,Ix="SelectArrow",y_.forwardRef(((e,t)=>{const{__scopeSelect:n,...o}=e,r=zI(n),i=$R(Ix,n),a=oV(Ix,n);return i.open&&"popper"===a.position?B_(Ig,{...r,...o,ref:t}):null})).displayName=Ix,(xx=y_.forwardRef(((e,t)=>{const{value:n,...o}=e,r=y_.useRef(null),a=i(t,r),l=Rt(n);return y_.useEffect((()=>{const e=r.current,t=window.HTMLSelectElement.prototype,o=Object.getOwnPropertyDescriptor(t,"value").set;if(l!==n&&o){const t=new Event("change",{bubbles:!0});o.call(e,n),e.dispatchEvent(t)}}),[l,n]),B_(kI,{asChild:!0,children:B_("select",{...o,ref:a,defaultValue:n})})}))).displayName="BubbleSelect",Ex=jI,_x=JI,Ax=QI,Mx=qI,Rx=$I,Vx=tx,Ox=ux,Sx=fx,Px=hx,Nx="Select-modules_trigger__dS9Dx",Lx="Select-modules_icon__sgRRc",Bx="Select-modules_startIcon__kohMV",Gx="Select-modules_value__h6Q4Z",Zx="Select-modules_content__YuAqS",Dx="Select-modules_item__cTAIm";const uV=w_.forwardRef((({children:e,cssClass:t="",sideOffset:n=4,position:o="popper",disabled:r=!1,value:i="",id:a,icon:l=null,placeholder:s="",portalContainer:c=document.body,contentClassName:u="",contentProps:d={},...p},m)=>w_.createElement(Ex,{value:i||void 0,disabled:r,...p},w_.createElement(_x,{id:a,ref:m,className:si(Nx,t,"demio-ui-select-trigger")},l&&w_.createElement("span",{className:si(Bx,"demio-ui-select-start-icon")},l),w_.createElement("span",{className:si(Gx,"demio-ui-select-value")},w_.createElement(Ax,{placeholder:i||s})),w_.createElement(Mx,{className:si(Lx,"demio-ui-select-icon")},w_.createElement(Is,null))),w_.createElement(Rx,{container:c},w_.createElement(Vx,{position:o,className:si("demio-ui-select-content",Zx,u),...d,sideOffset:n},w_.createElement(Ox,null,w_.createElement(Ox,null,e))))))),dV=w_.forwardRef((({children:e,className:t,disabled:n=!1,...o},r)=>w_.createElement(Sx,{...o,ref:r,className:si(Dx,"demio-ui-select-item",t),disabled:n},e))),pV=Px;Hx="Switch";var[mV,fV]=t(Hx),[gV,hV]=mV(Hx);Tx=y_.forwardRef(((e,t)=>{const{__scopeSwitch:n,name:o,checked:r,defaultChecked:l,required:s,disabled:u,value:d="on",onCheckedChange:p,form:m,...f}=e,[g,h]=y_.useState(null),C=i(t,(e=>h(e))),b=y_.useRef(!1),v=!g||(m||!!g.closest("form")),[y=!1,w]=c({prop:r,defaultProp:l,onChange:p});return Z_(gV,{scope:n,checked:y,disabled:u,children:[B_(gi.button,{type:"button",role:"switch","aria-checked":y,"aria-required":s,"data-state":Ur(y),"data-disabled":u?"":void 0,disabled:u,value:d,...f,ref:C,onClick:a(e.onClick,(e=>{w((e=>!e)),v&&(b.current=e.isPropagationStopped(),b.current||e.stopPropagation())}))}),v&&B_(Wx,{control:g,bubbles:!b.current,name:o,value:d,checked:y,required:s,disabled:u,form:m,style:{transform:"translateX(-100%)"}})]})})),Tx.displayName=Hx,kx="SwitchThumb",(Fx=y_.forwardRef(((e,t)=>{const{__scopeSwitch:n,...o}=e,r=hV(kx,n);return B_(gi.span,{"data-state":Ur(r.checked),"data-disabled":r.disabled?"":void 0,...o,ref:t})}))).displayName=kx,Wx=e=>{const{control:t,checked:n,bubbles:o=!0,...r}=e,i=y_.useRef(null),a=Rt(n),l=Vt(t);return y_.useEffect((()=>{const e=i.current,t=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(t,"checked").set;if(a!==n&&r){const t=new Event("click",{bubbles:o});r.call(e,n),e.dispatchEvent(t)}}),[a,n,o]),B_("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...r,tabIndex:-1,ref:i,style:{...e.style,...l,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})},Xx=Tx,zx=Fx,jx="Switch-modules_root__V5S6a",Yx="Switch-modules_thumb__PZ-lR",Jx="Tabs";var[CV,bV]=t(Jx,[LM]);Ux=LM();var[vV,yV]=CV(Jx);(Qx=y_.forwardRef(((e,t)=>{const{__scopeTabs:n,value:o,onValueChange:r,defaultValue:i,orientation:a="horizontal",dir:s,activationMode:u="automatic",...d}=e,p=Yt(s),[m,f]=c({prop:o,onChange:r,defaultProp:i});return B_(vV,{scope:n,baseId:l(),value:m,onValueChange:f,orientation:a,dir:p,activationMode:u,children:B_(gi.div,{dir:p,"data-orientation":a,...d,ref:t})})}))).displayName=Jx,Kx="TabsList",(qx=y_.forwardRef(((e,t)=>{const{__scopeTabs:n,loop:o=!0,...r}=e,i=yV(Kx,n),a=Ux(n);return B_(Sg,{asChild:!0,...a,orientation:i.orientation,dir:i.dir,loop:o,children:B_(gi.div,{role:"tablist","aria-orientation":i.orientation,...r,ref:t})})}))).displayName=Kx,$x="TabsTrigger",(eE=y_.forwardRef(((e,t)=>{const{__scopeTabs:n,value:o,disabled:r=!1,...i}=e,l=yV($x,n),s=Ux(n),c=Kr(l.baseId,o),u=qr(l.baseId,o),d=o===l.value;return B_(Pg,{asChild:!0,...s,focusable:!r,active:d,children:B_(gi.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":u,"data-state":d?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:c,...i,ref:t,onMouseDown:a(e.onMouseDown,(e=>{r||0!==e.button||!1!==e.ctrlKey?e.preventDefault():l.onValueChange(o)})),onKeyDown:a(e.onKeyDown,(e=>{[" ","Enter"].includes(e.key)&&l.onValueChange(o)})),onFocus:a(e.onFocus,(()=>{const e="manual"!==l.activationMode;d||r||!e||l.onValueChange(o)}))})})}))).displayName=$x,tE="TabsContent",(nE=y_.forwardRef(((e,t)=>{const{__scopeTabs:n,value:o,forceMount:r,children:i,...a}=e,l=yV(tE,n),s=Kr(l.baseId,o),c=qr(l.baseId,o),u=o===l.value,d=y_.useRef(u);return y_.useEffect((()=>{const e=requestAnimationFrame((()=>d.current=!1));return()=>cancelAnimationFrame(e)}),[]),B_(Ni,{present:r||u,children:({present:n})=>B_(gi.div,{"data-state":u?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":s,hidden:!n,id:c,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:d.current?"0s":void 0},children:n&&i})})}))).displayName=tE,oE=Qx,rE=qx,iE=eE,aE=nE,lE="Tabs-modules_root__TvYE1",sE="Tabs-modules_list__G3KVd",cE="Tabs-modules_tab__-FuG6",uE="Tabs-modules_content__X0OLh",dE="Tag-modules_default__A5rGa",pE="Tag-modules_deleteButton__HzjLp",mE="VisuallyHidden",(fE=y_.forwardRef(((e,t)=>B_(gi.span,{...e,ref:t,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...e.style}})))).displayName=mE,gE=fE;var[wV,IV]=t("Tooltip",[_M]);hE=_M(),CE="TooltipProvider",bE=700,vE="tooltip.open";var[xV,EV]=wV(CE);(yE=e=>{const{__scopeTooltip:t,delayDuration:n=bE,skipDelayDuration:o=300,disableHoverableContent:r=!1,children:i}=e,[a,l]=y_.useState(!0),s=y_.useRef(!1),c=y_.useRef(0);return y_.useEffect((()=>{const e=c.current;return()=>window.clearTimeout(e)}),[]),B_(xV,{scope:t,isOpenDelayed:a,delayDuration:n,onOpen:y_.useCallback((()=>{window.clearTimeout(c.current),l(!1)}),[]),onClose:y_.useCallback((()=>{window.clearTimeout(c.current),c.current=window.setTimeout((()=>l(!0)),o)}),[o]),isPointerInTransitRef:s,onPointerInTransitChange:y_.useCallback((e=>{s.current=e}),[]),disableHoverableContent:r,children:i})}).displayName=CE,wE="Tooltip";var[_V,AV]=wV(wE);(IE=e=>{const{__scopeTooltip:t,children:n,open:o,defaultOpen:r=!1,onOpenChange:i,disableHoverableContent:a,delayDuration:s}=e,u=EV(wE,e.__scopeTooltip),d=hE(t),[p,m]=y_.useState(null),f=l(),g=y_.useRef(0),h=a??u.disableHoverableContent,C=s??u.delayDuration,b=y_.useRef(!1),[v=!1,y]=c({prop:o,defaultProp:r,onChange:e=>{e?(u.onOpen(),document.dispatchEvent(new CustomEvent(vE))):u.onClose(),i?.(e)}}),w=y_.useMemo((()=>v?b.current?"delayed-open":"instant-open":"closed"),[v]),I=y_.useCallback((()=>{window.clearTimeout(g.current),g.current=0,b.current=!1,y(!0)}),[y]),x=y_.useCallback((()=>{window.clearTimeout(g.current),g.current=0,y(!1)}),[y]),E=y_.useCallback((()=>{window.clearTimeout(g.current),g.current=window.setTimeout((()=>{b.current=!0,y(!0),g.current=0}),C)}),[C,y]);return y_.useEffect((()=>()=>{g.current&&(window.clearTimeout(g.current),g.current=0)}),[]),B_(vg,{...d,children:B_(_V,{scope:t,contentId:f,open:v,stateAttribute:w,trigger:p,onTriggerChange:m,onTriggerEnter:y_.useCallback((()=>{u.isOpenDelayed?E():I()}),[u.isOpenDelayed,E,I]),onTriggerLeave:y_.useCallback((()=>{h?x():(window.clearTimeout(g.current),g.current=0)}),[x,h]),onOpen:I,onClose:x,disableHoverableContent:h,children:n})})}).displayName=wE,xE="TooltipTrigger",(EE=y_.forwardRef(((e,t)=>{const{__scopeTooltip:n,...o}=e,r=AV(xE,n),l=EV(xE,n),s=hE(n),c=i(t,y_.useRef(null),r.onTriggerChange),u=y_.useRef(!1),d=y_.useRef(!1),p=y_.useCallback((()=>u.current=!1),[]);return y_.useEffect((()=>()=>document.removeEventListener("pointerup",p)),[p]),B_(yg,{asChild:!0,...s,children:B_(gi.button,{"aria-describedby":r.open?r.contentId:void 0,"data-state":r.stateAttribute,...o,ref:c,onPointerMove:a(e.onPointerMove,(e=>{"touch"!==e.pointerType&&(d.current||l.isPointerInTransitRef.current||(r.onTriggerEnter(),d.current=!0))})),onPointerLeave:a(e.onPointerLeave,(()=>{r.onTriggerLeave(),d.current=!1})),onPointerDown:a(e.onPointerDown,(()=>{u.current=!0,document.addEventListener("pointerup",p,{once:!0})})),onFocus:a(e.onFocus,(()=>{u.current||r.onOpen()})),onBlur:a(e.onBlur,r.onClose),onClick:a(e.onClick,r.onClose)})})}))).displayName=xE,_E="TooltipPortal";var[MV,RV]=wV(_E,{forceMount:void 0});(AE=e=>{const{__scopeTooltip:t,forceMount:n,children:o,container:r}=e,i=AV(_E,t);return B_(MV,{scope:t,forceMount:n,children:B_(Ni,{present:n||i.open,children:B_(Pi,{asChild:!0,container:r,children:o})})})}).displayName=_E,ME="TooltipContent",RE=y_.forwardRef(((e,t)=>{const n=RV(ME,e.__scopeTooltip),{forceMount:o=n.forceMount,side:r="top",...i}=e,a=AV(ME,e.__scopeTooltip);return B_(Ni,{present:o||a.open,children:a.disableHoverableContent?B_(OE,{side:r,...i,ref:t}):B_(VE,{side:r,...i,ref:t})})})),VE=y_.forwardRef(((e,t)=>{const n=AV(ME,e.__scopeTooltip),o=EV(ME,e.__scopeTooltip),r=y_.useRef(null),a=i(t,r),[l,s]=y_.useState(null),{trigger:c,onClose:u}=n,d=r.current,{onPointerInTransitChange:p}=o,m=y_.useCallback((()=>{s(null),p(!1)}),[p]),f=y_.useCallback(((e,t)=>{const n=e.currentTarget,o={x:e.clientX,y:e.clientY},r=function(e,t,n=5){const o=[];switch(t){case"top":o.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case"bottom":o.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case"left":o.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case"right":o.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return o}(o,function(e,t){const n=Math.abs(t.top-e.y),o=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(n,o,r,i)){case i:return"left";case r:return"right";case n:return"top";case o:return"bottom";default:throw new Error("unreachable")}}(o,n.getBoundingClientRect())),i=function(e){const t=e.slice();return t.sort(((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0)),function(e){if(e.length<=1)return e.slice();const t=[];for(let o=0;o<e.length;o++){const n=e[o];for(;t.length>=2;){const e=t[t.length-1],o=t[t.length-2];if(!((e.x-o.x)*(n.y-o.y)>=(e.y-o.y)*(n.x-o.x)))break;t.pop()}t.push(n)}t.pop();const n=[];for(let o=e.length-1;o>=0;o--){const t=e[o];for(;n.length>=2;){const e=n[n.length-1],o=n[n.length-2];if(!((e.x-o.x)*(t.y-o.y)>=(e.y-o.y)*(t.x-o.x)))break;n.pop()}n.push(t)}return n.pop(),1===t.length&&1===n.length&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}(t)}([...r,...function(e){const{top:t,right:n,bottom:o,left:r}=e;return[{x:r,y:t},{x:n,y:t},{x:n,y:o},{x:r,y:o}]}(t.getBoundingClientRect())]);s(i),p(!0)}),[p]);return y_.useEffect((()=>()=>m()),[m]),y_.useEffect((()=>{if(c&&d){const e=e=>f(e,d),t=e=>f(e,c);return c.addEventListener("pointerleave",e),d.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),d.removeEventListener("pointerleave",t)}}}),[c,d,f,m]),y_.useEffect((()=>{if(l){const e=e=>{const t=e.target,n={x:e.clientX,y:e.clientY},o=c?.contains(t)||d?.contains(t),r=!function(e,t){const{x:n,y:o}=e;let r=!1;for(let i=0,a=t.length-1;i<t.length;a=i++){const e=t[i].x,l=t[i].y,s=t[a].x,c=t[a].y;l>o!=c>o&&n<(s-e)*(o-l)/(c-l)+e&&(r=!r)}return r}(n,l);o?m():r&&(m(),u())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}}),[c,d,l,u,m]),B_(OE,{...e,ref:a})}));var[VV,OV]=wV(wE,{isInside:!1});OE=y_.forwardRef(((e,t)=>{const{__scopeTooltip:n,children:o,"aria-label":r,onEscapeKeyDown:i,onPointerDownOutside:a,...l}=e,s=AV(ME,n),c=hE(n),{onClose:u}=s;return y_.useEffect((()=>(document.addEventListener(vE,u),()=>document.removeEventListener(vE,u))),[u]),y_.useEffect((()=>{if(s.trigger){const e=e=>{const t=e.target;t?.contains(s.trigger)&&u()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}}),[s.trigger,u]),B_(Ii,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:Z_(wg,{"data-state":s.stateAttribute,...c,...l,ref:t,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[B_(fi,{children:o}),B_(VV,{scope:n,isInside:!0,children:B_(gE,{id:s.contentId,role:"tooltip",children:r||o})})]})})})),RE.displayName=ME,SE="TooltipArrow",(PE=y_.forwardRef(((e,t)=>{const{__scopeTooltip:n,...o}=e,r=hE(n);return OV(SE,n).isInside?null:B_(Ig,{...r,...o,ref:t})}))).displayName=SE,NE=yE,LE=IE,BE=EE,GE=AE,ZE=RE,DE=PE,HE="Tooltip-modules_content__--tK0",TE="Tooltip-modules_tooltipTrigger__-SmeR",kE="Tooltip-modules_arrow__4vjj8",FE={default:"Typography-modules_default__JCzxD",headerFirst:"Typography-modules_headerFirst__NkO--",headerSecond:"Typography-modules_headerSecond__LEiQi",headerThird:"Typography-modules_headerThird__lSaFv",headerForth:"Typography-modules_headerForth__B5L3L",headerFifth:"Typography-modules_headerFifth__5LBdo",headerSixth:"Typography-modules_headerSixth__Bxy4-",bodyFirst:"Typography-modules_bodyFirst__iMtZC",bodySecond:"Typography-modules_bodySecond__bRjfb",bodyThird:"Typography-modules_bodyThird__SR8zo",semiBoldFirst:"Typography-modules_semiBoldFirst__IekIE",semiBoldSecond:"Typography-modules_semiBoldSecond__AaWKP",semiBoldThird:"Typography-modules_semiBoldThird__mmpEF",overLineFirst:"Typography-modules_overLineFirst__6-WmT",overLineSecond:"Typography-modules_overLineSecond__bRFIg",link:"Typography-modules_link__T8ZSo",left:"Typography-modules_left__toyKQ",center:"Typography-modules_center__LyrMT",right:"Typography-modules_right__s-R-0",inherit:"Typography-modules_inherit__yG6sp",regular:"Typography-modules_regular__nf3tw",bold:"Typography-modules_bold__kZqUJ",italic:"Typography-modules_italic__YadIq"};const SV={h1:"headerFirst",h2:"headerSecond",h3:"headerThird",h4:"headerForth",h5:"headerFifth",h6:"headerSixth",b1:"bodyFirst",b2:"bodySecond",b3:"bodyThird",sb1:"semiBoldFirst",sb2:"semiBoldSecond",sb3:"semiBoldThird",ol1:"overLineFirst",ol2:"overLineSecond",link:"link"},PV=({tag:e,dataTestId:t="",align:n="left",className:o="",children:r=null,emphasis:i="regular",title:a="",variant:l="b1",...s})=>{const c=e;return w_.createElement(c,{title:a,"data-testid":t,className:si(FE.default,FE[SV[l]],FE[n],FE[i],"demio-ui-typography-element",`typography-${l}`,o),...s},r)};WE="UploadProgressPreview-modules_root__9StJo",XE="UploadProgressPreview-modules_image__OMRPt",zE="UploadProgressPreview-modules_row__KkHVU",jE="UploadProgressPreview-modules_iconContainer__Ktq69",YE="UploadProgressPreview-modules_icon__z5MfW",JE="UploadProgressPreview-modules_percent__VVNJt",UE="UploadProgressPreview-modules_fileData__hhid5",QE="UploadProgressPreview-modules_isUploadMode__M13Qp",KE="UploadProgressPreview-modules_noMenu__Kyn3S",qE="UploadProgressPreview-modules_fileName__i-Dl-",$E="UploadProgressPreview-modules_duration__HRRaa";const NV=E_((({className:e="",fileName:t="",fileInfo:n="",imageSrc:o="",imageTitle:r="",isUpload:i=!1,menu:a=[],percent:l})=>{const s=Boolean(a.length),c=i||"number"==typeof l&&l<100,u=O_((()=>a.filter((e=>e?.isPreviewOnly))),[a]),d=O_((()=>a.filter((e=>e?.isProgressOnly))),[a]);return w_.createElement("div",{className:si("demio-ui-upload-progress-preview",WE,e),"data-testid":"upload-progress-preview"},o&&!c&&w_.createElement("img",{alt:r,className:si("demio-ui-upload-progress-preview-image",XE),"data-testid":"upload-progress-preview-image",title:r,src:o}),w_.createElement("div",{className:si("demio-ui-upload-progress-preview-row",zE),"data-testid":"upload-progress-preview-row"},c&&w_.createElement(w_.Fragment,null,w_.createElement("div",{className:si("demio-ui-upload-progress-preview-progress-icon-container",jE),"data-testid":"upload-progress-preview-progress-icon-container"},w_.createElement(md,{className:si("demio-ui-upload-progress-preview-progress-icon",YE),"data-testid":"upload-progress-preview-progress-icon"})),w_.createElement("div",{className:si("demio-ui-upload-progress-preview-progress-percentage",JE),"data-testid":"upload-progress-preview-progress-percentage"},l,"%")),w_.createElement("div",{className:si("demio-ui-upload-progress-preview-file-data",UE,{[KE]:!s,[QE]:c}),"data-testid":"upload-progress-preview-file-data"},t&&w_.createElement("div",{className:si("demio-ui-upload-progress-preview-file-name",qE),"data-testid":"upload-progress-preview-file-name"},t),n&&!c&&w_.createElement("div",{className:si("demio-ui-upload-progress-preview-file-info",$E),"data-testid":"upload-progress-preview-file-info"},n)),s&&w_.createElement("div",{className:si("demio-ui-upload-progress-preview-menu",{isProgressOnly:c,isPreviewOnly:!c}),"data-testid":"upload-progress-preview-menu"},w_.createElement(GV,{menu:c?d:u}))))}));e_="Upload-modules_root__DE-cj",t_="Upload-modules_croppedImageContainer__tPNFg",n_="Upload-modules_croppedImageWrapper__H1aDd",o_="Upload-modules_croppedImage__5pBYs",r_="Upload-modules_uploadLabel__aWGAb",i_="Upload-modules_uploadInput__Bq7Fp",a_="Upload-modules_icon__pmGlQ",l_="Upload-modules_header__adz5V",s_="Upload-modules_text__PS7SI",c_="Upload-modules_uploadTextFormat__IGVKt",u_="Upload-modules_modalContent__tfbd6",d_="Upload-modules_modalBody__q-3hj",p_="Upload-modules_modalFooter__jFAuB";const LV=E_(x_(((e,t)=>{const{acceptableFileTypes:n="",children:o=null,className:r="",customIcon:i=null,customHeader:a="Upload Media",customText:l=null,cropAspectRatio:s=1,error:c="",fileSizeMbLimit:u=3,minHeightLimit:d=0,minWidthLimit:p=0,errorDimension:m=`Minimum required dimensions are ${p}x${d}.`,errorSize:f=`Exceeds maximum size limit of ${u} MB.`,errorType:g="File type is not supported.",isCropAllowed:h=!1,isDimensionValidationEnabled:C=!0,isSizeValidationEnabled:b=!0,isValidationEnabled:v=!0,menu:y=[],onUpload:w,onCropCancel:I,onCropOk:x,onCropComplete:E,onCropChange:_,onDrop:A,onReadFileError:M,onReadFileProgress:R,onReadFileStart:V,onReadFileSuccess:O,onZoomChange:S,previewFileInfo:P="",previewFileName:N="",previewImage:L="",previewImageTitle:B="",uploadPercent:G}=e,[Z,D]=I_(null),[H,T]=I_(""),[k,F]=I_(!1),[W,X]=I_(!1),[z,j]=I_(""),[Y,J]=I_(null),[U,Q]=I_(void 0),{croppedImageURL:K}=YA(H,Z),{validate:q}=UA({acceptableFileTypes:n,fileSizeMbLimit:u,isDimensionValidationEnabled:C,isSizeValidationEnabled:b,isValidationEnabled:v,minHeightLimit:d,minWidthLimit:p}),$="number"==typeof U,ee=n.replaceAll(",","").toLowerCase()||"",te=Y?.name||"",ne=Boolean(K),oe=BA(Y),re=n.length>0,ie=async(e=null)=>{if(!(e instanceof File))return;const t=await(async e=>{const t=URL.createObjectURL(e)||"",{isFileValid:n,isFileDimensionValid:o,isFileSizeValid:r,isFileTypeValid:i}=await q(e);n?(T(t),J(e)):le();const a=(re&&!i?g:"")||(b&&!r?f:"")||(C&&!o?m:"");return Q(a?void 0:0),j(v&&!n&&a||c),n})(e);if(t){w?.(e);try{const t=new FileReader;V?.(e),t.onprogress=t=>{if(t.lengthComputable){const n=Math.floor(Number(t.loaded/t.total*100));R?.(n,e)}},t.onload=()=>{O?.(t.result,e)},t.onerror=()=>{Q(void 0),M?.(t.error,e)},t.readAsDataURL(e)}catch(c){j("Something went wrong while reading File"),Q(void 0),M?.(c,e)}}},ae=()=>{T(""),F(!1),X(!1),j(""),J(null),Q(void 0)},le=()=>{ae(),I&&I()},se=O_((()=>y.filter((e=>Boolean(e))).map(((e,t)=>({...e,onSelect:e=>((e,t)=>{y[t]&&("cancel"===y[t].action?.toLowerCase()&&ae(),y[t].onSelect&&y[t].onSelect(e,{itemNumber:t,croppedImageURL:K,setFileUrl:T,cancelUpload:ae}))})(e,t)})))),[y]),ce=O_((()=>se.filter((e=>e.isPreviewOnly||e.isProgressOnly))),[se]),ue=O_((()=>se.filter((e=>!(e.isProgressOnly||e.isPreviewOnly)))),[se]);return L_(t,(()=>({cancelUpload:ae}))),M_((()=>{h&&oe&&X(!0)}),[h,oe]),M_((()=>{ne||J(null)}),[ne]),M_((()=>{W||F(ne)}),[ne,W]),M_((()=>{j(c)}),[c]),M_((()=>{Q(G)}),[G]),M_((()=>{ae()}),[n,u]),w_.createElement("div",{className:si("demio-ui-upload-root",e_,r),"data-testid":"upload-root"},z&&w_.createElement(AR,{text:z}),$&&w_.createElement(NV,{fileName:te||N,fileInfo:P,imageSrc:L,imageTitle:B,menu:ce,percent:U}),!$&&w_.createElement(QA,{...e,error:z,isValidationEnabled:!1,onDrop:async(e,t)=>{await ie(t),A&&A(e,t)}},k&&w_.createElement("div",{className:si("demio-ui-upload-cropped-image-container",t_),"data-testid":"upload-cropped-image-container"},w_.createElement("div",{className:si("demio-ui-upload-cropped-image-wrapper",n_),"data-testid":"upload-cropped-image-wrapper"},w_.createElement("img",{alt:"Cropped image",className:si("demio-ui-upload-cropped-image",o_),"data-testid":"upload-cropped-image",src:K})),w_.createElement("div",{className:si("demio-ui-upload-menu"),"data-testid":"upload-menu"},w_.createElement(GV,{menu:ue}))),!k&&w_.createElement("label",{className:si("demio-ui-upload-label",r_),"data-testid":"upload-label",htmlFor:"file"},w_.createElement("input",{accept:n,className:si("demio-ui-upload-input",i_),"data-testid":"upload-input",id:"file",name:"file",onChange:async e=>{const t=e?.target?.files?.[0]||null;await ie(t)},type:"file"}),o,!o&&w_.createElement(w_.Fragment,null,i||w_.createElement(Es,{className:si("demio-ui-upload-icon",a_),"data-testid":"upload-icon"}),a&&w_.createElement("div",{className:si("demio-ui-upload-header",l_),"data-testid":"upload-header"},a),w_.createElement("div",{className:si("demio-ui-upload-text",s_),"data-testid":"upload-text"},l||w_.createElement(w_.Fragment,null,w_.createElement("strong",{className:si("demio-ui-upload-text-format",c_),"data-testid":"upload-text-format"},ee)," ","up to ",w_.createElement("strong",null,u," MB")))))),W&&oe&&h&&w_.createElement(Kt,{contentClassName:u_,open:!0,isClosable:!1,onOpenChange:()=>X(!1),title:"Crop & Upload Profile Picture"},w_.createElement("div",{className:si("demio-ui-upload-crop-modal-body",d_),"data-testid":"upload-crop-modal-body"},!!H&&w_.createElement(VA,{aspect:s,image:H,onCropChange:_,onCropComplete:(e,t)=>{D(t),E&&E(e,t)},onZoomChange:S})),w_.createElement("div",{className:si("demio-ui-upload-crop-modal-footer",p_),"data-testid":"upload-crop-modal-footer"},w_.createElement(eA,{className:"demio-ui-upload-crop-modal-btn-cancel","data-testid":"upload-crop-modal-btn-cancel",onClick:le,variant:"secondary"},"no, never mind"),w_.createElement(eA,{className:"demio-ui-upload-crop-modal-btn-ok","data-testid":"upload-crop-modal-btn-ok",onClick:()=>{F(!0),X(!1),x&&x(K)}},"crop image"))))})));m_="UploadMenu-modules_triggerButton__TnM4-",f_="UploadMenu-modules_triggerButtonIcon__j-eLU",g_="UploadMenu-modules_menuContent__hPJib",h_="UploadMenu-modules_menuItem__XOxMt",C_="UploadMenu-modules_menuItemDisabled__QmNk4";const BV=4,GV=E_((e=>{const{align:t="end",isOpen:n=!1,menu:o=[],onInteractOutside:r,onOpen:i,portalContainer:a,sideOffset:l=BV,triggerButton:s=null,triggerButtonClass:c=""}=e,[u,d]=I_(n||!1),p=Boolean(s),m=O_((()=>o.filter((e=>Boolean(e)&&Boolean(e?.text||e?.icon)))),[o]),f=Boolean(m.length);return M_((()=>{d(n)}),[n]),w_.createElement("div",{className:si("demio-ui-upload-menu"),"data-testid":"upload-menu"},f&&w_.createElement(sR,{open:u,onOpenChange:e=>{d(e),i&&i(e)}},w_.createElement(cR,{className:si("demio-ui-upload-menu-trigger-button",m_,c),"data-testid":"upload-menu-trigger-button"},p&&s,!p&&w_.createElement(fu,{className:si("demio-ui-upload-menu-default-trigger-button",f_),"data-testid":"upload-menu-default-trigger-button",width:16})),w_.createElement(mR,{container:a instanceof Element?a:void 0},w_.createElement(aR,{align:t,className:si("demio-ui-upload-menu-content",g_),"data-testid":"upload-menu-content",onInteractOutside:e=>{e?.preventDefault(),d(!1),r?.()},sideOffset:l},m.map((({className:e,icon:t,isDisabled:n,text:o},r)=>w_.createElement(dR,{className:si("demio-ui-upload-menu-item",h_,{[C_]:n},e),"data-testid":`upload-menu-item-${r}`,disabled:n,key:`upload-menu-item-key-${r}`,onSelect:n?void 0:e=>((e,t)=>{m[t]&&m[t].onSelect&&m[t].onSelect(e,{itemNumber:t})})(e,r)},t,o)))))))}));export{S as Alert,aA as Avatar,lA as Badge,eA as Button,sA as ButtonNew,cA as Card,gA as Checkbox,bA as CopyLinkInput,VA as Crop,QA as DnDArea,KA as Drawer,fR as DropdownItem,aR as DropdownMenuContent,pR as DropdownMenuGroup,dR as DropdownMenuItem,uR as DropdownMenuLabel,sR as DropdownMenuRoot,lR as DropdownMenuSeparator,cR as DropdownMenuTrigger,lo as FormGroup,gR as InfoBanner,hA as Input,Nt as InputHint,Pt as Label,O as Loader,Kt as Modal,hR as ModalScrollable,ER as MultiSelect,AR as Note,MR as Pagination,LR as Popover,sI as PopoverContent,lI as PopoverPortal,iI as PopoverRoot,ii as PopoverTooltip,aI as PopoverTrigger,Wr as Progress,zr as RadioGroup,hR as ScrollableModal,uV as Select,dV as SelectItem,pV as SelectItemText,RA as Slider,Qr as Switch,ti as Tab,ni as TabsContent,ei as TabsList,$r as TabsRoot,oi as Tag,WA as Toast,ri as Tooltip,PV as Typography,LV as Upload,GV as UploadMenu,NV as UploadProgressPreview,HA as createImage,FA as getCroppedImageURL,SA as getFileExtension,PA as getFileMimeType,TA as getRadianAngle,$p as icons,NA as isExtensionMatchingMimeType,BA as isImage,DA as isValidFileDimension,ZA as isValidFileSize,LA as isValidFileType,GA as isVideo,OA as mimeTypeMap,kA as rotateSize,jA as toast,YA as useCroppedImage,UA as useFileValidation};
|